'main': Highlight literal semicolons in array assignments as errors.

Fixes the test added in the penultimate (grandparent) commit.
This commit is contained in:
Daniel Shahaf
2020-03-15 14:19:23 +00:00
parent a4525a0826
commit 3ca93f864f
2 changed files with 10 additions and 2 deletions

View File

@@ -737,9 +737,17 @@ _zsh_highlight_main_highlighter_highlight_list()
else
style=unknown-token
fi
if [[ $arg == (';'|$'\n') ]] && $in_array_assignment; then
if [[ $arg == $'\n' ]] && $in_array_assignment; then
# literal newline inside an array assignment
next_word=':regular:'
elif [[ $arg == ';' ]] && $in_array_assignment; then
# literal semicolon inside an array assignment
#
# This is parsed the same way as a literal newline. Nevertheless,
# highlight it as an error since it's probably unintended. Compare
# issue #691.
next_word=':regular:'
style=unknown-token
else
next_word=':start:'
highlight_glob=true