From 23f2b4503c9d7697e382fed550d3bf846b81dd5c Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 19 Sep 2008 12:58:46 +0000 Subject: users/13252 and elsewhere: Frank Terbeck plus tweaks: add VCS_Info function system --- Functions/VCS_Info/VCS_INFO_set | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Functions/VCS_Info/VCS_INFO_set (limited to 'Functions/VCS_Info/VCS_INFO_set') 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 +## 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 -- cgit 1.4.1