Можно ли настроить группы аргументов неизвестного размера с помощью Clap? - PullRequest
0 голосов
/ 18 января 2019

Я создаю CLI, который может вызывать другие базовые программы, которые имеют свои собственные параметры и аргументы. Я хотел бы иметь возможность передавать эти параметры в программу через CLI.

$ cli --program [PROGRAM] --programOpts[OPT1, OPT2, ...]

Пример:

$ cli --program foo --programOpts.bar 'foo' --programOpts.foo 'bar'

^ В этом случае bar и foo в programOpts неизвестны cli. Интерфейс командной строки знает только о programOpts и о том, что это неизвестный вектор параметров, специфичных для вызываемой базовой программы.

Я надеялся, что у Клэпа есть API для реализации такой вещи (рассматривал Arg и ArgGroup), но это не похоже на это.

Есть ли такой API?

1 Ответ

0 голосов
/ 23 января 2019

После дальнейших исследований я решил пойти по несколько иному пути и воспользоваться преимуществами известного синтаксиса UNIX --.

Это означает, что все опции и флаги, следующие за --, будут переданы основной программе:

$ cli --program [PROGRAM] -- foo bar --bazinga --yay=w00t

Это можно сделать с помощью конфигурации .raw() Хлопка на структурах Арг.

...