From 6cfaa076272e08b6a81b6358b78d020e48f8a4a6 Mon Sep 17 00:00:00 2001 From: Ian Chesal Date: Fri, 20 Sep 2019 04:58:35 -0700 Subject: Add gcloud plugin (#8144) * A gcloud plugin This PR addresses issue #6205 This adds support for loading completion for the Google Cloud SDK command line tools. It searches the known paths for an SDK and loads the provided completion if it is found. Users can supply a custom location for the SDK by setting `CLOUDSDK_HOME` in their `zshrc` before loading oh-my-zsh plugins. * Canoncial zsh and some safe guards Based on a PR review from mcornella. All off this has now been tested on the following variants: - macOS 10.14.6 - Homebrew - macOS 10.14.6 - Custom install - Ubuntu 16.04.6 LTS - apt install - Ubuntu 18.04.3 LTS - apt install - Ubuntu 18.04.3 LTS - snap classic install - CentOS 7 - yum install --- plugins/gcloud/gcloud.plugin.zsh | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 plugins/gcloud/gcloud.plugin.zsh (limited to 'plugins/gcloud/gcloud.plugin.zsh') diff --git a/plugins/gcloud/gcloud.plugin.zsh b/plugins/gcloud/gcloud.plugin.zsh new file mode 100644 index 000000000..6433a7252 --- /dev/null +++ b/plugins/gcloud/gcloud.plugin.zsh @@ -0,0 +1,32 @@ +##################################################### +# 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/" + ) + + 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 -- cgit v1.2.3-70-g09d2 From be9160ef90bd55bc4f19f94df548b728c64d87bf Mon Sep 17 00:00:00 2001 From: Franco Catena Date: Sat, 21 Sep 2019 18:11:25 -0300 Subject: gcloud: add search path for Arch Linux (#8164) --- plugins/gcloud/gcloud.plugin.zsh | 1 + 1 file changed, 1 insertion(+) (limited to 'plugins/gcloud/gcloud.plugin.zsh') diff --git a/plugins/gcloud/gcloud.plugin.zsh b/plugins/gcloud/gcloud.plugin.zsh index 6433a7252..c7aebe697 100644 --- a/plugins/gcloud/gcloud.plugin.zsh +++ b/plugins/gcloud/gcloud.plugin.zsh @@ -10,6 +10,7 @@ if [[ -z "${CLOUDSDK_HOME}" ]]; then "/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 -- cgit v1.2.3-70-g09d2