dotfiles/Ansible/roles/dotfiles/files/zsh/functions/load_module

39 lines
690 B
Bash

#!/usr/bin/env zsh
# Eryn Wells <eryn@erynwells.me>
function load_module
{
local mod=$1
if [[ -z "$mod" ]]; then
print "Missing argument: path to module to load." >&2
return -1
fi
# Make sure $mod isn't already in $fpath
local modpath
for p in $fpath; do
modpath=$p/$mod
[[ -d $modpath ]] && break
modpath=''
done
if [[ -z "$modpath" ]]; then
return 1
fi
fpath+=($modpath)
for file in $modpath/*; do
if [[ -f "$file" ]]; then
autoload $func
fi
if [[ -d "$file" ]]; then
load_module "$file"
fi
done
return 0
}
load_module "$@"