diff options
author | (╯°□°)╯︵ uᴉǝssnH ɐɟɐʇsoW <mostafa.hussein91@gmail.com> | 2021-12-28 10:49:08 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-28 19:49:08 +0100 |
commit | 875e7c4077c08b6cf5547929d403f70a52836388 (patch) | |
tree | 0f16ce516e2623e062773ea190138df7df08db03 | |
parent | 6515850a1432199f8f3eef8e9ac711b8a7860ae5 (diff) | |
download | zsh-875e7c4077c08b6cf5547929d403f70a52836388.tar.gz zsh-875e7c4077c08b6cf5547929d403f70a52836388.tar.bz2 zsh-875e7c4077c08b6cf5547929d403f70a52836388.zip |
feat(helm): cache completion file in the background (#8326)
-rw-r--r-- | plugins/helm/helm.plugin.zsh | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/plugins/helm/helm.plugin.zsh b/plugins/helm/helm.plugin.zsh index 78499c15d..472c1c9dd 100644 --- a/plugins/helm/helm.plugin.zsh +++ b/plugins/helm/helm.plugin.zsh @@ -1,7 +1,22 @@ -# Autocompletion for helm. -# -# Copy from kubectl : https://github.com/pstadler +if (( ! $+commands[helm] )); then + return +fi + +# TODO: 2021-12-28: delete this block +# Remove old generated file +command rm -f "${ZSH_CACHE_DIR}/helm_completion" -if [ $commands[helm] ]; then - source <(helm completion zsh) +# TODO: 2021-12-28: remove this bit of code as it exists in oh-my-zsh.sh +# Add completions folder in $ZSH_CACHE_DIR +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 [[ ! -f "$ZSH_CACHE_DIR/completions/_helm" ]]; then + declare -A _comps + autoload -Uz _helm + _comps[helm]=_helm fi + +helm completion zsh >| "$ZSH_CACHE_DIR/completions/_helm" &| |