mirror of
				https://github.com/zsh-users/zsh-syntax-highlighting.git
				synced 2025-10-30 15:56:28 +08:00 
			
		
		
		
	driver: Rewrite without a state variable
Suggested-by: m0viefreak
This commit is contained in:
		
							parent
							
								
									9872a186bc
								
							
						
					
					
						commit
						5591e2adb1
					
				@ -86,13 +86,6 @@ _zsh_highlight__function_callable_p() {
 | 
				
			|||||||
  fi
 | 
					  fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
integer zsh_highlight_use_redrawhook
 | 
					 | 
				
			||||||
if _zsh_highlight__function_callable_p add-zle-hook-widget
 | 
					 | 
				
			||||||
then
 | 
					 | 
				
			||||||
  autoload -U add-zle-hook-widget
 | 
					 | 
				
			||||||
  (( zsh_highlight_use_redrawhook=1 ))
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# -------------------------------------------------------------------------------------------------
 | 
					# -------------------------------------------------------------------------------------------------
 | 
				
			||||||
# Core highlighting update system
 | 
					# Core highlighting update system
 | 
				
			||||||
# -------------------------------------------------------------------------------------------------
 | 
					# -------------------------------------------------------------------------------------------------
 | 
				
			||||||
@ -274,7 +267,23 @@ _zsh_highlight_call_widget()
 | 
				
			|||||||
  _zsh_highlight
 | 
					  _zsh_highlight
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if true; then
 | 
					if _zsh_highlight__function_callable_p add-zle-hook-widget
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					  autoload -U add-zle-hook-widget
 | 
				
			||||||
 | 
					  _zsh_highlight__zle-line-finish() {
 | 
				
			||||||
 | 
					    # Reset $WIDGET since the 'main' highlighter depends on it.
 | 
				
			||||||
 | 
					    #
 | 
				
			||||||
 | 
					    # A nested function is required to hide zle parameters; see 
 | 
				
			||||||
 | 
					    # "User-defined widgets" in zshall.
 | 
				
			||||||
 | 
					    () {
 | 
				
			||||||
 | 
					      local -h +r WIDGET=zle-line-finish
 | 
				
			||||||
 | 
					      _zsh_highlight "$@"
 | 
				
			||||||
 | 
					    } "$@"
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  _zsh_highlight_bind_widgets(){}
 | 
				
			||||||
 | 
					  add-zle-hook-widget zle-line-pre-redraw _zsh_highlight
 | 
				
			||||||
 | 
					  add-zle-hook-widget zle-line-finish _zsh_highlight__zle-line-finish
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
  # Rebind all ZLE widgets to make them invoke _zsh_highlights.
 | 
					  # Rebind all ZLE widgets to make them invoke _zsh_highlights.
 | 
				
			||||||
  _zsh_highlight_bind_widgets()
 | 
					  _zsh_highlight_bind_widgets()
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -321,22 +330,6 @@ if true; then
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (( $zsh_highlight_use_redrawhook )); then
 | 
					 | 
				
			||||||
  _zsh_highlight__zle-line-finish() {
 | 
					 | 
				
			||||||
    # Reset $WIDGET since the 'main' highlighter depends on it.
 | 
					 | 
				
			||||||
    #
 | 
					 | 
				
			||||||
    # A nested function is required to hide zle parameters; see 
 | 
					 | 
				
			||||||
    # "User-defined widgets" in zshall.
 | 
					 | 
				
			||||||
    () {
 | 
					 | 
				
			||||||
      local -h +r WIDGET=zle-line-finish
 | 
					 | 
				
			||||||
      _zsh_highlight "$@"
 | 
					 | 
				
			||||||
    } "$@"
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  _zsh_highlight_bind_widgets(){}
 | 
					 | 
				
			||||||
  add-zle-hook-widget zle-line-pre-redraw _zsh_highlight
 | 
					 | 
				
			||||||
  add-zle-hook-widget zle-line-finish _zsh_highlight__zle-line-finish
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Load highlighters from directory.
 | 
					# Load highlighters from directory.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Arguments:
 | 
					# Arguments:
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user