diff --git a/themes/powerline/powerline.theme.bash b/themes/powerline/powerline.theme.bash index bf7e33b3..0edd4f66 100644 --- a/themes/powerline/powerline.theme.bash +++ b/themes/powerline/powerline.theme.bash @@ -11,17 +11,15 @@ VIRTUALENV_THEME_PROMPT_COLOR=35 SCM_NONE_CHAR="" SCM_GIT_CHAR=" " -SCM_GIT_BEHIND_CHAR="↓" SCM_GIT_AHEAD_CHAR="↑" +SCM_GIT_BEHIND_CHAR="↓" SCM_GIT_UNTRACKED_CHAR="?:" SCM_GIT_UNSTAGED_CHAR="U:" SCM_GIT_STAGED_CHAR="S:" -if [[ -z "$THEME_SCM_TAG_PREFIX" ]]; then - SCM_TAG_PREFIX="tag > " -else - SCM_TAG_PREFIX="$THEME_SCM_TAG_PREFIX" -fi +SCM_THEME_BRANCH_PREFIX=${SCM_THEME_BRANCH_PREFIX:=} +SCM_THEME_TAG_PREFIX=${SCM_THEME_TAG_PREFIX:=tag:} +SCM_THEME_COMMIT_PREFIX=${SCM_THEME_COMMIT_PREFIX:=commit:} SCM_THEME_PROMPT_CLEAN="" SCM_THEME_PROMPT_DIRTY="" @@ -90,11 +88,19 @@ function powerline_scm_prompt { SCM_PROMPT="$(set_rgb_color ${SCM_THEME_PROMPT_CLEAN_COLOR} ${SCM_THEME_PROMPT_COLOR})" fi if [[ "${SCM_GIT_CHAR}" == "${SCM_CHAR}" ]]; then - local tag="" - if [[ $SCM_IS_TAG -eq "1" ]]; then - tag=$SCM_TAG_PREFIX - fi - SCM_PROMPT+=" ${SCM_CHAR}${tag}${SCM_BRANCH}${SCM_STATE} " + local ref_prefix="" + case ${SCM_REF_TYPE} in + branch) + ref_prefix=${SCM_THEME_BRANCH_PREFIX} + ;; + tag) + ref_prefix=${SCM_THEME_TAG_PREFIX} + ;; + commit) + ref_prefix=${SCM_THEME_COMMIT_PREFIX} + ;; + esac + SCM_PROMPT+=" ${SCM_CHAR}${ref_prefix}${SCM_BRANCH}${SCM_STATE} " [[ -n "${SCM_GIT_AHEAD}" ]] && SCM_PROMPT+="${SCM_GIT_AHEAD} " [[ -n "${SCM_GIT_BEHIND}" ]] && SCM_PROMPT+="${SCM_GIT_BEHIND} " [[ -n "${SCM_GIT_STAGED}" ]] && SCM_PROMPT+="${SCM_GIT_STAGED} "