'main': Permit $flags_with_argument to be empty.

This commit is contained in:
Daniel Shahaf 2016-07-28 07:42:54 +00:00 committed by Matthew Martin
parent 6e8984e2ec
commit add2ac59fc

View File

@ -545,17 +545,20 @@ _zsh_highlight_main_highlighter_highlight_list()
# Parse the sudo command line # Parse the sudo command line
if (( ! in_redirection )); then if (( ! in_redirection )); then
if [[ $this_word == *':sudo_opt:'* ]]; then if [[ $this_word == *':sudo_opt:'* ]]; then
case "$arg" in if [[ -n $flags_with_argument ]] &&
[[ $arg == '-'[$flags_with_argument] ]]; then
# Flag that requires an argument # Flag that requires an argument
'-'[$flags_with_argument]) this_word=${this_word//:start:/}
this_word=${this_word//:start:/}; next_word=':sudo_arg:'
next_word=':sudo_arg:';; elif [[ $arg == '-'* ]]; then
# Flag that requires no argument, or unknown flag.
# This prevents misbehavior with sudo -u -otherargument # This prevents misbehavior with sudo -u -otherargument
'-'*) this_word=${this_word//:start:/}; this_word=${this_word//:start:/}
next_word+=':start:'; next_word+=':start:'
next_word+=':sudo_opt:';; next_word+=':sudo_opt:'
*) ;; else
esac #
fi
elif [[ $this_word == *':sudo_arg:'* ]]; then elif [[ $this_word == *':sudo_arg:'* ]]; then
next_word+=':sudo_opt:' next_word+=':sudo_opt:'
next_word+=':start:' next_word+=':start:'