| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -85,6 +85,8 @@ ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS=(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					vi-forward-word-end
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					vi-forward-blank-word
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					vi-forward-blank-word-end
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					vi-find-next-char
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					vi-find-next-char-skip
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# Widgets that should be ignored (globbing supported but must be escaped)
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -431,7 +433,7 @@ _zsh_autosuggest_execute() {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# Partially accept the suggestion
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				_zsh_autosuggest_partial_accept() {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					local -i retval
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					local -i retval cursor_loc
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					# Save the contents of the buffer so we can restore later if needed
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					local original_buffer="$BUFFER"
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -443,13 +445,19 @@ _zsh_autosuggest_partial_accept() {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					_zsh_autosuggest_invoke_original_widget $@
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					retval=$?
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					# Normalize cursor location across vi/emacs modes
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					cursor_loc=$CURSOR
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if [[ "$KEYMAP" = "vicmd" ]]; then
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						cursor_loc=$((cursor_loc + 1))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					fi
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					# If we've moved past the end of the original buffer
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (( $CURSOR > $#original_buffer )); then
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (( $cursor_loc > $#original_buffer )); then
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						# Set POSTDISPLAY to text right of the cursor
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						POSTDISPLAY="$RBUFFER"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						POSTDISPLAY="${BUFFER[$(($cursor_loc + 1)),$#BUFFER]}"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						# Clip the buffer at the cursor
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						BUFFER="$LBUFFER"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						BUFFER="${BUFFER[1,$cursor_loc]}"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						# Restore the original buffer
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						BUFFER="$original_buffer"
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |