diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2008-09-19 12:58:46 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2008-09-19 12:58:46 +0000 |
commit | 23f2b4503c9d7697e382fed550d3bf846b81dd5c (patch) | |
tree | 8953de32c2d4126882d9d4c66bcbe7b8615e3419 /Functions/VCS_Info/VCS_INFO_set | |
parent | d9f1432e074872aa3a89515bc65ede5ad6551a47 (diff) | |
download | zsh-23f2b4503c9d7697e382fed550d3bf846b81dd5c.tar.gz zsh-23f2b4503c9d7697e382fed550d3bf846b81dd5c.tar.xz zsh-23f2b4503c9d7697e382fed550d3bf846b81dd5c.zip |
users/13252 and elsewhere: Frank Terbeck plus tweaks:
add VCS_Info function system
Diffstat (limited to 'Functions/VCS_Info/VCS_INFO_set')
-rw-r--r-- | Functions/VCS_Info/VCS_INFO_set | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Functions/VCS_Info/VCS_INFO_set b/Functions/VCS_Info/VCS_INFO_set new file mode 100644 index 000000000..a2b838cdb --- /dev/null +++ b/Functions/VCS_Info/VCS_INFO_set @@ -0,0 +1,32 @@ +## vim:ft=zsh +## Written by Frank Terbeck <ft@bewatermyfriend.org> +## Distributed under the same BSD-ish license as zsh itself. + +setopt localoptions noksharrays NO_shwordsplit +local -i i j + +if [[ $1 == '--clear' ]] ; then + for i in {0..9} ; do + unset vcs_info_msg_${i}_ + done +fi +if [[ $1 == '--nvcs' ]] ; then + [[ $2 == '-preinit-' ]] && (( maxexports == 0 )) && (( maxexports = 1 )) + for i in {0..$((maxexports - 1))} ; do + typeset -gx vcs_info_msg_${i}_= + done + VCS_INFO_nvcsformats $2 +fi + +(( ${#msgs} - 1 < 0 )) && return 0 +for i in {0..$(( ${#msgs} - 1 ))} ; do + (( j = i + 1 )) + typeset -gx vcs_info_msg_${i}_=${msgs[$j]} +done + +if (( i < maxexports )) ; then + for j in {$(( i + 1 ))..${maxexports}} ; do + [[ -n ${(P)${:-vcs_info_msg_${j}_}} ]] && typeset -gx vcs_info_msg_${j}_= + done +fi +return 0 |