Что это такое?
clap — полнофункциональный и быстрый парсер аргументов командной строки для Rust. С его помощью можно создавать CLI с флагами, опциями, позиционными аргументами и подкомандами, а также автоматически генерируемой справкой и текстом использования.
Это библиотека, которую я подключаю к своему коду, или отдельное приложение?
Это библиотека Rust (крейт): вы подключаете её как зависимость и с её помощью создаёте собственный парсер аргументов командной строки — либо декларативно, с помощью derive-макросов для структуры, либо процедурно, через builder API.
Как подключить её к моему проекту на Rust?
Добавьте clap как зависимость в Cargo.toml (например, командой cargo add clap), а затем опишите CLI либо через derive от структуры, либо собрав его процедурно через builder API. Подробное описание использования и примеры приведены в README по ссылкам.
Поддерживает ли clap подкоманды и позиционные аргументы из коробки?
Да, в темах проекта перечислены argument-parsing, positional-arguments, parsed-arguments и subcommands как ключевые возможности основного парсера.
Где найти полную документацию и примеры использования?
В README есть ссылка на docs.rs с справочником по API и на раздел с примерами в репозитории, где приведены готовые реализации CLI.
Что лучше использовать: derive-макрос или builder API?
Оба варианта равноценны: derive позволяет описать CLI декларативно по полям структуры, а builder API — собрать тот же парсер процедурно в коде. Выбирайте тот, что вам удобнее.
Which topics is it in?
parser, cli-tool, command-line, rust, command-line-tool, apache-2.0, library, cli, cross-platform, developer-tools, mit