diff options
Diffstat (limited to 'lib/git.zsh')
| -rw-r--r-- | lib/git.zsh | 25 | 
1 files changed, 25 insertions, 0 deletions
| diff --git a/lib/git.zsh b/lib/git.zsh new file mode 100644 index 000000000..9409c92db --- /dev/null +++ b/lib/git.zsh @@ -0,0 +1,25 @@ +# 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 +} + | 
