-
Notifications
You must be signed in to change notification settings - Fork 14
Description
under JLine 2 double tab had this behavior: on first tab it only shows the methods you're likeliest to want, then on second tab it adds more: things like toString
, and also methods you only get through implicit conversions:
scala 2.13.1> class C { def x = 3; def y = 4 }
defined class C
scala 2.13.1> (new C).
x y
scala 2.13.1> (new C).
!= -> ensuring formatted isInstanceOf notifyAll wait →
## == eq getClass ne synchronized x
+ asInstanceOf equals hashCode notify toString y
note the presence of ensuring
, which is an extension method.
under JLine 3, that behavior still exists, but in a funny way. you have to ask for the same completion again, and that gives you what used to be the double-tab behavior.
ah, JLine 3 has a "grouping" feature, where you can divide offered completions into groups, and even show a name for each group! so we could have a main group, an extension method group, and an "other" group. maybe a "deprecated" group (scala/scala#7869)
even if we can't get the grouping thing going in time, we need to do something for 2.13.2, IMO