public Builder color(String color, boolean fgBright) { if (color == null) { this.color = COLOR_PALETTE[globalColorIdx++ % COLOR_PALETTE.length]; } else { try { this.color = Ansi.Color.valueOf(color.toUpperCase()); this.fgBright = fgBright; } catch (IllegalArgumentException exp) { throw new IllegalArgumentException( "Invalid color '" + color + "'. Color must be one of YELLOW, CYAN, MAGENTA, GREEN, RED, BLUE or BLACK"); } } return this; }
public Builder color(String color) { if (color == null) { this.color = COLOR_PALETTE[globalColorIdx++ % COLOR_PALETTE.length]; } else { try { this.color = Ansi.Color.valueOf(color.toUpperCase()); } catch (IllegalArgumentException exp) { throw new IllegalArgumentException( "Invalid color '" + color + "'. Color must be one YELLOW, CYAN, MAGENTA, GREEN, RED or BLUE"); } } return this; }
private Color createColorFromSpec(String colorSpec) { Color cachedColor = colorBySpec.get(colorSpec); if (cachedColor != null) { return cachedColor; } if (colorSpec.equalsIgnoreCase(BOLD)) { return newBoldColor(); } if (colorSpec.equalsIgnoreCase("reverse")) { return newReverseColor(); } if (colorSpec.equalsIgnoreCase("italic")) { return newItalicColor(); } if (colorSpec.contains("-")) { String[] colors = colorSpec.split("-"); ArrayList<Color> colorList = new ArrayList(colors.length); for (String color : colors) { colorList.add(createColorFromSpec(color)); } return new CompositeColor(colorList); } Ansi.Color ansiColor = Ansi.Color.valueOf(colorSpec.toUpperCase()); if (ansiColor != DEFAULT) { return new ForegroundColor(ansiColor); } return noDecoration; }
@Override public Color getColourFor(Style style) { List<Color> colors = new ArrayList<Color>(); for (Style.Emphasis emphasis : style.getEmphasises()) { if (emphasis.equals(Style.Emphasis.BOLD)) { colors.add(newBoldColor()); } else if (emphasis.equals(Style.Emphasis.REVERSE)) { colors.add(newReverseColor()); } else if (emphasis.equals(Style.Emphasis.ITALIC)) { colors.add(newItalicColor()); } } if (style.getColor().equals(Style.Color.GREY)) { colors.add(new BrightForegroundColor(Ansi.Color.BLACK)); } else { Ansi.Color ansiColor = Ansi.Color.valueOf(style.getColor().name().toUpperCase()); if (ansiColor != DEFAULT) { colors.add(new ForegroundColor(ansiColor)); } } return new CompositeColor(colors); }