setopt prompt_subst
autoload colors; colors;
-hostcolor=green
+hostcolor=cyan
[[ $(hostname) == "tardis" ]] && hostcolor=red
precmd() {
- PROMPT='%T $(virtualenv_prompt)%n@%{$fg[$hostcolor]%}%m%(1j. $fg_bold[white]↵%{$fg_bold[red]%}%j.)%{$reset_color%}%-0>..>$(git_prompt_status)%>>
+ PROMPT='%T $(virtualenv_prompt)%n@%{$fg[$hostcolor]%}%m$(jobs_prompt)%-0>..>$(git_prompt_status)%>>
%(?..%{$fg_bold[white]%}%?)%{$reset_color%}$(vi_prompt_info)%{%(!.$fg[red]❰.$fg[green]❱)%1G%} '
RPROMPT='%{$fg[green]%}%~%{$reset_color%}'
}
+jobs_prompt() {
+ printf '%s' "%(1j. $fg_bold[white]↵%{$fg_bold[red]%}%j.)%{$reset_color%}"
+}
+
vi_prompt_info() {
local vicmd="$fg_bold[green]❰$reset_color%1G"
local viins="$fg_bold[blue]❱$reset_color%1G"
(( behind > 0 )) && upstream_str+="%{$fg[blue]%} <$behind"
git_status+="$upstream_str"
+ # Format push
+ push_ab=( $(git rev-list --left-right --count @...@{push} 2>/dev/null) )
+ if (( $? == 0 )); then
+ (( push_ab[1] > 0 )) && git_status+="%{$fg_bold[blue]%} ⮝$push_ab[1]"
+ (( push_ab[2] > 0 )) && git_status+="%{$fg_bold[blue]%} ⮟$push_ab[2]"
+ fi
+
# Format stashed
stashed=$(git stash list | wc -l)
if (( stashed > 0 )) then