module Text.Highlighter.Lexers.CMake (lexer) where import Text.Regex.PCRE.Light import Text.Highlighter.Types lexer :: Lexer lexer = Lexer { lName = "\67\77\97\107\101" , lAliases = ["\99\109\97\107\101"] , lExtensions = ["\46\99\109\97\107\101"] , lMimetypes = ["\116\101\120\116\47\120\45\99\109\97\107\101"] , lStart = root' , lFlags = [multiline] } keywords' :: TokenMatcher keywords' = [ tok "\92\98\40\87\73\78\51\50\124\85\78\73\88\124\65\80\80\76\69\124\67\89\71\87\73\78\124\66\79\82\76\65\78\68\124\77\73\78\71\87\124\77\83\86\67\124\77\83\86\67\95\73\68\69\124\77\83\86\67\54\48\124\77\83\86\67\55\48\124\77\83\86\67\55\49\124\77\83\86\67\56\48\124\77\83\86\67\57\48\41\92\98" (Arbitrary "\75\101\121\119\111\114\100") ] ws' :: TokenMatcher ws' = [ tok "\91\32\92\116\93\43" (Arbitrary "\84\101\120\116") , tok "\35\46\43\92\110" (Arbitrary "\67\111\109\109\101\110\116") ] args' :: TokenMatcher args' = [ tokNext "\92\40" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") Push , tokNext "\92\41" (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110") Pop , tok "\40\92\36\123\41\40\46\43\63\41\40\125\41" (ByGroups [(Arbitrary "\79\112\101\114\97\116\111\114"), (Arbitrary "\78\97\109\101" :. Arbitrary "\86\97\114\105\97\98\108\101"), (Arbitrary "\79\112\101\114\97\116\111\114")]) , tok "\40\63\115\41\34\46\42\63\34" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103" :. Arbitrary "\68\111\117\98\108\101") , tok "\92\92\92\83\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") , tok "\91\94\92\41\36\34\35\32\92\116\92\110\93\43" (Arbitrary "\76\105\116\101\114\97\108" :. Arbitrary "\83\116\114\105\110\103") , tok "\92\110" (Arbitrary "\84\101\120\116") , anyOf keywords' , anyOf ws' ] root' :: TokenMatcher root' = [ tokNext "\92\98\40\91\65\45\90\97\45\122\95\93\43\41\40\91\32\92\116\93\42\41\40\92\40\41" (ByGroups [(Arbitrary "\78\97\109\101" :. Arbitrary "\66\117\105\108\116\105\110"), (Arbitrary "\84\101\120\116"), (Arbitrary "\80\117\110\99\116\117\97\116\105\111\110")]) (GoTo args') , anyOf keywords' , anyOf ws' ] string' :: TokenMatcher string' = [ ]