Compare commits

..

2 Commits

Author SHA1 Message Date
Eric Freese
8be05efc3c Stop requiring function_argzero
This commit is based on [zsh-syntax-highlighting's similar commit][1].

Also, motivated from PR #640.

[1]: 750aebc553
2023-09-07 09:05:38 -06:00
Pablo Speciale
23f2943455 Add more common widgets to list of clear widgets
Cherry-picked from PR #706 and updates made to src/config.zsh.

Fixes issues #678
2023-09-07 08:49:25 -06:00
4 changed files with 9 additions and 24 deletions

View File

@@ -44,6 +44,7 @@ _zsh_autosuggest_async_request() {
# There's a weird bug here where ^C stops working unless we force a fork
# See https://github.com/zsh-users/zsh-autosuggestions/issues/364
autoload -Uz is-at-least
is-at-least 5.8 || command true
# Read the pid from the child process
@@ -64,7 +65,7 @@ _zsh_autosuggest_async_response() {
if [[ -z "$2" || "$2" == "hup" ]]; then
# Read everything from the fd and give it as a suggestion
IFS='' read -rd '' -u $1 suggestion
_zsh_autosuggest_async_suggest "$suggestion"
zle autosuggest-suggest -- "$suggestion"
# Close the fd
exec {1}<&-
@@ -73,14 +74,3 @@ _zsh_autosuggest_async_response() {
# Always remove the handler
zle -F "$1"
}
_zsh_autosuggest_async_suggest() {
# Before 5.9, async suggestions break widgets that rely on LASTWIDGET
# such as copy-earlier-word and {up,down}-line-or-beginning-search. In
# 5.9, a flag was added to `zle` that will skip setting LASTWIDGET so
# that those widgets that depend on it will continue to work
# See https://www.zsh.org/mla/workers/2020/msg00824.html
local nolast
is-at-least 5.9 && nolast=supported
zle autosuggest-suggest ${=nolast:+-f nolast} -- "$1"
}

View File

@@ -28,6 +28,8 @@ typeset -g ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig-
history-search-backward
history-beginning-search-forward
history-beginning-search-backward
history-beginning-search-forward-end
history-beginning-search-backward-end
history-substring-search-up
history-substring-search-down
up-line-or-beginning-search

View File

@@ -1 +1,2 @@
0=${(%):-%N}
source ${0:A:h}/zsh-autosuggestions.zsh

View File

@@ -54,6 +54,8 @@ typeset -g ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig-
history-search-backward
history-beginning-search-forward
history-beginning-search-backward
history-beginning-search-forward-end
history-beginning-search-backward-end
history-substring-search-up
history-substring-search-down
up-line-or-beginning-search
@@ -799,6 +801,7 @@ _zsh_autosuggest_async_request() {
# There's a weird bug here where ^C stops working unless we force a fork
# See https://github.com/zsh-users/zsh-autosuggestions/issues/364
autoload -Uz is-at-least
is-at-least 5.8 || command true
# Read the pid from the child process
@@ -819,7 +822,7 @@ _zsh_autosuggest_async_response() {
if [[ -z "$2" || "$2" == "hup" ]]; then
# Read everything from the fd and give it as a suggestion
IFS='' read -rd '' -u $1 suggestion
_zsh_autosuggest_async_suggest "$suggestion"
zle autosuggest-suggest -- "$suggestion"
# Close the fd
exec {1}<&-
@@ -829,17 +832,6 @@ _zsh_autosuggest_async_response() {
zle -F "$1"
}
_zsh_autosuggest_async_suggest() {
# Before 5.9, async suggestions break widgets that rely on LASTWIDGET
# such as copy-earlier-word and {up,down}-line-or-beginning-search. In
# 5.9, a flag was added to `zle` that will skip setting LASTWIDGET so
# that those widgets that depend on it will continue to work
# See https://www.zsh.org/mla/workers/2020/msg00824.html
local nolast
is-at-least 5.9 && nolast=supported
zle autosuggest-suggest ${=nolast:+-f nolast} -- "$1"
}
#--------------------------------------------------------------------#
# Start #
#--------------------------------------------------------------------#