Move option.hidden logic to writeOption method

This commit is contained in:
Brian Demers
2020-05-26 12:19:02 -04:00
committed by Remko Popma
parent b5e3db360b
commit 8b6d4b1e55

View File

@@ -384,14 +384,6 @@ public class ManPageGenerator {
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();
}
}
List<ArgGroupSpec> groups = optionListGroups(spec);
for (ArgGroupSpec group : groups) { options.removeAll(group.options()); }
@@ -442,12 +434,14 @@ public class ManPageGenerator {
}
private static void writeOption(PrintWriter pw, IOptionRenderer optionRenderer, IParamLabelRenderer paramLabelRenderer, OptionSpec option) {
pw.println();
Text[][] rows = optionRenderer.render(option, paramLabelRenderer, COLOR_SCHEME);
pw.printf("%s::%n", join(", ", rows[0][1], rows[0][3]));
pw.printf(" %s%n", rows[0][4]);
for (int i = 1; i < rows.length; i++) {
pw.printf("+%n%s%n", rows[i][4]);
if (!option.hidden()) {
pw.println();
Text[][] rows = optionRenderer.render(option, paramLabelRenderer, COLOR_SCHEME);
pw.printf("%s::%n", join(", ", rows[0][1], rows[0][3]));
pw.printf(" %s%n", rows[0][4]);
for (int i = 1; i < rows.length; i++) {
pw.printf("+%n%s%n", rows[i][4]);
}
}
}
@@ -495,7 +489,7 @@ public class ManPageGenerator {
static void genCommands(PrintWriter pw, CommandSpec spec) {
// remove hidden subcommands
// remove hidden subcommands before tags are added
Map<String, CommandLine> subCommands = new LinkedHashMap<String, CommandLine>(spec.subcommands());
for (Iterator<Map.Entry<String, CommandLine>> iter = subCommands.entrySet().iterator(); iter.hasNext();) {
if (iter.next().getValue().getCommandSpec().usageMessage().hidden()) {