public void displayHelp()

in daemon/src/main/java/org/apache/maven/cli/CommonsCliDaemonMavenOptions.java [59:135]


        public void displayHelp(String command, Consumer<String> pw) {
            List<String> mvnHelp = new ArrayList<>();
            super.displayHelp(command, mvnHelp::add);
            final Matcher m = COLUMNS_DETECTOR_PATTERN.matcher(String.join("\n", mvnHelp));
            final String indent = m.find() ? m.group() : "                                        ";

            int terminalWidth = getTerminalWidth() <= 0 ? 74 : getTerminalWidth();
            final String lineSeparator = System.lineSeparator();
            final StringBuilder help = new StringBuilder().append(lineSeparator).append("mvnd specific options:");

            Environment.documentedEntries().forEach(entry -> {
                final Environment env = entry.getEntry();
                help.append(lineSeparator);
                int indentPos = help.length() + indent.length();
                int lineEnd = help.length() + terminalWidth;
                spaces(help, HelpFormatter.DEFAULT_LEFT_PAD);
                final String property = env.getProperty();
                if (property != null) {
                    help.append("-D").append(property);
                    if (env.getType() != OptionType.VOID) {
                        help.append("=<")
                                .append(env.getType().name().toLowerCase(Locale.ROOT))
                                .append('>');
                    }
                }

                final Set<String> opts = env.getOptions();
                if (!opts.isEmpty()) {
                    if (property != null) {
                        help.append(';');
                    }
                    boolean first = true;
                    for (String opt : opts) {
                        if (first) {
                            first = false;
                        } else {
                            help.append(',');
                        }
                        help.append(opt);
                    }
                    if (env.getType() != OptionType.VOID) {
                        help.append(" <")
                                .append(env.getType().name().toLowerCase(Locale.ROOT))
                                .append('>');
                    }
                }
                help.append(' ');

                spaces(help, indentPos - help.length());
                wrap(help, toPlainText(entry.getJavaDoc()), terminalWidth, lineEnd, indent);

                if (env.isDocumentedAsDiscriminating()) {
                    indentedLine(help, terminalWidth, "This is a discriminating start parameter.", indent);
                }
                if (env.getDefault() != null) {
                    indentedLine(help, terminalWidth, "Default: " + env.getDefault(), indent);
                }
                if (env.getEnvironmentVariable() != null) {
                    indentedLine(help, terminalWidth, "Env. variable: " + env.getEnvironmentVariable(), indent);
                }
            });

            help.append(lineSeparator).append(lineSeparator).append("mvnd value types:");

            OptionType.documentedEntries().forEach(entry -> {
                final OptionType type = entry.getEntry();
                help.append(lineSeparator);
                int indentPos = help.length() + indent.length();
                int lineEnd = help.length() + terminalWidth;
                spaces(help, HelpFormatter.DEFAULT_LEFT_PAD);
                help.append(type.name().toLowerCase(Locale.ROOT));
                spaces(help, indentPos - help.length());
                wrap(help, toPlainText(entry.getJavaDoc()), terminalWidth, lineEnd, indent);
            });
            Stream.concat(mvnHelp.stream(), Stream.of(help.toString().split(lineSeparator)))
                    .forEach(pw);
        }