Fix checkmark for clean repo in bureau theme

This commit is contained in:
isqua 2014-04-26 02:44:02 +04:00
parent c78277fd8b
commit e2bf7cb3df

View File

@ -23,31 +23,35 @@ bureau_git_branch () {
} }
bureau_git_status () { bureau_git_status () {
_INDEX=$(command git status --porcelain -b 2> /dev/null)
_STATUS="" _STATUS=""
if $(echo "$_INDEX" | grep '^[AMRD]. ' &> /dev/null); then if [[ $(command git status --short 2> /dev/null) != "" ]]; then
_STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_STAGED" _INDEX=$(command git status --porcelain -b 2> /dev/null)
fi if $(echo "$_INDEX" | command grep '^[AMRD]. ' &> /dev/null); then
if $(echo "$_INDEX" | grep '^.[MTD] ' &> /dev/null); then _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_STAGED"
_STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_UNSTAGED" fi
fi if $(echo "$_INDEX" | command grep '^.[MTD] ' &> /dev/null); then
if $(echo "$_INDEX" | command grep -E '^\?\? ' &> /dev/null); then _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_UNSTAGED"
_STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_UNTRACKED" fi
fi if $(echo "$_INDEX" | command grep -E '^\?\? ' &> /dev/null); then
if $(echo "$_INDEX" | grep '^UU ' &> /dev/null); then _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_UNTRACKED"
_STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_UNMERGED" fi
fi if $(echo "$_INDEX" | command grep '^UU ' &> /dev/null); then
if $(command git rev-parse --verify refs/stash >/dev/null 2>&1); then _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_UNMERGED"
_STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_STASHED" fi
fi if $(command git rev-parse --verify refs/stash >/dev/null 2>&1); then
if $(echo "$_INDEX" | grep '^## .*ahead' &> /dev/null); then _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_STASHED"
_STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_AHEAD" fi
fi if $(echo "$_INDEX" | command grep '^## .*ahead' &> /dev/null); then
if $(echo "$_INDEX" | grep '^## .*behind' &> /dev/null); then _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_AHEAD"
_STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_BEHIND" fi
fi if $(echo "$_INDEX" | command grep '^## .*behind' &> /dev/null); then
if $(echo "$_INDEX" | grep '^## .*diverged' &> /dev/null); then _STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_BEHIND"
_STATUS="$_STATUS$ZSH_THEME_GIT_PROMPT_DIVERGED" 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 fi
echo $_STATUS echo $_STATUS
@ -84,10 +88,10 @@ _LIBERTY="$_LIBERTY%{$reset_color%}"
get_space () { get_space () {
local STR=$1$2 local STR=$1$2
local zero='%([BSUbfksu]|([FB]|){*})' local zero='%([BSUbfksu]|([FB]|){*})'
local LENGTH=${#${(S%%)STR//$~zero/}} local LENGTH=${#${(S%%)STR//$~zero/}}
local SPACES="" local SPACES=""
(( LENGTH = ${COLUMNS} - $LENGTH - 1)) (( LENGTH = ${COLUMNS} - $LENGTH - 1))
for i in {0..$LENGTH} for i in {0..$LENGTH}
do do
SPACES="$SPACES " SPACES="$SPACES "
@ -101,7 +105,7 @@ _1RIGHT="[%*] "
bureau_precmd () { bureau_precmd () {
_1SPACES=`get_space $_1LEFT $_1RIGHT` _1SPACES=`get_space $_1LEFT $_1RIGHT`
print print
print -rP "$_1LEFT$_1SPACES$_1RIGHT" print -rP "$_1LEFT$_1SPACES$_1RIGHT"
} }