You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

355 lines
9.9 KiB
Plaintext

//=======================================================================
//================ Lex class support ====================================
//=======================================================================
// lexClass:
// name = c_CPPString
// parent = c_CPP
// parent:dyn = c_CPP
// parent:file = <*.c|*.cpp|*.h|*.inl|*.tli|*.tlh|*.rc|*.rc2>
//
// children = 0
// children = class1, class2, ...
//
// previous:class =
// previous:tag =
// previous:tag:separators =
//
// start:class =
// start:Tag = '"'
//
// skip:Tag = '\"'
//
// end:class = //
// end:Tag = '"'
// end:separators = ' '
//
// Token:tag = 'if', 'for', 'while', 'do'
// Token:start:separators =
// Token:end:separators =
//-----------------------------------------------------------------------
//---------------- Attributes -------------------------------------------
//-----------------------------------------------------------------------
// txt:colorFG = 0xffc0c0 // color value in hex format. default: black
// txt:colorBK = 0xffc0c0 // color value in hex format. default: white
//
// txt:colorSelFG = 0xffc0c0 // color value in hex format. default: white
// txt:colorSelBK = 0xffc0c0 // color value in hex format. default: black
//
// txt:Bold = 1 // {1,0} default: 0
// txt:Italic = 1 // {1,0} default: 0
// txt:Underline = 1 // {1,0} default: 0
//
// caseSensitive = 1 // {1,0} default: 0
//
// Collapsable = 1 // {1,0} default: 0
// CollapsedText = '/*...*/' // quoted string value. default: '[..]'
//
// ParseOnScreen = 1 // {1,0} default: 0
//
//-----------------------------------------------------------------------
//* Global attributes ***************************************************
//-----------------------------------------------------------------------
// global:FirstParseInSeparateThread = 1 // {0,1} default=1
// global:EditReparceInSeparateThread = 1 // {0,1} default=1
// global:ConfigChangedReparceInSeparateThread= 1 // {0,1} default=1
// global:EditReparceTimeout_ms = 500 // default= 500 ms; time out for start reparse after last key was pressed.
// global:MaxBackParseOffset = 100 // default= 100 chars; maximum back buffer size. Some times parser look back for the text from current position.
// global:OnScreenSchCacheLifeTime_sec = 180 // default= 180 sec; -1 and 0 means infinite; time out for on screen parsed pices of text. for memory using optimization.
// global:ParserThreadIdleLifeTime_sec = 60 // default=60 sec; -1 and 0 means infinite; time out for existing of parser thread when parser idle (no parse requests).
/////////////////////////////////////////////////////////////////////////
//=======================================================================
//================ Variables support ====================================
//=======================================================================
// NON operation - example: @alpha:not
//
// @alpha = a-z, A-Z
// @digit = 0-9
// @HexDdigit = 0-9, a-f, A-F
// @specs = "~`!@#$%^&*()_-+=\\|{}[];:'\",.<>/?"
// @EOL = End Of Line
//---------------------------------------------
// special tags: '\\', '\'', '\t', '\r', '\n'
/////////////////////////////////////////////////////////////////////////
lexClass:
name = c_LUA
parent:file = <*.lua>
caseSensitive = 1
//global:FirstParseInSeparateThread = 0
global:EditReparceInSeparateThread = 1
//global:EditReparceTimeout_ms = 250
//global:MaxBackParseOffset = 100
//global:OnScreenSchCacheLifeTime_sec = 60
//global:ParserThreadIdleLifeTime_sec = -1
lexClass:
name = c_LUACodeBlock
parent:dyn = c_LUA, c_LUACodeBlock
start:Tag = '{'
end:tag = '}'
// start:Tag = 'do', 'for', 'function', 'if', 'while'
// end:tag = 'end'
Collapsable = 1
CollapsedText = '{ ... }'
DisplayName = 'Curly Braces'
lexClass:
name = c_URL
ParseOnScreen = 0
parent:dyn = c_LUA, c_LUACodeBlock
caseSensitive = 0
children = 0
previous:tag = @specs, ' ', '\t', @eol
start:Tag = 'http://'
end:separators = ' ', '\t', @eol
DisplayName = 'URL'
lexClass:
name = c_String
parent:dyn = c_LUA, c_LUACodeBlock
children = c_URL
start:Tag = '"'
skip:Tag = '\\"', '\\\r\n', '\\\n\r', '\\\n', '\\\r'
end:Tag = '"', @eol
txt:colorFG = 0x009090
//txt:colorFG = 0xA31515
DisplayName = 'String (Double Quotes)'
lexClass:
name = c_String_char
parent:dyn = c_LUA, c_LUACodeBlock
children = 0
start:Tag = '\''
//skip:Tag = '\\"', '\\\r\n', '\\\n\r', '\\\n', '\\\r'
end:Tag = '\'', @eol
txt:colorFG = 0x009090
//txt:colorFG = 0xA31515
DisplayName = 'String (Single Quotes)'
lexClass:
name = c_LUACommentML_Start
parent = c_LUA, c_LUACodeBlock
children = c_URL
start:Tag = '--[['
end:Separators = @eol
txt:colorFG = 0x00A000
lexClass:
name = c_LUACommentML_End
parent = c_LUA, c_LUACodeBlock, c_LUACommentML
children = c_URL
start:Tag = '--]]'
end:Separators = @eol
txt:colorFG = 0x00A000
lexClass:
name = c_LUACommentML
parent = c_LUA, c_LUACodeBlock
children = c_LUACommentML_End
start:CLASS = c_LUACommentML_Start
end:CLASS = c_LUACommentML_End
Collapsable = 1
txt:colorFG = 0x00A000
DisplayName = 'Comment (Multi-Line)'
lexClass:
name = c_LUACommentSL
parent = c_LUA, c_LUACodeBlock
children = c_URL
start:tag ='--'
skip:Tag = '\\\r\n', '\\\n\r', '\\\n', '\\\r'
end:tag = @eol
txt:colorFG = 0x00A000
DisplayName = 'Comment (Single-Line)'
lexClass:
name = c_LUAKeywords
ParseOnScreen = 0
parent:Dyn = c_LUA, c_LUACodeBlock
children = 0
DisplayName = 'Keyword'
token:tag = 'and'
token:tag = 'break'
token:tag = 'do'
token:tag = 'else'
token:tag = 'elseif'
token:tag = 'end'
token:tag = 'false'
token:tag = 'for'
token:tag = 'function'
token:tag = 'global'
token:tag = 'if'
token:tag = 'in'
token:tag = 'local'
token:tag = 'nil'
token:tag = 'not'
token:tag = 'or'
token:tag = 'repeat'
token:tag = 'return'
token:tag = 'then'
token:tag = 'true'
token:tag = 'until'
token:tag = 'while'
token:start:separators = @specs, ' ', '\t', @eol
token:end:separators = @specs, ' ', '\t', @eol
txt:colorFG = 0x000080
txt:bold = 1
lexClass:
name = c_LUAFunctions
ParseOnScreen = 0
parent:Dyn = c_LUA, c_LUACodeBlock
children = 0
DisplayName = 'LUA Function'
token:tag = '_G'
token:tag = '_VERSION'
token:tag = 'assert'
token:tag = 'collectgarbage'
token:tag = 'dofile'
token:tag = 'error'
token:tag = 'getfenv'
token:tag = 'getmetatable'
token:tag = 'ipairs'
token:tag = 'load'
token:tag = 'loadfile'
token:tag = 'loadstring'
token:tag = 'module'
token:tag = 'next'
token:tag = 'pairs'
token:tag = 'pcall'
token:tag = 'print'
token:tag = 'rawequal'
token:tag = 'rawget'
token:tag = 'rawset'
token:tag = 'require'
token:tag = 'select'
token:tag = 'setfenv'
token:tag = 'setmetatable'
token:tag = 'tonumber'
token:tag = 'tostring'
token:tag = 'type'
token:tag = 'unpack'
token:tag = 'xpcall'
//token:tag = 'coroutine.create'
//token:tag = 'coroutine.resume'
//token:tag = 'coroutine.running'
//token:tag = 'coroutine.status'
//token:tag = 'coroutine.wrap'
//token:tag = 'coroutine.yield'
//token:tag = 'debug.debug'
//token:tag = 'debug.getfenv'
//token:tag = 'debug.gethook'
//token:tag = 'debug.getinfo'
//token:tag = 'debug.getlocal'
//token:tag = 'debug.getmetatable'
//token:tag = 'debug.getregistry'
//token:tag = 'debug.getupvalue'
//token:tag = 'debug.setfenv'
//token:tag = 'debug.sethook'
//token:tag = 'debug.setlocal'
//token:tag = 'debug.setmetatable'
//token:tag = 'debug.setupvalue'
//token:tag = 'debug.traceback'
//token:tag = 'file:close'
//token:tag = 'file:flush'
//token:tag = 'file:lines'
//token:tag = 'file:read'
//token:tag = 'file:seek'
//token:tag = 'file:setvbuf'
//token:tag = 'file:write'
//token:tag = 'io.close'
//token:tag = 'io.flush'
//token:tag = 'io.input'
//token:tag = 'io.lines'
//token:tag = 'io.open'
//token:tag = 'io.output'
//token:tag = 'io.popen'
//token:tag = 'io.read'
//token:tag = 'io.tmpfile'
//token:tag = 'io.type'
//token:tag = 'io.write'
//token:tag = 'math.abs'
//token:tag = 'math.acos'
//token:tag = 'math.asin'
//token:tag = 'math.atan2'
//token:tag = 'math.atan'
//token:tag = 'math.ceil'
//token:tag = 'math.cosh'
//token:tag = 'math.cos'
//token:tag = 'math.deg'
//token:tag = 'math.exp'
//token:tag = 'math.floor'
//token:tag = 'math.fmod'
//token:tag = 'math.frexp'
//token:tag = 'math.huge'
//token:tag = 'math.ldexp'
//token:tag = 'math.log10'
//token:tag = 'math.log'
//token:tag = 'math.max'
//token:tag = 'math.min'
//token:tag = 'math.modf'
//token:tag = 'math.pi'
//token:tag = 'math.pow'
//token:tag = 'math.rad'
//token:tag = 'math.random'
//token:tag = 'math.randomseed'
//token:tag = 'math.sinh'
//token:tag = 'math.sin'
//token:tag = 'math.sqrt'
//token:tag = 'math.tanh'
//token:tag = 'math.tan'
//token:tag = 'os.clock'
//token:tag = 'os.date'
//token:tag = 'os.difftime'
//token:tag = 'os.execute'
//token:tag = 'os.exit'
//token:tag = 'os.getenv'
//token:tag = 'os.remove'
//token:tag = 'os.rename'
//token:tag = 'os.setlocale'
//token:tag = 'os.time'
//token:tag = 'os.tmpname'
//token:tag = 'package.cpath'
//token:tag = 'package.loaded'
//token:tag = 'package.loadlib'
//token:tag = 'package.path'
//token:tag = 'package.preload'
//token:tag = 'package.seeall'
//token:tag = 'string.byte'
//token:tag = 'string.char'
//token:tag = 'string.dump'
//token:tag = 'string.find'
//token:tag = 'string.format'
//token:tag = 'string.gmatch'
//token:tag = 'string.gsub'
//token:tag = 'string.len'
//token:tag = 'string.lower'
//token:tag = 'string.match'
//token:tag = 'string.rep'
//token:tag = 'string.reverse'
//token:tag = 'string.sub'
//token:tag = 'string.upper'
//token:tag = 'table.concat'
//token:tag = 'table.insert'
//token:tag = 'table.maxn'
//token:tag = 'table.remove'
//token:tag = 'table.sort'
token:start:separators = @specs, ' ', '\t', @eol
token:end:separators = @specs, ' ', '\t', @eol
txt:colorFG = 0x900090
txt:bold = 0