module Text.Highlighter.Lexers.Diff (lexer) where

import Text.Regex.PCRE.Light
import Text.Highlighter.Types

lexer :: Lexer
lexer = Lexer
    { lName = "\68\105\102\102"
    , lAliases = ["\100\105\102\102", "\117\100\105\102\102"]
    , lExtensions = ["\46\100\105\102\102", "\46\112\97\116\99\104"]
    , lMimetypes = ["\116\101\120\116\47\120\45\100\105\102\102", "\116\101\120\116\47\120\45\112\97\116\99\104"]
    , lStart = root'
    , lFlags = [multiline]
    }

root' :: TokenMatcher
root' =
    [ tok "\32\46\42\92\110" (Arbitrary "\84\101\120\116")
    , tok "\92\43\46\42\92\110" (Arbitrary "\71\101\110\101\114\105\99" :. Arbitrary "\73\110\115\101\114\116\101\100")
    , tok "\45\46\42\92\110" (Arbitrary "\71\101\110\101\114\105\99" :. Arbitrary "\68\101\108\101\116\101\100")
    , tok "\33\46\42\92\110" (Arbitrary "\71\101\110\101\114\105\99" :. Arbitrary "\83\116\114\111\110\103")
    , tok "\64\46\42\92\110" (Arbitrary "\71\101\110\101\114\105\99" :. Arbitrary "\83\117\98\104\101\97\100\105\110\103")
    , tok "\40\91\73\105\93\110\100\101\120\124\100\105\102\102\41\46\42\92\110" (Arbitrary "\71\101\110\101\114\105\99" :. Arbitrary "\72\101\97\100\105\110\103")
    , tok "\61\46\42\92\110" (Arbitrary "\71\101\110\101\114\105\99" :. Arbitrary "\72\101\97\100\105\110\103")
    , tok "\46\42\92\110" (Arbitrary "\84\101\120\116")
    ]