_python.schclass
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:13k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. //=======================================================================
  2. //================ Lex class support ====================================
  3. //=======================================================================
  4. //  lexClass:
  5. // name = c_PYString
  6. // parent = c_PY
  7. // parent:dyn = c_PY
  8. // parent:file = <*.py|*.pyw|*.pys>
  9. //
  10. // children = 0
  11. // children = class1, class2, ...
  12. //
  13. // previous:class =
  14. // previous:tag =
  15. // previous:tag:separators =
  16. //
  17. // start:class = 
  18. // start:Tag = '"'
  19. //
  20. // skip:Tag = '"'
  21. //
  22. // end:class = //
  23. // end:Tag = '"'
  24. // end:separators = ' '
  25. //
  26. // Token:tag = 'if', 'for', 'while', 'do'
  27. // Token:start:separators = 
  28. // Token:end:separators = 
  29. //-----------------------------------------------------------------------
  30. //---------------- Attributes -------------------------------------------
  31. //-----------------------------------------------------------------------
  32. // txt:colorFG = 0xffc0c0 // color value in hex format. default: black
  33. // txt:colorBK = 0xffc0c0 // color value in hex format. default: white
  34. //
  35. // txt:colorSelFG = 0xffc0c0 // color value in hex format. default: white
  36. // txt:colorSelBK = 0xffc0c0 // color value in hex format. default: black
  37. //
  38. // txt:Bold = 1 // {1,0} default: 0
  39. // txt:Italic = 1 // {1,0} default: 0
  40. // txt:Underline = 1 // {1,0} default: 0
  41. //
  42. // caseSensitive = 1 // {1,0} default: 0
  43. //
  44. // Collapsable = 1 // {1,0} default: 0
  45. // CollapsedText = '/*...*/' // quoted string value. default: '[..]'
  46. //
  47. // ParseOnScreen = 1 // {1,0} default: 0
  48. // 
  49. //-----------------------------------------------------------------------
  50. //* Global attributes ***************************************************
  51. //-----------------------------------------------------------------------
  52. //  global:FirstParseInSeparateThread = 1 // {0,1} default=1
  53. //  global:EditReparceInSeparateThread = 1 // {0,1} default=1
  54. //  global:ConfigChangedReparceInSeparateThread= 1 // {0,1} default=1
  55. //  global:EditReparceTimeout_ms = 500 // default= 500 ms; time out for start reparse after last key was pressed.
  56. //  global:MaxBackParseOffset = 100 // default= 100 chars; maximum back buffer size. Some times parser look back for the text from current position.
  57. //  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.
  58. //  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).
  59. /////////////////////////////////////////////////////////////////////////
  60. //=======================================================================
  61. //================ Variables support ====================================
  62. //=======================================================================
  63. // NON operation - example:   @alpha:not
  64. //
  65. // @alpha = a-z, A-Z
  66. // @digit = 0-9
  67. // @HexDdigit = 0-9, a-f, A-F
  68. // @specs = "~`!@#$%^&*()_-+=\|{}[];:'",.<>/?"
  69. // @EOL = End Of Line
  70. //---------------------------------------------
  71. // special tags:  '\', ''', 't', 'r', 'n'
  72. /////////////////////////////////////////////////////////////////////////
  73. lexClass: 
  74. name = c_PY
  75. parent:file = <*.py|*.pyw|*.pys>
  76. caseSensitive = 1
  77. DisplayName       = 'Normal Text'
  78. //global:FirstParseInSeparateThread = 0
  79. global:EditReparceInSeparateThread = 1
  80. //global:EditReparceTimeout_ms = 250
  81. //global:MaxBackParseOffset = 100
  82. //global:OnScreenSchCacheLifeTime_sec = 60
  83. //global:ParserThreadIdleLifeTime_sec = -1
  84. lexClass:
  85. name = c_PYCommentML1
  86. parent = c_PY 
  87.     children = c_URL
  88. //children = c_PascalCodeBlock_End
  89. start:Tag = '"""'
  90. end:Tag  = '"""'
  91. Collapsable = 1 
  92. CollapsedText = '###'
  93.     txt:colorFG = 0x00CF00
  94. DisplayName = 'Comment (Multi-Line)'
  95. lexClass:
  96. name = c_PYCommentML2
  97. parent = c_PY 
  98.     children = c_URL
  99. //children = c_PascalCodeBlock_End
  100. start:Tag = '''''
  101. end:Tag  = '''''
  102. Collapsable = 1 
  103. CollapsedText = '###'
  104.     txt:colorFG = 0x00CF00
  105. DisplayName = 'Comment (Multi-Line)'
  106. lexClass: 
  107. name = c_URL
  108. ParseOnScreen = 0
  109. parent:dyn = c_PY
  110. caseSensitive = 0
  111. children = 0
  112. previous:tag = @specs, ' ', 't', @eol
  113. start:Tag = 'http:'
  114. end:separators = ' ', 't', '*', '"', @eol
  115. txt:colorBK = 0xC0FFC0
  116. txt:Underline = 1
  117. DisplayName = 'URL'
  118. lexClass: 
  119. name = c_String
  120. parent:dyn = c_PY
  121. children = c_URL
  122. start:Tag = '"'
  123. // skip:Tag = '\"', '\rn', '\nr', '\n', '\r'
  124. end:Tag = '"', @eol
  125. txt:colorFG = 0xE00000
  126. DisplayName = 'String (Double Quotes)'
  127. lexClass: 
  128. name = c_String_char
  129. parent:dyn = c_PY
  130. children = 0
  131. start:Tag = '''
  132. //skip:Tag = '\"', '\rn', '\nr', '\n', '\r'
  133. end:Tag = ''', @eol
  134. txt:colorFG = 0xE00000
  135. DisplayName = 'String (Single Quotes)'
  136. lexClass:
  137. name = c_PYCommentSL
  138. // ParseOnScreen = 0
  139. parent = c_PY
  140. children = c_URL
  141. start:tag ='#'
  142. // skip:Tag = '\rn', '\nr', '\n', '\r'
  143. end:tag = @eol
  144. txt:colorFG = 0x00A000
  145. DisplayName = 'Comment (Single-Line)'
  146. lexClass:
  147. name = c_PYKeywords
  148. ParseOnScreen = 0
  149. parent:Dyn = c_PY
  150. children = 0
  151. DisplayName = 'Keyword'
  152.     token:tag = 'and'
  153.     token:tag = 'assert'
  154.     token:tag = 'break'
  155.     token:tag = 'continue'
  156.     token:tag = 'del'
  157.     token:tag = 'elif'
  158.     token:tag = 'else'
  159.     token:tag = 'except'
  160.     token:tag = 'exec'
  161.     token:tag = 'finally'
  162.     token:tag = 'for'
  163.     token:tag = 'from'
  164.     token:tag = 'global'
  165.     token:tag = 'if'
  166.     token:tag = 'return'
  167.     token:tag = 'try'
  168.     token:tag = 'import'
  169.     token:tag = 'in'
  170.     token:tag = 'is'
  171.     token:tag = 'not'
  172.     token:tag = 'or'
  173.     token:tag = 'pass'
  174.     token:tag = 'print'
  175.     token:tag = 'raise'
  176.     token:tag = 'while'
  177.     token:tag = 'def'
  178.     token:tag = 'class'
  179.     token:tag = 'yield'
  180. token:start:separators = @specs, ' ', @eol
  181. token:end:separators = @specs, ' ', @eol
  182. txt:colorFG = 0x0000FF
  183. lexClass:
  184. name = c_PYExceptions
  185. ParseOnScreen = 0
  186. parent:Dyn = c_PY
  187. children = 0
  188. DisplayName = 'Exception'
  189.     token:tag = 'ArithmeticError'
  190.     token:tag = 'AssertionError'
  191.     token:tag = 'AttributeError'
  192.     token:tag = 'EOFError'
  193.     token:tag = 'EnvironmentError'
  194.     token:tag = 'Exception'
  195.     token:tag = 'FloatingPointError'
  196.     token:tag = 'IOError'
  197.     token:tag = 'ImportError'
  198.     token:tag = 'IndexError'
  199.     token:tag = 'KeyError'
  200.     token:tag = 'KeyboardInterrupt'
  201.     token:tag = 'LookupError'
  202.     token:tag = 'MemoryError'
  203.     token:tag = 'NameError'
  204.     token:tag = 'NotImplementeError'
  205.     token:tag = 'OSError'
  206.     token:tag = 'OverflowError'
  207.     token:tag = 'RuntimeError'
  208.     token:tag = 'StandarError'
  209.     token:tag = 'StopIteration'
  210.     token:tag = 'SyntaxError'
  211.     token:tag = 'SystemError'
  212.     token:tag = 'SystemExit'
  213.     token:tag = 'TypeError'
  214.     token:tag = 'ValueError'
  215.     token:tag = 'ZeroDivisionError'
  216. token:start:separators = @specs, ' ',  @eol
  217. token:end:separators = @specs, ' ',  @eol
  218. txt:colorFG = 0x0000FF
  219. lexClass:
  220. name = c_PYBuiltins
  221. ParseOnScreen = 0
  222. parent:Dyn = c_PY
  223. children = 0
  224. DisplayName = 'Builtins'
  225.             token:tag = 'Ellipsis'
  226.             token:tag = 'False'
  227.             token:tag = 'None'
  228.             token:tag = 'True'
  229.             token:tag = 'lambda'
  230.             token:tag = '__debug__'
  231.             token:tag = '__doc__'
  232.             token:tag = '__import__'
  233.             token:tag = '__name__'
  234.             token:tag = '__class__'
  235.             token:tag = '__future__'
  236.             token:tag = '__init__'
  237.             token:tag = '__del__'
  238.             token:tag = '__call__'
  239.             token:tag = '__iter__'
  240.             token:tag = '__getattr__'
  241.             token:tag = '__setattr__'
  242.             token:tag = '__delattr__'
  243.             token:tag = '__getitem__'
  244.             token:tag = '__setitem__'
  245.             token:tag = '__delitem__'
  246.             token:tag = '__getslice__'
  247.             token:tag = '__setslice__'
  248.             token:tag = '__delslice__'
  249.             token:tag = '__get__'
  250.             token:tag = '__set__'
  251.             token:tag = '__delete__'
  252.             token:tag = '__str__'
  253.             token:tag = '__repr__'
  254.             token:tag = '__cmp__'
  255.             token:tag = '__rcmp__'
  256.             token:tag = '__nonzero__'
  257.             token:tag = '__len__'
  258.             token:tag = '__lt__'
  259.             token:tag = '__le__'
  260.             token:tag = '__gt__'
  261.             token:tag = '__ge__'
  262.             token:tag = '__eq__'
  263.             token:tag = '__ne__'
  264.             token:tag = '__add__'
  265.             token:tag = '__sub__'
  266.             token:tag = '__mul__'
  267.             token:tag = '__mod__'
  268.             token:tag = '__div__'
  269.             token:tag = '__floordiv__'
  270.             token:tag = '__truediv__'
  271.             token:tag = '__divmod__'
  272.             token:tag = '__pow__'
  273.             token:tag = '__lshift__'
  274.             token:tag = '__rshift__'
  275.             token:tag = '__and__'
  276.             token:tag = '__or__'
  277.             token:tag = '__xor__'
  278.             token:tag = '__radd__'
  279.             token:tag = '__rsub__'
  280.             token:tag = '__rmul__'
  281.             token:tag = '__rdiv__'
  282.             token:tag = '__rmod__'
  283.             token:tag = '__rdivmod__'
  284.             token:tag = '__rpow__'
  285.             token:tag = '__rlshift__'
  286.             token:tag = '__rrshift__'
  287.             token:tag = '__rand__'
  288.             token:tag = '__ror__'
  289.             token:tag = '__rxor__'
  290.             token:tag = '__iadd__'
  291.             token:tag = '__isub__'
  292.             token:tag = '__imul__'
  293.             token:tag = '__idiv__'
  294.             token:tag = '__imod__'
  295.             token:tag = '__ipow__'
  296.             token:tag = '__ilshift__'
  297.             token:tag = '__irshift__'
  298.             token:tag = '__iand__'
  299.             token:tag = '__ior__'
  300.             token:tag = '__ixor__'
  301.             token:tag = '__neg__'
  302.             token:tag = '__pos__'
  303.             token:tag = '__abs__'
  304.             token:tag = '__invert__'
  305.             token:tag = '__int__'
  306.             token:tag = '__long__'
  307.             token:tag = '__float__'
  308.             token:tag = '__complex__'
  309.             token:tag = '__oct__'
  310.             token:tag = '__hex__'
  311.             token:tag = '__coerce__'
  312.             token:tag = '__contains__'
  313.             token:tag = '__hash__'
  314.             token:tag = '__slots__'
  315.             token:tag = '__iter__'
  316.             token:tag = '__next__'
  317.             token:tag = 'abs'
  318.             token:tag = 'apply'
  319.             token:tag = 'buffer'
  320.             token:tag = 'callable'
  321.             token:tag = 'chr'
  322.             token:tag = 'classmethod'
  323.             token:tag = 'cmp'
  324.             token:tag = 'coerce'
  325.             token:tag = 'compile'
  326.             token:tag = 'complex'
  327.             token:tag = 'delattr'
  328.             token:tag = 'dir'
  329.             token:tag = 'divmod'
  330.             token:tag = 'eval'
  331.             token:tag = 'execfile'
  332.             token:tag = 'exit'
  333.             token:tag = 'filter'
  334.             token:tag = 'float'
  335.             token:tag = 'getattr'
  336.             token:tag = 'getattribute'
  337.             token:tag = 'globals'
  338.             token:tag = 'hasattr'
  339.             token:tag = 'hash'
  340.             token:tag = 'hex'
  341.             token:tag = 'id'
  342.             token:tag = 'input'
  343.             token:tag = 'int'
  344.             token:tag = 'intern'
  345.             token:tag = 'isinstance'
  346.             token:tag = 'issubclass'
  347.             token:tag = 'iter'
  348.             token:tag = 'len'
  349.             token:tag = 'list'
  350.             token:tag = 'locals'
  351.             token:tag = 'long'
  352.             token:tag = 'map'
  353.             token:tag = 'max'
  354.             token:tag = 'min'
  355.             token:tag = 'oct'
  356.             token:tag = 'open'
  357.             token:tag = 'ord'
  358.             token:tag = 'pow'
  359.             token:tag = 'property'
  360.             token:tag = 'quit'
  361.             token:tag = 'range'
  362.             token:tag = 'raw_input'
  363.             token:tag = 'reduce'
  364.             token:tag = 'reload'
  365.             token:tag = 'repr'
  366.             token:tag = 'round'
  367.             token:tag = 'setattr'
  368.             token:tag = 'slice'
  369.             token:tag = 'str'
  370.             token:tag = 'string'
  371.             token:tag = 'super'
  372.             token:tag = 'tuple'
  373.             token:tag = 'type'
  374.             token:tag = 'vars'
  375.             token:tag = 'xrange'
  376.             token:tag = 'file'
  377.             token:tag = 'dict'
  378.             token:tag = 'classmethod'
  379.             token:tag = 'staticmethod'
  380. token:start:separators = @specs, ' ',  @eol
  381. token:end:separators = @specs, ' ',  @eol
  382. txt:colorFG = 0x990099
  383. lexClass:
  384. name = c_PYSpecs
  385. ParseOnScreen = 0
  386. parent:Dyn = c_PY
  387. children = 0
  388. DisplayName = 'Specs'
  389.             token:tag = @specs
  390. txt:colorFG = 0x0000FF
  391. lexClass:
  392. name = c_PYDigit
  393. ParseOnScreen = 0
  394. parent:Dyn = c_PY
  395. children = 0
  396. DisplayName = 'Digit'
  397.             token:tag = @digit
  398. txt:colorFG = 0x8000FF