'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 Daniel Shahaf
parent be63ff7e12
commit b8c955d164

View File

@ -505,17 +505,20 @@ _zsh_highlight_highlighter_main_paint()
# 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:'