Анализатор командной строки Scala с поддержкой подкоманд - PullRequest
11 голосов
/ 13 ноября 2011

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

Ответы [ 4 ]

4 голосов
/ 28 февраля 2013

Слишком поздно, чтобы помочь задающему вопрос, я думаю, но есть анализатор командной строки, который теперь поддерживает подкоманды (февраль 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
3 голосов
/ 04 мая 2017

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

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

enter image description here

1 голос
/ 04 декабря 2014

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

0 голосов
/ 21 ноября 2011

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

...