-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprompt_mastertinner_setup
48 lines (39 loc) · 1.65 KB
/
prompt_mastertinner_setup
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# vim: ft=zsh
function prompt_mastertinner_precmd {
if (( $+functions[git-info] )); then
git-info
fi
}
function prompt_mastertinner_setup {
setopt LOCAL_OPTIONS
unsetopt XTRACE KSH_ARRAYS
prompt_opts=(cr percent sp subst)
# Load required functions
autoload -Uz add-zsh-hook
# Add hook for calling git-info before each command
add-zsh-hook precmd prompt_mastertinner_precmd
# Tell prezto we can manage this prompt
zstyle ':prezto:module:prompt' managed 'yes'
# Set git-info parameters
zstyle ':prezto:module:git:info' verbose 'yes'
zstyle ':prezto:module:git:info:branch' format '%b'
zstyle ':prezto:module:git:info:position' format '%p'
zstyle ':prezto:module:git:info:commit' format '%.7c'
zstyle ':prezto:module:git:info:action' format '%F{yellow}[%s]%f'
zstyle ':prezto:module:git:info:deleted' format '%F{yellow}●%f'
zstyle ':prezto:module:git:info:modified' format '%F{yellow}●%f'
zstyle ':prezto:module:git:info:renamed' format '%F{yellow}●%f'
zstyle ':prezto:module:git:info:untracked' format '%F{yellow}●%f'
zstyle ':prezto:module:git:info:added' format '%F{green}●%f'
zstyle ':prezto:module:git:info:behind' format '%F{yellow} ⬇%f'
zstyle ':prezto:module:git:info:stashed' format '%F{yellow} ★%f'
zstyle ':prezto:module:git:info:keys' format \
'prompt' ' %F{cyan}[$(coalesce "%b" "%p" "%c")%f${(e)git_info[status]}%F{cyan}]%f%s' \
'status' '%a$(coalesce "%d" "%m" "%r" "%u")%B%S' \
# Define prompts
PROMPT='%F{magenta}%c%f${(e)git_info[prompt]} '
}
function prompt_mastertinner_help {
echo 'This prompt is as minimalist as possible and cannot be customized.'
}
prompt_mastertinner_setup "$@"