highlighter-0.1: src/Text/Highlighter/Lexers/Ragel.hs
module Text.Highlighter.Lexers.Ragel (lexer) where
import Text.Regex.PCRE.Light
import Text.Highlighter.Types
lexer :: Lexer
lexer = Lexer
{ lName = "\82\97\103\101\108"
, lAliases = ["\114\97\103\101\108"]
, lExtensions = []
, lMimetypes = []
, lStart = root'
, lFlags = [multiline]
}
host' :: TokenMatcher
host' =
[ tok "\40\91\94\123\125\92\39\34\47\35\93\43\124\91\94\92\92\93\91\92\92\93\91\123\125\93\124\34\40\92\92\92\92\124\92\92\34\124\91\94\34\93\41\42\34\124\39\40\92\92\92\92\124\92\92\39\124\91\94\39\93\41\42\39\124\47\47\46\42\36\92\110\63\124\47\92\42\40\46\124\92\110\41\42\63\92\42\47\124\92\35\46\42\36\92\110\63\124\47\40\63\33\92\42\41\40\92\92\92\92\124\92\92\47\124\91\94\47\93\41\42\47\124\47\41\43" (Arbitrary "\79\116\104\101\114")
, tokNext "\123" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") Push
, tokNext "\125" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") Pop
]
literals' :: TokenMatcher
literals' =
[ tok "\34\40\92\92\92\92\124\92\92\34\124\91\94\34\93\41\42\34" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")
, tok "\39\40\92\92\92\92\124\92\92\39\124\91\94\39\93\41\42\39" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")
, tok "\92\91\40\92\92\92\92\124\92\92\92\93\124\91\94\92\93\93\41\42\92\93" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")
, tok "\47\40\63\33\92\42\41\40\92\92\92\92\124\92\92\47\124\91\94\47\93\41\42\47" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120")
]
whitespace' :: TokenMatcher
whitespace' =
[ tok "\92\115\43" (Arbitrary "\84\101\120\116" :. Arbitrary "\87\104\105\116\101\115\112\97\99\101")
]
keywords' :: TokenMatcher
keywords' =
[ tok "\40\97\99\99\101\115\115\124\97\99\116\105\111\110\124\97\108\112\104\116\121\112\101\41\92\98" (Arbitrary "\75\101\121\119\111\114\100")
, tok "\40\103\101\116\107\101\121\124\119\114\105\116\101\124\109\97\99\104\105\110\101\124\105\110\99\108\117\100\101\41\92\98" (Arbitrary "\75\101\121\119\111\114\100")
, tok "\40\97\110\121\124\97\115\99\105\105\124\101\120\116\101\110\100\124\97\108\112\104\97\124\100\105\103\105\116\124\97\108\110\117\109\124\108\111\119\101\114\124\117\112\112\101\114\41\92\98" (Arbitrary "\75\101\121\119\111\114\100")
, tok "\40\120\100\105\103\105\116\124\99\110\116\114\108\124\103\114\97\112\104\124\112\114\105\110\116\124\112\117\110\99\116\124\115\112\97\99\101\124\122\108\101\110\124\101\109\112\116\121\41\92\98" (Arbitrary "\75\101\121\119\111\114\100")
]
operators' :: TokenMatcher
operators' =
[ tok "\44" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\92\124\124\38\124\45\124\45\45" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\92\46\124\60\58\124\58\62\124\58\62\62" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\58" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\45\62" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\40\62\124\92\36\124\37\124\60\124\64\124\60\62\41\40\47\124\101\111\102\92\98\41" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\40\62\124\92\36\124\37\124\60\124\64\124\60\62\41\40\33\124\101\114\114\92\98\41" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\40\62\124\92\36\124\37\124\60\124\64\124\60\62\41\40\92\94\124\108\101\114\114\92\98\41" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\40\62\124\92\36\124\37\124\60\124\64\124\60\62\41\40\126\124\116\111\92\98\41" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\40\62\124\92\36\124\37\124\60\124\64\124\60\62\41\40\92\42\124\102\114\111\109\92\98\41" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\62\124\64\124\92\36\124\37" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\92\42\124\92\63\124\92\43\124\123\91\48\45\57\93\42\44\91\48\45\57\93\42\125" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\33\124\92\94" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\92\40\124\92\41" (Arbitrary "\79\112\101\114\97\116\111\114")
]
identifiers' :: TokenMatcher
identifiers' =
[ tok "\91\97\45\122\65\45\90\95\93\91\97\45\122\65\45\90\95\48\45\57\93\42" (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101")
]
root' :: TokenMatcher
root' =
[ anyOf literals'
, anyOf whitespace'
, anyOf comments'
, anyOf keywords'
, anyOf numbers'
, anyOf identifiers'
, anyOf operators'
, tokNext "\123" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") (GoTo host')
, tok "\61" (Arbitrary "\79\112\101\114\97\116\111\114")
, tok "\59" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")
]
comments' :: TokenMatcher
comments' =
[ tok "\92\35\46\42\36" (Arbitrary "\67\111\109\109\101\110\116")
]
numbers' :: TokenMatcher
numbers' =
[ tok "\48\120\91\48\45\57\65\45\70\97\45\102\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\72\101\120")
, tok "\91\43\45\93\63\91\48\45\57\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\73\110\116\101\103\101\114")
]