diff --git a/.zshrc b/.zshrc index 7a3a6cb..9afcfff 100644 --- a/.zshrc +++ b/.zshrc @@ -39,36 +39,36 @@ autoload -Uz VCS_INFO_get_data_git; VCS_INFO_get_data_git 2> /dev/null 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)" - -if [[ -e "$gitdir/rprompt-nostatus" ]]; then - echo "$name$action " - return + local name st color gitdir action + if [[ "$PWD" =~ '/\.git(/.*)?$' ]]; then + return fi - 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 + name=`git rev-parse --abbrev-ref=loose HEAD 2> /dev/null` + if [[ -z $name ]]; then + return + fi - echo "$color$name$action%f%b " + gitdir=`git rev-parse --git-dir 2> /dev/null` + action=`VCS_INFO_git_getaction "$gitdir"` && action="($action)" + + if [[ -e "$gitdir/rprompt-nostatus" ]]; then + echo "$name$action " + return + fi + + 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 " } setopt prompt_subst