Improve behavior inside Emacs, abbreviate master branch to M

* when branch is master, replace displayed branch name with M
 * enable colors only when on color capable terminal.
This commit is contained in:
alexg0 2009-12-12 00:51:31 -06:00
commit 812d81a807
2 changed files with 31 additions and 11 deletions

View file

@ -1,7 +1,7 @@
# get the name of the branch we are on
function git_prompt_info() {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
branch=$(current_branch_for_display) || return
echo "$ZSH_THEME_GIT_PROMPT_PREFIX${branch}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
}
parse_git_dirty () {
@ -20,3 +20,15 @@ function current_branch() {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo ${ref#refs/heads/}
}
#
# current branch for display. Abbreviate master to M.
# Other substitutions are possible.
# TODO:
# * allow to enable/disable translation of master to M.
# * enable argument to git_prompt_info control what is displayed
# (eg: M=535516, ala git-prompt project for bash)
function current_branch_for_display() {
branch=$(current_branch) || return
echo ${branch/master/M} # master abbreviated to M.
}