module Skylighting.Styles (
    parseTheme
  , kate
  , breezeDark
  , pygments
  , espresso
  , tango
  , haddock
  , monochrome
  , zenburn) where

import Data.Aeson (eitherDecode)
import Data.ByteString.Lazy (ByteString)
import qualified Data.Map as Map
import Skylighting.Types

-- | Parse a KDE theme JSON document into a skylighting Style.
parseTheme :: ByteString -> Either String Style
parseTheme :: ByteString -> Either String Style
parseTheme = ByteString -> Either String Style
forall a. FromJSON a => ByteString -> Either String a
eitherDecode

color :: Int -> Maybe Color
color :: Int -> Maybe Color
color = Int -> Maybe Color
forall a. ToColor a => a -> Maybe Color
toColor

-- | Style based on kate's default colors.
kate :: Style
kate :: Style
kate = Style :: Map TokenType TokenStyle
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Style
Style{
      tokenStyles :: Map TokenType TokenStyle
tokenStyles = [(TokenType, TokenStyle)] -> Map TokenType TokenStyle
forall k a. Ord k => [(k, a)] -> Map k a
Map.fromList
        [ ( TokenType
KeywordTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 31 28 27), tokenBold :: Bool
tokenBold = Bool
True })
        , ( TokenType
DataTypeTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 0 87 174) })
        , ( TokenType
DecValTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 176 128 0) })
        , ( TokenType
BaseNTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 176 128 0) })
        , ( TokenType
FloatTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 176 128 0) })
        , ( TokenType
ConstantTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 170 85 0) })
        , ( TokenType
CharTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 146 76 157) })
        , ( TokenType
SpecialCharTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 61 174 233) })
        , ( TokenType
StringTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 191 3 3) })
        , ( TokenType
VerbatimStringTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 191 3 3) })
        , ( TokenType
SpecialStringTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 255 85 0) })
        , ( TokenType
ImportTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 255 85 0) })
        , ( TokenType
CommentTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 137 136 135) })
        , ( TokenType
DocumentationTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 96 120 128) })
        , ( TokenType
AnnotationTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 202 96 202) })
        , ( TokenType
CommentVarTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 0 149 255) })
        , ( TokenType
OtherTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 0 110 40) })
        , ( TokenType
FunctionTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 100 74 155) })
        , ( TokenType
VariableTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 0 87 174) })
        , ( TokenType
ControlFlowTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 31 28 27), tokenBold :: Bool
tokenBold = Bool
True })
        , ( TokenType
OperatorTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 31 28 27) })
        , ( TokenType
BuiltInTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 100 74 155), tokenBold :: Bool
tokenBold = Bool
True })
        , ( TokenType
ExtensionTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 0 149 255), tokenBold :: Bool
tokenBold = Bool
True })
        , ( TokenType
PreprocessorTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 0 110 40) })
        , ( TokenType
AttributeTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 0 87 174) })
        , ( TokenType
RegionMarkerTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 0 87 174), tokenBackground :: Maybe Color
tokenBackground = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 224 233 248)} )
        , ( TokenType
InformationTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 176 128 0) })
        , ( TokenType
WarningTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 191 3 3) })
        , ( TokenType
AlertTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 191 3 3), tokenBackground :: Maybe Color
tokenBackground = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 247 230 230), tokenBold :: Bool
tokenBold = Bool
True })
        , ( TokenType
ErrorTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 191 3 3), tokenUnderline :: Bool
tokenUnderline = Bool
True })
        , ( TokenType
NormalTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 31 28 27) })
        ]
    , defaultColor :: Maybe Color
defaultColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 31 28 27)
    , backgroundColor :: Maybe Color
backgroundColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 255 255 255)
    , lineNumberColor :: Maybe Color
lineNumberColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 160 160 160)
    , lineNumberBackgroundColor :: Maybe Color
lineNumberBackgroundColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 255 255 255)
    }

