module Skylighting.Syntax.Lua (syntax) where
import Skylighting.Types
import Data.Map
import Skylighting.Regex
import qualified Data.Set
syntax :: Syntax
syntax = Syntax
{ sName = "Lua"
, sFilename = "lua.xml"
, sShortname = "Lua"
, sContexts =
fromList
[ ( "Block Comment"
, Context
{ cName = "Block Comment"
, cSyntax = "Lua"
, cRules =
[ Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\]%1\\]"
, reCompiled = Nothing
, reCaseSensitive = True
}
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = True
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
, Rule
{ rMatcher = Detect2Chars '-' '-'
, rAttribute = AlertTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims =
Data.Set.fromList "\t\n !\"%&()*+,-/:;<=>?[\\]^{|}~"
}
(makeWordSet True [ "FIXME" , "NOTE" , "TODO" ])
, rAttribute = AlertTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
]
, cAttribute = CommentTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = True
}
)
, ( "Comment"
, Context
{ cName = "Comment"
, cSyntax = "Lua"
, cRules =
[ Rule
{ rMatcher = Detect2Chars '-' '-'
, rAttribute = AlertTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims =
Data.Set.fromList "\t\n !\"%&()*+,-/:;<=>?[\\]^{|}~"
}
(makeWordSet True [ "FIXME" , "NOTE" , "TODO" ])
, rAttribute = AlertTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
]
, cAttribute = CommentTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "Error"
, Context
{ cName = "Error"
, cSyntax = "Lua"
, cRules = []
, cAttribute = ErrorTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "Normal"
, Context
{ cName = "Normal"
, cSyntax = "Lua"
, cRules =
[ Rule
{ rMatcher = IncludeRules ( "DoxygenLua" , "" )
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims =
Data.Set.fromList "\t\n !\"%&()*+,-/:;<=>?[\\]^{|}~"
}
(makeWordSet
True
[ "foreach" , "foreachi" , "table.foreach" , "table.foreachi" ])
, rAttribute = ErrorTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectSpaces
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "--\\[(=*)\\["
, reCompiled = Nothing
, reCaseSensitive = True
}
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = True
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Lua" , "Block Comment" ) ]
}
, Rule
{ rMatcher = Detect2Chars '-' '-'
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Lua" , "Comment" ) ]
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\[(=*)\\["
, reCompiled = Nothing
, reCaseSensitive = True
}
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = True
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Lua" , "String_block" ) ]
}
, Rule
{ rMatcher = DetectChar '\''
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Lua" , "String_single" ) ]
}
, Rule
{ rMatcher = DetectChar '"'
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Lua" , "String_double" ) ]
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims =
Data.Set.fromList "\t\n !\"%&()*+,-/:;<=>?[\\]^{|}~"
}
(makeWordSet
True
[ "LUA_PATH"
, "_ALERT"
, "_ERRORMESSAGE"
, "_LOADED"
, "_VERSION"
, "abs"
, "acos"
, "appendto"
, "ascii"
, "asin"
, "assert"
, "atan"
, "atan2"
, "call"
, "ceil"
, "cgilua"
, "cgilua.addclosefunction"
, "cgilua.addopenfunction"
, "cgilua.addscripthandler"
, "cgilua.buildprocesshandler"
, "cgilua.contentheader"
, "cgilua.cookies"
, "cgilua.cookies.delete"
, "cgilua.cookies.get"
, "cgilua.cookies.set"
, "cgilua.cookies.sethtml"
, "cgilua.doif"
, "cgilua.doscript"
, "cgilua.errorlog"
, "cgilua.handlelp"
, "cgilua.header"
, "cgilua.htmlheader"
, "cgilua.lp.compile"
, "cgilua.lp.include"
, "cgilua.lp.setcompatmode"
, "cgilua.lp.setoutfunc"
, "cgilua.lp.translate"
, "cgilua.mkabsoluteurl"
, "cgilua.mkurlpath"
, "cgilua.pack"
, "cgilua.put"
, "cgilua.redirect"
, "cgilua.script_file"
, "cgilua.script_path"
, "cgilua.script_pdir"
, "cgilua.script_vdir"
, "cgilua.script_vpath"
, "cgilua.serialize"
, "cgilua.servervariable"
, "cgilua.session"
, "cgilua.session.close"
, "cgilua.session.data"
, "cgilua.session.delete"
, "cgilua.session.load"
, "cgilua.session.new"
, "cgilua.session.open"
, "cgilua.session.save"
, "cgilua.session.setsessiondir"
, "cgilua.seterrorhandler"
, "cgilua.seterroroutput"
, "cgilua.setmaxfilesize"
, "cgilua.setmaxinput"
, "cgilua.setoutfunc"
, "cgilua.splitpath"
, "cgilua.urlcode.encodetable"
, "cgilua.urlcode.escape"
, "cgilua.urlcode.insertfield"
, "cgilua.urlcode.parsequery"
, "cgilua.urlcode.unescape"
, "cgilua.urlpath"
, "clock"
, "close"
, "closefile"
, "collectgarbage"
, "commit"
, "connect"
, "copytagmethods"
, "cos"
, "date"
, "debug.gethook"
, "debug.getinfo"
, "debug.getlocal"
, "debug.sethook"
, "debug.setlocal"
, "deg"
, "dofile"
, "dostring"
, "error"
, "execute"
, "exit"
, "exp"
, "fetch"
, "files"
, "floor"
, "flush"
, "foreach"
, "foreachi"
, "format"
, "frexp"
, "gcinfo"
, "getcolnames"
, "getcoltypes"
, "getenv"
, "getglobal"
, "getglobals"
, "getinfo"
, "getlocal"
, "getmetatable"
, "getn"
, "gettagmethod"
, "globals"
, "gsub"
, "io.close"
, "io.flush"
, "io.input"
, "io.lines"
, "io.open"
, "io.output"
, "io.read"
, "io.stderr"
, "io.stdin"
, "io.stdout"
, "io.tmpfile"
, "io.write"
, "ipairs"
, "ldexp"
, "lfs"
, "lfs.attributes"
, "lfs.chdir"
, "lfs.currentdir"
, "lfs.dir"
, "lfs.lock"
, "lfs.mkdir"
, "lfs.rmdir"
, "lfs.touch"
, "lfs.unlock"
, "lines"
, "loadfile"
, "loadstring"
, "log"
, "log10"
, "math.abs"
, "math.acos"
, "math.asin"
, "math.atan"
, "math.atan2"
, "math.ceil"
, "math.cos"
, "math.deg"
, "math.exp"
, "math.floor"
, "math.frexp"
, "math.ldexp"
, "math.log"
, "math.log10"
, "math.max"
, "math.min"
, "math.mod"
, "math.rad"
, "math.random"
, "math.randomseed"
, "math.sin"
, "math.squrt"
, "math.tan"
, "max"
, "min"
, "mod"
, "newtag"
, "next"
, "numrows"
, "openfile"
, "os.clock"
, "os.date"
, "os.difftime"
, "os.execute"
, "os.exit"
, "os.getenv"
, "os.remove"
, "os.rename"
, "os.setlocale"
, "os.time"
, "os.tmpname"
, "pairs"
, "pcall"
, "print"
, "rad"
, "random"
, "randomseed"
, "rawget"
, "rawset"
, "read"
, "readfrom"
, "remove"
, "rename"
, "require"
, "rollback"
, "seek"
, "setautocommit"
, "setcallhook"
, "setglobal"
, "setglobals"
, "setlinehook"
, "setlocal"
, "setlocale"
, "setmetatable"
, "settag"
, "settagmethod"
, "sin"
, "sort"
, "squrt"
, "strbyte"
, "strchar"
, "strfind"
, "string.byte"
, "string.char"
, "string.find"
, "string.format"
, "string.gfind"
, "string.gsub"
, "string.len"
, "string.lower"
, "string.rep"
, "string.sub"
, "string.upper"
, "strlen"
, "strlower"
, "strrep"
, "strsub"
, "strupper"
, "table.concat"
, "table.foreach"
, "table.foreachi"
, "table.getn"
, "table.insert"
, "table.remove"
, "table.setn"
, "table.sort"
, "tag"
, "tan"
, "tinsert"
, "tmpname"
, "tonumber"
, "tostring"
, "tremove"
, "type"
, "unpack"
, "write"
, "writeto"
, "zip"
, "zip.open"
, "zip.openfile"
])
, rAttribute = FunctionTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bfunction\\b"
, reCompiled = Just (compileRegex True "\\bfunction\\b")
, reCaseSensitive = True
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims =
Data.Set.fromList "\t\n !\"%&()*+,-/:;<=>?[\\]^{|}~"
}
(makeWordSet
True [ "and" , "function" , "in" , "local" , "not" , "or" ])
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims =
Data.Set.fromList "\t\n !\"%&()*+,-/:;<=>?[\\]^{|}~"
}
(makeWordSet True [ "false" , "nil" , "true" ])
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\belse\\b"
, reCompiled = Just (compileRegex True "\\belse\\b")
, reCaseSensitive = True
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\belseif\\b"
, reCompiled = Just (compileRegex True "\\belseif\\b")
, reCaseSensitive = True
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bdo\\b"
, reCompiled = Just (compileRegex True "\\bdo\\b")
, reCaseSensitive = True
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bif\\b"
, reCompiled = Just (compileRegex True "\\bif\\b")
, reCaseSensitive = True
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bend\\b"
, reCompiled = Just (compileRegex True "\\bend\\b")
, reCaseSensitive = True
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims =
Data.Set.fromList "\t\n !\"%&()*+,-/:;<=>?[\\]^{|}~"
}
(makeWordSet
True
[ "break"
, "do"
, "else"
, "elseif"
, "end"
, "for"
, "if"
, "repeat"
, "return"
, "then"
, "until"
, "while"
])
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar '{'
, rAttribute = OtherTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar '}'
, rAttribute = OtherTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b\\d*\\.?\\d*(e|e\\-|e\\+)?\\d+\\b"
, reCompiled =
Just (compileRegex True "\\b\\d*\\.?\\d*(e|e\\-|e\\+)?\\d+\\b")
, reCaseSensitive = True
}
, rAttribute = DecValTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b-?0[xX][0-9a-fA-F]+\\b"
, reCompiled = Just (compileRegex True "\\b-?0[xX][0-9a-fA-F]+\\b")
, reCaseSensitive = True
}
, rAttribute = DecValTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b[a-zA-Z_][a-zA-Z0-9_]*(?=\\s*([({'\"]|\\[\\[))\\b"
, reCompiled =
Just
(compileRegex
True "\\b[a-zA-Z_][a-zA-Z0-9_]*(?=\\s*([({'\"]|\\[\\[))\\b")
, reCaseSensitive = True
}
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b[A-Z_][A-Z0-9_]*\\b"
, reCompiled = Just (compileRegex True "\\b[A-Z_][A-Z0-9_]*\\b")
, reCaseSensitive = True
}
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"
, reCompiled =
Just (compileRegex True "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b")
, reCaseSensitive = True
}
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Detect2Chars '!' '='
, rAttribute = ErrorTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Detect2Chars '-' '='
, rAttribute = ErrorTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Detect2Chars '+' '='
, rAttribute = ErrorTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Detect2Chars '+' '+'
, rAttribute = ErrorTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Detect2Chars '.' '='
, rAttribute = ErrorTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = AnyChar "[]().,=~+-*/^><#;"
, rAttribute = OtherTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
]
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "String_block"
, Context
{ cName = "String_block"
, cSyntax = "Lua"
, cRules =
[ Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\\\(a|b|f|n|r|t|v|\\\\|\"|\\'|[|])"
, reCompiled =
Just (compileRegex True "\\\\(a|b|f|n|r|t|v|\\\\|\"|\\'|[|])")
, reCaseSensitive = True
}
, rAttribute = OtherTok
, 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 = StringTok
, rIncludeAttribute = False
, rDynamic = True
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = StringTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = True
}
)
, ( "String_double"
, Context
{ cName = "String_double"
, cSyntax = "Lua"
, cRules =
[ Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\\\[abfnrtv'\"\\\\\\[\\]]"
, reCompiled =
Just (compileRegex True "\\\\[abfnrtv'\"\\\\\\[\\]]")
, reCaseSensitive = True
}
, rAttribute = OtherTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar '"'
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = StringTok
, cLineEmptyContext = []
, cLineEndContext = [ Push ( "Lua" , "Error" ) ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "String_single"
, Context
{ cName = "String_single"
, cSyntax = "Lua"
, cRules =
[ Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\\\(a|b|f|n|r|t|v|\\\\|\"|\\'|[|])"
, reCompiled =
Just (compileRegex True "\\\\(a|b|f|n|r|t|v|\\\\|\"|\\'|[|])")
, reCaseSensitive = True
}
, rAttribute = OtherTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar '\''
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = StringTok
, cLineEmptyContext = []
, cLineEndContext = [ Push ( "Lua" , "Error" ) ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
]
, sAuthor = ""
, sVersion = "2"
, sLicense = ""
, sExtensions = [ "*.lua" ]
, sStartingContext = "Normal"
}