]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - zsh/rc
Improved documentation for source_config().
[config/dotfiles.git] / zsh / rc
diff --git a/zsh/rc b/zsh/rc
index aa24736f255ff9601af685db50807ff0cecd9c99..f3bebe89faed8b340388cb1371fd149de2ceec44 100644 (file)
--- 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