"--[[\n\tAuctioneer Advanced\n\tVersion: <%version%> (<%codename%>)\n\tRevision: $Id: CoreMain.lua 2233 2007-09-25 03:57:33Z norganna $\n\tURL: http://auctioneeraddon.com/\n\n\tThis is an addon for World of Warcraft that adds statistical history to the auction data that is collected\n\twhen the auction is scanned, so that you can easily determine what price\n\tyou will be able to sell an item for at auction or at a vendor whenever you\n\tmouse-over an item in the game\n\n\tLicense:\n\t\tThis program is free software; you can redistribute it and/or\n\t\tmodify it under the terms of the GNU General Public License\n\t\tas published by the Free Software Foundation; either version 2\n\t\tof the License, or (at your option) any later version.\n\n\t\tThis program is distributed in the hope that it will be useful,\n\t\tbut WITHOUT ANY WARRANTY; without even the implied warranty of\n\t\tMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n\t\tGNU General Public License for more details.\n\n\t\tYou should have received a copy of the GNU General Public License\n\t\talong with this program(see GPL.txt); if not, write to the Free Software\n\t\tFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\n\n\tNote:\n\t\tThis AddOn's source code is specifically designed to work with\n\t\tWorld of Warcraft's interpreted AddOn system.\n\t\tYou have an implicit licence to use this AddOn with these facilities\n\t\tsince that is its designated purpose as per:\n\t\thttp://www.fsf.org/licensing/licenses/gpl-faq.html#InterpreterIncompat\n]]" Comment.Multiline
'\n\n\n'      Text.Whitespace

'--[[\n\tSee CoreAPI.lua for a description of the modules API\n]]' Comment.Multiline
'\n\n'        Text.Whitespace

'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'not'         Operator.Word
' '           Text.Whitespace
'AucAdvanced' Name.Variable
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
' '           Text.Whitespace
'AucAdvanced' Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'{}'          Punctuation
' '           Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'not'         Operator.Word
' '           Text.Whitespace
'AucAdvancedData' Name.Variable
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
' '           Text.Whitespace
'AucAdvancedData' Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'{}'          Punctuation
' '           Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'not'         Operator.Word
' '           Text.Whitespace
'AucAdvancedLocal' Name.Variable
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
' '           Text.Whitespace
'AucAdvancedLocal' Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'{}'          Punctuation
' '           Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'not'         Operator.Word
' '           Text.Whitespace
'AucAdvancedConfig' Name.Variable
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
' '           Text.Whitespace
'AucAdvancedConfig' Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'{}'          Punctuation
' '           Text.Whitespace
'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'AucAdvanced' Name.Variable
'.'           Punctuation
'Version'     Name.Property
'='           Operator
'"'           Literal.String.Double
'<%version%>' Literal.String.Double
'"'           Literal.String.Double
';'           Punctuation
'\n'          Text.Whitespace

'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'AucAdvanced' Name.Variable
'.'           Punctuation
'Version'     Name.Property
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'<'           Literal.String.Double
'"'           Literal.String.Double
'..'          Operator
'"'           Literal.String.Double
'%version%>'  Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t'        Text.Whitespace
'AucAdvanced' Name.Variable
'.'           Punctuation
'Version'     Name.Property
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'5.0.DEV'     Literal.String.Double
'"'           Literal.String.Double
';'           Punctuation
'\n'          Text.Whitespace

'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'local'       Keyword.Declaration
' '           Text.Whitespace
'private'     Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'{}'          Punctuation
'\n\n'        Text.Whitespace

'-- For our modular stats system, each stats engine should add their' Comment.Single
'\n'          Text.Whitespace

'-- subclass to AucAdvanced.Modules.<type>.<name> and store their data into their own' Comment.Single
'\n'          Text.Whitespace

'-- data table in AucAdvancedData.Stats.<type><name>' Comment.Single
'\n'          Text.Whitespace

