zsh/modules/autoloader/init
2019-02-11 16:26:21 +01:00

45 lines
1.1 KiB
Bash

#!/bin/zsh
#################################################################################
# ZSH zle widget and custom function autloader
#################################################################################
#
# Lets you load custom functions and zle widgets split into single files.
#
# zle widgets are stored in the "widgets" folder in your configuration directory
# (set with $ZDOTDIR, see manpage). The widgets in /etc/zsh/widgets are also
# considered.
#
# functions are stored in the "functions" folder analogous.
#
if [[ -z $ZWIDGETPATH ]]; then
ZWIDGETPATH=( ${ZDOTDIR:+$ZDOTDIR/widgets} )
[[ -d /etc/zsh/widgets ]] && ZWIDGETPATH+=/etc/zsh/widgets
fi
if [[ -z $ZFUNCTIONPATH ]]; then
ZFUNCTIONPATH=( ${ZDOTDIR:+$ZDOTDIR/functions} )
[[ -d /etc/zsh/functions ]] && ZFUNCTIONPATH+=/etc/zsh/functions
fi
fpath+=(${ZWIDGETPATH})
fpath+=(${ZFUNCTIONPATH})
for dir in $ZWIDGETPATH; do
if [ -d $dir ]; then
for i in $dir/*~*.zwc(N:t); do
autoload -Uz $i
zle -N $i
done
fi
done
for dir in $ZFUNCTIONPATH; do
if [ -d $dir ]; then
for i in $dir/*~*.zwc(N:t); do
autoload -Uz $i
done
fi
done