summaryrefslogtreecommitdiff
path: root/plugins/gcloud
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2020-02-27 22:55:30 +0100
committerGitHub <noreply@github.com>2020-02-27 22:55:30 +0100
commit18ee5dffdc57bb9219ee96b40da006704ac37df1 (patch)
treee1fe420cf18fa7a916d5d43c408c6f92ed33b62d /plugins/gcloud
parentd81cd753e0b3a845e8f3549da245dbad102a6e4c (diff)
parent368198b7616eb69b396de86d9ec4ff0f35bd72f0 (diff)
downloadzsh-18ee5dffdc57bb9219ee96b40da006704ac37df1.tar.gz
zsh-18ee5dffdc57bb9219ee96b40da006704ac37df1.tar.bz2
zsh-18ee5dffdc57bb9219ee96b40da006704ac37df1.zip
Merge branch 'master' into clipboard
Diffstat (limited to 'plugins/gcloud')
-rw-r--r--plugins/gcloud/README.md24
-rw-r--r--plugins/gcloud/gcloud.plugin.zsh33
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