'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'not'         Operator.Word
' '           Text.Whitespace
'AucAdvanced' Name.Variable
'.'           Punctuation
'Modules'     Name.Property
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
' '           Text.Whitespace
'AucAdvanced' Name.Variable
'.'           Punctuation
'Modules'     Name.Property
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'{'           Punctuation
'Stat'        Name.Variable
'='           Operator
'{},'         Punctuation
'Util'        Name.Variable
'='           Operator
'{},'         Punctuation
'Filter'      Name.Variable
'='           Operator
'{}}'         Punctuation
' '           Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'not'         Operator.Word
' '           Text.Whitespace
'AucAdvancedData' Name.Variable
'.'           Punctuation
'Stats'       Name.Property
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
' '           Text.Whitespace
'AucAdvancedData' Name.Variable
'.'           Punctuation
'Stats'       Name.Property
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'{}'          Punctuation
' '           Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'not'         Operator.Word
' '           Text.Whitespace
'AucAdvancedLocal' Name.Variable
'.'           Punctuation
'Stats'       Name.Property
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
' '           Text.Whitespace
'AucAdvancedLocal' Name.Variable
'.'           Punctuation
'Stats'       Name.Property
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'{}'          Punctuation
' '           Text.Whitespace
'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'function'    Keyword.Reserved
' '           Text.Whitespace
'private'     Name.Class
'.'           Punctuation
'TooltipHook' Name.Function
'('           Punctuation
'vars'        Name.Variable
','           Punctuation
' '           Text.Whitespace
'ret'         Name.Variable
','           Punctuation
' '           Text.Whitespace
'frame'       Name.Variable
','           Punctuation
' '           Text.Whitespace
'name'        Name.Variable
','           Punctuation
' '           Text.Whitespace
'hyperlink'   Name.Variable
','           Punctuation
' '           Text.Whitespace
'quality'     Name.Variable
','           Punctuation
' '           Text.Whitespace
'quantity'    Name.Variable
','           Punctuation
' '           Text.Whitespace
'cost'        Name.Variable
','           Punctuation
' '           Text.Whitespace
'additional'  Name.Variable
')'           Punctuation
'\n\t'        Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'EnhTooltip'  Name.Variable
'.'           Punctuation
'LinkType'    Name.Function
'('           Punctuation
'hyperlink'   Name.Variable
')'           Punctuation
' '           Text.Whitespace
'~='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'item'        Literal.String.Double
'"'           Literal.String.Double
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t'      Text.Whitespace
'return'      Keyword.Reserved
' '           Text.Whitespace
'-- Auctioneer hooks into item tooltips only' Comment.Single
'\n\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n\n\t'      Text.Whitespace
'-- Check to see if we need to force load scandata' Comment.Single
'\n\t'        Text.Whitespace
'local'       Keyword.Declaration
' '           Text.Whitespace
'getter'      Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'AucAdvanced' Name.Variable
'.'           Punctuation
'Settings'    Name.Property
'.'           Punctuation
'GetSetting'  Name.Property
'\n\t'        Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'getter'      Name.Function
'('           Punctuation
'"'           Literal.String.Double
'scandata.tooltip.display' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
' '           Text.Whitespace
'and'         Operator.Word
' '           Text.Whitespace
'getter'      Name.Function
'('           Punctuation
'"'           Literal.String.Double
'scandata.force' Literal.String.Double
'"'           Literal.String.Double
'))'          Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t'      Text.Whitespace
'AucAdvanced' Name.Variable
'.'           Punctuation
'Scan'        Name.Property
'.'           Punctuation
'GetImage'    Name.Function
'()'          Punctuation
'\n\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n\n\t'      Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'system'      Name.Variable
','           Punctuation
' '           Text.Whitespace
'systemMods'  Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'AucAdvanced' Name.Variable
'.'           Punctuation
'Modules'     Name.Property
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t'      Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'engine'      Name.Variable
','           Punctuation
' '           Text.Whitespace
'engineLib'   Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'systemMods'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t\t'    Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'engineLib'   Name.Variable
'.'           Punctuation
'Processor'   Name.Property
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
' '           Text.Whitespace
'engineLib'   Name.Variable
'.'           Punctuation
'Processor'   Name.Function
'('           Punctuation
'"'           Literal.String.Double
'tooltip'     Literal.String.Double
'"'           Literal.String.Double
','           Punctuation
' '           Text.Whitespace
'frame'       Name.Variable
','           Punctuation
' '           Text.Whitespace
'name'        Name.Variable
','           Punctuation
' '           Text.Whitespace
'hyperlink'   Name.Variable
','           Punctuation
' '           Text.Whitespace
'quality'     Name.Variable
','           Punctuation
' '           Text.Whitespace
'quantity'    Name.Variable
','           Punctuation
' '           Text.Whitespace
'cost'        Name.Variable
','           Punctuation
' '           Text.Whitespace
'additional'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t'      Text.Whitespace
'end'         Keyword.Reserved
'\n\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'function'    Keyword.Reserved
' '           Text.Whitespace
'private'     Name.Class
'.'           Punctuation
'HookAH'      Name.Function
'()'          Punctuation
'\n\t'        Text.Whitespace
'hooksecurefunc' Name.Function
'('           Punctuation
'"'           Literal.String.Double
'AuctionFrameBrowse_Update' Literal.String.Double
'"'           Literal.String.Double
','           Punctuation
' '           Text.Whitespace
'AucAdvanced' Name.Variable
'.'           Punctuation
'API'         Name.Property
'.'           Punctuation
'ListUpdate'  Name.Property
')'           Punctuation
'\n\t'        Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'system'      Name.Variable
','           Punctuation
' '           Text.Whitespace
'systemMods'  Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'AucAdvanced' Name.Variable
'.'           Punctuation
'Modules'     Name.Property
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t'      Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'engine'      Name.Variable
','           Punctuation
' '           Text.Whitespace
'engineLib'   Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'systemMods'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t\t'    Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'engineLib'   Name.Variable
'.'           Punctuation
'Processor'   Name.Property
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t\t\t'  Text.Whitespace
'engineLib'   Name.Variable
'.'           Punctuation
'Processor'   Name.Function
'('           Punctuation
'"'           Literal.String.Double
'auctionui'   Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n\t\t\t'    Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t'      Text.Whitespace
'end'         Keyword.Reserved
'\n\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'function'    Keyword.Reserved
' '           Text.Whitespace
'private'     Name.Class
'.'           Punctuation
'OnLoad'      Name.Function
'('           Punctuation
'addon'       Name.Variable
')'           Punctuation
'\n\t'        Text.Whitespace
'addon'       Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'addon'       Name.Variable
':'           Punctuation
'lower'       Name.Function
'()'          Punctuation
'\n\n\t'      Text.Whitespace
'-- Check if the actual addon itself is loading' Comment.Single
'\n\t'        Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'addon'       Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'auc-advanced' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t'      Text.Whitespace
'Stubby'      Name.Variable
'.'           Punctuation
'RegisterAddOnHook' Name.Function
'('           Punctuation
'"'           Literal.String.Double
'Blizzard_AuctionUi' Literal.String.Double
'"'           Literal.String.Double
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String.Double
'Auc-Advanced' Literal.String.Double
'"'           Literal.String.Double
','           Punctuation
' '           Text.Whitespace
'private'     Name.Variable
'.'           Punctuation
'HookAH'      Name.Property
')'           Punctuation
'\n\t\t'      Text.Whitespace
'Stubby'      Name.Variable
'.'           Punctuation
'RegisterFunctionHook' Name.Function
'('           Punctuation
'"'           Literal.String.Double
'EnhTooltip.AddTooltip' Literal.String.Double
'"'           Literal.String.Double
','           Punctuation
' '           Text.Whitespace
'600'         Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'private'     Name.Variable
'.'           Punctuation
'TooltipHook' Name.Property
')'           Punctuation
'\n\t\t'      Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'pos'         Name.Variable
','           Punctuation
' '           Text.Whitespace
'module'      Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'ipairs'      Name.Builtin
'('           Punctuation
'AucAdvanced' Name.Variable
'.'           Punctuation
'EmbeddedModules' Name.Property
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t\t'    Text.Whitespace
'-- These embedded modules have also just been loaded' Comment.Single
'\n\t\t\t'    Text.Whitespace
'private'     Name.Variable
'.'           Punctuation
'OnLoad'      Name.Function
'('           Punctuation
'module'      Name.Variable
')'           Punctuation
'\n\t\t'      Text.Whitespace
'end'         Keyword.Reserved
'\n\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n\n\t'      Text.Whitespace
'-- Notify the actual module if it exists' Comment.Single
'\n\t'        Text.Whitespace
'local'       Keyword.Declaration
' '           Text.Whitespace
'auc'         Name.Variable
','           Punctuation
' '           Text.Whitespace
'sys'         Name.Variable
','           Punctuation
' '           Text.Whitespace
'eng'         Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'strsplit'    Name.Function
'('           Punctuation
'"'           Literal.String.Double
'-'           Literal.String.Double
'"'           Literal.String.Double
','           Punctuation
' '           Text.Whitespace
'addon'       Name.Variable
')'           Punctuation
'\n\t'        Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'auc'         Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'auc'         Literal.String.Double
'"'           Literal.String.Double
' '           Text.Whitespace
'and'         Operator.Word
' '           Text.Whitespace
'sys'         Name.Variable
' '           Text.Whitespace
'and'         Operator.Word
' '           Text.Whitespace
'eng'         Name.Variable
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t'      Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'system'      Name.Variable
','           Punctuation
' '           Text.Whitespace
'systemMods'  Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'AucAdvanced' Name.Variable
'.'           Punctuation
'Modules'     Name.Property
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t\t'    Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'sys'         Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'system'      Name.Variable
':'           Punctuation
'lower'       Name.Function
'())'         Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t\t\t'  Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'engine'      Name.Variable
','           Punctuation
' '           Text.Whitespace
'engineLib'   Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'systemMods'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t\t\t\t' Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'eng'         Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'engine'      Name.Variable
':'           Punctuation
'lower'       Name.Function
'()'          Punctuation
' '           Text.Whitespace
'and'         Operator.Word
' '           Text.Whitespace
'engineLib'   Name.Variable
'.'           Punctuation
'OnLoad'      Name.Property
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t\t\t\t\t' Text.Whitespace
'engineLib'   Name.Variable
'.'           Punctuation
'OnLoad'      Name.Function
'('           Punctuation
'addon'       Name.Variable
')'           Punctuation
'\n\t\t\t\t\t' Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t\t\t'  Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t\t'    Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t'      Text.Whitespace
'end'         Keyword.Reserved
'\n\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n\n\t'      Text.Whitespace
"-- Check all modules' load triggers and pass event to processors" Comment.Single
'\n\t'        Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'system'      Name.Variable
','           Punctuation
' '           Text.Whitespace
'systemMods'  Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'AucAdvanced' Name.Variable
'.'           Punctuation
'Modules'     Name.Property
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t'      Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'engine'      Name.Variable
','           Punctuation
' '           Text.Whitespace
'engineLib'   Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'systemMods'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t\t'    Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'engineLib'   Name.Variable
'.'           Punctuation
'LoadTriggers' Name.Property
' '           Text.Whitespace
'and'         Operator.Word
' '           Text.Whitespace
'engineLib'   Name.Variable
'.'           Punctuation
'LoadTriggers' Name.Property
'['           Punctuation
'addon'       Name.Variable
'])'          Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t\t\t'  Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'engineLib'   Name.Variable
'.'           Punctuation
'OnLoad'      Name.Property
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t\t\t\t' Text.Whitespace
'engineLib'   Name.Variable
'.'           Punctuation
'OnLoad'      Name.Function
'('           Punctuation
'addon'       Name.Variable
')'           Punctuation
'\n\t\t\t\t'  Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t\t'    Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t\t'    Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'engineLib'   Name.Variable
'.'           Punctuation
'Processor'   Name.Property
' '           Text.Whitespace
'and'         Operator.Word
' '           Text.Whitespace
'auc'         Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'auc'         Literal.String.Double
'"'           Literal.String.Double
' '           Text.Whitespace
'and'         Operator.Word
' '           Text.Whitespace
'sys'         Name.Variable
' '           Text.Whitespace
'and'         Operator.Word
' '           Text.Whitespace
'eng'         Name.Variable
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t\t\t'  Text.Whitespace
'engineLib'   Name.Variable
'.'           Punctuation
'Processor'   Name.Function
'('           Punctuation
'"'           Literal.String.Double
'load'        Literal.String.Double
'"'           Literal.String.Double
','           Punctuation
' '           Text.Whitespace
'addon'       Name.Variable
')'           Punctuation
'\n\t\t\t'    Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t'      Text.Whitespace
'end'         Keyword.Reserved
'\n\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'function'    Keyword.Reserved
' '           Text.Whitespace
'private'     Name.Class
'.'           Punctuation
'OnUnload'    Name.Function
'()'          Punctuation
'\n\t'        Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'system'      Name.Variable
','           Punctuation
' '           Text.Whitespace
'systemMods'  Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'AucAdvanced' Name.Variable
'.'           Punctuation
'Modules'     Name.Property
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t'      Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'engine'      Name.Variable
','           Punctuation
' '           Text.Whitespace
'engineLib'   Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'systemMods'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t\t'    Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'engineLib'   Name.Variable
'.'           Punctuation
'OnUnload'    Name.Property
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t\t\t'  Text.Whitespace
'engineLib'   Name.Variable
'.'           Punctuation
'OnUnload'    Name.Function
'()'          Punctuation
'\n\t\t\t'    Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t'      Text.Whitespace
'end'         Keyword.Reserved
'\n\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'private'     Name.Variable
'.'           Punctuation
'Schedule'    Name.Property
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'{}'          Punctuation
'\n'          Text.Whitespace