-- | Style from the breeze-dark KDE syntax highlighting theme.
breezeDark :: Style
breezeDark :: Style
breezeDark = Style :: Map TokenType TokenStyle
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Style
Style
    { tokenStyles :: Map TokenType TokenStyle
tokenStyles = [(TokenType, TokenStyle)] -> Map TokenType TokenStyle
forall k a. Ord k => [(k, a)] -> Map k a
Map.fromList
        [ ( TokenType
KeywordTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 207 207 194), tokenBold :: Bool
tokenBold = Bool
True })
        , ( TokenType
DataTypeTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 41 128 185) })
        , ( TokenType
DecValTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 246 116 0) })
        , ( TokenType
BaseNTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 246 116 0) })
        , ( TokenType
FloatTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 246 116 0) })
        , ( TokenType
ConstantTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 39 174 174), tokenBold :: Bool
tokenBold = Bool
True })
        , ( TokenType
CharTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 61 174 233) })
        , ( TokenType
SpecialCharTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 61 174 233) })
        , ( TokenType
StringTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 244 79 79) })
        , ( TokenType
VerbatimStringTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 218 68 83) })
        , ( TokenType
SpecialStringTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 218 68 83) })
        , ( TokenType
ImportTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 39 174 96) })
        , ( TokenType
CommentTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 122 124 125) })
        , ( TokenType
DocumentationTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 164 51 64) })
        , ( TokenType
AnnotationTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 63 128 88) })
        , ( TokenType
CommentVarTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 127 140 141) })
        , ( TokenType
OtherTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 39 174 96) })
        , ( TokenType
FunctionTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 142 68 173) })
        , ( TokenType
VariableTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 39 174 174) })
        , ( TokenType
ControlFlowTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 253 188 75), tokenBold :: Bool
tokenBold = Bool
True })
        , ( TokenType
OperatorTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 207 207 194) })
        , ( TokenType
BuiltInTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 127 140 141) })
        , ( TokenType
ExtensionTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 0 153 255), tokenBold :: Bool
tokenBold = Bool
True })
        , ( TokenType
PreprocessorTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 39 174 96) })
        , ( TokenType
AttributeTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 41 128 185) })
        , ( TokenType
RegionMarkerTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 41 128 185), tokenBackground :: Maybe Color
tokenBackground = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 21 48 66) })
        , ( TokenType
InformationTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 196 91 0) })
        , ( TokenType
WarningTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 218 68 83) })
        , ( TokenType
AlertTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 149 218 76), tokenBackground :: Maybe Color
tokenBackground = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 77 31 36), tokenBold :: Bool
tokenBold = Bool
True })
        , ( TokenType
ErrorTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 218 68 83), tokenUnderline :: Bool
tokenUnderline = Bool
True })
        , ( TokenType
NormalTok, TokenStyle
defStyle { tokenColor :: Maybe Color
tokenColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 207 207 194) })
        ]
    , defaultColor :: Maybe Color
defaultColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 207 207 194)
    , backgroundColor :: Maybe Color
backgroundColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 35 38 41)
    , lineNumberColor :: Maybe Color
lineNumberColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 122 124 125)
    , lineNumberBackgroundColor :: Maybe Color
lineNumberBackgroundColor = Color -> Maybe Color
forall a. a -> Maybe a
Just (Word8 -> Word8 -> Word8 -> Color
RGB 35 38 41)
    }

-- | Style based on pygments's default colors.
pygments :: Style
pygments :: Style
pygments = Style :: Map TokenType TokenStyle
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Style
Style{
    backgroundColor :: Maybe Color
backgroundColor = Maybe Color
forall a. Maybe a
Nothing
  , defaultColor :: Maybe Color
defaultColor = Maybe Color
forall a. Maybe a
Nothing
  , lineNumberColor :: Maybe Color
lineNumberColor = Int -> Maybe Color
color 0xaaaaaa
  , lineNumberBackgroundColor :: Maybe Color
lineNumberBackgroundColor = Maybe Color
forall a. Maybe a
Nothing
  , tokenStyles :: Map TokenType TokenStyle
tokenStyles = [(TokenType, TokenStyle)] -> Map TokenType TokenStyle
forall k a. Ord k => [(k, a)] -> Map k a
Map.fromList
    [ (TokenType
KeywordTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x007020, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
DataTypeTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x902000 })
    , (TokenType
DecValTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x40a070 })
    , (TokenType
BaseNTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x40a070 })
    , (TokenType
FloatTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x40a070 })
    , (TokenType
CharTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x4070a0 })
    , (TokenType
StringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x4070a0 })
    , (TokenType
CommentTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x60a0b0, tokenItalic :: Bool
tokenItalic = Bool
True })
    , (TokenType
OtherTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x007020 })
    , (TokenType
AlertTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xff0000, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
FunctionTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x06287e })
    , (TokenType
ErrorTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xff0000, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
WarningTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x60a0b0, tokenItalic :: Bool
tokenItalic = Bool
True, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
ConstantTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x880000 })
    , (TokenType
SpecialCharTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x4070a0 })
    , (TokenType
VerbatimStringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x4070a0 })
    , (TokenType
SpecialStringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xBB6688 })
    , (TokenType
ImportTok, TokenStyle
defStyle)
    , (TokenType
VariableTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x19177C })
    , (TokenType
ControlFlowTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x007020, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
OperatorTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x666666 })
    , (TokenType
BuiltInTok, TokenStyle
defStyle)
    , (TokenType
ExtensionTok, TokenStyle
defStyle)
    , (TokenType
PreprocessorTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xBC7A00 })
    , (TokenType
AttributeTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x7D9029 })
    , (TokenType
DocumentationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xBA2121, tokenItalic :: Bool
tokenItalic = Bool
True })
    , (TokenType
AnnotationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x60a0b0, tokenItalic :: Bool
tokenItalic = Bool
True, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
CommentVarTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x60a0b0, tokenItalic :: Bool
tokenItalic = Bool
True, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
InformationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x60a0b0, tokenItalic :: Bool
tokenItalic = Bool
True, tokenBold :: Bool
tokenBold = Bool
True })
    ]
  }


