'main': Don't match redirection operators in command substitutions as <-> number range globs. Fixes #483.
This commit is contained in:
		
							parent
							
								
									901063aa0f
								
							
						
					
					
						commit
						0458b0c16f
					
				|  | @ -801,6 +801,9 @@ _zsh_highlight_main_highlighter_highlight_argument() | |||
|   local i path_eligible style | ||||
|   path_eligible=1 | ||||
| 
 | ||||
|   local -a match mbegin mend | ||||
|   local MATCH; integer MBEGIN MEND | ||||
| 
 | ||||
|   _zsh_highlight_main_add_region_highlight $start_pos $end_pos default | ||||
|   for (( i = 1 ; i <= end_pos - start_pos ; i += 1 )); do | ||||
|     case "$arg[$i]" in | ||||
|  | @ -822,14 +825,16 @@ _zsh_highlight_main_highlighter_highlight_argument() | |||
|         elif [[ $arg[i+1] == [*@#?-$!] ]]; then | ||||
|           (( i += 1 )) | ||||
|         fi;; | ||||
|       [*?]|\<) | ||||
| 	# The '<' is for the <-> globbing syntax.  (This function doesn't get called on redirection tokens.) | ||||
|         if $highlight_glob; then | ||||
|       *) | ||||
|         if $highlight_glob && [[ ${arg[$i]} == [*?] || ${arg:$i-1} == \<[0-9]#-[0-9]#\>* ]]; then | ||||
| 	  (( i += $#MATCH - 1 )) | ||||
|           _zsh_highlight_main_add_region_highlight $start_pos $end_pos globbing | ||||
|           path_eligible=0 | ||||
|           break | ||||
|         fi;; | ||||
|       *) continue;; | ||||
|         else | ||||
|           continue | ||||
|         fi | ||||
|         ;; | ||||
|     esac | ||||
|   done | ||||
| 
 | ||||
|  |  | |||
|  | @ -28,13 +28,13 @@ | |||
| # vim: ft=zsh sw=2 ts=2 et | ||||
| # ------------------------------------------------------------------------------------------------- | ||||
| 
 | ||||
| BUFFER='print <-> x<-> <foo2-3>' | ||||
| BUFFER='print <-> x<->y <foo2-3>' | ||||
| 
 | ||||
| expected_region_highlight=( | ||||
|   '1 5 builtin' # print | ||||
|   '7 9 globbing' # <-> | ||||
|   '11 14 globbing' # x<-> | ||||
|   '16 16 redirection' # < | ||||
|   '17 22 default' # foo2-3 (the filename) | ||||
|   '23 23 redirection' # > | ||||
|   '11 15 globbing' # x<-> | ||||
|   '17 17 redirection' # < | ||||
|   '18 23 default' # foo2-3 (the filename) | ||||
|   '24 24 redirection' # > | ||||
| ) | ||||
|  |  | |||
|  | @ -32,5 +32,5 @@ BUFFER=$': $(<foo)' | |||
| 
 | ||||
| expected_region_highlight=( | ||||
|   '1 1 builtin' # : | ||||
|   '3 9 default "issue #483"' # $(<foo) | ||||
|   '3 9 default' # $(<foo) | ||||
| ) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue