{-# LANGUAGE OverloadedStrings #-} module Skylighting.Syntax.Doxygenlua (syntax) where import Skylighting.Types import Data.Map import Skylighting.Regex import qualified Data.Set syntax :: Syntax syntax = Syntax { sName = "DoxygenLua" , sFilename = "doxygenlua.xml" , sShortname = "Doxygenlua" , sContexts = fromList [ ( "BlockComment" , Context { cName = "BlockComment" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = DetectSpaces , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } , Rule { rMatcher = RegExpr RE { reString = "\\]%1\\]" , reCompiled = Nothing , reCaseSensitive = True } , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = True , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } , Rule { rMatcher = IncludeRules ( "Alerts" , "" ) , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } , Rule { rMatcher = Detect2Chars '@' '{' , rAttribute = RegionMarkerTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } , Rule { rMatcher = Detect2Chars '@' '}' , rAttribute = RegionMarkerTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } , Rule { rMatcher = Keyword KeywordAttr { keywordCaseSensitive = False , keywordDelims = Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[]^{|}" } (makeWordSet False [ "@#" , "@$" , "@@" , "@\\" , "@arg" , "@attention" , "@author" , "@callgraph" , "@code" , "@dot" , "@else" , "@endcode" , "@endcond" , "@enddot" , "@endhtmlonly" , "@endif" , "@endlatexonly" , "@endlink" , "@endmanonly" , "@endverbatim" , "@endxmlonly" , "@f$" , "@f[" , "@f]" , "@hideinitializer" , "@htmlonly" , "@interface" , "@internal" , "@invariant" , "@latexonly" , "@li" , "@manonly" , "@n" , "@nosubgrouping" , "@note" , "@only" , "@post" , "@pre" , "@remarks" , "@return" , "@returns" , "@sa" , "@see" , "@showinitializer" , "@since" , "@test" , "@todo" , "@verbatim" , "@warning" , "@xmlonly" , "@~" , "\\#" , "\\$" , "\\@" , "\\\\" , "\\arg" , "\\attention" , "\\author" , "\\callgraph" , "\\code" , "\\dot" , "\\else" , "\\endcode" , "\\endcond" , "\\enddot" , "\\endhtmlonly" , "\\endif" , "\\endlatexonly" , "\\endlink" , "\\endmanonly" , "\\endverbatim" , "\\endxmlonly" , "\\f$" , "\\f[" , "\\f]" , "\\hideinitializer" , "\\htmlonly" , "\\interface" , "\\internal" , "\\invariant" , "\\latexonly" , "\\li" , "\\manonly" , "\\n" , "\\nosubgrouping" , "\\note" , "\\only" , "\\post" , "\\pre" , "\\remarks" , "\\return" , "\\returns" , "\\sa" , "\\see" , "\\showinitializer" , "\\since" , "\\test" , "\\todo" , "\\verbatim" , "\\warning" , "\\xmlonly" , "\\~" ]) , rAttribute = AnnotationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } , Rule { rMatcher = Keyword KeywordAttr { keywordCaseSensitive = False , keywordDelims = Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[]^{|}" } (makeWordSet False [ "@a" , "@addtogroup" , "@anchor" , "@b" , "@c" , "@class" , "@cond" , "@copydoc" , "@def" , "@dontinclude" , "@dotfile" , "@e" , "@elseif" , "@em" , "@enum" , "@example" , "@exception" , "@exceptions" , "@file" , "@htmlinclude" , "@if" , "@ifnot" , "@include" , "@link" , "@namespace" , "@p" , "@package" , "@ref" , "@relates" , "@relatesalso" , "@retval" , "@throw" , "@throws" , "@verbinclude" , "@version" , "@xrefitem" , "\\a" , "\\addtogroup" , "\\anchor" , "\\b" , "\\c" , "\\class" , "\\cond" , "\\copydoc" , "\\def" , "\\dontinclude" , "\\dotfile" , "\\e" , "\\elseif" , "\\em" , "\\enum" , "\\example" , "\\exception" , "\\exceptions" , "\\file" , "\\htmlinclude" , "\\if" , "\\ifnot" , "\\include" , "\\link" , "\\namespace" , "\\p" , "\\package" , "\\ref" , "\\relates" , "\\relatesalso" , "\\retval" , "\\throw" , "\\throws" , "\\verbinclude" , "\\version" , "\\xrefitem" ]) , rAttribute = AnnotationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "ML_TagWord" ) ] } , Rule { rMatcher = Keyword KeywordAttr { keywordCaseSensitive = False , keywordDelims = Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[]^{|}" } (makeWordSet False [ "@param" , "\\param" ]) , rAttribute = AnnotationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "ML_TagParam" ) ] } , Rule { rMatcher = Keyword KeywordAttr { keywordCaseSensitive = False , keywordDelims = Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[]^{|}" } (makeWordSet False [ "@image" , "\\image" ]) , rAttribute = AnnotationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "ML_TagWordWord" ) ] } , Rule { rMatcher = Keyword KeywordAttr { keywordCaseSensitive = False , keywordDelims = Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[]^{|}" } (makeWordSet False [ "@addindex" , "@brief" , "@bug" , "@date" , "@deprecated" , "@fn" , "@ingroup" , "@line" , "@mainpage" , "@name" , "@overload" , "@par" , "@short" , "@skip" , "@skipline" , "@typedef" , "@until" , "@var" , "\\addindex" , "\\brief" , "\\bug" , "\\date" , "\\deprecated" , "\\fn" , "\\ingroup" , "\\line" , "\\mainpage" , "\\name" , "\\overload" , "\\par" , "\\short" , "\\skip" , "\\skipline" , "\\typedef" , "\\until" , "\\var" ]) , rAttribute = AnnotationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "ML_TagString" ) ] } , Rule { rMatcher = Keyword KeywordAttr { keywordCaseSensitive = False , keywordDelims = Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[]^{|}" } (makeWordSet False [ "@defgroup" , "@page" , "@paragraph" , "@section" , "@struct" , "@subsection" , "@subsubsection" , "@union" , "@weakgroup" , "\\defgroup" , "\\page" , "\\paragraph" , "\\section" , "\\struct" , "\\subsection" , "\\subsubsection" , "\\union" , "\\weakgroup" ]) , rAttribute = AnnotationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "ML_TagWordString" ) ] } , Rule { rMatcher = DetectIdentifier , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } , Rule { rMatcher = RegExpr RE { reString = "\\\\(<|>)" , reCompiled = Just (compileRegex True "\\\\(<|>)") , reCaseSensitive = True } , rAttribute = AnnotationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } , Rule { rMatcher = Detect2Chars '<' '<' , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } , Rule { rMatcher = RegExpr RE { reString = "<\\s*\\/?\\s*[a-zA-Z_:][a-zA-Z0-9._:-]*" , reCompiled = Just (compileRegex True "<\\s*\\/?\\s*[a-zA-Z_:][a-zA-Z0-9._:-]*") , reCaseSensitive = True } , rAttribute = KeywordTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "ML_htmltag" ) ] } , Rule { rMatcher = StringDetect "" , rAttribute = CommentTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } ] , cAttribute = CommentTok , cLineEmptyContext = [] , cLineEndContext = [] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) , ( "ML_htmltag" , Context { cName = "ML_htmltag" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = Detect2Chars '*' '/' , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = True , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } , Rule { rMatcher = Detect2Chars '/' '>' , rAttribute = KeywordTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } , Rule { rMatcher = DetectChar '>' , rAttribute = KeywordTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } , Rule { rMatcher = RegExpr RE { reString = "\\s*=\\s*" , reCompiled = Just (compileRegex True "\\s*=\\s*") , reCaseSensitive = True } , rAttribute = OtherTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "ML_identifiers" ) ] } ] , cAttribute = OtherTok , cLineEmptyContext = [] , cLineEndContext = [] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) , ( "ML_identifiers" , Context { cName = "ML_identifiers" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = Detect2Chars '*' '/' , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = True , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } , Rule { rMatcher = RegExpr RE { reString = "\\s*#?[a-zA-Z0-9]*" , reCompiled = Just (compileRegex True "\\s*#?[a-zA-Z0-9]*") , reCaseSensitive = True } , rAttribute = NormalTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } , Rule { rMatcher = DetectChar '\'' , rAttribute = DataTypeTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "ML_types1" ) ] } , Rule { rMatcher = DetectChar '"' , rAttribute = DataTypeTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "ML_types2" ) ] } ] , cAttribute = OtherTok , cLineEmptyContext = [] , cLineEndContext = [] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) , ( "ML_types1" , Context { cName = "ML_types1" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = Detect2Chars '*' '/' , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = True , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } , Rule { rMatcher = DetectChar '\'' , rAttribute = DataTypeTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop , Pop ] } ] , cAttribute = DataTypeTok , cLineEmptyContext = [] , cLineEndContext = [] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) , ( "ML_types2" , Context { cName = "ML_types2" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = Detect2Chars '*' '/' , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = True , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } , Rule { rMatcher = DetectChar '"' , rAttribute = DataTypeTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop , Pop ] } ] , cAttribute = DataTypeTok , cLineEmptyContext = [] , cLineEndContext = [] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) , ( "Normal" , Context { cName = "Normal" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = RegExpr RE { reString = "--\\[(=*)\\[" , reCompiled = Nothing , reCaseSensitive = True } , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = True , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "BlockComment" ) ] } , Rule { rMatcher = StringDetect "--" , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "LineComment" ) ] } ] , cAttribute = NormalTok , cLineEmptyContext = [] , cLineEndContext = [] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) , ( "SL_Tag2ndWord" , Context { cName = "SL_Tag2ndWord" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = DetectSpaces , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } , Rule { rMatcher = RegExpr RE { reString = "\\S(?=([][,?;()]|\\.$|\\.?\\s))" , reCompiled = Just (compileRegex True "\\S(?=([][,?;()]|\\.$|\\.?\\s))") , reCaseSensitive = True } , rAttribute = CommentVarTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop , Pop ] } , Rule { rMatcher = RegExpr RE { reString = "\\S" , reCompiled = Just (compileRegex True "\\S") , reCaseSensitive = True } , rAttribute = CommentVarTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } ] , cAttribute = DocumentationTok , cLineEmptyContext = [] , cLineEndContext = [ Pop , Pop ] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) , ( "SL_TagParam" , Context { cName = "SL_TagParam" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = DetectSpaces , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } , Rule { rMatcher = StringDetect "[in]" , rAttribute = AnnotationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "SL_Tag2ndWord" ) ] } , Rule { rMatcher = StringDetect "[out]" , rAttribute = AnnotationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "SL_Tag2ndWord" ) ] } , Rule { rMatcher = StringDetect "[in,out]" , rAttribute = AnnotationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "SL_Tag2ndWord" ) ] } , Rule { rMatcher = RegExpr RE { reString = "\\S(?=([][,?;()]|\\.$|\\.?\\s))" , reCompiled = Just (compileRegex True "\\S(?=([][,?;()]|\\.$|\\.?\\s))") , reCaseSensitive = True } , rAttribute = CommentVarTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } , Rule { rMatcher = RegExpr RE { reString = "\\S" , reCompiled = Just (compileRegex True "\\S") , reCaseSensitive = True } , rAttribute = CommentVarTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } ] , cAttribute = DocumentationTok , cLineEmptyContext = [] , cLineEndContext = [ Pop ] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) , ( "SL_TagString" , Context { cName = "SL_TagString" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = DetectSpaces , rAttribute = DocumentationTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [] } , Rule { rMatcher = StringDetect "" , rAttribute = CommentTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } ] , cAttribute = CommentTok , cLineEmptyContext = [] , cLineEndContext = [ Pop ] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) , ( "SL_htmltag" , Context { cName = "SL_htmltag" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = Detect2Chars '/' '>' , rAttribute = KeywordTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } , Rule { rMatcher = DetectChar '>' , rAttribute = KeywordTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } , Rule { rMatcher = RegExpr RE { reString = "\\s*=\\s*" , reCompiled = Just (compileRegex True "\\s*=\\s*") , reCaseSensitive = True } , rAttribute = OtherTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "SL_identifiers" ) ] } ] , cAttribute = OtherTok , cLineEmptyContext = [] , cLineEndContext = [ Pop ] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) , ( "SL_identifiers" , Context { cName = "SL_identifiers" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = RegExpr RE { reString = "\\s*#?[a-zA-Z0-9]*" , reCompiled = Just (compileRegex True "\\s*#?[a-zA-Z0-9]*") , reCaseSensitive = True } , rAttribute = NormalTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop ] } , Rule { rMatcher = DetectChar '\'' , rAttribute = DataTypeTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "SL_types1" ) ] } , Rule { rMatcher = DetectChar '"' , rAttribute = DataTypeTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Push ( "DoxygenLua" , "SL_types2" ) ] } ] , cAttribute = OtherTok , cLineEmptyContext = [] , cLineEndContext = [ Pop ] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) , ( "SL_types1" , Context { cName = "SL_types1" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = DetectChar '\'' , rAttribute = DataTypeTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop , Pop ] } ] , cAttribute = DataTypeTok , cLineEmptyContext = [] , cLineEndContext = [ Pop ] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) , ( "SL_types2" , Context { cName = "SL_types2" , cSyntax = "DoxygenLua" , cRules = [ Rule { rMatcher = DetectChar '"' , rAttribute = DataTypeTok , rIncludeAttribute = False , rDynamic = False , rCaseSensitive = True , rChildren = [] , rLookahead = False , rFirstNonspace = False , rColumn = Nothing , rContextSwitch = [ Pop , Pop ] } ] , cAttribute = DataTypeTok , cLineEmptyContext = [] , cLineEndContext = [ Pop ] , cLineBeginContext = [] , cFallthrough = False , cFallthroughContext = [] , cDynamic = False } ) ] , sAuthor = "Bruno Massa (brmassa@gmail.com)" , sVersion = "3" , sLicense = "LGPLv2+" , sExtensions = [ "*.dox" , "*.doxygen" ] , sStartingContext = "Normal" }