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

对话框与窗口

开发平台:

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_LUA
  75. parent:file = <*.lua>
  76. caseSensitive = 1
  77. //global:FirstParseInSeparateThread = 0
  78. global:EditReparceInSeparateThread = 1
  79. //global:EditReparceTimeout_ms = 250
  80. //global:MaxBackParseOffset = 100
  81. //global:OnScreenSchCacheLifeTime_sec = 60
  82. //global:ParserThreadIdleLifeTime_sec = -1
  83. lexClass: 
  84. name = c_LUACodeBlock
  85. parent:dyn = c_LUA, c_LUACodeBlock
  86. start:Tag = '{'
  87. end:tag = '}'
  88. // start:Tag = 'do', 'for', 'function', 'if', 'while'
  89. // end:tag = 'end'
  90. Collapsable = 1 
  91. CollapsedText = '{ ... }'
  92. DisplayName = 'Curly Braces'
  93. lexClass: 
  94. name = c_URL
  95. ParseOnScreen = 0
  96. parent:dyn = c_LUA, c_LUACodeBlock
  97. caseSensitive = 0
  98. children = 0
  99. previous:tag = @specs, ' ', 't', @eol
  100. start:Tag = 'http://'
  101. end:separators = ' ', 't', @eol
  102. DisplayName = 'URL'
  103. lexClass: 
  104. name = c_String
  105. parent:dyn = c_LUA, c_LUACodeBlock
  106. children = c_URL
  107. start:Tag = '"'
  108. skip:Tag = '\"', '\rn', '\nr', '\n', '\r'
  109. end:Tag = '"', @eol
  110. txt:colorFG = 0x009090
  111. //txt:colorFG = 0xA31515
  112. DisplayName = 'String (Double Quotes)'
  113. lexClass: 
  114. name = c_String_char
  115. parent:dyn = c_LUA, c_LUACodeBlock
  116. children = 0
  117. start:Tag = '''
  118. //skip:Tag = '\"', '\rn', '\nr', '\n', '\r'
  119. end:Tag = ''', @eol
  120. txt:colorFG = 0x009090
  121. //txt:colorFG = 0xA31515
  122. DisplayName = 'String (Single Quotes)'
  123. lexClass:
  124. name = c_LUACommentML_Start
  125. parent = c_LUA, c_LUACodeBlock
  126. children = c_URL
  127. start:Tag = '--[['
  128. end:Separators = @eol    
  129. txt:colorFG = 0x00A000
  130. lexClass:
  131. name = c_LUACommentML_End
  132. parent = c_LUA, c_LUACodeBlock, c_LUACommentML
  133. children = c_URL
  134. start:Tag = '--]]'
  135. end:Separators = @eol    
  136. txt:colorFG = 0x00A000
  137. lexClass:
  138. name = c_LUACommentML
  139. parent = c_LUA, c_LUACodeBlock
  140. children = c_LUACommentML_End
  141. start:CLASS = c_LUACommentML_Start
  142. end:CLASS = c_LUACommentML_End
  143. Collapsable = 1
  144. txt:colorFG = 0x00A000
  145. DisplayName = 'Comment (Multi-Line)'
  146. lexClass:
  147. name = c_LUACommentSL
  148. parent = c_LUA, c_LUACodeBlock
  149. children = c_URL
  150. start:tag ='--'
  151. skip:Tag = '\rn', '\nr', '\n', '\r'
  152. end:tag = @eol
  153. txt:colorFG = 0x00A000
  154. DisplayName = 'Comment (Single-Line)'
  155. lexClass:
  156. name = c_LUAKeywords
  157. ParseOnScreen = 0
  158. parent:Dyn = c_LUA, c_LUACodeBlock
  159. children = 0
  160. DisplayName = 'Keyword'
  161. token:tag = 'and'
  162. token:tag = 'break'
  163. token:tag = 'do'
  164. token:tag = 'else'
  165. token:tag = 'elseif'
  166. token:tag = 'end'
  167. token:tag = 'false'
  168. token:tag = 'for'
  169. token:tag = 'function'
  170. token:tag = 'global'
  171. token:tag = 'if'
  172. token:tag = 'in'
  173. token:tag = 'local'
  174. token:tag = 'nil'
  175. token:tag = 'not'
  176. token:tag = 'or'
  177. token:tag = 'repeat'
  178. token:tag = 'return'
  179. token:tag = 'then'
  180. token:tag = 'true'
  181. token:tag = 'until'
  182. token:tag = 'while'
  183. token:start:separators = @specs, ' ', 't', @eol
  184. token:end:separators = @specs, ' ', 't', @eol
  185. txt:colorFG = 0x000080
  186. txt:bold = 1
  187. lexClass:
  188. name = c_LUAFunctions
  189. ParseOnScreen = 0
  190. parent:Dyn = c_LUA, c_LUACodeBlock
  191. children = 0
  192. DisplayName = 'LUA Function'
  193. token:tag = '_G'
  194. token:tag = '_VERSION'
  195. token:tag = 'assert'
  196. token:tag = 'collectgarbage'
  197. token:tag = 'dofile'
  198. token:tag = 'error'
  199. token:tag = 'getfenv'
  200. token:tag = 'getmetatable'
  201. token:tag = 'ipairs'
  202. token:tag = 'load'
  203. token:tag = 'loadfile'
  204. token:tag = 'loadstring'
  205. token:tag = 'module'
  206. token:tag = 'next'
  207. token:tag = 'pairs'
  208. token:tag = 'pcall'
  209. token:tag = 'print'
  210. token:tag = 'rawequal'
  211. token:tag = 'rawget'
  212. token:tag = 'rawset'
  213. token:tag = 'require'
  214. token:tag = 'select'
  215. token:tag = 'setfenv'
  216. token:tag = 'setmetatable'
  217. token:tag = 'tonumber'
  218. token:tag = 'tostring'
  219. token:tag = 'type'
  220. token:tag = 'unpack'
  221. token:tag = 'xpcall'
  222. //token:tag = 'coroutine.create'
  223. //token:tag = 'coroutine.resume'
  224. //token:tag = 'coroutine.running'
  225. //token:tag = 'coroutine.status'
  226. //token:tag = 'coroutine.wrap'
  227. //token:tag = 'coroutine.yield'
  228. //token:tag = 'debug.debug'
  229. //token:tag = 'debug.getfenv'
  230. //token:tag = 'debug.gethook'
  231. //token:tag = 'debug.getinfo'
  232. //token:tag = 'debug.getlocal'
  233. //token:tag = 'debug.getmetatable'
  234. //token:tag = 'debug.getregistry'
  235. //token:tag = 'debug.getupvalue'
  236. //token:tag = 'debug.setfenv'
  237. //token:tag = 'debug.sethook'
  238. //token:tag = 'debug.setlocal'
  239. //token:tag = 'debug.setmetatable'
  240. //token:tag = 'debug.setupvalue'
  241. //token:tag = 'debug.traceback'
  242. //token:tag = 'file:close'
  243. //token:tag = 'file:flush'
  244. //token:tag = 'file:lines'
  245. //token:tag = 'file:read'
  246. //token:tag = 'file:seek'
  247. //token:tag = 'file:setvbuf'
  248. //token:tag = 'file:write'
  249. //token:tag = 'io.close'
  250. //token:tag = 'io.flush'
  251. //token:tag = 'io.input'
  252. //token:tag = 'io.lines'
  253. //token:tag = 'io.open'
  254. //token:tag = 'io.output'
  255. //token:tag = 'io.popen'
  256. //token:tag = 'io.read'
  257. //token:tag = 'io.tmpfile'
  258. //token:tag = 'io.type'
  259. //token:tag = 'io.write'
  260. //token:tag = 'math.abs'
  261. //token:tag = 'math.acos'
  262. //token:tag = 'math.asin'
  263. //token:tag = 'math.atan2'
  264. //token:tag = 'math.atan'
  265. //token:tag = 'math.ceil'
  266. //token:tag = 'math.cosh'
  267. //token:tag = 'math.cos'
  268. //token:tag = 'math.deg'
  269. //token:tag = 'math.exp'
  270. //token:tag = 'math.floor'
  271. //token:tag = 'math.fmod'
  272. //token:tag = 'math.frexp'
  273. //token:tag = 'math.huge'
  274. //token:tag = 'math.ldexp'
  275. //token:tag = 'math.log10'
  276. //token:tag = 'math.log'
  277. //token:tag = 'math.max'
  278. //token:tag = 'math.min'
  279. //token:tag = 'math.modf'
  280. //token:tag = 'math.pi'
  281. //token:tag = 'math.pow'
  282. //token:tag = 'math.rad'
  283. //token:tag = 'math.random'
  284. //token:tag = 'math.randomseed'
  285. //token:tag = 'math.sinh'
  286. //token:tag = 'math.sin'
  287. //token:tag = 'math.sqrt'
  288. //token:tag = 'math.tanh'
  289. //token:tag = 'math.tan'
  290. //token:tag = 'os.clock'
  291. //token:tag = 'os.date'
  292. //token:tag = 'os.difftime'
  293. //token:tag = 'os.execute'
  294. //token:tag = 'os.exit'
  295. //token:tag = 'os.getenv'
  296. //token:tag = 'os.remove'
  297. //token:tag = 'os.rename'
  298. //token:tag = 'os.setlocale'
  299. //token:tag = 'os.time'
  300. //token:tag = 'os.tmpname'
  301. //token:tag = 'package.cpath'
  302. //token:tag = 'package.loaded'
  303. //token:tag = 'package.loadlib'
  304. //token:tag = 'package.path'
  305. //token:tag = 'package.preload'
  306. //token:tag = 'package.seeall'
  307. //token:tag = 'string.byte'
  308. //token:tag = 'string.char'
  309. //token:tag = 'string.dump'
  310. //token:tag = 'string.find'
  311. //token:tag = 'string.format'
  312. //token:tag = 'string.gmatch'
  313. //token:tag = 'string.gsub'
  314. //token:tag = 'string.len'
  315. //token:tag = 'string.lower'
  316. //token:tag = 'string.match'
  317. //token:tag = 'string.rep'
  318. //token:tag = 'string.reverse'
  319. //token:tag = 'string.sub'
  320. //token:tag = 'string.upper'
  321. //token:tag = 'table.concat'
  322. //token:tag = 'table.insert'
  323. //token:tag = 'table.maxn'
  324. //token:tag = 'table.remove'
  325. //token:tag = 'table.sort'
  326.  
  327. token:start:separators = @specs, ' ', 't', @eol
  328. token:end:separators = @specs, ' ', 't', @eol
  329.                    
  330. txt:colorFG = 0x900090
  331. txt:bold = 0