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.
Diff
1diff --git a/git.zsh b/git.zsh
2index faf543fd08a50a0c6041f05b8d02c9d77ce84c77..bcf3ed77b1b4f57444ac80de5aa2c34b65a723f4 100644
3--- a/git.zsh
4+++ b/git.zsh
5@@ -11,16 +11,10 @@ ZSH_THEME_GIT_PROMPT_CLEAN=""
6 7 # get the name of the branch we are on
8 function git_prompt_info() {
9- if [[ -d .git ]]; then
10- ref=$(git symbolic-ref HEAD 2> /dev/null) || return
11- branch=${ref#refs/heads/}
12- CURRENT_BRANCH="$ZSH_THEME_GIT_PROMPT_PREFIX${branch}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
13- else
14- CURRENT_BRANCH=''
15- fi
16-
17- echo $CURRENT_BRANCH
18+ ref=$(git-symbolic-ref HEAD 2> /dev/null) || return
19+ echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
20 }
21+
22 parse_git_dirty () {
23 if [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]]; then
24 echo "$ZSH_THEME_GIT_PROMPT_DIRTY"