Not for normies
| 1 | autoload -Uz colors && colors |
| 2 | |
| 3 | autoload -Uz vcs_info |
| 4 | zstyle ':vcs_info:*' check-for-changes true |
| 5 | zstyle ':vcs_info:*' unstagedstr '%F{red}*' # display this when there are unstaged changes |
| 6 | zstyle ':vcs_info:*' stagedstr '%F{yellow}+' # display this when there are staged changes |
| 7 | zstyle ':vcs_info:*' actionformats '%F{5}(%F{2}%b%F{3}|%F{1}%a%c%u%m%F{5})%f ' |
| 8 | zstyle ':vcs_info:*' formats '%F{5}(%F{2}%b%c%u%m%F{5})%f ' |
| 9 | zstyle ':vcs_info:svn:*' branchformat '%b' |
| 10 | zstyle ':vcs_info:svn:*' actionformats '%F{5}(%F{2}%b%F{1}:%{3}%i%F{3}|%F{1}%a%c%u%m%F{5})%f ' |
| 11 | zstyle ':vcs_info:svn:*' formats '%F{5}(%F{2}%b%F{1}:%F{3}%i%c%u%m%F{5})%f ' |
| 12 | zstyle ':vcs_info:*' enable git cvs svn |
| 13 | zstyle ':vcs_info:git*+set-message:*' hooks untracked-git |
| 14 | |
| 15 | +vi-untracked-git() { |
| 16 | if command git status --porcelain 2>/dev/null | command grep -q '??'; then |
| 17 | hook_com[misc]='%F{red}?' |
| 18 | else |
| 19 | hook_com[misc]='' |
| 20 | fi |
| 21 | } |
| 22 | |
| 23 | gentoo_precmd() { |
| 24 | vcs_info |
| 25 | } |
| 26 | |
| 27 | autoload -U add-zsh-hook |
| 28 | add-zsh-hook precmd gentoo_precmd |
| 29 | |
| 30 | PROMPT='%(!.%B%F{red}.%B%F{green}%n@)%m %F{blue}%(!.%1~.%~) ${vcs_info_msg_0_}%F{blue}%(!.#.$)%k%b%f ' |