mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Merge pull request #70470 from dtaniwaki/fix-auto-completion
Avoid conflicts with other cobra auto completions
This commit is contained in:
commit
978c38d488
@ -79,6 +79,13 @@ import (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
bashCompletionFunc = `# call kubectl get $1,
|
bashCompletionFunc = `# call kubectl get $1,
|
||||||
|
__kubectl_debug_out()
|
||||||
|
{
|
||||||
|
local cmd="$1"
|
||||||
|
__kubectl_debug "${FUNCNAME[1]}: get completion by ${cmd}"
|
||||||
|
eval "${cmd} 2>/dev/null"
|
||||||
|
}
|
||||||
|
|
||||||
__kubectl_override_flag_list=(--kubeconfig --cluster --user --context --namespace --server -n -s)
|
__kubectl_override_flag_list=(--kubeconfig --cluster --user --context --namespace --server -n -s)
|
||||||
__kubectl_override_flags()
|
__kubectl_override_flags()
|
||||||
{
|
{
|
||||||
@ -127,7 +134,7 @@ __kubectl_parse_config()
|
|||||||
{
|
{
|
||||||
local template kubectl_out
|
local template kubectl_out
|
||||||
template="{{ range .$1 }}{{ .name }} {{ end }}"
|
template="{{ range .$1 }}{{ .name }} {{ end }}"
|
||||||
if kubectl_out=$(kubectl config $(__kubectl_override_flags) -o template --template="${template}" view 2>/dev/null); then
|
if kubectl_out=$(__kubectl_debug_out "kubectl config $(__kubectl_override_flags) -o template --template=\"${template}\" view"); then
|
||||||
COMPREPLY=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) )
|
COMPREPLY=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) )
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -139,7 +146,7 @@ __kubectl_parse_get()
|
|||||||
local template
|
local template
|
||||||
template="${2:-"{{ range .items }}{{ .metadata.name }} {{ end }}"}"
|
template="${2:-"{{ range .items }}{{ .metadata.name }} {{ end }}"}"
|
||||||
local kubectl_out
|
local kubectl_out
|
||||||
if kubectl_out=$(kubectl get $(__kubectl_override_flags) -o template --template="${template}" "$1" 2>/dev/null); then
|
if kubectl_out=$(__kubectl_debug_out "kubectl get $(__kubectl_override_flags) -o template --template=\"${template}\" \"$1\""); then
|
||||||
COMPREPLY+=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) )
|
COMPREPLY+=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) )
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -148,7 +155,7 @@ __kubectl_get_resource()
|
|||||||
{
|
{
|
||||||
if [[ ${#nouns[@]} -eq 0 ]]; then
|
if [[ ${#nouns[@]} -eq 0 ]]; then
|
||||||
local kubectl_out
|
local kubectl_out
|
||||||
if kubectl_out=$(kubectl api-resources $(__kubectl_override_flags) -o name --cached --request-timeout=5s --verbs=get 2>/dev/null); then
|
if kubectl_out=$(__kubectl_debug_out "kubectl api-resources $(__kubectl_override_flags) -o name --cached --request-timeout=5s --verbs=get"); then
|
||||||
COMPREPLY=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) )
|
COMPREPLY=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) )
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@ -195,7 +202,7 @@ __kubectl_get_containers()
|
|||||||
fi
|
fi
|
||||||
local last=${nouns[${len} -1]}
|
local last=${nouns[${len} -1]}
|
||||||
local kubectl_out
|
local kubectl_out
|
||||||
if kubectl_out=$(kubectl get $(__kubectl_override_flags) -o template --template="${template}" pods "${last}" 2>/dev/null); then
|
if kubectl_out=$(__kubectl_debug_out "kubectl get $(__kubectl_override_flags) -o template --template=\"${template}\" pods \"${last}\""); then
|
||||||
COMPREPLY=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) )
|
COMPREPLY=( $( compgen -W "${kubectl_out[*]}" -- "$cur" ) )
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -228,7 +235,7 @@ __kubectl_cp()
|
|||||||
local template namespace kubectl_out
|
local template namespace kubectl_out
|
||||||
template="{{ range .items }}{{ .metadata.namespace }}/{{ .metadata.name }}: {{ end }}"
|
template="{{ range .items }}{{ .metadata.namespace }}/{{ .metadata.name }}: {{ end }}"
|
||||||
namespace="${cur%%/*}"
|
namespace="${cur%%/*}"
|
||||||
if kubectl_out=( $(kubectl get $(__kubectl_override_flags) --namespace "${namespace}" -o template --template="${template}" pods 2>/dev/null) ); then
|
if kubectl_out=$(__kubectl_debug_out "kubectl get $(__kubectl_override_flags) --namespace \"${namespace}\" -o template --template=\"${template}\" pods"); then
|
||||||
COMPREPLY=( $(compgen -W "${kubectl_out[*]}" -- "${cur}") )
|
COMPREPLY=( $(compgen -W "${kubectl_out[*]}" -- "${cur}") )
|
||||||
fi
|
fi
|
||||||
return
|
return
|
||||||
@ -241,7 +248,7 @@ __kubectl_cp()
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
__custom_func() {
|
__kubectl_custom_func() {
|
||||||
case ${last_command} in
|
case ${last_command} in
|
||||||
kubectl_get | kubectl_describe | kubectl_delete | kubectl_label | kubectl_edit | kubectl_patch |\
|
kubectl_get | kubectl_describe | kubectl_delete | kubectl_label | kubectl_edit | kubectl_patch |\
|
||||||
kubectl_annotate | kubectl_expose | kubectl_scale | kubectl_autoscale | kubectl_taint | kubectl_rollout_* |\
|
kubectl_annotate | kubectl_expose | kubectl_scale | kubectl_autoscale | kubectl_taint | kubectl_rollout_* |\
|
||||||
|
Loading…
Reference in New Issue
Block a user