summaryrefslogtreecommitdiff
path: root/themes
diff options
context:
space:
mode:
authorisqua <isqua@isqua.ru>2014-04-26 02:44:02 +0400
committerisqua <isqua@isqua.ru>2015-01-13 19:46:03 +0300
commite2bf7cb3dfcbe42686beb038035d9870eeb0faa3 (patch)
tree908c0dc343750eb88efca822e9d18b2980f03ac0 /themes
parentc78277fd8bda5fec87504469afdf121355876006 (diff)
downloadzsh-e2bf7cb3dfcbe42686beb038035d9870eeb0faa3.tar.gz
zsh-e2bf7cb3dfcbe42686beb038035d9870eeb0faa3.tar.bz2
zsh-e2bf7cb3dfcbe42686beb038035d9870eeb0faa3.zip
Fix checkmark for clean repo in bureau theme
Diffstat (limited to 'themes')
-rw-r--r--themes/bureau.zsh-theme58
1 files changed, 31 insertions, 27 deletions
diff --git a/themes/bureau.zsh-theme b/themes/bureau.zsh-theme
index 148abec10..c6296500d 100644
--- a/themes/bureau.zsh-theme
+++ b/themes/bureau.zsh-theme
@@ -23,31 +23,35 @@ bureau_git_branch () {
}
bureau_git_status () {
- _INDEX=$(command git status --porcelain -b 2> /dev/null)
_STATUS=""
- if $(echo "$_INDEX" | grep '^[AMRD]. ' &> /dev/null); then
- _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_STAGED"
- fi
- if $(echo "$_INDEX" | grep '^.[MTD] ' &> /dev/null); then
- _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_UNSTAGED"
- fi
- if $(echo "$_INDEX" | command grep -E '^\?\? ' &> /dev/null); then
- _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_UNTRACKED"
- fi
- if $(echo "$_INDEX" | grep '^UU ' &> /dev/null); then
- _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_UNMERGED"
- fi
- if $(command git rev-parse --verify refs/stash >/dev/null 2>&1); then
- _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_STASHED"
- fi
- if $(echo "$_INDEX" | grep '^## .*ahead' &> /dev/null); then
- _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_AHEAD"
- fi
- if $(echo "$_INDEX" | grep '^## .*behind' &> /dev/null); then
- _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_BEHIND"
- fi
- if $(echo "$_INDEX" | grep '^## .*diverged' &> /dev/null); then
- _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_DIVERGED"
+ if [[ $(command git status --short 2> /dev/null) != "" ]]; then
+ _INDEX=$(command git status --porcelain -b 2> /dev/null)
+ if $(echo "$_INDEX" | command grep '^[AMRD]. ' &> /dev/null); then
+ _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_STAGED"
+ fi
+ if $(echo "$_INDEX" | command grep '^.[MTD] ' &> /dev/null); then
+ _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_UNSTAGED"
+ fi
+ if $(echo "$_INDEX" | command grep -E '^\?\? ' &> /dev/null); then
+ _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_UNTRACKED"
+ fi
+ if $(echo "$_INDEX" | command grep '^UU ' &> /dev/null); then
+ _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_UNMERGED"
+ fi
+ if $(command git rev-parse --verify refs/stash >/dev/null 2>&1); then
+ _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_STASHED"
+ fi
+ if $(echo "$_INDEX" | command grep '^## .*ahead' &> /dev/null); then
+ _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_AHEAD"
+ fi
+ if $(echo "$_INDEX" | command grep '^## .*behind' &> /dev/null); then
+ _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_BEHIND"
+ fi
+ if $(echo "$_INDEX" | command grep '^## .*diverged' &> /dev/null); then
+ _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_DIVERGED"
+ fi
+ else
+ _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_CLEAN"
fi
echo $_STATUS
@@ -84,10 +88,10 @@ _LIBERTY="$_LIBERTY%{$reset_color%}"
get_space () {
local STR=$1$2
local zero='%([BSUbfksu]|([FB]|){*})'
- local LENGTH=${#${(S%%)STR//$~zero/}}
+ local LENGTH=${#${(S%%)STR//$~zero/}}
local SPACES=""
(( LENGTH = ${COLUMNS} - $LENGTH - 1))
-
+
for i in {0..$LENGTH}
do
SPACES="$SPACES "
@@ -101,7 +105,7 @@ _1RIGHT="[%*] "
bureau_precmd () {
_1SPACES=`get_space $_1LEFT $_1RIGHT`
- print
+ print
print -rP "$_1LEFT$_1SPACES$_1RIGHT"
}