highlighter-0.1: src/Text/Highlighter/Lexers/NginxConf.hs
module Text.Highlighter.Lexers.NginxConf (lexer) where
import Text.Regex.PCRE.Light
import Text.Highlighter.Types
lexer :: Lexer
lexer = Lexer
{ lName = "\78\103\105\110\120\32\99\111\110\102\105\103\117\114\97\116\105\111\110\32\102\105\108\101"
, lAliases = ["\110\103\105\110\120"]
, lExtensions = []
, lMimetypes = ["\116\101\120\116\47\120\45\110\103\105\110\120\45\99\111\110\102"]
, lStart = root'
, lFlags = [multiline]
}
base' :: TokenMatcher
base' =
[ tok "\35\46\42\92\110" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\83\105\110\103\108\101")
, tok "\111\110\124\111\102\102" (Arbitrary "\78\97\109\101" :. Arbitrary "\67\111\110\115\116\97\110\116")
, tok "\92\36\91\94\92\115\59\35\40\41\93\43" (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101")
, tok "\40\91\97\45\122\48\45\57\46\45\93\43\41\40\58\41\40\91\48\45\57\93\43\41" (ByGroups [(Arbitrary "\78\97\109\101"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\73\110\116\101\103\101\114")])
, tok "\91\97\45\122\45\93\43\47\91\97\45\122\45\43\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")
, tok "\91\48\45\57\93\43\91\107\109\93\63\92\98" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\73\110\116\101\103\101\114")
, tok "\40\126\41\40\92\115\42\41\40\91\94\92\115\123\93\43\41" (ByGroups [(Arbitrary "\80\117\110\99\116\117\97\116\105\111\110"), (Arbitrary "\84\101\120\116"), (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120")])
, tok "\91\58\61\126\93" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")
, tok "\91\94\92\115\59\35\123\125\36\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103")
, tok "\47\91\94\92\115\59\35\93\42" (Arbitrary "\78\97\109\101")
, tok "\92\115\43" (Arbitrary "\84\101\120\116")
, tok "\91\36\59\93" (Arbitrary "\84\101\120\116")
]
root' :: TokenMatcher
root' =
[ tok "\40\105\110\99\108\117\100\101\41\40\92\115\43\41\40\91\94\92\115\59\93\43\41" (ByGroups [(Arbitrary "\75\101\121\119\111\114\100"), (Arbitrary "\84\101\120\116"), (Arbitrary "\78\97\109\101")])
, tokNext "\91\94\92\115\59\35\93\43" (Arbitrary "\75\101\121\119\111\114\100") (GoTo stmt')
, anyOf base'
]
stmt' :: TokenMatcher
stmt' =
[ tokNext "\123" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") (GoTo block')
, tokNext "\59" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") Pop
, anyOf base'
]
block' :: TokenMatcher
block' =
[ tokNext "\125" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") (PopNum 2)
, tokNext "\91\94\92\115\59\35\93\43" (Arbitrary "\75\101\121\119\111\114\100" :. Arbitrary "\78\97\109\101\115\112\97\99\101") (GoTo stmt')
, anyOf base'
]