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.
		
		
		
		
		
			
		
			
				
	
	
		
			428 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
			
		
		
	
	
			428 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
| //=======================================================================
 | |
| //================ Lex class support ====================================
 | |
| //=======================================================================
 | |
| // 	lexClass:
 | |
| //		name		= c_PYString
 | |
| //		parent		= c_PY
 | |
| //		parent:dyn	= c_PY
 | |
| //		parent:file = <*.py|*.pyw|*.pys>	
 | |
| //
 | |
| //		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_PY	
 | |
| 	parent:file		= <*.py|*.pyw|*.pys>	
 | |
| 	caseSensitive		= 1
 | |
| 	DisplayName       = 'Normal Text'
 | |
| 
 | |
| 	//global:FirstParseInSeparateThread	= 0
 | |
| 	global:EditReparceInSeparateThread	= 1
 | |
| 
 | |
| 	//global:EditReparceTimeout_ms	= 250
 | |
| 	//global:MaxBackParseOffset		= 100
 | |
| 	//global:OnScreenSchCacheLifeTime_sec = 60
 | |
| 	//global:ParserThreadIdleLifeTime_sec = -1
 | |
| 
 | |
| lexClass:
 | |
| 	name		= c_PYCommentML1	
 | |
| 	parent		= c_PY 
 | |
|     children	= c_URL		
 | |
| 
 | |
| 	//children	= c_PascalCodeBlock_End		
 | |
| 	start:Tag	= '"""'	
 | |
| 	end:Tag 	= '"""'
 | |
| 	Collapsable	= 1 
 | |
| 	CollapsedText	= '###'
 | |
|     txt:colorFG	= 0x00CF00
 | |
| 	DisplayName		= 'Comment (Multi-Line)'
 | |
| 
 | |
| lexClass:
 | |
| 	name		= c_PYCommentML2	
 | |
| 	parent		= c_PY 
 | |
|     children	= c_URL		
 | |
| 
 | |
| 	//children	= c_PascalCodeBlock_End		
 | |
| 	start:Tag	= '\'\'\''	
 | |
| 	end:Tag 	= '\'\'\''
 | |
| 	Collapsable	= 1 
 | |
| 	CollapsedText	= '###'
 | |
|     txt:colorFG	= 0x00CF00
 | |
| 	DisplayName		= 'Comment (Multi-Line)'
 | |
| 
 | |
| lexClass: 	
 | |
| 	name		= c_URL	
 | |
| 	ParseOnScreen	= 0
 | |
| 	parent:dyn	= c_PY
 | |
| 	caseSensitive	= 0
 | |
| 	children		= 0
 | |
| 	previous:tag	= @specs, ' ', '\t', @eol
 | |
| 	start:Tag		= 'http:'
 | |
| 	end:separators	= ' ', '\t', '*', '"', @eol
 | |
| 	txt:colorBK	= 0xC0FFC0
 | |
| 	txt:Underline	= 1
 | |
| 	DisplayName		= 'URL'
 | |
| 
 | |
| lexClass: 	
 | |
| 	name			= c_String	
 | |
| 	parent:dyn		= c_PY
 | |
| 	children		= c_URL
 | |
| 	start:Tag		= '"'
 | |
| //	skip:Tag		= '\\"', '\\\r\n', '\\\n\r', '\\\n', '\\\r'	
 | |
| 	end:Tag			= '"', @eol
 | |
| 	txt:colorFG		= 0xE00000
 | |
| 	DisplayName		= 'String (Double Quotes)'
 | |
| 
 | |
| lexClass: 	
 | |
| 	name			= c_String_char	
 | |
| 	parent:dyn		= c_PY
 | |
| 	children		= 0
 | |
| 	start:Tag		= '\''
 | |
| 	//skip:Tag		= '\\"', '\\\r\n', '\\\n\r', '\\\n', '\\\r'	
 | |
| 	end:Tag			= '\'', @eol
 | |
| 	txt:colorFG		= 0xE00000
 | |
| 	DisplayName		= 'String (Single Quotes)'
 | |
| 
 | |
| 
 | |
| lexClass:	
 | |
| 	name		= c_PYCommentSL
 | |
