# init prompts autoload -Uz promptinit promptinit autoload -Uz vcs_info setopt PROMPT_SUBST GREY=0 GREEN=2 BLUE=4 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 TIME="%K{$GREY} %* %k" ERR="%0(?..%F{red} %?%f)" GIT="$vcs_info_msg_0_" # USER="%K{blue}[%n@%M] %k" SSH="%K{$GREEN}${SSH_TTY:+ [%n@%M]}%k" DIR="%K{$GREEN}  %3~ %k" NODEJS="$(get_pkg_manager)" JOBS="%(1j.%F{magenta}%K{black} JOBS:%j%k%f.)" NEWLINE=$'\n' FIRST_ROW="%B${SSH}${DIR}${GIT}${ERR}${NODEJS}${JOBS}%b" # SECOND_ROW="%K{$GREEN} %K{15}%F{0} %# %f%k " # SECOND_ROW="%K{15}%F{0} %# %f%k " SECOND_ROW=" %# " # SECOND_ROW="%K{$GREEN} %k %# " # PROMPT="${FIRST_ROW}${NEWLINE}${SECOND_ROW}" PROMPT="${FIRST_ROW}${SECOND_ROW}" }