aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorromkatv <roman.perepelitsa@gmail.com>2019-08-19 17:07:59 +0300
committerromkatv <roman.perepelitsa@gmail.com>2019-08-19 17:07:59 +0300
commit4c12eb7224b053a511a06da0b3efe26f067a4942 (patch)
treea903a0e640df72bf6292cb47089c75b2a3a0db66
parent37c6ea091e0cc64f6741ca874d91db5ad579406f (diff)
add terraform prompt segment
-rw-r--r--config/p10k-classic.zsh7
-rw-r--r--config/p10k-lean.zsh7
-rwxr-xr-xinternal/icons.zsh5
-rwxr-xr-xinternal/p10k.zsh12
4 files changed, 31 insertions, 0 deletions
diff --git a/config/p10k-classic.zsh b/config/p10k-classic.zsh
index 532a1a08..5eb4f7de 100644
--- a/config/p10k-classic.zsh
+++ b/config/p10k-classic.zsh
@@ -56,6 +56,7 @@ fi
rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv)
rvm # ruby version from rvm (https://rvm.io)
kubecontext # current kubernetes context (https://kubernetes.io/)
+ terraform # terraform workspace (https://www.terraform.io)
context # user@host
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
@@ -540,6 +541,12 @@ fi
# Custom icon.
# typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
+ ################[ terraform: terraform workspace (https://www.terraform.io) ]#################
+ # Terraform color.
+ typeset -g POWERLEVEL9K_TERRAFORM_FOREGROUND=38
+ # Custom icon.
+ # typeset -g POWERLEVEL9K_TERRAFORM_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.
diff --git a/config/p10k-lean.zsh b/config/p10k-lean.zsh
index f55781a9..8704c59b 100644
--- a/config/p10k-lean.zsh
+++ b/config/p10k-lean.zsh
@@ -56,6 +56,7 @@ fi
rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv)
rvm # ruby version from rvm (https://rvm.io)
kubecontext # current kubernetes context (https://kubernetes.io/)
+ terraform # terraform workspace (https://www.terraform.io)
context # user@host
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
@@ -595,6 +596,12 @@ fi
# Custom prefix.
# typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%fat '
+ ################[ terraform: terraform workspace (https://www.terraform.io) ]#################
+ # Terraform color.
+ typeset -g POWERLEVEL9K_TERRAFORM_FOREGROUND=38
+ # Custom icon.
+ # typeset -g POWERLEVEL9K_TERRAFORM_VISUAL_IDENTIFIER_EXPANSION='⭐'
+
###############################[ public_ip: public IP address ]###############################
# Public IP color.
typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94
diff --git a/internal/icons.zsh b/internal/icons.zsh
index 3693bfb3..52155cab 100755
--- a/internal/icons.zsh
+++ b/internal/icons.zsh
@@ -109,6 +109,7 @@ function _p9k_init_icons() {
JAVA_ICON '\U2615' # ☕︎
LARAVEL_ICON ''
RANGER_ICON '\u2B50' # ⭐
+ TERRAFORM_ICON '\U1F6E0\u00A0' # 🛠️
)
;;
'awesome-fontconfig')
@@ -207,6 +208,7 @@ function _p9k_init_icons() {
JAVA_ICON '\U2615' # ☕︎
LARAVEL_ICON ''
RANGER_ICON '\u2B50' # ⭐
+ TERRAFORM_ICON '\U1F6E0\u00A0' # 🛠️
)
;;
'awesome-mapped-fontconfig')
@@ -309,6 +311,7 @@ function _p9k_init_icons() {
JAVA_ICON '\U2615' # ☕︎
LARAVEL_ICON ''
RANGER_ICON '\u2B50' # ⭐
+ TERRAFORM_ICON '\U1F6E0\u00A0' # 🛠️
)
;;
'nerdfont-complete'|'nerdfont-fontconfig')
@@ -408,6 +411,7 @@ function _p9k_init_icons() {
JAVA_ICON '\U2615' # ☕︎
LARAVEL_ICON '\ue73f ' # 
RANGER_ICON '\u2B50' # ⭐
+ TERRAFORM_ICON '\U1F6E0\u00A0' # 🛠️
)
;;
*)
@@ -506,6 +510,7 @@ function _p9k_init_icons() {
JAVA_ICON '\U2615' # ☕︎
LARAVEL_ICON ''
RANGER_ICON '\u2B50' # ⭐
+ TERRAFORM_ICON 'TF'
)
;;
esac
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index 7ba7b69d..698a45c6 100755
--- a/internal/p10k.zsh
+++ b/internal/p10k.zsh
@@ -3039,6 +3039,18 @@ function prompt_ranger() {
_p9k_prompt_segment $0 $_p9k_color1 yellow RANGER_ICON 0 '' $RANGER_LEVEL
}
+function prompt_terraform() {
+ (( $+commands[terraform] )) || return
+ local ws=default
+ if [[ -n $TF_WORKSPACE ]]; then
+ ws=$TF_WORKSPACE
+ else
+ local f=${TF_DATA_DIR:-.terraform}/environment
+ [[ -r $f ]] && _p9k_read_file $f && ws=$_p9k_ret
+ fi
+ [[ $ws == default ]] || _p9k_prompt_segment $0 $_p9k_color1 blue TERRAFORM_ICON 0 '' $ws
+}
+
_p9k_preexec() {
if (( $+_p9k_real_zle_rprompt_indent )); then
if [[ -n $_p9k_real_zle_rprompt_indent ]]; then