Skip to content

Instantly share code, notes, and snippets.

@yuuan
Forked from uasi/gist:214109
Last active February 24, 2016 14:59
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yuuan/3136632 to your computer and use it in GitHub Desktop.
Save yuuan/3136632 to your computer and use it in GitHub Desktop.
Non zsh/pcre version.
#
# 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 "^no changes added"` ]]; then
color=%F{yellow}
elif [[ -n `echo "$st" | grep "^# Changes to be committed"` ]]; then
color=%B%F{red}
else
color=%F{red}
fi
echo "$color$name$action%f%b "
}
RPROMPT='[`rprompt-git-current-branch`%~]'
@yuuan
Copy link
Author

yuuan commented Jul 18, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment