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

对话框与窗口

开发平台:

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. /// HTML ///
  73. lexClass:
  74. parent:file = <*.vb|*.vbs>
  75. name = c_VBS
  76. //caseSensitive = 0
  77. txt:colorFG = 0x000000
  78. DisplayName = 'Normal Text'
  79. //=============================================================================
  80. //*** VB, VB Script colorization *** ==========================================
  81. //=============================================================================
  82. lexClass:
  83. name = c_VBScriptComment
  84. parent = c_VBS
  85. start:Tag = '''
  86. end:separators = @EOL
  87. txt:colorFG = 0x008200
  88. DisplayName = 'VB Script Comment'
  89. //:lexClass
  90. lexClass:
  91. name = c_VBScriptStr
  92. parent = c_VBS
  93. ParseOnScreen = 0
  94. start:Tag ='"'
  95. end:Tag ='"', @EOL
  96. txt:colorFG = 0x840000
  97. DisplayName = 'VB Script String'
  98. //:lexClass
  99. lexClass:
  100. name = c_VBScriptNumber10
  101. parent = c_VBS
  102. ParseOnScreen = 1
  103. previous:tag = @specs, ' ', 't', @EOL
  104. start:Tag = @digit
  105. end:separators = @digit:not
  106. txt:colorFG = 0x008284
  107. DisplayName = 'VB Script Number'
  108. //:lexClass
  109. lexClass: 
  110. name = c_VBScript_Language_Keywords
  111. parent = c_VBS
  112. ParseOnScreen = 0
  113. token:start:separators = ' ', 't', '=', '>', '<', '(', ')', @eol
  114. token:end:separators = ' ', 't', '=', '>', '<', '(', ')', @eol
  115. txt:colorFG = 0x0000FF
  116. txt:Bold = 1
  117. token:tag = 'And'
  118. token:tag = 'ByVal', 'ByRef'
  119. token:tag = 'Call', 'Case'
  120. token:tag = 'Dim'
  121.     token:tag = 'Error', 'ElseIf', 'Else', 'End', 'Erase', 'Exit', 'Eqv', 'Explicit'
  122. token:tag = 'For', 'Function'
  123.     token:tag = 'In', 'If', 'Is', 'Imp'
  124. token:tag = 'Like'
  125. token:tag = 'Mod'
  126.     token:tag = 'Nothing', 'New', 'Next', 'Not'
  127. token:tag = 'Option', 'On', 'Or'
  128.     token:tag = 'Preserve', 'Private', 'Public'
  129. token:tag = 'ReDim', 'Raise', 'Resume'
  130.     token:tag = 'Set', 'Step', 'Sub'
  131. token:tag = 'Then', 'To'
  132. token:tag = 'Until'
  133. token:tag = 'Xor'
  134. token:tag = 'With', 'Wend', 'While'
  135. DisplayName = 'VB Script Keywords'
  136. //:lexClass
  137. lexClass: 
  138. name = c_VBScript_Functions
  139. parent = c_VBS
  140. ParseOnScreen = 0
  141. token:start:separators = ' ', 't', '<%=', '<%', '>', '(', @eol
  142. token:end:separators = ' ', 't', '%>', '<', '(', ')', @eol
  143. txt:colorFG = 0x8000FF
  144.     token:tag = 'Abs'
  145.     token:tag = 'Array'
  146.     token:tag = 'Asc'
  147.     token:tag = 'Atn'
  148.     token:tag = 'CBool'
  149.     token:tag = 'CByte'
  150.     token:tag = 'CCur'
  151.     token:tag = 'CDate'
  152.     token:tag = 'CDbl'
  153.     token:tag = 'Chr'
  154.     token:tag = 'CInt'
  155.     token:tag = 'CLng'
  156.     token:tag = 'Const'
  157.     token:tag = 'Cos'
  158.     token:tag = 'CreateObject'
  159.     token:tag = 'CSng'
  160.     token:tag = 'CStr'
  161.     token:tag = 'Date'
  162.     token:tag = 'DateAdd'
  163.     token:tag = 'DateDiff'
  164.     token:tag = 'DatePart'
  165.     token:tag = 'DateSerial'
  166.     token:tag = 'DateValue'
  167.     token:tag = 'Day'
  168.     token:tag = 'Exp'
  169.     token:tag = 'Filter'
  170.     token:tag = 'Fix'
  171.     token:tag = 'FormatCurrency'
  172.     token:tag = 'FormatDateTime'
  173.     token:tag = 'FormatNumber'
  174.     token:tag = 'FormatPercent'
  175.     token:tag = 'GetObject'
  176.     token:tag = 'Hex'
  177.     token:tag = 'Hour'
  178.     token:tag = 'InputBox'
  179.     token:tag = 'InStr'
  180.     token:tag = 'InStrRev'
  181.     token:tag = 'Int'
  182.     token:tag = 'IsArray'
  183.     token:tag = 'IsDate'
  184.     token:tag = 'IsEmpty'
  185.     token:tag = 'IsNull'
  186.     token:tag = 'IsNumeric'
  187.     token:tag = 'IsObject'
  188.     token:tag = 'Join'
  189.     token:tag = 'LBound'
  190.     token:tag = 'LCase'
  191.     token:tag = 'Left'
  192.     token:tag = 'Len'
  193.     token:tag = 'LoadPicture'
  194.     token:tag = 'Log'
  195.     token:tag = 'LTrim'
  196.     token:tag = 'Mid'
  197.     token:tag = 'Minute'
  198.     token:tag = 'Month'
  199.     token:tag = 'MonthName'
  200.     token:tag = 'MsgBox'
  201.     token:tag = 'Now'
  202.     token:tag = 'Oct'
  203.     token:tag = 'Replace'
  204.     token:tag = 'Right'
  205.     token:tag = 'Rnd'
  206.     token:tag = 'Round'
  207.     token:tag = 'RTrim'
  208.     token:tag = 'ScriptEngine'
  209.     token:tag = 'ScriptEngineBuildVersion'
  210.     token:tag = 'ScriptEngineMajorVersion'
  211.     token:tag = 'ScriptEngineMinorVersion'
  212.     token:tag = 'Second'
  213.     token:tag = 'Sgn'
  214.     token:tag = 'Sin'
  215.     token:tag = 'Space'
  216.     token:tag = 'Split'
  217.     token:tag = 'Sqr'
  218.     token:tag = 'StrComp'
  219.     token:tag = 'StrReverse'
  220.     token:tag = 'String'
  221.     token:tag = 'Tan'
  222.     token:tag = 'Time'
  223.     token:tag = 'TimeSerial'
  224.     token:tag = 'TimeValue'
  225.     token:tag = 'Trim'
  226.     token:tag = 'TypeName'
  227.     token:tag = 'UBound'
  228.     token:tag = 'UCase'
  229.     token:tag = 'VarType'
  230.     token:tag = 'Weekday'
  231.     token:tag = 'WeekdayName'
  232.     token:tag = 'Year'
  233.     token:tag = 'empty'
  234.     token:tag = 'True'
  235.     token:tag = 'false'
  236.     token:tag = 'null'
  237. DisplayName = 'VB Script Functions'
  238. //:lexClass
  239. /////////////////////////////////////////////////////////////
  240. // Operators Arithmetic 
  241. //            "^"
  242. //            "*"
  243. //            "/"
  244. //            ""
  245. //            "+"
  246. //            "-"
  247. //            "&"
  248. // Operators Comparison 
  249. //            "="
  250. //            "<>"
  251. //            "<"
  252. //            "<="
  253. //            ">"
  254. //            ">="
  255. // Operators Logical
  256. //            "~"
  257. /////////////////////////////////////////////////////////////
  258. //=============================================================================