fix(gcloud): lazy-load gcloud shell completion on first use

Shell completion for gcloud seems to take around 50-100ms to load, so
let's only do that on first use, instead of during startup of every
shell.
This commit is contained in:
2021-04-19 02:21:30 +01:00
parent 680b3443b8
commit 72c4e3d919

View File

@@ -6,6 +6,19 @@ if [ -f '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.i
source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc' source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc'
fi fi
if [ -f '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc' ]; then # Lazy load gcloud shell completion on first use.
source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc' if command-exists gcloud; then
_python_argcomplete() {
load-gcloud-completion
_python_argcomplete "$@"
}
compctl -K _python_argcomplete gcloud
load-gcloud-completion() {
unset -f load-gcloud-completion _python_argcomplete
if [ -f '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc' ]; then
source '/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc'
fi
}
fi fi