'function'    Keyword.Reserved
' '           Text.Whitespace
'private'     Name.Class
'.'           Punctuation
'OnEvent'     Name.Function
'(...)'       Punctuation
'\n\t'        Text.Whitespace
'local'       Keyword.Declaration
' '           Text.Whitespace
'event'       Name.Variable
','           Punctuation
' '           Text.Whitespace
'arg'         Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'select'      Name.Builtin
'('           Punctuation
'2'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'...'         Punctuation
')'           Punctuation
'\n\t'        Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'event'       Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'ADDON_LOADED' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t'      Text.Whitespace
'local'       Keyword.Declaration
' '           Text.Whitespace
'addon'       Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'string.lower' Name.Builtin
'('           Punctuation
'arg'         Name.Variable
')'           Punctuation
'\n\t\t'      Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'addon'       Name.Variable
':'           Punctuation
'sub'         Name.Function
'('           Punctuation
'1'           Literal.Number.Integer
','           Punctuation
'4'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'auc-'        Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t\t'    Text.Whitespace
'private'     Name.Variable
'.'           Punctuation
'OnLoad'      Name.Function
'('           Punctuation
'addon'       Name.Variable
')'           Punctuation
'\n\t\t'      Text.Whitespace
'end'         Keyword.Reserved
'\n\t'        Text.Whitespace
'elseif'      Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'event'       Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'AUCTION_HOUSE_SHOW' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t'      Text.Whitespace
'-- Do Nothing for now' Comment.Single
'\n\t'        Text.Whitespace
'elseif'      Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'event'       Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'AUCTION_HOUSE_CLOSED' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t'      Text.Whitespace
'AucAdvanced' Name.Variable
'.'           Punctuation
'Scan'        Name.Property
'.'           Punctuation
'Interrupt'   Name.Function
'()'          Punctuation
'\n\t'        Text.Whitespace
'elseif'      Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'event'       Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'PLAYER_LOGOUT' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t'      Text.Whitespace
'AucAdvanced' Name.Variable
'.'           Punctuation
'Scan'        Name.Property
'.'           Punctuation
'Commit'      Name.Function
'('           Punctuation
'true'        Keyword.Constant
')'           Punctuation
'\n\t\t'      Text.Whitespace
'private'     Name.Variable
'.'           Punctuation
'OnUnload'    Name.Function
'()'          Punctuation
'\n\t'        Text.Whitespace
'elseif'      Keyword.Reserved
' '           Text.Whitespace
'event'       Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'UNIT_INVENTORY_CHANGED' Literal.String.Double
'"'           Literal.String.Double
'\n\t'        Text.Whitespace
'or'          Operator.Word
' '           Text.Whitespace
'event'       Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'ITEM_LOCK_CHANGED' Literal.String.Double
'"'           Literal.String.Double
'\n\t'        Text.Whitespace
'or'          Operator.Word
' '           Text.Whitespace
'event'       Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'CURSOR_UPDATE' Literal.String.Double
'"'           Literal.String.Double
'\n\t'        Text.Whitespace
'or'          Operator.Word
' '           Text.Whitespace
'event'       Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'BAG_UPDATE'  Literal.String.Double
'"'           Literal.String.Double
'\n\t'        Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t'      Text.Whitespace
'private'     Name.Variable
'.'           Punctuation
'Schedule'    Name.Property
'['           Punctuation
'"'           Literal.String.Double
'inventory'   Literal.String.Double
'"'           Literal.String.Double
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'GetTime'     Name.Function
'()'          Punctuation
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'0.15'        Literal.Number.Float
'\n\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'function'    Keyword.Reserved
' '           Text.Whitespace
'private'     Name.Class
'.'           Punctuation
'OnUpdate'    Name.Function
'(...)'       Punctuation
'\n\t'        Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'event'       Name.Variable
' '           Text.Whitespace
'=='          Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'inventory'   Literal.String.Double
'"'           Literal.String.Double
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t'      Text.Whitespace
'AucAdvanced' Name.Variable
'.'           Punctuation
'Post'        Name.Property
'.'           Punctuation
'AlertBagsChanged' Name.Function
'()'          Punctuation
'\n\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n\n\t'      Text.Whitespace
'local'       Keyword.Declaration
' '           Text.Whitespace
'now'         Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'GetTime'     Name.Function
'()'          Punctuation
'\n\t'        Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'event'       Name.Variable
','           Punctuation
' '           Text.Whitespace
'time'        Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'private'     Name.Variable
'.'           Punctuation
'Schedule'    Name.Property
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t'      Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'time'        Name.Variable
' '           Text.Whitespace
'>'           Operator
' '           Text.Whitespace
'now'         Name.Variable
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t\t'    Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'system'      Name.Variable
','           Punctuation
' '           Text.Whitespace
'systemMods'  Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'AucAdvanced' Name.Variable
'.'           Punctuation
'Modules'     Name.Property
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t\t\t'  Text.Whitespace
'for'         Keyword.Reserved
' '           Text.Whitespace
'engine'      Name.Variable
','           Punctuation
' '           Text.Whitespace
'engineLib'   Name.Variable
' '           Text.Whitespace
'in'          Keyword.Reserved
' '           Text.Whitespace
'pairs'       Name.Builtin
'('           Punctuation
'systemMods'  Name.Variable
')'           Punctuation
' '           Text.Whitespace
'do'          Keyword.Reserved
'\n\t\t\t\t\t' Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'engineLib'   Name.Variable
'.'           Punctuation
'Processor'   Name.Property
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n\t\t\t\t\t\t' Text.Whitespace
'engineLib'   Name.Variable
'.'           Punctuation
'Processor'   Name.Function
'('           Punctuation
'event'       Name.Variable
','           Punctuation
' '           Text.Whitespace
'time'        Name.Variable
')'           Punctuation
'\n\t\t\t\t\t' Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t\t\t'  Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t\t'    Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t'      Text.Whitespace
'end'         Keyword.Reserved
'\n\t\t'      Text.Whitespace
'private'     Name.Variable
'.'           Punctuation
'Schedule'    Name.Property
'['           Punctuation
'event'       Name.Variable
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
'\n\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'private'     Name.Variable
'.'           Punctuation
'Frame'       Name.Property
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'CreateFrame' Name.Function
'('           Punctuation
'"'           Literal.String.Double
'Frame'       Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n'          Text.Whitespace

