Skip to content

Instantly share code, notes, and snippets.

@uasi uasi/gist:214109
Last active Sep 11, 2015

Embed
What would you like to do?
Show branch name in Zsh's right prompt
#
# Show branch name in Zsh's right prompt
#
autoload -Uz VCS_INFO_get_data_git; VCS_INFO_get_data_git 2> /dev/null
setopt prompt_subst
function rprompt-git-current-branch {
local name st color gitdir action
if [[ "$PWD" =~ '/\.git(/.*)?$' ]]; then
return
fi
name=`git rev-parse --abbrev-ref=loose HEAD 2> /dev/null`
if [[ -z $name ]]; then
return
fi
gitdir=`git rev-parse --git-dir 2> /dev/null`
action=`VCS_INFO_git_getaction "$gitdir"` && action="($action)"
st=`git status 2> /dev/null`
if [[ -n `echo "$st" | grep "^nothing to"` ]]; then
color=%F{green}
elif [[ -n `echo "$st" | grep "^nothing added"` ]]; then
color=%F{yellow}
elif [[ -n `echo "$st" | grep "^# Untracked"` ]]; then
color=%B%F{red}
else
color=%F{red}
fi
echo "$color$name$action%f%b "
}
RPROMPT='[`rprompt-git-current-branch`%~]'
@hiroshi

This comment has been minimized.

Copy link

commented Mar 1, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.