-- | Style based on pygments's tango colors.
tango :: Style
tango :: Style
tango = Style :: Map TokenType TokenStyle
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Style
Style{
    backgroundColor :: Maybe Color
backgroundColor = Int -> Maybe Color
color 0xf8f8f8
  , defaultColor :: Maybe Color
defaultColor = Maybe Color
forall a. Maybe a
Nothing
  , lineNumberColor :: Maybe Color
lineNumberColor = Int -> Maybe Color
color 0xaaaaaa
  , lineNumberBackgroundColor :: Maybe Color
lineNumberBackgroundColor = Maybe Color
forall a. Maybe a
Nothing
  , tokenStyles :: Map TokenType TokenStyle
tokenStyles = [(TokenType, TokenStyle)] -> Map TokenType TokenStyle
forall k a. Ord k => [(k, a)] -> Map k a
Map.fromList
    [ (TokenType
KeywordTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x204a87, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
DataTypeTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x204a87 })
    , (TokenType
DecValTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x0000cf })
    , (TokenType
BaseNTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x0000cf })
    , (TokenType
FloatTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x0000cf })
    , (TokenType
CharTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x4e9a06 })
    , (TokenType
StringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x4e9a06 })
    , (TokenType
CommentTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x8f5902, tokenItalic :: Bool
tokenItalic = Bool
True })
    , (TokenType
OtherTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x8f5902 })
    , (TokenType
AlertTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xef2929 })
    , (TokenType
FunctionTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x000000 })
    , (TokenType
ErrorTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xa40000, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
WarningTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x8f5902, tokenItalic :: Bool
tokenItalic = Bool
True,tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
ConstantTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x000000 })
    , (TokenType
SpecialCharTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x000000 })
    , (TokenType
VerbatimStringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x4e9a06 })
    , (TokenType
SpecialStringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x4e9a06 })
    , (TokenType
ImportTok, TokenStyle
defStyle)
    , (TokenType
VariableTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x000000 })
    , (TokenType
ControlFlowTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x204a87, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
OperatorTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xce5c00, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
PreprocessorTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x8f5902, tokenItalic :: Bool
tokenItalic = Bool
True} )
    , (TokenType
ExtensionTok, TokenStyle
defStyle)
    , (TokenType
AttributeTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xc4a000 })
    , (TokenType
DocumentationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x8f5902, tokenItalic :: Bool
tokenItalic = Bool
True, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
AnnotationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x8f5902, tokenItalic :: Bool
tokenItalic = Bool
True,tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
CommentVarTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x8f5902, tokenItalic :: Bool
tokenItalic = Bool
True,tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
InformationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x8f5902, tokenItalic :: Bool
tokenItalic = Bool
True,tokenBold :: Bool
tokenBold = Bool
True })
    ]
  }

