summaryrefslogtreecommitdiff
path: root/lib/git.zsh
diff options
context:
space:
mode:
authorIrakli Gozalishvili <rfobic@gmail.com>2010-10-09 01:27:40 +0200
committerIrakli Gozalishvili <rfobic@gmail.com>2010-10-09 01:48:23 +0200
commit8059c0727a09257dc387aa9ba17dc99d1842aa19 (patch)
tree0e890f4957e3ee029692efce653b8b5a4d2bd757 /lib/git.zsh
parent541da0c9d1cdf88583490fa06b6e307ea09bfc94 (diff)
downloadzsh-8059c0727a09257dc387aa9ba17dc99d1842aa19.tar.gz
zsh-8059c0727a09257dc387aa9ba17dc99d1842aa19.tar.bz2
zsh-8059c0727a09257dc387aa9ba17dc99d1842aa19.zip
Improving git plugin so it can display much more data.
Diffstat (limited to 'lib/git.zsh')
-rw-r--r--lib/git.zsh28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/git.zsh b/lib/git.zsh
index 889dd98df..57a78e27f 100644
--- a/lib/git.zsh
+++ b/lib/git.zsh
@@ -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
+}
+