Improved git prompt handling

* Improved speed, the first time cd'ing into a git repo the prompt
   returns much faster (for me at least).
 * Prompt is now decorated in nested folders within a git repo. No
   longer check for the '.git' folder.
This commit is contained in:
Christopher Sexton 2009-09-22 14:38:24 -04:00
parent dfe962246e
commit dd18924536

12
git.zsh
View File

@ -11,16 +11,10 @@ ZSH_THEME_GIT_PROMPT_CLEAN=""
# get the name of the branch we are on # get the name of the branch we are on
function git_prompt_info() { function git_prompt_info() {
if [[ -d .git ]]; then ref=$(git-symbolic-ref HEAD 2> /dev/null) || return
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=${ref#refs/heads/}
CURRENT_BRANCH="$ZSH_THEME_GIT_PROMPT_PREFIX${branch}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
else
CURRENT_BRANCH=''
fi
echo $CURRENT_BRANCH
} }
parse_git_dirty () { parse_git_dirty () {
if [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]]; then if [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]]; then
echo "$ZSH_THEME_GIT_PROMPT_DIRTY" echo "$ZSH_THEME_GIT_PROMPT_DIRTY"