Fix #46: Conflict with url-quote-magic
This commit is contained in:
		
							parent
							
								
									3b27ad778d
								
							
						
					
					
						commit
						776453cb5b
					
				|  | @ -136,30 +136,31 @@ highlighters_dir="${ZSH_HIGHLIGHT_HIGHLIGHTERS_DIR:-${0:h}/highlighters}" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| # Override ZLE widgets to make them invoke _zsh_highlight. | # Override ZLE widgets to make them invoke _zsh_highlight. | ||||||
| for event in ${${(f)"$(zle -la)"}:#(_*|orig-*|.run-help|.which-command|.beep)}; do | for cur_widget in ${${(f)"$(builtin zle -la)"}:#(.*|orig-*|run-help|which-command|beep)}; do | ||||||
|   if [[ "$widgets[$event]" == completion:* ]]; then |   case $widgets[$cur_widget] in | ||||||
|     eval "zle -C orig-$event ${${${widgets[$event]}#*:}/:/ } ; $event() { builtin zle orig-$event && _zsh_highlight } ; zle -N $event" | 
 | ||||||
|   else |     # Already rebound event: do nothing. | ||||||
|     case $event in |     user:$cur_widget);; | ||||||
|       accept-and-menu-complete) | 
 | ||||||
|         eval "$event() { builtin zle .$event && _zsh_highlight } ; zle -N $event" |     # User defined widget: override and rebind old one with prefix "orig-". | ||||||
|         ;; |     user:*) eval "zle -N orig-$cur_widget ${widgets[$cur_widget]#*:}; \ | ||||||
|       .*) |                   $cur_widget() { builtin zle orig-$cur_widget && _zsh_highlight }; \ | ||||||
|         clean_event=${event#\.} |                   zle -N $cur_widget";; | ||||||
|         case ${widgets[$clean_event]-} in | 
 | ||||||
|           (completion|user):*) |     # Completion widget: override and rebind old one with prefix "orig-". | ||||||
|             ;; |     completion:*) eval "zle -C orig-$cur_widget ${${widgets[$cur_widget]#*:}/:/ }; \ | ||||||
|           *) |                         $cur_widget() { builtin zle orig-$cur_widget && _zsh_highlight }; \ | ||||||
|             eval "$clean_event() { builtin zle $event && _zsh_highlight } ; zle -N $clean_event" |                         zle -N $cur_widget";; | ||||||
|             ;; | 
 | ||||||
|         esac |     # Builtin widget: override and make it call the builtin ".widget". | ||||||
|         ;; |     builtin) eval "$cur_widget() { builtin zle .$cur_widget && _zsh_highlight }; \ | ||||||
|       *) |                    zle -N $cur_widget";; | ||||||
|         ;; | 
 | ||||||
|     esac |     # Default: unhandled case. | ||||||
|   fi |     *) echo "zsh-syntax-highlighting: unhandled ZLE widget '$cur_widget'" >&2 ;; | ||||||
|  |   esac | ||||||
| done | done | ||||||
| unset event clean_event | unset cur_widget | ||||||
| 
 | 
 | ||||||
| # Start highlighting immediately after the creation of a new command line. | # Start highlighting immediately after the creation of a new command line. | ||||||
| autoload add-zsh-hook && add-zsh-hook precmd _zsh_highlight | autoload add-zsh-hook && add-zsh-hook precmd _zsh_highlight | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue