diff options
author | Irakli Gozalishvili <rfobic@gmail.com> | 2010-10-09 01:27:40 +0200 |
---|---|---|
committer | Irakli Gozalishvili <rfobic@gmail.com> | 2010-10-09 01:48:23 +0200 |
commit | 8059c0727a09257dc387aa9ba17dc99d1842aa19 (patch) | |
tree | 0e890f4957e3ee029692efce653b8b5a4d2bd757 /lib/git.zsh | |
parent | 541da0c9d1cdf88583490fa06b6e307ea09bfc94 (diff) | |
download | zsh-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.zsh | 28 |
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 +} + |