blob: 6ae208eb7f9549d7db0ae05fbf4f388e8b06c252 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# prompt
# TODO maybe just use someone else's theme altogether
# TODO location should control its length a little better
# TODO only color the last segment of the path (pwd)?
setopt prompt_subst
autoload -Uz vcs_info
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' actionformats '%F{purple}[%F{green}%b%F{olive}|%F{red}%a%F{purple}]%f '
zstyle ':vcs_info:*' formats '%F{purple}[%F{green}%b%F{purple}]%f '
get_git () {
[[ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" == "true" ]] && vcs_info || vcs_info_msg_0_=""
}
autoload -Uz add-zsh-hook
add-zsh-hook precmd get_git
user="%n"
if [[ -n "$SSH_CLIENT" || "$USER" == "root" ]]; then
user+="@%M"
fi
last_status="%(?.%F{green}%#.%F{red}%?)%f"
location="%F{blue}%3~%f"
PROMPT="[$user:$location] "'${vcs_info_msg_0_}'"${last_status} "
unset user
unset last_status
unset location
|