parser.formatHelpWith(new BuiltinHelpFormatter(1024, 2)); parser.allowsUnrecognizedOptions(); parser.posixlyCorrect(System.getenv("POSIXLY_CORRECT") != null);
/** * <p>Adds help rows for the given options.</p> * * <p>This implementation loops over the given options, and for each, calls {@link #addOptionRow(String, String)} * using the results of {@link #createOptionDisplay(OptionDescriptor)} and * {@link #createDescriptionDisplay(OptionDescriptor)}, respectively, as arguments.</p> * * @param options descriptors for the configured options of a parser */ protected void addOptions( Collection<? extends OptionDescriptor> options ) { for ( OptionDescriptor each : options ) { if ( !each.representsNonOptions() ) addOptionRow( createOptionDisplay( each ), createDescriptionDisplay( each ) ); } }
public String printHelpOn(int desiredOverallWidth, int desiredColumnSeparatorWidth) { // try { return new BuiltinHelpFormatter(desiredOverallWidth, desiredColumnSeparatorWidth).format(((AbbreviationMap) OpenBean.getFieldValue( parser, "recognizedOptions")).toJavaUtilMap()); // parser.printHelpOn(sink); // } catch (IOException e) { // throw Exceptions.runtime(e); // } }
void addHelpLineFor( OptionDescriptor descriptor, String additionalInfo ) { grid.addRow( createOptionDisplay( descriptor ) + additionalInfo, createDescriptionDisplay( descriptor ) ); }
private void addHelpLineFor( OptionDescriptor descriptor ) { if ( descriptor.acceptsArguments() ) { if ( descriptor.requiresArgument() ) addHelpLineWithArgument( descriptor, '<', '>' ); else addHelpLineWithArgument( descriptor, '[', ']' ); } else { addHelpLineFor( descriptor, "" ); } }
private void addHelpLineWithArgument( OptionDescriptor descriptor, char begin, char end ) { String argDescription = descriptor.argumentDescription(); String typeIndicator = typeIndicator( descriptor ); StringBuilder collector = new StringBuilder(); if ( typeIndicator.length() > 0 ) { collector.append( typeIndicator ); if ( argDescription.length() > 0 ) collector.append( ": " ).append( argDescription ); } else if ( argDescription.length() > 0 ) collector.append( argDescription ); String helpLine = collector.length() == 0 ? "" : ' ' + surround( collector.toString(), begin, end ); addHelpLineFor( descriptor, helpLine ); }
public String format( Map<String, ? extends OptionDescriptor> options ) { if ( options.isEmpty() ) return "No options specified"; grid = new ColumnarData( optionHeader( options ), "Description" ); Comparator<OptionDescriptor> comparator = new Comparator<OptionDescriptor>() { public int compare( OptionDescriptor first, OptionDescriptor second ) { return first.options().iterator().next().compareTo( second.options().iterator().next() ); } }; Set<OptionDescriptor> sorted = new TreeSet<OptionDescriptor>( comparator ); sorted.addAll( options.values() ); for ( OptionDescriptor each : sorted ) addHelpLineFor( each ); return grid.format(); }
/** * <p>Gives a string representing a description of the option with the given descriptor.</p> * * <p>This implementation:</p> * <ul> * <li>Asks for the descriptor's {@link OptionDescriptor#defaultValues()}</li> * <li>If they're not present, answers the descriptor's {@link OptionDescriptor#description()}.</li> * <li>If they are present, concatenates and returns: * <ul> * <li>the descriptor's {@link OptionDescriptor#description()}</li> * <li>{@code ' '}</li> * <li>{@code "default: "} plus the result of {@link #createDefaultValuesDisplay(java.util.List)}, * surrounded by parentheses</li> * </ul> * </li> * </ul> * * @param descriptor a descriptor for a configured option of a parser * @return display text for the option's description */ protected String createDescriptionDisplay( OptionDescriptor descriptor ) { List<?> defaultValues = descriptor.defaultValues(); if ( defaultValues.isEmpty() ) return descriptor.description(); String defaultValuesDisplay = createDefaultValuesDisplay( defaultValues ); return ( descriptor.description() + ' ' + surround( message( "default.value.header" ) + ' ' + defaultValuesDisplay, '(', ')' ) ).trim(); }
private String createDescriptionDisplay( OptionDescriptor descriptor ) { List<?> defaultValues = descriptor.defaultValues(); if ( defaultValues.isEmpty() ) return descriptor.description(); String defaultValuesDisplay = createDefaultValuesDisplay( defaultValues ); return descriptor.description() + ' ' + surround( "default: " + defaultValuesDisplay, '(', ')' ); }
void addHelpLineFor( OptionDescriptor descriptor, String additionalInfo ) { grid.addRow( createOptionDisplay( descriptor ) + additionalInfo, createDescriptionDisplay( descriptor ) ); }
private void addHelpLineFor( OptionDescriptor descriptor ) { if ( descriptor.acceptsArguments() ) { if ( descriptor.requiresArgument() ) addHelpLineWithArgument( descriptor, '<', '>' ); else addHelpLineWithArgument( descriptor, '[', ']' ); } else { addHelpLineFor( descriptor, "" ); } }
private void addHelpLineWithArgument( OptionDescriptor descriptor, char begin, char end ) { String argDescription = descriptor.argumentDescription(); String typeIndicator = typeIndicator( descriptor ); StringBuilder collector = new StringBuilder(); if ( typeIndicator.length() > 0 ) { collector.append( typeIndicator ); if ( argDescription.length() > 0 ) collector.append( ": " ).append( argDescription ); } else if ( argDescription.length() > 0 ) collector.append( argDescription ); String helpLine = collector.length() == 0 ? "" : ' ' + surround( collector.toString(), begin, end ); addHelpLineFor( descriptor, helpLine ); }
public String format( Map<String, ? extends OptionDescriptor> options ) { if ( options.isEmpty() ) return "No options specified"; grid = new ColumnarData( optionHeader( options ), "Description" ); Comparator<OptionDescriptor> comparator = new Comparator<OptionDescriptor>() { public int compare( OptionDescriptor first, OptionDescriptor second ) { return first.options().iterator().next().compareTo( second.options().iterator().next() ); } }; Set<OptionDescriptor> sorted = new TreeSet<OptionDescriptor>( comparator ); sorted.addAll( options.values() ); for ( OptionDescriptor each : sorted ) addHelpLineFor( each ); return grid.format(); }
.orElse( String.valueOf( v ) ) ) .collect( toList() ); String defaultValuesDisplay = createDefaultValuesDisplay( stringifiedDefaults ); return ( descriptor.description() + ' ' + surround( message( "default.value.header" ) + ' ' + defaultValuesDisplay, '(', ')' ) ).trim();
private String createDescriptionDisplay( OptionDescriptor descriptor ) { List<?> defaultValues = descriptor.defaultValues(); if ( defaultValues.isEmpty() ) return descriptor.description(); String defaultValuesDisplay = createDefaultValuesDisplay( defaultValues ); return descriptor.description() + ' ' + surround( "default: " + defaultValuesDisplay, '(', ')' ); }
public void printHelpOn(PrintStream sink, String errorMessage) throws IOException { sink.println(OpenbookCleaner.class.getSimpleName() + " usage: java ... [options] <book_id>*\n"); // TODO: As soon as https://github.com/pholser/jopt-simple/issues/85 is fixed, // remove this call or correct it to '...new BuiltinHelpFormatter(80, 4)' formatHelpWith(new BuiltinHelpFormatter(106, 4)); printHelpOn(sink); sink.println("\nbook_id1 book_id2 ... Books to be downloaded & converted"); sink.println("\nLegal book IDs:"); String line = " all (magic value: all books)"; for (Book book : Book.books.values()) { if (line.length() + book.unpackDirectory.length() < 79) line += ", " + book.unpackDirectory; else { sink.println(line + ","); line = " " + book.unpackDirectory; } } sink.println(line); if (errorMessage != null) sink.println("\nError: " + errorMessage); } }
void addHelpLineFor( OptionDescriptor descriptor, String additionalInfo ) { grid.addRow( createOptionDisplay( descriptor ) + additionalInfo, createDescriptionDisplay( descriptor ) ); }
/** * <p>Adds help rows for the given options.</p> * * <p>This implementation loops over the given options, and for each, calls {@link #addOptionRow(String, String)} * using the results of {@link #createOptionDisplay(OptionDescriptor)} and * {@link #createDescriptionDisplay(OptionDescriptor)}, respectively, as arguments.</p> * * @param options descriptors for the configured options of a parser */ protected void addOptions( Collection<? extends OptionDescriptor> options ) { for ( OptionDescriptor each : options ) { if ( !each.representsNonOptions() ) addOptionRow( createOptionDisplay( each ), createDescriptionDisplay( each ) ); } }
private void addHelpLineFor( OptionDescriptor descriptor ) { if ( descriptor.acceptsArguments() ) { if ( descriptor.requiresArgument() ) addHelpLineWithArgument( descriptor, '<', '>' ); else addHelpLineWithArgument( descriptor, '[', ']' ); } else { addHelpLineFor( descriptor, "" ); } }
private void addHelpLineWithArgument( OptionDescriptor descriptor, char begin, char end ) { String argDescription = descriptor.argumentDescription(); String typeIndicator = typeIndicator( descriptor ); StringBuilder collector = new StringBuilder(); if ( typeIndicator.length() > 0 ) { collector.append( typeIndicator ); if ( argDescription.length() > 0 ) collector.append( ": " ).append( argDescription ); } else if ( argDescription.length() > 0 ) collector.append( argDescription ); String helpLine = collector.length() == 0 ? "" : ' ' + surround( collector.toString(), begin, end ); addHelpLineFor( descriptor, helpLine ); }