7JB5ULZTC6SV7BBMZYTE3XUCGM5OKUQALOYFATCDZWVWNHTL6P7QC
typeset -A script_depends
typeset -A loaded_depends
get_depends() {
awk -F: '$0=="###" || $1 != "#" { exit } $1="depends-on" {print $3}' "$1"
}
build_depends() {
for depend in ${(f)$(get_depends "$1")}; do
script_depends[$1]+="$depend:"
done
}
load_depends() {
for depend in ${(s<:>)script_depends[$1]}; do
if [[ -z $loaded_depends[$depend] ]]; then
local fn="$HOME/.zsh.d/dependencies/$depend.zsh"
echo -n "loading dependency $fn ... "
if [[ -f $fn ]]; then
if [[ -z $script_depends[$fn] ]]; then
build_depends "$fn"
fi
load_depends "$fn"
source $fn
echo "done."
else
echo "missing."
fi
loaded_depends[$depend]=1
else
echo "dependency $depend already loaded."
fi
done
}
*~