mirror of https://github.com/sbt/sbt.git
Reading directly from System.in in windows when in raw mode does not report special key events like arrows. Previously these keys had worked because we had been using jline.Terminal.wrapInputIfNeed(System.in). That jline 2 api unfortunately translated some windows control characters to the wrong ansi escape sequences which made some keys, like home and end, not work. This commit introduces a new class WindowsInputStream that has similar functionality to the wrapInputIfNeedeed jline api. I initially copied the implementation from jline.WindowsTerminal and then I copied the escape sequence handling from AbstractWindowsTerminal in jline3. With this input stream, all of the keys work as expected on my windows vm and canonical input works as well. |
||
|---|---|---|
| .. | ||
| src | ||
| NOTICE | ||