2011-01-10 10:11:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# -------------------------------------------------------------------------------------------------  
						 
					
						
							
								
									
										
										
										
											2016-04-30 02:11:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Copyright (c) 2010-2016 zsh-syntax-highlighting contributors  
						 
					
						
							
								
									
										
										
										
											2011-01-10 10:11:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# All rights reserved.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Redistribution and use in source and binary forms, with or without modification, are permitted  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# provided that the following conditions are met:  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  * Redistributions of source code must retain the above copyright notice, this list of conditions  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#    and the following disclaimer.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  * Redistributions in binary form must reproduce the above copyright notice, this list of  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#    conditions and the following disclaimer in the documentation and/or other materials provided  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#    with the distribution.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#    may be used to endorse or promote products derived from this software without specific prior  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#    written permission.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# -------------------------------------------------------------------------------------------------  
						 
					
						
							
								
									
										
										
										
											2011-01-05 10:54:25 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# vim: ft=zsh sw=2 ts=2 et  
						 
					
						
							
								
									
										
										
										
											2011-01-10 10:11:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# -------------------------------------------------------------------------------------------------  
						 
					
						
							
								
									
										
										
										
											2011-01-05 10:54:25 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-11 08:34:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# First of all, ensure predictable parsing.  
						 
					
						
							
								
									
										
										
										
											2016-12-01 09:07:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								zsh_highlight__aliases = ` builtin  alias  -Lm '[^+]*' `  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# In zsh <= 5.2, `alias -L` emits aliases that begin with a plus sign ('alias -- +foo=42')  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# them without a '--' guard, so they don't round trip.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Hence, we exclude them from unaliasing:  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								builtin  unalias  -m '[^+]*'  
						 
					
						
							
								
									
										
										
										
											2010-12-25 18:33:08 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-10 15:09:45 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Set $0 to the expected value, regardless of functionargzero.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								0 = ${ (%) :- %N }  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  true;  then  
						 
					
						
							
								
									
										
										
										
											2015-10-01 16:26:43 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # $0 is reliable 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-31 14:08:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  typeset  -g ZSH_HIGHLIGHT_VERSION = $( <" ${ 0 : A : h } " /.version) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  typeset  -g ZSH_HIGHLIGHT_REVISION = $( <" ${ 0 : A : h } " /.revision-hash) 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-20 03:07:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  if  [ [  $ZSH_HIGHLIGHT_REVISION  = =  \$ Format:* ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # When running from a source tree without 'make install', $ZSH_HIGHLIGHT_REVISION 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # would be set to '$Format:%H$' literally.  That's an invalid value, and obtaining 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # the valid value (via `git rev-parse HEAD`, as Makefile does) might be costly, so: 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-25 03:55:20 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ZSH_HIGHLIGHT_REVISION = HEAD
							 
						 
					
						
							
								
									
										
										
										
											2015-10-20 03:07:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  fi 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-01 16:26:43 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
									
										
										
										
											2015-10-01 16:18:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-02-17 23:39:04 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# -------------------------------------------------------------------------------------------------  
						 
					
						
							
								
									
										
										
										
											2011-03-02 00:34:12 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Core highlighting update system  
						 
					
						
							
								
									
										
										
										
											2011-02-17 23:39:04 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# -------------------------------------------------------------------------------------------------  
						 
					
						
							
								
									
										
										
										
											2010-12-27 12:57:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-07 12:19:18 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Use workaround for bug in ZSH?  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# zsh-users/zsh@48cadf4 http://www.zsh.org/mla/workers//2017/msg00034.html  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								autoload -U is-at-least
							 
						 
					
						
							
								
									
										
										
										
											2017-07-30 19:06:21 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  is-at-least 5.4;  then  
						 
					
						
							
								
									
										
										
										
											2017-02-07 12:19:18 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  zsh_highlight__pat_static_bug = false 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								else  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  zsh_highlight__pat_static_bug = true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								fi  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Array declaring active highlighters names.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typeset  -ga ZSH_HIGHLIGHT_HIGHLIGHTERS 
						 
					
						
							
								
									
										
										
										
											2011-01-16 13:54:59 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Update ZLE buffer syntax highlighting.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Invokes each highlighter that needs updating.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# This function is supposed to be called whenever the ZLE state changes.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								_zsh_highlight( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # Store the previous command return code to restore it whatever happens. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  local  ret = $? 
							 
						 
					
						
							
								
									
										
										
										
											2011-01-16 13:54:59 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-29 22:13:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # Remove all highlighting in isearch, so that only the underlining done by zsh itself remains. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # For details see FAQ entry 'Why does syntax highlighting not work while searching history?'. 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-07 12:19:18 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # This disables highlighting during isearch (for reasons explained in README.md) unless zsh is new enough 
							 
						 
					
						
							
								
									
										
										
										
											2017-07-30 19:07:29 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # and doesn't have the pattern matching bug 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-07 12:19:18 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  if  [ [  $WIDGET  = =  zle-isearch-update ] ]  &&  {  $zsh_highlight__pat_static_bug  ||  ! ( (  $+ISEARCHMATCH_ACTIVE ) )  } ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-29 22:13:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    region_highlight = ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    return  $ret 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-12-15 20:09:39 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # Before we 'emulate -L', save the user's options 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  local  -A zsyh_user_options
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  zmodload -e zsh/parameter;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    zsyh_user_options = ( " ${ (@kv)options } " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    local  canonical_options onoff option raw_options
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    raw_options = ( ${ (f) " $( emulate -R zsh;  set  -o) " } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    canonical_options = ( ${ ${ ${ (M)raw_options : #*off } %% * } #no }  ${ ${ (M)raw_options : #*on } %% * } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    for  option in $canonical_options ;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      [ [  -o $option  ] ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      # This variable cannot be eliminated c.f. workers/42101. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      onoff = ${ ${ = :- off  on } [2- $? ] } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      zsyh_user_options += ( $option  $onoff ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    done 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  typeset  -r zsyh_user_options
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  emulate -L zsh
							 
						 
					
						
							
								
									
										
										
										
											2015-09-24 17:57:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  setopt localoptions warncreateglobal
							 
						 
					
						
							
								
									
										
										
										
											2015-10-20 00:21:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  local  REPLY # don't leak $REPLY into global scope 
							 
						 
					
						
							
								
									
										
										
										
											2015-09-05 21:44:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-07-25 14:50:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # Do not highlight if there are more than 300 chars in the buffer. It's most 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # likely a pasted command or a huge list of files in that case.. 
							 
						 
					
						
							
								
									
										
										
										
											2011-08-24 14:08:58 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  [ [  -n ${ ZSH_HIGHLIGHT_MAXLENGTH :- }  ] ]  &&  [ [  $# BUFFER -gt $ZSH_HIGHLIGHT_MAXLENGTH  ] ]  &&  return  $ret 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-25 14:50:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # Do not highlight if there are pending inputs (copy/paste). 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  [ [  $PENDING  -gt 0  ] ]  &&  return  $ret 
							 
						 
					
						
							
								
									
										
										
										
											2011-01-16 13:54:59 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:52:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # Reset region highlight to build it from scratch 
							 
						 
					
						
							
								
									
										
										
										
											2015-09-25 12:41:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  typeset  -ga region_highlight
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:52:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  region_highlight = ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    local  cache_place
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:52:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    local  -a region_highlight_copy
							 
						 
					
						
							
								
									
										
										
										
											2011-01-16 13:54:59 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Select which highlighters in ZSH_HIGHLIGHT_HIGHLIGHTERS need to be invoked. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    local  highlighter;  for  highlighter in $ZSH_HIGHLIGHT_HIGHLIGHTERS ;  do 
							 
						 
					
						
							
								
									
										
										
										
											2011-01-16 13:54:59 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:52:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      # eval cache place for current highlighter and prepare it 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-16 17:49:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      cache_place = " _zsh_highlight__highlighter_ ${ highlighter } _cache " 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:52:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      typeset  -ga ${ cache_place } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      # If highlighter needs to be invoked 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-22 04:10:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      if  ! type  " _zsh_highlight_highlighter_ ${ highlighter } _predicate "  >& /dev/null;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        echo  " zsh-syntax-highlighting: warning: disabling the  ${ (qq)highlighter }  highlighter as it has not been loaded "  >& 2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # TODO: use ${(b)} rather than ${(q)} if supported 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ZSH_HIGHLIGHT_HIGHLIGHTERS = (  ${ ZSH_HIGHLIGHT_HIGHLIGHTERS : # ${ highlighter } }  ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      elif  " _zsh_highlight_highlighter_ ${ highlighter } _predicate " ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:52:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # save a copy, and cleanup region_highlight 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        region_highlight_copy = ( " ${ region_highlight [@] } " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        region_highlight = ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Execute highlighter and save result 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-12 07:15:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          " _zsh_highlight_highlighter_ ${ highlighter } _paint " 
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:52:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        }  always { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          eval  " ${ cache_place } =(\"\${region_highlight[@]}\") " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:52:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # Restore saved region_highlight 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        region_highlight = ( " ${ region_highlight_copy [@] } " ) 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-12 16:10:04 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-01-16 13:54:59 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      fi 
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-03-29 22:52:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      # Use value form cache if any cached 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      eval  " region_highlight+=(\"\${ ${ cache_place } [@]}\") " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-01-16 13:54:59 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    done 
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-09-08 20:22:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # Re-apply zle_highlight settings 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-29 21:15:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # region 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-09 04:06:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  ( (  REGION_ACTIVE  = =  1  ) ) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      _zsh_highlight_apply_zle_highlight region standout " $MARK "  " $CURSOR " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    elif  ( (  REGION_ACTIVE  = =  2  ) ) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        local  needle = $'\n' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        integer min max
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( (  MARK > CURSOR ) )  ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          min = $CURSOR  max = $MARK 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          min = $MARK  max = $CURSOR 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( (  min  =  ${ ${ BUFFER [1, $min ] } [(I) $needle ] }  ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ( (  max  +=  ${ ${ BUFFER : ( $max -1) } [(i) $needle ] }  - 1  ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        _zsh_highlight_apply_zle_highlight region standout " $min "  " $max " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-29 21:15:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # yank / paste (zsh-5.1.1 and newer) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( (  $+YANK_ACTIVE ) )  &&  ( (  YANK_ACTIVE ) )  &&  _zsh_highlight_apply_zle_highlight paste standout " $YANK_START "  " $YANK_END " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-01-13 21:44:59 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    # isearch 
							 
						 
					
						
							
								
									
										
										
										
											2016-05-09 03:38:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    ( (  $+ISEARCHMATCH_ACTIVE ) )  &&  ( (  ISEARCHMATCH_ACTIVE ) )  &&  _zsh_highlight_apply_zle_highlight isearch underline " $ISEARCHMATCH_START "  " $ISEARCHMATCH_END " 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-13 21:44:59 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # suffix 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ( (  $+SUFFIX_ACTIVE ) )  &&  ( (  SUFFIX_ACTIVE ) )  &&  _zsh_highlight_apply_zle_highlight suffix bold " $SUFFIX_START "  " $SUFFIX_END " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-09-08 20:22:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-09-18 12:19:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    return  $ret 
							 
						 
					
						
							
								
									
										
										
										
											2015-09-08 20:22:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-01-16 13:58:31 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  }  always { 
							 
						 
					
						
							
								
									
										
										
										
											2015-09-25 17:53:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    typeset  -g _ZSH_HIGHLIGHT_PRIOR_BUFFER = " $BUFFER " 
							 
						 
					
						
							
								
									
										
										
										
											2015-09-24 17:57:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    typeset  -gi _ZSH_HIGHLIGHT_PRIOR_CURSOR = $CURSOR 
							 
						 
					
						
							
								
									
										
										
										
											2011-01-16 13:58:31 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-06-03 08:41:45 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Apply highlighting based on entries in the zle_highlight array.  
						 
					
						
							
								
									
										
										
										
											2015-12-29 21:15:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# This function takes four arguments:  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# 1. The exact entry (no patterns) in the zle_highlight array:  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#    region, paste, isearch, or suffix  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# 2. The default highlighting that should be applied if the entry is unset  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# 3. and 4. Two integer values describing the beginning and end of the  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#    range. The order does not matter.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								_zsh_highlight_apply_zle_highlight( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  local  entry = " $1 "  default = " $2 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  integer first = " $3 "  second = " $4 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # read the relevant entry from zle_highlight 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-05 15:58:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # ### In zsh≥5.0.8 we'd use ${(b)entry}, but we support older zsh's, so we don't 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # ### add (b).  The only effect is on the failure mode for callers that violate 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # ### the precondition. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  local  region = " ${ zle_highlight [(r) ${ entry } : *]- } " 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-29 21:15:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  [ [  -z " $region "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # entry not specified at all, use default value 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    region = $default 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # strip prefix 
							 
						 
					
						
							
								
									
										
										
										
											2016-04-24 17:08:08 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    region = " ${ region # ${ entry } : } " 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-29 21:15:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # no highlighting when set to the empty string or to 'none' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  [ [  -z " $region "  ] ]  ||  [ [  " $region "  = =  none ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  integer start end
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  if  ( (  first < second ) ) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    start = $first  end = $second 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    start = $second  end = $first 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  region_highlight += ( " $start   $end   $region " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-02-17 23:39:04 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# -------------------------------------------------------------------------------------------------  
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# API/utility functions for highlighters  
						 
					
						
							
								
									
										
										
										
											2011-02-17 23:39:04 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# -------------------------------------------------------------------------------------------------  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Array used by highlighters to declare user overridable styles.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typeset  -gA ZSH_HIGHLIGHT_STYLES 
						 
					
						
							
								
									
										
										
										
											2011-02-17 23:39:04 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Whether the command line buffer has been modified or not.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Returns 0 if the buffer has changed since _zsh_highlight was last called.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								_zsh_highlight_buffer_modified( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2012-04-07 11:48:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  [ [  " ${ _ZSH_HIGHLIGHT_PRIOR_BUFFER :- } "  !=  " $BUFFER "  ] ] 
							 
						 
					
						
							
								
									
										
										
										
											2011-02-17 23:39:04 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2011-01-16 13:54:59 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Whether the cursor has moved or not.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Returns 0 if the cursor has moved since _zsh_highlight was last called.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								_zsh_highlight_cursor_moved( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2011-08-24 14:08:58 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  [ [  -n $CURSOR  ] ]  &&  [ [  -n ${ _ZSH_HIGHLIGHT_PRIOR_CURSOR - }  ] ]  &&  ( ( $_ZSH_HIGHLIGHT_PRIOR_CURSOR  !=  $CURSOR ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2011-01-16 13:54:59 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2011-01-05 13:48:23 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-04-02 20:27:10 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Add a highlight defined by ZSH_HIGHLIGHT_STYLES.  
						 
					
						
							
								
									
										
										
										
											2016-04-29 09:48:39 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
									
										
										
										
											2016-04-02 20:27:10 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Should be used by all highlighters aside from 'pattern' (cf. ZSH_HIGHLIGHT_PATTERN).  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Overwritten in tests/test-highlighting.zsh when testing.  
						 
					
						
							
								
									
										
										
										
											2016-04-29 09:48:39 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								_zsh_highlight_add_highlight( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  local  -i start end
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  local  highlight
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  start = $1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  end = $2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  shift  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  for  highlight;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( (  $+ZSH_HIGHLIGHT_STYLES[ $highlight ]  ) ) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      region_highlight += ( " $start   $end   $ZSH_HIGHLIGHT_STYLES [ $highlight ] " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      break 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  done 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2011-01-05 13:48:23 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# -------------------------------------------------------------------------------------------------  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Setup functions  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# -------------------------------------------------------------------------------------------------  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-26 08:09:08 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Helper for _zsh_highlight_bind_widgets  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# $1 is name of widget to call  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								_zsh_highlight_call_widget( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  builtin  zle " $@ "  &&  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  _zsh_highlight
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Rebind all ZLE widgets to make them invoke _zsh_highlights.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								_zsh_highlight_bind_widgets( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-11-17 00:48:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  setopt localoptions noksharrays
							 
						 
					
						
							
								
									
										
										
										
											2016-08-12 09:43:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  typeset  -F SECONDS
							 
						 
					
						
							
								
									
										
										
										
											2016-08-12 09:17:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  local  prefix = orig-s$SECONDS -r$RANDOM  # unique each time, in case we're sourced more than once 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-17 00:48:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # Load ZSH module zsh/zleparameter, needed to override user defined widgets. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  zmodload zsh/zleparameter 2>/dev/null ||  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-21 04:01:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    print -r -- >& 2  'zsh-syntax-highlighting: failed loading zsh/zleparameter.' 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    return  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # Override ZLE widgets to make them invoke _zsh_highlight. 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-29 21:50:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  local  -U widgets_to_bind
							 
						 
					
						
							
								
									
										
										
										
											2016-08-12 09:17:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  widgets_to_bind = ( ${ ${ (k)widgets } : #(.*|run-help|which-command|beep|set-local-history|yank) } ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-29 21:56:57 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # Always wrap special zle-line-finish widget. This is needed to decide if the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # current line ends and special highlighting logic needs to be applied. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # E.g. remove cursor imprint, don't highlight partial paths, ... 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  widgets_to_bind += ( zle-line-finish) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-29 22:13:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # Always wrap special zle-isearch-update widget to be notified of updates in isearch. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # This is needed because we need to disable highlighting in that case. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  widgets_to_bind += ( zle-isearch-update) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  local  cur_widget
							 
						 
					
						
							
								
									
										
										
										
											2016-03-29 21:50:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  for  cur_widget in $widgets_to_bind ;  do 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-02 17:07:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    case  ${ widgets [ $cur_widget ] :- "" }  in
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      # Already rebound event: do nothing. 
							 
						 
					
						
							
								
									
										
										
										
											2016-01-02 14:31:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      user:_zsh_highlight_widget_*) ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-18 14:41:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      # The "eval"'s are required to make $cur_widget a closure: the value of the parameter at function 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      # definition time is used. 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-18 13:58:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      # 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      # We can't use ${0/_zsh_highlight_widget_} because these widgets are always invoked with 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      # NO_function_argzero, regardless of the option's setting here. 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-18 14:41:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      # User defined widget: override and rebind old one with prefix "orig-". 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-12 09:17:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      user:*)  zle -N $prefix -$cur_widget  ${ widgets [ $cur_widget ]#* : } 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-16 17:22:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								              eval  " _zsh_highlight_widget_ ${ (q)prefix } - ${ (q)cur_widget } () { _zsh_highlight_call_widget  ${ (q)prefix } - ${ (q)cur_widget }  -- \"\$@\" } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              zle -N $cur_widget  _zsh_highlight_widget_$prefix -$cur_widget ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      # Completion widget: override and rebind old one with prefix "orig-". 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-12 09:17:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      completion:*)  zle -C $prefix -$cur_widget  ${ ${ (s. : .)widgets[ $cur_widget ] } [2,3] }  
							 
						 
					
						
							
								
									
										
										
										
											2016-08-16 17:22:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    eval  " _zsh_highlight_widget_ ${ (q)prefix } - ${ (q)cur_widget } () { _zsh_highlight_call_widget  ${ (q)prefix } - ${ (q)cur_widget }  -- \"\$@\" } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    zle -N $cur_widget  _zsh_highlight_widget_$prefix -$cur_widget ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      # Builtin widget: override and make it call the builtin ".widget". 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-16 17:22:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      builtin )  eval  " _zsh_highlight_widget_ ${ (q)prefix } - ${ (q)cur_widget } () { _zsh_highlight_call_widget . ${ (q)cur_widget }  -- \"\$@\" } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								               zle -N $cur_widget  _zsh_highlight_widget_$prefix -$cur_widget ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-29 21:50:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      # Incomplete or nonexistent widget: Bind to z-sy-h directly. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      *)  
							 
						 
					
						
							
								
									
										
										
										
											2017-11-02 17:07:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								         if  [ [  $cur_widget  = =  zle-* ] ]  &&  ( (  ! ${ +widgets[ $cur_widget ] }  ) ) ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-29 21:50:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								           _zsh_highlight_widget_${ cur_widget } ( )  {  :;  _zsh_highlight } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								           zle -N $cur_widget  _zsh_highlight_widget_$cur_widget 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								         else 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      # Default: unhandled case. 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-16 19:01:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								           print -r -- >& 2  " zsh-syntax-highlighting: unhandled ZLE widget  ${ (qq)cur_widget } " 
							 
						 
					
						
							
								
									
										
										
										
											2017-03-05 14:36:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								           print -r -- >& 2  " zsh-syntax-highlighting: (This is sometimes caused by doing \`bindkey <keys>  ${ (q-)cur_widget } \` without creating the  ${ (qq)cur_widget }  widget with \`zle -N\` or \`zle -C\`.) " 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-29 21:50:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								         fi 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    esac 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  done 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Load highlighters from directory.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Arguments:  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#   1) Path to the highlighters directory.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								_zsh_highlight_load_highlighters( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-11-17 00:48:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  setopt localoptions noksharrays
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  # Check the directory exists. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  [ [  -d " $1 "  ] ]  ||  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-16 19:01:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    print -r -- >& 2  " zsh-syntax-highlighting: highlighters directory  ${ (qq)1 }  not found. " 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    return  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  # Load highlighters from highlighters directory and check they define required functions. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  local  highlighter highlighter_dir
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  for  highlighter_dir ( $1 /*/) ;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    highlighter = " ${ highlighter_dir : t } " 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 21:41:35 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    [ [  -f " $highlighter_dir ${ highlighter } -highlighter.zsh "  ] ]  && 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      . " $highlighter_dir ${ highlighter } -highlighter.zsh " 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-12 07:15:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  type  " _zsh_highlight_highlighter_ ${ highlighter } _paint "  & > /dev/null && 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       type  " _zsh_highlight_highlighter_ ${ highlighter } _predicate "  & > /dev/null; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # New (0.5.0) function names 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    elif  type  " _zsh_highlight_ ${ highlighter } _highlighter "  & > /dev/null && 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								         type  " _zsh_highlight_ ${ highlighter } _highlighter_predicate "  & > /dev/null; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Old (0.4.x) function names 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  false;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            # TODO: only show this warning for plugin authors/maintainers, not for end users 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            print -r -- >& 2  " zsh-syntax-highlighting: warning:  ${ (qq)highlighter }  highlighter uses deprecated entry point names; please ask its maintainer to update it: https://github.com/zsh-users/zsh-syntax-highlighting/issues/329 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        # Make it work. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eval  " _zsh_highlight_highlighter_ ${ (q)highlighter } _paint() { _zsh_highlight_ ${ (q)highlighter } _highlighter \"\$@\" } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        eval  " _zsh_highlight_highlighter_ ${ (q)highlighter } _predicate() { _zsh_highlight_ ${ (q)highlighter } _highlighter_predicate \"\$@\" } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-15 21:41:35 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        print -r -- >& 2  " zsh-syntax-highlighting:  ${ (qq)highlighter }  highlighter should define both required functions '_zsh_highlight_highlighter_ ${ highlighter } _paint' and '_zsh_highlight_highlighter_ ${ highlighter } _predicate' in  ${ (qq) :- " $highlighter_dir ${ highlighter } -highlighter.zsh " } . " 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-12 07:15:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  done 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-02-17 23:39:04 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# -------------------------------------------------------------------------------------------------  
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Setup  
						 
					
						
							
								
									
										
										
										
											2011-02-17 23:39:04 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# -------------------------------------------------------------------------------------------------  
						 
					
						
							
								
									
										
										
										
											2010-12-30 08:48:06 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Try binding widgets.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								_zsh_highlight_bind_widgets ||  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-21 04:01:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  print -r -- >& 2  'zsh-syntax-highlighting: failed binding ZLE widgets, exiting.' 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  return  1 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-02 00:34:12 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2011-02-17 23:39:04 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Resolve highlighters directory location.  
						 
					
						
							
								
									
										
										
										
											2013-10-09 12:02:34 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								_zsh_highlight_load_highlighters " ${ ZSH_HIGHLIGHT_HIGHLIGHTERS_DIR :- ${ ${ 0 : A } : h } /highlighters } "  ||  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-10 00:44:30 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  print -r -- >& 2  'zsh-syntax-highlighting: failed loading highlighters, exiting.' 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-31 17:59:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  return  1 
							 
						 
					
						
							
								
									
										
										
										
											2011-01-07 21:35:43 +09:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2011-02-17 23:39:04 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-09-27 16:08:23 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Reset scratch variables when commandline is done.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								_zsh_highlight_preexec_hook( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2015-09-26 16:27:08 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  typeset  -g _ZSH_HIGHLIGHT_PRIOR_BUFFER = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  typeset  -gi _ZSH_HIGHLIGHT_PRIOR_CURSOR = 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-27 16:08:23 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2011-09-28 16:35:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								autoload -U add-zsh-hook
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								add-zsh-hook preexec _zsh_highlight_preexec_hook 2>/dev/null ||  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-21 04:01:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    print -r -- >& 2  'zsh-syntax-highlighting: failed loading add-zsh-hook.' 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-28 16:35:19 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2011-09-27 16:08:23 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 23:45:02 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Load zsh/parameter module if available  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								zmodload zsh/parameter 2>/dev/null ||  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 22:57:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Initialize the array of active highlighters if needed.  
						 
					
						
							
								
									
										
										
										
											2016-11-11 08:34:46 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								[ [  $# ZSH_HIGHLIGHT_HIGHLIGHTERS -eq 0  ] ]  &&  ZSH_HIGHLIGHT_HIGHLIGHTERS = ( main)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Restore the aliases we unned  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								eval  " $zsh_highlight__aliases "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								builtin  unset  zsh_highlight__aliases 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Set $?.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								true