'private'     Name.Variable
'.'           Punctuation
'Frame'       Name.Property
':'           Punctuation
'RegisterEvent' Name.Function
'('           Punctuation
'"'           Literal.String.Double
'ADDON_LOADED' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n'          Text.Whitespace

'private'     Name.Variable
'.'           Punctuation
'Frame'       Name.Property
':'           Punctuation
'RegisterEvent' Name.Function
'('           Punctuation
'"'           Literal.String.Double
'AUCTION_HOUSE_SHOW' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n'          Text.Whitespace

'private'     Name.Variable
'.'           Punctuation
'Frame'       Name.Property
':'           Punctuation
'RegisterEvent' Name.Function
'('           Punctuation
'"'           Literal.String.Double
'AUCTION_HOUSE_CLOSED' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n'          Text.Whitespace

'private'     Name.Variable
'.'           Punctuation
'Frame'       Name.Property
':'           Punctuation
'RegisterEvent' Name.Function
'('           Punctuation
'"'           Literal.String.Double
'UNIT_INVENTORY_CHANGED' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n'          Text.Whitespace

'private'     Name.Variable
'.'           Punctuation
'Frame'       Name.Property
':'           Punctuation
'RegisterEvent' Name.Function
'('           Punctuation
'"'           Literal.String.Double
'ITEM_LOCK_CHANGED' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n'          Text.Whitespace

