From c31592c60162ac8ac67c16e2cb03cb9bb1ce050f Mon Sep 17 00:00:00 2001 From: Wesley Moore Date: Thu, 1 Apr 2010 09:42:06 +1100 Subject: [PATCH] Make untracked in prompt behave how I want --- lib/git.zsh | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/lib/git.zsh b/lib/git.zsh index a34140d89..9d2a9f9de 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -5,18 +5,14 @@ function git_prompt_info() { } parse_git_dirty () { - gitstat=$(git status 2>/dev/null | grep '\(# Untracked\|# Changes\|# Changed but not updated:\)') + gitstat=$(git status 2> /dev/null | tail -n1) - if [[ $(echo ${gitstat} | grep -c "^# Changes to be committed:$") > 0 ]]; then - echo -n "$ZSH_THEME_GIT_PROMPT_DIRTY" - fi - - if [[ $(echo ${gitstat} | grep -c "^\(# Untracked files:\|# Changed but not updated:\)$") > 0 ]]; then - echo -n "$ZSH_THEME_GIT_PROMPT_UNTRACKED" - fi - - if [[ $(echo ${gitstat} | wc -l | tr -d ' ') == 0 ]]; then - echo -n "$ZSH_THEME_GIT_PROMPT_CLEAN" + if [[ $(echo ${gitstat} | grep -c "nothing added to commit but untracked files present") > 0 ]]; then + echo "$ZSH_THEME_GIT_PROMPT_UNTRACKED" + elif [[ ${gitstat} != "nothing to commit (working directory clean)" ]]; then + echo "$ZSH_THEME_GIT_PROMPT_DIRTY" + else + echo "$ZSH_THEME_GIT_PROMPT_CLEAN" fi }