mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +00:00
Improve 'kubectl completion` to override short flags
This commit improves `kubectl completion` to override short flags in addition to long flags.
This commit is contained in:
parent
adb7aed2b0
commit
d2816bc1ba
@ -36,22 +36,22 @@ import (
|
||||
|
||||
const (
|
||||
bashCompletionFunc = `# call kubectl get $1,
|
||||
__kubectl_override_flag_list=(kubeconfig cluster user context namespace server)
|
||||
__kubectl_override_flag_list=(--kubeconfig --cluster --user --context --namespace --server -n -s)
|
||||
__kubectl_override_flags()
|
||||
{
|
||||
local ${__kubectl_override_flag_list[*]} two_word_of of
|
||||
local ${__kubectl_override_flag_list[*]##*-} two_word_of of var
|
||||
for w in "${words[@]}"; do
|
||||
if [ -n "${two_word_of}" ]; then
|
||||
eval "${two_word_of}=\"--${two_word_of}=\${w}\""
|
||||
eval "${two_word_of##*-}=\"${two_word_of}=\${w}\""
|
||||
two_word_of=
|
||||
continue
|
||||
fi
|
||||
for of in "${__kubectl_override_flag_list[@]}"; do
|
||||
case "${w}" in
|
||||
--${of}=*)
|
||||
eval "${of}=\"${w}\""
|
||||
${of}=*)
|
||||
eval "${of##*-}=\"${w}\""
|
||||
;;
|
||||
--${of})
|
||||
${of})
|
||||
two_word_of="${of}"
|
||||
;;
|
||||
esac
|
||||
@ -60,9 +60,9 @@ __kubectl_override_flags()
|
||||
namespace="--all-namespaces"
|
||||
fi
|
||||
done
|
||||
for of in "${__kubectl_override_flag_list[@]}"; do
|
||||
if eval "test -n \"\$${of}\""; then
|
||||
eval "echo \${${of}}"
|
||||
for var in "${__kubectl_override_flag_list[@]##*-}"; do
|
||||
if eval "test -n \"\$${var}\""; then
|
||||
eval "echo \${${var}}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user