Проблема выравнивания списка опций Picocli в сообщении об использовании - PullRequest
1 голос
/ 09 июня 2019

Я использую команду, использующую PicoCLI v4.0.0-alpha-3.Независимо от того, какие опции я пробую, тот, который отображается вверху (когда список опций отображается в CL), всегда находится справа от других опций.Как это можно настроить так, чтобы все параметры команды были выровнены на одном уровне?

@CommandLine.Command(name = "",
        description = "test",
        header = "%n@|green test|@",
        footer = {"",
                "@|cyan Press Ctrl-D to exit the CLI.|@",
                ""},
        version = "1.0.0",
        showDefaultValues = true,
        optionListHeading = "@|bold %nOptions|@:%n",
        subcommands = {
                Abc.class,
                Def.class
        })
public class Tester implements Callable<Integer> {  

    @Option(names = {"-v", "--verbose"}, description = "Verbose mode. Helpful for troubleshooting.")
    private boolean verboseMode;

    @Option(names = {"-a", "--autocomplete"}, description = "Generate sample autocomplete")
    private boolean autocomplete;

Отображение на CLI

Options:
      --v, --version   Show version info and exit.
  -a, --autocomplete   Generate sample autocomplete

Первая опциявсегда смещенЯ пытаюсь убедиться, что первый вариант выровнен на том же уровне, что и другие параметры.

1 Ответ

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

Возможно, вы нашли ошибку.Я буду расследовать.


Обновление:

Присмотревшись к выводу:

Options:
      --v, --version   Show ...
  -a, --autocomplete   Generate ...

Вы можете видеть, что как опция --v, так и опция --version имеют дваведущие - дефисы.Вот почему picocli рассматривает оба варианта как «длинные» и помещает их в столбец для длинных вариантов.

Если вы укажете опции --v один начальный дефис, чтобы она стала POSIX-совместимой короткой опцией -v, вы должны увидеть, что она выстроена правильно.

...