Created
January 14, 2012 05:23
-
-
Save xbb/1610428 to your computer and use it in GitHub Desktop.
zsh theme
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
autoload -U add-zsh-hook | |
autoload -Uz vcs_info | |
zstyle ':vcs_info:*' actionformats \ | |
'%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f ' | |
zstyle ':vcs_info:*' formats \ | |
'%F{2}%s%F{7}:%F{2}(%F{1}%b%F{2})%f ' | |
zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r' | |
zstyle ':vcs_info:*' enable git | |
add-zsh-hook precmd prompt_jnrowe_precmd | |
prompt_jnrowe_precmd () { | |
vcs_info | |
if [ "${vcs_info_msg_0_}" = "" ]; then | |
dir_status="%F{2}→%f" | |
elif [[ $(git diff --cached --name-status 2>/dev/null ) != "" ]]; then | |
dir_status="%F{1}▶%f" | |
elif [[ $(git diff --name-status 2>/dev/null ) != "" ]]; then | |
dir_status="%F{3}▶%f" | |
else | |
dir_status="%F{2}▶%f" | |
fi | |
} | |
# test return value | |
local ret_status="%(?:%{$fg_bold[green]%}Ξ:%{$fg_bold[red]%}✖%s)" | |
# test if root | |
local user_color='white' | |
test $UID -eq 0 && user_color='red' | |
# test remote host (ssh) | |
local host="" | |
test "$SSH_CLIENT" || test "$SSH2_CLIENT" && host="%{$fg_bold[blue]%}@%{$fg_bold[white]%}%M" | |
local user_host="%{$fg_bold[${user_color}]%}%n${host}" | |
PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg_bold[yellow]%}%3~ ${vcs_info_msg_0_}${dir_status}%{$reset_color%} ' | |
RPROMPT='%{$fg_bold[grey]%}‹${user_host}%{$fg_bold[grey]%}›%{$reset_color%}' | |
# vim: set ft=zsh ts=4 sw=4 et: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment