'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 (( ! in_redirection )); then | ||||||
|       if [[ $this_word == *':sudo_opt:'* ]]; then |       if [[ $this_word == *':sudo_opt:'* ]]; then | ||||||
|         if [[ -n $flags_with_argument ]] && |         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 |           # Flag that requires an argument | ||||||
|           this_word=${this_word//:start:/} |           this_word=${this_word//:start:/} | ||||||
|           next_word=':sudo_arg:' |           next_word=':sudo_arg:' | ||||||
|         elif [[ -n $flags_with_argument ]] && |         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 |           # Argument attached in the same word | ||||||
|           this_word=${this_word//:start:/} |           this_word=${this_word//:start:/} | ||||||
|           next_word+=':start:' |           next_word+=':start:' | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue