From: Simon Ruderich Date: Mon, 12 Jan 2009 16:56:42 +0000 (+0100) Subject: Display current VCS in right prompt. X-Git-Url: https://ruderich.org/simon/gitweb/?a=commitdiff_plain;h=b4b3911d9f162de2a8632de90dfe3449cf58a4f2;p=config%2Fdotfiles.git Display current VCS in right prompt. Used with Git and Mercurial. When in one of these repositories the current branch and version control system is displayed in the right prompt. --- diff --git a/zsh/rc b/zsh/rc index aa24736..b28757e 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