Index: demo/src/main/java/org/jline/demo/Repl.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/demo/src/main/java/org/jline/demo/Repl.java b/demo/src/main/java/org/jline/demo/Repl.java --- a/demo/src/main/java/org/jline/demo/Repl.java (revision 19c031c0bccaeea6a4346bc82c04c7bd3ec18888) +++ b/demo/src/main/java/org/jline/demo/Repl.java (date 1710335582985) @@ -35,7 +35,6 @@ import org.jline.reader.LineReader.Option; import org.jline.reader.impl.DefaultParser; import org.jline.reader.impl.DefaultParser.Bracket; -import org.jline.reader.impl.LineReaderImpl; import org.jline.reader.impl.completer.ArgumentCompleter; import org.jline.reader.impl.completer.NullCompleter; import org.jline.reader.impl.completer.StringsCompleter; @@ -121,14 +120,23 @@ }; try { parseOptions(usage, input.args()); - terminal().writer().write("Input the key event(Enter to complete): "); + terminal().writer().write("Input the first event: "); terminal().writer().flush(); StringBuilder sb = new StringBuilder(); - while (true) { - int c = ((LineReaderImpl) reader).readCharacter(); - if (c == 10 || c == 13) break; - sb.append(new String(Character.toChars(c))); - } + + // using reader works + // sb.append(((LineReaderImpl) reader).readLine()); + + sb.append(System.console().readLine()); + + terminal().writer().write("Input the second event (here the first character is lost): "); + terminal().writer().flush(); + + // using reader works + // sb.append(((LineReaderImpl) reader).readLine()); + + sb.append(System.console().readLine()); + terminal().writer().println(KeyMap.display(sb.toString())); terminal().writer().flush(); } catch (Exception e) {