'private'     Name.Variable
'.'           Punctuation
'Frame'       Name.Property
':'           Punctuation
'RegisterEvent' Name.Function
'('           Punctuation
'"'           Literal.String.Double
'CURSOR_UPDATE' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n'          Text.Whitespace

'private'     Name.Variable
'.'           Punctuation
'Frame'       Name.Property
':'           Punctuation
'RegisterEvent' Name.Function
'('           Punctuation
'"'           Literal.String.Double
'BAG_UPDATE'  Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n'          Text.Whitespace

'private'     Name.Variable
'.'           Punctuation
'Frame'       Name.Property
':'           Punctuation
'RegisterEvent' Name.Function
'('           Punctuation
'"'           Literal.String.Double
'PLAYER_LOGOUT' Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n'          Text.Whitespace

'private'     Name.Variable
'.'           Punctuation
'Frame'       Name.Property
':'           Punctuation
'SetScript'   Name.Function
'('           Punctuation
'"'           Literal.String.Double
'OnEvent'     Literal.String.Double
'"'           Literal.String.Double
','           Punctuation
' '           Text.Whitespace
'private'     Name.Variable
'.'           Punctuation
'OnEvent'     Name.Property
')'           Punctuation
'\n'          Text.Whitespace

'private'     Name.Variable
'.'           Punctuation
'Frame'       Name.Property
':'           Punctuation
'SetScript'   Name.Function
'('           Punctuation
'"'           Literal.String.Double
'OnUpdate'    Literal.String.Double
'"'           Literal.String.Double
','           Punctuation
' '           Text.Whitespace
'private'     Name.Variable
'.'           Punctuation
'OnUpdate'    Name.Property
')'           Punctuation
'\n\n'        Text.Whitespace

