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

对话框与窗口

开发平台:

Visual C++

  1. //=======================================================================
  2. //================ Lex class support ====================================
  3. //=======================================================================
  4. //  lexClass:
  5. // name = c_CPPString
  6. // parent = c_CPP
  7. // parent:dyn = c_CPP
  8. //
  9. // children = 0
  10. // children = class1, class2, ...
  11. //
  12. // previous:class =
  13. // previous:tag =
  14. // previous:tag:separators =
  15. //
  16. // start:class = 
  17. // start:Tag = '"'
  18. //
  19. // skip:Tag = '"'
  20. //
  21. // end:class = //
  22. // end:Tag = '"'
  23. // end:separators = ' '
  24. //
  25. // Token:tag = 'if', 'for', 'while', 'do'
  26. // Token:start:separators = 
  27. // Token:end:separators = 
  28. //-----------------------------------------------------------------------
  29. //---------------- Attributes -------------------------------------------
  30. //-----------------------------------------------------------------------
  31. // txt:colorFG = 0xffc0c0 // color value in hex format. default: black
  32. // txt:colorBK = 0xffc0c0 // color value in hex format. default: white
  33. //
  34. // txt:colorSelFG = 0xffc0c0 // color value in hex format. default: white
  35. // txt:colorSelBK = 0xffc0c0 // color value in hex format. default: black
  36. //
  37. // txt:Bold = 1 // {1,0} default: 0
  38. // txt:Italic = 1 // {1,0} default: 0
  39. // txt:Underline = 1 // {1,0} default: 0
  40. //
  41. // caseSensitive = 1 // {1,0} default: 0
  42. //
  43. // Collapsable = 1 // {1,0} default: 0
  44. // CollapsedText = '/*...*/' // quoted string value. default: '[..]'
  45. //
  46. // ParseOnScreen = 1 // {1,0} default: 0
  47. // 
  48. //-----------------------------------------------------------------------
  49. //* Global attributes ***************************************************
  50. //-----------------------------------------------------------------------
  51. //  global:FirstParseInSeparateThread = 1 // {0,1} default=1
  52. //  global:EditReparceInSeparateThread = 1 // {0,1} default=1
  53. //  global:ConfigChangedReparceInSeparateThread= 1 // {0,1} default=1
  54. //  global:EditReparceTimeout_ms = 500 // default= 500 ms; time out for start reparse after last key was pressed.
  55. //  global:MaxBackParseOffset = 100 // default= 100 chars; maximum back buffer size. Some times parser look back for the text from current position.
  56. //  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.
  57. //  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).
  58. /////////////////////////////////////////////////////////////////////////
  59. //=======================================================================
  60. //================ Variables support ====================================
  61. //=======================================================================
  62. // NON operation - example:   @alpha:not
  63. //
  64. // @alpha = a-z, A-Z
  65. // @digit = 0-9
  66. // @HexDdigit = 0-9, a-f, A-F
  67. // @specs = "~`!@#$%^&*()_-+=\|{}[];:'",.<>/?"
  68. // @EOL = End Of Line
  69. //---------------------------------------------
  70. // special tags:  '\', ''', 't', 'r', 'n'
  71. /////////////////////////////////////////////////////////////////////////
  72. /// JScript ///
  73. lexClass:
  74. parent:file = <*.js>
  75. name = c_JScript
  76. DisplayName = 'Normal Text'
  77. //caseSensitive = 0
  78. txt:colorFG = 0x000000
  79. //:lexClass
  80. lexClass: 
  81. name = c_JSCodeBlock
  82. parent = c_JScript, c_JSCodeBlock
  83. DisplayName = 'Curly Braces'
  84. start:Tag = '{'
  85. end:tag = '}'
  86. Collapsable = 1 
  87. CollapsedText = '...'
  88. //:lexClass
  89. lexClass:
  90. name = c_JScriptCommentSL
  91. parent = c_JScript, c_JSCodeBlock
  92. DisplayName = 'Java Script Comment (single line)'
  93. children = 0
  94. start:Tag = '//'
  95. end:separators = @EOL
  96. txt:colorFG = 0x008200
  97. //:lexClass
  98. lexClass:
  99. name = c_JScriptCommentML
  100. parent = c_JScript, c_JSCodeBlock
  101. DisplayName = 'Java Script Comment (multi-line)'
  102. children = 0
  103. start:Tag = '/*'
  104. end:Tag = '*/'
  105. txt:colorFG = 0x008200
  106. //:lexClass
  107. lexClass:
  108. name = c_JScriptStr1
  109. parent = c_JScript, c_JSCodeBlock
  110. DisplayName = 'Java Script String (double quote)'
  111. start:Tag ='"'
  112. end:Tag ='"', @EOL
  113. txt:colorFG = 0x840000
  114. //:lexClass
  115. lexClass:
  116. name = c_JScriptStr
  117. parent = c_JScript, c_JSCodeBlock
  118. DisplayName = 'Java Script String (single quote)'
  119. // ParseOnScreen = 0
  120. start:Tag ='''
  121. end:Tag =''', @EOL
  122. txt:colorFG = 0x840000
  123. //:lexClass
  124. lexClass:
  125. name = c_JScriptNumber10
  126. parent = c_JScript, c_JSCodeBlock
  127.   DisplayName = 'Java Script Number'    
  128. // ParseOnScreen = 0
  129. previous:tag = @specs, ' ', 't', @EOL
  130. start:Tag = @digit
  131. end:separators = @digit:not
  132. txt:colorFG = 0x008284
  133. //:lexClass
  134. lexClass: 
  135. name = c_JScript_Language_Keywords0
  136. parent = c_JScript, c_JSCodeBlock
  137. // ParseOnScreen = 1
  138. DisplayName = 'Java Script Keywords'
  139. token:start:separators = ' ', 't', @specs, @eol 
  140. token:end:separators = ' ', 't', @specs, @eol 
  141. txt:colorFG = 0x0000FF
  142. // txt:Bold = 1
  143. token:tag = 'break'
  144. token:tag = 'case'
  145. token:tag = 'catch'
  146. token:tag = 'const'
  147. token:tag = 'continue'
  148. token:tag = 'do'
  149. token:tag = 'else'
  150. token:tag = 'finally'
  151. token:tag = 'for'
  152. token:tag = 'function'
  153. token:tag = 'if'
  154. token:tag = 'in'
  155. token:tag = 'instanceof'
  156. token:tag = 'new'
  157. token:tag = 'return'
  158. token:tag = 'switch'
  159. token:tag = 'this'
  160. token:tag = 'throw'
  161. token:tag = 'try'
  162. token:tag = 'typeof'
  163. token:tag = 'var'
  164. token:tag = 'while'
  165. token:tag = 'with'
  166. token:tag = 'try'
  167. token:tag = 'catch'
  168. lexClass: 
  169. name = c_JScript_Language_Constants0
  170. parent = c_JScript, c_JSCodeBlock
  171. DisplayName = 'Java Script Constants'
  172. token:start:separators = ' ', 't', @specs, @eol 
  173. token:end:separators = ' ', 't', @specs, @eol 
  174. txt:colorFG = 0x0000FF
  175. txt:Bold = 1
  176. token:tag = 'True'
  177. token:tag = 'False'
  178. token:tag = 'null'
  179. //:lexClass