ohmyzsh/git.zsh
Christopher Sexton a9f21b381c Improved git prompt handling
* Improved speed, the first time cd'ing into a git repo the prompt
   returns much faster (for me at least).
 * Prompt is now decorated in nested folders within a git repo. No
   longer check for the '.git' folder.
2009-09-22 14:38:24 -04:00

25 lines
912 B
Bash

# Varables for themeing the git info prompt:
# ZSH_THEME_GIT_PROMPT_PREFIX - Prefix at the very beginning of the prompt, before the branch name
# ZSH_THEME_GIT_PROMPT_SUFFIX - At the very end of the prompt
# ZSH_THEME_GIT_PROMPT_DIRTY - Text to display if the branch is dirty
# ZSH_THEME_GIT_PROMPT_CLEAN - Text to display if the branch is clean
ZSH_THEME_GIT_PROMPT_PREFIX="git:("
ZSH_THEME_GIT_PROMPT_SUFFIX=")"
ZSH_THEME_GIT_PROMPT_DIRTY="*"
ZSH_THEME_GIT_PROMPT_CLEAN=""
# get the name of the branch we are on
function git_prompt_info() {
ref=$(git-symbolic-ref HEAD 2> /dev/null) || return
echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
}
parse_git_dirty () {
if [[ $(git status | tail -n1) != "nothing to commit (working directory clean)" ]]; then
echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
else
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
fi
}