]> arthur.barton.de Git - ax-zsh.git/blobdiff - plugins/git/git.zshrc
git: Split git_prompt() into git_prompt_info() and git_prompt_status()
[ax-zsh.git] / plugins / git / git.zshrc
index c6d1e0e6d82911ab6ee24154e4c3f2c26d6ac27a..55c395f6b887caa0c74ae2e77c5681a334c4f028 100644 (file)
@@ -36,12 +36,24 @@ git_prompt_behind() {
                && echo "$ZSH_THEME_VCS_PROMPT_BEHIND"
 }
 
+git_prompt_info() {
+       local ref=$(git symbolic-ref HEAD 2>/dev/null) || return 1
+       echo "${ref#refs/heads/}"
+}
+git_prompt_status() {
+       echo "$(git_parse_dirty)$(git_prompt_ahead)$(git_prompt_behind)"
+}
+
 git_prompt() {
-       ref=$(git symbolic-ref HEAD 2>/dev/null) || return 1
-       echo "${ref#refs/heads/}$(git_parse_dirty)$(git_prompt_ahead)$(git_prompt_behind)"
+       local prompt=$(git_prompt_info)
+       [[ -n "$prompt" ]] || return 0
+       echo "$prompt$(git_prompt_status)"
        return 0
 }
 
+# OhMyZsh compatibility functions
+alias parse_git_dirty=git_parse_dirty
+
 ax_vcs_prompt_functions=($ax_vcs_prompt_functions git_prompt)
 
 alias ga="git add"