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
355 lines
9.9 KiB
Plaintext
2 years ago
|
//=======================================================================
|
||
|
//================ 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
|