| //	ParseOnScreen	= 0
 | |
| 	parent		= c_PY
 | |
| 	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_PYKeywords
 | |
| 	ParseOnScreen	= 0
 | |
| 	parent:Dyn	= c_PY
 | |
| 	children	= 0
 | |
| 	DisplayName		= 'Keyword'
 | |
| 
 | |
|     token:tag	= 'and'
 | |
|     token:tag	= 'assert'
 | |
|     token:tag	= 'break'
 | |
|     token:tag	= 'continue'
 | |
|     token:tag	= 'del'
 | |
|     token:tag	= 'elif'
 | |
|     token:tag	= 'else'
 | |
|     token:tag	= 'except'
 | |
|     token:tag	= 'exec'
 | |
|     token:tag	= 'finally'
 | |
|     token:tag	= 'for'
 | |
|     token:tag	= 'from'
 | |
|     token:tag	= 'global'
 | |
|     token:tag	= 'if'
 | |
|     token:tag	= 'return'
 | |
|     token:tag	= 'try'
 | |
|     token:tag	= 'import'
 | |
|     token:tag	= 'in'
 | |
|     token:tag	= 'is'
 | |
|     token:tag	= 'not'
 | |
|     token:tag	= 'or'
 | |
|     token:tag	= 'pass'
 | |
|     token:tag	= 'print'
 | |
|     token:tag	= 'raise'
 | |
|     token:tag	= 'while'
 | |
|     token:tag	= 'def'
 | |
|     token:tag	= 'class'
 | |
|     token:tag	= 'yield'
 | |
| 	token:start:separators	= @specs, ' ', @eol
 | |
| 	token:end:separators	= @specs, ' ', @eol
 | |
| 
 | |
| 	txt:colorFG	= 0x0000FF
 | |
| 
 | |
| 
 | |
| lexClass:	
 | |
| 	name		= c_PYExceptions
 | |
| 	ParseOnScreen	= 0
 | |
| 	parent:Dyn	= c_PY
 | |
| 	children	= 0
 | |
| 	DisplayName		= 'Exception'
 | |
| 
 | |
|     token:tag	= 'ArithmeticError'
 | |
|     token:tag	= 'AssertionError'
 | |
|     token:tag	= 'AttributeError'
 | |
|     token:tag	= 'EOFError'
 | |
|     token:tag	= 'EnvironmentError'
 | |
|     token:tag	= 'Exception'
 | |
|     token:tag	= 'FloatingPointError'
 | |
|     token:tag	= 'IOError'
 | |
|     token:tag	= 'ImportError'
 | |
|     token:tag	= 'IndexError'
 | |
|     token:tag	= 'KeyError'
 | |
|     token:tag	= 'KeyboardInterrupt'
 | |
|     token:tag	= 'LookupError'
 | |
|     token:tag	= 'MemoryError'
 | |
|     token:tag	= 'NameError'
 | |
|     token:tag	= 'NotImplementeError'
 | |
|     token:tag	= 'OSError'
 | |
|     token:tag	= 'OverflowError'
 | |
|     token:tag	= 'RuntimeError'
 | |
|     token:tag	= 'StandarError'
 | |
|     token:tag	= 'StopIteration'
 | |
|     token:tag	= 'SyntaxError'
 | |
|     token:tag	= 'SystemError'
 | |
|     token:tag	= 'SystemExit'
 | |
|     token:tag	= 'TypeError'
 | |
|     token:tag	= 'ValueError'
 | |
|     token:tag	= 'ZeroDivisionError'
 | |
| 	token:start:separators	= @specs, ' ',  @eol
 | |
| 	token:end:separators	= @specs, ' ',  @eol
 | |
| 
 | |
| 	txt:colorFG	= 0x0000FF
 | |
| 
 | |
| lexClass:	
 | |
| 	name		= c_PYBuiltins
 | |
| 	ParseOnScreen	= 0
 | |
| 	parent:Dyn	= c_PY
 | |
| 	children	= 0
 | |
| 	DisplayName		= 'Builtins'
 | |
| 
 | |
|             token:tag	= 'Ellipsis'
 | |
