diff --git a/highlighters/main/main-highlighter.zsh b/highlighters/main/main-highlighter.zsh index 61596d0..569fbe4 100644 --- a/highlighters/main/main-highlighter.zsh +++ b/highlighters/main/main-highlighter.zsh @@ -189,7 +189,8 @@ _zsh_highlight_main_highlighter() if [[ $this_word == *':sudo_opt:'* ]]; then case "$arg" in # Flag that requires an argument - '-'[Cgprtu]) next_word=':sudo_arg:';; + '-'[Cgprtu]) this_word=${this_word//:start:/}; + next_word=':sudo_arg:';; # This prevents misbehavior with sudo -u -otherargument '-'*) next_word+=':sudo_opt:';; *) this_word+=':start:';; diff --git a/highlighters/main/test-data/sudo-redirection2.zsh b/highlighters/main/test-data/sudo-redirection2.zsh index c74058f..f806178 100644 --- a/highlighters/main/test-data/sudo-redirection2.zsh +++ b/highlighters/main/test-data/sudo-redirection2.zsh @@ -33,7 +33,7 @@ expected_region_highlight=( "1 4 $ZSH_HIGHLIGHT_STYLES[precommand]" # sudo "6 6 $ZSH_HIGHLIGHT_STYLES[redirection]" # > "7 10 $ZSH_HIGHLIGHT_STYLES[path]" # /tmp - "12 13 $ZSH_HIGHLIGHT_STYLES[single-hyphen-option] 'issue #221'" # -u + "12 13 $ZSH_HIGHLIGHT_STYLES[single-hyphen-option]" # -u "15 23 $ZSH_HIGHLIGHT_STYLES[default]" # otheruser "25 26 $ZSH_HIGHLIGHT_STYLES[command]" # ls )