From 8b6d4b1e5555a89fa552687e7379b084cf5ad29d Mon Sep 17 00:00:00 2001 From: Brian Demers Date: Tue, 26 May 2020 12:19:02 -0400 Subject: [PATCH] Move option.hidden logic to writeOption method --- .../docgen/manpage/ManPageGenerator.java | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/picocli-codegen/src/main/java/picocli/codegen/docgen/manpage/ManPageGenerator.java b/picocli-codegen/src/main/java/picocli/codegen/docgen/manpage/ManPageGenerator.java index b017f6a2..a6dbd5dd 100644 --- a/picocli-codegen/src/main/java/picocli/codegen/docgen/manpage/ManPageGenerator.java +++ b/picocli-codegen/src/main/java/picocli/codegen/docgen/manpage/ManPageGenerator.java @@ -384,14 +384,6 @@ public class ManPageGenerator { IParameterRenderer parameterRenderer = spec.commandLine().getHelp().createDefaultParameterRenderer(); List options = new ArrayList(spec.options()); // options are stored in order of declaration - - // remove hidden options - for (Iterator iter = options.iterator(); iter.hasNext();) { - if (iter.next().hidden()) { - iter.remove(); - } - } - List 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 subCommands = new LinkedHashMap(spec.subcommands()); for (Iterator> iter = subCommands.entrySet().iterator(); iter.hasNext();) { if (iter.next().getValue().getCommandSpec().usageMessage().hidden()) {