summaryrefslogtreecommitdiff
path: root/zsh/prompt.zsh
blob: 924b0d754957c4f7a76fdf40ddcc804362f438a8 (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

# 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_SSH='%K{green}${SSH_TTY:+ [%n@%M]}%k'
PS_DIR='%K{green}  %3~ %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)"
  PROMPT="%B$PS_ERR$PS_SSH$PS_DIR$PS_GIT$PS_NODE %# %b"
}