add gcloud prompt segment; fixes #366

This commit is contained in:
romkatv 2019-12-05 23:53:30 +01:00
parent 5fc38b0586
commit a8f9527079
5 changed files with 55 additions and 0 deletions

View file

@ -67,6 +67,7 @@
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
# aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
# azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
# gcloud # google cloud acccount and project (https://cloud.google.com/)
context # user@hostname
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
@ -761,6 +762,17 @@
# Custom icon.
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ gcloud: google cloud acccount and project (https://cloud.google.com/) ]###########
# Google cloud color.
typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32
# Google cloud format. Uncomment and edit the next line if the default is too verbose.
# Note: ${X//\%/%%} is the same as $X but with all occurences of % replaced with %%.
# typeset -g POWERLEVEL9K_GCLOUD_CONTENT_EXPANSION='${P9K_GCLOUD_ACCOUNT//\%/%%}:${P9K_GCLOUD_PROJECT//\%/%%}'
# Custom icon.
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
# Kubernetes context classes for the purpose of using different colors, icons and expansions with
# different contexts.

View file

@ -67,6 +67,7 @@
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
# aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
# azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
# gcloud # google cloud acccount and project (https://cloud.google.com/)
context # user@hostname
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
@ -818,6 +819,17 @@
# Custom icon.
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ gcloud: google cloud acccount and project (https://cloud.google.com/) ]###########
# Google cloud color.
typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32
# Google cloud format. Uncomment and edit the next line if the default is too verbose.
# Note: ${X//\%/%%} is the same as $X but with all occurences of % replaced with %%.
# typeset -g POWERLEVEL9K_GCLOUD_CONTENT_EXPANSION='${P9K_GCLOUD_ACCOUNT//\%/%%}:${P9K_GCLOUD_PROJECT//\%/%%}'
# Custom icon.
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
###############################[ public_ip: public IP address ]###############################
# Public IP color.
typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94

View file

@ -67,6 +67,7 @@
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
# aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
# azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
# gcloud # google cloud acccount and project (https://cloud.google.com/)
context # user@hostname
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
@ -785,6 +786,18 @@
# Custom icon.
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ gcloud: google cloud acccount and project (https://cloud.google.com/) ]###########
# Google cloud color.
# typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=7
# typeset -g POWERLEVEL9K_GCLOUD_BACKGROUND=4
# Google cloud format. Uncomment and edit the next line if the default is too verbose.
# Note: ${X//\%/%%} is the same as $X but with all occurences of % replaced with %%.
# typeset -g POWERLEVEL9K_GCLOUD_CONTENT_EXPANSION='${P9K_GCLOUD_ACCOUNT//\%/%%}:${P9K_GCLOUD_PROJECT//\%/%%}'
# Custom icon.
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
# Kubernetes context classes for the purpose of using different colors, icons and expansions with
# different contexts.

View file

@ -119,6 +119,7 @@ function _p9k_init_icons() {
AZURE_ICON '\u2601' # ☁
DIRENV_ICON '\u25BC' # ▼
FLUTTER_ICON 'F'
GCLOUD_ICON 'G'
)
;;
'awesome-fontconfig')
@ -225,6 +226,7 @@ function _p9k_init_icons() {
AZURE_ICON '\u2601' # ☁
DIRENV_ICON '\u25BC' # ▼
FLUTTER_ICON 'F'
GCLOUD_ICON 'G'
)
;;
'awesome-mapped-fontconfig')
@ -335,6 +337,7 @@ function _p9k_init_icons() {
AZURE_ICON '\u2601' # ☁
DIRENV_ICON '\u25BC' # ▼
FLUTTER_ICON 'F'
GCLOUD_ICON 'G'
)
;;
'nerdfont-complete'|'nerdfont-fontconfig')
@ -442,6 +445,7 @@ function _p9k_init_icons() {
AZURE_ICON '\uFD03' # ﴃ
DIRENV_ICON '\u25BC' # ▼
FLUTTER_ICON 'F'
GCLOUD_ICON '\uF7B7' # 
)
;;
*)
@ -548,6 +552,7 @@ function _p9k_init_icons() {
AZURE_ICON '\u2601' # ☁
DIRENV_ICON '\u25BC' # ▼
FLUTTER_ICON 'F'
GCLOUD_ICON 'G'
)
;;
esac

View file

@ -3351,6 +3351,19 @@ prompt_azure() {
_p9k_prompt_segment "$0" "blue" "white" "AZURE_ICON" 0 '' "${_p9k_cache_val[1]//\%/%%}"
}
prompt_gcloud() {
unset P9K_GCLOUD_PROJECT P9K_GCLOUD_ACCOUNT
(( $+commands[gcloud] )) || return
local cfg=${AZURE_CONFIG_DIR:-$HOME/.azure}/azureProfile.json
if ! _p9k_cache_stat_get $0 ~/.config/gcloud/active_config ~/.config/gcloud/configurations/config_default; then
_p9k_cache_stat_set "$(gcloud config get-value account 2>/dev/null)" "$(gcloud config get-value project 2>/dev/null)"
fi
[[ -n $_p9k_cache_val[1] || -n $_p9k_cache_val[2] ]] || return
P9K_GCLOUD_ACCOUNT=$_p9k_cache_val[1]
P9K_GCLOUD_PROJECT=$_p9k_cache_val[2]
_p9k_prompt_segment "$0" "blue" "white" "GCLOUD_ICON" 0 '' "${P9K_GCLOUD_ACCOUNT//\%/%%}:${P9K_GCLOUD_PROJECT//\%/%%}"
}
typeset -gra __p9k_nordvpn_tag=(
P9K_NORDVPN_STATUS
P9K_NORDVPN_TECHNOLOGY