Rust CLI с Clap ( tucson-josh.com )
Хорошая статья. «Хорошая» семантика CLI довольно дьявольская, и в целом я считаю, что clap отлично справляется с выбором правильного (или, по крайней мере, наиболее интуитивно понятного) поведения.
(Один пограничный случай, который постоянно сбивает меня с толку и с которым также борются другие анализаторы аргументов: резервная переменная окружения имеет тот же «вес», что и ее опциональный аналог, поэтому любой CLI, использующий группировку/исключительность, в конечном итоге столкнется с путаницей у пользователя, когда пользователь передает `–exclusive` и получает ошибку из-за несвязанной переменной окружения.)
Гарантии времени компиляции + декларативная природа делают Clap таким удивительным и надежным. Это как рай по сравнению с императивными, тайными заклинаниями вроде getopt.
Source: news.ycombinator.com