'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
if (( ! in_redirection )); 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
'-'[$flags_with_argument])
this_word=${this_word//:start:/};
next_word=':sudo_arg:';;
this_word=${this_word//:start:/}
next_word=':sudo_arg:'
elif [[ $arg == '-'* ]]; then
# Flag that requires no argument, or unknown flag.
# This prevents misbehavior with sudo -u -otherargument
'-'*) this_word=${this_word//:start:/};
next_word+=':start:';
next_word+=':sudo_opt:';;
*) ;;
esac
this_word=${this_word//:start:/}
next_word+=':start:'
next_word+=':sudo_opt:'
else
#
fi
elif [[ $this_word == *':sudo_arg:'* ]]; then
next_word+=':sudo_opt:'
next_word+=':start:'