mirror of
https://github.com/ohmybash/oh-my-bash.git
synced 2024-05-11 05:55:37 +00:00
57 lines
1.8 KiB
Bash
57 lines
1.8 KiB
Bash
![]() |
#!/bin/bash oh-my-bash.module
|
||
|
# gcloud.plugin.sh
|
||
|
# Author: Ian Chesal (github.com/ianchesal) -- ohmyzsh/gloud.plugin.zsh
|
||
|
# Author: Antonino Cangialosi (github.com/ninoCan)
|
||
|
# Fork of oh-my-zsh gcloud plugin
|
||
|
|
||
|
function _omb_plugin_gcloud_set_home_var() {
|
||
|
if [[ ! ${OMB_PLUGIN_GCLOUD_HOME-} ]]; then
|
||
|
local -a search_locations=(
|
||
|
"$HOME/google-cloud-sdk"
|
||
|
"/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk"
|
||
|
"/opt/homebrew/Caskroom/google-cloud-sdk/latest/google-cloud-sdk"
|
||
|
"/usr/share/google-cloud-sdk"
|
||
|
"/snap/google-cloud-sdk/current"
|
||
|
"/usr/lib/google-cloud-sdk"
|
||
|
"/usr/lib64/google-cloud-sdk"
|
||
|
"/opt/google-cloud-sdk"
|
||
|
"/opt/local/libexec/google-cloud-sdk"
|
||
|
)
|
||
|
|
||
|
local gcloud_sdk_location
|
||
|
for gcloud_sdk_location in "${search_locations[@]}"; do
|
||
|
if [[ -d $gcloud_sdk_location ]]; then
|
||
|
OMB_PLUGIN_GCLOUD_HOME=$gcloud_sdk_location
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
function _omb_plugin_gcloud_set_completions() {
|
||
|
if [[ ${OMB_PLUGIN_GCLOUD_HOME-} ]]; then
|
||
|
# Only source this if gcloud isn't already on the path
|
||
|
if _omb_util_binary_exists gcloud; then
|
||
|
if [[ -f $OMB_PLUGIN_GCLOUD_HOME/path.bash.inc ]]; then
|
||
|
source "$OMB_PLUGIN_GCLOUD_HOME/path.bash.inc"
|
||
|
fi
|
||
|
|
||
|
# Look for completion file in different paths
|
||
|
local -a completion_filepath_candidates=(
|
||
|
"${OMB_PLUGIN_GCLOUD_HOME}/completion.bash.inc" # default location
|
||
|
"/usr/share/google-cloud-sdk/completion.bash.inc" # apt-based location
|
||
|
)
|
||
|
local comp_file
|
||
|
for comp_file in "${completion_filepath_candidates[@]}"; do
|
||
|
if [[ -f $comp_file ]]; then
|
||
|
source "$comp_file"
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
fi
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
_omb_plugin_gcloud_set_home_var
|
||
|
_omb_plugin_gcloud_set_completions
|