Browse Source

kubectl: verify kubectl is installed before running compdef (#9346)

IsThisTheMatrix 3 years ago
parent
commit
5b717ab3e4
1 changed files with 9 additions and 15 deletions
  1. 9 15
      plugins/kubectl/kubectl.plugin.zsh

+ 9 - 15
plugins/kubectl/kubectl.plugin.zsh

@@ -150,19 +150,13 @@ alias kepvc='kubectl edit pvc'
 alias kdpvc='kubectl describe pvc'
 alias kdelpvc='kubectl delete pvc'
 
-# Colored JSON output
-kj() {
-  kubectl "$@" -o json | jq
-}
-compdef kj=kubectl
-
-kjx() {
-  kubectl "$@" -o json | fx
-}
-compdef kjx=kubectl
+# Only run if the user actually has kubectl installed
+if (( $+commands[kubectl] )); then
+  kj() { kubectl "$@" -o json | jq; }
+  kjx() { kubectl "$@" -o json | fx; }
+  ky() { kubectl "$@" -o yaml | yh; }
 
-# Colored YAML output
-ky() {
-  kubectl "$@" -o yaml | yh
-}
-compdef ky=kubectl
+  compdef kj=kubectl
+  compdef kjx=kubectl
+  compdef ky=kubectl
+fi