From dfaad779a9bbe1f83e30820d227d4b7870bdf33f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?= <hello@mcornella.com>
Date: Mon, 17 Jan 2022 12:45:59 +0100
Subject: [PATCH] fix(helm): fix completion loading mechanism

---
 plugins/helm/helm.plugin.zsh | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/plugins/helm/helm.plugin.zsh b/plugins/helm/helm.plugin.zsh
index c6b91693a..cadfa551a 100644
--- a/plugins/helm/helm.plugin.zsh
+++ b/plugins/helm/helm.plugin.zsh
@@ -11,12 +11,12 @@ command rm -f "${ZSH_CACHE_DIR}/helm_completion"
 command mkdir -p "$ZSH_CACHE_DIR/completions"
 (( ${fpath[(Ie)"$ZSH_CACHE_DIR/completions"]} )) || fpath=("$ZSH_CACHE_DIR/completions" $fpath)
 
-# If the completion file doesn't exist yet, we need to autoload it and
-# bind it to `helm`. Otherwise, compinit will have already done that.
+# If the completion file does not exist, generate it and then source it
+# Otherwise, source it and regenerate in the background
 if [[ ! -f "$ZSH_CACHE_DIR/completions/_helm" ]]; then
-  typeset -g -A _comps
-  autoload -Uz _helm
-  _comps[helm]=_helm
+  helm completion zsh >| "$ZSH_CACHE_DIR/completions/_helm"
+  source "$ZSH_CACHE_DIR/completions/_helm"
+else
+  source "$ZSH_CACHE_DIR/completions/_helm"
+  helm completion zsh >| "$ZSH_CACHE_DIR/completions/_helm" &|
 fi
-
-helm completion zsh >| "$ZSH_CACHE_DIR/completions/_helm" &|
-- 
2.21.0