# Define Zim location : ${ZIM_HOME=${0:h}} # Source user configuration [[ -f <%= home %>/.zimrc ]] && source <%= home %>/.zimrc # Set input mode before loading modules if zstyle -t ':zim:input' mode 'vi'; then bindkey -v else bindkey -e fi # Autoload enabled modules' functions () { local zfunction local -a zmodules zstyle -a ':zim' modules 'zmodules' setopt LOCAL_OPTIONS EXTENDED_GLOB fpath=(${ZIM_HOME}/modules/${^zmodules}/functions(/FN) ${fpath}) for zfunction in ${ZIM_HOME}/modules/${^zmodules}/functions/<%= functions_glob %>(-.N:t); do autoload -Uz ${zfunction} done } # Source enabled modules' init scripts () { local zmodule zdir zfile local -a zmodules zstyle -a ':zim' modules 'zmodules' for zmodule in ${zmodules}; do zdir=${ZIM_HOME}/modules/${zmodule} if [[ ! -d ${zdir} ]]; then print -u2 "init: module ${zmodule} not installed" else for zfile in ${zdir}/{init.zsh,${zmodule}.{zsh,plugin.zsh,zsh-theme,sh}}; do if [[ -f ${zfile} ]]; then source ${zfile} break fi done fi done }