From d05cd0d6351e892996459f3b5086679a18a83ecb Mon Sep 17 00:00:00 2001 From: "T. R. Bernstein" <137705289+trbernstein@users.noreply.github.com> Date: Tue, 2 Jul 2024 22:32:55 +0200 Subject: [PATCH] Take all arguments into account for azw cmd name --- bin/azw | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/bin/azw b/bin/azw index 6c9a616..c705bb8 100755 --- a/bin/azw +++ b/bin/azw @@ -2,32 +2,36 @@ # 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="$1" - whence azw-$cmdName &> /dev/null || { - lop -- -e "Unknown command $cmdName." - exit 10 - } - azw-$cmdName "$@" + local cmdName= + buildExternCommandName "$@" || return $? + $cmdName "$@" } function dispatchCommand() { local cmdName="$1" case $cmdName in *) - dispatchToExtern $cmdName + dispatchToExtern "$@" ;; esac } -function main() { - local cmdName="$1" - [[ $# -gt 1 ]] && shift - - dispatchCommand $cmdName -} - if [[ "${ZSH_EVAL_CONTEXT}" == toplevel || "${ZSH_EVAL_CONTEXT}" == cmdarg ]]; then _DIR="${0:A:h}" - main "$@" + dispatchCommand "$@" fi