From 5d64d38ac44d849d83d3faeebb8cefea48e2abd8 Mon Sep 17 00:00:00 2001 From: Marlon Richert Date: Mon, 6 Dec 2021 22:39:13 +0200 Subject: [PATCH] Fix global param bug in zle-flags() --- functions/.autocomplete.zle-flags | 52 +++++++++++++++++-------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/functions/.autocomplete.zle-flags b/functions/.autocomplete.zle-flags index e123503c..3080ca90 100644 --- a/functions/.autocomplete.zle-flags +++ b/functions/.autocomplete.zle-flags @@ -1,26 +1,32 @@ #!/bin/zsh -emulate -L zsh -setopt $_autocomplete__func_opts[@] +typeset -gH _autocomplete__last_widget= -# If no arg, assume same widget as last time. -[[ -v 1 && -n $1 ]] && - typeset -gH _autocomplete__last_widget="$1" +.autocomplete.zle-flags() { + emulate -L zsh + setopt $_autocomplete__func_opts[@] -# Return 0 to continue, 1 to abort. -case $_autocomplete__last_widget in - ( *kill-*~vi-* ) - builtin zle -f kill - return 0 - ;; - ( *yank*~vi-* | vi-*put-*after | bracketed-paste ) - builtin zle -f yank - return 1 - ;; - ( vi-*put-*before ) - builtin zle -f yankbefore - return 1 - ;; - ( * ) - return 0 - ;; -esac + # If no arg, assume same widget as last time. + [[ -v 1 && -n $1 ]] && + typeset -gH _autocomplete__last_widget="$1" + + # Return 0 to continue, 1 to abort. + case $_autocomplete__last_widget in + ( *kill-*~vi-* ) + builtin zle -f kill + return 0 + ;; + ( *yank*~vi-* | vi-*put-*after | bracketed-paste ) + builtin zle -f yank + return 1 + ;; + ( vi-*put-*before ) + builtin zle -f yankbefore + return 1 + ;; + ( * ) + return 0 + ;; + esac +} + +.autocomplete.zle-flags "$@"