zsh-config/prompt
Robert Morrison 43e3ce2765
refactor(prompt): Add hook in the conventional way
Change how I add the `vcs_info` function call to the `precmd` hook.
Using add-zsh-hook allows me to have multiple hook functions on `precmd`
and makes it clear what is done for each hook when listing them
2023-04-11 22:42:43 +01:00

36 lines
985 B
Bash

####################
# Sherlocks Prompt #
####################
setopt prompt_subst ## Enable prompt Substitution
## Load vcs_info module
autoload -Uz vcs_info
## Enable git tracking
zstyle ':vcs_info:*' enable git
## Set icons for Staged and Unstaged Changes
zstyle ':vcs_info:git*' stagedstr "%{%F{green%}%} %{%f%}"
zstyle ':vcs_info:git*' unstagedstr "%{%F{red%}%} %{%f%}"
## Enable check for changes (CPU-intensive)
## DISABLE THIS ON LOW POWER SYSTEMS
zstyle ':vcs_info:git*' check-for-changes true
## Set format for Repo Information
zstyle ':vcs_info:git*' formats "-(%{%F{203}%} %{%f%}%s:%{%F{2}%}שׂ %{%f%}%b %u%c)"
zstyle ':vcs_info:git*' actionformats "-(%{%F{203}%} %{%f%}%s:%{%F{2}%}שׂ %{%f%}%b %u%c)(%a)"
## do precmd stuff
_vcsinfo() {
vcs_info
}
add-zsh-hook precmd _vcsinfo
PROMPT="╭╼(%{%F{81}%}%n%{%F{245}%}@%{%F{206}%}%m %{%F{245}%}%2~%{%F{259}%})─(%(?.😎.😞 %?))"$'\n'"╰┤"
export RPROMPT='${vcs_info_msg_0_}'
# vim: set ft=zsh: