highlighter-0.1: src/Text/Highlighter/Lexers/BBCode.hs
module Text.Highlighter.Lexers.BBCode (lexer) where
import Text.Regex.PCRE.Light
import Text.Highlighter.Types
lexer :: Lexer
lexer = Lexer
{ lName = "\66\66\67\111\100\101"
, lAliases = ["\98\98\99\111\100\101"]
, lExtensions = []
, lMimetypes = ["\116\101\120\116\47\120\45\98\98\99\111\100\101"]
, lStart = root'
, lFlags = [multiline]
}
tag' :: TokenMatcher
tag' =
[ tok "\92\115\43" (Arbitrary "\84\101\120\116")
, tok "\40\92\119\43\41\40\61\41\40\34\63\91\94\92\115\34\92\93\93\43\34\63\41" (ByGroups [(Arbitrary "\78\97\109\101" :. Arbitrary "\65\116\116\114\105\98\117\116\101"), (Arbitrary "\79\112\101\114\97\116\111\114"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")])
, tok "\40\61\41\40\34\63\91\94\92\115\34\92\93\93\43\34\63\41" (ByGroups [(Arbitrary "\79\112\101\114\97\116\111\114"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")])
, tokNext "\92\93" (Arbitrary "\75\101\121\119\111\114\100") Pop
]
root' :: TokenMatcher
root' =
[ tok "\91\94\91\93\43" (Arbitrary "\84\101\120\116")
, tokNext "\92\91\47\63\92\119\43" (Arbitrary "\75\101\121\119\111\114\100") (GoTo tag')
, tok "\92\91" (Arbitrary "\84\101\120\116")
]