-- | Style based on ultraviolet's espresso_libre.css (dark background).
espresso :: Style
espresso :: Style
espresso = Style :: Map TokenType TokenStyle
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Style
Style{
    backgroundColor :: Maybe Color
backgroundColor = Int -> Maybe Color
color 0x2A211C
  , defaultColor :: Maybe Color
defaultColor = Int -> Maybe Color
color 0xBDAE9D
  , lineNumberColor :: Maybe Color
lineNumberColor = Int -> Maybe Color
color 0xBDAE9D
  , lineNumberBackgroundColor :: Maybe Color
lineNumberBackgroundColor = Int -> Maybe Color
color 0x2A211C
  , tokenStyles :: Map TokenType TokenStyle
tokenStyles = [(TokenType, TokenStyle)] -> Map TokenType TokenStyle
forall k a. Ord k => [(k, a)] -> Map k a
Map.fromList
    [ (TokenType
KeywordTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x43A8ED, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
DataTypeTok, TokenStyle
defStyle{ tokenUnderline :: Bool
tokenUnderline = Bool
True })
    , (TokenType
DecValTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x44AA43 })
    , (TokenType
BaseNTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x44AA43 })
    , (TokenType
FloatTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x44AA43 })
    , (TokenType
CharTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x049B0A })
    , (TokenType
StringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x049B0A })
    , (TokenType
CommentTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x0066FF, tokenItalic :: Bool
tokenItalic = Bool
True })
    , (TokenType
AlertTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xffff00 })
    , (TokenType
FunctionTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xFF9358, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
ErrorTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xffff00, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
WarningTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xffff00, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
ConstantTok, TokenStyle
defStyle)
    , (TokenType
SpecialCharTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x049B0A })
    , (TokenType
VerbatimStringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x049B0A })
    , (TokenType
SpecialStringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x049B0A })
    , (TokenType
ImportTok, TokenStyle
defStyle)
    , (TokenType
VariableTok, TokenStyle
defStyle)
    , (TokenType
ControlFlowTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x43A8ED, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
OperatorTok, TokenStyle
defStyle)
    , (TokenType
BuiltInTok, TokenStyle
defStyle)
    , (TokenType
ExtensionTok, TokenStyle
defStyle)
    , (TokenType
PreprocessorTok, TokenStyle
defStyle{ tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
AttributeTok, TokenStyle
defStyle)
    , (TokenType
DocumentationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x0066FF, tokenItalic :: Bool
tokenItalic = Bool
True })
    , (TokenType
AnnotationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x0066FF, tokenItalic :: Bool
tokenItalic = Bool
True, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
CommentTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x0066FF, tokenItalic :: Bool
tokenItalic = Bool
True, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
InformationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x0066FF, tokenItalic :: Bool
tokenItalic = Bool
True, tokenBold :: Bool
tokenBold = Bool
True })
    ]
  }

-- | Style based on haddock's source highlighting.
haddock :: Style
haddock :: Style
haddock = Style :: Map TokenType TokenStyle
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Style
Style{
    backgroundColor :: Maybe Color
backgroundColor = Maybe Color
forall a. Maybe a
Nothing
  , defaultColor :: Maybe Color
defaultColor = Maybe Color
forall a. Maybe a
Nothing
  , lineNumberColor :: Maybe Color
lineNumberColor = Int -> Maybe Color
color 0xaaaaaa
  , lineNumberBackgroundColor :: Maybe Color
lineNumberBackgroundColor = Maybe Color
forall a. Maybe a
Nothing
  , tokenStyles :: Map TokenType TokenStyle
tokenStyles = [(TokenType, TokenStyle)] -> Map TokenType TokenStyle
forall k a. Ord k => [(k, a)] -> Map k a
Map.fromList
    [ (TokenType
KeywordTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x0000FF })
    , (TokenType
CharTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x008080 })
    , (TokenType
StringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x008080 })
    , (TokenType
CommentTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x008000 })
    , (TokenType
OtherTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xff4000 })
    , (TokenType
AlertTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xff0000 })
    , (TokenType
ErrorTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xff0000, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
WarningTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x008000, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
ConstantTok, TokenStyle
defStyle)
    , (TokenType
SpecialCharTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x008080 })
    , (TokenType
VerbatimStringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x008080 })
    , (TokenType
SpecialStringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x008080 })
    , (TokenType
ImportTok, TokenStyle
defStyle)
    , (TokenType
VariableTok, TokenStyle
defStyle)
    , (TokenType
ControlFlowTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x0000FF })
    , (TokenType
OperatorTok, TokenStyle
defStyle)
    , (TokenType
BuiltInTok, TokenStyle
defStyle)
    , (TokenType
ExtensionTok, TokenStyle
defStyle)
    , (TokenType
PreprocessorTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xff4000 })
    , (TokenType
DocumentationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x008000 })
    , (TokenType
AnnotationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x008000 })
    , (TokenType
CommentVarTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x008000 })
    , (TokenType
AttributeTok, TokenStyle
defStyle)
    , (TokenType
InformationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x008000 })
    ]
  }

