Fix issue #222, "command word after repeat".

This commit is contained in:
Daniel Shahaf 2015-10-28 14:57:26 +02:00
parent 6fbd2aa957
commit 8b4adbd991
3 changed files with 11 additions and 3 deletions

View File

@ -342,6 +342,14 @@ _zsh_highlight_main_highlighter()
[[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW:#"$arg"} && $this_word == *':start:' ]] ||
[[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} && $this_word == *':start:' ]]; then
next_word=':start:'
elif [[ $arg == "repeat" && $this_word == *':start:'* ]]; then
# skip the repeat-count word
in_redirection=2
# The redirection mechanism assumes $this_word describes the word
# following the redirection. Make it so.
#
# The repeat-count word will be handled like a redirection target.
this_word=':start:'
fi
[[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]] && highlight_glob=true
start_pos=$end_pos

View File

@ -47,5 +47,5 @@ expected_region_highlight+=(
"54 56 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # "x"
"59 62 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # done
"65 70 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # repeat
"75 76 $ZSH_HIGHLIGHT_STYLES[command] 'issue #222'" # ls
"75 76 $ZSH_HIGHLIGHT_STYLES[command]" # ls
)

View File

@ -33,6 +33,6 @@ BUFFER='repeat "1" do done'
expected_region_highlight=(
"1 6 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # repeat
"8 10 $ZSH_HIGHLIGHT_STYLES[double-quoted-argument]" # "1"
"12 13 $ZSH_HIGHLIGHT_STYLES[reserved-word] 'issue #222'" # do
"15 18 $ZSH_HIGHLIGHT_STYLES[reserved-word] 'fallout of previous test point'" # done
"12 13 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # do
"15 18 $ZSH_HIGHLIGHT_STYLES[reserved-word]" # done
)