]> 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 416f8bd1c5ad516f49344b4dfee106616dd4132d..4d796ef48a5590d67a8111fbbc8df5452dbff3b1 100644 (file)
@@ -36,14 +36,25 @@ 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 git_prompt_info=git_prompt
 alias parse_git_dirty=git_parse_dirty
 
 ax_vcs_prompt_functions=($ax_vcs_prompt_functions git_prompt)