Skip to content
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

REPL: scala task in scala/scala repo broken in recent sbt versions #755

Open
SethTisue opened this issue Dec 8, 2020 · 12 comments · Fixed by scala/scala#10695
Open

REPL: scala task in scala/scala repo broken in recent sbt versions #755

SethTisue opened this issue Dec 8, 2020 · 12 comments · Fixed by scala/scala#10695
Labels
t:repl JLine 3 upgrade (scala/scala#8036)

Comments

@SethTisue
Copy link
Member

SethTisue commented Dec 8, 2020

the usual workaround is dist/mkQuick, then go out to the shell and ./build/quick/bin/scala

of course you can also publishLocal and then use the published version from sbt or scala-cli or whatever

Dotty is in the same boat (not anymore)

see sbt/sbt#6185

there is a suggestion in 6185 I can try to see if it helps

UPDATE: in February 2024 we merged a PR that greatly improved the situation, but things aren't always quite right yet; see below

@SethTisue SethTisue added the t:repl JLine 3 upgrade (scala/scala#8036) label Dec 8, 2020
@SethTisue SethTisue self-assigned this Dec 8, 2020
@SethTisue
Copy link
Member Author

SethTisue commented Mar 17, 2021

The current status on 2.13.x is that it works but without most JLine features.

You get:

WARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)

That's with sbt 1.4.9, and the situation is the same with 1.5.0-RC1.

That's tons better than "doesn't work", but still tons worse than actually fully working.

See also the inconclusive experiment/discussion at scala/scala#9380

@SethTisue SethTisue removed their assignment Sep 8, 2022
@SethTisue
Copy link
Member Author

unassigning myself since I don't seem sufficiently motivated to dig into it

@SethTisue
Copy link
Member Author

The current status on 2.13.x is that it works but without most JLine features.

I thought upgrading to sbt 1.10.0-M1 might fix that, since sbt version upgrades their own JLine from 3.19 to 3.24.1... but no, it doesn't help.

@SethTisue
Copy link
Member Author

jline/jline3@d4bf37c suggests that-Dorg.jline.terminal.output=forced-out might help

@SethTisue
Copy link
Member Author

SethTisue commented Feb 21, 2024

scala/scala#10695 does hugely improve the situation, but I notice that paren and brace matching is messed up — when you type the closing brace, both braces disappear 😭

so I think the ticket should remain open even after we merge that PR

@som-snytt
Copy link

Braceless syntax arrives in Scala 2.

@som-snytt
Copy link

Another fine reason not to mention tickets in commits. They act at a distance.

@som-snytt som-snytt reopened this Feb 21, 2024
@joroKr21
Copy link
Member

What the hell happened? 🤔

@joroKr21
Copy link
Member

Ahh, rebase and push to my fork?

@Jasper-M
Copy link

Braceless syntax arrives in Scala 2.

Better brace ourselves.

@SethTisue
Copy link
Member Author

SethTisue commented Mar 16, 2024

upgrading JLine from 3.24.1 to 3.25.1 in Scala 2 itself (scala/scala#10717) did not improve the situation in my testing, but it's conceivable that once sbt/sbt#7500 also lands something might change 🤷

@som-snytt
Copy link

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
t:repl JLine 3 upgrade (scala/scala#8036)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants