aliases: Highlight aliases with '=' in their LHS as error. (Part of issue #263.)
This commit is contained in:
parent
5e4b446dee
commit
28932316cc
@ -294,9 +294,28 @@ _zsh_highlight_main_highlighter()
|
|||||||
*': suffix alias')
|
*': suffix alias')
|
||||||
style=$ZSH_HIGHLIGHT_STYLES[suffix-alias]
|
style=$ZSH_HIGHLIGHT_STYLES[suffix-alias]
|
||||||
;;
|
;;
|
||||||
*': alias') style=$ZSH_HIGHLIGHT_STYLES[alias]
|
*': alias') () {
|
||||||
|
integer insane_alias
|
||||||
|
case $arg in
|
||||||
|
# Issue #263: aliases with '=' on their LHS.
|
||||||
|
#
|
||||||
|
# There are three cases:
|
||||||
|
#
|
||||||
|
# - Unsupported, breaks 'alias -L' output, but invokable:
|
||||||
|
('='*) :;;
|
||||||
|
# - Unsupported, not invokable:
|
||||||
|
(*'='*) insane_alias=1;;
|
||||||
|
# - The common case:
|
||||||
|
(*) :;;
|
||||||
|
esac
|
||||||
|
if (( insane_alias )); then
|
||||||
|
style=$ZSH_HIGHLIGHT_STYLES[unknown-token]
|
||||||
|
else
|
||||||
|
style=$ZSH_HIGHLIGHT_STYLES[alias]
|
||||||
local aliased_command="${"$(alias -- $arg)"#*=}"
|
local aliased_command="${"$(alias -- $arg)"#*=}"
|
||||||
[[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$aliased_command"} && -z ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} ]] && ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS+=($arg)
|
[[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$aliased_command"} && -z ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} ]] && ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS+=($arg)
|
||||||
|
fi
|
||||||
|
}
|
||||||
;;
|
;;
|
||||||
*': builtin') style=$ZSH_HIGHLIGHT_STYLES[builtin];;
|
*': builtin') style=$ZSH_HIGHLIGHT_STYLES[builtin];;
|
||||||
*': function') style=$ZSH_HIGHLIGHT_STYLES[function];;
|
*': function') style=$ZSH_HIGHLIGHT_STYLES[function];;
|
||||||
|
@ -34,5 +34,5 @@ ZSH_HIGHLIGHT_STYLES[alias]=$unused_highlight
|
|||||||
BUFFER='x=y ls'
|
BUFFER='x=y ls'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 3 $ZSH_HIGHLIGHT_STYLES[unknown-token] 'issue #263, #issuecomment-170579803'" # x=y
|
"1 3 $ZSH_HIGHLIGHT_STYLES[unknown-token]" # x=y
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user