gitlab-pygments.rb 0.3.2 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (199) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +71 -0
  4. data/Gemfile +1 -1
  5. data/LICENSE +17 -0
  6. data/README.md +28 -1
  7. data/Rakefile +2 -5
  8. data/lexers +0 -0
  9. data/lib/pygments/mentos.py +19 -12
  10. data/lib/pygments/popen.rb +21 -4
  11. data/lib/pygments/version.rb +1 -1
  12. data/pygments.rb.gemspec +2 -0
  13. data/test/test_pygments.rb +13 -2
  14. data/vendor/custom_lexers/github.py +206 -3
  15. data/vendor/pygments-main/AUTHORS +41 -3
  16. data/vendor/pygments-main/CHANGES +132 -5
  17. data/vendor/pygments-main/LICENSE +1 -1
  18. data/vendor/pygments-main/Makefile +1 -1
  19. data/vendor/pygments-main/REVISION +1 -1
  20. data/vendor/pygments-main/docs/generate.py +1 -1
  21. data/vendor/pygments-main/docs/src/api.txt +1 -1
  22. data/vendor/pygments-main/docs/src/index.txt +1 -1
  23. data/vendor/pygments-main/docs/src/integrate.txt +5 -0
  24. data/vendor/pygments-main/docs/src/java.txt +70 -0
  25. data/vendor/pygments-main/docs/src/lexerdevelopment.txt +52 -0
  26. data/vendor/pygments-main/external/autopygmentize +64 -0
  27. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +144 -0
  28. data/vendor/pygments-main/external/markdown-processor.py +2 -2
  29. data/vendor/pygments-main/external/moin-parser.py +1 -1
  30. data/vendor/pygments-main/external/rst-directive-old.py +1 -1
  31. data/vendor/pygments-main/external/rst-directive.py +1 -1
  32. data/vendor/pygments-main/pygmentize +1 -1
  33. data/vendor/pygments-main/pygments/__init__.py +2 -2
  34. data/vendor/pygments-main/pygments/cmdline.py +14 -6
  35. data/vendor/pygments-main/pygments/console.py +1 -1
  36. data/vendor/pygments-main/pygments/filter.py +1 -1
  37. data/vendor/pygments-main/pygments/filters/__init__.py +3 -4
  38. data/vendor/pygments-main/pygments/formatter.py +4 -1
  39. data/vendor/pygments-main/pygments/formatters/__init__.py +1 -1
  40. data/vendor/pygments-main/pygments/formatters/_mapping.py +3 -3
  41. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  42. data/vendor/pygments-main/pygments/formatters/html.py +73 -2
  43. data/vendor/pygments-main/pygments/formatters/img.py +2 -2
  44. data/vendor/pygments-main/pygments/formatters/latex.py +9 -9
  45. data/vendor/pygments-main/pygments/formatters/other.py +1 -3
  46. data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
  47. data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
  48. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  49. data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
  50. data/vendor/pygments-main/pygments/lexer.py +78 -10
  51. data/vendor/pygments-main/pygments/lexers/__init__.py +13 -2
  52. data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1 -1
  53. data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +1 -1
  54. data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +5172 -0
  55. data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +1 -1
  56. data/vendor/pygments-main/pygments/lexers/_mapping.py +92 -36
  57. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +562 -0
  58. data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +2 -2
  59. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +4 -3
  60. data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +557 -0
  61. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +11 -0
  62. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +1072 -0
  63. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +360 -0
  64. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +13 -3
  65. data/vendor/pygments-main/pygments/lexers/agile.py +525 -38
  66. data/vendor/pygments-main/pygments/lexers/asm.py +45 -7
  67. data/vendor/pygments-main/pygments/lexers/compiled.py +1257 -425
  68. data/vendor/pygments-main/pygments/lexers/dalvik.py +104 -0
  69. data/vendor/pygments-main/pygments/lexers/dotnet.py +97 -62
  70. data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
  71. data/vendor/pygments-main/pygments/lexers/functional.py +931 -32
  72. data/vendor/pygments-main/pygments/lexers/github.py +206 -3
  73. data/vendor/pygments-main/pygments/lexers/hdl.py +3 -3
  74. data/vendor/pygments-main/pygments/lexers/jvm.py +309 -44
  75. data/vendor/pygments-main/pygments/lexers/math.py +876 -30
  76. data/vendor/pygments-main/pygments/lexers/other.py +956 -517
  77. data/vendor/pygments-main/pygments/lexers/parsers.py +85 -2
  78. data/vendor/pygments-main/pygments/lexers/shell.py +81 -18
  79. data/vendor/pygments-main/pygments/lexers/special.py +1 -1
  80. data/vendor/pygments-main/pygments/lexers/sql.py +2 -2
  81. data/vendor/pygments-main/pygments/lexers/templates.py +119 -8
  82. data/vendor/pygments-main/pygments/lexers/text.py +155 -15
  83. data/vendor/pygments-main/pygments/lexers/web.py +1578 -397
  84. data/vendor/pygments-main/pygments/modeline.py +40 -0
  85. data/vendor/pygments-main/pygments/plugin.py +1 -1
  86. data/vendor/pygments-main/pygments/scanner.py +1 -1
  87. data/vendor/pygments-main/pygments/style.py +1 -1
  88. data/vendor/pygments-main/pygments/styles/__init__.py +1 -1
  89. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  90. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  91. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  92. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  93. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  94. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  95. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  96. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  97. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  98. data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
  99. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  100. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  101. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  102. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  103. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  104. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  105. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  106. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  107. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  108. data/vendor/pygments-main/pygments/token.py +1 -1
  109. data/vendor/pygments-main/pygments/unistring.py +36 -26
  110. data/vendor/pygments-main/pygments/util.py +46 -1
  111. data/vendor/pygments-main/scripts/check_sources.py +2 -2
  112. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +2 -0
  113. data/vendor/pygments-main/scripts/find_codetags.py +1 -1
  114. data/vendor/pygments-main/scripts/find_error.py +5 -6
  115. data/vendor/pygments-main/setup.cfg +1 -0
  116. data/vendor/pygments-main/setup.py +6 -4
  117. data/vendor/pygments-main/tests/examplefiles/BOM.js +1 -0
  118. data/vendor/pygments-main/tests/examplefiles/Config.in.cache +1973 -0
  119. data/vendor/pygments-main/tests/examplefiles/Deflate.fs +578 -0
  120. data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +66 -0
  121. data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +104 -0
  122. data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +671 -0
  123. data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +23 -0
  124. data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +25 -0
  125. data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +308 -0
  126. data/vendor/pygments-main/tests/examplefiles/ca65_example +284 -0
  127. data/vendor/pygments-main/tests/examplefiles/cbmbas_example +9 -0
  128. data/vendor/pygments-main/tests/examplefiles/classes.dylan +89 -4
  129. data/vendor/pygments-main/tests/examplefiles/example.Rd +78 -0
  130. data/vendor/pygments-main/tests/examplefiles/example.bug +54 -0
  131. data/vendor/pygments-main/tests/examplefiles/example.ceylon +52 -0
  132. data/vendor/pygments-main/tests/examplefiles/example.clay +33 -0
  133. data/vendor/pygments-main/tests/examplefiles/example.cob +3556 -0
  134. data/vendor/pygments-main/tests/examplefiles/example.hx +142 -0
  135. data/vendor/pygments-main/tests/examplefiles/example.jag +48 -0
  136. data/vendor/pygments-main/tests/examplefiles/example.lagda +19 -0
  137. data/vendor/pygments-main/tests/examplefiles/example.monkey +152 -0
  138. data/vendor/pygments-main/tests/examplefiles/example.msc +43 -0
  139. data/vendor/pygments-main/tests/examplefiles/example.prg +161 -0
  140. data/vendor/pygments-main/tests/examplefiles/example.reg +19 -0
  141. data/vendor/pygments-main/tests/examplefiles/example.rexx +50 -0
  142. data/vendor/pygments-main/tests/examplefiles/example.rkt +95 -0
  143. data/vendor/pygments-main/tests/examplefiles/example.rpf +4 -0
  144. data/vendor/pygments-main/tests/examplefiles/example.shell-session +45 -0
  145. data/vendor/pygments-main/tests/examplefiles/example.stan +108 -0
  146. data/vendor/pygments-main/tests/examplefiles/example.ts +28 -0
  147. data/vendor/pygments-main/tests/examplefiles/example.xtend +34 -0
  148. data/vendor/pygments-main/tests/examplefiles/example2.msc +79 -0
  149. data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +133 -0
  150. data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +22 -0
  151. data/vendor/pygments-main/tests/examplefiles/hello.smali +40 -0
  152. data/vendor/pygments-main/tests/examplefiles/hello.sp +9 -0
  153. data/vendor/pygments-main/tests/examplefiles/http_request_example +2 -1
  154. data/vendor/pygments-main/tests/examplefiles/http_response_example +4 -2
  155. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +71 -0
  156. data/vendor/pygments-main/tests/examplefiles/json.lasso +301 -0
  157. data/vendor/pygments-main/tests/examplefiles/json.lasso9 +213 -0
  158. data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +41 -0
  159. data/vendor/pygments-main/tests/examplefiles/logos_example.xm +28 -0
  160. data/vendor/pygments-main/tests/examplefiles/matlab_sample +5 -2
  161. data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +455 -0
  162. data/vendor/pygments-main/tests/examplefiles/mg_sample.pro +73 -0
  163. data/vendor/pygments-main/tests/examplefiles/minehunt.qml +112 -0
  164. data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +95 -0
  165. data/vendor/pygments-main/tests/examplefiles/objc_example.m +7 -0
  166. data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +163 -0
  167. data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +4 -0
  168. data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +4 -0
  169. data/vendor/pygments-main/tests/examplefiles/robotframework.txt +39 -0
  170. data/vendor/pygments-main/tests/examplefiles/rust_example.rs +233 -0
  171. data/vendor/pygments-main/tests/examplefiles/session.dylan-console +9 -0
  172. data/vendor/pygments-main/tests/examplefiles/swig_java.swg +1329 -0
  173. data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +225 -0
  174. data/vendor/pygments-main/tests/examplefiles/test.R +149 -115
  175. data/vendor/pygments-main/tests/examplefiles/test.agda +102 -0
  176. data/vendor/pygments-main/tests/examplefiles/test.bb +95 -0
  177. data/vendor/pygments-main/tests/examplefiles/test.cu +36 -0
  178. data/vendor/pygments-main/tests/examplefiles/test.ebnf +31 -0
  179. data/vendor/pygments-main/tests/examplefiles/test.opa +10 -0
  180. data/vendor/pygments-main/tests/examplefiles/test.p6 +252 -0
  181. data/vendor/pygments-main/tests/examplefiles/test2.pypylog +120 -0
  182. data/vendor/pygments-main/tests/examplefiles/type.lisp +16 -0
  183. data/vendor/pygments-main/tests/examplefiles/unix-io.lid +37 -0
  184. data/vendor/pygments-main/tests/old_run.py +1 -1
  185. data/vendor/pygments-main/tests/run.py +3 -2
  186. data/vendor/pygments-main/tests/support/tags +36 -0
  187. data/vendor/pygments-main/tests/test_basic_api.py +4 -3
  188. data/vendor/pygments-main/tests/test_clexer.py +1 -1
  189. data/vendor/pygments-main/tests/test_cmdline.py +1 -1
  190. data/vendor/pygments-main/tests/test_examplefiles.py +3 -1
  191. data/vendor/pygments-main/tests/test_html_formatter.py +17 -1
  192. data/vendor/pygments-main/tests/test_latex_formatter.py +1 -1
  193. data/vendor/pygments-main/tests/test_lexers_other.py +68 -0
  194. data/vendor/pygments-main/tests/test_perllexer.py +1 -1
  195. data/vendor/pygments-main/tests/test_regexlexer.py +1 -1
  196. data/vendor/pygments-main/tests/test_token.py +1 -1
  197. data/vendor/pygments-main/tests/test_using_api.py +1 -1
  198. data/vendor/pygments-main/tests/test_util.py +22 -3
  199. metadata +84 -16
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for other languages.
7
7
 
8
- :copyright: Copyright 2006-2012 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -14,9 +14,13 @@ import re
14
14
  from pygments.lexer import RegexLexer, include, bygroups, using, \
15
15
  this, combined, ExtendedRegexLexer
16
16
  from pygments.token import Error, Punctuation, Literal, Token, \
17
- Text, Comment, Operator, Keyword, Name, String, Number, Generic
17
+ Text, Comment, Operator, Keyword, Name, String, Number, Generic, \
18
+ Whitespace
19
+ from pygments.util import get_bool_opt
18
20
  from pygments.lexers.web import HtmlLexer
19
21
 
22
+ from pygments.lexers._openedgebuiltins import OPENEDGEKEYWORDS
23
+ from pygments.lexers._robotframeworklexer import RobotFrameworkLexer
20
24
 
21
25
  # backwards compatibility
22
26
  from pygments.lexers.sql import SqlLexer, MySqlLexer, SqliteConsoleLexer
@@ -29,7 +33,10 @@ __all__ = ['BrainfuckLexer', 'BefungeLexer', 'RedcodeLexer', 'MOOCodeLexer',
29
33
  'NewspeakLexer', 'GherkinLexer', 'AsymptoteLexer', 'PostScriptLexer',
30
34
  'AutohotkeyLexer', 'GoodDataCLLexer', 'MaqlLexer', 'ProtoBufLexer',
31
35
  'HybrisLexer', 'AwkLexer', 'Cfengine3Lexer', 'SnobolLexer',
32
- 'ECLLexer', 'UrbiscriptLexer', 'OpenEdgeLexer', 'BroLexer']
36
+ 'ECLLexer', 'UrbiscriptLexer', 'OpenEdgeLexer', 'BroLexer',
37
+ 'MscgenLexer', 'KconfigLexer', 'VGLLexer', 'SourcePawnLexer',
38
+ 'RobotFrameworkLexer', 'PuppetLexer', 'NSISLexer', 'RPMSpecLexer',
39
+ 'CbmBasicV2Lexer', 'AutoItLexer', 'RexxLexer']
33
40
 
34
41
 
35
42
  class ECLLexer(RegexLexer):
@@ -56,7 +63,7 @@ class ECLLexer(RegexLexer):
56
63
  'whitespace': [
57
64
  (r'\s+', Text),
58
65
  (r'\/\/.*', Comment.Single),
59
- (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
66
+ (r'/(\\\n)?\*(.|\n)*?\*(\\\n)?/', Comment.Multiline),
60
67
  ],
61
68
  'statements': [
62
69
  include('types'),
@@ -239,7 +246,7 @@ class MOOCodeLexer(RegexLexer):
239
246
  """
240
247
  name = 'MOOCode'
241
248
  filenames = ['*.moo']
242
- aliases = ['moocode']
249
+ aliases = ['moocode', 'moo']
243
250
  mimetypes = ['text/x-moocode']
244
251
 
245
252
  tokens = {
@@ -283,7 +290,7 @@ class SmalltalkLexer(RegexLexer):
283
290
  """
284
291
  name = 'Smalltalk'
285
292
  filenames = ['*.st']
286
- aliases = ['smalltalk', 'squeak']
293
+ aliases = ['smalltalk', 'squeak', 'st']
287
294
  mimetypes = ['text/x-smalltalk']
288
295
 
289
296
  tokens = {
@@ -357,7 +364,7 @@ class SmalltalkLexer(RegexLexer):
357
364
  include('literals'),
358
365
  ],
359
366
  'afterobject' : [
360
- (r'! !$', Keyword , '#pop'), # squeak chunk delimeter
367
+ (r'! !$', Keyword , '#pop'), # squeak chunk delimiter
361
368
  include('whitespaces'),
362
369
  (r'\b(ifTrue:|ifFalse:|whileTrue:|whileFalse:|timesRepeat:)',
363
370
  Name.Builtin, '#pop'),
@@ -1206,7 +1213,7 @@ class ModelicaLexer(RegexLexer):
1206
1213
  (r'\s+', Text),
1207
1214
  (r'\\\n', Text), # line continuation
1208
1215
  (r'//(\n|(.|\n)*?[^\\]\n)', Comment),
1209
- (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment),
1216
+ (r'/(\\\n)?\*(.|\n)*?\*(\\\n)?/', Comment),
1210
1217
  ],
1211
1218
  'statements': [
1212
1219
  (r'"', String, 'string'),
@@ -1218,7 +1225,8 @@ class ModelicaLexer(RegexLexer):
1218
1225
  (r'(true|false|NULL|Real|Integer|Boolean)\b', Name.Builtin),
1219
1226
  (r"([a-zA-Z_][\w]*|'[a-zA-Z_\+\-\*\/\^][\w]*')"
1220
1227
  r"(\.([a-zA-Z_][\w]*|'[a-zA-Z_\+\-\*\/\^][\w]*'))+", Name.Class),
1221
- (r"('[\w\+\-\*\/\^]+'|\w+)", Name) ],
1228
+ (r"('[\w\+\-\*\/\^]+'|\w+)", Name),
1229
+ ],
1222
1230
  'root': [
1223
1231
  include('whitespace'),
1224
1232
  include('keywords'),
@@ -1226,30 +1234,33 @@ class ModelicaLexer(RegexLexer):
1226
1234
  include('operators'),
1227
1235
  include('classes'),
1228
1236
  (r'("<html>|<html>)', Name.Tag, 'html-content'),
1229
- include('statements')
1237
+ include('statements'),
1230
1238
  ],
1231
1239
  'keywords': [
1232
1240
  (r'(algorithm|annotation|break|connect|constant|constrainedby|'
1233
1241
  r'discrete|each|else|elseif|elsewhen|encapsulated|enumeration|'
1234
1242
  r'end|equation|exit|expandable|extends|'
1235
- r'external|false|final|flow|for|if|import|in|inner|input|'
1236
- r'loop|nondiscrete|outer|output|parameter|partial|'
1237
- r'protected|public|redeclare|replaceable|stream|time|then|true|'
1238
- r'when|while|within)\b', Keyword)
1243
+ r'external|false|final|flow|for|if|import|impure|in|initial\sequation|'
1244
+ r'inner|input|loop|nondiscrete|outer|output|parameter|partial|'
1245
+ r'protected|public|pure|redeclare|replaceable|stream|time|then|true|'
1246
+ r'when|while|within)\b', Keyword),
1239
1247
  ],
1240
1248
  'functions': [
1241
1249
  (r'(abs|acos|acosh|asin|asinh|atan|atan2|atan3|ceil|cos|cosh|'
1242
- r'cross|div|exp|floor|log|log10|mod|rem|semiLinear|sign|sin|'
1243
- r'sinh|size|sqrt|tan|tanh|zeros)\b', Name.Function)
1250
+ r'cross|div|exp|floor|getInstanceName|log|log10|mod|rem|'
1251
+ r'semiLinear|sign|sin|sinh|size|spatialDistribution|sqrt|tan|'
1252
+ r'tanh|zeros)\b', Name.Function),
1244
1253
  ],
1245
1254
  'operators': [
1246
- (r'(and|assert|cardinality|change|delay|der|edge|homotopy|initial|'
1247
- r'noEvent|not|or|pre|reinit|return|sample|smooth|'
1248
- r'terminal|terminate)\b', Name.Builtin)
1255
+ (r'(actualStream|and|assert|cardinality|change|Clock|delay|der|edge|'
1256
+ r'hold|homotopy|initial|inStream|noEvent|not|or|pre|previous|reinit|'
1257
+ r'return|sample|smooth|spatialDistribution|subSample|terminal|'
1258
+ r'terminate)\b', Name.Builtin),
1249
1259
  ],