"-- Auctioneer's debug functions" Comment.Single
'\n'          Text.Whitespace

'AucAdvanced' Name.Variable
'.'           Punctuation
'Debug'       Name.Property
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'{}'          Punctuation
'\n'          Text.Whitespace

'local'       Keyword.Declaration
' '           Text.Whitespace
'addonName'   Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"'           Literal.String.Double
'Auctioneer'  Literal.String.Double
'"'           Literal.String.Double
' '           Text.Whitespace
"-- the addon's name as it will be displayed in" Comment.Single
'\n                               ' Text.Whitespace
'-- the debug messages' Comment.Single
'\n'          Text.Whitespace

'-------------------------------------------------------------------------------' Comment.Single
'\n'          Text.Whitespace

'-- Prints the specified message to nLog.' Comment.Single
'\n'          Text.Whitespace

'--'          Comment.Single
'\n'          Text.Whitespace

'-- syntax:'  Comment.Single
'\n'          Text.Whitespace

'--    errorCode, message = debugPrint([message][, category][, title][, errorCode][, level])' Comment.Single
'\n'          Text.Whitespace

'--'          Comment.Single
'\n'          Text.Whitespace

'-- parameters:' Comment.Single
'\n'          Text.Whitespace

'--    message   - (string) the error message' Comment.Single
'\n'          Text.Whitespace

'--                nil, no error message specified' Comment.Single
'\n'          Text.Whitespace

'--    category  - (string) the category of the debug message' Comment.Single
'\n'          Text.Whitespace

'--                nil, no category specified' Comment.Single
'\n'          Text.Whitespace

'--    title     - (string) the title for the debug message' Comment.Single
'\n'          Text.Whitespace

