parent
							
								
									de23e75946
								
							
						
					
					
						commit
						38c794a978
					
				|  | @ -58,6 +58,7 @@ This highlighter defines the following styles: | ||||||
| * `assign` - parameter assignments (`x=foo` and `x=( )`) | * `assign` - parameter assignments (`x=foo` and `x=( )`) | ||||||
| * `redirection` - redirection operators (`<`, `>`, etc) | * `redirection` - redirection operators (`<`, `>`, etc) | ||||||
| * `comment` - comments, when `setopt INTERACTIVE_COMMENTS` is in effect (`echo # foo`) | * `comment` - comments, when `setopt INTERACTIVE_COMMENTS` is in effect (`echo # foo`) | ||||||
|  | * `named-fd` - named file descriptor (`echo foo {fd}>&2`) | ||||||
| * `arg0` - a command word other than one of those enumerated above (other than a command, precommand, alias, function, or shell builtin command). | * `arg0` - a command word other than one of those enumerated above (other than a command, precommand, alias, function, or shell builtin command). | ||||||
| * `default` - everything else | * `default` - everything else | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -58,6 +58,7 @@ | ||||||
| : ${ZSH_HIGHLIGHT_STYLES[assign]:=none} | : ${ZSH_HIGHLIGHT_STYLES[assign]:=none} | ||||||
| : ${ZSH_HIGHLIGHT_STYLES[redirection]:=none} | : ${ZSH_HIGHLIGHT_STYLES[redirection]:=none} | ||||||
| : ${ZSH_HIGHLIGHT_STYLES[comment]:=fg=black,bold} | : ${ZSH_HIGHLIGHT_STYLES[comment]:=fg=black,bold} | ||||||
|  | : ${ZSH_HIGHLIGHT_STYLES[named-fd]:=none} | ||||||
| : ${ZSH_HIGHLIGHT_STYLES[arg0]:=fg=green} | : ${ZSH_HIGHLIGHT_STYLES[arg0]:=fg=green} | ||||||
| 
 | 
 | ||||||
| # Whether the highlighter should be called or not. | # Whether the highlighter should be called or not. | ||||||
|  | @ -552,13 +553,19 @@ _zsh_highlight_main_highlighter_highlight_list() | ||||||
| 
 | 
 | ||||||
|     # Analyse the current word. |     # Analyse the current word. | ||||||
|     if _zsh_highlight_main__is_redirection $arg ; then |     if _zsh_highlight_main__is_redirection $arg ; then | ||||||
|       if (( in_redirection )); then |       if (( in_redirection && in_redirection != 2 )); then | ||||||
|  |         # The condition excludes the case that BUFFER='{foo}>&2' and we're on the '>&'. | ||||||
|         _zsh_highlight_main_add_region_highlight $start_pos $end_pos unknown-token |         _zsh_highlight_main_add_region_highlight $start_pos $end_pos unknown-token | ||||||
|       else |       else | ||||||
|         in_redirection=2 |         in_redirection=2 | ||||||
|         _zsh_highlight_main_add_region_highlight $start_pos $end_pos redirection |         _zsh_highlight_main_add_region_highlight $start_pos $end_pos redirection | ||||||
|       fi |       fi | ||||||
|       continue |       continue | ||||||
|  |     elif [[ $arg == '{'*'}' ]] && _zsh_highlight_main__is_redirection $args[1]; then | ||||||
|  |       # named file descriptor: {foo}>&2 | ||||||
|  |       in_redirection=3 | ||||||
|  |       _zsh_highlight_main_add_region_highlight $start_pos $end_pos named-fd | ||||||
|  |       continue | ||||||
|     fi |     fi | ||||||
| 
 | 
 | ||||||
|     # Expand parameters. |     # Expand parameters. | ||||||
|  | @ -864,7 +871,7 @@ _zsh_highlight_main_highlighter_highlight_list() | ||||||
|                  elif [[ $arg == $'\x5d' ]] && _zsh_highlight_main__stack_pop 'Q' builtin; then |                  elif [[ $arg == $'\x5d' ]] && _zsh_highlight_main__stack_pop 'Q' builtin; then | ||||||
|                    : |                    : | ||||||
|                  else |                  else | ||||||
|                    _zsh_highlight_main_highlighter_highlight_argument 1 $(( 1 - in_redirection )) |                    _zsh_highlight_main_highlighter_highlight_argument 1 $(( 1 != in_redirection )) | ||||||
|                    continue |                    continue | ||||||
|                  fi |                  fi | ||||||
|                  ;; |                  ;; | ||||||
|  |  | ||||||
|  | @ -31,8 +31,8 @@ BUFFER='exec {foo}>&/tmp ls' | ||||||
| 
 | 
 | ||||||
| expected_region_highlight=( | expected_region_highlight=( | ||||||
|   "1 4 precommand" # exec |   "1 4 precommand" # exec | ||||||
|   "6 10 redirection 'issue #238'" # {foo} |   "6 10 named-fd" # {foo} | ||||||
|   "11 12 redirection" # >& |   "11 12 redirection" # >& | ||||||
|   "13 16 path" # /tmp |   "13 16 path" # /tmp | ||||||
|   "18 19 command 'issue #238'" # ls |   "18 19 command" # ls | ||||||
| ) | ) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue