Obelisk::Styles
Constants
BW = (Style.new("bw", Color::WHITE)).tap do |style|
style.set(TokenType::Text, (StyleBuilder.new.color("#000000")).build)
style.set(TokenType::Error, (StyleBuilder.new.color("#000000")).underline.build)
style.set(TokenType::Comment, (StyleBuilder.new.color("#808080")).italic.build)
style.set(TokenType::CommentSingle, (StyleBuilder.new.color("#808080")).italic.build)
style.set(TokenType::CommentMultiline, (StyleBuilder.new.color("#808080")).italic.build)
style.set(TokenType::Keyword, (StyleBuilder.new.color("#000000")).bold.build)
style.set(TokenType::KeywordDeclaration, (StyleBuilder.new.color("#000000")).bold.build)
style.set(TokenType::KeywordType, (StyleBuilder.new.color("#000000")).bold.build)
style.set(TokenType::KeywordConstant, (StyleBuilder.new.color("#000000")).bold.build)
style.set(TokenType::Name, (StyleBuilder.new.color("#000000")).build)
style.set(TokenType::NameClass, (StyleBuilder.new.color("#000000")).bold.build)
style.set(TokenType::NameFunction, (StyleBuilder.new.color("#000000")).bold.build)
style.set(TokenType::NameConstant, (StyleBuilder.new.color("#000000")).bold.build)
style.set(TokenType::LiteralString, (StyleBuilder.new.color("#000000")).italic.build)
style.set(TokenType::LiteralStringDouble, (StyleBuilder.new.color("#000000")).italic.build)
style.set(TokenType::LiteralStringSingle, (StyleBuilder.new.color("#000000")).italic.build)
style.set(TokenType::LiteralStringBacktick, (StyleBuilder.new.color("#000000")).italic.build)
style.set(TokenType::LiteralStringSymbol, (StyleBuilder.new.color("#000000")).italic.build)
style.set(TokenType::LiteralNumber, (StyleBuilder.new.color("#000000")).build)
style.set(TokenType::Operator, (StyleBuilder.new.color("#000000")).build)
style.set(TokenType::Punctuation, (StyleBuilder.new.color("#000000")).build)
end
Simple black and white theme
GITHUB = (Style.new("github", Color.from_hex("#ffffff"))).tap do |style|
style.set(TokenType::Text, (StyleBuilder.new.color("#24292e")).build)
style.set(TokenType::Error, (StyleBuilder.new.color("#ff0000")).build)
style.set(TokenType::Comment, (StyleBuilder.new.color("#6a737d")).italic.build)
style.set(TokenType::CommentSingle, (StyleBuilder.new.color("#6a737d")).italic.build)
style.set(TokenType::CommentMultiline, (StyleBuilder.new.color("#6a737d")).italic.build)
style.set(TokenType::Keyword, (StyleBuilder.new.color("#d73a49")).bold.build)
style.set(TokenType::KeywordDeclaration, (StyleBuilder.new.color("#d73a49")).bold.build)
style.set(TokenType::KeywordType, (StyleBuilder.new.color("#d73a49")).bold.build)
style.set(TokenType::KeywordConstant, (StyleBuilder.new.color("#d73a49")).bold.build)
style.set(TokenType::Name, (StyleBuilder.new.color("#24292e")).build)
style.set(TokenType::NameClass, (StyleBuilder.new.color("#6f42c1")).build)
style.set(TokenType::NameFunction, (StyleBuilder.new.color("#6f42c1")).build)
style.set(TokenType::NameVariable, (StyleBuilder.new.color("#e36209")).build)
style.set(TokenType::NameVariableInstance, (StyleBuilder.new.color("#e36209")).build)
style.set(TokenType::NameVariableClass, (StyleBuilder.new.color("#e36209")).build)
style.set(TokenType::NameVariableGlobal, (StyleBuilder.new.color("#e36209")).build)
style.set(TokenType::NameConstant, (StyleBuilder.new.color("#005cc5")).build)
style.set(TokenType::LiteralString, (StyleBuilder.new.color("#032f62")).build)
style.set(TokenType::LiteralStringDouble, (StyleBuilder.new.color("#032f62")).build)
style.set(TokenType::LiteralStringSingle, (StyleBuilder.new.color("#032f62")).build)
style.set(TokenType::LiteralStringBacktick, (StyleBuilder.new.color("#032f62")).build)
style.set(TokenType::LiteralStringSymbol, (StyleBuilder.new.color("#032f62")).build)
style.set(TokenType::LiteralStringInterpol, (StyleBuilder.new.color("#032f62")).build)
style.set(TokenType::LiteralStringEscape, (StyleBuilder.new.color("#032f62")).bold.build)
style.set(TokenType::LiteralNumber, (StyleBuilder.new.color("#005cc5")).build)
style.set(TokenType::LiteralNumberInteger, (StyleBuilder.new.color("#005cc5")).build)
style.set(TokenType::LiteralNumberFloat, (StyleBuilder.new.color("#005cc5")).build)
style.set(TokenType::LiteralNumberHex, (StyleBuilder.new.color("#005cc5")).build)
style.set(TokenType::LiteralNumberBin, (StyleBuilder.new.color("#005cc5")).build)
style.set(TokenType::LiteralNumberOct, (StyleBuilder.new.color("#005cc5")).build)
style.set(TokenType::Operator, (StyleBuilder.new.color("#24292e")).build)
style.set(TokenType::Punctuation, (StyleBuilder.new.color("#24292e")).build)
end
GitHub-like style
GITHUB_IMPROVED = (Style.new("github-improved", Color.from_hex("#ffffff"))).tap do |style|
style.set(TokenType::Text, (StyleBuilder.new.color("#24292e")).build)
style.set(TokenType::Error, (StyleBuilder.new.color("#ff0000")).build)
style.set(TokenType::Comment, (StyleBuilder.new.color("#6a737d")).italic.build)
style.set(TokenType::Keyword, (StyleBuilder.new.color("#d73a49")).bold.build)
style.set(TokenType::Name, (StyleBuilder.new.color("#24292e")).build)
style.set(TokenType::NameClass, (StyleBuilder.new.color("#6f42c1")).build)
style.set(TokenType::NameFunction, (StyleBuilder.new.color("#6f42c1")).build)
style.set(TokenType::NameVariable, (StyleBuilder.new.color("#e36209")).build)
style.set(TokenType::NameConstant, (StyleBuilder.new.color("#005cc5")).build)
style.set(TokenType::LiteralString, (StyleBuilder.new.color("#032f62")).build)
style.set(TokenType::LiteralStringEscape, (StyleBuilder.new.color("#032f62")).bold.build)
style.set(TokenType::LiteralNumber, (StyleBuilder.new.color("#005cc5")).build)
style.set(TokenType::Operator, (StyleBuilder.new.color("#24292e")).build)
style.set(TokenType::Punctuation, (StyleBuilder.new.color("#24292e")).build)
end
GitHub-like style using token hierarchy inheritance This demonstrates how to use inheritance to reduce repetition
MONOKAI = (Style.new("monokai", Color.from_hex("#272822"))).tap do |style|
style.set(TokenType::Text, (StyleBuilder.new.color("#f8f8f2")).build)
style.set(TokenType::Error, ((StyleBuilder.new.color("#ff0000")).background("#1e0010")).build)
style.set(TokenType::Comment, (StyleBuilder.new.color("#75715e")).italic.build)
style.set(TokenType::CommentSingle, (StyleBuilder.new.color("#75715e")).italic.build)
style.set(TokenType::CommentMultiline, (StyleBuilder.new.color("#75715e")).italic.build)
style.set(TokenType::CommentSpecial, (StyleBuilder.new.color("#75715e")).italic.build)
style.set(TokenType::Keyword, (StyleBuilder.new.color("#f92672")).bold.build)
style.set(TokenType::KeywordDeclaration, (StyleBuilder.new.color("#f92672")).bold.build)
style.set(TokenType::KeywordNamespace, (StyleBuilder.new.color("#f92672")).build)
style.set(TokenType::KeywordType, (StyleBuilder.new.color("#66d9ef")).build)
style.set(TokenType::KeywordConstant, (StyleBuilder.new.color("#f92672")).build)
style.set(TokenType::Name, (StyleBuilder.new.color("#f8f8f2")).build)
style.set(TokenType::NameAttribute, (StyleBuilder.new.color("#a6e22e")).build)
style.set(TokenType::NameBuiltin, (StyleBuilder.new.color("#66d9ef")).build)
style.set(TokenType::NameClass, (StyleBuilder.new.color("#a6e22e")).build)
style.set(TokenType::NameConstant, (StyleBuilder.new.color("#66d9ef")).build)
style.set(TokenType::NameDecorator, (StyleBuilder.new.color("#a6e22e")).build)
style.set(TokenType::NameException, (StyleBuilder.new.color("#a6e22e")).build)
style.set(TokenType::NameFunction, (StyleBuilder.new.color("#a6e22e")).build)
style.set(TokenType::NameTag, (StyleBuilder.new.color("#f92672")).build)
style.set(TokenType::NameVariable, (StyleBuilder.new.color("#f8f8f2")).build)
style.set(TokenType::NameVariableInstance, (StyleBuilder.new.color("#f8f8f2")).build)
style.set(TokenType::NameVariableClass, (StyleBuilder.new.color("#f8f8f2")).build)
style.set(TokenType::NameVariableGlobal, (StyleBuilder.new.color("#f8f8f2")).build)
style.set(TokenType::LiteralString, (StyleBuilder.new.color("#e6db74")).build)
style.set(TokenType::LiteralStringBacktick, (StyleBuilder.new.color("#e6db74")).build)
style.set(TokenType::LiteralStringChar, (StyleBuilder.new.color("#e6db74")).build)
style.set(TokenType::LiteralStringDoc, (StyleBuilder.new.color("#e6db74")).build)
style.set(TokenType::LiteralStringDouble, (StyleBuilder.new.color("#e6db74")).build)
style.set(TokenType::LiteralStringEscape, (StyleBuilder.new.color("#ae81ff")).build)
style.set(TokenType::LiteralStringHeredoc, (StyleBuilder.new.color("#e6db74")).build)
style.set(TokenType::LiteralStringInterpol, (StyleBuilder.new.color("#e6db74")).build)
style.set(TokenType::LiteralStringOther, (StyleBuilder.new.color("#e6db74")).build)
style.set(TokenType::LiteralStringRegex, (StyleBuilder.new.color("#e6db74")).build)
style.set(TokenType::LiteralStringSingle, (StyleBuilder.new.color("#e6db74")).build)
style.set(TokenType::LiteralStringSymbol, (StyleBuilder.new.color("#e6db74")).build)
style.set(TokenType::LiteralNumber, (StyleBuilder.new.color("#ae81ff")).build)
style.set(TokenType::LiteralNumberBin, (StyleBuilder.new.color("#ae81ff")).build)
style.set(TokenType::LiteralNumberFloat, (StyleBuilder.new.color("#ae81ff")).build)
style.set(TokenType::LiteralNumberHex, (StyleBuilder.new.color("#ae81ff")).build)
style.set(TokenType::LiteralNumberInteger, (StyleBuilder.new.color("#ae81ff")).build)
style.set(TokenType::LiteralNumberIntegerLong, (StyleBuilder.new.color("#ae81ff")).build)
style.set(TokenType::LiteralNumberOct, (StyleBuilder.new.color("#ae81ff")).build)
style.set(TokenType::Operator, (StyleBuilder.new.color("#f92672")).build)
style.set(TokenType::OperatorWord, (StyleBuilder.new.color("#f92672")).build)
style.set(TokenType::Punctuation, (StyleBuilder.new.color("#f8f8f2")).build)
style.set(TokenType::GenericEmph, StyleBuilder.new.italic.build)
style.set(TokenType::GenericStrong, StyleBuilder.new.bold.build)
end
Dark theme (Monokai-inspired)