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

emulate -L zsh
setopt extendedglob typeset_silent

local sys
typeset -ga 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