-- | Style with no colors.
monochrome :: Style
monochrome :: Style
monochrome = Style :: Map TokenType TokenStyle
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Style
Style{
    backgroundColor :: Maybe Color
backgroundColor = Maybe Color
forall a. Maybe a
Nothing
  , defaultColor :: Maybe Color
defaultColor = Maybe Color
forall a. Maybe a
Nothing
  , lineNumberColor :: Maybe Color
lineNumberColor = Maybe Color
forall a. Maybe a
Nothing
  , lineNumberBackgroundColor :: Maybe Color
lineNumberBackgroundColor = Maybe Color
forall a. Maybe a
Nothing
  , tokenStyles :: Map TokenType TokenStyle
tokenStyles = [(TokenType, TokenStyle)] -> Map TokenType TokenStyle
forall k a. Ord k => [(k, a)] -> Map k a
Map.fromList
    [ (TokenType
KeywordTok, TokenStyle
defStyle{ tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
DataTypeTok, TokenStyle
defStyle{ tokenUnderline :: Bool
tokenUnderline = Bool
True })
    , (TokenType
CommentTok, TokenStyle
defStyle{ tokenItalic :: Bool
tokenItalic = Bool
True })
    , (TokenType
AlertTok, TokenStyle
defStyle{ tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
ErrorTok, TokenStyle
defStyle{ tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
WarningTok, TokenStyle
defStyle{ tokenItalic :: Bool
tokenItalic = Bool
True })
    , (TokenType
ControlFlowTok, TokenStyle
defStyle{ tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
PreprocessorTok, TokenStyle
defStyle{ tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
DocumentationTok, TokenStyle
defStyle{ tokenItalic :: Bool
tokenItalic = Bool
True })
    , (TokenType
AnnotationTok, TokenStyle
defStyle{ tokenItalic :: Bool
tokenItalic = Bool
True })
    , (TokenType
CommentVarTok, TokenStyle
defStyle{ tokenItalic :: Bool
tokenItalic = Bool
True })
    , (TokenType
InformationTok, TokenStyle
defStyle{ tokenItalic :: Bool
tokenItalic = Bool
True })
    ]
  }

-- | Style based on the popular zenburn vim color scheme
zenburn :: Style
zenburn :: Style
zenburn = Style :: Map TokenType TokenStyle
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Maybe Color
-> Style
Style{
    backgroundColor :: Maybe Color
backgroundColor = Int -> Maybe Color
color 0x303030
  , defaultColor :: Maybe Color
defaultColor = Int -> Maybe Color
color 0xcccccc
  , lineNumberColor :: Maybe Color
lineNumberColor = Maybe Color
forall a. Maybe a
Nothing
  , lineNumberBackgroundColor :: Maybe Color
lineNumberBackgroundColor = Maybe Color
forall a. Maybe a
Nothing
  , tokenStyles :: Map TokenType TokenStyle
tokenStyles = [(TokenType, TokenStyle)] -> Map TokenType TokenStyle
forall k a. Ord k => [(k, a)] -> Map k a
Map.fromList
    [ (TokenType
KeywordTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xf0dfaf })
    , (TokenType
DataTypeTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xdfdfbf })
    , (TokenType
DecValTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xdcdccc })
    , (TokenType
BaseNTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xdca3a3 })
    , (TokenType
FloatTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xc0bed1 })
    , (TokenType
CharTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xdca3a3 })
    , (TokenType
StringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xcc9393 })
    , (TokenType
CommentTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x7f9f7f })
    , (TokenType
OtherTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xefef8f })
    , (TokenType
AlertTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xffcfaf })
    , (TokenType
FunctionTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xefef8f })
    , (TokenType
ErrorTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xc3bf9f })
    , (TokenType
WarningTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x7f9f7f, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
ConstantTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xdca3a3, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
SpecialCharTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xdca3a3 })
    , (TokenType
VerbatimStringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xcc9393 })
    , (TokenType
SpecialStringTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xcc9393 })
    , (TokenType
ImportTok, TokenStyle
defStyle)
    , (TokenType
VariableTok, TokenStyle
defStyle)
    , (TokenType
ControlFlowTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xf0dfaf })
    , (TokenType
OperatorTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xf0efd0 })
    , (TokenType
BuiltInTok, TokenStyle
defStyle)
    , (TokenType
ExtensionTok, TokenStyle
defStyle)
    , (TokenType
PreprocessorTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0xffcfaf, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
AttributeTok, TokenStyle
defStyle)
    , (TokenType
DocumentationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x7f9f7f })
    , (TokenType
AnnotationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x7f9f7f, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
CommentVarTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x7f9f7f, tokenBold :: Bool
tokenBold = Bool
True })
    , (TokenType
InformationTok, TokenStyle
defStyle{ tokenColor :: Maybe Color
tokenColor = Int -> Maybe Color
color 0x7f9f7f, tokenBold :: Bool
tokenBold = Bool
True })
    ]
  }