Commit bad02ab
authored
Allow JLine to fall back to a dumb terminal (#21330)
Set the `dumb` JLine option to `null` instead of `false` when a dumb
terminal is not forced. This allows JLine to fall back to a dumb
terminal if needed.
Fixes #11978.
Before:
```
➜ ~/dotty git:(mb/11978) ✗ echo 'object Example { def smth = "smth" }' | bin/scala
The `--offline` option is experimental
Please bear in mind that non-ideal user experience should be expected.
If you encounter any bugs or have feedback to share, make sure to reach out to the maintenance team at https://github.com/VirtusLab/scala-cli
Exception in thread "main" java.lang.IllegalStateException: Unable to create a terminal
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:394)
at org.jline.terminal.TerminalBuilder.build(TerminalBuilder.java:362)
at dotty.tools.repl.JLineTerminal.<init>(JLineTerminal.scala:34)
at dotty.tools.repl.ReplDriver.runUntilQuit(ReplDriver.scala:145)
at dotty.tools.repl.ReplDriver.tryRunning(ReplDriver.scala:136)
at dotty.tools.repl.Main$.main(Main.scala:7)
at dotty.tools.repl.Main.main(Main.scala)
Suppressed: java.io.IOException: Unable to find terminal provider ffm
at org.jline.terminal.spi.TerminalProvider.load(TerminalProvider.java:74)
at org.jline.terminal.TerminalBuilder.checkProvider(TerminalBuilder.java:667)
at org.jline.terminal.TerminalBuilder.getProviders(TerminalBuilder.java:632)
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:395)
... 6 more
Suppressed: java.io.IOException: Unable to find terminal provider jni
at org.jline.terminal.spi.TerminalProvider.load(TerminalProvider.java:74)
at org.jline.terminal.TerminalBuilder.checkProvider(TerminalBuilder.java:667)
at org.jline.terminal.TerminalBuilder.getProviders(TerminalBuilder.java:634)
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:395)
... 6 more
Suppressed: java.io.IOException: Unable to find terminal provider jansi
at org.jline.terminal.spi.TerminalProvider.load(TerminalProvider.java:74)
at org.jline.terminal.TerminalBuilder.checkProvider(TerminalBuilder.java:667)
at org.jline.terminal.TerminalBuilder.getProviders(TerminalBuilder.java:636)
at org.jline.terminal.TerminalBuilder.doBuild(TerminalBuilder.java:395)
... 6 more
```
After:
```
➜ ~/dotty git:(mb/11978) echo 'object Example { def smth = "smth" }' | bin/scala
The `--offline` option is experimental
Please bear in mind that non-ideal user experience should be expected.
If you encounter any bugs or have feedback to share, make sure to reach out to the maintenance team at https://github.com/VirtusLab/scala-cli
Aug 05, 2024 3:53:49 PM org.jline.utils.Log logr
WARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)
Welcome to Scala 3.6.0-RC1-bin-SNAPSHOT-git-dce4377 (17.0.8, Java OpenJDK 64-Bit Server VM).
Type in expressions for evaluation. Or try :help.
scala> // defined object Example
scala> %
➜ ~/dotty
```File tree
2 files changed
+26
-15
lines changed- compiler
- src/dotty/tools/repl
- test-coursier/dotty/tools/coursier
2 files changed
+26
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | | - | |
26 | | - | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
27 | 33 | | |
28 | | - | |
29 | 34 | | |
30 | 35 | | |
31 | 36 | | |
| |||
Lines changed: 17 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
79 | | - | |
| 78 | + | |
| 79 | + | |
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| |||
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
135 | | - | |
136 | | - | |
| 135 | + | |
| 136 | + | |
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
| |||
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
151 | | - | |
| 151 | + | |
152 | 152 | | |
153 | 153 | | |
154 | | - | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
155 | 158 | | |
156 | 159 | | |
157 | 160 | | |
158 | | - | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
159 | 165 | | |
160 | 166 | | |
161 | | - | |
| 167 | + | |
162 | 168 | | |
163 | | - | |
| 169 | + | |
164 | 170 | | |
165 | 171 | | |
166 | 172 | | |
167 | 173 | | |
168 | 174 | | |
169 | | - | |
| 175 | + | |
170 | 176 | | |
171 | 177 | | |
172 | 178 | | |
| |||
177 | 183 | | |
178 | 184 | | |
179 | 185 | | |
180 | | - | |
| 186 | + | |
181 | 187 | | |
182 | 188 | | |
183 | 189 | | |
| |||
0 commit comments