blob: 4516eb2a8a8ea62753111e29b719cf57ddacab2b (
plain)
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
49
50
|
# init prompts
autoload -Uz promptinit
promptinit
autoload -Uz vcs_info
setopt PROMPT_SUBST
GREY=0
GREEN=2
BLUE=4
WHITE=15
COLOR_UNSTAGED=0
COLOR_STAGED=0
# %b - branch
# %F{color} %f - foreground
# %K{color} %k - background
# %u - unstaged
# %c - staged
# %m - misc (cherry-pick and rebase for git)
# %a - action
zstyle ':vcs_info:git*' formats "%K{$BLUE} %b%u%c%m%a %k"
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:*' stagedstr "%F{$COLOR_STAGED} %f"
zstyle ':vcs_info:*' unstagedstr "%F{$COLOR_UNSTAGED} ?%f"
get_pkg_manager() {
if [[ -f yarn.lock ]]; then
echo " "
elif [[ -f pnpm-lock.yaml ]]; then
echo " "
elif [[ -f package-lock.json ]]; then
echo " "
else
echo ""
fi
}
precmd() {
vcs_info
ARCH_BTW="%K{$WHITE}%F{$BLUE} %f%k"
SSH="%K{$GREEN}${SSH_TTY:+ [%n@%M]}%k"
DIR="%K{$GREEN} %3~ %k"
GIT="$vcs_info_msg_0_"
ERR="%0(?..%F{red} %?%f)"
NODEJS="$(get_pkg_manager)"
JOBS="%(1j.%F{magenta}%K{black} JOBS:%j%k%f.)"
PROMPT="%B${ARCH_BTW}${SSH}${DIR}${GIT}${ERR}${NODEJS}${JOBS}%b "
}
|