32 lines
706 B
Text
32 lines
706 B
Text
local current_time="[%B%D{%T}%b]"
|
|
local current_dir='%B%F{blue}%~%f%b'
|
|
|
|
# user
|
|
local user="%F{green}%n%f"
|
|
|
|
# host
|
|
local host=""
|
|
if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then
|
|
host='%F{yellow}%M%f' #SSH
|
|
else
|
|
host='%F{green}%M%f' # no SSH
|
|
fi
|
|
|
|
# vcs
|
|
precmd() {
|
|
setopt promptsubst
|
|
autoload -Uz vcs_info
|
|
|
|
zstyle ':vcs_info:*' enable git hg svn
|
|
zstyle ':vcs_info:*:prompt:*' nvcsformats ""
|
|
zstyle ':vcs_info:*:prompt:*' formats "[%F{cyan}%b%f%u%c]"
|
|
vcs_info 'prompt'
|
|
}
|
|
local vcs='${vcs_info_msg_0_}'
|
|
|
|
# prompt
|
|
local return_code="%(?..%?)"
|
|
local prompt="%(?.%F{green}->.%F{red}-%B${return_code}%b%F{red}->%{%})%f"
|
|
|
|
PROMPT="${current_time} ${user}@${host} ${current_dir} ${vcs}
|
|
|$prompt "
|