Attempt to fix #670

Don't highlight parameters based on parameter expansion if the expansion type is
'none'.
This commit is contained in:
Joe Rabinoff 2020-02-18 13:46:14 -05:00
parent dde84e1b25
commit bb97e325e4

View File

@ -628,18 +628,24 @@ _zsh_highlight_main_highlighter_highlight_list()
(( ${+parameters[(e)${MATCH}]} )) && [[ ${parameters[(e)$MATCH]} != *special* ]]
then
# Set $arg.
local -a words
local testarg
case ${(tP)MATCH} in
(*array*|*assoc*)
local -a words; words=( ${(P)MATCH} )
arg=${words[1]}
words=( ${(P)MATCH} )
testarg=${words[1]}
;;
(*)
# scalar, presumably
arg=${(P)MATCH}
words=( ${(zP)MATCH} )
testarg=${words[1]}
;;
esac
_zsh_highlight_main__type "$arg" 0
_zsh_highlight_main__type "$testarg" 0
if [[ -n $REPLY ]] && [[ $REPLY != none ]]; then
res=$REPLY
arg=$testarg
fi
fi
}