我正在使用使用 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
第一个选项始终未对齐。 我正在努力确保第一个选项与其他选项在同一级别上对齐。
你可能发现了一个错误。我会调查的。
更新:
仔细观察输出:
Options:
--v, --version Show ...
-a, --autocomplete Generate ...
您可以看到--v
选项和--version
选项都有两个前导-
连字符。这就是为什么 picocli 将两者都视为"多头期权"并将它们放在多头期权的列中。
如果为--v
选项提供单个前导连字符,使其成为符合 POSIX 标准的短选项-v
,您应该会看到它正确排列。