mirror of
				https://github.com/zsh-users/zsh-autosuggestions.git
				synced 2025-10-30 15:26:29 +08:00 
			
		
		
		
	Enable async mode by default in newer versions of zsh
Allow users to override the default by unsetting (or setting) the ZSH_AUTOSUGGEST_USE_ASYNC variable. See GitHub issue #498.
This commit is contained in:
		
							parent
							
								
									19e375bbc8
								
							
						
					
					
						commit
						6c634c1e35
					
				| @ -79,9 +79,11 @@ Widgets that modify the buffer and are not found in any of these arrays will fet | ||||
| Set `ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE` to an integer value to disable autosuggestion for large buffers. The default is unset, which means that autosuggestion will be tried for any buffer size. Recommended value is 20. | ||||
| This can be useful when pasting large amount of text in the terminal, to avoid triggering autosuggestion for strings that are too long. | ||||
| 
 | ||||
| ### Enable Asynchronous Mode | ||||
| ### Asynchronous Mode | ||||
| 
 | ||||
| As of `v0.4.0`, suggestions can be fetched asynchronously. To enable this behavior, set the `ZSH_AUTOSUGGEST_USE_ASYNC` variable (it can be set to anything). | ||||
| Suggestions are fetched asynchronously by default in zsh versions 5.0.8 and greater. To disable asynchronous suggestions and fetch them synchronously instead, `unset ZSH_AUTOSUGGEST_USE_ASYNC` after sourcing the plugin. | ||||
| 
 | ||||
| Alternatively, if you are using a version of zsh older than 5.0.8 and want to enable asynchronous mode, set the `ZSH_AUTOSUGGEST_USE_ASYNC` variable after sourcing the plugin (it can be set to anything). Note that there is [a bug](https://github.com/zsh-users/zsh-autosuggestions/issues/364#issuecomment-481423232) in versions of zsh older than 5.0.8 where <kbd>ctrl</kbd> + <kbd>c</kbd> will fail to reset the prompt immediately after fetching a suggestion asynchronously. | ||||
| 
 | ||||
| ### Disabling automatic widget re-binding | ||||
| 
 | ||||
|  | ||||
| @ -1,7 +0,0 @@ | ||||
| describe 'suggestion fetching' do | ||||
|   it 'is performed synchronously' | ||||
| 
 | ||||
|   context 'when ZSH_AUTOSUGGEST_USE_ASYNC is set' do | ||||
|     it 'is performed asynchronously' | ||||
|   end | ||||
| end | ||||
| @ -21,5 +21,13 @@ _zsh_autosuggest_start() { | ||||
| # Mark for auto-loading the functions that we use | ||||
| autoload -Uz add-zsh-hook is-at-least | ||||
| 
 | ||||
| # Automatically enable asynchronous mode in newer versions of zsh. Disable for | ||||
| # older versions because there is a bug when using async mode where ^C does not | ||||
| # work immediately after fetching a suggestion. | ||||
| # See https://github.com/zsh-users/zsh-autosuggestions/issues/364 | ||||
| if is-at-least 5.0.8; then | ||||
| 	typeset -g ZSH_AUTOSUGGEST_USE_ASYNC= | ||||
| fi | ||||
| 
 | ||||
| # Start the autosuggestion widgets on the next precmd | ||||
| add-zsh-hook precmd _zsh_autosuggest_start | ||||
|  | ||||
| @ -854,5 +854,13 @@ _zsh_autosuggest_start() { | ||||
| # Mark for auto-loading the functions that we use | ||||
| autoload -Uz add-zsh-hook is-at-least | ||||
| 
 | ||||
| # Automatically enable asynchronous mode in newer versions of zsh. Disable for | ||||
| # older versions because there is a bug when using async mode where ^C does not | ||||
| # work immediately after fetching a suggestion. | ||||
| # See https://github.com/zsh-users/zsh-autosuggestions/issues/364 | ||||
| if is-at-least 5.0.8; then | ||||
| 	typeset -g ZSH_AUTOSUGGEST_USE_ASYNC= | ||||
| fi | ||||
| 
 | ||||
| # Start the autosuggestion widgets on the next precmd | ||||
| add-zsh-hook precmd _zsh_autosuggest_start | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Eric Freese
						Eric Freese