diff --git a/themes/base.theme.bash b/themes/base.theme.bash index d193191e..d5858018 100644 --- a/themes/base.theme.bash +++ b/themes/base.theme.bash @@ -155,6 +155,14 @@ function scm_prompt_info_common { { [[ ${SCM} == ${SCM_SVN} ]] && svn_prompt_info && return; } || true } +function terraform_workspace_prompt { + if _command_exists terraform ; then + if [ -d .terraform ]; then + echo -e "$(terraform workspace show 2>/dev/null)" + fi + fi +} + function git_prompt_minimal_info { SCM_STATE=${SCM_THEME_PROMPT_CLEAN} diff --git a/themes/powerline-multiline/README.md b/themes/powerline-multiline/README.md index cbc585e2..f4a1fab8 100644 --- a/themes/powerline-multiline/README.md +++ b/themes/powerline-multiline/README.md @@ -60,12 +60,14 @@ The contents of both prompt sides can be "reordered", all the "segments" (every * `cwd` - Current working directory including full folder hierarchy (c.f. `wd`) * `hostname` - Host name of machine * `in_vim` - Show identifier if running in `:terminal` from vim +* `k8s_context` - Show current kubernetes context * `last_status` - Exit status of last run command * `python_venv` - Python virtual environment information (`virtualenv`, `venv` and `conda` supported) * `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-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..5c5fed26 100644 --- a/themes/powerline-naked/powerline-naked.theme.bash +++ b/themes/powerline-naked/powerline-naked.theme.bash @@ -44,6 +44,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-plain/README.md b/themes/powerline-plain/README.md index 2470a718..049c12f1 100644 --- a/themes/powerline-plain/README.md +++ b/themes/powerline-plain/README.md @@ -58,6 +58,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-plain/powerline-plain.theme.bash b/themes/powerline-plain/powerline-plain.theme.bash index 3ead67fe..942c411c 100644 --- a/themes/powerline-plain/powerline-plain.theme.bash +++ b/themes/powerline-plain/powerline-plain.theme.bash @@ -40,6 +40,9 @@ RBENV_THEME_PROMPT_SUFFIX="" RUBY_THEME_PROMPT_COLOR=${POWERLINE_RUBY_COLOR:=161} RUBY_CHAR=${POWERLINE_RUBY_CHAR:="💎 "} +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/README.md b/themes/powerline/README.md index 2076336f..587e0788 100644 --- a/themes/powerline/README.md +++ b/themes/powerline/README.md @@ -66,6 +66,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/powerline.base.bash b/themes/powerline/powerline.base.bash index c3fac913..969b210d 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="$(terraform_workspace_prompt)" + [[ -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}