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