On Thu, 27 Mar 2025 19:29:29 GMT, Naoto Sato <na...@openjdk.org> wrote:

>> The `java.io.Console` has several backends: a simple on in `java.base`, a 
>> more convenient one in `jdk.internal.le` (with line-reading based on JLine) 
>> and one for JShell.
>> 
>> The backend based on JLine is proving to be a somewhat problematic - JLine 
>> is very powerful, possibly too powerful and complex for the simple task of 
>> editing a line with no completion, no history, no variables, no commands, 
>> etc. As a consequence, there are inevitable sharp edges in this backend.
>> 
>> The idea in this PR is to replace the use of JLine in the `jdk.internal.le` 
>> backend with a simple escape code interpreter, that only handles a handful 
>> of keys/codes (left/right arrow, home, end, delete, backspace, enter), and 
>> ignores the rest. The goal is to have something simple with less surprising 
>> behavior.
>
> src/jdk.internal.le/share/classes/jdk/internal/console/SimpleConsoleReader.java
>  line 198:
> 
>> 196: 
>> 197:             if (it.hasNext()) {
>> 198:                 out.append("\n\r");
> 
> I understand this is a simple console, but do we want to CR/LF/CRLF based on 
> the platform?

`line.seprator` system property can be used here

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24242#discussion_r2017581921

Reply via email to