diff options
author | Tuowen Zhao <ztuowen@gmail.com> | 2019-09-26 11:35:31 -0600 |
---|---|---|
committer | Tuowen Zhao <ztuowen@gmail.com> | 2019-09-26 11:35:31 -0600 |
commit | 09829ba30c269e35bddf44a21f3357efd31e686f (patch) | |
tree | 8ad263cf7e6508ce9f947e6b9fc5c60a7d9fff76 /plugins/gcloud | |
parent | d676c1553254309beca5bb9a8edb43fbe09a7169 (diff) | |
parent | f9e7c45a484723f693a77ab6128a1cc163f3704a (diff) | |
download | zsh-09829ba30c269e35bddf44a21f3357efd31e686f.tar.gz zsh-09829ba30c269e35bddf44a21f3357efd31e686f.tar.bz2 zsh-09829ba30c269e35bddf44a21f3357efd31e686f.zip |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'plugins/gcloud')
-rw-r--r-- | plugins/gcloud/README.md | 24 | ||||
-rw-r--r-- | plugins/gcloud/gcloud.plugin.zsh | 33 |
2 files changed, 57 insertions, 0 deletions
diff --git a/plugins/gcloud/README.md b/plugins/gcloud/README.md new file mode 100644 index 000000000..e7ce0e0f1 --- /dev/null +++ b/plugins/gcloud/README.md @@ -0,0 +1,24 @@ +# gcloud + +This plugin provides completion support for the +[Google Cloud SDK CLI](https://cloud.google.com/sdk/gcloud/). + +To use it, add `gcloud` to the plugins array in your zshrc file. + +```zsh +plugins=(... gcloud) +``` + +It relies on you having installed the SDK using one of the supported options +listed [here](https://cloud.google.com/sdk/install). + +## Plugin Options + +* Set `CLOUDSDK_HOME` in your `zshrc` file before you load oh-my-zsh if you have +your GCloud SDK installed in a non-standard location. The plugin will use this +as the base for your SDK if it finds it set already. + +* If you do not have a `python2` in your `PATH` you'll also need to set the +`CLOUDSDK_PYTHON` environment variable at the end of your `.zshrc`. This is +used by the SDK to call a compatible interpreter when you run one of the +SDK commands. diff --git a/plugins/gcloud/gcloud.plugin.zsh b/plugins/gcloud/gcloud.plugin.zsh new file mode 100644 index 000000000..c7aebe697 --- /dev/null +++ b/plugins/gcloud/gcloud.plugin.zsh @@ -0,0 +1,33 @@ +##################################################### +# gcloud plugin for oh-my-zsh # +# Author: Ian Chesal (github.com/ianchesal) # +##################################################### + +if [[ -z "${CLOUDSDK_HOME}" ]]; then + search_locations=( + "$HOME/google-cloud-sdk" + "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk" + "/usr/share/google-cloud-sdk" + "/snap/google-cloud-sdk/current" + "/usr/lib64/google-cloud-sdk/" + "/opt/google-cloud-sdk" + ) + + for gcloud_sdk_location in $search_locations; do + if [[ -d "${gcloud_sdk_location}" ]]; then + CLOUDSDK_HOME="${gcloud_sdk_location}" + break + fi + done +fi + +if (( ${+CLOUDSDK_HOME} )); then + if (( ! $+commands[gcloud] )); then + # Only source this if GCloud isn't already on the path + if [[ -f "${CLOUDSDK_HOME}/path.zsh.inc" ]]; then + source "${CLOUDSDK_HOME}/path.zsh.inc" + fi + fi + source "${CLOUDSDK_HOME}/completion.zsh.inc" + export CLOUDSDK_HOME +fi |