Clap (clap) — популярная библиотека для Rust, предназначенная для парсинга аргументов командной строки (CLI‑приложений).
Ключевые возможности:
- парсинг аргументов и флагов (в т. ч. коротких -v и длинных --verbose);
- поддержка подкоманд (subcommands) для структурирования функционала;
- автоматическая генерация сообщений помощи (--help) и версии (--version);
- валидация входных данных;
- установка значений по умолчанию для аргументов;
- привязка аргументов к переменным окружения (env);
- гибкая настройка через два стиля API:
- derive‑стиль (декларативный, через атрибуты и #[derive(Parser)] — подходит для большинства случаев);
- builder‑стиль (императивный, ручное построение конфигурации — для сложных сценариев с динамической настройкой);
- встроенная обработка ошибок с понятными сообщениями;
- поддержка перечислений (enum) как допустимых значений аргументов (ValueEnum).