Add --with-short-names option

This allows linking as "kctx" and "kns" to prevent overlap with kubectl Tab
completion when user hits `ku<Tab>`. Fixes #3.

Also fixed variables KUBECTX and PREV leaking to zsh shell once the _kubectx
function is invoked.

Signed-off-by: Ahmet Alp Balkan <ahmetb@google.com>
This commit is contained in:
Ahmet Alp Balkan
2017-05-16 21:51:01 -07:00
parent da3f814280
commit a376b02e88
5 changed files with 14 additions and 13 deletions

View File

@@ -5,4 +5,4 @@ _kube_contexts()
COMPREPLY=( $(compgen -W "- $(kubectl config get-contexts --output='name')" -- $curr_arg ) );
}
complete -F _kube_contexts kubectx
complete -F _kube_contexts kubectx kctx

View File

@@ -1,10 +1,10 @@
#compdef kubectx
#compdef kubectx kctx=kubectx
KUBECTX="${HOME}/.kube/kubectx"
local KUBECTX="${HOME}/.kube/kubectx"
PREV=""
if [ -f "$KUBECTX" ]; then
# show '-' only if there's a saved previous context
PREV=$(cat "${KUBECTX}")
local PREV=$(cat "${KUBECTX}")
_arguments "1: :((-\:Back\ to\ ${PREV} \
$(kubectl config get-contexts --output='name')))"
else

View File

@@ -5,4 +5,4 @@ _kube_namespaces()
COMPREPLY=( $(compgen -W "- $(kubectl get namespaces -o=jsonpath='{range .items[*].metadata.name}{@}{"\n"}{end}')" -- $curr_arg ) );
}
complete -F _kube_namespaces kubens
complete -F _kube_namespaces kubens kns

View File

@@ -1,2 +1,2 @@
#compdef kubens
#compdef kubens kns=kubens
_arguments "1: :(- $(kubectl get namespaces -o=jsonpath='{range .items[*].metadata.name}{@}{"\n"}{end}'))"