about summary refs log tree commit diff
path: root/Functions/VCS_Info/VCS_INFO_set
diff options
context:
space:
mode:
Diffstat (limited to 'Functions/VCS_Info/VCS_INFO_set')
-rw-r--r--Functions/VCS_Info/VCS_INFO_set32
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