Анализатор командной строки Scala с поддержкой подкоманд

Я ищу парсер командной строки для Scala с поддержкой подкоманд (что-то похожее на argparse в Python). Кажется, что есть несколько различных анализаторов командной строки для Scala (Scopt, Argot и т. Д.), Но ни один из них, похоже, не поддерживает разбор подкоманд. Я просто упускаю тот факт, что эти другие библиотеки поддерживают подкоманды, и, если нет, существуют ли такие библиотеки?

4 ответа

Решение

Вы можете быть заинтересованы в пикокли. Он поддерживает подкоманды, среди прочего.

Picocli генерирует цветную справку об использовании, когда базовая платформа поддерживает управляющие коды ANSI.

введите описание изображения здесь

Я полагаю, что уже слишком поздно, чтобы помочь задающему вопрос, но есть анализатор командной строки, который теперь поддерживает подкоманды (февраль 2013 г.).

Scallop поддерживает подкоманды. Скопировано из README там (см. Последнюю строку цитаты):

Scallop supports:

    - flag, single-value and multiple value options
    - POSIX-style short option names (-a) with grouping (-abc)
    - GNU-style long option names (--opt)
    - Property arguments (-Dkey=value, -D key1=value key2=value)
    - Non-string types of options and properties values (with extendable converters)
    - Powerful matching on trailing args
    - Subcommands

Если вы хотите, чтобы ваша программа более или менее оставалась в рамках набора функциональных идиом, рассмотрите что-то вроде scala-optparse-applicative:

Хотя я чувствую, что вам не следует создавать приложения для командной строки в Scala, если вам необходимо, вы можете проверить JCommander Седрика Буэста, который является библиотекой Java, но, очевидно, будет работать для Scala и должен делать все, что вам нужно.

Другие вопросы по тегам