ohmyzsh/themes/gentoo-olipro.zsh-theme
Oliver b4338fe3e4 Drastically improve speed of Git when operating on a large repo.
This change applies only to the gentoo-olipro theme, but of course, any
theme that also performs these checks would benefit.
2012-10-14 13:15:54 +02:00

32 lines
1.1 KiB
Bash

autoload -U colors && colors
autoload -Uz vcs_info
zstyle ':vcs_info:*' stagedstr '%F{green}●'
zstyle ':vcs_info:*' unstagedstr '%F{yellow}●'
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{11}%r'
zstyle ':vcs_info:*' enable git svn
theme_precmd () {
if [[ -z $(git ls-files --other --exclude-standard 2> /dev/null) ]] {
git diff-index --quiet --ignore-submodules HEAD -- 2> /dev/null
if [[ $? -eq 0 ]] {
zstyle ':vcs_info:*' formats ' (%b)%c%u%B%F{blue}'
} else {
if [[ -z %u ]] {
zstyle ':vcs_info:*' formats ' (%b)%c%u%B%F{blue}'
} else {
zstyle ':vcs_info:*' formats ' (%b) %c%u%B%F{blue}'
}
}
} else {
zstyle ':vcs_info:*' formats ' (%b) %c%u%B%F{red}●%F{blue}'
}
vcs_info
}
setopt prompt_subst
PROMPT='%(!.%{$fg_bold[red]%}.%{$fg_bold[green]%}%n@)%m %{$fg_bold[blue]%}%(!.%1~.%~)${vcs_info_msg_0_} %#%{$reset_color%} '
autoload -U add-zsh-hook
add-zsh-hook precmd theme_precmd