Skip to content

Instantly share code, notes, and snippets.

@EduardoAC
Forked from chrisnolet/.zshrc
Created December 17, 2024 06:52
Show Gist options
  • Save EduardoAC/215130b8c984e16c14848eb70b270466 to your computer and use it in GitHub Desktop.
Save EduardoAC/215130b8c984e16c14848eb70b270466 to your computer and use it in GitHub Desktop.
Color-coded git branch for zsh prompt
autoload -Uz compinit && compinit
autoload -Uz add-zsh-hook
autoload -Uz vcs_info
add-zsh-hook precmd vcs_info
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' formats " %F{cyan}%c%u(%b)%f"
zstyle ':vcs_info:*' actionformats " %F{cyan}%c%u(%b)%f %a"
zstyle ':vcs_info:*' stagedstr "%F{green}"
zstyle ':vcs_info:*' unstagedstr "%F{red}"
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:git*+set-message:*' hooks git-untracked
+vi-git-untracked() {
if git --no-optional-locks status --porcelain 2> /dev/null | grep -q "^??"; then
hook_com[staged]+="%F{red}"
fi
}
setopt PROMPT_SUBST
export PROMPT='%n:%1~$vcs_info_msg_0_ %# '
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment