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 |