使用帮助消息中的Picocli选项列表对齐问题

时间:2019-06-08 22:45:33

标签: picocli

我正在使用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 个答案:

答案 0 :(得分:1)

您可能已经找到一个错误。我会调查。


更新:

靠近输出:

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

您可以看到--v选项和--version选项都有两个前导-连字符。这就是为什么picocli都将它们都视为“多头期权”,并将它们放在“多头期权”栏中。

如果为--v选项提供单个前导连字符,使其成为POSIX兼容的短选项-v,则应正确对齐。