From 33757f30ec09d437e1cddf7dd8b603dec3315c3d Mon Sep 17 00:00:00 2001 From: polo Date: Sat, 8 Jun 2024 03:14:49 +0300 Subject: [PATCH] gh-277: parse commented line like an empty line --- .../shell/jline/FileInputProvider.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/spring-shell-core/src/main/java/org/springframework/shell/jline/FileInputProvider.java b/spring-shell-core/src/main/java/org/springframework/shell/jline/FileInputProvider.java index d818137ea..5d9820463 100644 --- a/spring-shell-core/src/main/java/org/springframework/shell/jline/FileInputProvider.java +++ b/spring-shell-core/src/main/java/org/springframework/shell/jline/FileInputProvider.java @@ -66,7 +66,13 @@ public Input readInput() { if (line == null) { return null; } else { - ParsedLine parsedLine = parser.parse(sb.toString(), sb.toString().length()); + // gh-277: if it's a commented line then skip as it is equal to NO_INPUT + ParsedLine parsedLine; + if (isCommentedLine(line)) { + parsedLine = parser.parse("", -1, Parser.ParseContext.COMPLETE); + } else { + parsedLine = parser.parse(sb.toString(), sb.toString().length()); + } return new ParsedLineInput(parsedLine); } } @@ -75,4 +81,8 @@ public Input readInput() { public void close() throws IOException { reader.close(); } + + private boolean isCommentedLine(String line) { + return line.matches("\\s*//.*"); + } }