Don't show working status in the prompt when oh-my-zsh.hide-status is set. This is very useful for big repositories

where "git status" is very slow.
This commit is contained in:
Romain Perier 2013-04-28 11:21:07 +02:00
commit a052271af3

View file

@ -69,8 +69,9 @@ function git_prompt_long_sha() {
# Get the status of the working tree # Get the status of the working tree
git_prompt_status() { git_prompt_status() {
INDEX=$(git status --porcelain -b 2> /dev/null)
STATUS="" STATUS=""
if [[ "$(git config --get oh-my-zsh.hide-status)" != "1" ]]; then
INDEX=$(git status --porcelain -b 2> /dev/null)
if $(echo "$INDEX" | grep -E '^\?\? ' &> /dev/null); then if $(echo "$INDEX" | grep -E '^\?\? ' &> /dev/null); then
STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS" STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS"
fi fi
@ -111,6 +112,7 @@ git_prompt_status() {
if $(echo "$INDEX" | grep '^## .*diverged' &> /dev/null); then if $(echo "$INDEX" | grep '^## .*diverged' &> /dev/null); then
STATUS="$ZSH_THEME_GIT_PROMPT_DIVERGED$STATUS" STATUS="$ZSH_THEME_GIT_PROMPT_DIVERGED$STATUS"
fi fi
fi
echo $STATUS echo $STATUS
} }