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

2 years ago
//=======================================================================
//================ 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