about summary refs log tree commit diff
path: root/Functions/VCS_Info/vcs_info_setsys
blob: b3b78348d125ab5a5d26f36c8a57af5a6d896fed (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
## vim:ft=zsh
## Written by Frank Terbeck <ft@bewatermyfriend.org>
## Distributed under the same BSD-ish license as zsh itself.

setopt localoptions noksharrays extendedglob typeset_silent NO_shwordsplit
local sys
typeset -g VCS_INFO_backends

VCS_INFO_backends=()

for file in ${^fpath}/VCS_INFO_get_data_*~*(\~|.zwc)(N) ; do
    file=${file:t}
    : ${file:#(#b)VCS_INFO_get_data_(*)}
    sys=${match[1]}

    [[ -n ${(M)VCS_INFO_backends:#${sys}} ]] && continue
    VCS_INFO_backends+=(${sys})
    autoload -Uz VCS_INFO_detect_${sys}
    autoload -Uz VCS_INFO_get_data_${sys}
done

return 0