fix(kubectl): load completion properly in functions

Closes #12427
This commit is contained in:
Yogeshwaran Rajendran 2024-07-22 11:11:51 +05:30
commit a3d04b7164

View file

@ -180,23 +180,11 @@ alias kej='kubectl edit job'
alias kdj='kubectl describe job'
alias kdelj='kubectl delete job'
# Utility print functions (json / yaml)
function _build_kubectl_out_alias {
setopt localoptions norcexpandparam
# alias function
eval "function $1 { $2 }"
# completion function
eval "function _$1 {
words=(kubectl \"\${words[@]:1}\")
_kubectl
}"
compdef _$1 $1
}
_build_kubectl_out_alias "kj" 'kubectl "$@" -o json | jq'
_build_kubectl_out_alias "kjx" 'kubectl "$@" -o json | fx'
_build_kubectl_out_alias "ky" 'kubectl "$@" -o yaml | yh'
unfunction _build_kubectl_out_alias
function kj() { kubectl "$@" -o json | jq; }
function kjx() { kubectl "$@" -o json | fx; }
function ky() { kubectl "$@" -o yaml | yh; }
if (( ${+functions[compdef]} )); then
compdef _kubectl kj
compdef _kubectl kjx
compdef _kubectl ky
fi