Show ref type in git prompt in Powerline-plain theme

pull/389/head
Eduardo Bellido Bellido 2014-12-29 02:38:09 +01:00
parent b0ce36b8ed
commit 41b0677726
1 changed files with 17 additions and 11 deletions

View File

@ -9,17 +9,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=""
@ -86,11 +84,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} "