【问题标题】:Picocli option list alignment problem in usage-help message使用帮助消息中的 Picocli 选项列表对齐问题
【发布时间】:2019-06-08 22:45:33
【问题描述】:

我正在使用一个使用 PicoCLI v4.0.0-alpha-3 的命令。 No matter which options I try, the one that shows at the top (when the list of options is displayed in the CL) is always to the right of the other options.如何配置它以使命令的所有选项都在同一级别对齐?

@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

第一个选项总是错位的。我正在努力确保第一个选项与其他选项处于同一级别。

【问题讨论】:

  • 仅供参考:picocli-4.0.0-beta-1b 已于上周发布。您可能想要升级。 :-)
  • 将更新依赖项并尝试您对单个连字符的建议

标签: picocli


【解决方案1】:

您可能发现了一个错误。我会调查的。


更新:

仔细观察输出:

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

您可以看到--v 选项和--version 选项都有两个前导- 连字符。这就是为什么 picocli 将两者都视为“长选项”并将它们放在长选项列中的原因。

如果您给--v 选项提供一个前导连字符,使其成为符合POSIX 的短选项-v,您应该会看到它正确排列。

【讨论】:

  • 是的,问题在于两个前导连字符。一旦我使用了单个连字符,选项的对齐方式就固定了。
猜你喜欢
  • 1970-01-01
  • 2013-04-28
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多