|
@@ -11,3 +11,31 @@ parse_git_dirty () {
|
|
|
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
|
|
|
fi
|
|
|
}
|
|
|
+
|
|
|
+# get the status of the working tree
|
|
|
+git_prompt_status() {
|
|
|
+ INDEX=$(git status --porcelain 2> /dev/null)
|
|
|
+ STATUS=""
|
|
|
+ if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then
|
|
|
+ STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS"
|
|
|
+ fi
|
|
|
+ if $(echo "$INDEX" | grep '^A ' &> /dev/null); then
|
|
|
+ STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
|
|
+ elif $(echo "$INDEX" | grep '^M ' &> /dev/null); then
|
|
|
+ STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
|
|
+ fi
|
|
|
+ if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then
|
|
|
+ STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
|
|
+ fi
|
|
|
+ if $(echo "$INDEX" | grep '^R ' &> /dev/null); then
|
|
|
+ STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS"
|
|
|
+ fi
|
|
|
+ if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then
|
|
|
+ STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
|
|
|
+ fi
|
|
|
+ if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then
|
|
|
+ STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS"
|
|
|
+ fi
|
|
|
+ echo $STATUS
|
|
|
+}
|
|
|
+
|