From 8123b1c88798e78c12e795b3e736c9429ac62b73 Mon Sep 17 00:00:00 2001 From: David Farrell Date: Fri, 1 Nov 2019 08:41:37 -0700 Subject: [PATCH] Adds shlvl segment to powerline themes --- themes/powerline-multiline/powerline-multiline.theme.bash | 3 +++ themes/powerline-naked/powerline-naked.theme.bash | 3 +++ themes/powerline-plain/powerline-plain.theme.bash | 3 +++ themes/powerline/powerline.base.bash | 8 ++++++++ themes/powerline/powerline.theme.bash | 3 +++ 5 files changed, 20 insertions(+) diff --git a/themes/powerline-multiline/powerline-multiline.theme.bash b/themes/powerline-multiline/powerline-multiline.theme.bash index e90b494e..a70a2025 100644 --- a/themes/powerline-multiline/powerline-multiline.theme.bash +++ b/themes/powerline-multiline/powerline-multiline.theme.bash @@ -64,6 +64,9 @@ IN_VIM_THEME_PROMPT_TEXT=${POWERLINE_IN_VIM_TEXT:="vim"} HOST_THEME_PROMPT_COLOR=${POWERLINE_HOST_COLOR:=0} +SHLVL_THEME_PROMPT_COLOR=${POWERLINE_SHLVL_COLOR:=${HOST_THEME_PROMPT_COLOR}} +SHLVL_THEME_PROMPT_CHAR=${POWERLINE_SHLVL_CHAR:="§"} + POWERLINE_LEFT_PROMPT=${POWERLINE_LEFT_PROMPT:="scm python_venv ruby node cwd"} POWERLINE_RIGHT_PROMPT=${POWERLINE_RIGHT_PROMPT:="in_vim clock battery user_info"} diff --git a/themes/powerline-naked/powerline-naked.theme.bash b/themes/powerline-naked/powerline-naked.theme.bash index 2a5b7b26..bff10f57 100644 --- a/themes/powerline-naked/powerline-naked.theme.bash +++ b/themes/powerline-naked/powerline-naked.theme.bash @@ -60,6 +60,9 @@ IN_VIM_THEME_PROMPT_TEXT=${POWERLINE_IN_VIM_TEXT:="vim"} HOST_THEME_PROMPT_COLOR=${POWERLINE_HOST_COLOR:=254} +SHLVL_THEME_PROMPT_COLOR=${POWERLINE_SHLVL_COLOR:=${HOST_THEME_PROMPT_COLOR}} +SHLVL_THEME_PROMPT_CHAR=${POWERLINE_SHLVL_CHAR:="§"} + POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"} safe_append_prompt_command __powerline_prompt_command diff --git a/themes/powerline-plain/powerline-plain.theme.bash b/themes/powerline-plain/powerline-plain.theme.bash index 4d539470..a300cab9 100644 --- a/themes/powerline-plain/powerline-plain.theme.bash +++ b/themes/powerline-plain/powerline-plain.theme.bash @@ -57,6 +57,9 @@ IN_VIM_THEME_PROMPT_TEXT=${POWERLINE_IN_VIM_TEXT:="vim"} HOST_THEME_PROMPT_COLOR=${POWERLINE_HOST_COLOR:=0} +SHLVL_THEME_PROMPT_COLOR=${POWERLINE_SHLVL_COLOR:=${HOST_THEME_PROMPT_COLOR}} +SHLVL_THEME_PROMPT_CHAR=${POWERLINE_SHLVL_CHAR:="§"} + POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"} safe_append_prompt_command __powerline_prompt_command diff --git a/themes/powerline/powerline.base.bash b/themes/powerline/powerline.base.bash index a0f80552..f5cf4f3e 100644 --- a/themes/powerline/powerline.base.bash +++ b/themes/powerline/powerline.base.bash @@ -162,6 +162,14 @@ function __powerline_aws_profile_prompt { fi } +function __powerline_shlvl_prompt { + if [[ "${SHLVL}" -gt 1 ]]; then + local prompt="${SHLVL_THEME_PROMPT_CHAR}" + local level=$(( ${SHLVL} - 1)) + echo "${prompt}${level}|${SHLVL_THEME_PROMPT_COLOR}" + fi +} + function __powerline_left_segment { local OLD_IFS="${IFS}"; IFS="|" local params=( $1 ) diff --git a/themes/powerline/powerline.theme.bash b/themes/powerline/powerline.theme.bash index 26182a82..d4bb387d 100644 --- a/themes/powerline/powerline.theme.bash +++ b/themes/powerline/powerline.theme.bash @@ -60,6 +60,9 @@ IN_VIM_THEME_PROMPT_TEXT=${POWERLINE_IN_VIM_TEXT:="vim"} HOST_THEME_PROMPT_COLOR=${POWERLINE_HOST_COLOR:=0} +SHLVL_THEME_PROMPT_COLOR=${POWERLINE_SHLVL_COLOR:=${HOST_THEME_PROMPT_COLOR}} +SHLVL_THEME_PROMPT_CHAR=${POWERLINE_SHLVL_CHAR:="§"} + POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"} safe_append_prompt_command __powerline_prompt_command