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 +} + |