]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
zsh/rc: Unstaged/stages changes are displayed in RPROMPT.
authorSimon Ruderich <simon@ruderich.org>
Wed, 10 Mar 2010 23:35:48 +0000 (00:35 +0100)
committerSimon Ruderich <simon@ruderich.org>
Wed, 10 Mar 2010 23:35:48 +0000 (00:35 +0100)
zsh/rc

diff --git a/zsh/rc b/zsh/rc
index 5276361bf8f371dd0f814c1b2b07ae61427933d9..e51ebfd8803f05ee94a3c16c862486c66e4b9586 100644 (file)
--- a/zsh/rc
+++ b/zsh/rc
@@ -160,13 +160,25 @@ if [[ $ZSH_VERSION == (4.3.<9->|4.<4->*|<5->*) ||
     autoload -Uz vcs_info
     # Only look for git and mercurial repositories; the only I use.
     zstyle ':vcs_info:*' enable git hg
+    # Check the repository for changes so they can be used in %u/%c (see
+    # below). This comes with a speed penalty for bigger repositories.
+    zstyle ':vcs_info:*' check-for-changes true
+
     # 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 \
-        "($green%b$default:$blue%s$default)"
+        "($green%b%u%c$default:$blue%s$default)"
     zstyle ':vcs_info:*' actionformats \
         "($green%b$default/$red%a$default:$blue%s$default)"
+    # Set style for formats/actionformats when unstaged (%u) and staged (%c)
+    # changes are detected in the repository; check-for-changes must be set to
+    # true for this to work. Thanks to Bart Trojanowski
+    # (http://jukie.net/~bart/blog/pimping-out-zsh-prompt) for the idea
+    # (2010-03-11 00:20).
+    zstyle ':vcs_info:*' unstagedstr '¹'
+    zstyle ':vcs_info:*' stagedstr   '²'
+
     # Call VCS_info as precmd before every prompt.
     prompt_precmd() {
         vcs_info