# ------------------------------------------------------------------------ # Juan G. Hurtado ZSH theme # (Needs Git plugin) # ------------------------------------------------------------------------ # Get current commit short SHA (formatted and coloured) function git_prompt_sha() { sha=$(git rev-parse --short HEAD 2> /dev/null) || return echo "%{$fg[white]%}[%{$fg[yellow]%}"$sha"%{$fg[white]%}]" } # Checks if there are commits ahead from remote function git_parse_ahead() { if $(echo "$(git log origin/master..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then echo " %{$fg[red]%}(!)" fi } # Prompts PROMPT=' %{$fg_bold[green]%}%n@%m%{$fg[white]%}:%{$fg[yellow]%}%~%u$(parse_git_dirty)$(git_parse_ahead)%{$reset_color%} %{$fg[blue]%}>%{$reset_color%} ' RPROMPT='%{$fg_bold[green]%}$(current_branch) $(git_prompt_sha) $(git_prompt_status)%{$reset_color%}' ZSH_THEME_GIT_PROMPT_PREFIX="" ZSH_THEME_GIT_PROMPT_SUFFIX="" ZSH_THEME_GIT_PROMPT_UNMERGED=" %{$fg[red]%}unmerged " ZSH_THEME_GIT_PROMPT_DELETED=" %{$fg[red]%}deleted " ZSH_THEME_GIT_PROMPT_RENAMED=" %{$fg[yellow]%}renamed " ZSH_THEME_GIT_PROMPT_MODIFIED=" %{$fg[yellow]%}modified " ZSH_THEME_GIT_PROMPT_ADDED=" %{$fg[green]%}added " ZSH_THEME_GIT_PROMPT_UNTRACKED="" ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}(*)" ZSH_THEME_GIT_PROMPT_CLEAN=""