refactor(kubectl): standarize completion generation

This commit is contained in:
Carlo Sala 2022-12-06 22:51:52 +01:00 committed by Carlo
parent 585e7138b5
commit 658eb01d82
1 changed files with 12 additions and 10 deletions

View File

@ -1,15 +1,17 @@
if (( $+commands[kubectl] )); then
# 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/_kubectl" ]]; then
kubectl completion zsh | tee "$ZSH_CACHE_DIR/completions/_kubectl" >/dev/null
source "$ZSH_CACHE_DIR/completions/_kubectl"
else
source "$ZSH_CACHE_DIR/completions/_kubectl"
kubectl completion zsh | tee "$ZSH_CACHE_DIR/completions/_kubectl" >/dev/null &|
fi
if (( ! $+commands[kubectl] )); then
return
fi
# If the completion file doesn't exist yet, we need to autoload it and
# bind it to `kubectl`. Otherwise, compinit will have already done that.
if [[ ! -f "$ZSH_CACHE_DIR/completions/_kubectl" ]]; then
typeset -g -A _comps
autoload -Uz _kubectl
_comps[kubectl]=_kubectl
fi
kubectl completion zsh >| "$ZSH_CACHE_DIR/completions/_kubectl" &|
# This command is used a LOT both below and in daily life
alias k=kubectl