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. | 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. | 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 | ### 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 | # Mark for auto-loading the functions that we use | ||||||
| autoload -Uz add-zsh-hook is-at-least | 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 | # Start the autosuggestion widgets on the next precmd | ||||||
| add-zsh-hook precmd _zsh_autosuggest_start | add-zsh-hook precmd _zsh_autosuggest_start | ||||||
|  | |||||||
| @ -854,5 +854,13 @@ _zsh_autosuggest_start() { | |||||||
| # Mark for auto-loading the functions that we use | # Mark for auto-loading the functions that we use | ||||||
| autoload -Uz add-zsh-hook is-at-least | 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 | # Start the autosuggestion widgets on the next precmd | ||||||
| add-zsh-hook precmd _zsh_autosuggest_start | add-zsh-hook precmd _zsh_autosuggest_start | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Eric Freese
						Eric Freese