]> arthur.barton.de Git - ax-zsh.git/blobdiff - plugins/git/git.zshrc
50_prompt: Move VCS prompt styling into VCS plugin
[ax-zsh.git] / plugins / git / git.zshrc
index c6d1e0e6d82911ab6ee24154e4c3f2c26d6ac27a..4d796ef48a5590d67a8111fbbc8df5452dbff3b1 100644 (file)
@@ -36,12 +36,27 @@ git_prompt_behind() {
                && echo "$ZSH_THEME_VCS_PROMPT_BEHIND"
 }
 
+git_prompt_info() {
+       local ref=$(git symbolic-ref HEAD 2>/dev/null) || return 1
+       [[ -n "$ref" ]] || return 1
+       echo "${ZSH_THEME_VCS_PROMPT_PREFIX}${ref#refs/heads/}${ZSH_THEME_VCS_PROMPT_SUFFIX}"
+}
+git_prompt_status() {
+       local ref=$(git symbolic-ref HEAD 2>/dev/null) || return 1
+       [[ -n "$ref" ]] || return 1
+       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 1
+       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"