|             token:tag	= 'False'
 | |
|             token:tag	= 'None'
 | |
|             token:tag	= 'True'
 | |
|             token:tag	= 'lambda'
 | |
|             token:tag	= '__debug__'
 | |
|             token:tag	= '__doc__'
 | |
|             token:tag	= '__import__'
 | |
|             token:tag	= '__name__'
 | |
|             token:tag	= '__class__'
 | |
|             token:tag	= '__future__'
 | |
|             token:tag	= '__init__'
 | |
|             token:tag	= '__del__'
 | |
|             token:tag	= '__call__'
 | |
|             token:tag	= '__iter__'
 | |
|             token:tag	= '__getattr__'
 | |
|             token:tag	= '__setattr__'
 | |
|             token:tag	= '__delattr__'
 | |
|             token:tag	= '__getitem__'
 | |
|             token:tag	= '__setitem__'
 | |
|             token:tag	= '__delitem__'
 | |
|             token:tag	= '__getslice__'
 | |
|             token:tag	= '__setslice__'
 | |
|             token:tag	= '__delslice__'
 | |
|             token:tag	= '__get__'
 | |
|             token:tag	= '__set__'
 | |
|             token:tag	= '__delete__'
 | |
|             token:tag	= '__str__'
 | |
|             token:tag	= '__repr__'
 | |
|             token:tag	= '__cmp__'
 | |
|             token:tag	= '__rcmp__'
 | |
|             token:tag	= '__nonzero__'
 | |
|             token:tag	= '__len__'
 | |
|             token:tag	= '__lt__'
 | |
|             token:tag	= '__le__'
 | |
|             token:tag	= '__gt__'
 | |
|             token:tag	= '__ge__'
 | |
|             token:tag	= '__eq__'
 | |
|             token:tag	= '__ne__'
 | |
|             token:tag	= '__add__'
 | |
|             token:tag	= '__sub__'
 | |
|             token:tag	= '__mul__'
 | |
|             token:tag	= '__mod__'
 | |
|             token:tag	= '__div__'
 | |
|             token:tag	= '__floordiv__'
 | |
|             token:tag	= '__truediv__'
 | |
|             token:tag	= '__divmod__'
 | |
|             token:tag	= '__pow__'
 | |
|             token:tag	= '__lshift__'
 | |
|             token:tag	= '__rshift__'
 | |
|             token:tag	= '__and__'
 | |
|             token:tag	= '__or__'
 | |
|             token:tag	= '__xor__'
 | |
|             token:tag	= '__radd__'
 | |
|             token:tag	= '__rsub__'
 | |
|             token:tag	= '__rmul__'
 | |
|             token:tag	= '__rdiv__'
 | |
|             token:tag	= '__rmod__'
 | |
|             token:tag	= '__rdivmod__'
 | |
|             token:tag	= '__rpow__'
 | |
|             token:tag	= '__rlshift__'
 | |
|             token:tag	= '__rrshift__'
 | |
|             token:tag	= '__rand__'
 | |
|             token:tag	= '__ror__'
 | |
|             token:tag	= '__rxor__'
 | |
|             token:tag	= '__iadd__'
 | |
|             token:tag	= '__isub__'
 | |
|             token:tag	= '__imul__'
 | |
|             token:tag	= '__idiv__'
 | |
|             token:tag	= '__imod__'
 | |
|             token:tag	= '__ipow__'
 | |
|             token:tag	= '__ilshift__'
 | |
|             token:tag	= '__irshift__'
 | |
|             token:tag	= '__iand__'
 | |
|             token:tag	= '__ior__'
 | |
|             token:tag	= '__ixor__'
 | |
|             token:tag	= '__neg__'
 | |
|             token:tag	= '__pos__'
 | |
|             token:tag	= '__abs__'
 | |
|             token:tag	= '__invert__'
 | |
|             token:tag	= '__int__'
 | |
|             token:tag	= '__long__'
 | |
|             token:tag	= '__float__'
 | |
|             token:tag	= '__complex__'
 | |
|             token:tag	= '__oct__'
 | |
|             token:tag	= '__hex__'
 | |
|             token:tag	= '__coerce__'
 | |
