From 0a79b24ecf153711dcb3bf2c7097d3d262f8dabb Mon Sep 17 00:00:00 2001 From: Heikki Ritola Date: Wed, 24 Jun 2015 16:45:35 +0300 Subject: [PATCH] Show Git root on prompt - Show Git root folder name when SCM_THEME_ROOT_SUFFIX is set - Default is off --- themes/base.theme.bash | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/themes/base.theme.bash b/themes/base.theme.bash index 989e7cbc..b2a8cd9f 100644 --- a/themes/base.theme.bash +++ b/themes/base.theme.bash @@ -12,6 +12,7 @@ SCM_THEME_BRANCH_PREFIX='' SCM_THEME_TAG_PREFIX='tag:' SCM_THEME_COMMIT_PREFIX='commit:' SCM_THEME_REMOTE_PREFIX='' +SCM_THEME_ROOT_SUFFIX='' SCM_GIT_SHOW_DETAILS=${SCM_GIT_SHOW_DETAILS:=true} @@ -84,6 +85,10 @@ function scm_prompt_info { [[ $SCM == $SCM_SVN ]] && svn_prompt_info && return } +function get_git_root { + basename $(git rev-parse --show-toplevel) +} + function git_prompt_vars { local details='' SCM_STATE=${GIT_THEME_PROMPT_CLEAN:-$SCM_THEME_PROMPT_CLEAN} @@ -122,6 +127,11 @@ function git_prompt_vars { fi fi + if [[ -n "$SCM_THEME_ROOT_SUFFIX" ]]; then + SCM_GIT_ROOT=$(get_git_root) + SCM_BRANCH=$(echo ${SCM_GIT_ROOT}${SCM_THEME_ROOT_SUFFIX}${SCM_BRANCH}) + fi + local ahead_re='.+ahead ([0-9]+).+' local behind_re='.+behind ([0-9]+).+' [[ "${status}" =~ ${ahead_re} ]] && SCM_BRANCH+=" ${SCM_GIT_AHEAD_CHAR}${BASH_REMATCH[1]}"