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

对话框与窗口

开发平台:

Visual C++

  1. //=======================================================================
  2. //================ Lex class support ====================================
  3. //=======================================================================
  4. //  lexClass:
  5. // name = c_CPPString
  6. // parent = c_CPP
  7. // parent:dyn = c_CPP
  8. // parent:file = <*.c|*.cpp|*.h|*.inl|*.tli|*.tlh|*.rc|*.rc2>
  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_CPP
  75. parent:file = <*.c|*.cpp|*.h|*.inl|*.tli|*.tlh|*.rc|*.rc2>
  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_CPPCodeBlock
  86. parent:dyn = c_CPP, c_CPPCodeBlock
  87. start:Tag = '{'
  88. end:tag = '}'
  89. Collapsable = 1 
  90. CollapsedText = '...'
  91. DisplayName = 'Curly Braces'
  92. lexClass: 
  93. name = c_URL
  94. ParseOnScreen = 0
  95. parent:dyn = c_CPP, c_CPPCodeBlock
  96. caseSensitive = 0
  97. children = 0
  98. previous:tag = @specs, ' ', 't', @eol
  99. start:Tag = 'http:'
  100. end:separators = ' ', 't', '*', '"', @eol
  101. txt:colorBK = 0xC0FFC0
  102. txt:Underline = 1
  103. DisplayName = 'URL'
  104. lexClass: 
  105. name = c_String
  106. parent:dyn = c_CPP, c_CPPCodeBlock
  107. children = c_URL
  108. start:Tag = '"'
  109. skip:Tag = '\"', '\rn', '\nr', '\n', '\r'
  110. end:Tag = '"', @eol
  111. txt:colorFG = 0xE00000
  112. DisplayName = 'String (Double Quotes)'
  113. lexClass: 
  114. name = c_String_char
  115. parent:dyn = c_CPP, c_CPPCodeBlock
  116. children = 0
  117. start:Tag = '''
  118. //skip:Tag = '\"', '\rn', '\nr', '\n', '\r'
  119. end:Tag = ''', @eol
  120. txt:colorFG = 0xE00000
  121. DisplayName = 'String (Single Quotes)'
  122. lexClass: 
  123. name = c_Str_include
  124. parent:dyn = c_CPP, c_CPPCodeBlock
  125. children = 0
  126. previous:tag = '#include'
  127. previous:tag:separators = ' ', 't' 
  128. start:Tag = '<'
  129. end:Tag = '>', @eol
  130. txt:colorFG = 0xE00000
  131. DisplayName = 'String (Include File)'
  132. lexClass:
  133. name = c_CPPCommentML
  134. parent:dyn = c_CPP, c_CPPCodeBlock
  135. children = c_URL
  136. start:Tag ='/*'
  137. end:Tag ='*/'
  138. Collapsable = 1 
  139. CollapsedText = '/**/' 
  140. txt:colorFG = 0x00CF00
  141. DisplayName = 'Comment (Multi-Line)'
  142. lexClass:
  143. name = c_CPPAfxInsertBlock_Start
  144. parent = c_CPP, c_CPPCodeBlock
  145. children = 0
  146. start:Tag = '//{{AFX'
  147. end:Separators = @eol
  148. txt:colorFG = 0x00A000
  149. DisplayName = 'Afx Comment Block (start)'
  150. lexClass:
  151. name = c_CPPAfxInsertBlock_End
  152. parent = c_CPP, c_CPPCodeBlock, c_CPPAfxInsertBlock
  153. children = 0
  154. start:Tag = '//}}AFX'
  155. end:Separators = @eol
  156. txt:colorFG = 0x00A000
  157. DisplayName = 'Afx Comment Block (end)'
  158. lexClass:
  159. name = c_CPPAfxInsertBlock
  160. parent = c_CPP, c_CPPCodeBlock
  161. children = c_CPPAfxInsertBlock_End
  162. start:CLASS = c_CPPAfxInsertBlock_Start
  163. end:CLASS = c_CPPAfxInsertBlock_End
  164. Collapsable = 1 
  165. txt:colorFG = 0x909090
  166. DisplayName = 'Afx Comment Block'
  167. lexClass:
  168. name = c_CPPCommentSL
  169. // ParseOnScreen = 0
  170. parent = c_CPP, c_CPPCodeBlock
  171. children = c_URL
  172. start:tag ='//'
  173. skip:Tag = '\rn', '\nr', '\n', '\r'
  174. end:tag = @eol
  175. txt:colorFG = 0x00A000
  176. DisplayName = 'Comment (Single-Line)'
  177. lexClass:
  178. name = c_CPPKeywords
  179. ParseOnScreen = 0
  180. parent:Dyn = c_CPP, c_CPPCodeBlock
  181. children = 0
  182. DisplayName = 'Keyword'
  183. token:tag = '#define'
  184. token:tag = '#elif'
  185. token:tag = '#else'
  186. token:tag = '#endif'
  187. token:tag = '#error'
  188. token:tag = '#if'
  189. token:tag = '#ifdef'
  190. token:tag = '#ifndef'
  191. token:tag = '#import'
  192. token:tag = '#include'
  193. token:tag = '#line'
  194. token:tag = '#pragma'
  195. token:tag = '#undef'
  196. token:tag = '__asm'
  197. token:tag = '__assume'
  198. token:tag = '__based'
  199. token:tag = '__cdecl'
  200. token:tag = '__declspec'
  201. token:tag = '__except'
  202. token:tag = '__fastcall'
  203. token:tag = '__finally'
  204. token:tag = '__inline'
  205. token:tag = '__int16'
  206. token:tag = '__int32'
  207. token:tag = '__int64'
  208. token:tag = '__int8'
  209. token:tag = '__leave'
  210. token:tag = '__multiple_inheritance'
  211. token:tag = '__single_inheritance'
  212. token:tag = '__stdcall'
  213. token:tag = '__try'
  214. token:tag = '__uuidof'
  215. token:tag = '__virtual_inheritance'
  216. token:tag = 'auto'
  217. token:tag = 'bool'
  218. token:tag = 'break'
  219. token:tag = 'case'
  220. token:tag = 'catch'
  221. token:tag = 'char'
  222. token:tag = 'class'
  223. token:tag = 'const'
  224. token:tag = 'const_cast'
  225. token:tag = 'continue'
  226. token:tag = 'default'
  227. token:tag = 'defined'
  228. token:tag = 'delete'
  229. token:tag = 'do'
  230. token:tag = 'double'
  231. token:tag = 'dynamic_cast'
  232. token:tag = 'else'
  233. token:tag = 'enum'
  234. token:tag = 'explicit'
  235. token:tag = 'extern'
  236. token:tag = 'float'
  237. token:tag = 'for'
  238. token:tag = 'friend'
  239. token:tag = 'goto'
  240. token:tag = 'if'
  241. token:tag = 'inline'
  242. token:tag = 'int'
  243. token:tag = 'long'
  244. token:tag = 'mutable'
  245. token:tag = 'namespace'
  246. token:tag = 'new'
  247. token:tag = 'operator'
  248. token:tag = 'private'
  249. token:tag = 'protected'
  250. token:tag = 'public'
  251. token:tag = 'register'
  252. token:tag = 'reinterpret_cast'
  253. token:tag = 'return'
  254. token:tag = 'short'
  255. token:tag = 'signed'
  256. token:tag = 'sizeof'
  257. token:tag = 'static'
  258. token:tag = 'static_cast'
  259. token:tag = 'struct'
  260. token:tag = 'switch'
  261. token:tag = 'template'
  262. token:tag = 'this'
  263. token:tag = 'throw'
  264. token:tag = 'try'
  265. token:tag = 'typedef'
  266. token:tag = 'typeid'
  267. token:tag = 'typename'
  268. token:tag = 'union'
  269. token:tag = 'unsigned'
  270. token:tag = 'using'
  271. token:tag = 'virtual'
  272. token:tag = 'void'
  273. token:tag = 'volatile'
  274. token:tag = 'while'
  275. token:tag = 'wmain'
  276. token:start:separators = ' ', 't', ':', ';', '!', '(', ')', ',', '/', '{', '}', @eol
  277. token:end:separators = ' ', 't', ':', ';', '!', '(', ')', '{', '}', @eol
  278. txt:colorFG = 0x0000FF
  279. lexClass:
  280. name = c_CPPDataTypes
  281. ParseOnScreen = 0
  282. parent:Dyn = c_CPP, c_CPPCodeBlock
  283. children = 0
  284. DisplayName = 'Data Type'
  285. token:tag = 'FALSE'
  286. token:tag = 'TRUE'
  287. token:tag = 'BOOL'
  288. token:tag = 'BSTR'
  289. token:tag = 'BYTE'
  290. token:tag = 'COLORREF'
  291. token:tag = 'DWORD'
  292. token:tag = 'LONG'
  293. token:tag = 'LPARAM'
  294. token:tag = 'LPCSTR'
  295. token:tag = 'LPSTR'
  296. token:tag = 'LPCTSTR'
  297. token:tag = 'LPTSTR'
  298. token:tag = 'LPVOID'
  299. token:tag = 'LRESULT'
  300. token:tag = 'UINT'
  301. token:tag = 'WNDPROC'
  302. token:tag = 'WORD'
  303. token:tag = 'WPARAM'
  304. token:tag = 'POSITION'
  305. token:tag = 'LPCRECT'
  306. token:start:separators = ' ', 't', ':', ';', '!', '(', ')', ',', '/', '{', '}', @eol
  307. token:end:separators = ' ', 't', ':', ';', '!', '(', ')', '{', '}', @eol
  308. txt:colorFG = 0x990099
  309. txt:bold = 0