summaryrefslogtreecommitdiff
path: root/home/.oh-my-zsh/plugins/gcloud/gcloud.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'home/.oh-my-zsh/plugins/gcloud/gcloud.plugin.zsh')
-rw-r--r--home/.oh-my-zsh/plugins/gcloud/gcloud.plugin.zsh52
1 files changed, 52 insertions, 0 deletions
diff --git a/home/.oh-my-zsh/plugins/gcloud/gcloud.plugin.zsh b/home/.oh-my-zsh/plugins/gcloud/gcloud.plugin.zsh
new file mode 100644
index 0000000..fa8f884
--- /dev/null
+++ b/home/.oh-my-zsh/plugins/gcloud/gcloud.plugin.zsh
@@ -0,0 +1,52 @@
+#####################################################
+# 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/share/google-cloud-sdk"
+ "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk"
+ "/opt/homebrew/Caskroom/google-cloud-sdk/latest/google-cloud-sdk"
+ "/opt/homebrew/share/google-cloud-sdk"
+ "/usr/share/google-cloud-sdk"
+ "/snap/google-cloud-sdk/current"
+ "/snap/google-cloud-cli/current"
+ "/usr/lib/google-cloud-sdk"
+ "/usr/lib64/google-cloud-sdk"
+ "/opt/google-cloud-sdk"
+ "/opt/google-cloud-cli"
+ "/opt/local/libexec/google-cloud-sdk"
+ "$HOME/.asdf/installs/gcloud/*/"
+ )
+
+ for gcloud_sdk_location in $search_locations; do
+ if [[ -d "${gcloud_sdk_location}" ]]; then
+ CLOUDSDK_HOME="${gcloud_sdk_location}"
+ break
+ fi
+ done
+ unset search_locations gcloud_sdk_location
+fi
+
+if (( ${+CLOUDSDK_HOME} )); then
+ # Source path file
+ if [[ -f "${CLOUDSDK_HOME}/path.zsh.inc" ]]; then
+ source "${CLOUDSDK_HOME}/path.zsh.inc"
+ fi
+
+ # Look for completion file in different paths
+ for comp_file (
+ "${CLOUDSDK_HOME}/completion.zsh.inc" # default location
+ "/usr/share/google-cloud-sdk/completion.zsh.inc" # apt-based location
+ ); do
+ if [[ -f "${comp_file}" ]]; then
+ source "${comp_file}"
+ break
+ fi
+ done
+ unset comp_file
+
+ export CLOUDSDK_HOME
+fi