Уpicocli есть цветная справка по использованию ANSI и автозаполнение
Ответ 4
На дворе 2022 год, пора сделать лучше, чем Commons CLI ... :-)
Следует ли вам создать свой собственный анализатор командной строки Java или использовать библиотеку?
Многие небольшие утилитарные приложения, вероятно, запускают свой собственный синтаксический анализ командной строки, чтобы избежать дополнительной внешней зависимости. picocli может быть интересной альтернативой.
Picocli - это современная библиотека и фреймворк для простого создания мощных, удобных в использовании приложений командной строки с поддержкой GraalVM. Он находится в 1 исходном файле, поэтому приложения могут включать его в качестве исходного, чтобы избежать добавления зависимости.
Он поддерживает цвета, автозаполнение, подкоманды и многое другое. Написан на Java, может использоваться в Groovy, Kotlin, Scala и др.
Характеристики:
Основанный на аннотациях: декларативный, позволяет избежать дублирования и выражаетнамерения программиста
Удобно: проанализируйте пользовательский ввод и запустите свою бизнес-логику с помощью одной строки кода
Строго типизированное все - параметры командной строки, а также позиционные параметры
Короткие параметры кластеризации POSIX (<command> -xvfInputFile а также <command> -x -v -f InputFile)
Детализированное управление: модель arity, которая допускает минимальное, максимальное и переменное количество параметров, например, "1..*", "3..5"
Подкоманды (могут быть вложены на произвольную глубину)
Многофункциональность: составные группы аргументов, разделение аргументов в кавычках, повторяющиеся подкоманды и многое другое
Удобство для пользователя: в сообщении справки по использованию используются цвета для выделения важных элементов, таких как названия опций, из остальной части использования, что помогает снизить когнитивную нагрузку на пользователя
Я не смог удержаться, чтобы не добавить еще один скриншот, чтобы показать, какие сообщения справки по использованию возможны. Справка по использованию - это лицо вашего приложения, так что проявите творческий подход и получайте удовольствие!
Отказ от ответственности: я создал picocli. Обратная связь или вопросы очень приветствуются.