'main': The word after 'sudo' is only a non-command word if it is an option.
This commit is contained in:
parent
179b8e753f
commit
757d047f09
@ -338,6 +338,9 @@ _zsh_highlight_main_highlighter()
|
|||||||
|
|
||||||
# Parse the sudo command line
|
# Parse the sudo command line
|
||||||
if (( ! in_redirection )); then
|
if (( ! in_redirection )); then
|
||||||
|
if [[ $this_word == *':sudo_opt:'* ]] && [[ $arg != -* ]]; then
|
||||||
|
this_word=${this_word//:sudo_opt:/}
|
||||||
|
fi
|
||||||
if [[ $this_word == *':sudo_opt:'* ]]; then
|
if [[ $this_word == *':sudo_opt:'* ]]; then
|
||||||
case "$arg" in
|
case "$arg" in
|
||||||
# Flag that requires an argument
|
# Flag that requires an argument
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
# * -i (no argument)
|
# * -i (no argument)
|
||||||
# * -C3 (pasted argument)
|
# * -C3 (pasted argument)
|
||||||
# * -u otheruser (non-pasted argument)
|
# * -u otheruser (non-pasted argument)
|
||||||
BUFFER='sudo -C3 -u otheruser -i ls /; sudo ; sudo -u ;'
|
BUFFER='sudo -C3 -u otheruser -i ls /; sudo ; sudo -u ; sudo notacommand'
|
||||||
|
|
||||||
expected_region_highlight=(
|
expected_region_highlight=(
|
||||||
"1 4 precommand" # sudo
|
"1 4 precommand" # sudo
|
||||||
@ -43,4 +43,5 @@ expected_region_highlight=(
|
|||||||
"29 29 path" # /
|
"29 29 path" # /
|
||||||
"37 37 unknown-token" # ;, error because empty command
|
"37 37 unknown-token" # ;, error because empty command
|
||||||
"47 47 unknown-token" # ;, error because incomplete command
|
"47 47 unknown-token" # ;, error because incomplete command
|
||||||
|
"54 64 unknown-token" # notacommand - doesn't falls back to "not a command word" codepath
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user