41 lines
849 B
Bash
41 lines
849 B
Bash
#!/usr/bin/env zsh
|
|
|
|
local kubectl="${commands[kubectl]-}"
|
|
local orig_cmd="${_comps[kubectl]-}"
|
|
local comp="$Z4H"/cache/kubectl-completion-$EUID.zsh
|
|
local cmd
|
|
|
|
() {
|
|
[[ -n "$kubectl" ]] || return
|
|
|
|
[[ "$comp" -nt "$kubectl" ]] || {
|
|
local tmp="$comp".tmp."${sysparams[pid]}"
|
|
"$kubectl" completion zsh >"$tmp" || return
|
|
zf_mv -f -- "$tmp" "$comp" || return
|
|
-z4h-compile "$comp" || return
|
|
}
|
|
|
|
() {
|
|
emulate -L zsh
|
|
if (( ${+functions[_bash_comp]} )); then
|
|
builtin source -- "$comp"
|
|
else
|
|
{
|
|
function _bash_comp() {}
|
|
builtin source -- "$comp"
|
|
} always {
|
|
unfunction _bash_comp
|
|
}
|
|
fi
|
|
unset LWORD RWORD
|
|
} || true
|
|
|
|
cmd="${_comps[kubectl]-}"
|
|
[[ "$cmd" != "$orig_cmd" ]] || return
|
|
} || {
|
|
builtin unset '_comps[kubectl]'
|
|
_default "$@"
|
|
return
|
|
}
|
|
|
|
builtin eval "$cmd"
|