ThirdParty/Pygments/pygments/lexers/other.py

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

eric ide

mercurial