Объединение анализаторов опций CommandLine с Scopt
Я сейчас пользуюсь scopt
для приложения командной строки. Однако Мой scopt.OptionParser[Config]
становится очень большим. Я подумал, что было бы неплохо разбить его на более мелкие части, а затем объединить их.
После прочтения документации я не вижу никакого способа сделать это.
Я что-то пропустил? Или это невозможно?
1 ответ
Решение
Да, это может быть разбито на более мелкие куски. Вы можете сделать это, переместив функциональность в черты, например:
trait FooParser { self: OptionParser[MyArgs] =>
cmd("foo")
...
}
trait BarParser { self: OptionParser[MyArgs] =>
cmd("bar")
...
}
val fooBarParser = new OptionParser[MyArgs]("FooBar") with FooParser with BarParser {
head("FooBar")
...
}