mirror of
https://github.com/zsh-users/zsh-syntax-highlighting.git
synced 2025-02-06 09:55:31 +08:00
parent
6ccba63f21
commit
ea09d483be
@ -240,6 +240,7 @@ _zsh_highlight_highlighter_main_paint()
|
||||
# for that precommand.
|
||||
local -A precommand_options
|
||||
precommand_options=(
|
||||
'command' ''
|
||||
'sudo' Cgprtu
|
||||
)
|
||||
|
||||
@ -261,7 +262,7 @@ _zsh_highlight_highlighter_main_paint()
|
||||
# ';;' ';&' ';|'
|
||||
)
|
||||
ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS=(
|
||||
'builtin' 'command' 'exec' 'nocorrect' 'noglob'
|
||||
'builtin' 'exec' 'nocorrect' 'noglob'
|
||||
'pkexec' # immune to #121 because it's usually not passed --option flags
|
||||
)
|
||||
|
||||
@ -532,14 +533,14 @@ _zsh_highlight_highlighter_main_paint()
|
||||
style=reserved-word # de facto a reserved word, although not de jure
|
||||
next_word=':start:'
|
||||
elif [[ $this_word == *':start:'* ]] && (( in_redirection == 0 )); then # $arg is the command word
|
||||
if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} ]]; then
|
||||
style=precommand
|
||||
elif (( ${+precommand_options[$arg]} )) && { _zsh_highlight_main__type $arg; [[ -n $REPLY && $REPLY != "none" ]] }; then
|
||||
if (( ${+precommand_options[$arg]} )) && { _zsh_highlight_main__type $arg; [[ -n $REPLY && $REPLY != "none" ]] }; then
|
||||
style=precommand
|
||||
flags_with_argument=${precommand_options[$arg]}
|
||||
next_word=${next_word//:regular:/}
|
||||
next_word+=':sudo_opt:'
|
||||
next_word+=':start:'
|
||||
elif [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_PRECOMMANDS:#"$arg"} ]]; then
|
||||
style=precommand
|
||||
else
|
||||
case $res in
|
||||
reserved) # reserved word
|
||||
|
@ -31,6 +31,6 @@ BUFFER='command -v ls'
|
||||
|
||||
expected_region_highlight=(
|
||||
"1 7 precommand" # command
|
||||
"9 10 single-hyphen-option 'issue #343'" # -v
|
||||
"12 13 command 'issue #343'" # ls
|
||||
"9 10 single-hyphen-option" # -v
|
||||
"12 13 command" # ls
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user