From 420d747cd3a90db390f241ceca61879d9326160c Mon Sep 17 00:00:00 2001 From: Revxrsal Date: Sun, 22 Sep 2024 14:15:08 +0300 Subject: [PATCH] skip extra whitespace in execution, respect quotes in greedy strings --- .../main/java/revxrsal/commands/node/parser/Execution.java | 2 +- .../main/java/revxrsal/commands/node/parser/FlagParser.java | 4 ++-- .../parameter/builtins/CollectionParameterTypeFactory.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/revxrsal/commands/node/parser/Execution.java b/common/src/main/java/revxrsal/commands/node/parser/Execution.java index aef1c361..dec07b41 100644 --- a/common/src/main/java/revxrsal/commands/node/parser/Execution.java +++ b/common/src/main/java/revxrsal/commands/node/parser/Execution.java @@ -428,7 +428,7 @@ private boolean tryParse( MutableExecutionContext context ) { if (input.hasRemaining() && input.peek() == ' ') - input.moveForward(); + input.skipWhitespace(); int pos = input.position(); if (node instanceof LiteralNodeImpl l) { String value = input.readUnquotedString(); diff --git a/common/src/main/java/revxrsal/commands/node/parser/FlagParser.java b/common/src/main/java/revxrsal/commands/node/parser/FlagParser.java index 11ce8215..bd39853e 100644 --- a/common/src/main/java/revxrsal/commands/node/parser/FlagParser.java +++ b/common/src/main/java/revxrsal/commands/node/parser/FlagParser.java @@ -70,7 +70,7 @@ public boolean tryParse() { while (input.hasRemaining()) { int start = input.position(); if (input.peek() == ' ') - input.moveForward(); + input.skipWhitespace(); String next = input.peekUnquotedString(); if (next.startsWith(LONG_FORMAT_PREFIX)) { String flagName = next.substring(LONG_FORMAT_PREFIX.length()); @@ -113,7 +113,7 @@ private void parseNext(MutableExecutionContext context, ParameterNode parseList(@NotNull MutableStringStream input, @NotNull Exec elements.add(el); if (input.hasRemaining()) { if (input.peek() == delimiter) - input.moveForward(); + input.skipWhitespace(); else throw new InputParseException(InputParseException.Cause.EXPECTED_WHITESPACE); }