From 78397ad598673fe09036c3002d55c0b45dfa90e7 Mon Sep 17 00:00:00 2001 From: Ofir Shtrull Date: Thu, 27 Feb 2020 14:40:57 +0200 Subject: [PATCH] Add terraform workspace to prompt --- themes/powerline-multiline/README.md | 2 ++ .../powerline-multiline/powerline-multiline.theme.bash | 3 +++ themes/powerline-naked/README.md | 1 + themes/powerline-naked/powerline-naked.theme.bash | 3 +++ themes/powerline-plain/README.md | 1 + themes/powerline-plain/powerline-plain.theme.bash | 3 +++ themes/powerline/README.md | 1 + themes/powerline/powerline.base.bash | 9 +++++++++ themes/powerline/powerline.theme.bash | 3 +++ 9 files changed, 26 insertions(+) diff --git a/themes/powerline-multiline/README.md b/themes/powerline-multiline/README.md index cbc585e2..3debf1d3 100644 --- a/themes/powerline-multiline/README.md +++ b/themes/powerline-multiline/README.md @@ -66,6 +66,8 @@ The contents of both prompt sides can be "reordered", all the "segments" (every * `ruby` - Current ruby version if using `rvm` * `node` - Current node version (only `nvm` is supported) * `scm` - Version control information, `git` +* `terraform` - Current terraform workspace +* `k8s_context` - Show current kubernetes context * `user_info` - Current user * `wd` - Working directory, like `cwd` but doesn't show the full folder hierarchy, only the directory you're currently in. diff --git a/themes/powerline-multiline/powerline-multiline.theme.bash b/themes/powerline-multiline/powerline-multiline.theme.bash index f76c5969..54651cb6 100644 --- a/themes/powerline-multiline/powerline-multiline.theme.bash +++ b/themes/powerline-multiline/powerline-multiline.theme.bash @@ -49,6 +49,9 @@ RBENV_THEME_PROMPT_SUFFIX="" RUBY_THEME_PROMPT_COLOR=${POWERLINE_RUBY_COLOR:=161} RUBY_CHAR=${POWERLINE_RUBY_CHAR:="❲r❳ "} +TERRAFORM_THEME_PROMPT_COLOR=${POWERLINE_TERRAFORM_COLOR:=161} +TERRAFORM_CHAR=${POWERLINE_TERRAFORM_CHAR:="❲t❳ "} + KUBERNETES_CONTEXT_THEME_CHAR=${POWERLINE_KUBERNETES_CONTEXT_CHAR:="⎈ "} KUBERNETES_CONTEXT_THEME_PROMPT_COLOR=${POWERLINE_KUBERNETES_CONTEXT_COLOR:=26} diff --git a/themes/powerline-naked/README.md b/themes/powerline-naked/README.md index 296c30ab..ec3b8fac 100644 --- a/themes/powerline-naked/README.md +++ b/themes/powerline-naked/README.md @@ -60,6 +60,7 @@ The contents of the prompt can be "reordered", all the "segments" (every piece o * `ruby` - Current ruby version if using `rvm` * `node` - Current node version (only `nvm` is supported) * `scm` - Version control information, `git` +* `terraform` - Current terraform workspace * `user_info` - Current user * `wd` - Working directory, like `cwd` but doesn't show the full folder hierarchy, only the directory you're currently in. diff --git a/themes/powerline-naked/powerline-naked.theme.bash b/themes/powerline-naked/powerline-naked.theme.bash index dfa3eb1d..bf314aca 100644 --- a/themes/powerline-naked/powerline-naked.theme.bash +++ b/themes/powerline-naked/powerline-naked.theme.bash @@ -47,6 +47,9 @@ RUBY_CHAR=${POWERLINE_RUBY_CHAR:="❲r❳ "} KUBERNETES_CONTEXT_THEME_CHAR=${POWERLINE_KUBERNETES_CONTEXT_CHAR:="⎈ "} KUBERNETES_CONTEXT_THEME_PROMPT_COLOR=${POWERLINE_KUBERNETES_CONTEXT_COLOR:=26} +TERRAFORM_THEME_PROMPT_COLOR=${POWERLINE_TERRAFORM_COLOR:=161} +TERRAFORM_CHAR=${POWERLINE_TERRAFORM_CHAR:="❲t❳ "} + AWS_PROFILE_CHAR=${POWERLINE_AWS_PROFILE_CHAR:="❲aws❳ "} AWS_PROFILE_PROMPT_COLOR=${POWERLINE_AWS_PROFILE_COLOR:=208} diff --git a/themes/powerline-plain/README.md b/themes/powerline-plain/README.md index 2470a718..7ccb1eeb 100644 --- a/themes/powerline-plain/README.md +++ b/themes/powerline-plain/README.md @@ -52,6 +52,7 @@ The contents of the prompt can be "reordered", all the "segments" (every piece o * `hostname` - Host name of machine * `in_vim` - Show identifier if running in `:terminal` from vim * `k8s_context` - Show current kubernetes context +* `terraform` - Current terraform workspace * `last_status` - Exit status of last run command * `python_venv` - Python virtual environment information (`virtualenv`, `venv` and `conda` supported) diff --git a/themes/powerline-plain/powerline-plain.theme.bash b/themes/powerline-plain/powerline-plain.theme.bash index 3ead67fe..0a353ca5 100644 --- a/themes/powerline-plain/powerline-plain.theme.bash +++ b/themes/powerline-plain/powerline-plain.theme.bash @@ -43,6 +43,9 @@ RUBY_CHAR=${POWERLINE_RUBY_CHAR:="💎 "} KUBERNETES_CONTEXT_THEME_CHAR=${POWERLINE_KUBERNETES_CONTEXT_CHAR:="⎈ "} KUBERNETES_CONTEXT_THEME_PROMPT_COLOR=${POWERLINE_KUBERNETES_CONTEXT_COLOR:=26} +TERRAFORM_THEME_PROMPT_COLOR=${POWERLINE_TERRAFORM_COLOR:=161} +TERRAFORM_CHAR=${POWERLINE_TERRAFORM_CHAR:="❲t❳ "} + AWS_PROFILE_CHAR=${POWERLINE_AWS_PROFILE_CHAR:="❲aws❳ "} AWS_PROFILE_PROMPT_COLOR=${POWERLINE_AWS_PROFILE_COLOR:=208} diff --git a/themes/powerline/README.md b/themes/powerline/README.md index 2076336f..5f0d69dd 100644 --- a/themes/powerline/README.md +++ b/themes/powerline/README.md @@ -67,6 +67,7 @@ The contents of the prompt can be "reordered", all the "segments" (every piece o * `node` - Current node version (only `nvm` is supported) * `scm` - Version control information, `git` * `user_info` - Current user +* `terraform` - Current terraform workspace * `wd` - Working directory, like `cwd` but doesn't show the full folder hierarchy, only the directory you're currently in. * `shlvl` - Show the current shell level (based on `SHLVL` environment variable), but only if you are not in root shell diff --git a/themes/powerline/powerline.base.bash b/themes/powerline/powerline.base.bash index c3fac913..26fb0d3f 100644 --- a/themes/powerline/powerline.base.bash +++ b/themes/powerline/powerline.base.bash @@ -41,6 +41,15 @@ function __powerline_user_info_prompt { [[ -n "${user_info}" ]] && echo "${user_info}|${color}" } +function __powerline_terraform_prompt() { + local terraform_workspace="" + + if [ -d .terraform ]; then + terraform_workspace="$(command terraform workspace show 2>/dev/null)" + [[ -n "${terraform_workspace}" ]] && echo "${TERRAFORM_CHAR}${terraform_workspace}|${TERRAFORM_THEME_PROMPT_COLOR}" + fi +} + function __powerline_node_prompt { local node_version="" diff --git a/themes/powerline/powerline.theme.bash b/themes/powerline/powerline.theme.bash index f3ef9a32..d897c7c8 100644 --- a/themes/powerline/powerline.theme.bash +++ b/themes/powerline/powerline.theme.bash @@ -45,6 +45,9 @@ RBENV_THEME_PROMPT_SUFFIX="" RUBY_THEME_PROMPT_COLOR=${POWERLINE_RUBY_COLOR:=161} RUBY_CHAR=${POWERLINE_RUBY_CHAR:="❲r❳ "} +TERRAFORM_THEME_PROMPT_COLOR=${POWERLINE_TERRAFORM_COLOR:=161} +TERRAFORM_CHAR=${POWERLINE_TERRAFORM_CHAR:="❲t❳ "} + KUBERNETES_CONTEXT_THEME_CHAR=${POWERLINE_KUBERNETES_CONTEXT_CHAR:="⎈ "} KUBERNETES_CONTEXT_THEME_PROMPT_COLOR=${POWERLINE_KUBERNETES_CONTEXT_COLOR:=26}