1 # AX-ZSH: Alex' Modular ZSH Configuration
4 # Make sure that "git(1)" is installed
5 (( $+commands[git] )) || return
11 '--ignore-submodules=dirty'
12 #'--untracked-files=no'
14 [[ -n "$(git status $flags 2>/dev/null | tail -n1)" ]] \
15 && echo "$ZSH_THEME_VCS_PROMPT_DIRTY" \
16 || echo "$ZSH_THEME_VCS_PROMPT_CLEAN"
19 git_current_branch() {
20 local ref=$(git symbolic-ref --quiet HEAD 2>/dev/null)
22 if [[ $ret != 0 ]]; then
23 [[ $ret == 128 ]] && return # No Git repository
24 ref=$(git rev-parse --short HEAD 2>/dev/null) || return
26 echo "${ref#refs/heads/}"
30 [[ -n "$(git rev-list "@{upstream}..HEAD" 2>/dev/null)" ]] \
31 && echo "$ZSH_THEME_VCS_PROMPT_AHEAD"
35 [[ -n "$(git rev-list HEAD..@{upstream} 2>/dev/null)" ]] \
36 && echo "$ZSH_THEME_VCS_PROMPT_BEHIND"
40 ref=$(git symbolic-ref HEAD 2>/dev/null) || return 1
41 echo "${ref#refs/heads/}$(git_parse_dirty)$(git_prompt_ahead)$(git_prompt_behind)"
45 ax_vcs_prompt_functions=($ax_vcs_prompt_functions git_prompt)
50 alias gdc="git diff --cached"
51 alias gst="git status --short --branch --untracked"