private Text createLongOptionText(OptionSpec option, IParamLabelRenderer renderer, ColorScheme scheme, String longOption) { Text paramLabelText = renderer.renderParameterLabel(option, scheme.ansi(), scheme.optionParamStyles); // if no long option, fill in the space between the short option name and the param label value if (paramLabelText.length > 0 && longOption.length() == 0) { sep = renderer.separator(); // #181 paramLabelText may be =LABEL or [=LABEL...] int sepStart = paramLabelText.plainString().indexOf(sep); Text prefix = paramLabelText.substring(0, sepStart); paramLabelText = prefix.concat(paramLabelText.substring(sepStart + sep.length())); } Text longOptionText = scheme.optionText(longOption); longOptionText = longOptionText.concat(paramLabelText); return longOptionText; }
private int copy(BreakIterator line, Text text, Text columnValue, int offset) { // Deceive the BreakIterator to ensure no line breaks after '-' character line.setText(text.plainString().replace("-", "\u00ff")); int done = 0; for (int start = line.first(), end = line.next(); end != BreakIterator.DONE; start = end, end = line.next()) { Text word = text.substring(start, end); //.replace("\u00ff", "-"); // not needed if (columnValue.maxLength >= offset + done + length(word)) { done += copy(word, columnValue, offset + done); // TODO messages length } else { break; } } if (done == 0 && length(text) + offset > columnValue.maxLength) { // The value is a single word that is too big to be written to the column. Write as much as we can. done = copy(text, columnValue, offset); } return done; } private static int copy(Text value, Text destination, int offset) {
private Text createLongOptionText(OptionSpec option, IParamLabelRenderer renderer, ColorScheme scheme, String longOption) { Text paramLabelText = renderer.renderParameterLabel(option, scheme.ansi(), scheme.optionParamStyles); // if no long option, fill in the space between the short option name and the param label value if (paramLabelText.length > 0 && longOption.length() == 0) { sep = renderer.separator(); // #181 paramLabelText may be =LABEL or [=LABEL...] int sepStart = paramLabelText.plainString().indexOf(sep); Text prefix = paramLabelText.substring(0, sepStart); paramLabelText = prefix.concat(paramLabelText.substring(sepStart + sep.length())); } Text longOptionText = scheme.optionText(longOption); longOptionText = longOptionText.concat(paramLabelText); return longOptionText; }
private int copy(BreakIterator line, Text text, Text columnValue, int offset) { // Deceive the BreakIterator to ensure no line breaks after '-' character line.setText(text.plainString().replace("-", "\u00ff")); int done = 0; for (int start = line.first(), end = line.next(); end != BreakIterator.DONE; start = end, end = line.next()) { Text word = text.substring(start, end); //.replace("\u00ff", "-"); // not needed if (columnValue.maxLength >= offset + done + length(word)) { done += copy(word, columnValue, offset + done); // TODO messages length } else { break; } } if (done == 0 && length(text) + offset > columnValue.maxLength) { // The value is a single word that is too big to be written to the column. Write as much as we can. done = copy(text, columnValue, offset); } return done; } private static int copy(Text value, Text destination, int offset) {
@Test public void testMinimalParameterRenderer() { Help.MinimalParameterRenderer renderer = new Help.MinimalParameterRenderer(); Text[][] texts = renderer.render(PositionalParamSpec.builder().build(), Help.createMinimalParamLabelRenderer(), new ColorScheme()); assertEquals("", texts[0][1].plainString()); }
@Test public void testMinimalOptionRenderer() { Help.MinimalOptionRenderer renderer = new Help.MinimalOptionRenderer(); Text[][] texts = renderer.render(OptionSpec.builder("-x").build(), Help.createMinimalParamLabelRenderer(), new ColorScheme()); assertEquals("", texts[0][1].plainString()); }
@Test public void testMinimalParameterRenderer() { Help.MinimalParameterRenderer renderer = new Help.MinimalParameterRenderer(); Text[][] texts = renderer.render(PositionalParamSpec.builder().build(), Help.createMinimalParamLabelRenderer(), new ColorScheme()); assertEquals("", texts[0][1].plainString()); }
@Test public void testMinimalOptionRenderer() { Help.MinimalOptionRenderer renderer = new Help.MinimalOptionRenderer(); Text[][] texts = renderer.render(OptionSpec.builder("-x").build(), Help.createMinimalParamLabelRenderer(), new ColorScheme()); assertEquals("", texts[0][1].plainString()); }