всмысле я должен писать везде — ?
тебе надо сделать главную структуру, дераявищую Parser, внутри сделать enum для Subcommands, в одном из полей которой сделать тупл из векторов OsString с навешанным external_subcommand. Там в примерах было у clap
дичь, мне не нравится что clap парсит все
Вот здесь посмотри, echo похоже на описываемое в этом примере https://github.com/clap-rs/clap/blob/v3.1.0/examples/git-derive.rs#L55-L57
Это в любом случае будет проще чем свой велосипед писать.
а еще мне не нравится что clap владеет аргументами, в моей реализации парсер владеет только слайсами исходной строки
В каком месте он владеет? Разве клэп не овнит итератор?
Ну, в таком случае мои полномочия всё 🤷♂️
В чем? by_ref то пробовал?
Результат парсинга не итератор, а владеющая структура (как правило, с полями).
По-моему ему нужно, чтобы владение инпутом не забиралось
в моей реализации парсер возврашает ссылки на слайсы и ничего не овнит, мне кажется это довольно удобно
Это обычный подход. Так и nom, и combine делают
если убрать .last(true) то явный "--" для экранирования аргументов не будет нужен
Обсуждают сегодня