package gutenberg.pygments.styles;
import gutenberg.pygments.StyleSheet;
import gutenberg.util.RGB;
import static gutenberg.pygments.Token.*;
import static gutenberg.util.RGB.rgb;
import static gutenberg.util.Style.style;
/**
* @author <a href="http://twitter.com/aloyer">@aloyer</a>
*/
public class SolarizedDarkStyle extends StyleSheet {
private static final RGB BASE03 = RGB.rgb("#002B36");
private static final RGB BASE02 = RGB.rgb("#073642");
private static final RGB BASE01 = RGB.rgb("#586E75");
private static final RGB BASE00 = RGB.rgb("#657B83");
private static final RGB BASE0 = RGB.rgb("#839496");
private static final RGB BASE1 = RGB.rgb("#93A1A1");
private static final RGB BASE2 = RGB.rgb("#EEE8D5");
private static final RGB BASE3 = RGB.rgb("#FDF6E3");
private static final RGB YELLOW = RGB.rgb("#B58900");
private static final RGB ORANGE = RGB.rgb("#CB4B16");
private static final RGB RED = RGB.rgb("#DC322F");
private static final RGB MAGENTA = RGB.rgb("#D33682");
private static final RGB VIOLET = RGB.rgb("#6C71C4");
private static final RGB BLUE = RGB.rgb("#268BD2");
private static final RGB CYAN = RGB.rgb("#2AA198");
private static final RGB GREEN = RGB.rgb("#859900");
public SolarizedDarkStyle() {
backgroundColor(BASE03);
highlightColor(rgb("#49483e"));
initStyles();
}
protected void initStyles() {
define(Token, fg(BASE1));
//
define(Text);
define(Whitespace);
define(Error);
define(Other, fg(ORANGE));
//
define(Comment, fg(BASE01).italic());
define(CommentMultiline);
define(CommentPreproc, fg(GREEN));
define(CommentSingle);
define(CommentSpecial, fg(GREEN));
//
define(Keyword, fg(GREEN));
define(KeywordConstant, fg(ORANGE));
define(KeywordDeclaration, fg(BLUE));
define(KeywordNamespace);
define(KeywordPseudo);
define(KeywordReserved, fg(BLUE));
define(KeywordType, fg(RED));
//
define(Operator, fg(GREEN));
define(OperatorWord);
//
define(Punctuation);
//
define(Name);
define(NameAttribute, fg(BASE1));
define(NameBuiltin, fg(YELLOW));
define(NameBuiltinPseudo, fg(BLUE));
define(NameClass, fg(BLUE).bold());
define(NameConstant, fg(ORANGE));
define(NameDecorator, fg(BLUE));
define(NameEntity, fg(ORANGE).bold());
define(NameException, fg(ORANGE));
define(NameFunction, fg(BLUE));
define(NameProperty);
define(NameLabel);
define(NameNamespace);
define(NameOther);
define(NameTag, fg(BLUE).bold());
define(NameVariable, fg(BLUE));
define(NameVariableClass);
define(NameVariableGlobal);
define(NameVariableInstance);
//
define(Number, fg(CYAN));
define(NumberFloat);
define(NumberHex);
define(NumberInteger);
define(NumberIntegerLong);
define(NumberOct);
//
define(Literal);
define(LiteralDate);
//
define(String, fg(CYAN));
define(StringBacktick, fg(BASE01));
define(StringChar, fg(CYAN));
define(StringDoc, fg(BASE1));
define(StringDouble);
define(StringEscape, fg(ORANGE));
define(StringHeredoc, fg(BASE1));
define(StringInterpol);
define(StringOther);
define(StringRegex, fg(RED));
define(StringSingle);
define(StringSymbol, fg(CYAN));
//
define(Generic);
define(GenericDeleted, fg(CYAN));
define(GenericEmph, style().italic());
define(GenericError, fg(RED));
define(GenericHeading, fg(ORANGE));
define(GenericInserted, fg(GREEN));
define(GenericOutput);
define(GenericPrompt);
define(GenericStrong, style().bold());
define(GenericSubheading, fg(ORANGE));
define(GenericTraceback);
}
}