summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2018-05-26 18:32:13 +0200
committerGitHub <noreply@github.com>2018-05-26 18:32:13 +0200
commit957eb77239d5c7551528cd6059418ab4e0179ba5 (patch)
treeec0bfe2dc61ff215c9deb56a71a09f65348a8e4c
parent5421650c812c8fa558904b01b2f572221a98a073 (diff)
parent9b11b7e9388dc8c736c321e56e29440dedfa6152 (diff)
downloadzsh-957eb77239d5c7551528cd6059418ab4e0179ba5.tar.gz
zsh-957eb77239d5c7551528cd6059418ab4e0179ba5.tar.bz2
zsh-957eb77239d5c7551528cd6059418ab4e0179ba5.zip
Merge pull request #6844 from lbolla/Issue6843
Cache kubectl completion script to file to speed up sourcing
-rw-r--r--plugins/kubectl/kubectl.plugin.zsh14
1 files changed, 9 insertions, 5 deletions
diff --git a/plugins/kubectl/kubectl.plugin.zsh b/plugins/kubectl/kubectl.plugin.zsh
index ec1321d8b..c4e30dacd 100644
--- a/plugins/kubectl/kubectl.plugin.zsh
+++ b/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