Browse Source

feat(gcloud): support for official apt repo (#10889)

Fixes #10888
Closes #10889
James Yeoman 2 years ago
parent
commit
18d2152798
1 changed files with 17 additions and 3 deletions
  1. 17 3
      plugins/gcloud/gcloud.plugin.zsh

+ 17 - 3
plugins/gcloud/gcloud.plugin.zsh

@@ -10,7 +10,8 @@ if [[ -z "${CLOUDSDK_HOME}" ]]; then
     "/opt/homebrew/Caskroom/google-cloud-sdk/latest/google-cloud-sdk"
     "/usr/share/google-cloud-sdk"
     "/snap/google-cloud-sdk/current"
-    "/usr/lib64/google-cloud-sdk/"
+    "/usr/lib/google-cloud-sdk"
+    "/usr/lib64/google-cloud-sdk"
     "/opt/google-cloud-sdk"
   )
 
@@ -20,15 +21,28 @@ if [[ -z "${CLOUDSDK_HOME}" ]]; then
       break
     fi
   done
+  unset search_locations gcloud_sdk_location
 fi
 
 if (( ${+CLOUDSDK_HOME} )); then
+  # Only source this if gcloud isn't already on the path
   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"
+
+  # 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