mirror of
				https://github.com/zsh-users/zsh-syntax-highlighting.git
				synced 2025-10-30 15:56:28 +08:00 
			
		
		
		
	'driver': Widget binding: Support binding unbound zle hooks
If a special zle-* hook is currently unbound, there is no entry in $widgets. Support that case by adding a new case branch.
This commit is contained in:
		
							parent
							
								
									b9112aec79
								
							
						
					
					
						commit
						f9c95b2ef3
					
				| @ -235,8 +235,10 @@ _zsh_highlight_bind_widgets() | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   # Override ZLE widgets to make them invoke _zsh_highlight. |   # Override ZLE widgets to make them invoke _zsh_highlight. | ||||||
|  |   local -U widgets_to_bind | ||||||
|  |   widgets_to_bind=(${${(k)widgets}:#(.*|orig-*|run-help|which-command|beep|set-local-history|yank)}) | ||||||
|   local cur_widget |   local cur_widget | ||||||
|   for cur_widget in ${${(k)widgets}:#(.*|orig-*|run-help|which-command|beep|set-local-history|yank)}; do |   for cur_widget in $widgets_to_bind; do | ||||||
|     case $widgets[$cur_widget] in |     case $widgets[$cur_widget] in | ||||||
| 
 | 
 | ||||||
|       # Already rebound event: do nothing. |       # Already rebound event: do nothing. | ||||||
| @ -262,6 +264,10 @@ _zsh_highlight_bind_widgets() | |||||||
|       builtin) eval "_zsh_highlight_widget_${(q)cur_widget}() { _zsh_highlight_call_widget .${(q)cur_widget} -- \"\$@\" }" |       builtin) eval "_zsh_highlight_widget_${(q)cur_widget}() { _zsh_highlight_call_widget .${(q)cur_widget} -- \"\$@\" }" | ||||||
|                zle -N $cur_widget _zsh_highlight_widget_$cur_widget;; |                zle -N $cur_widget _zsh_highlight_widget_$cur_widget;; | ||||||
| 
 | 
 | ||||||
|  |       # Special zle-* hook that is currently not bound at all: Bind to z-sy-h driectly. | ||||||
|  |       '') eval "_zsh_highlight_widget_${(q)cur_widget}() { :; _zsh_highlight }" | ||||||
|  |           zle -N $cur_widget _zsh_highlight_widget_$cur_widget;; | ||||||
|  | 
 | ||||||
|       # Default: unhandled case. |       # Default: unhandled case. | ||||||
|       *) echo "zsh-syntax-highlighting: unhandled ZLE widget '$cur_widget'" >&2 ;; |       *) echo "zsh-syntax-highlighting: unhandled ZLE widget '$cur_widget'" >&2 ;; | ||||||
|     esac |     esac | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 m0viefreak
						m0viefreak