1250
1260
  'classes': [
1251
1261
  (r'(block|class|connector|function|model|package|'
1252
- r'record|type)\b', Name.Class)
1262
+ r'record|type)(\s+)([A-Za-z_]+)',
1263
+ bygroups(Keyword, Text, Name.Class))
1253
1264
  ],
1254
1265
  'string': [
1255
1266
  (r'"', String, '#pop'),
@@ -1257,7 +1268,7 @@ class ModelicaLexer(RegexLexer):
1257
1268
  String.Escape),
1258
1269
  (r'[^\\"\n]+', String), # all other characters
1259
1270
  (r'\\\n', String), # line continuation
1260
- (r'\\', String) # stray backslash
1271
+ (r'\\', String), # stray backslash
1261
1272
  ],
1262
1273
  'html-content': [
1263
1274
  (r'<\s*/\s*html\s*>', Name.Tag, '#pop'),
@@ -1370,6 +1381,11 @@ class RebolLexer(RegexLexer):
1370
1381
 
1371
1382
  tokens = {
1372
1383
  'root': [
1384
+ (r'REBOL', Generic.Strong, 'script'),
1385
+ (r'R', Comment),
1386
+ (r'[^R]+', Comment),
1387
+ ],
1388
+ 'script': [
1373
1389
  (r'\s+', Text),
1374
1390
  (r'#"', String.Char, 'char'),
1375
1391
  (r'#{[0-9a-fA-F]*}', Number.Hex),
@@ -1382,8 +1398,6 @@ class RebolLexer(RegexLexer):
1382
1398
  (r';.*\n', Comment),
1383
1399
  (r'%"', Name.Decorator, 'stringFile'),
1384
1400
  (r'%[^(\^{^")\s\[\]]+', Name.Decorator),
1385
- (r'<[a-zA-Z0-9:._-]*>', Name.Tag),
1386
- (r'<[^(<>\s")]+', Name.Tag, 'tag'),
1387
1401
  (r'[+-]?([a-zA-Z]{1,3})?\$\d+(\.\d+)?', Number.Float), # money
1388
1402
  (r'[+-]?\d+\:\d+(\:\d+)?(\.\d+)?', String.Other), # time
1389
1403
  (r'\d+\-[0-9a-zA-Z]+\-\d+(\/\d+\:\d+(\:\d+)?'
@@ -1400,6 +1414,8 @@ class RebolLexer(RegexLexer):
1400
1414
  (r'comment\s', Comment, 'comment'),
1401
1415
  (r'/[^(\^{^")\s/[\]]*', Name.Attribute),
1402
1416
  (r'([^(\^{^")\s/[\]]+)(?=[:({"\s/\[\]])', word_callback),
1417
+ (r'<[a-zA-Z0-9:._-]*>', Name.Tag),
1418
+ (r'<[^(<>\s")]+', Name.Tag, 'tag'),
1403
1419
  (r'([^(\^{^")\s]+)', Text),
1404
1420
  ],
1405
1421
  'string': [
@@ -1472,9 +1488,9 @@ class RebolLexer(RegexLexer):
1472
1488
  (r'}', Comment, '#pop'),
1473
1489
  ],
1474
1490
  'commentBlock': [
1475
- (r'\[',Comment, '#push'),
1476
- (r'\]',Comment, '#pop'),
1477
- (r'[^(\[\])]*', Comment),
1491
+ (r'\[', Comment, '#push'),
1492
+ (r'\]', Comment, '#pop'),
1493
+ (r'[^(\[\])]+', Comment),
1478
1494
  ],
1479
1495
  }
1480
1496
 
@@ -1725,6 +1741,7 @@ class NewspeakLexer(RegexLexer):
1725
1741
  ]
1726
1742
  }
1727
1743
 
1744
+
1728
1745
  class GherkinLexer(RegexLexer):
1729
1746
  """
1730
1747
  For `Gherkin <http://github.com/aslakhellesoy/gherkin/>` syntax.
@@ -1821,10 +1838,16 @@ class GherkinLexer(RegexLexer):
1821
1838
  include('table_vars'),
1822
1839
  include('numbers'),
1823
1840
  (r'(\s*)(@[^@\r\n\t ]+)', bygroups(Name.Function, Name.Tag)),
1824
- (step_keywords, bygroups(Name.Function, Keyword), "step_content_root"),
1825
- (feature_keywords, bygroups(Keyword, Keyword, Name.Function), 'narrative'),
1826
- (feature_element_keywords, bygroups(Name.Function, Keyword, Keyword, Name.Function), "feature_elements"),
1827
- (examples_keywords, bygroups(Name.Function, Keyword, Keyword, Name.Function), "examples_table"),
1841
+ (step_keywords, bygroups(Name.Function, Keyword),
1842
+ 'step_content_root'),
1843
+ (feature_keywords, bygroups(Keyword, Keyword, Name.Function),
1844
+ 'narrative'),
1845
+ (feature_element_keywords,
1846
+ bygroups(Name.Function, Keyword, Keyword, Name.Function),
1847
+ 'feature_elements'),
1848
+ (examples_keywords,
1849
+ bygroups(Name.Function, Keyword, Keyword, Name.Function),
1850
+ 'examples_table'),
1828
1851
  (r'(\s|.)', Name.Function),
1829
1852
  ]
1830
1853
  }
@@ -1841,7 +1864,7 @@ class AsymptoteLexer(RegexLexer):
1841
1864
  mimetypes = ['text/x-asymptote']
1842
1865
 
1843
1866
  #: optional Comment or Whitespace
1844
- _ws = r'(?:\s|//.*?\n|/[*].*?[*]/)+'
1867
+ _ws = r'(?:\s|//.*?\n|/\*.*?\*/)+'
1845
1868
 
1846
1869
  tokens = {
1847
1870
  'whitespace': [
@@ -1849,7 +1872,7 @@ class AsymptoteLexer(RegexLexer):
1849
1872
  (r'\s+', Text),
1850
1873
  (r'\\\n', Text), # line continuation
1851
1874
  (r'//(\n|(.|\n)*?[^\\]\n)', Comment),
1852
- (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment),
1875
+ (r'/(\\\n)?\*(.|\n)*?\*(\\\n)?/', Comment),
1853
1876
  ],
1854
1877
  'statements': [
1855
1878
  # simple string (TeX friendly)
@@ -1895,7 +1918,7 @@ class AsymptoteLexer(RegexLexer):
1895
1918
  'root': [
1896
1919
  include('whitespace'),
1897
1920
  # functions
1898
- (r'((?:[a-zA-Z0-9_*\s])+?(?:\s|[*]))' # return arguments
1921
+ (r'((?:[a-zA-Z0-9_*\s])+?(?:\s|\*))' # return arguments
1899
1922
  r'([a-zA-Z_][a-zA-Z0-9_]*)' # method name
1900
1923
  r'(\s*\([^;]*?\))' # signature
1901
1924
  r'(' + _ws + r')({)',
@@ -1903,7 +1926,7 @@ class AsymptoteLexer(RegexLexer):
1903
1926
  Punctuation),
1904
1927
  'function'),
1905
1928
  # function declarations
1906
- (r'((?:[a-zA-Z0-9_*\s])+?(?:\s|[*]))' # return arguments
1929
+ (r'((?:[a-zA-Z0-9_*\s])+?(?:\s|\*))' # return arguments
1907
1930
  r'([a-zA-Z_][a-zA-Z0-9_]*)' # method name
1908
1931
  r'(\s*\([^;]*?\))' # signature
1909
1932
  r'(' + _ws + r')(;)',
@@ -1939,11 +1962,11 @@ class AsymptoteLexer(RegexLexer):
1939
1962
  from pygments.lexers._asybuiltins import ASYFUNCNAME, ASYVARNAME
1940
1963
  for index, token, value in \
1941
1964
  RegexLexer.get_tokens_unprocessed(self, text):
1942
- if token is Name and value in ASYFUNCNAME:
1943
- token = Name.Function
1944
- elif token is Name and value in ASYVARNAME:
1945
- token = Name.Variable
1946
- yield index, token, value
1965
+ if token is Name and value in ASYFUNCNAME:
1966
+ token = Name.Function
1967
+ elif token is Name and value in ASYVARNAME:
1968
+ token = Name.Variable
1969
+ yield index, token, value
1947
1970
 
1948
1971
 
1949
1972
  class PostScriptLexer(RegexLexer):
@@ -1957,7 +1980,7 @@ class PostScriptLexer(RegexLexer):
1957
1980
  *New in Pygments 1.4.*
1958
1981
  """
1959
1982
  name = 'PostScript'
1960
- aliases = ['postscript']
1983
+ aliases = ['postscript', 'postscr']
1961
1984
  filenames = ['*.ps', '*.eps']
1962
1985
  mimetypes = ['application/postscript']
1963
1986
 
@@ -2045,7 +2068,7 @@ class AutohotkeyLexer(RegexLexer):
2045
2068
  *New in Pygments 1.4.*
2046
2069
  """
2047
2070
  name = 'autohotkey'
2048
- aliases = ['ahk']
2071
+ aliases = ['ahk', 'autohotkey']
2049
2072
  filenames = ['*.ahk', '*.ahkl']
2050
2073
  mimetypes = ['text/x-autohotkey']
2051
2074
 
@@ -2330,7 +2353,7 @@ class ProtoBufLexer(RegexLexer):
2330
2353
  """
2331
2354
 
2332
2355
  name = 'Protocol Buffer'
2333
- aliases = ['protobuf']
2356
+ aliases = ['protobuf', 'proto']
2334
2357
  filenames = ['*.proto']
2335
2358
 
