# 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${SSH}${DIR}${GIT}${ERR}${NODEJS}${JOBS}%b " }