X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=096dfabb326a5f80d73e1e429b429216cf6cd2b2;hb=1c0e5e4753d9292f554f224278c6e09ec2778625;hp=c6691783224feb182fc95edfc7f521d98fbad12b;hpb=059958b05df78c658fb4fd6b350cfaeb1756b799;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index c669178..096dfab 100644 --- a/zsh/rc +++ b/zsh/rc @@ -1,6 +1,6 @@ # Zsh configuration file. -# Copyright (C) 2011-2012 Simon Ruderich +# Copyright (C) 2011-2013 Simon Ruderich # # This file is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -234,10 +234,10 @@ if [[ $ZSH_VERSION == (4.3.<9->*|4.<4->*|<5->*) || if [[ $ZSH_VERSION == (4.3.<11->*|4.<4->*|<5->*) || -d ~/.zsh/functions/vcs_info ]]; then zstyle ':vcs_info:*' formats \ - "(${green}%b%u%c${default}:${blue}%s${default})" \ + "(${green}%b%u%c${default}:${blue}%s${default}%m)" \ "${green}%u%c${default}" zstyle ':vcs_info:*' actionformats \ - "(${green}%b%u%c${default}/${red}%a${default}:${blue}%s${default})" \ + "(${green}%b%u%c${default}/${red}%a${default}:${blue}%s${default}%m)" \ "${green}%u%c${default}" else # In older versions %u and %c are not defined yet and are not @@ -288,6 +288,26 @@ if [[ $ZSH_VERSION == (4.3.<9->*|4.<4->*|<5->*) || esac } + # Display number of WIP stashes (this excludes manually named commits + # which might be used for something else), thanks to + # http://eseth.org/2010/git-in-zsh.html (viewed on 2013-04-27) for the + # idea to display the stash count. + function +vi-git-stashes() { + if [[ -s ${hook_com[base]/.git/refs/stash} ]]; then + local -a stashes + # Thanks to Valodim in #zsh on Freenode (2013-07-01 14:14 CEST) + # for the solution to "grep" the output with (M) and :#(...). + stashes=( ${(M)${(f)"$(git stash list 2>/dev/null)"}:#(*WIP*)} ) + + if [[ ${#stashes} -gt 0 ]]; then + hook_com[misc]+=" ${yellow}${#stashes}s${default}" + fi + fi + } + + # Apply hooks to Git. + zstyle ':vcs_info:git*+set-message:*' hooks git-stashes + # Must run vcs_info when changing directories. prompt_chpwd() { zshrc_force_run_vcs_info=1