#!/usr/bin/env zsh # vi: set ft=zsh tw=80 ts=2 function buildExternCommandName() { cmdName="azw-$1" shift while ! whence $cmdName &> /dev/null; do if [[ $# -gt 0 ]]; then cmdName="${cmdName}_${1}" shift else lop -- -e "Unknown command $@." return 10 fi done args=("$@") } function dispatchToExtern() { local cmdName= args=() buildExternCommandName "$@" || return $? $cmdName "${args[@]}" } function dispatchCommand() { local cmdName="$1" case $cmdName in *) dispatchToExtern "$@" ;; esac } if [[ "${ZSH_EVAL_CONTEXT}" == toplevel || "${ZSH_EVAL_CONTEXT}" == cmdarg ]]; then _DIR="${0:A:h}" source autoload-zshlib dispatchCommand "$@" fi