Browse Source

Merge pull request #6844 from lbolla/Issue6843

Cache kubectl completion script to file to speed up sourcing
Marc Cornellà 6 years ago
parent
commit
957eb77239
1 changed files with 9 additions and 5 deletions
  1. 9 5
      plugins/kubectl/kubectl.plugin.zsh

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

@@ -1,9 +1,13 @@
-# Autocompletion for kubectl, the command line interface for Kubernetes
-#
-# Author: https://github.com/pstadler
+if (( $+commands[kubectl] )); then
+    __KUBECTL_COMPLETION_FILE="${ZSH_CACHE_DIR}/kubectl_completion"
 
-if [ $commands[kubectl] ]; then
-  source <(kubectl completion zsh)
+    if [[ ! -f $__KUBECTL_COMPLETION_FILE ]]; then
+        kubectl completion zsh >! $__KUBECTL_COMPLETION_FILE
+    fi
+
+    [[ -f $__KUBECTL_COMPLETION_FILE ]] && source $__KUBECTL_COMPLETION_FILE
+
+    unset __KUBECTL_COMPLETION_FILE
 fi
 
 # This command is used ALOT both below and in daily life