X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=f3bebe89faed8b340388cb1371fd149de2ceec44;hb=80ebbd76a0e34625489235f41aa934d69e4b11ff;hp=aa24736f255ff9601af685db50807ff0cecd9c99;hpb=0aec88759df96ba7db29be7e7dc299f05f797e68;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index aa24736..f3bebe8 100644 --- a/zsh/rc +++ b/zsh/rc @@ -66,6 +66,31 @@ PROMPT="%{${fg[green]}%}%B%m%b%{${fg[default]}%}:\ %(1j.%{${fg[yellow]}%}%j%{${fg[default]}%}.)%(2L.+.)%# \ %(?..(%{${fg[red]}%}%B%?%b%{${fg[default]}%}%) )" +# Allow substitutions and expansions in the prompt, necessary for vcs_info. +setopt promptsubst +# Load vcs_info to display information about version control repositories. +autoload -Uz vcs_info +# Only look for git and mercurial repositories; the only I use. +zstyle ':vcs_info:*' enable git hg +# Set style of vcs_info display. The current branch (green) and vcs (blue) is +# displayed. If there is an special action going on (merge, rebase) it's also +# displayed (red). +zstyle ':vcs_info:*' formats \ +"(%{${fg[green]}%}%b%{${fg[default]}%}:\ +%{${fg[blue]}%}%s%{${fg[default]}%})" +zstyle ':vcs_info:*' actionformats \ +"(%{${fg[green]}%}%b%{${fg[default]}%}/\ +%{${fg[red]}%}%a%{${fg[default]}%}:\ +%{${fg[blue]}%}%s%{${fg[default]}%})" +# Call vcs_info as precmd before every prompt. +prompt_precmd() { + vcs_info +} +add-zsh-hook precmd prompt_precmd + +# Display the vcs information in the right prompt. +RPROMPT='${vcs_info_msg_0_}' + # COMPLETION SETTINGS @@ -98,8 +123,9 @@ zstyle ':completion:*' list-prompt '%p' # When unsetting variables make sure every variable name is only suggested # once. zstyle ':completion:*:unset:*' ignore-line yes -# When working with mercurial don't complete the same file multiple times. -zstyle ':completion:*:hg*:*' ignore-line yes +# When working with Mercurial and Git don't complete the same file multiple +# times. Very useful when completing file names. +zstyle ':completion:*:(hg|git)*:*' ignore-line yes # ALIAS AND FUNCTION SETTINGS