module Text.Highlighter.Lexers.Javascript (lexer) where import Text.Regex.PCRE.Light import Text.Highlighter.Types lexer :: Lexer lexer = Lexer { lName = "\74\97\118\97\83\99\114\105\112\116" , lAliases = ["\106\115", "\106\97\118\97\115\99\114\105\112\116"] , lExtensions = ["\46\106\115"] , lMimetypes = ["\97\112\112\108\105\99\97\116\105\111\110\47\120\45\106\97\118\97\115\99\114\105\112\116", "\116\101\120\116\47\120\45\106\97\118\97\115\99\114\105\112\116", "\116\101\120\116\47\106\97\118\97\115\99\114\105\112\116"] , lStart = root' , lFlags = [dotall] } commentsandwhitespace' :: TokenMatcher commentsandwhitespace' = [ tok "\92\115\43" (Arbitrary "\84\101\120\116") , tok "\60\33\45\45" (Arbitrary "\67\111\109\109\101\110\116") , tok "\47\47\46\42\63\92\110" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\83\105\110\103\108\101") , tok "\47\92\42\46\42\63\92\42\47" (Arbitrary "\67\111\109\109\101\110\116" :. Arbitrary "\77\117\108\116\105\108\105\110\101") ] root' :: TokenMatcher root' = [ tokNext "\94\40\63\61\92\115\124\47\124\60\33\45\45\41" (Arbitrary "\84\101\120\116") (GoTo slashstartsregex') , anyOf commentsandwhitespace' , tokNext "\92\43\92\43\124\45\45\124\126\124\38\38\124\92\63\124\58\124\92\124\92\124\124\92\92\40\63\61\92\110\41\124\40\60\60\124\62\62\62\63\124\61\61\63\124\33\61\63\124\91\45\60\62\43\42\37\38\92\124\92\94\47\93\41\61\63" (Arbitrary "\79\112\101\114\97\116\111\114") (GoTo slashstartsregex') , tokNext "\91\123\40\92\91\59\44\93" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") (GoTo slashstartsregex') , tok "\91\125\41\92\93\46\93" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") , tokNext "\40\102\111\114\124\105\110\124\119\104\105\108\101\124\100\111\124\98\114\101\97\107\124\114\101\116\117\114\110\124\99\111\110\116\105\110\117\101\124\115\119\105\116\99\104\124\99\97\115\101\124\100\101\102\97\117\108\116\124\105\102\124\101\108\115\101\124\116\104\114\111\119\124\116\114\121\124\99\97\116\99\104\124\102\105\110\97\108\108\121\124\110\101\119\124\100\101\108\101\116\101\124\116\121\112\101\111\102\124\105\110\115\116\97\110\99\101\111\102\124\118\111\105\100\124\116\104\105\115\41\92\98" (Arbitrary "\75\101\121\119\111\114\100") (GoTo slashstartsregex') , tokNext "\40\118\97\114\124\119\105\116\104\124\102\117\110\99\116\105\111\110\41\92\98" (Arbitrary "\75\101\121\119\111\114\100" :. Arbitrary "\68\101\99\108\97\114\97\116\105\111\110") (GoTo slashstartsregex') , tok "\40\97\98\115\116\114\97\99\116\124\98\111\111\108\101\97\110\124\98\121\116\101\124\99\104\97\114\124\99\108\97\115\115\124\99\111\110\115\116\124\100\101\98\117\103\103\101\114\124\100\111\117\98\108\101\124\101\110\117\109\124\101\120\112\111\114\116\124\101\120\116\101\110\100\115\124\102\105\110\97\108\124\102\108\111\97\116\124\103\111\116\111\124\105\109\112\108\101\109\101\110\116\115\124\105\109\112\111\114\116\124\105\110\116\124\105\110\116\101\114\102\97\99\101\124\108\111\110\103\124\110\97\116\105\118\101\124\112\97\99\107\97\103\101\124\112\114\105\118\97\116\101\124\112\114\111\116\101\99\116\101\100\124\112\117\98\108\105\99\124\115\104\111\114\116\124\115\116\97\116\105\99\124\115\117\112\101\114\124\115\121\110\99\104\114\111\110\105\122\101\100\124\116\104\114\111\119\115\124\116\114\97\110\115\105\101\110\116\124\118\111\108\97\116\105\108\101\41\92\98" (Arbitrary "\75\101\121\119\111\114\100" :. Arbitrary "\82\101\115\101\114\118\101\100") , tok "\40\116\114\117\101\124\102\97\108\115\101\124\110\117\108\108\124\78\97\78\124\73\110\102\105\110\105\116\121\124\117\110\100\101\102\105\110\101\100\41\92\98" (Arbitrary "\75\101\121\119\111\114\100" :. Arbitrary "\67\111\110\115\116\97\110\116") , tok "\40\65\114\114\97\121\124\66\111\111\108\101\97\110\124\68\97\116\101\124\69\114\114\111\114\124\70\117\110\99\116\105\111\110\124\77\97\116\104\124\110\101\116\115\99\97\112\101\124\78\117\109\98\101\114\124\79\98\106\101\99\116\124\80\97\99\107\97\103\101\115\124\82\101\103\69\120\112\124\83\116\114\105\110\103\124\115\117\110\124\100\101\99\111\100\101\85\82\73\124\100\101\99\111\100\101\85\82\73\67\111\109\112\111\110\101\110\116\124\101\110\99\111\100\101\85\82\73\124\101\110\99\111\100\101\85\82\73\67\111\109\112\111\110\101\110\116\124\69\114\114\111\114\124\101\118\97\108\124\105\115\70\105\110\105\116\101\124\105\115\78\97\78\124\112\97\114\115\101\70\108\111\97\116\124\112\97\114\115\101\73\110\116\124\100\111\99\117\109\101\110\116\124\116\104\105\115\124\119\105\110\100\111\119\41\92\98" (Arbitrary "\78\97\109\101" :. Arbitrary "\66\117\105\108\116\105\110") , tok "\91\36\97\45\122\65\45\90\95\93\91\97\45\122\65\45\90\48\45\57\95\93\42" (Arbitrary "\78\97\109\101" :. Arbitrary "\79\116\104\101\114") , tok "\91\48\45\57\93\91\48\45\57\93\42\92\46\91\48\45\57\93\43\40\91\101\69\93\91\48\45\57\93\43\41\63\91\102\100\93\63" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\70\108\111\97\116") , tok "\48\120\91\48\45\57\97\45\102\65\45\70\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\78\117\109\98\101\114" :. Arbitrary "\72\101\120") , tok "\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") , 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" :. Arbitrary "\68\111\117\98\108\101") , 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" :. Arbitrary "\83\105\110\103\108\101") ] slashstartsregex' :: TokenMatcher slashstartsregex' = [ anyOf commentsandwhitespace' , tokNext "\47\40\92\92\46\124\91\94\91\47\92\92\92\110\93\124\92\91\40\92\92\46\124\91\94\92\93\92\92\92\110\93\41\42\93\41\43\47\40\91\103\105\109\93\43\92\98\124\92\66\41" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\82\101\103\101\120") Pop , tokNext "\40\63\61\47\41" (Arbitrary "\84\101\120\116") (DoAll [Pop, (GoTo badregex')]) , tokNext "" (Arbitrary "\84\101\120\116") Pop ] badregex' :: TokenMatcher badregex' = [ tokNext "\10" (Arbitrary "\84\101\120\116") Pop ]