Skip to content

Commit

Permalink
Moving option filtering logic above header tag in ManPageGen
Browse files Browse the repository at this point in the history
  • Loading branch information
bdemers authored and remkop committed May 28, 2020
1 parent 92a262b commit 4e14674
Showing 1 changed file with 11 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -373,28 +373,26 @@ private static String headerDescriptionString(CommandSpec spec) {
}

static void genOptions(PrintWriter pw, CommandSpec spec) {
if (spec.options().isEmpty()) {
return;
}
pw.printf("// tag::picocli-generated-man-section-options[]%n");
pw.printf("== Options%n");

IOptionRenderer optionRenderer = spec.commandLine().getHelp().createDefaultOptionRenderer();
IParamLabelRenderer paramLabelRenderer = spec.commandLine().getHelp().createDefaultParamLabelRenderer();
IParameterRenderer parameterRenderer = spec.commandLine().getHelp().createDefaultParameterRenderer();

List<OptionSpec> options = new ArrayList<OptionSpec>(spec.options()); // options are stored in order of declaration

// remove hidden options
for (Iterator<OptionSpec> iter = options.iterator(); iter.hasNext();) {
if (iter.next().hidden()) {
iter.remove();
}
if (iter.next().hidden()) { iter.remove(); }
}

IOptionRenderer optionRenderer = spec.commandLine().getHelp().createDefaultOptionRenderer();
IParamLabelRenderer paramLabelRenderer = spec.commandLine().getHelp().createDefaultParamLabelRenderer();
IParameterRenderer parameterRenderer = spec.commandLine().getHelp().createDefaultParameterRenderer();

List<ArgGroupSpec> groups = optionListGroups(spec);
for (ArgGroupSpec group : groups) { options.removeAll(group.options()); }

if (spec.options().isEmpty()) {
return;
}
pw.printf("// tag::picocli-generated-man-section-options[]%n");
pw.printf("== Options%n");

Comparator<OptionSpec> optionSort = spec.usageMessage().sortOptions()
? new SortByShortestOptionNameAlphabetically()
: createOrderComparatorIfNecessary(spec.options());
Expand Down

0 comments on commit 4e14674

Please sign in to comment.