|             token:tag	= '__contains__'
 | |
|             token:tag	= '__hash__'
 | |
|             token:tag	= '__slots__'
 | |
|             token:tag	= '__iter__'
 | |
|             token:tag	= '__next__'
 | |
|             token:tag	= 'abs'
 | |
|             token:tag	= 'apply'
 | |
|             token:tag	= 'buffer'
 | |
|             token:tag	= 'callable'
 | |
|             token:tag	= 'chr'
 | |
|             token:tag	= 'classmethod'
 | |
|             token:tag	= 'cmp'
 | |
|             token:tag	= 'coerce'
 | |
|             token:tag	= 'compile'
 | |
|             token:tag	= 'complex'
 | |
|             token:tag	= 'delattr'
 | |
|             token:tag	= 'dir'
 | |
|             token:tag	= 'divmod'
 | |
|             token:tag	= 'eval'
 | |
|             token:tag	= 'execfile'
 | |
|             token:tag	= 'exit'
 | |
|             token:tag	= 'filter'
 | |
|             token:tag	= 'float'
 | |
|             token:tag	= 'getattr'
 | |
|             token:tag	= 'getattribute'
 | |
|             token:tag	= 'globals'
 | |
|             token:tag	= 'hasattr'
 | |
|             token:tag	= 'hash'
 | |
|             token:tag	= 'hex'
 | |
|             token:tag	= 'id'
 | |
|             token:tag	= 'input'
 | |
|             token:tag	= 'int'
 | |
|             token:tag	= 'intern'
 | |
|             token:tag	= 'isinstance'
 | |
|             token:tag	= 'issubclass'
 | |
|             token:tag	= 'iter'
 | |
|             token:tag	= 'len'
 | |
|             token:tag	= 'list'
 | |
|             token:tag	= 'locals'
 | |
|             token:tag	= 'long'
 | |
|             token:tag	= 'map'
 | |
|             token:tag	= 'max'
 | |
|             token:tag	= 'min'
 | |
|             token:tag	= 'oct'
 | |
|             token:tag	= 'open'
 | |
|             token:tag	= 'ord'
 | |
|             token:tag	= 'pow'
 | |
|             token:tag	= 'property'
 | |
|             token:tag	= 'quit'
 | |
|             token:tag	= 'range'
 | |
|             token:tag	= 'raw_input'
 | |
|             token:tag	= 'reduce'
 | |
|             token:tag	= 'reload'
 | |
|             token:tag	= 'repr'
 | |
|             token:tag	= 'round'
 | |
|             token:tag	= 'setattr'
 | |
|             token:tag	= 'slice'
 | |
|             token:tag	= 'str'
 | |
|             token:tag	= 'string'
 | |
|             token:tag	= 'super'
 | |
|             token:tag	= 'tuple'
 | |
|             token:tag	= 'type'
 | |
|             token:tag	= 'vars'
 | |
|             token:tag	= 'xrange'
 | |
|             token:tag	= 'file'
 | |
|             token:tag	= 'dict'
 | |
|             token:tag	= 'classmethod'
 | |
|             token:tag	= 'staticmethod'
 | |
| 	token:start:separators	= @specs, ' ',  @eol
 | |
| 	token:end:separators	= @specs, ' ',  @eol
 | |
| 
 | |
| 	txt:colorFG	= 0x990099
 | |
| lexClass:	
 | |
| 	name		= c_PYSpecs
 | |
| 	ParseOnScreen	= 0
 | |
| 	parent:Dyn	= c_PY
 | |
| 	children	= 0
 | |
| 	DisplayName		= 'Specs'
 | |
| 
 | |
|             token:tag	= @specs
 | |
| 
 | |
| 	txt:colorFG	= 0x0000FF
 | |
| 
 | |
| lexClass:	
 | |
| 	name		= c_PYDigit
 | |
| 	ParseOnScreen	= 0
 | |
| 	parent:Dyn	= c_PY
 | |
| 	children	= 0
 | |
| 	DisplayName		= 'Digit'
 | |
| 
 | |
|             token:tag	= @digit
 | |
| 
 | |
| 	txt:colorFG	= 0x8000FF
 |