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

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

lexer :: Lexer
lexer = Lexer
    { lName = "\73\78\73"
    , lAliases = ["\105\110\105", "\99\102\103"]
    , lExtensions = ["\46\105\110\105", "\46\99\102\103", "\46\112\114\111\112\101\114\116\105\101\115"]
    , lMimetypes = ["\116\101\120\116\47\120\45\105\110\105"]
    , lStart = root'
    , lFlags = [multiline]
    }

root' :: TokenMatcher
root' =
    [ tok "\92\115\43" (Arbitrary "\84\101\120\116")
    , tok "\91\59\35\93\46\42\63\36" (Arbitrary "\67\111\109\109\101\110\116")
    , tok "\92\91\46\42\63\92\93\36" (Arbitrary "\75\101\121\119\111\114\100")
    , tok "\40\46\42\63\41\40\91\32\92\116\93\42\41\40\61\41\40\91\32\92\116\93\42\41\40\46\42\63\41\36" (ByGroups [(Arbitrary "\78\97\109\101" :. Arbitrary "\65\116\116\114\105\98\117\116\101"), (Arbitrary "\84\101\120\116"), (Arbitrary "\79\112\101\114\97\116\111\114"), (Arbitrary "\84\101\120\116"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")])
    ]