#!/usr/bin/env zsh # vi: set ft=zsh tw=80 ts=2 autoload -w zshlib 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 } function dispatchToExtern() { local cmdName= buildExternCommandName "$@" || return $? $cmdName "$@" } function dispatchCommand() { local cmdName="$1" case $cmdName in *) dispatchToExtern "$@" ;; esac } if [[ "${ZSH_EVAL_CONTEXT}" == toplevel || "${ZSH_EVAL_CONTEXT}" == cmdarg ]]; then _DIR="${0:A:h}" dispatchCommand "$@" fi