'--                nil, no title specified' Comment.Single
'\n'          Text.Whitespace

'--    errorCode - (number) the error code' Comment.Single
'\n'          Text.Whitespace

'--                nil, no error code specified' Comment.Single
'\n'          Text.Whitespace

'--    level     - (string) nLog message level' Comment.Single
'\n'          Text.Whitespace

'--                         Any nLog.levels string is valid.' Comment.Single
'\n'          Text.Whitespace

'--                nil, no level specified' Comment.Single
'\n'          Text.Whitespace

'--'          Comment.Single
'\n'          Text.Whitespace

'-- returns:' Comment.Single
'\n'          Text.Whitespace

'--    errorCode - (number) errorCode, if one is specified' Comment.Single
'\n'          Text.Whitespace

'--                nil, otherwise' Comment.Single
'\n'          Text.Whitespace

'--    message   - (string) message, if one is specified' Comment.Single
'\n'          Text.Whitespace

'--                nil, otherwise' Comment.Single
'\n'          Text.Whitespace

'-------------------------------------------------------------------------------' Comment.Single
'\n'          Text.Whitespace

'function'    Keyword.Reserved
' '           Text.Whitespace
'AucAdvanced' Name.Class
'.'           Punctuation
'Debug'       Name.Class
'.'           Punctuation
'DebugPrint'  Name.Function
'('           Punctuation
'message'     Name.Variable
','           Punctuation
' '           Text.Whitespace
'category'    Name.Variable
','           Punctuation
' '           Text.Whitespace
'title'       Name.Variable
','           Punctuation
' '           Text.Whitespace
'errorCode'   Name.Variable
','           Punctuation
' '           Text.Whitespace
'level'       Name.Variable
')'           Punctuation
'\n\t'        Text.Whitespace
'return'      Keyword.Reserved
' '           Text.Whitespace
'DebugLib'    Name.Variable
'.'           Punctuation
'DebugPrint'  Name.Function
'('           Punctuation
'addonName'   Name.Variable
','           Punctuation
' '           Text.Whitespace
'message'     Name.Variable
','           Punctuation
' '           Text.Whitespace
'category'    Name.Variable
','           Punctuation
' '           Text.Whitespace
'title'       Name.Variable
','           Punctuation
' '           Text.Whitespace
'errorCode'   Name.Variable
','           Punctuation
' '           Text.Whitespace
'level'       Name.Variable
')'           Punctuation
'\n'          Text.Whitespace

'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'-------------------------------------------------------------------------------' Comment.Single
'\n'          Text.Whitespace

'-- Used to make sure that conditions are met within functions.' Comment.Single
'\n'          Text.Whitespace

"-- If test is false, the error message will be written to nLog and the user's" Comment.Single
'\n'          Text.Whitespace

'-- default chat channel.' Comment.Single
'\n'          Text.Whitespace

'--'          Comment.Single
'\n'          Text.Whitespace

'-- syntax:'  Comment.Single
'\n'          Text.Whitespace

'--    assertion = assert(test, message)' Comment.Single
'\n'          Text.Whitespace

'--'          Comment.Single
'\n'          Text.Whitespace

'-- parameters:' Comment.Single
'\n'          Text.Whitespace

'--    test    - (any)     false/nil, if the assertion failed' Comment.Single
'\n'          Text.Whitespace

'--                        anything else, otherwise' Comment.Single
'\n'          Text.Whitespace

'--    message - (string)  the message which will be output to the user' Comment.Single
'\n'          Text.Whitespace

'--'          Comment.Single
'\n'          Text.Whitespace

'-- returns:' Comment.Single
'\n'          Text.Whitespace

'--    assertion - (boolean) true, if the test passed' Comment.Single
'\n'          Text.Whitespace

'--                          false, otherwise' Comment.Single
'\n'          Text.Whitespace

'-------------------------------------------------------------------------------' Comment.Single
'\n'          Text.Whitespace

'function'    Keyword.Reserved
' '           Text.Whitespace
'AucAdvanced' Name.Class
'.'           Punctuation
'Debug'       Name.Class
'.'           Punctuation
'Assert'      Name.Function
'('           Punctuation
'test'        Name.Variable
','           Punctuation
' '           Text.Whitespace
'message'     Name.Variable
')'           Punctuation
'\n\t'        Text.Whitespace
'return'      Keyword.Reserved
' '           Text.Whitespace
'DebugLib'    Name.Variable
'.'           Punctuation
'Assert'      Name.Function
'('           Punctuation
'addonName'   Name.Variable
','           Punctuation
' '           Text.Whitespace
'test'        Name.Variable
','           Punctuation
' '           Text.Whitespace
'message'     Name.Variable
')'           Punctuation
'\n'          Text.Whitespace

'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'--[==[\nHere follow further tests of Lua syntax.\n]]==]' Comment.Multiline
'\n'          Text.Whitespace

