Add range to closing-unopened brace error

The error on "echo }" is needlessly inconsistent with "echo )" and
"echo (}" etc; fix that I guess.
This commit is contained in:
Johannes Altmanninger 2025-01-12 16:40:27 +01:00
parent 3a6e87744b
commit 10dd8a8e73
2 changed files with 31 additions and 3 deletions

View File

@ -678,9 +678,9 @@ impl<'c> Tokenizer<'c> {
return self.call_error(
TokenizerError::closing_unopened_brace,
self.token_cursor,
self.start.len(),
None,
0,
self.token_cursor,
Some(1),
1,
);
}
if brace_offsets.is_empty() {

View File

@ -400,3 +400,31 @@ echo foo | read -n -1
# CHECKERR: echo foo | read -n -1
# CHECKERR: ^
# CHECKERR: (Type 'help read' for related documentation)
echo '1 ( (' | read -lat var
set -S var
# CHECK: $var: set in local scope, unexported, with 2 elements
# CHECK: $var[1]: |1|
# CHECK: $var[2]: |( (|
echo '1 ) )' | read -lat var
set -S var
# CHECK: $var: set in local scope, unexported, with 2 elements
# CHECK: $var[1]: |1|
# CHECK: $var[2]: |)|
echo '1 { {' | read -lat var
set -S var
# CHECK: $var: set in local scope, unexported, with 2 elements
# CHECK: $var[1]: |1|
# CHECK: $var[2]: |{ {|
echo '1 } }' | read -lat var
set -S var
# CHECK: $var: set in local scope, unexported, with 2 elements
# CHECK: $var[1]: |1|
# CHECK: $var[2]: |}|
echo '1 {} "{}"' | read -lat var
echo $var
# CHECK: 1 {} {}