# 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)" PROMPT="%B$PS_ERR$PS_DIR$PS_GIT$PS_NODE %# %b" }