Open SethTisue opened 3 years ago
how to use a local build of JLine 3: mvn install
from the JLine repo to publish to ~/m2
, then edit our versions.properties
, e.g.:
-jline.version=3.17.1
+jline.version=3.17.2-SNAPSHOT
then set Global / resolvers += Resolver.mavenLocal
(but it won't work if you have -Dsbt.override.build.repos=true
in your SBT_OPTS
)
I rebased my WIP branch.
Regardless of whether we use JLine 3.17.1 or a locally built snapshot, the current behavior is as follows. When you first hit TAB, it works:
but then as you soon as you tab into the groups, the groups vanish:
which has been reported at https://github.com/jline/jline3/issues/613
ah, but in https://github.com/jline/jline3/commit/538b7fa81bf73710ff4d596807386a7d8524ede4 the fix is that you have to explicitly ask for GROUP_PERSIST(false)
, let me try that
okay GROUP_PERSIST(false)
gives behavior that seems okay first, but then pretty quickly you discover that arrow key navigation is all messed up, both up/down arrow and left/right arrow behave weirdly (in different ways)
and that's https://github.com/jline/jline3/issues/580 , which was closed, but not because it actually got fixed
conclusion: I'm taking this off the 2.13.5 milestone and backlogging it. let's hope this eventually gets fixed upstream.
or, would a volunteer like to try and fix it upstream...?
The main goal is to deemphasize deprecated methods and universal methods.
We attempted this for 2.13.3 but were blocked by JLine bugs (or so it seemed to me, I don't think I was just doing it wrong?). The situation may be improved in recent JLine releases, see e.g. https://github.com/jline/jline3/issues/613#issuecomment-739320791. some old WIP on this https://github.com/SethTisue/scala/commits/jline3-group-based
We might also want to separate extension methods from built-in methods?
A stretch goal could be to use the Scaladoc groupings (idea from @martijnhoekstra)