fi
SCM_PREFIX=${GIT_THEME_PROMPT_PREFIX:-$SCM_THEME_PROMPT_PREFIX}
SCM_SUFFIX=${GIT_THEME_PROMPT_SUFFIX:-$SCM_THEME_PROMPT_SUFFIX}
- SCM_BRANCH=$(git symbolic-ref -q --short HEAD || git describe --tags --exact-match 2> /dev/null)
+
+ local ref=$(git symbolic-ref -q --short HEAD 2> /dev/null)
+ if [[ -n "$ref" ]]; then
+ SCM_BRANCH=$ref
+ SCM_IS_BRANCH=1
+ SCM_IS_TAG=0
+ else
+ SCM_BRANCH=$(git describe --tags --exact-match 2> /dev/null)
+ SCM_IS_TAG=1
+ SCM_IS_BRANCH=0
+ fi
+ # SCM_BRANCH=$(git symbolic-ref -q --short HEAD || git describe --tags --exact-match 2> /dev/null)
SCM_CHANGE=$(git rev-parse HEAD 2>/dev/null)
local ahead_re='.+ahead ([0-9]+).+'
local behind_re='.+behind ([0-9]+).+'
SCM_GIT_CHAR="\e0a0 "
SCM_GIT_BEHIND_CHAR="↓"
SCM_GIT_AHEAD_CHAR="↑"
+if [[ -z "$THEME_SCM_TAG_PREFIX" ]]; then
+ SCM_TAG_PREFIX="tag > "
+else
+ SCM_TAG_PREFIX="$THEME_SCM_TAG_PREFIX"
+fi
+
SCM_THEME_PROMPT_CLEAN=""
SCM_THEME_PROMPT_DIRTY=""
SCM_THEME_PROMPT_COLOR=238
else
SCM_PROMPT="$(set_rgb_color ${SCM_THEME_PROMPT_CLEAN_COLOR} ${SCM_THEME_PROMPT_COLOR})"
fi
- [[ "${SCM_GIT_CHAR}" == "${SCM_CHAR}" ]] && SCM_PROMPT+=" ${SCM_CHAR}${SCM_BRANCH}${SCM_STATE}${SCM_GIT_BEHIND}${SCM_GIT_AHEAD}${SCM_GIT_STASH}"
+ 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}${SCM_GIT_BEHIND}${SCM_GIT_AHEAD}${SCM_GIT_STASH}"
+ fi
SCM_PROMPT="$(set_rgb_color ${LAST_THEME_COLOR} ${SCM_THEME_PROMPT_COLOR})${THEME_PROMPT_SEPARATOR}${normal}${SCM_PROMPT} ${normal}"
LAST_THEME_COLOR=${SCM_THEME_PROMPT_COLOR}
else