summaryrefslogtreecommitdiff
path: root/themes
diff options
context:
space:
mode:
Diffstat (limited to 'themes')
-rw-r--r--themes/bureau.zsh-theme20
1 files changed, 11 insertions, 9 deletions
diff --git a/themes/bureau.zsh-theme b/themes/bureau.zsh-theme
index 50058e213..3ca231f6f 100644
--- a/themes/bureau.zsh-theme
+++ b/themes/bureau.zsh-theme
@@ -25,20 +25,21 @@ bureau_git_branch () {
bureau_git_status() {
local result gitstatus
+ gitstatus="$(command git status --porcelain -b 2>/dev/null)"
# check status of files
- gitstatus=$(command git status --porcelain -b 2> /dev/null)
- if [[ -n "$gitstatus" ]]; then
- if $(echo "$gitstatus" | command grep -q '^[AMRD]. '); then
+ local gitfiles="$(tail -n +2 <<< "$gitstatus")"
+ if [[ -n "$gitfiles" ]]; then
+ if $(echo "$gitfiles" | command grep -q '^[AMRD]. '); then
result+="$ZSH_THEME_GIT_PROMPT_STAGED"
fi
- if $(echo "$gitstatus" | command grep -q '^.[MTD] '); then
+ if $(echo "$gitfiles" | command grep -q '^.[MTD] '); then
result+="$ZSH_THEME_GIT_PROMPT_UNSTAGED"
fi
- if $(echo "$gitstatus" | command grep -q -E '^\?\? '); then
+ if $(echo "$gitfiles" | command grep -q -E '^\?\? '); then
result+="$ZSH_THEME_GIT_PROMPT_UNTRACKED"
fi
- if $(echo "$gitstatus" | command grep -q '^UU '); then
+ if $(echo "$gitfiles" | command grep -q '^UU '); then
result+="$ZSH_THEME_GIT_PROMPT_UNMERGED"
fi
else
@@ -46,13 +47,14 @@ bureau_git_status() {
fi
# check status of local repository
- if $(echo "$gitstatus" | command grep -q '^## .*ahead'); then
+ local gitbranch="$(head -n 1 <<< "$gitstatus")"
+ if $(echo "$gitbranch" | command grep -q '^## .*ahead'); then
result+="$ZSH_THEME_GIT_PROMPT_AHEAD"
fi
- if $(echo "$gitstatus" | command grep -q '^## .*behind'); then
+ if $(echo "$gitbranch" | command grep -q '^## .*behind'); then
result+="$ZSH_THEME_GIT_PROMPT_BEHIND"
fi
- if $(echo "$gitstatus" | command grep -q '^## .*diverged'); then
+ if $(echo "$gitbranch" | command grep -q '^## .*diverged'); then
result+="$ZSH_THEME_GIT_PROMPT_DIVERGED"
fi