'main': Highlight global aliases
This commit is contained in:
parent
5a44d9f32a
commit
3c5f63d959
@ -20,6 +20,7 @@ This highlighter defines the following styles:
|
|||||||
* `reserved-word` - shell reserved words (`if`, `for`)
|
* `reserved-word` - shell reserved words (`if`, `for`)
|
||||||
* `alias` - aliases
|
* `alias` - aliases
|
||||||
* `suffix-alias` - suffix aliases (requires zsh 5.1.1 or newer)
|
* `suffix-alias` - suffix aliases (requires zsh 5.1.1 or newer)
|
||||||
|
* `global-alias` - global aliases
|
||||||
* `builtin` - shell builtin commands (`shift`, `pwd`, `zstyle`)
|
* `builtin` - shell builtin commands (`shift`, `pwd`, `zstyle`)
|
||||||
* `function` - function names
|
* `function` - function names
|
||||||
* `command` - command names
|
* `command` - command names
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
: ${ZSH_HIGHLIGHT_STYLES[unknown-token]:=fg=red,bold}
|
: ${ZSH_HIGHLIGHT_STYLES[unknown-token]:=fg=red,bold}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[reserved-word]:=fg=yellow}
|
: ${ZSH_HIGHLIGHT_STYLES[reserved-word]:=fg=yellow}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[suffix-alias]:=fg=green,underline}
|
: ${ZSH_HIGHLIGHT_STYLES[suffix-alias]:=fg=green,underline}
|
||||||
|
: ${ZSH_HIGHLIGHT_STYLES[global-alias]:=fg=cyan}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[precommand]:=fg=green,underline}
|
: ${ZSH_HIGHLIGHT_STYLES[precommand]:=fg=green,underline}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[commandseparator]:=none}
|
: ${ZSH_HIGHLIGHT_STYLES[commandseparator]:=none}
|
||||||
: ${ZSH_HIGHLIGHT_STYLES[path]:=underline}
|
: ${ZSH_HIGHLIGHT_STYLES[path]:=underline}
|
||||||
@ -106,6 +107,7 @@ _zsh_highlight_main_calculate_fallback() {
|
|||||||
local -A fallback_of; fallback_of=(
|
local -A fallback_of; fallback_of=(
|
||||||
alias arg0
|
alias arg0
|
||||||
suffix-alias arg0
|
suffix-alias arg0
|
||||||
|
global-alias dollar-double-quoted-argument
|
||||||
builtin arg0
|
builtin arg0
|
||||||
function arg0
|
function arg0
|
||||||
command arg0
|
command arg0
|
||||||
@ -178,7 +180,9 @@ _zsh_highlight_main__type() {
|
|||||||
if (( $+aliases[(e)$1] )); then
|
if (( $+aliases[(e)$1] )); then
|
||||||
may_cache=0
|
may_cache=0
|
||||||
fi
|
fi
|
||||||
if (( $+aliases[(e)$1] )) && (( aliases_allowed )); then
|
if false && (( ${+galiases[(e)$1]} )); then
|
||||||
|
REPLY='global alias'
|
||||||
|
elif (( $+aliases[(e)$1] )) && (( aliases_allowed )); then
|
||||||
REPLY=alias
|
REPLY=alias
|
||||||
elif [[ $1 == *.* && -n ${1%.*} ]] && (( $+saliases[(e)${1##*.}] )); then
|
elif [[ $1 == *.* && -n ${1%.*} ]] && (( $+saliases[(e)${1##*.}] )); then
|
||||||
REPLY='suffix alias'
|
REPLY='suffix alias'
|
||||||
@ -930,6 +934,9 @@ _zsh_highlight_main_highlighter_highlight_list()
|
|||||||
('suffix alias')
|
('suffix alias')
|
||||||
style=suffix-alias
|
style=suffix-alias
|
||||||
;;
|
;;
|
||||||
|
('global alias')
|
||||||
|
style=global-alias
|
||||||
|
;;
|
||||||
(alias) :;;
|
(alias) :;;
|
||||||
(builtin) style=builtin
|
(builtin) style=builtin
|
||||||
[[ $arg == $'\x5b' ]] && braces_stack='Q'"$braces_stack"
|
[[ $arg == $'\x5b' ]] && braces_stack='Q'"$braces_stack"
|
||||||
@ -1014,6 +1021,8 @@ _zsh_highlight_main_highlighter_highlight_list()
|
|||||||
if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW:#"$arg"} ]]; then
|
if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW:#"$arg"} ]]; then
|
||||||
next_word=':start::start_of_pipeline:'
|
next_word=':start::start_of_pipeline:'
|
||||||
fi
|
fi
|
||||||
|
elif _zsh_highlight_main__type "$arg"; [[ $REPLY == 'global alias' ]]; then # $arg is a global alias that isn't in command position
|
||||||
|
style=global-alias
|
||||||
else # $arg is a non-command word
|
else # $arg is a non-command word
|
||||||
case $arg in
|
case $arg in
|
||||||
($'\x29')
|
($'\x29')
|
||||||
|
@ -33,6 +33,6 @@ alias -g foo=bar
|
|||||||
BUFFER=$'foo foo'
|
BUFFER=$'foo foo'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
'1 3 arg0_global' # foo
|
'1 3 global-alias' # foo
|
||||||
'5 7 default' # foo
|
'5 7 global-alias' # foo
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user