diff options
author | Hugues Hiegel <hugues@hiegel.fr> | 2008-04-01 16:05:41 +0200 |
---|---|---|
committer | Hugues Hiegel <hugues@hiegel.fr> | 2008-04-02 14:56:25 +0200 |
commit | 5d6dca3f97bbc6393cc62ca696eec98022de6324 (patch) | |
tree | 031912fd508c46d23a9ed3dd32780f44516a0cb4 /01_Functions.zsh | |
parent | a29f80d7684c725d81e8923d5d680384f7078db7 (diff) |
nouvelle colorization des branches GIT..
Diffstat (limited to '01_Functions.zsh')
-rw-r--r-- | 01_Functions.zsh | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/01_Functions.zsh b/01_Functions.zsh index 3d1221d..af6423c 100644 --- a/01_Functions.zsh +++ b/01_Functions.zsh @@ -83,14 +83,25 @@ get_git_branch () # a call to `get_git_branch` get_git_status () { - local my_git_status + local my_git_status cached not_up_to_date managment_folder - if [ "$(git-rev-parse --git-dir)" == "." ] - then - my_git_status="$git_colors[managment_folder]" - elif [ "$(git-diff --cached 2>&- | grep '^diff ')" != "" ] ; then + if [ "$(git-rev-parse --git-dir)" == "." ] ; then + echo "$git_colors[managment_folder]" + return + fi + + if [ "$(git-diff --cached 2>&- | grep '^diff ')" != "" ] ; then + cached="yes" + fi + if [ "$(git-ls-files -m 2>&-)" != "" ] ; then + not_up_to_date="yes" + fi + + if [ "$cached" != "" -a "$not_up_to_date" != "" ] ; then + my_git_status="$git_colors[cached_and_not_up_to_date]" + elif [ "$cached" != "" ] ; then my_git_status="$git_colors[cached]" - elif [ "$(git-ls-files -m 2>&-)" != "" ] ; then + elif [ "$not_up_to_date" != "" ] ; then my_git_status="$git_colors[not_up_to_date]" else my_git_status="$git_colors[up_to_date]" |