diff --git a/spring-shell-jline/src/main/java/org/springframework/shell/jline/DefaultJLineShellConfiguration.java b/spring-shell-jline/src/main/java/org/springframework/shell/jline/DefaultJLineShellConfiguration.java index 3f367e717..85f6f811f 100644 --- a/spring-shell-jline/src/main/java/org/springframework/shell/jline/DefaultJLineShellConfiguration.java +++ b/spring-shell-jline/src/main/java/org/springframework/shell/jline/DefaultJLineShellConfiguration.java @@ -4,6 +4,7 @@ import org.jline.reader.LineReader; import org.jline.reader.LineReaderBuilder; +import org.jline.reader.Parser; import org.jline.terminal.Terminal; import org.jline.terminal.TerminalBuilder; @@ -28,8 +29,8 @@ public JLineInputProvider inputProvider(LineReader lineReader) { } @Bean - public LineReader lineReader(Terminal terminal, CommandCompleter commandCompleter) { - return LineReaderBuilder.builder().terminal(terminal).completer(commandCompleter).build(); + public LineReader lineReader(Terminal terminal, Parser parser, CommandCompleter commandCompleter) { + return LineReaderBuilder.builder().terminal(terminal).completer(commandCompleter).parser(parser).build(); } @Bean @@ -47,4 +48,12 @@ public Terminal terminal() { } } + @Bean + public Parser parser() { + ExtendedDefaultParser parser = new ExtendedDefaultParser(); + parser.setEofOnUnclosedQuote(true); + parser.setEofOnEscapedNewLine(true); + return parser; + } + }