'main': Allow newlines in command position.

Fixes #501.

Fixes #616 (the original form; not the form in
test-data/alias-comment1.zsh which is now considered o be #677 (see
previous commit for details)).

Fixes a latent bug in test-data/always2.zsh.

No user-visible effect, and therefore, no changelog entry.
This commit is contained in:
Daniel Shahaf 2020-03-15 14:59:07 +00:00
parent e94dc89606
commit 9134cdf8d6
4 changed files with 7 additions and 5 deletions

View file

@ -747,10 +747,12 @@ _zsh_highlight_main_highlighter_highlight_list()
(*) style=unknown-token;;
esac
elif [[ $this_word == *':regular:'* ]]; then
# This highlights empty commands (semicolon follows nothing) as an error.
# Zsh accepts them, though.
style=commandseparator
elif [[ $this_word == *':start:'* ]] && [[ $arg == $'\n' ]]; then
style=commandseparator
else
# This highlights empty commands (semicolon follows nothing) as an error.
# Zsh accepts them, though.
style=unknown-token
fi

View file

@ -32,7 +32,7 @@ BUFFER=$'{\nls\n} always { pwd }'
expected_region_highlight=(
'1 1 reserved-word' # {
'2 2 unknown-token' # \n
'2 2 commandseparator' # \n
'3 4 command' # ls
'5 5 commandseparator' # \n
'6 6 reserved-word' # }

View file

@ -34,6 +34,6 @@ BUFFER=$'# foo\ntrue'
expected_region_highlight=(
'1 5 comment' # # foo
'6 6 commandseparator "issue #501"' # \n
'6 6 commandseparator' # \n
'7 10 builtin' # true
)

View file

@ -34,6 +34,6 @@ BUFFER=$':;\n:'
expected_region_highlight=(
'1 1 builtin' # :
'2 2 commandseparator' # ;
'3 3 commandseparator "issue #616"' # \n
'3 3 commandseparator' # \n
'4 4 builtin' # :
)