Add zsh completion script (finally)

Signed-off-by: Ahmet Alp Balkan <ahmetb@google.com>
This commit is contained in:
Ahmet Alp Balkan 2017-04-26 09:34:35 -07:00
parent a19b9535f6
commit 5933a7bbf8
No known key found for this signature in database
GPG Key ID: 5C02521D7B216AD6
2 changed files with 15 additions and 9 deletions

View File

@ -1,21 +1,15 @@
class Kubectx < Formula
desc "Tool that can switch between kubectl contexts easily and create aliases"
homepage "https://github.com/ahmetb/kubectx"
url "https://github.com/ahmetb/kubectx/archive/v0.1.tar.gz"
sha256 "841817f928af25061b1b6794400394c3e6e807e8a1c48c179f1fd8bdd553ca79"
url "https://github.com/ahmetb/kubectx/archive/v0.2.0.tar.gz"
sha256 "9fb6557416e4be3ef7e9701527f89fa73a1a0545a3cafbe6bed7527061c6cfb7"
bottle :unneeded
def install
bin.install "kubectx"
bash_completion.install "completion/kubectx.bash" => "kubectx"
end
def caveats; <<-EOS.undent
To install zsh completion, add this to your .zshrc:
[ -f /usr/local/etc/bash_completion.d/kubectx ] && source /usr/local/etc/bash_completion.d/kubectx
EOS
zsh_completion.install "completion/kubectx.zsh" => "_kubectx"
end
test do

12
completion/kubectx.zsh Normal file
View File

@ -0,0 +1,12 @@
#compdef kubectx
KUBECTX="${HOME}/.kube/kubectx"
PREV=""
if [ -f "$KUBECTX" ]; then
# show '-' only if there's a saved previous context
PREV=$(cat "${KUBECTX}")
_arguments "1: :((-\:Back\ to\ ${PREV} \
$(kubectl config get-contexts | awk '{print $2}' | tail -n +2)))"
else
_arguments "1: :($(kubectl config get-contexts | awk '{print $2}' | tail -n +2))"
fi