'main': Don't use «foo && bar || baz» where a trenary is more appropriate.
This prevents the baz pattern match from being attempted whenever the bar pattern match was tried and failed.
This commit is contained in:
		
							parent
							
								
									4bbd2a3bc6
								
							
						
					
					
						commit
						63bcd85dfa
					
				|  | @ -698,14 +698,24 @@ _zsh_highlight_main_highlighter_highlight_list() | |||
|     if (( ! in_redirection )); then | ||||
|       if [[ $this_word == *':sudo_opt:'* ]]; then | ||||
|         if [[ -n $flags_with_argument ]] && | ||||
|            { [[ -n $flags_sans_argument ]] && [[ $arg == '-'[$flags_sans_argument]#[$flags_with_argument] ]] || | ||||
|              [[ $arg == '-'[$flags_with_argument] ]] }; then | ||||
|            {  | ||||
|              # Trenary | ||||
|              if [[ -n $flags_sans_argument ]] | ||||
|              then [[ $arg == '-'[$flags_sans_argument]#[$flags_with_argument] ]] | ||||
|              else [[ $arg == '-'[$flags_with_argument] ]] | ||||
|              fi | ||||
|            } then | ||||
|           # Flag that requires an argument | ||||
|           this_word=${this_word//:start:/} | ||||
|           next_word=':sudo_arg:' | ||||
|         elif [[ -n $flags_with_argument ]] && | ||||
|              { [[ -n $flags_sans_argument ]] && [[ $arg == '-'[$flags_sans_argument]#[$flags_with_argument]* ]] || | ||||
|                [[ $arg == '-'[$flags_with_argument]* ]] }; then | ||||
|              { | ||||
|                # Trenary | ||||
|                if [[ -n $flags_sans_argument ]] | ||||
|                then [[ $arg == '-'[$flags_sans_argument]#[$flags_with_argument]* ]] | ||||
|                else [[ $arg == '-'[$flags_with_argument]* ]] | ||||
|                fi | ||||
|              } then | ||||
|           # Argument attached in the same word | ||||
|           this_word=${this_word//:start:/} | ||||
|           next_word+=':start:' | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue