У меня есть программа foo
, которая использует Clap для обработки разбора аргументов команды. foo
вызывает другую программу, bar
. Недавно я решил, что пользователи foo
должны иметь возможность передавать аргументы bar
, если им нравится. Я добавил команду bar
в хлопок:
let matches = App::new("Foo")
.arg(Arg::with_name("file").value_name("FILE").required(true))
.arg(
Arg::with_name("bar")
.value_name("[BAR_OPTIONS]")
.short("b")
.long("bar")
.multiple(true)
.help("Invoke bar with these options"),
)
.get_matches();
Когда я пытаюсь передать команду "-baz=3"
на bar
примерно так:
./foo -b -baz=3 file.txt
или
./foo -b "-baz=3" file.txt
clap
возвращает эту ошибку:
error: Found argument '-b' which wasn't expected, or isn't valid in this context
Как мне туннелировать команды через Clap?