Я написал инструмент командной строки, который использует подкоманды, подобные Mercurial, Git, Subversion & c., поскольку его общее использование:
>myapp [OPTS] SUBCOMMAND [SUBCOMMAND-OPTS] [ARGS]
например.
>myapp --verbose speak --voice=samantha --quickly "hello there"
Сейчас я собираюсь завершить Zsh, но быстро обнаружил, что это очень сложный зверь. Я взглянул на завершение _hg
и _git
, но они очень сложны и различны в подходе (я не могу их понять), но оба кажутся обрабатывать каждую вспомогательную команду отдельно.
Кто-нибудь знает, есть ли способ использовать встроенные функции (_arguments
, _values
, pick_variant
& c.) для правильной обработки концепции подкоманд, включая обработку общих параметров и подкоманды конкретные варианты? Или лучше всего будет вручную обрабатывать общие параметры и подкоманду?
Приятный пример будет очень оценен.
Большое спасибо.