git.zsh 682 B

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