2336
2359
  tokens = {
@@ -2338,7 +2361,7 @@ class ProtoBufLexer(RegexLexer):
2338
2361
  (r'[ \t]+', Text),
2339
2362
  (r'[,;{}\[\]\(\)]', Punctuation),
2340
2363
  (r'/(\\\n)?/(\n|(.|\n)*?[^\\]\n)', Comment.Single),
2341
- (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
2364
+ (r'/(\\\n)?\*(.|\n)*?\*(\\\n)?/', Comment.Multiline),
2342
2365
  (r'\b(import|option|optional|required|repeated|default|packed|'
2343
2366
  r'ctype|extensions|to|max|rpc|returns)\b', Keyword),
2344
2367
  (r'(int32|int64|uint32|uint64|sint32|sint64|'
@@ -2758,477 +2781,9 @@ class OpenEdgeLexer(RegexLexer):
2758
2781
  r'INT64|INTEGER|INT|INTE|INTEG|INTEGE|'
2759
2782
  r'LOGICAL|LONGCHAR|MEMPTR|RAW|RECID|ROWID)\s*($|(?=[^0-9a-z_\-]))')
2760
2783
 
2761
- keywords = (r'(?i)(^|(?<=[^0-9a-z_\-]))(ABSOLUTE|ABS|ABSO|ABSOL|ABSOLU|ABSOLUT|ACCELERATOR|'
2762
- r'ACCUM|ACCUMULATE|ACCUM|ACCUMU|ACCUMUL|ACCUMULA|ACCUMULAT|'
2763
- r'ACTIVE-FORM|ACTIVE-WINDOW|ADD|ADD-BUFFER|'
2764
- r'ADD-CALC-COLUMN|ADD-COLUMNS-FROM|ADD-EVENTS-PROCEDURE|'
2765
- r'ADD-FIELDS-FROM|ADD-FIRST|ADD-INDEX-FIELD|ADD-LAST|'
2766
- r'ADD-LIKE-COLUMN|ADD-LIKE-FIELD|ADD-LIKE-INDEX|'
2767
- r'ADD-NEW-FIELD|ADD-NEW-INDEX|ADD-SCHEMA-LOCATION|ADD-SUPER-PROCEDURE|'
2768
- r'ADM-DATA|ADVISE|ALERT-BOX|ALIAS|ALL|ALLOW-COLUMN-SEARCHING|'
2769
- r'ALLOW-REPLICATION|ALTER|ALWAYS-ON-TOP|AMBIGUOUS|AMBIG|AMBIGU|AMBIGUO|AMBIGUOU|'
2770
- r'ANALYZE|ANALYZ|AND|ANSI-ONLY|ANY|ANYWHERE|APPEND|APPL-ALERT-BOXES|'
2771
- r'APPL-ALERT|APPL-ALERT-|APPL-ALERT-B|APPL-ALERT-BO|APPL-ALERT-BOX|APPL-ALERT-BOXE|'
2772
- r'APPL-CONTEXT-ID|APPLICATION|APPLY|APPSERVER-INFO|APPSERVER-PASSWORD|'
2773
- r'APPSERVER-USERID|ARRAY-MESSAGE|AS|ASC|ASCENDING|ASCE|ASCEN|'
2774
- r'ASCEND|ASCENDI|ASCENDIN|ASK-OVERWRITE|ASSEMBLY|ASSIGN|'
2775
- r'ASYNCHRONOUS|ASYNC-REQUEST-COUNT|ASYNC-REQUEST-HANDLE|AT|'
2776
- r'ATTACHED-PAIRLIST|ATTR-SPACE|ATTR|ATTRI|ATTRIB|ATTRIBU|ATTRIBUT|'
2777
- r'AUDIT-CONTROL|AUDIT-ENABLED|AUDIT-EVENT-CONTEXT|AUDIT-POLICY|'
2778
- r'AUTHENTICATION-FAILED|AUTHORIZATION|AUTO-COMPLETION|AUTO-COMP|'
2779
- r'AUTO-COMPL|AUTO-COMPLE|AUTO-COMPLET|AUTO-COMPLETI|AUTO-COMPLETIO|'
2780
- r'AUTO-ENDKEY|AUTO-END-KEY|AUTO-GO|AUTO-INDENT|AUTO-IND|'
2781
- r'AUTO-INDE|AUTO-INDEN|AUTOMATIC|AUTO-RESIZE|AUTO-RETURN|AUTO-RET|'
2782
- r'AUTO-RETU|AUTO-RETUR|AUTO-SYNCHRONIZE|AUTO-ZAP|AUTO-Z|AUTO-ZA|'
2783
- r'AVAILABLE|AVAIL|AVAILA|AVAILAB|AVAILABL|AVAILABLE-FORMATS|'
2784
- r'AVERAGE|AVE|AVER|AVERA|AVERAG|AVG|BACKGROUND|BACK|BACKG|'
2785
- r'BACKGR|BACKGRO|BACKGROU|BACKGROUN|BACKWARDS|BACKWARD|'
2786
- r'BASE64-DECODE|BASE64-ENCODE|BASE-ADE|BASE-KEY|BATCH-MODE|BATCH|'
2787
- r'BATCH-|BATCH-M|BATCH-MO|BATCH-MOD|BATCH-SIZE|BEFORE-HIDE|BEFORE-H|'
2788
- r'BEFORE-HI|BEFORE-HID|BEGIN-EVENT-GROUP|BEGINS|BELL|BETWEEN|'
2789
- r'BGCOLOR|BGC|BGCO|BGCOL|BGCOLO|BIG-ENDIAN|BINARY|BIND|BIND-WHERE|'
2790
- r'BLANK|BLOCK-ITERATION-DISPLAY|BORDER-BOTTOM-CHARS|BORDER-B|'
2791
- r'BORDER-BO|BORDER-BOT|BORDER-BOTT|BORDER-BOTTO|BORDER-BOTTOM-PIXELS|'
2792
- r'BORDER-BOTTOM-P|BORDER-BOTTOM-PI|BORDER-BOTTOM-PIX|'
2793
- r'BORDER-BOTTOM-PIXE|BORDER-BOTTOM-PIXEL|BORDER-LEFT-CHARS|BORDER-L|'
2794
- r'BORDER-LE|BORDER-LEF|BORDER-LEFT|BORDER-LEFT-|BORDER-LEFT-C|'
2795
- r'BORDER-LEFT-CH|BORDER-LEFT-CHA|BORDER-LEFT-CHAR|BORDER-LEFT-PIXELS|'
2796
- r'BORDER-LEFT-P|BORDER-LEFT-PI|BORDER-LEFT-PIX|BORDER-LEFT-PIXE|'
2797
- r'BORDER-LEFT-PIXEL|BORDER-RIGHT-CHARS|BORDER-R|BORDER-RI|BORDER-RIG|'
2798
- r'BORDER-RIGH|BORDER-RIGHT|BORDER-RIGHT-|BORDER-RIGHT-C|BORDER-RIGHT-CH|'
2799
- r'BORDER-RIGHT-CHA|BORDER-RIGHT-CHAR|BORDER-RIGHT-PIXELS|BORDER-RIGHT-P|'
2800
- r'BORDER-RIGHT-PI|BORDER-RIGHT-PIX|BORDER-RIGHT-PIXE|BORDER-RIGHT-PIXEL|'
2801
- r'BORDER-TOP-CHARS|BORDER-T|BORDER-TO|BORDER-TOP|BORDER-TOP-|BORDER-TOP-C|'
2802
- r'BORDER-TOP-CH|BORDER-TOP-CHA|BORDER-TOP-CHAR|BORDER-TOP-PIXELS|'
2803
- r'BORDER-TOP-P|BORDER-TOP-PI|BORDER-TOP-PIX|BORDER-TOP-PIXE|BORDER-TOP-PIXEL|'
2804
- r'BOX|BOX-SELECTABLE|BOX-SELECT|BOX-SELECTA|BOX-SELECTAB|BOX-SELECTABL|'
2805
- r'BREAK|BROWSE|BUFFER|BUFFER-CHARS|BUFFER-COMPARE|BUFFER-COPY|BUFFER-CREATE|'
2806
- r'BUFFER-DELETE|BUFFER-FIELD|BUFFER-HANDLE|BUFFER-LINES|BUFFER-NAME|'
2807
- r'BUFFER-RELEASE|BUFFER-VALUE|BUTTON|BUTTONS|BUTTON|BY|BY-POINTER|'
2808
- r'BY-VARIANT-POINTER|CACHE|CACHE-SIZE|CALL|CALL-NAME|CALL-TYPE|CANCEL-BREAK|'
2809
- r'CANCEL-BUTTON|CAN-CREATE|CAN-DELETE|CAN-DO|CAN-FIND|CAN-QUERY|CAN-READ|'
2810
- r'CAN-SET|CAN-WRITE|CAPS|CAREFUL-PAINT|CASE|CASE-SENSITIVE|CASE-SEN|'
2811
- r'CASE-SENS|CASE-SENSI|CASE-SENSIT|CASE-SENSITI|CASE-SENSITIV|'
2812
- r'CAST|CATCH|CDECL|CENTERED|CENTER|CENTERE|CHAINED|CHARACTER_LENGTH|'
2813
- r'CHARSET|CHECK|CHECKED|CHOOSE|CHR|CLASS|CLASS-TYPE|CLEAR|'
2814
- r'CLEAR-APPL-CONTEXT|CLEAR-LOG|CLEAR-SELECTION|CLEAR-SELECT|'
2815
- r'CLEAR-SELECTI|CLEAR-SELECTIO|CLEAR-SORT-ARROWS|CLEAR-SORT-ARROW|'
2816
- r'CLIENT-CONNECTION-ID|CLIENT-PRINCIPAL|CLIENT-TTY|CLIENT-TYPE|'
2817
- r'CLIENT-WORKSTATION|CLIPBOARD|CLOSE|CLOSE-LOG|CODE|CODEBASE-LOCATOR|'
2818
- r'CODEPAGE|CODEPAGE-CONVERT|COLLATE|COL-OF|COLON|COLON-ALIGNED|'
2819
- r'COLON-ALIGN|COLON-ALIGNE|COLOR|COLOR-TABLE|COLUMN|COL|COLU|COLUM|'
2820
- r'COLUMN-BGCOLOR|COLUMN-DCOLOR|COLUMN-FGCOLOR|COLUMN-FONT|COLUMN-LABEL|'
2821
- r'COLUMN-LAB|COLUMN-LABE|COLUMN-MOVABLE|COLUMN-OF|COLUMN-PFCOLOR|'
2822
- r'COLUMN-READ-ONLY|COLUMN-RESIZABLE|COLUMNS|COLUMN-SCROLLING|'
2823
- r'COMBO-BOX|COMMAND|COMPARES|COMPILE|COMPILER|COMPLETE|COM-SELF|'
2824
- r'CONFIG-NAME|CONNECT|CONNECTED|CONSTRUCTOR|CONTAINS|CONTENTS|CONTEXT|'
2825
- r'CONTEXT-HELP|CONTEXT-HELP-FILE|CONTEXT-HELP-ID|CONTEXT-POPUP|'
2826
- r'CONTROL|CONTROL-BOX|CONTROL-FRAME|CONVERT|CONVERT-3D-COLORS|'
2827
- r'CONVERT-TO-OFFSET|CONVERT-TO-OFFS|CONVERT-TO-OFFSE|COPY-DATASET|'
2828
- r'COPY-LOB|COPY-SAX-ATTRIBUTES|COPY-TEMP-TABLE|COUNT|COUNT-OF|'
2829
- r'CPCASE|CPCOLL|CPINTERNAL|CPLOG|CPPRINT|CPRCODEIN|CPRCODEOUT|'
2830
- r'CPSTREAM|CPTERM|CRC-VALUE|CREATE|CREATE-LIKE|CREATE-LIKE-SEQUENTIAL|'
2831
- r'CREATE-NODE-NAMESPACE|CREATE-RESULT-LIST-ENTRY|CREATE-TEST-FILE|'
2832
- r'CURRENT|CURRENT_DATE|CURRENT_DATE|CURRENT-CHANGED|CURRENT-COLUMN|'
2833
- r'CURRENT-ENVIRONMENT|CURRENT-ENV|CURRENT-ENVI|CURRENT-ENVIR|'
2834
- r'CURRENT-ENVIRO|CURRENT-ENVIRON|CURRENT-ENVIRONM|CURRENT-ENVIRONME|'
2835
- r'CURRENT-ENVIRONMEN|CURRENT-ITERATION|CURRENT-LANGUAGE|CURRENT-LANG|'
2836
- r'CURRENT-LANGU|CURRENT-LANGUA|CURRENT-LANGUAG|CURRENT-QUERY|'
2837
- r'CURRENT-RESULT-ROW|CURRENT-ROW-MODIFIED|CURRENT-VALUE|CURRENT-WINDOW|'
2838
- r'CURSOR|CURS|CURSO|CURSOR-CHAR|CURSOR-LINE|CURSOR-OFFSET|DATABASE|'
2839
- r'DATA-BIND|DATA-ENTRY-RETURN|DATA-ENTRY-RET|DATA-ENTRY-RETU|'
2840
- r'DATA-ENTRY-RETUR|DATA-RELATION|DATA-REL|DATA-RELA|DATA-RELAT|'
2841
- r'DATA-RELATI|DATA-RELATIO|DATASERVERS|DATASET|DATASET-HANDLE|DATA-SOURCE|'
2842
- r'DATA-SOURCE-COMPLETE-MAP|DATA-SOURCE-MODIFIED|DATA-SOURCE-ROWID|'
2843
- r'DATA-TYPE|DATA-T|DATA-TY|DATA-TYP|DATE-FORMAT|DATE-F|DATE-FO|'
2844
- r'DATE-FOR|DATE-FORM|DATE-FORMA|DAY|DBCODEPAGE|DBCOLLATION|DBNAME|'
2845
- r'DBPARAM|DB-REFERENCES|DBRESTRICTIONS|DBREST|DBRESTR|DBRESTRI|'
2846
- r'DBRESTRIC|DBRESTRICT|DBRESTRICTI|DBRESTRICTIO|DBRESTRICTION|'
2847
- r'DBTASKID|DBTYPE|DBVERSION|DBVERS|DBVERSI|DBVERSIO|DCOLOR|'
2848
- r'DDE|DDE-ERROR|DDE-ID|DDE-I|DDE-ITEM|DDE-NAME|DDE-TOPIC|DEBLANK|'
2849
- r'DEBUG|DEBU|DEBUG-ALERT|DEBUGGER|DEBUG-LIST|DECIMALS|DECLARE|'
2850
- r'DECLARE-NAMESPACE|DECRYPT|DEFAULT|DEFAULT-BUFFER-HANDLE|'
2851
- r'DEFAULT-BUTTON|DEFAUT-B|DEFAUT-BU|DEFAUT-BUT|DEFAUT-BUTT|DEFAUT-BUTTO|'
2852
- r'DEFAULT-COMMIT|DEFAULT-EXTENSION|DEFAULT-EX|DEFAULT-EXT|DEFAULT-EXTE|'
2853
- r'DEFAULT-EXTEN|DEFAULT-EXTENS|DEFAULT-EXTENSI|DEFAULT-EXTENSIO|'
2854
- r'DEFAULT-NOXLATE|DEFAULT-NOXL|DEFAULT-NOXLA|DEFAULT-NOXLAT|'
2855
- r'DEFAULT-VALUE|DEFAULT-WINDOW|DEFINED|'
2856
- r'DEFINE-USER-EVENT-MANAGER|DELETE|DEL|DELE|DELET|DELETE-CHARACTER|'
2857
- r'DELETE-CHAR|DELETE-CHARA|DELETE-CHARAC|DELETE-CHARACT|DELETE-CHARACTE|'
2858
- r'DELETE-CURRENT-ROW|DELETE-LINE|DELETE-RESULT-LIST-ENTRY|DELETE-SELECTED-ROW|'
2859
- r'DELETE-SELECTED-ROWS|DELIMITER|DESC|DESCENDING|DESC|DESCE|DESCEN|'
2860
- r'DESCEND|DESCENDI|DESCENDIN|DESELECT-FOCUSED-ROW|DESELECTION|'
2861
- r'DESELECT-ROWS|DESELECT-SELECTED-ROW|DESTRUCTOR|DIALOG-BOX|'
2862
- r'DICTIONARY|DICT|DICTI|DICTIO|DICTION|DICTIONA|DICTIONAR|'
2863
- r'DIR|DISABLE|DISABLE-AUTO-ZAP|DISABLED|DISABLE-DUMP-TRIGGERS|'
2864
- r'DISABLE-LOAD-TRIGGERS|DISCONNECT|DISCON|DISCONN|DISCONNE|DISCONNEC|'
2865
- r'DISP|DISPLAY|DISP|DISPL|DISPLA|DISPLAY-MESSAGE|DISPLAY-TYPE|'
2866
- r'DISPLAY-T|DISPLAY-TY|DISPLAY-TYP|DISTINCT|DO|DOMAIN-DESCRIPTION|'
2867
- r'DOMAIN-NAME|DOMAIN-TYPE|DOS|DOUBLE|DOWN|DRAG-ENABLED|DROP|DROP-DOWN|'
2868
- r'DROP-DOWN-LIST|DROP-FILE-NOTIFY|DROP-TARGET|DUMP|DYNAMIC|'
2869
- r'DYNAMIC-FUNCTION|EACH|ECHO|EDGE-CHARS|EDGE|EDGE-|EDGE-C|'
2870
- r'EDGE-CH|EDGE-CHA|EDGE-CHAR|EDGE-PIXELS|EDGE-P|EDGE-PI|EDGE-PIX|'
2871
- r'EDGE-PIXE|EDGE-PIXEL|EDIT-CAN-PASTE|EDIT-CAN-UNDO|EDIT-CLEAR|'
2872
- r'EDIT-COPY|EDIT-CUT|EDITING|EDITOR|EDIT-PASTE|EDIT-UNDO|ELSE|'
2873
- r'EMPTY|EMPTY-TEMP-TABLE|ENABLE|ENABLED-FIELDS|ENCODE|ENCRYPT|'
2874
- r'ENCRYPT-AUDIT-MAC-KEY|ENCRYPTION-SALT|END|END-DOCUMENT|'
2875
- r'END-ELEMENT|END-EVENT-GROUP|END-FILE-DROP|ENDKEY|END-KEY|'
2876
- r'END-MOVE|END-RESIZE|END-ROW-RESIZE|END-USER-PROMPT|ENTERED|'
2877
- r'ENTRY|EQ|ERROR|ERROR-COLUMN|ERROR-COL|ERROR-COLU|ERROR-COLUM|'
2878
- r'ERROR-ROW|ERROR-STACK-TRACE|ERROR-STATUS|ERROR-STAT|ERROR-STATU|'
2879
- r'ESCAPE|ETIME|EVENT-GROUP-ID|EVENT-PROCEDURE|EVENT-PROCEDURE-CONTEXT|'
2880
- r'EVENTS|EVENT|EVENT-TYPE|EVENT-T|EVENT-TY|EVENT-TYP|EXCEPT|'
2881
- r'EXCLUSIVE-ID|EXCLUSIVE-LOCK|EXCLUSIVE|EXCLUSIVE-|EXCLUSIVE-L|'
2882
- r'EXCLUSIVE-LO|EXCLUSIVE-LOC|EXCLUSIVE-WEB-USER|EXECUTE|EXISTS|'
2883
- r'EXP|EXPAND|EXPANDABLE|EXPLICIT|EXPORT|EXPORT-PRINCIPAL|EXTENDED|'
2884
- r'EXTENT|EXTERNAL|FALSE|FETCH|FETCH-SELECTED-ROW|FGCOLOR|FGC|FGCO|'
2885
- r'FGCOL|FGCOLO|FIELD|FIELDS|FIELD|FILE|FILE-CREATE-DATE|'
2886
- r'FILE-CREATE-TIME|FILE-INFORMATION|FILE-INFO|FILE-INFOR|FILE-INFORM|'
2887
- r'FILE-INFORMA|FILE-INFORMAT|FILE-INFORMATI|FILE-INFORMATIO|FILE-MOD-DATE|'
2888
- r'FILE-MOD-TIME|FILENAME|FILE-NAME|FILE-OFFSET|FILE-OFF|FILE-OFFS|FILE-OFFSE|'
2889
- r'FILE-SIZE|FILE-TYPE|FILL|FILLED|FILL-IN|FILTERS|FINAL|FINALLY|FIND|'
2890
- r'FIND-BY-ROWID|FIND-CASE-SENSITIVE|FIND-CURRENT|FINDER|FIND-FIRST|'
2891
- r'FIND-GLOBAL|FIND-LAST|FIND-NEXT-OCCURRENCE|FIND-PREV-OCCURRENCE|'
2892
- r'FIND-SELECT|FIND-UNIQUE|FIND-WRAP-AROUND|FIRST|FIRST-ASYNCH-REQUEST|'
2893
- r'FIRST-CHILD|FIRST-COLUMN|FIRST-FORM|FIRST-OBJECT|FIRST-OF|'
2894
- r'FIRST-PROCEDURE|FIRST-PROC|FIRST-PROCE|FIRST-PROCED|FIRST-PROCEDU|FIRST-PROCEDUR|'
2895
- r'FIRST-SERVER|FIRST-TAB-ITEM|FIRST-TAB-I|FIRST-TAB-IT|FIRST-TAB-ITE|'
2896
- r'FIT-LAST-COLUMN|FIXED-ONLY|FLAT-BUTTON|FLOAT|FOCUS|FOCUSED-ROW|'
2897
- r'FOCUSED-ROW-SELECTED|FONT|FONT-TABLE|FOR|FORCE-FILE|'
2898
- r'FOREGROUND|FORE|FOREG|FOREGR|FOREGRO|FOREGROU|FOREGROUN|'
2899
- r'FORM|FORMAT|FORM|FORMA|FORMATTED|FORMATTE|FORM-LONG-INPUT|'
2900
- r'FORWARD|FORWARDS|FORWARD|FRAGMENT|FRAGMEN|FRAME|FRAM|'
2901
- r'FRAME-COL|FRAME-DB|FRAME-DOWN|FRAME-FIELD|FRAME-FILE|'
2902
- r'FRAME-INDEX|FRAME-INDE|FRAME-LINE|FRAME-NAME|FRAME-ROW|'
2903
- r'FRAME-SPACING|FRAME-SPA|FRAME-SPAC|FRAME-SPACI|FRAME-SPACIN|'
2904
- r'FRAME-VALUE|FRAME-VAL|FRAME-VALU|FRAME-X|FRAME-Y|FREQUENCY|FROM|'
2905
- r'FROM-CHARS|FROM-C|FROM-CH|FROM-CHA|FROM-CHAR|'
2906
- r'FROM-CURRENT|FROM-CUR|FROM-CURR|FROM-CURRE|FROM-CURREN|'
2907
- r'FROM-PIXELS|FROM-P|FROM-PI|FROM-PIX|FROM-PIXE|FROM-PIXEL|'
2908
- r'FULL-HEIGHT-CHARS|FULL-HEIGHT|FULL-HEIGHT-|FULL-HEIGHT-C|FULL-HEIGHT-CH|FULL-HEIGHT-CHA|FULL-HEIGHT-CHAR|'
2909
- r'FULL-HEIGHT-PIXELS|FULL-HEIGHT-P|FULL-HEIGHT-PI|FULL-HEIGHT-PIX|FULL-HEIGHT-PIXE|FULL-HEIGHT-PIXEL|'
2910
- r'FULL-PATHNAME|FULL-PATHN|FULL-PATHNA|FULL-PATHNAM|'
2911
- r'FULL-WIDTH-CHARS|FULL-WIDTH|FULL-WIDTH-|FULL-WIDTH-C|FULL-WIDTH-CH|FULL-WIDTH-CHA|FULL-WIDTH-CHAR|'
2912
- r'FULL-WIDTH-PIXELS|FULL-WIDTH-P|FULL-WIDTH-PI|FULL-WIDTH-PIX|FULL-WIDTH-PIXE|FULL-WIDTH-PIXEL|'
2913
- r'FUNCTION|FUNCTION-CALL-TYPE|GATEWAYS|GATEWAY|GE|GENERATE-MD5|'
2914
- r'GENERATE-PBE-KEY|GENERATE-PBE-SALT|GENERATE-RANDOM-KEY|GENERATE-UUID|GET|'
2915
- r'GET-ATTR-CALL-TYPE|GET-ATTRIBUTE-NODE|GET-BINARY-DATA|'
2916
- r'GET-BLUE-VALUE|GET-BLUE|GET-BLUE-|GET-BLUE-V|GET-BLUE-VA|GET-BLUE-VAL|GET-BLUE-VALU|'
2917
- r'GET-BROWSE-COLUMN|GET-BUFFER-HANDLEGETBYTE|GET-BYTE|GET-CALLBACK-PROC-CONTEXT|'
2918
- r'GET-CALLBACK-PROC-NAME|GET-CGI-LIST|GET-CGI-LONG-VALUE|GET-CGI-VALUE|'
2919
- r'GET-CODEPAGES|GET-COLLATIONS|GET-CONFIG-VALUE|GET-CURRENT|GET-DOUBLE|'
2920
- r'GET-DROPPED-FILE|GET-DYNAMIC|GET-ERROR-COLUMN|GET-ERROR-ROW|GET-FILE|'
2921
- r'GET-FILE-NAME|GET-FILE-OFFSET|GET-FILE-OFFSE|GET-FIRST|GET-FLOAT|'
2922
- r'GET-GREEN-VALUE|GET-GREEN|GET-GREEN-|GET-GREEN-V|GET-GREEN-VA|GET-GREEN-VAL|GET-GREEN-VALU|'
2923
- r'GET-INDEX-BY-NAMESPACE-NAME|GET-INDEX-BY-QNAME|GET-INT64|GET-ITERATION|'
2924
- r'GET-KEY-VALUE|GET-KEY-VAL|GET-KEY-VALU|GET-LAST|GET-LOCALNAME-BY-INDEX|'
2925
- r'GET-LONG|GET-MESSAGE|GET-NEXT|GET-NUMBER|GET-POINTER-VALUE|'
2926
- r'GET-PREV|GET-PRINTERS|GET-PROPERTY|GET-QNAME-BY-INDEX|'
2927
- r'GET-RED-VALUE|GET-RED|GET-RED-|GET-RED-V|GET-RED-VA|GET-RED-VAL|GET-RED-VALU|'
2928
- r'GET-REPOSITIONED-ROW|GET-RGB-VALUE|'
2929
- r'GET-SELECTED-WIDGET|GET-SELECTED|GET-SELECTED-|GET-SELECTED-W|GET-SELECTED-WI|GET-SELECTED-WID|GET-SELECTED-WIDG|GET-SELECTED-WIDGE|'
2930
- r'GET-SHORT|GET-SIGNATURE|GET-SIZE|GET-STRING|GET-TAB-ITEM|'
2931
- r'GET-TEXT-HEIGHT-CHARS|GET-TEXT-HEIGHT|GET-TEXT-HEIGHT-|GET-TEXT-HEIGHT-C|GET-TEXT-HEIGHT-CH|GET-TEXT-HEIGHT-CHA|GET-TEXT-HEIGHT-CHAR|'
2932
- r'GET-TEXT-HEIGHT-PIXELS|GET-TEXT-HEIGHT-P|GET-TEXT-HEIGHT-PI|GET-TEXT-HEIGHT-PIX|GET-TEXT-HEIGHT-PIXE|GET-TEXT-HEIGHT-PIXEL|'
2933
- r'GET-TEXT-WIDTH-CHARS|GET-TEXT-WIDTH|GET-TEXT-WIDTH-|GET-TEXT-WIDTH-C|GET-TEXT-WIDTH-CH|GET-TEXT-WIDTH-CHA|GET-TEXT-WIDTH-CHAR|'
2934
- r'GET-TEXT-WIDTH-PIXELS|GET-TEXT-WIDTH-P|GET-TEXT-WIDTH-PI|GET-TEXT-WIDTH-PIX|GET-TEXT-WIDTH-PIXE|GET-TEXT-WIDTH-PIXEL|'
2935
- r'GET-TYPE-BY-INDEX|GET-TYPE-BY-NAMESPACE-NAME|GET-TYPE-BY-QNAME|GET-UNSIGNED-LONG|'
2936
- r'GET-UNSIGNED-SHORT|GET-URI-BY-INDEX|GET-VALUE-BY-INDEX|GET-VALUE-BY-NAMESPACE-NAME|'
2937
- r'GET-VALUE-BY-QNAME|GET-WAIT-STATE|GLOBAL|GO-ON|'
2938
- r'GO-PENDING|GO-PEND|GO-PENDI|GO-PENDIN|GRANT|'
2939
- r'GRAPHIC-EDGE|GRAPHIC-E|GRAPHIC-ED|GRAPHIC-EDG|'
2940
- r'GRID-FACTOR-HORIZONTAL|GRID-FACTOR-H|GRID-FACTOR-HO|GRID-FACTOR-HOR|GRID-FACTOR-HORI|GRID-FACTOR-HORIZ|GRID-FACTOR-HORIZO|GRID-FACTOR-HORIZON|GRID-FACTOR-HORIZONT|GRID-FACTOR-HORIZONTA|'
2941
- r'GRID-FACTOR-VERTICAL|GRID-FACTOR-V|GRID-FACTOR-VE|GRID-FACTOR-VER|GRID-FACTOR-VERT|GRID-FACTOR-VERT|GRID-FACTOR-VERTI|GRID-FACTOR-VERTIC|GRID-FACTOR-VERTICA|'
2942
- r'GRID-SNAP|'
2943
- r'GRID-UNIT-HEIGHT-CHARS|GRID-UNIT-HEIGHT|GRID-UNIT-HEIGHT-|GRID-UNIT-HEIGHT-C|GRID-UNIT-HEIGHT-CH|GRID-UNIT-HEIGHT-CHA|'
2944
- r'GRID-UNIT-HEIGHT-PIXELS|GRID-UNIT-HEIGHT-P|GRID-UNIT-HEIGHT-PI|GRID-UNIT-HEIGHT-PIX|GRID-UNIT-HEIGHT-PIXE|GRID-UNIT-HEIGHT-PIXEL|'
2945
- r'GRID-UNIT-WIDTH-CHARS|GRID-UNIT-WIDTH|GRID-UNIT-WIDTH-|GRID-UNIT-WIDTH-C|GRID-UNIT-WIDTH-CH|GRID-UNIT-WIDTH-CHA|GRID-UNIT-WIDTH-CHAR|'
2946
- r'GRID-UNIT-WIDTH-PIXELS|GRID-UNIT-WIDTH-P|GRID-UNIT-WIDTH-PI|GRID-UNIT-WIDTH-PIX|GRID-UNIT-WIDTH-PIXE|GRID-UNIT-WIDTH-PIXEL|'
2947
- r'GRID-VISIBLE|GROUP|GT|GUID|HANDLER|HAS-RECORDS|HAVING|HEADER|'
2948
- r'HEIGHT-CHARS|HEIGHT|HEIGHT-|HEIGHT-C|HEIGHT-CH|HEIGHT-CHA|HEIGHT-CHAR|'
2949
- r'HEIGHT-PIXELS|HEIGHT-P|HEIGHT-PI|HEIGHT-PIX|HEIGHT-PIXE|HEIGHT-PIXEL|'
2950
- r'HELP|HEX-DECODE|HEX-ENCODE|HIDDEN|HIDE|'
2951
- r'HORIZONTAL|HORI|HORIZ|HORIZO|HORIZON|HORIZONT|HORIZONTA|'
2952
- r'HOST-BYTE-ORDER|HTML-CHARSET|HTML-END-OF-LINE|HTML-END-OF-PAGE|'
2953
- r'HTML-FRAME-BEGIN|HTML-FRAME-END|HTML-HEADER-BEGIN|HTML-HEADER-END|'
2954
- r'HTML-TITLE-BEGIN|HTML-TITLE-END|HWND|ICON|IF|'
2955
- r'IMAGE|IMAGE-DOWN|IMAGE-INSENSITIVE|IMAGE-SIZE|'
2956
- r'IMAGE-SIZE-CHARS|IMAGE-SIZE-C|IMAGE-SIZE-CH|IMAGE-SIZE-CHA|IMAGE-SIZE-CHAR|'
2957
- r'IMAGE-SIZE-PIXELS|IMAGE-SIZE-P|IMAGE-SIZE-PI|IMAGE-SIZE-PIX|IMAGE-SIZE-PIXE|IMAGE-SIZE-PIXEL|'
2958
- r'IMAGE-UP|IMMEDIATE-DISPLAY|IMPLEMENTS|IMPORT|IMPORT-PRINCIPAL|'
2959
- r'IN|INCREMENT-EXCLUSIVE-ID|INDEX|INDEXED-REPOSITION|INDEX-HINT|'
2960
- r'INDEX-INFORMATION|INDICATOR|'
2961
- r'INFORMATION|INFO|INFOR|INFORM|INFORMA|INFORMAT|INFORMATI|INFORMATIO|'
2962
- r'IN-HANDLE|'
2963
- r'INHERIT-BGCOLOR|INHERIT-BGC|INHERIT-BGCO|INHERIT-BGCOL|INHERIT-BGCOLO|'
2964
- r'INHERIT-FGCOLOR|INHERIT-FGC|INHERIT-FGCO|INHERIT-FGCOL|INHERIT-FGCOLO|'
2965
- r'INHERITS|INITIAL|INIT|INITI|INITIA|INITIAL-DIR|INITIAL-FILTER|'
2966
- r'INITIALIZE-DOCUMENT-TYPE|INITIATE|INNER-CHARS|INNER-LINES|INPUT|'
2967
- r'INPUT-OUTPUT|INPUT-O|INPUT-OU|INPUT-OUT|INPUT-OUTP|INPUT-OUTPU|'
2968
- r'INPUT-VALUE|INSERT|INSERT-ATTRIBUTE|'
2969
- r'INSERT-BACKTAB|INSERT-B|INSERT-BA|INSERT-BAC|INSERT-BACK|INSERT-BACKT|INSERT-BACKTA|'
2970
- r'INSERT-FILE|INSERT-ROW|INSERT-STRING|INSERT-TAB|INSERT-T|INSERT-TA|'
2971
- r'INTERFACE|INTERNAL-ENTRIES|INTO|INVOKE|IS|'
2972
- r'IS-ATTR-SPACE|IS-ATTR|IS-ATTR-|IS-ATTR-S|IS-ATTR-SP|IS-ATTR-SPA|IS-ATTR-SPAC|'
2973
- r'IS-CLASS|IS-CLAS|IS-LEAD-BYTE|IS-ATTR|IS-OPEN|IS-PARAMETER-SET|IS-ROW-SELECTED|'
2974
- r'IS-SELECTED|ITEM|ITEMS-PER-ROW|JOIN|JOIN-BY-SQLDB|KBLABEL|KEEP-CONNECTION-OPEN|'
2975
- r'KEEP-FRAME-Z-ORDER|KEEP-FRAME-Z|KEEP-FRAME-Z-|KEEP-FRAME-Z-O|KEEP-FRAME-Z-OR|KEEP-FRAME-Z-ORD|KEEP-FRAME-Z-ORDE|'
2976
- r'KEEP-MESSAGES|KEEP-SECURITY-CACHE|KEEP-TAB-ORDER|KEY|KEYCODE|KEY-CODE|'
2977
- r'KEYFUNCTION|KEYFUNC|KEYFUNCT|KEYFUNCTI|KEYFUNCTIO|'
2978
- r'KEY-FUNCTION|KEY-FUNC|KEY-FUNCT|KEY-FUNCTI|KEY-FUNCTIO|'
2979
- r'KEYLABEL|KEY-LABEL|KEYS|KEYWORD|KEYWORD-ALL|LABEL|'
2980
- r'LABEL-BGCOLOR|LABEL-BGC|LABEL-BGCO|LABEL-BGCOL|LABEL-BGCOLO|'
2981
- r'LABEL-DCOLOR|LABEL-DC|LABEL-DCO|LABEL-DCOL|LABEL-DCOLO|'
2982
- r'LABEL-FGCOLOR|LABEL-FGC|LABEL-FGCO|LABEL-FGCOL|LABEL-FGCOLO|'
2983
- r'LABEL-FONT|'
2984
- r'LABEL-PFCOLOR|LABEL-PFC|LABEL-PFCO|LABEL-PFCOL|LABEL-PFCOLO|'
2985
- r'LABELS|LANDSCAPE|LANGUAGES|LANGUAGE|LARGE|LARGE-TO-SMALL|LAST|'
2986
- r'LAST-ASYNCH-REQUEST|LAST-BATCH|LAST-CHILD|LAST-EVENT|LAST-EVEN|LAST-FORM|'
2987
- r'LASTKEY|LAST-KEY|LAST-OBJECT|LAST-OF|'
2988
- r'LAST-PROCEDURE|LAST-PROCE|LAST-PROCED|LAST-PROCEDU|LAST-PROCEDUR|'
2989
- r'LAST-SERVER|LAST-TAB-ITEM|LAST-TAB-I|LAST-TAB-IT|LAST-TAB-ITE|'
2990
- r'LC|LDBNAME|LE|LEAVE|LEFT-ALIGNED|LEFT-ALIGN|LEFT-ALIGNE|LEFT-TRIM|'
2991
- r'LENGTH|LIBRARY|LIKE|LIKE-SEQUENTIAL|LINE|LINE-COUNTER|LINE-COUNT|LINE-COUNTE|'
2992
- r'LIST-EVENTS|LISTING|LISTI|LISTIN|LIST-ITEM-PAIRS|LIST-ITEMS|'
2993
- r'LIST-PROPERTY-NAMES|LIST-QUERY-ATTRS|LIST-SET-ATTRS|LIST-WIDGETS|'
2994
- r'LITERAL-QUESTION|LITTLE-ENDIAN|LOAD|LOAD-DOMAINS|LOAD-ICON|'
2995
- r'LOAD-IMAGE|LOAD-IMAGE-DOWN|LOAD-IMAGE-INSENSITIVE|LOAD-IMAGE-UP|'
2996
- r'LOAD-MOUSE-POINTER|LOAD-MOUSE-P|LOAD-MOUSE-PO|LOAD-MOUSE-POI|LOAD-MOUSE-POIN|LOAD-MOUSE-POINT|LOAD-MOUSE-POINTE|'
2997
- r'LOAD-PICTURE|LOAD-SMALL-ICON|LOCAL-NAME|LOCATOR-COLUMN-NUMBER|'
2998
- r'LOCATOR-LINE-NUMBER|LOCATOR-PUBLIC-ID|LOCATOR-SYSTEM-ID|LOCATOR-TYPE|'
2999
- r'LOCKED|LOCK-REGISTRATION|LOG|LOG-AUDIT-EVENT|LOGIN-EXPIRATION-TIMESTAMP|'
3000
- r'LOGIN-HOST|LOGIN-STATE|LOG-MANAGER|LOGOUT|LOOKAHEAD|LOOKUP|LT|'
3001
- r'MACHINE-CLASS|MANDATORY|MANUAL-HIGHLIGHT|MAP|MARGIN-EXTRA|'
3002
- r'MARGIN-HEIGHT-CHARS|MARGIN-HEIGHT|MARGIN-HEIGHT-|MARGIN-HEIGHT-C|MARGIN-HEIGHT-CH|MARGIN-HEIGHT-CHA|MARGIN-HEIGHT-CHAR|'
3003
- r'MARGIN-HEIGHT-PIXELS|MARGIN-HEIGHT-P|MARGIN-HEIGHT-PI|MARGIN-HEIGHT-PIX|MARGIN-HEIGHT-PIXE|MARGIN-HEIGHT-PIXEL|'
3004
- r'MARGIN-WIDTH-CHARS|MARGIN-WIDTH|MARGIN-WIDTH-|MARGIN-WIDTH-C|MARGIN-WIDTH-CH|MARGIN-WIDTH-CHA|MARGIN-WIDTH-CHAR|'
3005
- r'MARGIN-WIDTH-PIXELS|MARGIN-WIDTH-P|MARGIN-WIDTH-PI|MARGIN-WIDTH-PIX|MARGIN-WIDTH-PIXE|MARGIN-WIDTH-PIXEL|'
3006
- r'MARK-NEW|MARK-ROW-STATE|MATCHES|MAX|MAX-BUTTON|'
3007
- r'MAX-CHARS|MAX-DATA-GUESS|MAX-HEIGHT|'
3008
- r'MAX-HEIGHT-CHARS|MAX-HEIGHT-C|MAX-HEIGHT-CH|MAX-HEIGHT-CHA|MAX-HEIGHT-CHAR|'
3009
- r'MAX-HEIGHT-PIXELS|MAX-HEIGHT-P|MAX-HEIGHT-PI|MAX-HEIGHT-PIX|MAX-HEIGHT-PIXE|MAX-HEIGHT-PIXEL|'
3010
- r'MAXIMIZE|MAXIMUM|MAX|MAXI|MAXIM|MAXIMU|MAXIMUM-LEVEL|MAX-ROWS|'
3011
- r'MAX-SIZE|MAX-VALUE|MAX-VAL|MAX-VALU|MAX-WIDTH|'
3012
- r'MAX-WIDTH-CHARS|MAX-WIDTH|MAX-WIDTH-|MAX-WIDTH-C|MAX-WIDTH-CH|MAX-WIDTH-CHA|MAX-WIDTH-CHAR|'
3013
- r'MAX-WIDTH-PIXELS|MAX-WIDTH-P|MAX-WIDTH-PI|MAX-WIDTH-PIX|MAX-WIDTH-PIXE|MAX-WIDTH-PIXEL|'
3014
- r'MD5-DIGEST|MEMBER|MEMPTR-TO-NODE-VALUE|MENU|MENUBAR|MENU-BAR|MENU-ITEM|'
3015
- r'MENU-KEY|MENU-K|MENU-KE|MENU-MOUSE|MENU-M|MENU-MO|MENU-MOU|MENU-MOUS|'
3016
- r'MERGE-BY-FIELD|MESSAGE|MESSAGE-AREA|MESSAGE-AREA-FONT|MESSAGE-LINES|'
3017
- r'METHOD|MIN|MIN-BUTTON|'
3018
- r'MIN-COLUMN-WIDTH-CHARS|MIN-COLUMN-WIDTH-C|MIN-COLUMN-WIDTH-CH|MIN-COLUMN-WIDTH-CHA|MIN-COLUMN-WIDTH-CHAR|'
3019
- r'MIN-COLUMN-WIDTH-PIXELS|MIN-COLUMN-WIDTH-P|MIN-COLUMN-WIDTH-PI|MIN-COLUMN-WIDTH-PIX|MIN-COLUMN-WIDTH-PIXE|MIN-COLUMN-WIDTH-PIXEL|'
3020
- r'MIN-HEIGHT-CHARS|MIN-HEIGHT|MIN-HEIGHT-|MIN-HEIGHT-C|MIN-HEIGHT-CH|MIN-HEIGHT-CHA|MIN-HEIGHT-CHAR|'
3021
- r'MIN-HEIGHT-PIXELS|MIN-HEIGHT-P|MIN-HEIGHT-PI|MIN-HEIGHT-PIX|MIN-HEIGHT-PIXE|MIN-HEIGHT-PIXEL|'
3022
- r'MINIMUM|MIN|MINI|MINIM|MINIMU|MIN-SIZE|'
3023
- r'MIN-VALUE|MIN-VAL|MIN-VALU|'
3024
- r'MIN-WIDTH-CHARS|MIN-WIDTH|MIN-WIDTH-|MIN-WIDTH-C|MIN-WIDTH-CH|MIN-WIDTH-CHA|MIN-WIDTH-CHAR|'
3025
- r'MIN-WIDTH-PIXELS|MIN-WIDTH-P|MIN-WIDTH-PI|MIN-WIDTH-PIX|MIN-WIDTH-PIXE|MIN-WIDTH-PIXEL|'
3026
- r'MODIFIED|MODULO|MOD|MODU|MODUL|MONTH|MOUSE|'
3027
- r'MOUSE-POINTER|MOUSE-P|MOUSE-PO|MOUSE-POI|MOUSE-POIN|MOUSE-POINT|MOUSE-POINTE|'
3028
- r'MOVABLE|'
3029
- r'MOVE-AFTER-TAB-ITEM|MOVE-AFTER|MOVE-AFTER-|MOVE-AFTER-T|MOVE-AFTER-TA|MOVE-AFTER-TAB|MOVE-AFTER-TAB-|MOVE-AFTER-TAB-I|MOVE-AFTER-TAB-IT|MOVE-AFTER-TAB-ITE|'
3030
- r'MOVE-BEFORE-TAB-ITEM|MOVE-BEFOR|MOVE-BEFORE|MOVE-BEFORE-|MOVE-BEFORE-T|MOVE-BEFORE-TA|MOVE-BEFORE-TAB|MOVE-BEFORE-TAB-|MOVE-BEFORE-TAB-I|MOVE-BEFORE-TAB-IT|MOVE-BEFORE-TAB-ITE|'
3031
- r'MOVE-COLUMN|MOVE-COL|MOVE-COLU|MOVE-COLUM|'
3032
- r'MOVE-TO-BOTTOM|MOVE-TO-B|MOVE-TO-BO|MOVE-TO-BOT|MOVE-TO-BOTT|MOVE-TO-BOTTO|'
3033
- r'MOVE-TO-EOF|MOVE-TO-TOP|MOVE-TO-T|MOVE-TO-TO|MPE|MULTI-COMPILE|MULTIPLE|'
3034
- r'MULTIPLE-KEY|MULTITASKING-INTERVAL|MUST-EXIST|NAME|NAMESPACE-PREFIX|'
3035
- r'NAMESPACE-URI|NATIVE|NE|NEEDS-APPSERVER-PROMPT|NEEDS-PROMPT|NEW|'
3036
- r'NEW-INSTANCE|NEW-ROW|NEXT|NEXT-COLUMN|NEXT-PROMPT|NEXT-ROWID|'
3037
- r'NEXT-SIBLING|NEXT-TAB-ITEM|NEXT-TAB-I|NEXT-TAB-IT|NEXT-TAB-ITE|'
3038
- r'NEXT-VALUE|NO|NO-APPLY|NO-ARRAY-MESSAGE|NO-ASSIGN|'
3039
- r'NO-ATTR-LIST|NO-ATTR|NO-ATTR-|NO-ATTR-L|NO-ATTR-LI|NO-ATTR-LIS|'
3040
- r'NO-ATTR-SPACE|NO-ATTR|NO-ATTR-|NO-ATTR-S|NO-ATTR-SP|NO-ATTR-SPA|NO-ATTR-SPAC|'
3041
- r'NO-AUTO-VALIDATE|NO-BIND-WHERE|NO-BOX|NO-CONSOLE|NO-CONVERT|'
3042
- r'NO-CONVERT-3D-COLORS|NO-CURRENT-VALUE|NO-DEBUG|NODE-VALUE-TO-MEMPTR|'
3043
- r'NO-DRAG|NO-ECHO|NO-EMPTY-SPACE|NO-ERROR|NO-FILL|NO-F|NO-FI|'
3044
- r'NO-FIL|NO-FOCUS|NO-HELP|NO-HIDE|NO-INDEX-HINT|'
3045
- r'NO-INHERIT-BGCOLOR|NO-INHERIT-BGC|NO-INHERIT-BGCO|LABEL-BGCOL|LABEL-BGCOLO|'
3046
- r'NO-INHERIT-FGCOLOR|NO-INHERIT-FGC|NO-INHERIT-FGCO|NO-INHERIT-FGCOL|NO-INHERIT-FGCOLO|'
3047
- r'NO-JOIN-BY-SQLDB|NO-LABELS|NO-LABE|NO-LOBS|NO-LOCK|'
3048
- r'NO-LOOKAHEAD|NO-MAP|'
3049
- r'NO-MESSAGE|NO-MES|NO-MESS|NO-MESSA|NO-MESSAG|'
3050
- r'NONAMESPACE-SCHEMA-LOCATION|NONE|NO-PAUSE|'
3051
- r'NO-PREFETCH|NO-PREFE|NO-PREFET|NO-PREFETC|NORMALIZE|'
3052
- r'NO-ROW-MARKERS|NO-SCROLLBAR-VERTICAL|NO-SEPARATE-CONNECTION|'
3053
- r'NO-SEPARATORS|NOT|NO-TAB-STOP|NOT-ACTIVE|'
3054
- r'NO-UNDERLINE|NO-UND|NO-UNDE|NO-UNDER|NO-UNDERL|NO-UNDERLI|NO-UNDERLIN|'
3055
- r'NO-UNDO|'
3056
- r'NO-VALIDATE|NO-VAL|NO-VALI|NO-VALID|NO-VALIDA|NO-VALIDAT|NOW|'
3057
- r'NO-WAIT|NO-WORD-WRAP|NULL|NUM-ALIASES|NUM-ALI|NUM-ALIA|NUM-ALIAS|NUM-ALIASE|'
3058
- r'NUM-BUFFERS|NUM-BUTTONS|NUM-BUT|NUM-BUTT|NUM-BUTTO|NUM-BUTTON|'
3059
- r'NUM-COLUMNS|NUM-COL|NUM-COLU|NUM-COLUM|NUM-COLUMN|NUM-COPIES|'
3060
- r'NUM-DBS|NUM-DROPPED-FILES|NUM-ENTRIES|NUMERIC|'
3061
- r'NUMERIC-FORMAT|NUMERIC-F|NUMERIC-FO|NUMERIC-FOR|NUMERIC-FORM|NUMERIC-FORMA|'
3062
- r'NUM-FIELDS|NUM-FORMATS|NUM-ITEMS|NUM-ITERATIONS|NUM-LINES|'
3063
- r'NUM-LOCKED-COLUMNS|NUM-LOCKED-COL|NUM-LOCKED-COLU|NUM-LOCKED-COLUM|NUM-LOCKED-COLUMN|'
3064
- r'NUM-MESSAGES|NUM-PARAMETERS|NUM-REFERENCES|NUM-REPLACED|NUM-RESULTS|NUM-SELECTED-ROWS|'
3065
- r'NUM-SELECTED-WIDGETS|NUM-SELECTED|NUM-SELECTED-|NUM-SELECTED-W|NUM-SELECTED-WI|NUM-SELECTED-WID|NUM-SELECTED-WIDG|NUM-SELECTED-WIDGE|NUM-SELECTED-WIDGET|'
3066
- r'NUM-TABS|NUM-TO-RETAIN|NUM-VISIBLE-COLUMNS|OCTET-LENGTH|OF|'
3067
- r'OFF|OK|OK-CANCEL|OLD|ON|'
3068
- r'ON-FRAME-BORDER|ON-FRAME|ON-FRAME-|ON-FRAME-B|ON-FRAME-BO|ON-FRAME-BOR|ON-FRAME-BORD|ON-FRAME-BORDE|'
3069
- r'OPEN|OPSYS|OPTION|OR|ORDERED-JOIN|ORDINAL|'
3070
- r'OS-APPEND|OS-COMMAND|OS-COPY|OS-CREATE-DIR|OS-DELETE|OS-DIR|'
3071
- r'OS-DRIVES|OS-DRIVE|OS-ERROR|OS-GETENV|OS-RENAME|OTHERWISE|'
3072
- r'OUTPUT|OVERLAY|OVERRIDE|OWNER|PAGE|'
3073
- r'PAGE-BOTTOM|PAGE-BOT|PAGE-BOTT|PAGE-BOTTO|PAGED|'
3074
- r'PAGE-NUMBER|PAGE-NUM|PAGE-NUMB|PAGE-NUMBE|PAGE-SIZE|'
3075
- r'PAGE-TOP|PAGE-WIDTH|PAGE-WID|PAGE-WIDT|'
3076
- r'PARAMETER|PARAM|PARAME|PARAMET|PARAMETE|'
3077
- r'PARENT|PARSE-STATUS|PARTIAL-KEY|PASCAL|PASSWORD-FIELD|PATHNAME|PAUSE|'
3078
- r'PBE-HASH-ALGORITHM|PBE-HASH-ALG|PBE-HASH-ALGO|PBE-HASH-ALGOR|PBE-HASH-ALGORI|PBE-HASH-ALGORIT|PBE-HASH-ALGORITH|'
3079
- r'PBE-KEY-ROUNDS|PDBNAME|PERSISTENT|PERSIST|PERSISTE|PERSISTEN|'
3080
- r'PERSISTENT-CACHE-DISABLED|PFCOLOR|PFC|PFCO|PFCOL|PFCOLO|PIXELS|'
3081
- r'PIXELS-PER-COLUMN|PIXELS-PER-COL|PIXELS-PER-COLU|PIXELS-PER-COLUM|'
3082
- r'PIXELS-PER-ROW|POPUP-MENU|POPUP-M|POPUP-ME|POPUP-MEN|'
3083
- r'POPUP-ONLY|POPUP-O|POPUP-ON|POPUP-ONL|PORTRAIT|POSITION|'
3084
- r'PRECISION|PREFER-DATASET|PREPARED|PREPARE-STRING|'
3085
- r'PREPROCESS|PREPROC|PREPROCE|PREPROCES|'
3086
- r'PRESELECT|PRESEL|PRESELE|PRESELEC|PREV|PREV-COLUMN|'
3087
- r'PREV-SIBLING|'
3088
- r'PREV-TAB-ITEM|PREV-TAB-I|PREV-TAB-IT|PREV-TAB-ITE|'
3089
- r'PRIMARY|PRINTER|PRINTER-CONTROL-HANDLE|PRINTER-HDC|'
3090
- r'PRINTER-NAME|PRINTER-PORT|PRINTER-SETUP|PRIVATE|'
3091
- r'PRIVATE-DATA|PRIVATE-D|PRIVATE-DA|PRIVATE-DAT|'
3092
- r'PRIVILEGES|'
3093
- r'PROCEDURE|PROCE|PROCED|PROCEDU|PROCEDUR|'
3094
- r'PROCEDURE-CALL-TYPE|'
3095
- r'PROCESS|'
3096
- r'PROC-HANDLE|PROC-HA|PROC-HAN|PROC-HAND|PROC-HANDL|'
3097
- r'PROC-STATUS|PROC-ST|PROC-STA|PROC-STAT|PROC-STATU|'
3098
- r'proc-text|proc-text-buffer|'
3099
- r'PROFILER|PROGRAM-NAME|PROGRESS|'
3100
- r'PROGRESS-SOURCE|PROGRESS-S|PROGRESS-SO|PROGRESS-SOU|PROGRESS-SOUR|PROGRESS-SOURC|'
3101
- r'PROMPT|PROMPT-FOR|PROMPT-F|PROMPT-FO|PROMSGS|PROPATH|'
3102
- r'PROPERTY|PROTECTED|PROVERSION|PROVERS|PROVERSI|PROVERSIO|'
3103
- r'PROXY|PROXY-PASSWORD|PROXY-USERID|PUBLIC|PUBLIC-ID|'
3104
- r'PUBLISH|PUBLISHED-EVENTS|PUT|PUTBYTE|PUT-BYTE|PUT-DOUBLE|'
3105
- r'PUT-FLOAT|PUT-INT64|PUT-KEY-VALUE|PUT-KEY-VAL|PUT-KEY-VALU|PUT-LONG|'
3106
- r'PUT-SHORT|PUT-STRING|PUT-UNSIGNED-LONG|QUERY|QUERY-CLOSE|QUERY-OFF-END|'
3107
- r'QUERY-OPEN|QUERY-PREPARE|QUERY-TUNING|QUESTION|QUIT|QUOTER|'
3108
- r'RADIO-BUTTONS|RADIO-SET|RANDOM|RAW-TRANSFER|'
3109
- r'RCODE-INFORMATION|RCODE-INFO|RCODE-INFOR|RCODE-INFORM|RCODE-INFORMA|RCODE-INFORMAT|RCODE-INFORMATI|RCODE-INFORMATIO|'
3110
- r'READ-AVAILABLE|READ-EXACT-NUM|READ-FILE|READKEY|READ-ONLY|READ-XML|READ-XMLSCHEMA|'
3111
- r'REAL|RECORD-LENGTH|RECTANGLE|RECT|RECTA|RECTAN|RECTANG|RECTANGL|'
3112
- r'RECURSIVE|REFERENCE-ONLY|REFRESH|REFRESHABLE|REFRESH-AUDIT-POLICY|'
3113
- r'REGISTER-DOMAIN|RELEASE|REMOTE|REMOVE-EVENTS-PROCEDURE|REMOVE-SUPER-PROCEDURE|'
3114
- r'REPEAT|REPLACE|REPLACE-SELECTION-TEXT|REPOSITION|REPOSITION-BACKWARD|'
3115
- r'REPOSITION-FORWARD|REPOSITION-MODE|REPOSITION-TO-ROW|REPOSITION-TO-ROWID|'
3116
- r'REQUEST|RESET|RESIZABLE|RESIZA|RESIZAB|RESIZABL|RESIZE|RESTART-ROW|'
3117
- r'RESTART-ROWID|RETAIN|RETAIN-SHAPE|RETRY|RETRY-CANCEL|RETURN|'
3118
- r'RETURN-INSERTED|RETURN-INS|RETURN-INSE|RETURN-INSER|RETURN-INSERT|RETURN-INSERTE|'
3119
- r'RETURNS|RETURN-TO-START-DIR|RETURN-TO-START-DI|'
3120
- r'RETURN-VALUE|RETURN-VAL|RETURN-VALU|'
3121
- r'RETURN-VALUE-DATA-TYPE|REVERSE-FROM|REVERT|'
3122
- r'REVOKE|RGB-VALUE|RIGHT-ALIGNED|RETURN-ALIGN|RETURN-ALIGNE|'
3123
- r'RIGHT-TRIM|R-INDEX|ROLES|ROUND|ROUTINE-LEVEL|ROW|'
3124
- r'ROW-HEIGHT-CHARS|HEIGHT|ROW-HEIGHT-PIXELS|HEIGHT-P|ROW-MARKERS|'
3125
- r'ROW-OF|ROW-RESIZABLE|RULE|RUN|RUN-PROCEDURE|SAVE|SAVE-AS|'
3126
- r'SAVE-FILE|SAX-COMPLETE|SAX-COMPLE|SAX-COMPLET|SAX-PARSE|SAX-PARSE-FIRST|'
3127
- r'SAX-PARSE-NEXT|SAX-PARSER-ERROR|SAX-RUNNING|SAX-UNINITIALIZED|'
3128
- r'SAX-WRITE-BEGIN|SAX-WRITE-COMPLETE|SAX-WRITE-CONTENT|SAX-WRITE-ELEMENT|'
3129
- r'SAX-WRITE-ERROR|SAX-WRITE-IDLE|SAX-WRITER|SAX-WRITE-TAG|SCHEMA|'
3130
- r'SCHEMA-LOCATION|SCHEMA-MARSHAL|SCHEMA-PATH|SCREEN|SCREEN-IO|'
3131
- r'SCREEN-LINES|SCREEN-VALUE|SCREEN-VAL|SCREEN-VALU|SCROLL|SCROLLABLE|'
3132
- r'SCROLLBAR-HORIZONTAL|SCROLLBAR-H|SCROLLBAR-HO|SCROLLBAR-HOR|SCROLLBAR-HORI|SCROLLBAR-HORIZ|SCROLLBAR-HORIZO|SCROLLBAR-HORIZON|SCROLLBAR-HORIZONT|SCROLLBAR-HORIZONTA|'
3133
- r'SCROLL-BARS|'
3134
- r'SCROLLBAR-VERTICAL|SCROLLBAR-V|SCROLLBAR-VE|SCROLLBAR-VER|SCROLLBAR-VERT|SCROLLBAR-VERTI|SCROLLBAR-VERTIC|SCROLLBAR-VERTICA|'
3135
- r'SCROLL-DELTA|'
3136
- r'SCROLLED-ROW-POSITION|SCROLLED-ROW-POS|SCROLLED-ROW-POSI|SCROLLED-ROW-POSIT|SCROLLED-ROW-POSITI|SCROLLED-ROW-POSITIO|'
3137
- r'SCROLLING|SCROLL-OFFSET|SCROLL-TO-CURRENT-ROW|SCROLL-TO-ITEM|SCROLL-TO-I|SCROLL-TO-IT|SCROLL-TO-ITE|'
3138
- r'SCROLL-TO-SELECTED-ROW|SDBNAME|SEAL|SEAL-TIMESTAMP|SEARCH|SEARCH-SELF|SEARCH-TARGET|'
3139
- r'SECTION|SECURITY-POLICY|SEEK|SELECT|SELECTABLE|SELECT-ALL|'
3140
- r'SELECTED|SELECT-FOCUSED-ROW|SELECTION|SELECTION-END|SELECTION-LIST|'
3141
- r'SELECTION-START|SELECTION-TEXT|SELECT-NEXT-ROW|SELECT-PREV-ROW|'
3142
- r'SELECT-ROW|SELF|SEND|send-sql-statement|send-sql|SENSITIVE|'
3143
- r'SEPARATE-CONNECTION|SEPARATOR-FGCOLOR|SEPARATORS|SERVER|'
3144
- r'SERVER-CONNECTION-BOUND|SERVER-CONNECTION-BOUND-REQUEST|'
3145
- r'SERVER-CONNECTION-CONTEXT|SERVER-CONNECTION-ID|SERVER-OPERATING-MODE|'
3146
- r'SESSION|SESSION-ID|SET|SET-APPL-CONTEXT|SET-ATTR-CALL-TYPE|SET-ATTRIBUTE-NODE|'
3147
- r'SET-BLUE-VALUE|SET-BLUE|SET-BLUE-|SET-BLUE-V|SET-BLUE-VA|SET-BLUE-VAL|SET-BLUE-VALU|'
3148
- r'SET-BREAK|SET-BUFFERS|SET-CALLBACK|SET-CLIENT|SET-COMMIT|SET-CONTENTS|'
3149
- r'SET-CURRENT-VALUE|SET-DB-CLIENT|SET-DYNAMIC|SET-EVENT-MANAGER-OPTION|'
3150
- r'SET-GREEN-VALUE|SET-GREEN|SET-GREEN-|SET-GREEN-V|SET-GREEN-VA|SET-GREEN-VAL|SET-GREEN-VALU|'
3151
- r'SET-INPUT-SOURCE|SET-OPTION|SET-OUTPUT-DESTINATION|SET-PARAMETER|SET-POINTER-VALUE|'
3152
- r'SET-PROPERTY|SET-RED-VALUE|SET-RED|SET-RED-|SET-RED-V|SET-RED-VA|SET-RED-VAL|SET-RED-VALU|'
3153
- r'SET-REPOSITIONED-ROW|SET-RGB-VALUE|SET-ROLLBACK|SET-SELECTION|SET-SIZE|'
3154
- r'SET-SORT-ARROW|SETUSERID|SETUSER|SETUSERI|SET-WAIT-STATE|SHA1-DIGEST|SHARED|'
3155
- r'SHARE-LOCK|SHARE|SHARE-|SHARE-L|SHARE-LO|SHARE-LOC|SHOW-IN-TASKBAR|SHOW-STATS|SHOW-STAT|'
3156
- r'SIDE-LABEL-HANDLE|SIDE-LABEL-H|SIDE-LABEL-HA|SIDE-LABEL-HAN|SIDE-LABEL-HAND|SIDE-LABEL-HANDL|'
3157
- r'SIDE-LABELS|SIDE-LAB|SIDE-LABE|SIDE-LABEL|'
3158
- r'SILENT|SIMPLE|SINGLE|SIZE|'
3159
- r'SIZE-CHARS|SIZE-C|SIZE-CH|SIZE-CHA|SIZE-CHAR|'
3160
- r'SIZE-PIXELS|SIZE-P|SIZE-PI|SIZE-PIX|SIZE-PIXE|SIZE-PIXEL|SKIP|'
3161
- r'SKIP-DELETED-RECORD|SLIDER|SMALL-ICON|SMALLINT|SMALL-TITLE|SOME|SORT|'
3162
- r'SORT-ASCENDING|SORT-NUMBER|SOURCE|SOURCE-PROCEDURE|SPACE|SQL|SQRT|'
3163
- r'SSL-SERVER-NAME|STANDALONE|START|START-DOCUMENT|START-ELEMENT|START-MOVE|'
3164
- r'START-RESIZE|START-ROW-RESIZE|STATE-DETAIL|STATIC|STATUS|STATUS-AREA|STATUS-AREA-FONT|'
3165
- r'STDCALL|STOP|STOP-PARSING|STOPPED|STOPPE|'
3166
- r'STORED-PROCEDURE|STORED-PROC|STORED-PROCE|STORED-PROCED|STORED-PROCEDU|STORED-PROCEDUR|'
3167
- r'STREAM|STREAM-HANDLE|STREAM-IO|STRETCH-TO-FIT|STRICT|STRING|STRING-VALUE|STRING-XREF|'
3168
- r'SUB-AVERAGE|SUB-AVE|SUB-AVER|SUB-AVERA|SUB-AVERAG|'
3169
- r'SUB-COUNT|SUB-MAXIMUM|SUM-MAX|SUM-MAXI|SUM-MAXIM|SUM-MAXIMU|SUB-MENU|SUBSUB-|'
3170
- r'MINIMUM|SUB-MIN|SUBSCRIBE|SUBSTITUTE|SUBST|SUBSTI|SUBSTIT|SUBSTITU|SUBSTITUT|'
3171
- r'SUBSTRING|SUBSTR|SUBSTRI|SUBSTRIN|SUB-TOTAL|SUBTYPE|SUM|SUPER|SUPER-PROCEDURES|'
3172
- r'SUPPRESS-NAMESPACE-PROCESSING|'
3173
- r'SUPPRESS-WARNINGS|SUPPRESS-W|SUPPRESS-WA|SUPPRESS-WAR|SUPPRESS-WARN|SUPPRESS-WARNI|SUPPRESS-WARNIN|SUPPRESS-WARNING|'
3174
- r'SYMMETRIC-ENCRYPTION-ALGORITHM|SYMMETRIC-ENCRYPTION-IV|SYMMETRIC-ENCRYPTION-KEY|SYMMETRIC-SUPPORT|'
3175
- r'SYSTEM-ALERT-BOXES|SYSTEM-ALERT|SYSTEM-ALERT-|SYSTEM-ALERT-B|SYSTEM-ALERT-BO|SYSTEM-ALERT-BOX|SYSTEM-ALERT-BOXE|'
3176
- r'SYSTEM-DIALOG|SYSTEM-HELP|SYSTEM-ID|TABLE|TABLE-HANDLE|TABLE-NUMBER|TAB-POSITION|'
3177
- r'TAB-STOP|TARGET|TARGET-PROCEDURE|'
3178
- r'TEMP-DIRECTORY|TEMP-DIR|TEMP-DIRE|TEMP-DIREC|TEMP-DIRECT|TEMP-DIRECTO|TEMP-DIRECTOR|'
3179
- r'TEMP-TABLE|TEMP-TABLE-PREPARE|TERM|TERMINAL|TERM|TERMI|TERMIN|TERMINA|'
3180
- r'TERMINATE|TEXT|TEXT-CURSOR|TEXT-SEG-GROW|TEXT-SELECTED|THEN|'
3181
- r'THIS-OBJECT|THIS-PROCEDURE|THREE-D|THROW|THROUGH|THRU|TIC-MARKS|TIME|'
3182
- r'TIME-SOURCE|TITLE|'
3183
- r'TITLE-BGCOLOR|TITLE-BGC|TITLE-BGCO|TITLE-BGCOL|TITLE-BGCOLO|'
3184
- r'TITLE-DCOLOR|TITLE-DC|TITLE-DCO|TITLE-DCOL|TITLE-DCOLO|'
3185
- r'TITLE-FGCOLOR|TITLE-FGC|TITLE-FGCO|TITLE-FGCOL|TITLE-FGCOLO|'
3186
- r'TITLE-FONT|TITLE-FO|TITLE-FON|'
3187
- r'TO|TODAY|TOGGLE-BOX|TOOLTIP|TOOLTIPS|TOPIC|TOP-NAV-QUERY|TOP-ONLY|'
3188
- r'TO-ROWID|TOTAL|TRAILING|TRANS|TRANSACTION|TRANSACTION-MODE|'
3189
- r'TRANS-INIT-PROCEDURE|TRANSPARENT|TRIGGER|TRIGGERS|TRIM|'
3190
- r'TRUE|TRUNCATE|TRUNC|TRUNCA|TRUNCAT|TYPE|TYPE-OF|'
3191
- r'UNBOX|UNBUFFERED|UNBUFF|UNBUFFE|UNBUFFER|UNBUFFERE|'
3192
- r'UNDERLINE|UNDERL|UNDERLI|UNDERLIN|UNDO|'
3193
- r'UNFORMATTED|UNFORM|UNFORMA|UNFORMAT|UNFORMATT|UNFORMATTE|UNION|'
3194
- r'UNIQUE|UNIQUE-ID|UNIQUE-MATCH|UNIX|UNLESS-HIDDEN|UNLOAD|'
3195
- r'UNSIGNED-LONG|UNSUBSCRIBE|UP|UPDATE|UPDATE-ATTRIBUTE|'
3196
- r'URL|URL-DECODE|URL-ENCODE|URL-PASSWORD|URL-USERID|USE|'
3197
- r'USE-DICT-EXPS|USE-FILENAME|USE-INDEX|USER|USE-REVVIDEO|'
3198
- r'USERID|USER-ID|USE-TEXT|USE-UNDERLINE|USE-WIDGET-POOL|'
3199
- r'USING|V6DISPLAY|V6FRAME|VALIDATE|VALIDATE-EXPRESSION|'
3200
- r'VALIDATE-MESSAGE|VALIDATE-SEAL|VALIDATION-ENABLED|VALID-EVENT|'
3201
- r'VALID-HANDLE|VALID-OBJECT|VALUE|VALUE-CHANGED|VALUES|'
3202
- r'VARIABLE|VAR|VARI|VARIA|VARIAB|VARIABL|VERBOSE|'
3203
- r'VERSION|VERTICAL|VERT|VERTI|VERTIC|VERTICA|'
3204
- r'VIEW|VIEW-AS|VIEW-FIRST-COLUMN-ON-REOPEN|'
3205
- r'VIRTUAL-HEIGHT-CHARS|VIRTUAL-HEIGHT|VIRTUAL-HEIGHT-|VIRTUAL-HEIGHT-C|VIRTUAL-HEIGHT-CH|VIRTUAL-HEIGHT-CHA|VIRTUAL-HEIGHT-CHAR|'
3206
- r'VIRTUAL-HEIGHT-PIXELS|VIRTUAL-HEIGHT-P|VIRTUAL-HEIGHT-PI|VIRTUAL-HEIGHT-PIX|VIRTUAL-HEIGHT-PIXE|VIRTUAL-HEIGHT-PIXEL|'
3207
- r'VIRTUAL-WIDTH-CHARS|VIRTUAL-WIDTH|VIRTUAL-WIDTH-|VIRTUAL-WIDTH-C|VIRTUAL-WIDTH-CH|VIRTUAL-WIDTH-CHA|VIRTUAL-WIDTH-CHAR|'
3208
- r'VIRTUAL-WIDTH-PIXELS|VIRTUAL-WIDTH-P|VIRTUAL-WIDTH-PI|VIRTUAL-WIDTH-PIX|VIRTUAL-WIDTH-PIXE|VIRTUAL-WIDTH-PIXEL|'
3209
- r'VISIBLE|VOID|WAIT|WAIT-FOR|WARNING|WEB-CONTEXT|WEEKDAY|WHEN|'
3210
- r'WHERE|WHILE|WIDGET|'
3211
- r'WIDGET-ENTER|WIDGET-E|WIDGET-EN|WIDGET-ENT|WIDGET-ENTE|'
3212
- r'WIDGET-ID|'
3213
- r'WIDGET-LEAVE|WIDGET-L|WIDGET-LE|WIDGET-LEA|WIDGET-LEAV|'
3214
- r'WIDGET-POOL|WIDTH|'
3215
- r'WIDTH-CHARS|WIDTH|WIDTH-|WIDTH-C|WIDTH-CH|WIDTH-CHA|WIDTH-CHAR|'
3216
- r'WIDTH-PIXELS|WIDTH-P|WIDTH-PI|WIDTH-PIX|WIDTH-PIXE|WIDTH-PIXEL|'
3217
- r'WINDOW|'
3218
- r'WINDOW-MAXIMIZED|WINDOW-MAXIM|WINDOW-MAXIMI|WINDOW-MAXIMIZ|WINDOW-MAXIMIZE|'
3219
- r'WINDOW-MINIMIZED|WINDOW-MINIM|WINDOW-MINIMI|WINDOW-MINIMIZ|WINDOW-MINIMIZE|'
3220
- r'WINDOW-NAME|WINDOW-NORMAL|WINDOW-STATE|WINDOW-STA|WINDOW-STAT|'
3221
- r'WINDOW-SYSTEM|WITH|WORD-INDEX|WORD-WRAP|WORK-AREA-HEIGHT-PIXELS|'
3222
- r'WORK-AREA-WIDTH-PIXELS|WORK-AREA-X|WORK-AREA-Y|WORKFILE|'
3223
- r'WORK-TABLE|WORK-TAB|WORK-TABL|WRITE|WRITE-CDATA|WRITE-CHARACTERS|'
3224
- r'WRITE-COMMENT|WRITE-DATA-ELEMENT|WRITE-EMPTY-ELEMENT|WRITE-ENTITY-REF|'
3225
- r'WRITE-EXTERNAL-DTD|WRITE-FRAGMENT|WRITE-MESSAGE|'
3226
- r'WRITE-PROCESSING-INSTRUCTION|WRITE-STATUS|WRITE-XML|WRITE-XMLSCHEMA|'
3227
- r'X|XCODE|XML-DATA-TYPE|XML-NODE-TYPE|XML-SCHEMA-PATH|'
3228
- r'XML-SUPPRESS-NAMESPACE-PROCESSING|X-OF|XREF|'
3229
- r'XREF-XML|Y|YEAR|YEAR-OFFSET|YES|YES-NO|'
3230
- r'YES-NO-CANCEL|Y-OF)\s*($|(?=[^0-9a-z_\-]))')
3231
-
2784
+ keywords = (r'(?i)(^|(?<=[^0-9a-z_\-]))(' +
2785
+ r'|'.join(OPENEDGEKEYWORDS) +
2786
+ r')\s*($|(?=[^0-9a-z_\-]))')
3232
2787
  tokens = {
3233
2788
  'root': [
3234
2789
  (r'/\*', Comment.Multiline, 'comment'),
@@ -3285,13 +2840,13 @@ class BroLexer(RegexLexer):
3285
2840
  (r'\\\n', Text),
3286
2841
  # Keywords
3287
2842
  (r'(add|alarm|break|case|const|continue|delete|do|else|enum|event'
3288
- r'|export|for|function|if|global|local|module|next'
3289
- r'|of|print|redef|return|schedule|type|when|while)\b', Keyword),
2843
+ r'|export|for|function|if|global|hook|local|module|next'
2844
+ r'|of|print|redef|return|schedule|switch|type|when|while)\b', Keyword),
3290
2845
  (r'(addr|any|bool|count|counter|double|file|int|interval|net'
3291
2846
  r'|pattern|port|record|set|string|subnet|table|time|timer'
3292
2847
  r'|vector)\b', Keyword.Type),
3293
2848
  (r'(T|F)\b', Keyword.Constant),
3294
- (r'(&)((?:add|delete|expire)_func|attr|(create|read|write)_expire'
2849
+ (r'(&)((?:add|delete|expire)_func|attr|(?:create|read|write)_expire'
3295
2850
  r'|default|disable_print_hook|raw_output|encrypt|group|log'
3296
2851
  r'|mergeable|optional|persistent|priority|redef'
3297
2852
  r'|rotate_(?:interval|size)|synchronized)\b', bygroups(Punctuation,
@@ -3337,3 +2892,887 @@ class BroLexer(RegexLexer):
3337
2892
  (r'\\', String.Regex)
3338
2893
  ]
3339
2894
  }
2895
+
2896
+
2897
+ class CbmBasicV2Lexer(RegexLexer):
2898
+ """
2899
+ For CBM BASIC V2 sources.
2900
+
2901
+ *New in Pygments 1.6.*
2902
+ """
2903
+ name = 'CBM BASIC V2'
2904
+ aliases = ['cbmbas']
2905
+ filenames = ['*.bas']
2906
+
2907
+ flags = re.IGNORECASE
2908
+
2909
+ tokens = {
2910
+ 'root': [
2911
+ (r'rem.*\n', Comment.Single),
2912
+ (r'\s+', Text),
2913
+ (r'new|run|end|for|to|next|step|go(to|sub)?|on|return|stop|cont'
2914
+ r'|if|then|input#?|read|wait|load|save|verify|poke|sys|print#?'
2915
+ r'|list|clr|cmd|open|close|get#?', Keyword.Reserved),
2916
+ (r'data|restore|dim|let|def|fn', Keyword.Declaration),
2917
+ (r'tab|spc|sgn|int|abs|usr|fre|pos|sqr|rnd|log|exp|cos|sin|tan|atn'
2918
+ r'|peek|len|val|asc|(str|chr|left|right|mid)\$', Name.Builtin),
2919
+ (r'[-+*/^<>=]', Operator),
2920
+ (r'not|and|or', Operator.Word),
2921
+ (r'"[^"\n]*.', String),
2922
+ (r'\d+|[-+]?\d*\.\d*(e[-+]?\d+)?', Number.Float),
2923
+ (r'[\(\),:;]', Punctuation),
2924
+ (r'\w+[$%]?', Name),
2925
+ ]
2926
+ }
2927
+
2928
+ def analyse_text(self, text):
2929
+ # if it starts with a line number, it shouldn't be a "modern" Basic
2930
+ # like VB.net
2931
+ if re.match(r'\d+', text):
2932
+ return True
2933
+
2934
+
2935
+ class MscgenLexer(RegexLexer):
2936
+ """
2937
+ For `Mscgen <http://www.mcternan.me.uk/mscgen/>`_ files.
2938
+
2939
+ *New in Pygments 1.6.*
2940
+ """
2941
+ name = 'Mscgen'
2942
+ aliases = ['mscgen', 'msc']
2943
+ filenames = ['*.msc']
2944
+
2945
+ _var = r'([a-zA-Z0-9_]+|"(?:\\"|[^"])*")'
2946
+
2947
+ tokens = {
2948
+ 'root': [
2949
+ (r'msc\b', Keyword.Type),
2950
+ # Options
2951
+ (r'(hscale|HSCALE|width|WIDTH|wordwraparcs|WORDWRAPARCS'
2952
+ r'|arcgradient|ARCGRADIENT)\b', Name.Property),
2953
+ # Operators
2954
+ (r'(abox|ABOX|rbox|RBOX|box|BOX|note|NOTE)\b', Operator.Word),
2955
+ (r'(\.|-|\|){3}', Keyword),
2956
+ (r'(?:-|=|\.|:){2}'
2957
+ r'|<<=>>|<->|<=>|<<>>|<:>'
2958
+ r'|->|=>>|>>|=>|:>|-x|-X'
2959
+ r'|<-|<<=|<<|<=|<:|x-|X-|=', Operator),
2960
+ # Names
2961
+ (r'\*', Name.Builtin),
2962
+ (_var, Name.Variable),
2963
+ # Other
2964
+ (r'\[', Punctuation, 'attrs'),
2965
+ (r'\{|\}|,|;', Punctuation),
2966
+ include('comments')
2967
+ ],
2968
+ 'attrs': [
2969
+ (r'\]', Punctuation, '#pop'),
2970
+ (_var + r'(\s*)(=)(\s*)' + _var,
2971
+ bygroups(Name.Attribute, Text.Whitespace, Operator, Text.Whitespace,
2972
+ String)),
2973
+ (r',', Punctuation),
2974
+ include('comments')
2975
+ ],
2976
+ 'comments': [
2977
+ (r'(?://|#).*?\n', Comment.Single),
2978
+ (r'/\*(?:.|\n)*?\*/', Comment.Multiline),
2979
+ (r'[ \t\r\n]+', Text.Whitespace)
2980
+ ]
2981
+ }
2982
+
2983
+
2984
+ def _rx_indent(level):
2985
+ # Kconfig *always* interprets a tab as 8 spaces, so this is the default.
2986
+ # Edit this if you are in an environment where KconfigLexer gets expanded
2987
+ # input (tabs expanded to spaces) and the expansion tab width is != 8,
2988
+ # e.g. in connection with Trac (trac.ini, [mimeviewer], tab_width).
2989
+ # Value range here is 2 <= {tab_width} <= 8.
2990
+ tab_width = 8
2991
+ # Regex matching a given indentation {level}, assuming that indentation is
2992
+ # a multiple of {tab_width}. In other cases there might be problems.
2993
+ return r'(?:\t| {1,%s}\t| {%s}){%s}.*\n' % (tab_width-1, tab_width, level)
2994
+
2995
+
2996
+ class KconfigLexer(RegexLexer):
2997
+ """
2998
+ For Linux-style Kconfig files.
2999
+
3000
+ *New in Pygments 1.6.*
3001
+ """
3002
+
3003
+ name = 'Kconfig'
3004
+ aliases = ['kconfig', 'menuconfig', 'linux-config', 'kernel-config']
3005
+ # Adjust this if new kconfig file names appear in your environment
3006
+ filenames = ['Kconfig', '*Config.in*', 'external.in*',
3007
+ 'standard-modules.in']
3008
+ mimetypes = ['text/x-kconfig']
3009
+ # No re.MULTILINE, indentation-aware help text needs line-by-line handling
3010
+ flags = 0
3011
+
3012
+ def call_indent(level):
3013
+ # If indentation >= {level} is detected, enter state 'indent{level}'
3014
+ return (_rx_indent(level), String.Doc, 'indent%s' % level)
3015
+
3016
+ def do_indent(level):
3017
+ # Print paragraphs of indentation level >= {level} as String.Doc,
3018
+ # ignoring blank lines. Then return to 'root' state.
3019
+ return [
3020
+ (_rx_indent(level), String.Doc),
3021
+ (r'\s*\n', Text),
3022
+ (r'', Generic, '#pop:2')
3023
+ ]
3024
+
3025
+ tokens = {
3026
+ 'root': [
3027
+ (r'\s+', Text),
3028
+ (r'#.*?\n', Comment.Single),
3029
+ (r'(mainmenu|config|menuconfig|choice|endchoice|comment|menu|'
3030
+ r'endmenu|visible if|if|endif|source|prompt|select|depends on|'
3031
+ r'default|range|option)\b', Keyword),
3032
+ (r'(---help---|help)[\t ]*\n', Keyword, 'help'),
3033
+ (r'(bool|tristate|string|hex|int|defconfig_list|modules|env)\b',
3034
+ Name.Builtin),
3035
+ (r'[!=&|]', Operator),
3036
+ (r'[()]', Punctuation),
3037
+ (r'[0-9]+', Number.Integer),
3038
+ (r"'(''|[^'])*'", String.Single),
3039
+ (r'"(""|[^"])*"', String.Double),
3040
+ (r'\S+', Text),
3041
+ ],
3042
+ # Help text is indented, multi-line and ends when a lower indentation
3043
+ # level is detected.
3044
+ 'help': [
3045
+ # Skip blank lines after help token, if any
3046
+ (r'\s*\n', Text),
3047
+ # Determine the first help line's indentation level heuristically(!).
3048
+ # Attention: this is not perfect, but works for 99% of "normal"
3049
+ # indentation schemes up to a max. indentation level of 7.
3050
+ call_indent(7),
3051
+ call_indent(6),
3052
+ call_indent(5),
3053
+ call_indent(4),
3054
+ call_indent(3),
3055
+ call_indent(2),
3056
+ call_indent(1),
3057
+ ('', Text, '#pop'), # for incomplete help sections without text
3058
+ ],
3059
+ # Handle text for indentation levels 7 to 1
3060
+ 'indent7': do_indent(7),
3061
+ 'indent6': do_indent(6),
3062
+ 'indent5': do_indent(5),
3063
+ 'indent4': do_indent(4),
3064
+ 'indent3': do_indent(3),
3065
+ 'indent2': do_indent(2),
3066
+ 'indent1': do_indent(1),
3067
+ }
3068
+
3069
+
3070
+ class VGLLexer(RegexLexer):
3071
+ """
3072
+ For `SampleManager VGL <http://www.thermoscientific.com/samplemanager>`_
3073
+ source code.
3074
+
3075
+ *New in Pygments 1.6.*
3076
+ """
3077
+ name = 'VGL'
3078
+ aliases = ['vgl']
3079
+ filenames = ['*.rpf']
3080
+
3081
+ flags = re.MULTILINE | re.DOTALL | re.IGNORECASE
3082
+
3083
+ tokens = {
3084
+ 'root': [
3085
+ (r'\{[^\}]*\}', Comment.Multiline),
3086
+ (r'declare', Keyword.Constant),
3087
+ (r'(if|then|else|endif|while|do|endwhile|and|or|prompt|object'
3088
+ r'|create|on|line|with|global|routine|value|endroutine|constant'
3089
+ r'|global|set|join|library|compile_option|file|exists|create|copy'
3090
+ r'|delete|enable|windows|name|notprotected)(?! *[=<>.,()])',
3091
+ Keyword),
3092
+ (r'(true|false|null|empty|error|locked)', Keyword.Constant),
3093
+ (r'[~\^\*\#!%&\[\]\(\)<>\|+=:;,./?-]', Operator),
3094
+ (r'"[^"]*"', String),
3095
+ (r'(\.)([a-z_\$][a-z0-9_\$]*)', bygroups(Operator, Name.Attribute)),
3096
+ (r'[0-9][0-9]*(\.[0-9]+(e[+\-]?[0-9]+)?)?', Number),
3097
+ (r'[a-z_\$][a-z0-9_\$]*', Name),
3098
+ (r'[\r\n]+', Text),
3099
+ (r'\s+', Text)
3100
+ ]
3101
+ }
3102
+
3103
+
3104
+ class SourcePawnLexer(RegexLexer):
3105
+ """
3106
+ For SourcePawn source code with preprocessor directives.
3107
+
3108
+ *New in Pygments 1.6.*
3109
+ """
3110
+ name = 'SourcePawn'
3111
+ aliases = ['sp']
3112
+ filenames = ['*.sp']
3113
+ mimetypes = ['text/x-sourcepawn']
3114
+
3115
+ #: optional Comment or Whitespace
3116
+ _ws = r'(?:\s|//.*?\n|/\*.*?\*/)+'
3117
+
3118
+ tokens = {
3119
+ 'root': [
3120
+ # preprocessor directives: without whitespace
3121
+ ('^#if\s+0', Comment.Preproc, 'if0'),
3122
+ ('^#', Comment.Preproc, 'macro'),
3123
+ # or with whitespace
3124
+ ('^' + _ws + r'#if\s+0', Comment.Preproc, 'if0'),
3125
+ ('^' + _ws + '#', Comment.Preproc, 'macro'),
3126
+ (r'\n', Text),
3127
+ (r'\s+', Text),
3128
+ (r'\\\n', Text), # line continuation
3129
+ (r'/(\\\n)?/(\n|(.|\n)*?[^\\]\n)', Comment.Single),
3130
+ (r'/(\\\n)?\*(.|\n)*?\*(\\\n)?/', Comment.Multiline),
3131
+ (r'[{}]', Punctuation),
3132
+ (r'L?"', String, 'string'),
3133
+ (r"L?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'", String.Char),
3134
+ (r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*', Number.Float),
3135
+ (r'(\d+\.\d*|\.\d+|\d+[fF])[fF]?', Number.Float),
3136
+ (r'0x[0-9a-fA-F]+[LlUu]*', Number.Hex),
3137
+ (r'0[0-7]+[LlUu]*', Number.Oct),
3138
+ (r'\d+[LlUu]*', Number.Integer),
3139
+ (r'\*/', Error),
3140
+ (r'[~!%^&*+=|?:<>/-]', Operator),
3141
+ (r'[()\[\],.;]', Punctuation),
3142
+ (r'(case|const|continue|native|'
3143
+ r'default|else|enum|for|if|new|operator|'
3144
+ r'public|return|sizeof|static|decl|struct|switch)\b', Keyword),
3145
+ (r'(bool|Float)\b', Keyword.Type),
3146
+ (r'(true|false)\b', Keyword.Constant),
3147
+ ('[a-zA-Z_][a-zA-Z0-9_]*', Name),
3148
+ ],
3149
+ 'string': [
3150
+ (r'"', String, '#pop'),
3151
+ (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})', String.Escape),
3152
+ (r'[^\\"\n]+', String), # all other characters
3153
+ (r'\\\n', String), # line continuation
3154
+ (r'\\', String), # stray backslash
3155
+ ],
3156
+ 'macro': [
3157
+ (r'[^/\n]+', Comment.Preproc),
3158
+ (r'/\*(.|\n)*?\*/', Comment.Multiline),
3159
+ (r'//.*?\n', Comment.Single, '#pop'),
3160
+ (r'/', Comment.Preproc),
3161
+ (r'(?<=\\)\n', Comment.Preproc),
3162
+ (r'\n', Comment.Preproc, '#pop'),
3163
+ ],
3164
+ 'if0': [
3165
+ (r'^\s*#if.*?(?<!\\)\n', Comment.Preproc, '#push'),
3166
+ (r'^\s*#endif.*?(?<!\\)\n', Comment.Preproc, '#pop'),
3167
+ (r'.*?\n', Comment),
3168
+ ]
3169
+ }
3170
+
3171
+ SM_TYPES = ['Action', 'bool', 'Float', 'Plugin', 'String', 'any',
3172
+ 'AdminFlag', 'OverrideType', 'OverrideRule', 'ImmunityType',
3173
+ 'GroupId', 'AdminId', 'AdmAccessMode', 'AdminCachePart',
3174
+ 'CookieAccess', 'CookieMenu', 'CookieMenuAction', 'NetFlow',
3175
+ 'ConVarBounds', 'QueryCookie', 'ReplySource',
3176
+ 'ConVarQueryResult', 'ConVarQueryFinished', 'Function',
3177
+ 'Action', 'Identity', 'PluginStatus', 'PluginInfo', 'DBResult',
3178
+ 'DBBindType', 'DBPriority', 'PropType', 'PropFieldType',
3179
+ 'MoveType', 'RenderMode', 'RenderFx', 'EventHookMode',
3180
+ 'EventHook', 'FileType', 'FileTimeMode', 'PathType',
3181
+ 'ParamType', 'ExecType', 'DialogType', 'Handle', 'KvDataTypes',
3182
+ 'NominateResult', 'MapChange', 'MenuStyle', 'MenuAction',
3183
+ 'MenuSource', 'RegexError', 'SDKCallType', 'SDKLibrary',
3184
+ 'SDKFuncConfSource', 'SDKType', 'SDKPassMethod', 'RayType',
3185
+ 'TraceEntityFilter', 'ListenOverride', 'SortOrder', 'SortType',
3186
+ 'SortFunc2D', 'APLRes', 'FeatureType', 'FeatureStatus',
3187
+ 'SMCResult', 'SMCError', 'TFClassType', 'TFTeam', 'TFCond',
3188
+ 'TFResourceType', 'Timer', 'TopMenuAction', 'TopMenuObjectType',
3189
+ 'TopMenuPosition', 'TopMenuObject', 'UserMsg']
3190
+
3191
+ def __init__(self, **options):
3192
+ self.smhighlighting = get_bool_opt(options,
3193
+ 'sourcemod', True)
3194
+
3195
+ self._functions = []
3196
+ if self.smhighlighting:
3197
+ from pygments.lexers._sourcemodbuiltins import FUNCTIONS
3198
+ self._functions.extend(FUNCTIONS)
3199
+ RegexLexer.__init__(self, **options)
3200
+
3201
+ def get_tokens_unprocessed(self, text):
3202
+ for index, token, value in \
3203
+ RegexLexer.get_tokens_unprocessed(self, text):
3204
+ if token is Name:
3205
+ if self.smhighlighting:
3206
+ if value in self.SM_TYPES:
3207
+ token = Keyword.Type
3208
+ elif value in self._functions:
3209
+ token = Name.Builtin
3210
+ yield index, token, value
3211
+
3212
+
3213
+ class PuppetLexer(RegexLexer):
3214
+ """
3215
+ For `Puppet <http://puppetlabs.com/>`__ configuration DSL.
3216
+
3217
+ *New in Pygments 1.6.*
3218
+ """
3219
+ name = 'Puppet'
3220
+ aliases = ['puppet']
3221
+ filenames = ['*.pp']
3222
+
3223
+ tokens = {
3224
+ 'root': [
3225
+ include('comments'),
3226
+ include('keywords'),
3227
+ include('names'),
3228
+ include('numbers'),
3229
+ include('operators'),
3230
+ include('strings'),
3231
+
3232
+ (r'[]{}:(),;[]', Punctuation),
3233
+ (r'[^\S\n]+', Text),
3234
+ ],
3235
+
3236
+ 'comments': [
3237
+ (r'\s*#.*$', Comment),
3238
+ (r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
3239
+ ],
3240
+
3241
+ 'operators': [
3242
+ (r'(=>|\?|<|>|=|\+|-|/|\*|~|!|\|)', Operator),
3243
+ (r'(in|and|or|not)\b', Operator.Word),
3244
+ ],
3245
+
3246
+ 'names': [
3247
+ ('[a-zA-Z_][a-zA-Z0-9_]*', Name.Attribute),
3248
+ (r'(\$\S+)(\[)(\S+)(\])', bygroups(Name.Variable, Punctuation,
3249
+ String, Punctuation)),
3250
+ (r'\$\S+', Name.Variable),
3251
+ ],
3252
+
3253
+ 'numbers': [
3254
+ # Copypasta from the Python lexer
3255
+ (r'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?', Number.Float),
3256
+ (r'\d+[eE][+-]?[0-9]+j?', Number.Float),
3257
+ (r'0[0-7]+j?', Number.Oct),
3258
+ (r'0[xX][a-fA-F0-9]+', Number.Hex),
3259
+ (r'\d+L', Number.Integer.Long),
3260
+ (r'\d+j?', Number.Integer)
3261
+ ],
3262
+
3263
+ 'keywords': [
3264
+ # Left out 'group' and 'require'
3265
+ # Since they're often used as attributes
3266
+ (r'(?i)(absent|alert|alias|audit|augeas|before|case|check|class|'
3267
+ r'computer|configured|contained|create_resources|crit|cron|debug|'
3268
+ r'default|define|defined|directory|else|elsif|emerg|err|exec|'
3269
+ r'extlookup|fail|false|file|filebucket|fqdn_rand|generate|host|if|'
3270
+ r'import|include|info|inherits|inline_template|installed|'
3271
+ r'interface|k5login|latest|link|loglevel|macauthorization|'
3272
+ r'mailalias|maillist|mcx|md5|mount|mounted|nagios_command|'
3273
+ r'nagios_contact|nagios_contactgroup|nagios_host|'
3274
+ r'nagios_hostdependency|nagios_hostescalation|nagios_hostextinfo|'
3275
+ r'nagios_hostgroup|nagios_service|nagios_servicedependency|'
3276
+ r'nagios_serviceescalation|nagios_serviceextinfo|'
3277
+ r'nagios_servicegroup|nagios_timeperiod|node|noop|notice|notify|'
3278
+ r'package|present|purged|realize|regsubst|resources|role|router|'
3279
+ r'running|schedule|scheduled_task|search|selboolean|selmodule|'
3280
+ r'service|sha1|shellquote|split|sprintf|ssh_authorized_key|sshkey|'
3281
+ r'stage|stopped|subscribe|tag|tagged|template|tidy|true|undef|'
3282
+ r'unmounted|user|versioncmp|vlan|warning|yumrepo|zfs|zone|'
3283
+ r'zpool)\b', Keyword),
3284
+ ],
3285
+
3286
+ 'strings': [
3287
+ (r'"([^"])*"', String),
3288
+ (r'\'([^\'])*\'', String),
3289
+ ],
3290
+
3291
+ }
3292
+
3293
+
3294
+ class NSISLexer(RegexLexer):
3295
+ """
3296
+ For `NSIS <http://nsis.sourceforge.net/>`_ scripts.
3297
+
3298
+ *New in Pygments 1.6.*
3299
+ """
3300
+ name = 'NSIS'
3301
+ aliases = ['nsis', 'nsi', 'nsh']
3302
+ filenames = ['*.nsi', '*.nsh']
3303
+ mimetypes = ['text/x-nsis']
3304
+
3305
+ flags = re.IGNORECASE
3306
+
3307
+ tokens = {
3308
+ 'root': [
3309
+ (r'[;\#].*\n', Comment),
3310
+ (r"'.*?'", String.Single),
3311
+ (r'"', String.Double, 'str_double'),
3312
+ (r'`', String.Backtick, 'str_backtick'),
3313
+ include('macro'),
3314
+ include('interpol'),
3315
+ include('basic'),
3316
+ (r'\$\{[a-z_|][\w|]*\}', Keyword.Pseudo),
3317
+ (r'/[a-z_]\w*', Name.Attribute),
3318
+ ('.', Text),
3319
+ ],
3320
+ 'basic': [
3321
+ (r'(\n)(Function)(\s+)([._a-z][.\w]*)\b',
3322
+ bygroups(Text, Keyword, Text, Name.Function)),
3323
+ (r'\b([_a-z]\w*)(::)([a-z][a-z0-9]*)\b',
3324
+ bygroups(Keyword.Namespace, Punctuation, Name.Function)),
3325
+ (r'\b([_a-z]\w*)(:)', bygroups(Name.Label, Punctuation)),
3326
+ (r'(\b[ULS]|\B)([\!\<\>=]?=|\<\>?|\>)\B', Operator),
3327
+ (r'[|+-]', Operator),
3328
+ (r'\\', Punctuation),
3329
+ (r'\b(Abort|Add(?:BrandingImage|Size)|'
3330
+ r'Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|'
3331
+ r'BG(?:Font|Gradient)|BrandingText|BringToFront|Call(?:InstDLL)?|'
3332
+ r'(?:Sub)?Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|'
3333
+ r'ComponentText|CopyFiles|CRCCheck|'
3334
+ r'Create(?:Directory|Font|Shortcut)|Delete(?:INI(?:Sec|Str)|'
3335
+ r'Reg(?:Key|Value))?|DetailPrint|DetailsButtonText|'
3336
+ r'Dir(?:Show|Text|Var|Verify)|(?:Disabled|Enabled)Bitmap|'
3337
+ r'EnableWindow|EnumReg(?:Key|Value)|Exch|Exec(?:Shell|Wait)?|'
3338
+ r'ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|'
3339
+ r'Read(?:Byte)?|Seek|Write(?:Byte)?)?|'
3340
+ r'Find(?:Close|First|Next|Window)|FlushINI|Function(?:End)?|'
3341
+ r'Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|'
3342
+ r'ErrorLevel|FileTime(?:Local)?|FullPathName|FunctionAddress|'
3343
+ r'InstDirError|LabelAddress|TempFileName)|'
3344
+ r'Goto|HideWindow|Icon|'
3345
+ r'If(?:Abort|Errors|FileExists|RebootFlag|Silent)|'
3346
+ r'InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|'
3347
+ r'Inst(?:ProgressFlags|Type(?:[GS]etText)?)|Int(?:CmpU?|Fmt|Op)|'
3348
+ r'IsWindow|LangString(?:UP)?|'
3349
+ r'License(?:BkColor|Data|ForceSelection|LangString|Text)|'
3350
+ r'LoadLanguageFile|LockWindow|Log(?:Set|Text)|MessageBox|'
3351
+ r'MiscButtonText|Name|Nop|OutFile|(?:Uninst)?Page(?:Ex(?:End)?)?|'
3352
+ r'PluginDir|Pop|Push|Quit|Read(?:(?:Env|INI|Reg)Str|RegDWORD)|'
3353
+ r'Reboot|(?:Un)?RegDLL|Rename|RequestExecutionLevel|ReserveFile|'
3354
+ r'Return|RMDir|SearchPath|Section(?:Divider|End|'
3355
+ r'(?:(?:Get|Set)(?:Flags|InstTypes|Size|Text))|Group(?:End)?|In)?|'
3356
+ r'SendMessage|Set(?:AutoClose|BrandingImage|Compress(?:ionLevel|'
3357
+ r'or(?:DictSize)?)?|CtlColors|CurInstType|DatablockOptimize|'
3358
+ r'DateSave|Details(?:Print|View)|Error(?:s|Level)|FileAttributes|'
3359
+ r'Font|OutPath|Overwrite|PluginUnload|RebootFlag|ShellVarContext|'
3360
+ r'Silent|StaticBkColor)|'
3361
+ r'Show(?:(?:I|Uni)nstDetails|Window)|Silent(?:Un)?Install|Sleep|'
3362
+ r'SpaceTexts|Str(?:CmpS?|Cpy|Len)|SubSection(?:End)?|'
3363
+ r'Uninstall(?:ButtonText|(?:Sub)?Caption|EXEName|Icon|Text)|'
3364
+ r'UninstPage|Var|VI(?:AddVersionKey|ProductVersion)|WindowIcon|'
3365
+ r'Write(?:INIStr|Reg(:?Bin|DWORD|(?:Expand)?Str)|Uninstaller)|'
3366
+ r'XPStyle)\b', Keyword),
3367
+ (r'\b(CUR|END|(?:FILE_ATTRIBUTE_)?'
3368
+ r'(?:ARCHIVE|HIDDEN|NORMAL|OFFLINE|READONLY|SYSTEM|TEMPORARY)|'
3369
+ r'HK(CC|CR|CU|DD|LM|PD|U)|'
3370
+ r'HKEY_(?:CLASSES_ROOT|CURRENT_(?:CONFIG|USER)|DYN_DATA|'
3371
+ r'LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|'
3372
+ r'ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|'
3373
+ r'MB_(?:ABORTRETRYIGNORE|DEFBUTTON[1-4]|'
3374
+ r'ICON(?:EXCLAMATION|INFORMATION|QUESTION|STOP)|'
3375
+ r'OK(?:CANCEL)?|RETRYCANCEL|RIGHT|SETFOREGROUND|TOPMOST|USERICON|'
3376
+ r'YESNO(?:CANCEL)?)|SET|SHCTX|'
3377
+ r'SW_(?:HIDE|SHOW(?:MAXIMIZED|MINIMIZED|NORMAL))|'
3378
+ r'admin|all|auto|both|bottom|bzip2|checkbox|colored|current|false|'
3379
+ r'force|hide|highest|if(?:diff|newer)|lastused|leave|left|'
3380
+ r'listonly|lzma|nevershow|none|normal|off|on|pop|push|'
3381
+ r'radiobuttons|right|show|silent|silentlog|smooth|textonly|top|'
3382
+ r'true|try|user|zlib)\b', Name.Constant),
3383
+ ],
3384
+ 'macro': [
3385
+ (r'\!(addincludedir(?:dir)?|addplugindir|appendfile|cd|define|'
3386
+ r'delfilefile|echo(?:message)?|else|endif|error|execute|'
3387
+ r'if(?:macro)?n?(?:def)?|include|insertmacro|macro(?:end)?|packhdr|'
3388
+ r'search(?:parse|replace)|system|tempfilesymbol|undef|verbose|'
3389
+ r'warning)\b', Comment.Preproc),
3390
+ ],
3391
+ 'interpol': [
3392
+ (r'\$(R?[0-9])', Name.Builtin.Pseudo), # registers
3393
+ (r'\$(ADMINTOOLS|APPDATA|CDBURN_AREA|COOKIES|COMMONFILES(?:32|64)|'
3394
+ r'DESKTOP|DOCUMENTS|EXE(?:DIR|FILE|PATH)|FAVORITES|FONTS|HISTORY|'
3395
+ r'HWNDPARENT|INTERNET_CACHE|LOCALAPPDATA|MUSIC|NETHOOD|PICTURES|'
3396
+ r'PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES(?:32|64)|QUICKLAUNCH|'
3397
+ r'RECENT|RESOURCES(?:_LOCALIZED)?|SENDTO|SM(?:PROGRAMS|STARTUP)|'
3398
+ r'STARTMENU|SYSDIR|TEMP(?:LATES)?|VIDEOS|WINDIR|\{NSISDIR\})',
3399
+ Name.Builtin),
3400
+ (r'\$(CMDLINE|INSTDIR|OUTDIR|LANGUAGE)', Name.Variable.Global),
3401
+ (r'\$[a-z_]\w*', Name.Variable),
3402
+ ],
3403
+ 'str_double': [
3404
+ (r'"', String, '#pop'),
3405
+ (r'\$(\\[nrt"]|\$)', String.Escape),
3406
+ include('interpol'),
3407
+ (r'.', String.Double),
3408
+ ],
3409
+ 'str_backtick': [
3410
+ (r'`', String, '#pop'),
3411
+ (r'\$(\\[nrt"]|\$)', String.Escape),
3412
+ include('interpol'),
3413
+ (r'.', String.Double),
3414
+ ],
3415
+ }
3416
+
3417
+
3418
+ class RPMSpecLexer(RegexLexer):
3419
+ """
3420
+ For RPM *.spec files
3421
+
3422
+ *New in Pygments 1.6.*
3423
+ """
3424
+
3425
+ name = 'RPMSpec'
3426
+ aliases = ['spec']
3427
+ filenames = ['*.spec']
3428
+ mimetypes = ['text/x-rpm-spec']
3429
+
3430
+ _directives = ('(?:package|prep|build|install|clean|check|pre[a-z]*|'
3431
+ 'post[a-z]*|trigger[a-z]*|files)')
3432
+
3433
+ tokens = {
3434
+ 'root': [
3435
+ (r'#.*\n', Comment),
3436
+ include('basic'),
3437
+ ],
3438
+ 'description': [
3439
+ (r'^(%' + _directives + ')(.*)$',
3440
+ bygroups(Name.Decorator, Text), '#pop'),
3441
+ (r'\n', Text),
3442
+ (r'.', Text),
3443
+ ],
3444
+ 'changelog': [
3445
+ (r'\*.*\n', Generic.Subheading),
3446
+ (r'^(%' + _directives + ')(.*)$',
3447
+ bygroups(Name.Decorator, Text), '#pop'),
3448
+ (r'\n', Text),
3449
+ (r'.', Text),
3450
+ ],
3451
+ 'string': [
3452
+ (r'"', String.Double, '#pop'),
3453
+ (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})', String.Escape),
3454
+ include('interpol'),
3455
+ (r'.', String.Double),
3456
+ ],
3457
+ 'basic': [
3458
+ include('macro'),
3459
+ (r'(?i)^(Name|Version|Release|Epoch|Summary|Group|License|Packager|'
3460
+ r'Vendor|Icon|URL|Distribution|Prefix|Patch[0-9]*|Source[0-9]*|'
3461
+ r'Requires\(?[a-z]*\)?|[a-z]+Req|Obsoletes|Suggests|Provides|Conflicts|'
3462
+ r'Build[a-z]+|[a-z]+Arch|Auto[a-z]+)(:)(.*)$',
3463
+ bygroups(Generic.Heading, Punctuation, using(this))),
3464
+ (r'^%description', Name.Decorator, 'description'),
3465
+ (r'^%changelog', Name.Decorator, 'changelog'),
3466
+ (r'^(%' + _directives + ')(.*)$', bygroups(Name.Decorator, Text)),
3467
+ (r'%(attr|defattr|dir|doc(?:dir)?|setup|config(?:ure)?|'
3468
+ r'make(?:install)|ghost|patch[0-9]+|find_lang|exclude|verify)',
3469
+ Keyword),
3470
+ include('interpol'),
3471
+ (r"'.*?'", String.Single),
3472
+ (r'"', String.Double, 'string'),
3473
+ (r'.', Text),
3474
+ ],
3475
+ 'macro': [
3476
+ (r'%define.*\n', Comment.Preproc),
3477
+ (r'%\{\!\?.*%define.*\}', Comment.Preproc),
3478
+ (r'(%(?:if(?:n?arch)?|else(?:if)?|endif))(.*)$',
3479
+ bygroups(Comment.Preproc, Text)),
3480
+ ],
3481
+ 'interpol': [
3482
+ (r'%\{?__[a-z_]+\}?', Name.Function),
3483
+ (r'%\{?_([a-z_]+dir|[a-z_]+path|prefix)\}?', Keyword.Pseudo),
3484
+ (r'%\{\?[A-Za-z0-9_]+\}', Name.Variable),
3485
+ (r'\$\{?RPM_[A-Z0-9_]+\}?', Name.Variable.Global),
3486
+ (r'%\{[a-zA-Z][a-zA-Z0-9_]+\}', Keyword.Constant),
3487
+ ]
3488
+ }
3489
+
3490
+
3491
+ class AutoItLexer(RegexLexer):
3492
+ """
3493
+ For `AutoIt <http://www.autoitscript.com/site/autoit/>`_ files.
3494
+
3495
+ AutoIt is a freeware BASIC-like scripting language
3496
+ designed for automating the Windows GUI and general scripting
3497
+
3498
+ *New in Pygments 1.6.*
3499
+ """
3500
+ name = 'AutoIt'
3501
+ aliases = ['autoit', 'Autoit']
3502
+ filenames = ['*.au3']
3503
+ mimetypes = ['text/x-autoit']
3504
+
3505
+ # Keywords, functions, macros from au3.keywords.properties
3506
+ # which can be found in AutoIt installed directory, e.g.
3507
+ # c:\Program Files (x86)\AutoIt3\SciTE\au3.keywords.properties
3508
+
3509
+ keywords = """\
3510
+ #include-once #include #endregion #forcedef #forceref #region
3511
+ and byref case continueloop dim do else elseif endfunc endif
3512
+ endselect exit exitloop for func global
3513
+ if local next not or return select step
3514
+ then to until wend while exit""".split()
3515
+
3516
+ functions = """\
3517
+ abs acos adlibregister adlibunregister asc ascw asin assign atan
3518
+ autoitsetoption autoitwingettitle autoitwinsettitle beep binary binarylen
3519
+ binarymid binarytostring bitand bitnot bitor bitrotate bitshift bitxor
3520
+ blockinput break call cdtray ceiling chr chrw clipget clipput consoleread
3521
+ consolewrite consolewriteerror controlclick controlcommand controldisable
3522
+ controlenable controlfocus controlgetfocus controlgethandle controlgetpos
3523
+ controlgettext controlhide controllistview controlmove controlsend
3524
+ controlsettext controlshow controltreeview cos dec dircopy dircreate
3525
+ dirgetsize dirmove dirremove dllcall dllcalladdress dllcallbackfree
3526
+ dllcallbackgetptr dllcallbackregister dllclose dllopen dllstructcreate
3527
+ dllstructgetdata dllstructgetptr dllstructgetsize dllstructsetdata
3528
+ drivegetdrive drivegetfilesystem drivegetlabel drivegetserial drivegettype
3529
+ drivemapadd drivemapdel drivemapget drivesetlabel drivespacefree
3530
+ drivespacetotal drivestatus envget envset envupdate eval execute exp
3531
+ filechangedir fileclose filecopy filecreatentfslink filecreateshortcut
3532
+ filedelete fileexists filefindfirstfile filefindnextfile fileflush
3533
+ filegetattrib filegetencoding filegetlongname filegetpos filegetshortcut
3534
+ filegetshortname filegetsize filegettime filegetversion fileinstall filemove
3535
+ fileopen fileopendialog fileread filereadline filerecycle filerecycleempty
3536
+ filesavedialog fileselectfolder filesetattrib filesetpos filesettime
3537
+ filewrite filewriteline floor ftpsetproxy guicreate guictrlcreateavi
3538
+ guictrlcreatebutton guictrlcreatecheckbox guictrlcreatecombo
3539
+ guictrlcreatecontextmenu guictrlcreatedate guictrlcreatedummy
3540
+ guictrlcreateedit guictrlcreategraphic guictrlcreategroup guictrlcreateicon
3541
+ guictrlcreateinput guictrlcreatelabel guictrlcreatelist
3542
+ guictrlcreatelistview guictrlcreatelistviewitem guictrlcreatemenu
3543
+ guictrlcreatemenuitem guictrlcreatemonthcal guictrlcreateobj
3544
+ guictrlcreatepic guictrlcreateprogress guictrlcreateradio
3545
+ guictrlcreateslider guictrlcreatetab guictrlcreatetabitem
3546
+ guictrlcreatetreeview guictrlcreatetreeviewitem guictrlcreateupdown
3547
+ guictrldelete guictrlgethandle guictrlgetstate guictrlread guictrlrecvmsg
3548
+ guictrlregisterlistviewsort guictrlsendmsg guictrlsendtodummy
3549
+ guictrlsetbkcolor guictrlsetcolor guictrlsetcursor guictrlsetdata
3550
+ guictrlsetdefbkcolor guictrlsetdefcolor guictrlsetfont guictrlsetgraphic
3551
+ guictrlsetimage guictrlsetlimit guictrlsetonevent guictrlsetpos
3552
+ guictrlsetresizing guictrlsetstate guictrlsetstyle guictrlsettip guidelete
3553
+ guigetcursorinfo guigetmsg guigetstyle guiregistermsg guisetaccelerators
3554
+ guisetbkcolor guisetcoord guisetcursor guisetfont guisethelp guiseticon
3555
+ guisetonevent guisetstate guisetstyle guistartgroup guiswitch hex hotkeyset
3556
+ httpsetproxy httpsetuseragent hwnd inetclose inetget inetgetinfo inetgetsize
3557
+ inetread inidelete iniread inireadsection inireadsectionnames
3558
+ inirenamesection iniwrite iniwritesection inputbox int isadmin isarray
3559
+ isbinary isbool isdeclared isdllstruct isfloat ishwnd isint iskeyword
3560
+ isnumber isobj isptr isstring log memgetstats mod mouseclick mouseclickdrag
3561
+ mousedown mousegetcursor mousegetpos mousemove mouseup mousewheel msgbox
3562
+ number objcreate objcreateinterface objevent objevent objget objname
3563
+ onautoitexitregister onautoitexitunregister opt ping pixelchecksum
3564
+ pixelgetcolor pixelsearch pluginclose pluginopen processclose processexists
3565
+ processgetstats processlist processsetpriority processwait processwaitclose
3566
+ progressoff progresson progressset ptr random regdelete regenumkey
3567
+ regenumval regread regwrite round run runas runaswait runwait send
3568
+ sendkeepactive seterror setextended shellexecute shellexecutewait shutdown
3569
+ sin sleep soundplay soundsetwavevolume splashimageon splashoff splashtexton
3570
+ sqrt srandom statusbargettext stderrread stdinwrite stdioclose stdoutread
3571
+ string stringaddcr stringcompare stringformat stringfromasciiarray
3572
+ stringinstr stringisalnum stringisalpha stringisascii stringisdigit
3573
+ stringisfloat stringisint stringislower stringisspace stringisupper
3574
+ stringisxdigit stringleft stringlen stringlower stringmid stringregexp
3575
+ stringregexpreplace stringreplace stringright stringsplit stringstripcr
3576
+ stringstripws stringtoasciiarray stringtobinary stringtrimleft
3577
+ stringtrimright stringupper tan tcpaccept tcpclosesocket tcpconnect
3578
+ tcplisten tcpnametoip tcprecv tcpsend tcpshutdown tcpstartup timerdiff
3579
+ timerinit tooltip traycreateitem traycreatemenu traygetmsg trayitemdelete
3580
+ trayitemgethandle trayitemgetstate trayitemgettext trayitemsetonevent
3581
+ trayitemsetstate trayitemsettext traysetclick trayseticon traysetonevent
3582
+ traysetpauseicon traysetstate traysettooltip traytip ubound udpbind
3583
+ udpclosesocket udpopen udprecv udpsend udpshutdown udpstartup vargettype
3584
+ winactivate winactive winclose winexists winflash wingetcaretpos
3585
+ wingetclasslist wingetclientsize wingethandle wingetpos wingetprocess
3586
+ wingetstate wingettext wingettitle winkill winlist winmenuselectitem
3587
+ winminimizeall winminimizeallundo winmove winsetontop winsetstate
3588
+ winsettitle winsettrans winwait winwaitactive winwaitclose
3589
+ winwaitnotactive""".split()
3590
+
3591
+ macros = """\
3592
+ @appdatacommondir @appdatadir @autoitexe @autoitpid @autoitversion
3593
+ @autoitx64 @com_eventobj @commonfilesdir @compiled @computername @comspec
3594
+ @cpuarch @cr @crlf @desktopcommondir @desktopdepth @desktopdir
3595
+ @desktopheight @desktoprefresh @desktopwidth @documentscommondir @error
3596
+ @exitcode @exitmethod @extended @favoritescommondir @favoritesdir
3597
+ @gui_ctrlhandle @gui_ctrlid @gui_dragfile @gui_dragid @gui_dropid
3598
+ @gui_winhandle @homedrive @homepath @homeshare @hotkeypressed @hour
3599
+ @ipaddress1 @ipaddress2 @ipaddress3 @ipaddress4 @kblayout @lf
3600
+ @logondnsdomain @logondomain @logonserver @mday @min @mon @msec @muilang
3601
+ @mydocumentsdir @numparams @osarch @osbuild @oslang @osservicepack @ostype
3602
+ @osversion @programfilesdir @programscommondir @programsdir @scriptdir
3603
+ @scriptfullpath @scriptlinenumber @scriptname @sec @startmenucommondir
3604
+ @startmenudir @startupcommondir @startupdir @sw_disable @sw_enable @sw_hide
3605
+ @sw_lock @sw_maximize @sw_minimize @sw_restore @sw_show @sw_showdefault
3606
+ @sw_showmaximized @sw_showminimized @sw_showminnoactive @sw_showna
3607
+ @sw_shownoactivate @sw_shownormal @sw_unlock @systemdir @tab @tempdir
3608
+ @tray_id @trayiconflashing @trayiconvisible @username @userprofiledir @wday
3609
+ @windowsdir @workingdir @yday @year""".split()
3610
+
3611
+ tokens = {
3612
+ 'root': [
3613
+ (r';.*\n', Comment.Single),
3614
+ (r'(#comments-start|#cs).*?(#comments-end|#ce)', Comment.Multiline),
3615
+ (r'[\[\]{}(),;]', Punctuation),
3616
+ (r'(and|or|not)\b', Operator.Word),
3617
+ (r'[\$|@][a-zA-Z_][a-zA-Z0-9_]*', Name.Variable),
3618
+ (r'!=|==|:=|\.=|<<|>>|[-~+/*%=<>&^|?:!.]', Operator),
3619
+ include('commands'),
3620
+ include('labels'),
3621
+ include('builtInFunctions'),
3622
+ include('builtInMarcros'),
3623
+ (r'"', String, combined('stringescape', 'dqs')),
3624
+ include('numbers'),
3625
+ (r'[a-zA-Z_#@$][a-zA-Z0-9_#@$]*', Name),
3626
+ (r'\\|\'', Text),
3627
+ (r'\`([\,\%\`abfnrtv\-\+;])', String.Escape),
3628
+ (r'_\n', Text), # Line continuation
3629
+ include('garbage'),
3630
+ ],
3631
+ 'commands': [
3632
+ (r'(?i)(\s*)(%s)\b' % '|'.join(keywords),
3633
+ bygroups(Text, Name.Builtin)),
3634
+ ],
3635
+ 'builtInFunctions': [
3636
+ (r'(?i)(%s)\b' % '|'.join(functions),
3637
+ Name.Function),
3638
+ ],
3639
+ 'builtInMarcros': [
3640
+ (r'(?i)(%s)\b' % '|'.join(macros),
3641
+ Name.Variable.Global),
3642
+ ],
3643
+ 'labels': [
3644
+ # sendkeys
3645
+ (r'(^\s*)({\S+?})', bygroups(Text, Name.Label)),
3646
+ ],
3647
+ 'numbers': [
3648
+ (r'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?', Number.Float),
3649
+ (r'\d+[eE][+-]?[0-9]+', Number.Float),
3650
+ (r'0\d+', Number.Oct),
3651
+ (r'0[xX][a-fA-F0-9]+', Number.Hex),
3652
+ (r'\d+L', Number.Integer.Long),
3653
+ (r'\d+', Number.Integer)
3654
+ ],
3655
+ 'stringescape': [
3656
+ (r'\"\"|\`([\,\%\`abfnrtv])', String.Escape),
3657
+ ],
3658
+ 'strings': [
3659
+ (r'[^"\n]+', String),
3660
+ ],
3661
+ 'dqs': [
3662
+ (r'"', String, '#pop'),
3663
+ include('strings')
3664
+ ],
3665
+ 'garbage': [
3666
+ (r'[^\S\n]', Text),
3667
+ ],
3668
+ }
3669
+
3670
+
3671
+ class RexxLexer(RegexLexer):
3672
+ """
3673
+ `Rexx <http://www.rexxinfo.org/>`_ is a scripting language available for
3674
+ a wide range of different platforms with its roots found on mainframe
3675
+ systems. It is popular for I/O- and data based tasks and can act as glue
3676
+ language to bind different applications together.
3677
+
3678
+ *New in Pygments 1.7.*
3679
+ """
3680
+ name = 'Rexx'
3681
+ aliases = ['rexx', 'ARexx', 'arexx']
3682
+ filenames = ['*.rexx', '*.rex', '*.rx', '*.arexx']
3683
+ mimetypes = ['text/x-rexx']
3684
+ flags = re.IGNORECASE
3685
+
3686
+ tokens = {
3687
+ 'root': [
3688
+ (r'\s', Whitespace),
3689
+ (r'/\*', Comment.Multiline, 'comment'),
3690
+ (r'"', String, 'string_double'),
3691
+ (r"'", String, 'string_single'),
3692
+ (r'[0-9]+(\.[0-9]+)?(e[+-]?[0-9])?', Number),
3693
+ (r'([a-z_][a-z0-9_]*)(\s*)(:)(\s*)(procedure)\b',
3694
+ bygroups(Name.Function, Whitespace, Operator, Whitespace,
3695
+ Keyword.Declaration)),
3696
+ (r'([a-z_][a-z0-9_]*)(\s*)(:)',
3697
+ bygroups(Name.Label, Whitespace, Operator)),
3698
+ include('function'),
3699
+ include('keyword'),
3700
+ include('operator'),
3701
+ (r'[a-z_][a-z0-9_]*', Text),
3702
+ ],
3703
+ 'function': [
3704
+ (r'(abbrev|abs|address|arg|b2x|bitand|bitor|bitxor|c2d|c2x|'
3705
+ r'center|charin|charout|chars|compare|condition|copies|d2c|'
3706
+ r'd2x|datatype|date|delstr|delword|digits|errortext|form|'
3707
+ r'format|fuzz|insert|lastpos|left|length|linein|lineout|lines|'
3708
+ r'max|min|overlay|pos|queued|random|reverse|right|sign|'
3709
+ r'sourceline|space|stream|strip|substr|subword|symbol|time|'
3710
+ r'trace|translate|trunc|value|verify|word|wordindex|'
3711
+ r'wordlength|wordpos|words|x2b|x2c|x2d|xrange)(\s*)(\()',
3712
+ bygroups(Name.Builtin, Whitespace, Operator)),
3713
+ ],
3714
+ 'keyword': [
3715
+ (r'(address|arg|by|call|do|drop|else|end|exit|for|forever|if|'
3716
+ r'interpret|iterate|leave|nop|numeric|off|on|options|parse|'
3717
+ r'pull|push|queue|return|say|select|signal|to|then|trace|until|'
3718
+ r'while)\b', Keyword.Reserved),
3719
+ ],
3720
+ 'operator': [
3721
+ (ur'(-|//|/|\(|\)|\*\*|\*|\\<<|\\<|\\==|\\=|\\>>|\\>|\\|\|\||\||'
3722
+ ur'&&|&|%|\+|<<=|<<|<=|<>|<|==|=|><|>=|>>=|>>|>|¬<<|¬<|¬==|¬=|'
3723
+ ur'¬>>|¬>|¬|\.|,)', Operator),
3724
+ ],
3725
+ 'string_double': [
3726
+ (r'[^"\n]+', String),
3727
+ (r'""', String),
3728
+ (r'"', String, '#pop'),
3729
+ (r'\n', Text, '#pop'), # Stray linefeed also terminates strings.
3730
+ ],
3731
+ 'string_single': [
3732
+ (r'[^\'\n]', String),
3733
+ (r'\'\'', String),
3734
+ (r'\'', String, '#pop'),
3735
+ (r'\n', Text, '#pop'), # Stray linefeed also terminates strings.
3736
+ ],
3737
+ 'comment': [
3738
+ (r'[^*]+', Comment.Multiline),
3739
+ (r'\*/', Comment.Multiline, '#pop'),
3740
+ (r'\*', Comment.Multiline),
3741
+ ]
3742
+ }
3743
+
3744
+ _c = lambda s: re.compile(s, re.MULTILINE)
3745
+ _ADDRESS_COMMAND_PATTERN = _c(r'^\s*address\s+command\b')
3746
+ _ADDRESS_PATTERN = _c(r'^\s*address\s+')
3747
+ _DO_WHILE_PATTERN = _c(r'^\s*do\s+while\b')
3748
+ _IF_THEN_DO_PATTERN = _c(r'^\s*if\b.+\bthen\s+do\s*$')
3749
+ _PROCEDURE_PATTERN = _c(r'^\s*([a-z_][a-z0-9_]*)(\s*)(:)(\s*)(procedure)\b')
3750
+ _ELSE_DO_PATTERN = _c(r'\belse\s+do\s*$')
3751
+ _PARSE_ARG_PATTERN = _c(r'^\s*parse\s+(upper\s+)?(arg|value)\b')
3752
+ PATTERNS_AND_WEIGHTS = (
3753
+ (_ADDRESS_COMMAND_PATTERN, 0.2),
3754
+ (_ADDRESS_PATTERN, 0.05),
3755
+ (_DO_WHILE_PATTERN, 0.1),
3756
+ (_ELSE_DO_PATTERN, 0.1),
3757
+ (_IF_THEN_DO_PATTERN, 0.1),
3758
+ (_PROCEDURE_PATTERN, 0.5),
3759
+ (_PARSE_ARG_PATTERN, 0.2),
3760
+ )
3761
+
3762
+ def analyse_text(text):
3763
+ """
3764
+ Check for inital comment and patterns that distinguish Rexx from other
3765
+ C-like languages.
3766
+ """
3767
+ if re.search(r'/\*\**\s*rexx', text, re.IGNORECASE):
3768
+ # Header matches MVS Rexx requirements, this is certainly a Rexx
3769
+ # script.
3770
+ return 1.0
3771
+ elif text.startswith('/*'):
3772
+ # Header matches general Rexx requirements; the source code might
3773
+ # still be any language using C comments such as C++, C# or Java.
3774
+ lowerText = text.lower()
3775
+ result = sum(weight
3776
+ for (pattern, weight) in RexxLexer.PATTERNS_AND_WEIGHTS
3777
+ if pattern.search(lowerText)) + 0.01
3778
+ return min(result, 1.0)