public int compare(OptionSpec o1, OptionSpec o2) { if (o1 == null) { return 1; } else if (o2 == null) { return -1; } // options before params String[] names1 = ShortestFirst.sort(o1.names()); String[] names2 = ShortestFirst.sort(o2.names()); int result = names1[0].toUpperCase().compareTo(names2[0].toUpperCase()); // case insensitive sort result = result == 0 ? -names1[0].compareTo(names2[0]) : result; // lower case before upper case return o1.help() == o2.help() ? result : o2.help() ? -1 : 1; // help options come last } }
@SuppressWarnings("deprecation") private void printOptionAnnotation(PrintWriter pw, OptionSpec spec, String indent) { pw.printf("%s@%s", indent, importer.getImportedName(Option.class.getCanonicalName())); indent = String.format(",%n%s ", indent); String sep = "("; sep = appendStringArray(pw, sep, indent, "names = %s", spec.names(), EMPTY_ARRAY); sep = append(pw, sep, indent, "required = %s", spec.required(), false); sep = append(pw, sep, indent, "help = %s", spec.help(), false); sep = append(pw, sep, indent, "usageHelp = %s", spec.usageHelp(), false); sep = append(pw, sep, indent, "versionHelp = %s", spec.versionHelp(), false); sep = appendStringArray(pw, sep, indent, "description = %s", spec.description(), EMPTY_ARRAY); sep = append(pw, sep, indent, "arity = \"%s\"", spec.arity().toString(), spec.arity().isUnspecified() ? spec.arity().toString() : ""); sep = append(pw, sep, indent, "paramLabel = \"%s\"", spec.paramLabel(), "<" + argElementName(spec) + ">"); sep = append(pw, sep, indent, "hideParamSyntax = %s", spec.hideParamSyntax(), false); sep = appendTypeInfo(pw, sep, indent, spec.typeInfo()); sep = appendTypeConverter(pw, sep, indent, spec.converters()); sep = append(pw, sep, indent, "split = \"%s\"", spec.splitRegex(), ""); sep = append(pw, sep, indent, "hidden = %s", spec.hidden(), false); sep = append(pw, sep, indent, "defaultValue = %s", spec.defaultValue() == null ? "__no_default_value__" : spec.defaultValue(), "__no_default_value__"); sep = append(pw, sep, indent, "showDefaultValue = \"%s\"", spec.showDefaultValue(), CommandLine.Help.Visibility.ON_DEMAND); sep = appendCompletionCandidates(pw, sep, indent, spec); sep = append(pw, sep, indent, "interactive = %s", spec.interactive(), false); sep = append(pw, sep, indent, "descriptionKey = \"%s\"", spec.descriptionKey(), ""); if (!"(".equals(sep)) { pw.print(")"); } }
@Deprecated @Test public void testOptionDefaultHelpIsFalse() { assertFalse(OptionSpec.builder("-x").build().help()); } @Test
protected boolean internalShowDefaultValue(boolean usageMessageShowDefaults) { return super.internalShowDefaultValue(usageMessageShowDefaults) && !help() && !versionHelp() && !usageHelp(); }
@Deprecated @Test public void testOptionDefaultHelpIsFalse() { assertFalse(OptionSpec.builder("-x").build().help()); } @Test
public int compare(OptionSpec o1, OptionSpec o2) { if (o1 == null) { return 1; } else if (o2 == null) { return -1; } // options before params String[] names1 = ShortestFirst.sort(o1.names()); String[] names2 = ShortestFirst.sort(o2.names()); int result = names1[0].toUpperCase().compareTo(names2[0].toUpperCase()); // case insensitive sort result = result == 0 ? -names1[0].compareTo(names2[0]) : result; // lower case before upper case return o1.help() == o2.help() ? result : o2.help() ? -1 : 1; // help options come last } }
private void updateHelpRequested(ArgSpec argSpec) { if (argSpec.isOption()) { OptionSpec option = (OptionSpec) argSpec; isHelpRequested |= is(argSpec, "help", option.help()); parseResult.versionHelpRequested |= is(argSpec, "versionHelp", option.versionHelp()); parseResult.usageHelpRequested |= is(argSpec, "usageHelp", option.usageHelp()); } } private boolean is(ArgSpec p, String attribute, boolean value) {
protected boolean internalShowDefaultValue(boolean usageMessageShowDefaults) { return super.internalShowDefaultValue(usageMessageShowDefaults) && !help() && !versionHelp() && !usageHelp(); }
private void updateHelpRequested(ArgSpec argSpec) { if (!parseResult.isInitializingDefaultValues && argSpec.isOption()) { OptionSpec option = (OptionSpec) argSpec; isHelpRequested |= is(argSpec, "help", option.help()); parseResult.versionHelpRequested |= is(argSpec, "versionHelp", option.versionHelp()); parseResult.usageHelpRequested |= is(argSpec, "usageHelp", option.usageHelp()); } } private boolean is(ArgSpec p, String attribute, boolean value) {