Skip to content

Commit

Permalink
'main': The word after 'sudo' is only a non-command word if it is an …
Browse files Browse the repository at this point in the history
…option.
  • Loading branch information
danielshahaf committed Aug 16, 2016
1 parent 179b8e7 commit 757d047
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
3 changes: 3 additions & 0 deletions highlighters/main/main-highlighter.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,9 @@ _zsh_highlight_main_highlighter()

# Parse the sudo command line
if (( ! in_redirection )); then
if [[ $this_word == *':sudo_opt:'* ]] && [[ $arg != -* ]]; then
this_word=${this_word//:sudo_opt:/}
fi
if [[ $this_word == *':sudo_opt:'* ]]; then
case "$arg" in
# Flag that requires an argument
Expand Down
3 changes: 2 additions & 1 deletion highlighters/main/test-data/sudo-command.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
# * -i (no argument)
# * -C3 (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=(
"1 4 precommand" # sudo
Expand All @@ -43,4 +43,5 @@ expected_region_highlight=(
"29 29 path" # /
"37 37 unknown-token" # ;, error because empty command
"47 47 unknown-token" # ;, error because incomplete command
"54 64 unknown-token" # notacommand - doesn't falls back to "not a command word" codepath
)

0 comments on commit 757d047

Please sign in to comment.