blob: 774f5f0f692b1d9e1058f956ab82ee4b074c2357 (
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
51
52
53
|
# init prompts
# my fancy prompt
autoload -Uz promptinit
promptinit
autoload -Uz vcs_info
setopt PROMPT_SUBST
GIT_INFO=""
zstyle ':vcs_info:git*' formats " %b %c%u%m%a"
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:*' stagedstr ' %K{green} ✚ %k'
zstyle ':vcs_info:*' unstagedstr ' %K{red} ● %k'
PS_GIT_TAGS=""
PS_NODE=""
PS_ERR="%0(?..%K{red}(%?%)%k)";
PS_GIT='%K{blue}$vcs_info_msg_0_%k'
PS_USER='%K{blue}[%n@%M] %k'
PS_DIR='%K{green} %1~ %k'
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
PS_NODE="$(get_pkg_manager)"
git_tag=$(git describe --tags HEAD 2>/dev/null)
if [[ $git_tag ]]; then
PS_GIT_TAGS="%K{black} $git_tag %k"
else
PS_GIT_TAGS=""
fi
PROMPT="%B$PS_ERR$PS_DIR$PS_GIT$PS_GIT_TAGS$PS_NODE %# %b"
}
|