параметры отображения подкоманд с использованием PicoCLI - PullRequest
1 голос
/ 10 июня 2019

Я использую PicoCLI v4.0.0-beta-1b.Я использую разные подкоманды, связанные с родительской командой.Необязательные параметры родительской команды отображаются, когда я запускаю CLI, но не для подкоманд.Подкоманды отображаются только под командами (но без параметров).Как можно гарантировать, что опции для подкоманд также появятся в CLI?

Options:
  -a, --autocomplete   Generate sample autocomplete
  -h, --help           Display this help message.
  -v, --verbose        Verbose mode. Helpful for troubleshooting.
  -V, --version        Show version info and exit.
Commands:
  abc
  def 

1 Ответ

1 голос
/ 10 июня 2019

По умолчанию picocli показывает только обзор подкоманд команды, но не содержит подробностей.Это следует соглашениям других наборов команд, таких как git.Идея состоит в том, что конечные пользователи всегда могут получить сведения о другой подкоманде, обратившись за помощью к этой конкретной подкоманде, например git commit --help или git help commit.

Несмотря на то, что это полезное значение по умолчанию, если это не то, что вам нужно, справка по использованию picocli очень настраиваемая .

Сообщение об использовании picocli имеет следующие разделы:

  • заголовок
  • заголовок
  • синопсис заголовок
  • синопсис
  • описание заголовок
  • описание
  • заголовок списка позиционных параметров
  • список позиционных параметров
  • заголовок списка параметров
  • список параметров
  • заголовок списка команд
  • список команд
  • заголовок списка кодов выхода (с 4.0)
  • список кодов выхода (с 4.0)
  • заголовок нижнего колонтитула
  • нижний колонтитул

Каждый раздел имеет свой собственный IHelpSectionRenderer , и вы можете изменить справку по использованию, удалив, переупорядочив или заменив эти средства визуализации справочного раздела.

Пример, с которого можно начать, приведен здесь: https://github.com/remkop/picocli/blob/master/picocli-examples/src/main/java/picocli/examples/customhelp/ShowAll.java

В приведенном выше примере есть пользовательский IHelpSectionRenderer для списка команд, чтобы показатьполная иерархия команд, подкоманд и подкоманд и т. д. Возможно, вы захотите сделать что-то подобное, но вместо этого покажите опции подкоманд.

Вам необходимо ознакомиться с некоторыми деталями picocli Справка API, например TextTable , Макет , IOptionRenderer и т. Д.

...