-
Notifications
You must be signed in to change notification settings - Fork 21
Move to vanilla JLine as an external dependency for the repl #7604
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Imported From: https://issues.scala-lang.org/browse/SI-7604?orig=1 |
@retronym said: |
@harrah said: |
@paulp said: |
@paulp said: |
@adriaanm said: |
@adriaanm said: |
@jsuereth said: |
@paulp said: |
@adriaanm said: |
@paulp said: |
@adriaanm said: |
@adriaanm said: |
@paulp said: |
@harrah said: |
@paulp said: jline jar: 208K |
@paulp said:
|
@jsuereth said: |
@adriaanm said: |
huynhjl said: Will there be any issue with the fact that jline1 and jline2 have class name collisions? https://github.com/jline/jline/blob/master/src/main/java/jline/Terminal.java |
@jsuereth said: |
@adriaanm said (edited on Jun 25, 2013 5:19:04 PM UTC): |
@adriaanm said: |
@adriaanm said (edited on Jun 25, 2013 10:29:43 PM UTC): |
@adriaanm said (edited on Jun 25, 2013 11:37:10 PM UTC): |
huynhjl said: |
huynhjl said:
All console stuff works fine (line wrapping, backspace, history, paste, arrows, reverse search). For completeness I'll try a win 32 bits when I have time. I started to browse the recent commits in jline2 and was reminded that it has an "expand event" feature that defaults to true. So !! recalls the previous line and in general anything starting with ! may cause IllegalArgumentException. For instance try typing You may need to call |
@som-snytt said: |
@adriaanm said: |
@gourlaysama said: So yes, it is gone: scala/scala#3921 |
It is common, when using cygwin + jline, to set the -Djline.terminal= property. While Scala supports jline 2.x where you can instead use the string "unix" or "windows" here, it does not support the same class names as standard jline. Jline 1.x only supported custom terminals via class name, forcing users cross between jline 1.x and 2.x to use class names. HOwever, if you wish to use the scala REPL in an environment with other jlines, you are now unable to specify "jline.UnixTerminal" as the terminal for cygwin, while jline 2.x vanilla handles this perfectly.
SO, what it comes down to is that if Scala is going to "shade" the classes, it should NOT break the the canonical settings of jline. I see one of two options:
(1) Provide a hack so that unshaded settings that may be class names are shaded and attempted.
(2) Use a shaded property name (scala.jline.terminal) for configuring Scala's terminal.
The text was updated successfully, but these errors were encountered: