diff --git a/lib/git.zsh b/lib/git.zsh index defa062c6..b54d13069 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -62,3 +62,22 @@ git_prompt_status() { fi echo $STATUS } + +# Checks if there is a bisect, merge or rebase currently going on +git_prompt_rebase_state() { + STATUS="" + + if [ -f ".git/BISECT_LOG" ] ; then + STATUS="$ZSH_THEME_GIT_PROMPT_STATE_BEFORE$ZSH_THEME_GIT_PROMPT_STATE_BISECT" + elif [ -f ".git/MERGE_HEAD" ] ; then + STATUS="$ZSH_THEME_GIT_PROMPT_STATE_BEFORE$ZSH_THEME_GIT_PROMPT_STATE_MERGE" + else + for dir in rebase rebase-apply rebase-merge ; do + if [ -d ".git/$dir" ] ; then + STATUS="$ZSH_THEME_GIT_PROMPT_STATE_BEFORE$ZSH_THEME_GIT_PROMPT_STATE_REBASE" + break + fi + done + fi + echo $STATUS +}