Интерфейс командной строки, который я хочу, выглядит примерно так:
my-executable command REQUIRED_ARG
# or
my-executable command subcommand [--foo] [--bar]
Итак, я не хочу, чтобы REQUIRED_ARG
требовался (и анализировался), когда существует subcommand
.
Взаимоисключающая группа близка к тому, что я хочу, но я не могу добавить к ней подпарсеры. Другой подход был описан здесь , но это не мой случай: я хочу, чтобы REQUIRED_ARG
вообще не анализировался в случае подкоманды (и это также кажется хаком).