'---[['       Comment.Single
'\n'          Text.Whitespace

'local'       Keyword.Declaration
' '           Text.Whitespace
't'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'{'           Punctuation
'\n        '  Text.Whitespace
'['           Punctuation
' '           Text.Whitespace
'[[\nx\n]==] \\]]' Literal.String
']'           Punctuation
'='           Operator
'1'           Literal.Number.Integer
'|'           Operator
'2'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'a'           Name.Variable
'='           Operator
'{'           Punctuation
'b'           Name.Variable
'='           Operator
'{'           Punctuation
'c'           Name.Variable
'='           Operator
'{}}},'       Punctuation
'\n        '  Text.Whitespace
'1'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'1.'          Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.2'         Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'.2'          Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1e3'         Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.e3'        Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.2e3'       Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'.2e3'        Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.2e+3'      Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
'1.2E-3'      Literal.Number.Float
';'           Punctuation
'\n        '  Text.Whitespace
'0xA'         Literal.Number.Hex
','           Punctuation
' '           Text.Whitespace
'0Xa'         Literal.Number.Hex
','           Punctuation
' '           Text.Whitespace
'0xA.'        Literal.Number.Hex
','           Punctuation
' '           Text.Whitespace
'0x.F'        Literal.Number.Hex
','           Punctuation
' '           Text.Whitespace
'0xA.F'       Literal.Number.Hex
','           Punctuation
' '           Text.Whitespace
'0xA.Fp1'     Literal.Number.Hex
','           Punctuation
' '           Text.Whitespace
'0xA.FP+1'    Literal.Number.Hex
','           Punctuation
' '           Text.Whitespace
'0Xa.fp-1'    Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n\n'        Text.Whitespace

'function'    Keyword.Reserved
' '           Text.Whitespace
't'           Name.Class
'.'           Punctuation
'f'           Name.Function
'()'          Punctuation
'\n        '  Text.Whitespace
'goto'        Keyword.Reserved
' '           Text.Whitespace
'eof'         Name.Label
'\n        '  Text.Whitespace
'os.exit'     Name.Builtin
'()'          Punctuation
'\n        '  Text.Whitespace
'::'          Punctuation
' '           Text.Whitespace
'eof'         Name.Label
' '           Text.Whitespace
'::'          Punctuation
'\n'          Text.Whitespace

'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'function'    Keyword.Reserved
' '           Text.Whitespace
't'           Name.Class
' '           Text.Whitespace
'.'           Punctuation
' '           Text.Whitespace
'a'           Name.Class
' '           Text.Whitespace
'--[==[x]==]' Comment.Multiline
' '           Text.Whitespace
'.'           Punctuation
'b'           Name.Class
' '           Text.Whitespace
'--[==[y]==]' Comment.Multiline
' '           Text.Whitespace
'--'          Comment.Single
'\n'          Text.Whitespace

'-- () end'   Comment.Single
'\n           ' Text.Whitespace
'.'           Punctuation
' '           Text.Whitespace
'c'           Name.Class
' '           Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'd'           Name.Function
' '           Text.Whitespace
'('           Punctuation
'file'        Name.Variable
')'           Punctuation
'\n        '  Text.Whitespace
'return'      Keyword.Reserved
' '           Text.Whitespace
"'"           Literal.String.Single
'.'           Literal.String.Single
'\\a'         Literal.String.Escape
'.'           Literal.String.Single
'\\b'         Literal.String.Escape
'.'           Literal.String.Single
'\\f'         Literal.String.Escape
'.'           Literal.String.Single
'\\n'         Literal.String.Escape
'.'           Literal.String.Single
'\\r'         Literal.String.Escape
'.'           Literal.String.Single
'\\t'         Literal.String.Escape
'.'           Literal.String.Single
'\\v'         Literal.String.Escape
'.'           Literal.String.Single
'\\\\'        Literal.String.Escape
'.'           Literal.String.Single
'\\"'         Literal.String.Escape
'.'           Literal.String.Single
"\\'"         Literal.String.Escape
'.'           Literal.String.Single
'\\\n'        Literal.String.Escape

'.'           Literal.String.Single
'\\z    \n  \t ' Literal.String.Escape
'.'           Literal.String.Single
'\\0'         Literal.String.Escape
'.'           Literal.String.Single
'\\00'        Literal.String.Escape
'.'           Literal.String.Single
'\\000'       Literal.String.Escape
'.'           Literal.String.Single
'\\000'       Literal.String.Escape
'0.'          Literal.String.Single
'\\xFa'       Literal.String.Escape
'.'           Literal.String.Single
'\\u{1}'      Literal.String.Escape
'.'           Literal.String.Single
'\\u{1234}'   Literal.String.Escape
"'"           Literal.String.Single
'\n'          Text.Whitespace

'end'         Keyword.Reserved
'\n'          Text.Whitespace
