v2: Dynamic completion for "helm repo" and "helm plugin" (#6265)

* feat(helm): Completion for helm repo remove

Signed-off-by: Marc Khouzam <marc.khouzam@ville.montreal.qc.ca>

* feat(helm): Complete for helm plugin remove/update

helm repo remove <TAB> (will select from the names of configured repos)
helm plugin remove <TAB> (will select from names of installed plugins)
helm plugin update <TAB> (will select from names of installed plugins)

Signed-off-by: Marc Khouzam <marc.khouzam@ville.montreal.qc.ca>

* feat(helm): Completion for helm repo update

Signed-off-by: Marc Khouzam <marc.khouzam@ville.montreal.qc.ca>
pull/6367/head
Marc Khouzam 6 years ago committed by Martin Hickey
parent 540fe23b69
commit 3ed073b2e0

@ -41,7 +41,7 @@ import (
const (
bashCompletionFunc = `
__helm_override_flag_list=(--kubeconfig --kube-context --host --tiller-namespace)
__helm_override_flag_list=(--kubeconfig --kube-context --host --tiller-namespace --home)
__helm_override_flags()
{
local ${__helm_override_flag_list[*]##*-} two_word_of of var
@ -80,6 +80,28 @@ __helm_list_releases()
fi
}
__helm_list_repos()
{
__helm_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}"
local out oflags
oflags=$(__helm_override_flags)
__helm_debug "${FUNCNAME[0]}: __helm_override_flags are ${oflags}"
if out=$(helm repo list ${oflags} | tail +2 | cut -f1 2>/dev/null); then
COMPREPLY=( $( compgen -W "${out[*]}" -- "$cur" ) )
fi
}
__helm_list_plugins()
{
__helm_debug "${FUNCNAME[0]}: c is $c words[c] is ${words[c]}"
local out oflags
oflags=$(__helm_override_flags)
__helm_debug "${FUNCNAME[0]}: __helm_override_flags are ${oflags}"
if out=$(helm plugin list ${oflags} | tail +2 | cut -f1 2>/dev/null); then
COMPREPLY=( $( compgen -W "${out[*]}" -- "$cur" ) )
fi
}
__helm_custom_func()
{
__helm_debug "${FUNCNAME[0]}: c is $c words[@] is ${words[@]}"
@ -89,6 +111,14 @@ __helm_custom_func()
__helm_list_releases
return
;;
helm_repo_remove | helm_repo_update)
__helm_list_repos
return
;;
helm_plugin_remove | helm_plugin_update)
__helm_list_plugins
return
;;
*)
;;
esac

Loading…
Cancel
Save