abl-tmlanguage 1.3.9 → 1.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -3
- package/README.md +44 -41
- package/abl.tmLanguage.json +639 -311
- package/index.js +109 -71
- package/package.json +6 -6
- package/spec/array-extent/issue#5.spec.js +9 -9
- package/spec/comments/spacious-comment.spec.js +73 -0
- package/spec/create-widgets/create-window.spec.js +221 -0
- package/spec/db-table-and-field/create-alias.spec.js +101 -0
- package/spec/db-table-and-field/create-record.spec.js +43 -0
- package/spec/db-table-and-field/find-record.spec.js +91 -0
- package/spec/define/define-browse.spec.js +40 -40
- package/spec/define/define-query.spec.js +14 -13
- package/spec/define-variable/extent.spec.js +6 -6
- package/spec/define-variable/var-statement.spec.js +375 -0
- package/spec/include/include-file-name.spec.js +224 -0
- package/spec/include/vscode-abl-issue#77.spec.js +2 -2
- package/spec/input-output/input-from.spec.js +501 -0
- package/spec/input-output/output-to.spec.js +456 -0
- package/spec/method-attribute-property-call/get-set-method-name.spec.js +50 -5
- package/spec/method-definition/method.spec.js +184 -0
- package/spec/misc-statements/array-for.spec.js +2 -2
- package/spec/misc-statements/if-then.spec.js +118 -1
- package/spec/preprocesors/proparse-preprocessor.spec.js +3 -3
- package/spec/procedure-definition/vscode-abl-issue#26.spec.js +6 -6
- package/spec/type-name/parameter-as.spec.js +9 -9
package/abl.tmLanguage.json
CHANGED
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"repository": {
|
|
15
15
|
"procedure-definition": {
|
|
16
16
|
"name": "meta.procedure.abl",
|
|
17
|
-
"comment": "Look ahead to the procedure name, quoted or not. It will be resolved in the patterns",
|
|
18
|
-
"begin": "(?i)\\s*(
|
|
17
|
+
"comment": "Look ahead to the procedure name, quoted or not. It will be resolved in the patterns. 'Names must begin with a letter.' from https://docs.progress.com/bundle/openedge-abl-manage-applications/page/Name-limits.html",
|
|
18
|
+
"begin": "(?i)\\s*(proce(?:dure|dur|du|d)?)\\s+(?=[a-zA-Z_])",
|
|
19
19
|
"beginCaptures": {
|
|
20
20
|
"1": {
|
|
21
21
|
"name": "keyword.other.abl"
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"patterns": [
|
|
31
31
|
{
|
|
32
|
-
"match": "(?i)\\b(external|cdecl|pascal|stdcall|ordinal|
|
|
32
|
+
"match": "(?i)\\b(external|cdecl|pascal|stdcall|ordinal|(persist(?:ent|en|e)?)|thread-safe|in|super)\\b",
|
|
33
33
|
"captures": {
|
|
34
34
|
"1": {
|
|
35
35
|
"name": "keyword.other.abl"
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"include": "#string"
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
|
-
"match": "([
|
|
43
|
+
"match": "([a-zA-Z_][a-zA-Z0-9_#$\\-%&\\.]+)(?<!\\.)",
|
|
44
44
|
"comment": "A procedure name may contain a . but cannot end in one, unless the procedure name is in quotes",
|
|
45
45
|
"captures": {
|
|
46
46
|
"1": {
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
},
|
|
62
62
|
"translation-attribute": {
|
|
63
63
|
"comment": "The attribute must have one of L, R, T, or C and/or a U and/or one integer value. For example, R1 as the attribute value for Label.",
|
|
64
|
-
"match": "(
|
|
64
|
+
"match": "(:[LlRrTtCcUu]\\d*)\\b",
|
|
65
65
|
"captures": {
|
|
66
66
|
"1": {
|
|
67
67
|
"name": "support.other.abl"
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
71
|
"language-functions": {
|
|
72
|
-
"match": "(?i)\\b(opsys|
|
|
72
|
+
"match": "(?i)\\b(opsys|(provers(?:ion|io|i)?)|guid|generate-uuid)\\b",
|
|
73
73
|
"comment": "These are functions that do not require parens when called.",
|
|
74
74
|
"captures": {
|
|
75
75
|
"1": {
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
},
|
|
80
80
|
"function-definition": {
|
|
81
81
|
"name": "meta.define.function.abl",
|
|
82
|
-
"begin": "(?i)\\b(function)\\s+([
|
|
82
|
+
"begin": "(?i)\\b(function)\\s+([a-zA-Z0-9_][a-zA-Z0-9_#$\\-%&]+)\\b",
|
|
83
83
|
"beginCaptures": {
|
|
84
84
|
"1": {
|
|
85
85
|
"name": "keyword.other.abl"
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"name": "entity.name.function.abl"
|
|
89
89
|
}
|
|
90
90
|
},
|
|
91
|
-
"end": "(
|
|
91
|
+
"end": "(\\.|:)",
|
|
92
92
|
"endCaptures": {
|
|
93
93
|
"1": {
|
|
94
94
|
"name": "punctuation.terminator.abl"
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
},
|
|
97
97
|
"patterns": [
|
|
98
98
|
{
|
|
99
|
-
"match": "(?i)\\b(map|to)\\s+(?!to\\s+)([
|
|
99
|
+
"match": "(?i)\\b(map|to)\\s+(?!to\\s+)([a-zA-Z_][a-zA-Z0-9_#$\\-%&]+)\\b",
|
|
100
100
|
"captures": {
|
|
101
101
|
"1": {
|
|
102
102
|
"name": "keyword.other.abl"
|
|
@@ -124,10 +124,23 @@
|
|
|
124
124
|
{
|
|
125
125
|
"comment": "This captures everything after the parens, which may contain variables and methods",
|
|
126
126
|
"begin": "(?i)(?<=\\)|in)",
|
|
127
|
-
"end": "(?=(
|
|
127
|
+
"end": "(?=(\\.|:)\\s)",
|
|
128
128
|
"patterns": [
|
|
129
129
|
{
|
|
130
|
-
"
|
|
130
|
+
"match": "\\b([Ii][Nn])\\b",
|
|
131
|
+
"captures": {
|
|
132
|
+
"1": {
|
|
133
|
+
"name": "keyword.other.abl"
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"match": "\\b([Ss][Uu][Pp][Ee][Rr])\\b",
|
|
139
|
+
"captures": {
|
|
140
|
+
"1": {
|
|
141
|
+
"name": "keyword.other.abl"
|
|
142
|
+
}
|
|
143
|
+
}
|
|
131
144
|
},
|
|
132
145
|
{
|
|
133
146
|
"include": "#type-member-call"
|
|
@@ -135,6 +148,9 @@
|
|
|
135
148
|
{
|
|
136
149
|
"include": "#variable-name"
|
|
137
150
|
},
|
|
151
|
+
{
|
|
152
|
+
"include": "#keywords"
|
|
153
|
+
},
|
|
138
154
|
{
|
|
139
155
|
"include": "#comment"
|
|
140
156
|
},
|
|
@@ -186,16 +202,7 @@
|
|
|
186
202
|
}
|
|
187
203
|
},
|
|
188
204
|
{
|
|
189
|
-
"
|
|
190
|
-
"match": "(?i)\\b([[:alpha:]_]+[\\w\\-{}#$%&]*)\\b\\R",
|
|
191
|
-
"captures": {
|
|
192
|
-
"1": {
|
|
193
|
-
"name": "entity.name.function.abl"
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
"begin": "(?i)\\s*([[:alpha:]_]+[\\w\\-{}#$%&]*)?\\s*(\\()\\s*",
|
|
205
|
+
"begin": "(?i)\\s*([a-zA-Z0-9_]+[a-zA-Z0-9_\\-{}#$%&]*)?\\s*(\\()\\s*",
|
|
199
206
|
"beginCaptures": {
|
|
200
207
|
"1": {
|
|
201
208
|
"name": "entity.name.function.abl"
|
|
@@ -231,6 +238,15 @@
|
|
|
231
238
|
"include": "#primitive-type",
|
|
232
239
|
"comment": "For the return type"
|
|
233
240
|
},
|
|
241
|
+
{
|
|
242
|
+
"comment": "The last word on the line is assumed to me the method name. Legal ABL can have each word of the method definition on its own line, so this rule may not return the correct values",
|
|
243
|
+
"match": "(?i)\\b([a-zA-Z0-9_]+[a-zA-Z0-9_\\-{}#$%&]*)\\b\\R",
|
|
244
|
+
"captures": {
|
|
245
|
+
"1": {
|
|
246
|
+
"name": "entity.name.function.abl"
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
},
|
|
234
250
|
{
|
|
235
251
|
"include": "#dll-type",
|
|
236
252
|
"comment": "For the return type"
|
|
@@ -257,7 +273,7 @@
|
|
|
257
273
|
}
|
|
258
274
|
},
|
|
259
275
|
"as-type": {
|
|
260
|
-
"begin": "
|
|
276
|
+
"begin": "\\s*([Aa][Ss])\\s*([Cc][Ll][Aa][Ss]{2})?",
|
|
261
277
|
"beginCaptures": {
|
|
262
278
|
"1": {
|
|
263
279
|
"name": "keyword.other.abl"
|
|
@@ -280,7 +296,7 @@
|
|
|
280
296
|
"name": "meta.define.parameter.abl",
|
|
281
297
|
"patterns": [
|
|
282
298
|
{
|
|
283
|
-
"match": "(?i)\\s*(input-
|
|
299
|
+
"match": "(?i)\\s*((input-o(?:utput|utpu|utp|u)?)|input|output|append|bind|by-value|(presel(?:ect|ec|e)?)|buffer|(param(?:eter|ete|et|e)?)|no-undo)\\s*",
|
|
284
300
|
"comment": "Certain keywords like NO-UNDO are 'gathered' by a DEFINE INPUT PARAMETER statement. ",
|
|
285
301
|
"captures": {
|
|
286
302
|
"1": {
|
|
@@ -289,7 +305,7 @@
|
|
|
289
305
|
}
|
|
290
306
|
},
|
|
291
307
|
{
|
|
292
|
-
"match": "(?i)\\s*(dataset-handle|table-handle)\\s+([
|
|
308
|
+
"match": "(?i)\\s*(dataset-handle|table-handle)\\s+([a-zA-Z][a-zA-Z0-9_\\-]*)",
|
|
293
309
|
"captures": {
|
|
294
310
|
"1": {
|
|
295
311
|
"name": "keyword.other.abl"
|
|
@@ -300,7 +316,7 @@
|
|
|
300
316
|
}
|
|
301
317
|
},
|
|
302
318
|
{
|
|
303
|
-
"match": "(?i)\\s*(dataset)\\s+([
|
|
319
|
+
"match": "(?i)\\s*(dataset)\\s+([a-zA-Z][a-zA-Z0-9_\\-]*)\\s*",
|
|
304
320
|
"captures": {
|
|
305
321
|
"1": {
|
|
306
322
|
"name": "keyword.other.abl"
|
|
@@ -311,7 +327,7 @@
|
|
|
311
327
|
}
|
|
312
328
|
},
|
|
313
329
|
{
|
|
314
|
-
"match": "(?i)\\s*(table)\\s+([
|
|
330
|
+
"match": "(?i)\\s*(table)\\s+([a-zA-Z][a-zA-Z0-9_\\-]*)\\s*",
|
|
315
331
|
"captures": {
|
|
316
332
|
"1": {
|
|
317
333
|
"name": "keyword.other.abl"
|
|
@@ -325,7 +341,7 @@
|
|
|
325
341
|
"include": "#parameter-as"
|
|
326
342
|
},
|
|
327
343
|
{
|
|
328
|
-
"match": "(?i)\\s*(
|
|
344
|
+
"match": "(?i)\\s*((char(?:acter|acte|act|ac|a)?)|com-handle|date|datetime-tz|datetime|(dec(?:imal|ima|im|i)?)|handle|int64|(int(?:eger|ege|eg|e)?)|(log(?:ical|ica|ic|i)?)|(longch(?:ar|a)?)|memptr|raw|recid|rowid|(widget-h(?:andle|andl|and|an|a)?))(?![=a-zA-Z0-9_\\-])\\s*(,*)",
|
|
329
345
|
"captures": {
|
|
330
346
|
"1": {
|
|
331
347
|
"name": "storage.type.abl"
|
|
@@ -391,7 +407,7 @@
|
|
|
391
407
|
]
|
|
392
408
|
},
|
|
393
409
|
"function-parameter-definition": {
|
|
394
|
-
"comment": "https://docs.progress.com/bundle/abl-reference/page/Parameter-definition-syntax.html
|
|
410
|
+
"comment": "https://docs.progress.com/bundle/abl-reference/page/Parameter-definition-syntax.html",
|
|
395
411
|
"name": "meta.function.parameters",
|
|
396
412
|
"begin": "(\\()",
|
|
397
413
|
"beginCaptures": {
|
|
@@ -414,12 +430,24 @@
|
|
|
414
430
|
"statements": {
|
|
415
431
|
"name": "meta.statements.abl",
|
|
416
432
|
"patterns": [
|
|
433
|
+
{
|
|
434
|
+
"include": "#comment"
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"include": "#var-statement"
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"include": "#input-output-from-to"
|
|
441
|
+
},
|
|
417
442
|
{
|
|
418
443
|
"include": "#function-definition"
|
|
419
444
|
},
|
|
420
445
|
{
|
|
421
446
|
"include": "#record-buffer-functions"
|
|
422
447
|
},
|
|
448
|
+
{
|
|
449
|
+
"include": "#create-statement"
|
|
450
|
+
},
|
|
423
451
|
{
|
|
424
452
|
"include": "#can-find"
|
|
425
453
|
},
|
|
@@ -432,9 +460,6 @@
|
|
|
432
460
|
{
|
|
433
461
|
"include": "#event-un-subscribe"
|
|
434
462
|
},
|
|
435
|
-
{
|
|
436
|
-
"include": "#create-buffer"
|
|
437
|
-
},
|
|
438
463
|
{
|
|
439
464
|
"include": "#buffer-name"
|
|
440
465
|
},
|
|
@@ -518,12 +543,6 @@
|
|
|
518
543
|
{
|
|
519
544
|
"include": "#parens"
|
|
520
545
|
},
|
|
521
|
-
{
|
|
522
|
-
"include": "#singlelinecomment"
|
|
523
|
-
},
|
|
524
|
-
{
|
|
525
|
-
"include": "#multilinecomment"
|
|
526
|
-
},
|
|
527
546
|
{
|
|
528
547
|
"include": "#declarations"
|
|
529
548
|
},
|
|
@@ -652,8 +671,8 @@
|
|
|
652
671
|
]
|
|
653
672
|
},
|
|
654
673
|
"break-by": {
|
|
655
|
-
"match": "(?i)\\s*((break)\\s+)?(by)\\s+(([
|
|
656
|
-
"
|
|
674
|
+
"match": "(?i)\\s*((break)\\s+)?(by)\\s+(([a-zA-Z][a-zA-Z_\\-#$%]*\\.)?([a-zA-Z][a-zA-Z_\\-#$%]*\\.)([a-zA-Z][a-zA-Z_\\-#$%]*)(\\[\\d+\\])?)\\b",
|
|
675
|
+
"comment": "The match needs a space capture before the BREAK, not a word break",
|
|
657
676
|
"captures": {
|
|
658
677
|
"2": {
|
|
659
678
|
"name": "keyword.other.abl"
|
|
@@ -667,7 +686,7 @@
|
|
|
667
686
|
}
|
|
668
687
|
},
|
|
669
688
|
"preprocessors": {
|
|
670
|
-
"match": "(?i)(&window-system|&text-height|&line-number|&batch-mode|&file-name|&undefine|&sequence|&message|defined|&elseif|&
|
|
689
|
+
"match": "(?i)(&window-system|&text-height|&line-number|&batch-mode|&file-name|&undefine|&sequence|&message|defined|&elseif|(?:&scop(?:ed-define|ed-defin|ed-defi|ed-def|ed-de|ed-d|ed-|ed|e)?)|(?:&glob(?:al-define|al-defin|al-defi|al-def|al-de|al-d|al-|al|a)?)|&opsys|&endif|&else|&then|&if)|({&[a-zA-Z0-9_\\-#$%\\s\\(\\)]+})|(&[a-zA-Z0-9_\\-#$%]+)",
|
|
671
690
|
"captures": {
|
|
672
691
|
"1": {
|
|
673
692
|
"name": "storage.type.function.abl"
|
|
@@ -722,8 +741,8 @@
|
|
|
722
741
|
},
|
|
723
742
|
"patterns": [
|
|
724
743
|
{
|
|
725
|
-
"comment": "Captures USING foo.bar.* .",
|
|
726
|
-
"match": "(?i)\\s*((([\\w
|
|
744
|
+
"comment": "Captures USING foo.bar.* . Since package names are filesystem names, needs unicode",
|
|
745
|
+
"match": "(?i)\\s*((([\\w#$%]+|progress)(\\.[\\w#$%]+)*)\\.\\*)\\s*",
|
|
727
746
|
"captures": {
|
|
728
747
|
"2": {
|
|
729
748
|
"name": "entity.name.package.abl"
|
|
@@ -757,9 +776,9 @@
|
|
|
757
776
|
]
|
|
758
777
|
},
|
|
759
778
|
"type-name-generic": {
|
|
760
|
-
"comment": "Scope names from https://www.sublimetext.com/docs/scope_naming.html",
|
|
779
|
+
"comment": "Scope names from https://www.sublimetext.com/docs/scope_naming.html . Types are files, so support unicode",
|
|
761
780
|
"name": "meta.generic.abl",
|
|
762
|
-
"begin": "(?i)\\s*(([\\w
|
|
781
|
+
"begin": "(?i)\\s*(([\\w#$%\\-]+)(\\.[\\w#$%\\-]+)*\\s*)\\s*(<)",
|
|
763
782
|
"beginCaptures": {
|
|
764
783
|
"1": {
|
|
765
784
|
"name": "entity.name.type.abl"
|
|
@@ -787,7 +806,8 @@
|
|
|
787
806
|
]
|
|
788
807
|
},
|
|
789
808
|
"type-name": {
|
|
790
|
-
"
|
|
809
|
+
"comment": "Type names are files, so support unicode",
|
|
810
|
+
"match": "(?i)\\b([\\w#$%\\-]+(\\.[\\w#$%\\-]+)*)\\b",
|
|
791
811
|
"captures": {
|
|
792
812
|
"1": {
|
|
793
813
|
"name": "entity.name.type.abl"
|
|
@@ -795,8 +815,9 @@
|
|
|
795
815
|
}
|
|
796
816
|
},
|
|
797
817
|
"define-class": {
|
|
818
|
+
"comment": "Type names are files, so support unicode",
|
|
798
819
|
"name": "meta.define.class.abl",
|
|
799
|
-
"begin": "
|
|
820
|
+
"begin": "\\b(?<![#$\\-_%&])([Cc][Ll][Aa][Ss]{2})\\b(?![#$\\-_%&])",
|
|
800
821
|
"beginCaptures": {
|
|
801
822
|
"1": {
|
|
802
823
|
"name": "keyword.other.abl"
|
|
@@ -829,8 +850,9 @@
|
|
|
829
850
|
]
|
|
830
851
|
},
|
|
831
852
|
"define-interface": {
|
|
853
|
+
"comment": "Type names are files, so support unicode",
|
|
832
854
|
"name": "meta.define.interface.abl",
|
|
833
|
-
"begin": "(?i)\\b(interface)\\s+([\\w
|
|
855
|
+
"begin": "(?i)\\b(interface)\\s+([\\w#$%]+[\\w#$%\\.]*(\\s*<\\s*[\\w#$%\\.]+\\s*\\>)?)",
|
|
834
856
|
"beginCaptures": {
|
|
835
857
|
"1": {
|
|
836
858
|
"name": "keyword.other.abl"
|
|
@@ -863,8 +885,9 @@
|
|
|
863
885
|
]
|
|
864
886
|
},
|
|
865
887
|
"inherits-implements-type": {
|
|
888
|
+
"comment": "Type names are files, so support unicode",
|
|
866
889
|
"name": "meta.define-type.implements.abl",
|
|
867
|
-
"begin": "(?i)\\s*(implements|inherits)\\s*(([\\w
|
|
890
|
+
"begin": "(?i)\\s*(implements|inherits)\\s*(([\\w#$%]+|progress)(\\.[\\w#$%]+)*(?<!\\.))\\s*",
|
|
868
891
|
"end": "(?i)\\s*(serializable|abstract|final|use-widget-pool|inherits|implements+?)",
|
|
869
892
|
"beginCaptures": {
|
|
870
893
|
"1": {
|
|
@@ -889,7 +912,8 @@
|
|
|
889
912
|
"patterns": [
|
|
890
913
|
{
|
|
891
914
|
"name": "meta.define.enum.abl",
|
|
892
|
-
"
|
|
915
|
+
"comment": "Type names are files, so support unicode",
|
|
916
|
+
"match": "(?i)\\b(enum)\\s+([\\w#$%\\.]+)\\s*(flags)?\\s*(:)",
|
|
893
917
|
"captures": {
|
|
894
918
|
"1": {
|
|
895
919
|
"name": "keyword.other.abl"
|
|
@@ -926,7 +950,7 @@
|
|
|
926
950
|
"include": "#numeric"
|
|
927
951
|
},
|
|
928
952
|
{
|
|
929
|
-
"match": "\\b([
|
|
953
|
+
"match": "\\b([a-zA-Z][a-zA-Z0-9_#$%]*)\\b",
|
|
930
954
|
"captures": {
|
|
931
955
|
"1": {
|
|
932
956
|
"name": "entity.name.function.abl"
|
|
@@ -990,7 +1014,7 @@
|
|
|
990
1014
|
]
|
|
991
1015
|
},
|
|
992
1016
|
"find-record": {
|
|
993
|
-
"match": "(?i)\\s*(find)\\s+(first|last|next|prev|current)?\\s*([
|
|
1017
|
+
"match": "(?i)\\s*(find)\\s+(first|last|next|prev|current)?\\s*([a-zA-Z_][a-zA-Z0-9#$\\-_%&]+(\\.[a-zA-Z_][a-zA-Z0-9#$\\-_%&]*)?)\\s*",
|
|
994
1018
|
"captures": {
|
|
995
1019
|
"1": {
|
|
996
1020
|
"name": "keyword.other.abl"
|
|
@@ -1007,7 +1031,7 @@
|
|
|
1007
1031
|
"comment": "Just a field name",
|
|
1008
1032
|
"patterns": [
|
|
1009
1033
|
{
|
|
1010
|
-
"match": "\\s*([
|
|
1034
|
+
"match": "\\s*([a-zA-Z][a-zA-Z0-9_\\-#$%]*(\\.[a-zA-Z][a-zA-Z0-9_\\-#$%]*)?\\s*(\\[\\d+\\]))\\s*",
|
|
1011
1035
|
"captures": {
|
|
1012
1036
|
"1": {
|
|
1013
1037
|
"name": "storage.data.table.abl"
|
|
@@ -1015,7 +1039,7 @@
|
|
|
1015
1039
|
}
|
|
1016
1040
|
},
|
|
1017
1041
|
{
|
|
1018
|
-
"match": "\\s*([
|
|
1042
|
+
"match": "\\s*([a-zA-Z][a-zA-Z0-9_\\-#$%]*(\\.[a-zA-Z][a-zA-Z0-9_\\-#$%]*)?)\\s*",
|
|
1019
1043
|
"captures": {
|
|
1020
1044
|
"1": {
|
|
1021
1045
|
"name": "storage.data.table.abl"
|
|
@@ -1025,7 +1049,7 @@
|
|
|
1025
1049
|
]
|
|
1026
1050
|
},
|
|
1027
1051
|
"db-dot-table-dot-field": {
|
|
1028
|
-
"match": "(?i)(?<=^|\\s|\\(|,)(([
|
|
1052
|
+
"match": "(?i)(?<=^|\\s|\\(|,)(([a-zA-Z][a-zA-Z0-9#$\\-_%&]*\\.)?([a-zA-Z_][a-zA-Z0-9#$\\-_%&]*\\.)([a-zA-Z_][a-zA-Z0-9#$\\-_%&]*)(\\[\\d+\\])?)",
|
|
1029
1053
|
"comment": "Looks for format of 'table.field', with an optional preceding 'db.'. This pattern may conflict with type names",
|
|
1030
1054
|
"captures": {
|
|
1031
1055
|
"1": {
|
|
@@ -1034,7 +1058,7 @@
|
|
|
1034
1058
|
}
|
|
1035
1059
|
},
|
|
1036
1060
|
"db-dot-table": {
|
|
1037
|
-
"match": "(?i)\\b([
|
|
1061
|
+
"match": "(?i)\\b([a-zA-Z_][a-zA-Z0-9#$\\-_%&]*(\\.[a-zA-Z_][a-zA-Z0-9#$\\-_%&]*)?)\\b",
|
|
1038
1062
|
"comment": "Looks for format of 'table', with an optional preceding 'db.'. This pattern may conflict with type names",
|
|
1039
1063
|
"captures": {
|
|
1040
1064
|
"1": {
|
|
@@ -1043,7 +1067,7 @@
|
|
|
1043
1067
|
}
|
|
1044
1068
|
},
|
|
1045
1069
|
"break-group": {
|
|
1046
|
-
"match": "(?i)\\s*(first-of|first|last-of|last)\\s*(\\()\\s*([
|
|
1070
|
+
"match": "(?i)\\s*(first-of|first|last-of|last)\\s*(\\()\\s*([a-zA-Z][a-zA-Z#$\\-_%&]*\\.[a-zA-Z_][a-zA-Z#$\\-_%&]*(\\.[a-zA-Z_][a-zA-Z#$\\-_%&]*)?)\\s*(\\))\\s*",
|
|
1047
1071
|
"captures": {
|
|
1048
1072
|
"1": {
|
|
1049
1073
|
"name": "keyword.other.abl"
|
|
@@ -1063,7 +1087,7 @@
|
|
|
1063
1087
|
"patterns": [
|
|
1064
1088
|
{
|
|
1065
1089
|
"comment": " This matches OF <table>",
|
|
1066
|
-
"match": "
|
|
1090
|
+
"match": "\\s*([Oo][Ff])\\s+([a-zA-Z][a-zA-Z0-9_\\-#$%]*(\\.[a-zA-Z_][a-zA-Z0-9_\\-#$%]*)?)\\s*",
|
|
1067
1091
|
"captures": {
|
|
1068
1092
|
"1": {
|
|
1069
1093
|
"name": "keyword.other.abl"
|
|
@@ -1075,7 +1099,7 @@
|
|
|
1075
1099
|
},
|
|
1076
1100
|
{
|
|
1077
1101
|
"comment": " This matches <table> OF <table>",
|
|
1078
|
-
"match": "(?i)\\s*([
|
|
1102
|
+
"match": "(?i)\\s*([a-zA-Z][a-zA-Z0-9_\\-#$%]*(\\.[a-zA-Z_][a-zA-Z0-9_\\-#$%]*)?)\\s+(of)\\s+([a-zA-Z][a-zA-Z0-9_\\-#$%]*(\\.[a-zA-Z_][a-zA-Z0-9_\\-#$%]*)?)\\s*",
|
|
1079
1103
|
"captures": {
|
|
1080
1104
|
"1": {
|
|
1081
1105
|
"name": "storage.data.table.abl"
|
|
@@ -1092,7 +1116,7 @@
|
|
|
1092
1116
|
},
|
|
1093
1117
|
"for-join": {
|
|
1094
1118
|
"comment": "Captures something like ', salesrep where' or 'salesrep where', when the latter is at the beginning of a line. 'OF' phrases handled by of-phrase",
|
|
1095
|
-
"match": "(?i)(?<=,|^)\\s*([
|
|
1119
|
+
"match": "(?i)(?<=,|^)\\s*([a-zA-Z][a-zA-Z0-9_\\-#$%]*(\\.[a-zA-Z_][a-zA-Z0-9_\\-#$%]*)?)\\s+(?=where|no-lock|(exclusive-l(?:ock|oc|o)?)|(share(?:-lock|-loc|-lo|-l|-)?)|tenant-where|use-index|table-scan|using|(no-prefe(?:tch|tc|t)?)|left|outer-join|break|by|(transact(?:ion|io|i)?))\\s*",
|
|
1096
1120
|
"captures": {
|
|
1097
1121
|
"1": {
|
|
1098
1122
|
"name": "storage.data.table.abl"
|
|
@@ -1109,7 +1133,7 @@
|
|
|
1109
1133
|
"name": "storage.data.table.abl"
|
|
1110
1134
|
}
|
|
1111
1135
|
},
|
|
1112
|
-
"end": "(?i)\\s*(?=where|no-lock|exclusive-
|
|
1136
|
+
"end": "(?i)\\s*(?=where|no-lock|(exclusive-l(?:ock|oc|o)?)|(share(?:-lock|-loc|-lo|-l|-)?)|tenant-where|use-index|table-scan|using|(no-prefe(?:tch|tc|t)?)|left|outer-join|break|by|(transact(?:ion|io|i)?)|,|:)\\s*",
|
|
1113
1137
|
"patterns": [
|
|
1114
1138
|
{
|
|
1115
1139
|
"include": "#fields-except-list"
|
|
@@ -1119,7 +1143,7 @@
|
|
|
1119
1143
|
},
|
|
1120
1144
|
{
|
|
1121
1145
|
"comment": "Intended to catch joins like ', table of table2', since the first table name is matched by the begin",
|
|
1122
|
-
"match": "(?i)\\s*(of)\\s+([
|
|
1146
|
+
"match": "(?i)\\s*(of)\\s+([a-zA-Z][a-zA-Z_\\-#$%]*(\\.[a-zA-Z][a-zA-Z_\\-#$%]*)?)\\s*",
|
|
1123
1147
|
"captures": {
|
|
1124
1148
|
"1": {
|
|
1125
1149
|
"name": "keyword.other.abl"
|
|
@@ -1130,7 +1154,7 @@
|
|
|
1130
1154
|
}
|
|
1131
1155
|
},
|
|
1132
1156
|
{
|
|
1133
|
-
"match": "\\s*([
|
|
1157
|
+
"match": "\\s*([a-zA-Z][a-zA-Z0-9_\\-#$%]*(\\.[a-zA-Z][a-zA-Z0-9_\\-#$%]*)?)\\s*",
|
|
1134
1158
|
"comment": "Matches the table name in the case of eg ',each table' ",
|
|
1135
1159
|
"captures": {
|
|
1136
1160
|
"1": {
|
|
@@ -1141,13 +1165,13 @@
|
|
|
1141
1165
|
]
|
|
1142
1166
|
},
|
|
1143
1167
|
"for-each-table": {
|
|
1144
|
-
"begin": "(?i)(?<=\\s+|^)(for|
|
|
1168
|
+
"begin": "(?i)(?<=\\s+|^)(for|(presel(?:ect|ec|e)?))[\\s+|$]",
|
|
1145
1169
|
"beginCaptures": {
|
|
1146
1170
|
"1": {
|
|
1147
1171
|
"name": "keyword.other.abl"
|
|
1148
1172
|
}
|
|
1149
1173
|
},
|
|
1150
|
-
"end": "(?i)\\s*(?=where|no-lock|exclusive-
|
|
1174
|
+
"end": "(?i)\\s*(?=where|no-lock|(exclusive-l(?:ock|oc|o)?)|(share(?:-lock|-loc|-lo|-l|-)?)|tenant-where|use-index|table-scan|using|(no-prefe(?:tch|tc|t)?)|left|outer-join|break|by|(transact(?:ion|io|i)?)|,|:|on)\\s*",
|
|
1151
1175
|
"patterns": [
|
|
1152
1176
|
{
|
|
1153
1177
|
"match": "(?i)\\s*(each|first|last|of)\\s*",
|
|
@@ -1196,12 +1220,15 @@
|
|
|
1196
1220
|
},
|
|
1197
1221
|
{
|
|
1198
1222
|
"include": "#field-name"
|
|
1223
|
+
},
|
|
1224
|
+
{
|
|
1225
|
+
"include": "#punctuation-comma"
|
|
1199
1226
|
}
|
|
1200
1227
|
]
|
|
1201
1228
|
},
|
|
1202
1229
|
"record-buffer-functions": {
|
|
1203
1230
|
"comment": "this capture does not include the NOT function since it is impossible to determine whether this is a new class or a new record.",
|
|
1204
|
-
"match": "(?i)\\b(
|
|
1231
|
+
"match": "(?i)\\b((?:avail(?:able|abl|ab|a)?)|locked|ambiguous)\\s*(\\()?\\s*([a-zA-Z][a-zA-Z0-9_\\-#$%]*(\\.[a-zA-Z][a-zA-Z0-9_\\-#$%]*)?)\\s*(\\))?",
|
|
1205
1232
|
"captures": {
|
|
1206
1233
|
"1": {
|
|
1207
1234
|
"name": "support.function.abl"
|
|
@@ -1286,6 +1313,9 @@
|
|
|
1286
1313
|
},
|
|
1287
1314
|
"code-block": {
|
|
1288
1315
|
"patterns": [
|
|
1316
|
+
{
|
|
1317
|
+
"include": "#create-statement"
|
|
1318
|
+
},
|
|
1289
1319
|
{
|
|
1290
1320
|
"include": "#record-buffer-functions"
|
|
1291
1321
|
},
|
|
@@ -1407,7 +1437,7 @@
|
|
|
1407
1437
|
}
|
|
1408
1438
|
},
|
|
1409
1439
|
"property-get-set-block": {
|
|
1410
|
-
"begin": "(?i)\\s*(
|
|
1440
|
+
"begin": "(?i)\\s*(?<!:)\\s*(get|set)\\b",
|
|
1411
1441
|
"beginCaptures": {
|
|
1412
1442
|
"1": {
|
|
1413
1443
|
"name": "keyword.other.abl"
|
|
@@ -1436,7 +1466,7 @@
|
|
|
1436
1466
|
]
|
|
1437
1467
|
},
|
|
1438
1468
|
"parameter-as": {
|
|
1439
|
-
"begin": "
|
|
1469
|
+
"begin": "\\s*([a-zA-Z0-9_\\-#$%]+)\\s+([Aa][Ss])\\s+",
|
|
1440
1470
|
"beginCaptures": {
|
|
1441
1471
|
"1": {
|
|
1442
1472
|
"name": "variable.parameter.abl"
|
|
@@ -1448,7 +1478,7 @@
|
|
|
1448
1478
|
"end": "(?=\\s|\\)|\\.|,)",
|
|
1449
1479
|
"patterns": [
|
|
1450
1480
|
{
|
|
1451
|
-
"match": "
|
|
1481
|
+
"match": "\\s*([Cc][Ll][Aa][Ss]{2})\\s*",
|
|
1452
1482
|
"captures": {
|
|
1453
1483
|
"1": {
|
|
1454
1484
|
"name": "keyword.other.abl"
|
|
@@ -1478,8 +1508,69 @@
|
|
|
1478
1508
|
}
|
|
1479
1509
|
]
|
|
1480
1510
|
},
|
|
1511
|
+
"input-output-from-to": {
|
|
1512
|
+
"begin": "(?i)\\b(input|output)\\s+((stream|stream-handle)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\s+)?(from|to)",
|
|
1513
|
+
"beginCaptures": {
|
|
1514
|
+
"1": {
|
|
1515
|
+
"name": "keyword.other.abl"
|
|
1516
|
+
},
|
|
1517
|
+
"3": {
|
|
1518
|
+
"name": "keyword.other.abl"
|
|
1519
|
+
},
|
|
1520
|
+
"4": {
|
|
1521
|
+
"patterns": [
|
|
1522
|
+
{
|
|
1523
|
+
"include": "#variable-name"
|
|
1524
|
+
}
|
|
1525
|
+
]
|
|
1526
|
+
},
|
|
1527
|
+
"5": {
|
|
1528
|
+
"name": "keyword.other.abl"
|
|
1529
|
+
}
|
|
1530
|
+
},
|
|
1531
|
+
"end": "(?i)(?=\\.|target|source)",
|
|
1532
|
+
"comment": "End with TARGET or SOURCE since these are the only options that take variables as arguments, and they must be the last options",
|
|
1533
|
+
"patterns": [
|
|
1534
|
+
{
|
|
1535
|
+
"include": "#type-member-call"
|
|
1536
|
+
},
|
|
1537
|
+
{
|
|
1538
|
+
"include": "#abl-functions"
|
|
1539
|
+
},
|
|
1540
|
+
{
|
|
1541
|
+
"include": "#abl-system-handles"
|
|
1542
|
+
},
|
|
1543
|
+
{
|
|
1544
|
+
"include": "#keywords"
|
|
1545
|
+
},
|
|
1546
|
+
{
|
|
1547
|
+
"include": "#comment"
|
|
1548
|
+
},
|
|
1549
|
+
{
|
|
1550
|
+
"include": "#array-literal"
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
"include": "#preprocessors"
|
|
1554
|
+
},
|
|
1555
|
+
{
|
|
1556
|
+
"include": "#opsys-device-name"
|
|
1557
|
+
},
|
|
1558
|
+
{
|
|
1559
|
+
"include": "#expression"
|
|
1560
|
+
}
|
|
1561
|
+
]
|
|
1562
|
+
},
|
|
1563
|
+
"opsys-device-name": {
|
|
1564
|
+
"match": "([_\\w\\/\\-\\\\$:\\.]+)(?<!\\.)",
|
|
1565
|
+
"comment": "For this regex to work, a device name may have periods in its name, but cannot end in one. File names support unicode",
|
|
1566
|
+
"captures": {
|
|
1567
|
+
"1": {
|
|
1568
|
+
"name": "storage.other.opsys-device.abl"
|
|
1569
|
+
}
|
|
1570
|
+
}
|
|
1571
|
+
},
|
|
1481
1572
|
"define-variable-name": {
|
|
1482
|
-
"match": "(?i)(
|
|
1573
|
+
"match": "(?i)(var(?:iable|iabl|iab|ia|i)?)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\s*",
|
|
1483
1574
|
"captures": {
|
|
1484
1575
|
"1": {
|
|
1485
1576
|
"name": "keyword.other.abl"
|
|
@@ -1490,7 +1581,7 @@
|
|
|
1490
1581
|
}
|
|
1491
1582
|
},
|
|
1492
1583
|
"variable-as": {
|
|
1493
|
-
"match": "
|
|
1584
|
+
"match": "\\s*([a-zA-Z0-9_\\-#$%\\-]+)\\s+([Aa][Ss])\\s*",
|
|
1494
1585
|
"captures": {
|
|
1495
1586
|
"1": {
|
|
1496
1587
|
"name": "variable.other.abl"
|
|
@@ -1501,7 +1592,7 @@
|
|
|
1501
1592
|
}
|
|
1502
1593
|
},
|
|
1503
1594
|
"variable-like": {
|
|
1504
|
-
"match": "(?i)\\s*([
|
|
1595
|
+
"match": "(?i)\\s*([a-zA-Z0-9_\\-#$%\\-]+)\\s+(?=like)\\s*",
|
|
1505
1596
|
"captures": {
|
|
1506
1597
|
"1": {
|
|
1507
1598
|
"name": "variable.other.abl"
|
|
@@ -1509,7 +1600,7 @@
|
|
|
1509
1600
|
}
|
|
1510
1601
|
},
|
|
1511
1602
|
"property-as": {
|
|
1512
|
-
"match": "
|
|
1603
|
+
"match": "\\s*([a-zA-Z0-9_\\-#$%]+)\\s+([Aa][Ss])\\s*",
|
|
1513
1604
|
"captures": {
|
|
1514
1605
|
"1": {
|
|
1515
1606
|
"name": "entity.name.function.abl"
|
|
@@ -1521,7 +1612,7 @@
|
|
|
1521
1612
|
},
|
|
1522
1613
|
"field-as-object": {
|
|
1523
1614
|
"comment": "This is to capture 'FIELD x AS Object'. As of OE 12.7 only Progress.Lang.Object is allowed as a type name. If/when this changes, this regex becomes trickier",
|
|
1524
|
-
"match": "(?i)\\s*(progress\\.lang\\.object
|
|
1615
|
+
"match": "(?i)\\s*((progress\\.lang\\.)?object)\\s*",
|
|
1525
1616
|
"captures": {
|
|
1526
1617
|
"1": {
|
|
1527
1618
|
"name": "entity.name.type.abl"
|
|
@@ -1540,7 +1631,7 @@
|
|
|
1540
1631
|
},
|
|
1541
1632
|
"annotation-simple": {
|
|
1542
1633
|
"name": "meta.declaration.annotation.abl",
|
|
1543
|
-
"match": "(^|\\s*)(\\@[
|
|
1634
|
+
"match": "(^|\\s*)(\\@[a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\s*(?=\\.)",
|
|
1544
1635
|
"captures": {
|
|
1545
1636
|
"2": {
|
|
1546
1637
|
"name": "entity.name.tag.abl"
|
|
@@ -1549,7 +1640,7 @@
|
|
|
1549
1640
|
},
|
|
1550
1641
|
"annotation-attributes": {
|
|
1551
1642
|
"name": "meta.declaration.annotation.abl",
|
|
1552
|
-
"begin": "(^|\\s+)(\\@[
|
|
1643
|
+
"begin": "(^|\\s+)(\\@[a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\s*(?=\\()",
|
|
1553
1644
|
"beginCaptures": {
|
|
1554
1645
|
"2": {
|
|
1555
1646
|
"name": "entity.name.tag.abl"
|
|
@@ -1561,7 +1652,7 @@
|
|
|
1561
1652
|
"include": "#parens"
|
|
1562
1653
|
},
|
|
1563
1654
|
{
|
|
1564
|
-
"match": "\\s*([
|
|
1655
|
+
"match": "\\s*([a-zA-Z_][a-zA-Z0-9_#$\\-%&]+)(?=[\\=\\s$])",
|
|
1565
1656
|
"captures": {
|
|
1566
1657
|
"1": {
|
|
1567
1658
|
"name": "entity.other.attribute-name.abl"
|
|
@@ -1581,7 +1672,7 @@
|
|
|
1581
1672
|
},
|
|
1582
1673
|
"define": {
|
|
1583
1674
|
"name": "meta.define.abl",
|
|
1584
|
-
"begin": "(?i)\\s*(
|
|
1675
|
+
"begin": "(?i)\\s*(def(?:ine|in|i)?)\\b",
|
|
1585
1676
|
"beginCaptures": {
|
|
1586
1677
|
"1": {
|
|
1587
1678
|
"name": "keyword.other.abl"
|
|
@@ -1595,7 +1686,7 @@
|
|
|
1595
1686
|
},
|
|
1596
1687
|
"patterns": [
|
|
1597
1688
|
{
|
|
1598
|
-
"match": "(?i)\\s*(new|
|
|
1689
|
+
"match": "(?i)\\s*(new|(glob(?:al|a|)?)|shared)\\s*",
|
|
1599
1690
|
"captures": {
|
|
1600
1691
|
"1": {
|
|
1601
1692
|
"name": "keyword.other.abl"
|
|
@@ -1740,7 +1831,7 @@
|
|
|
1740
1831
|
]
|
|
1741
1832
|
},
|
|
1742
1833
|
"define-field": {
|
|
1743
|
-
"match": "(?i)\\s*(field)\\s+([
|
|
1834
|
+
"match": "(?i)\\s*(field)\\s+([a-zA-Z][a-zA-Z0-9_\\-#$%]*)\\s*",
|
|
1744
1835
|
"captures": {
|
|
1745
1836
|
"1": {
|
|
1746
1837
|
"name": "keyword.other.abl"
|
|
@@ -1750,8 +1841,20 @@
|
|
|
1750
1841
|
}
|
|
1751
1842
|
}
|
|
1752
1843
|
},
|
|
1844
|
+
"cache-value": {
|
|
1845
|
+
"match": "\\b([Cc][Aa][Cc][Hh][Ee])\\s+(0[xX]\\h+)?|(\\-?[0-9]+(\\.[0-9]+)?)\\b",
|
|
1846
|
+
"captures": {
|
|
1847
|
+
"1": {
|
|
1848
|
+
"name": "keyword.other.abl"
|
|
1849
|
+
},
|
|
1850
|
+
"3": {
|
|
1851
|
+
"name": "constant.numeric.source.abl"
|
|
1852
|
+
}
|
|
1853
|
+
}
|
|
1854
|
+
|
|
1855
|
+
},
|
|
1753
1856
|
"define-query": {
|
|
1754
|
-
"begin": "(?i)\\b(query)\\s+([
|
|
1857
|
+
"begin": "(?i)\\b(query)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\s*",
|
|
1755
1858
|
"beginCaptures": {
|
|
1756
1859
|
"1": {
|
|
1757
1860
|
"name": "keyword.other.abl"
|
|
@@ -1760,10 +1863,38 @@
|
|
|
1760
1863
|
"name": "variable.other.abl"
|
|
1761
1864
|
}
|
|
1762
1865
|
},
|
|
1763
|
-
"end": "(?i)\\b(
|
|
1866
|
+
"end": "(?i)\\b(?=\\.)\\b",
|
|
1867
|
+
"patterns": [
|
|
1868
|
+
{
|
|
1869
|
+
"match": "(?i)\\b(for|scrolling|(rcode-info(?:rmation|rmatio|rmati|rmat|rma|rm|r)?))\\b",
|
|
1870
|
+
"captures": {
|
|
1871
|
+
"1": {
|
|
1872
|
+
"name": "keyword.other.abl"
|
|
1873
|
+
}
|
|
1874
|
+
}
|
|
1875
|
+
},
|
|
1876
|
+
{
|
|
1877
|
+
"include": "#cache-value"
|
|
1878
|
+
},
|
|
1879
|
+
{
|
|
1880
|
+
"include": "#db-dot-table"
|
|
1881
|
+
},
|
|
1882
|
+
{
|
|
1883
|
+
"include": "#fields-except-list"
|
|
1884
|
+
},
|
|
1885
|
+
{
|
|
1886
|
+
"include": "#punctuation-comma"
|
|
1887
|
+
},
|
|
1888
|
+
{
|
|
1889
|
+
"include": "#expression"
|
|
1890
|
+
},
|
|
1891
|
+
{
|
|
1892
|
+
"include": "#keywords"
|
|
1893
|
+
}
|
|
1894
|
+
]
|
|
1764
1895
|
},
|
|
1765
1896
|
"define-browse": {
|
|
1766
|
-
"begin": "(?i)\\b(browse)\\s+([
|
|
1897
|
+
"begin": "(?i)\\b(browse)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\s*",
|
|
1767
1898
|
"beginCaptures": {
|
|
1768
1899
|
"1": {
|
|
1769
1900
|
"name": "keyword.other.abl"
|
|
@@ -1772,20 +1903,53 @@
|
|
|
1772
1903
|
"name": "variable.other.abl"
|
|
1773
1904
|
}
|
|
1774
1905
|
},
|
|
1775
|
-
"end": "(?i)\\b(
|
|
1906
|
+
"end": "(?i)\\b(?=\\.)",
|
|
1907
|
+
"patterns": [
|
|
1908
|
+
{
|
|
1909
|
+
"match": "\\b([Qq][Uu][Ee][Rr][Yy])\\s+([a-zA-Z][a-zA-Z0-9\\-_#$%\\&]+)\\b",
|
|
1910
|
+
"captures": {
|
|
1911
|
+
"1": {
|
|
1912
|
+
"name": "keyword.other.abl"
|
|
1913
|
+
},
|
|
1914
|
+
"2": {
|
|
1915
|
+
"name": "variable.other.abl"
|
|
1916
|
+
}
|
|
1917
|
+
}
|
|
1918
|
+
},
|
|
1919
|
+
{
|
|
1920
|
+
"match": "(?i)\\b((share(?:-lock|-loc|-lo|-l|-)?)|(exclusive-l(?:ock|oc|o)?)|no-lock|no-wait|(disp(?:lay|la|l)?))\\b",
|
|
1921
|
+
"captures": {
|
|
1922
|
+
"1": {
|
|
1923
|
+
"name": "keyword.other.abl"
|
|
1924
|
+
}
|
|
1925
|
+
}
|
|
1926
|
+
},
|
|
1927
|
+
{
|
|
1928
|
+
"include": "#comment"
|
|
1929
|
+
},
|
|
1930
|
+
{
|
|
1931
|
+
"include": "#db-dot-table-dot-field"
|
|
1932
|
+
},
|
|
1933
|
+
{
|
|
1934
|
+
"include": "#keywords"
|
|
1935
|
+
},
|
|
1936
|
+
{
|
|
1937
|
+
"include": "#expression"
|
|
1938
|
+
}
|
|
1939
|
+
]
|
|
1776
1940
|
},
|
|
1777
1941
|
"define-parameter": {
|
|
1778
|
-
"begin": "(?i)\\b(
|
|
1942
|
+
"begin": "(?i)\\b(param(?:eter|ete|et|e)?)\\b",
|
|
1779
1943
|
"beginCaptures": {
|
|
1780
1944
|
"1": {
|
|
1781
1945
|
"name": "keyword.other.abl"
|
|
1782
1946
|
}
|
|
1783
1947
|
},
|
|
1784
|
-
"end": "(?i)(?=\\.)|\\b(?=
|
|
1948
|
+
"end": "(?i)(?=\\.)|\\b(?=(bgc(?:olor|olo|ol|o)?)|(column-lab(?:el|e)?)|context-help-id|dcolor|decimals|drop-target|extent|font|(fgc(?:olor|olo|ol|o)?)|(form(?:at|a)?)|initial|label|(mouse-p(?:ointer|ointe|oint|oin|oi|o)?)|no-undo|not|(case-sen(?:sitive|sitiv|siti|sit|si|s)?)|(pfc(?:olor|olo|ol|o)?)|view-as|triggers)\\b",
|
|
1785
1949
|
"comment": "The end capture does a lookahead on . so that the 'define' capture can end ",
|
|
1786
1950
|
"patterns": [
|
|
1787
1951
|
{
|
|
1788
|
-
"match": "(?i)\\b(table)\\s+(for)\\s+([
|
|
1952
|
+
"match": "(?i)\\b(table)\\s+(for)\\s+([a-zA-Z][a-zA-Z_\\-#$%]*(\\.[a-zA-Z][a-zA-Z_\\-#$%]*)?)\\b",
|
|
1789
1953
|
"captures": {
|
|
1790
1954
|
"1": {
|
|
1791
1955
|
"name": "keyword.other.abl"
|
|
@@ -1799,7 +1963,7 @@
|
|
|
1799
1963
|
}
|
|
1800
1964
|
},
|
|
1801
1965
|
{
|
|
1802
|
-
"match": "(?i)\\b(table-handle|dataset-handle)\\s+([
|
|
1966
|
+
"match": "(?i)\\b(table-handle|dataset-handle)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\b",
|
|
1803
1967
|
"captures": {
|
|
1804
1968
|
"1": {
|
|
1805
1969
|
"name": "keyword.other.abl"
|
|
@@ -1810,7 +1974,7 @@
|
|
|
1810
1974
|
}
|
|
1811
1975
|
},
|
|
1812
1976
|
{
|
|
1813
|
-
"match": "(?i)\\b(dataset)\\s+(for)\\s+([
|
|
1977
|
+
"match": "(?i)\\b(dataset)\\s+(for)\\s+([a-zA-Z_\\-#$%]+(\\.[a-zA-Z_\\-#$%]+)?)\\b",
|
|
1814
1978
|
"captures": {
|
|
1815
1979
|
"1": {
|
|
1816
1980
|
"name": "keyword.other.abl"
|
|
@@ -1835,7 +1999,7 @@
|
|
|
1835
1999
|
]
|
|
1836
2000
|
},
|
|
1837
2001
|
"define-property": {
|
|
1838
|
-
"begin": "(?i)\\b(property
|
|
2002
|
+
"begin": "(?i)\\b(property)\\b",
|
|
1839
2003
|
"beginCaptures": {
|
|
1840
2004
|
"1": {
|
|
1841
2005
|
"name": "keyword.other.abl"
|
|
@@ -1880,7 +2044,7 @@
|
|
|
1880
2044
|
]
|
|
1881
2045
|
},
|
|
1882
2046
|
"buffer-name": {
|
|
1883
|
-
"match": "(?i)\\b(buffer)\\s+([
|
|
2047
|
+
"match": "(?i)\\b(buffer)\\s+([a-zA-Z][a-zA-Z0-9_\\-#$%]*(\\.[a-zA-Z][a-zA-Z0-9_\\-#$%]*)?)",
|
|
1884
2048
|
"captures": {
|
|
1885
2049
|
"1": {
|
|
1886
2050
|
"name": "keyword.other.abl"
|
|
@@ -1891,13 +2055,106 @@
|
|
|
1891
2055
|
}
|
|
1892
2056
|
},
|
|
1893
2057
|
"temp-table-name": {
|
|
1894
|
-
"match": "(?i)\\b(temp-table)\\s+([
|
|
2058
|
+
"match": "(?i)\\b(temp-table)\\s+([a-zA-Z][a-zA-Z0-9_\\-#$%]*)",
|
|
2059
|
+
"captures": {
|
|
2060
|
+
"1": {
|
|
2061
|
+
"name": "keyword.other.abl"
|
|
2062
|
+
},
|
|
2063
|
+
"2": {
|
|
2064
|
+
"name": "storage.data.table.abl"
|
|
2065
|
+
}
|
|
2066
|
+
}
|
|
2067
|
+
},
|
|
2068
|
+
"create-widget": {
|
|
2069
|
+
"match": "(?i)\\s*(create)\\s+(button|combo-box|(?:control-fram(?:e)?)|dialog-box|editor|fill-in|(?:fram(?:e)?)|image|menu|menu-item|radio-set|(?:rect(?:angle|angl|ang|an|a)?)|selection-list|slider|sub-menu|text|toggle-box|window)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\b",
|
|
2070
|
+
"captures": {
|
|
2071
|
+
"1": {
|
|
2072
|
+
"name": "keyword.other.abl"
|
|
2073
|
+
},
|
|
2074
|
+
"2": {
|
|
2075
|
+
"name": "keyword.other.abl"
|
|
2076
|
+
},
|
|
2077
|
+
"3": {
|
|
2078
|
+
"name": "variable.other.abl"
|
|
2079
|
+
}
|
|
2080
|
+
}
|
|
2081
|
+
},
|
|
2082
|
+
"create-statement": {
|
|
2083
|
+
"patterns": [
|
|
2084
|
+
{
|
|
2085
|
+
"include": "#create-buffer"
|
|
2086
|
+
},
|
|
2087
|
+
{
|
|
2088
|
+
"include": "#create-alias"
|
|
2089
|
+
},
|
|
2090
|
+
{
|
|
2091
|
+
"include": "#create-widget"
|
|
2092
|
+
},
|
|
2093
|
+
{
|
|
2094
|
+
"include": "#create-with-expression"
|
|
2095
|
+
},
|
|
2096
|
+
{
|
|
2097
|
+
"include": "#create-record"
|
|
2098
|
+
}
|
|
2099
|
+
]
|
|
2100
|
+
},
|
|
2101
|
+
"create-record": {
|
|
2102
|
+
"match": "(?i)\\s*(create)\\s+([a-zA-Z][a-zA-Z_\\-#$%]*(\\.[a-zA-Z][a-zA-Z_\\-#$%]*)?)\\s*((for)\\s+(tenant))?\\s*",
|
|
1895
2103
|
"captures": {
|
|
1896
2104
|
"1": {
|
|
1897
2105
|
"name": "keyword.other.abl"
|
|
1898
2106
|
},
|
|
1899
2107
|
"2": {
|
|
1900
2108
|
"name": "storage.data.table.abl"
|
|
2109
|
+
},
|
|
2110
|
+
"5": {
|
|
2111
|
+
"name": "keyword.other.abl"
|
|
2112
|
+
},
|
|
2113
|
+
"6": {
|
|
2114
|
+
"name": "keyword.other.abl"
|
|
2115
|
+
}
|
|
2116
|
+
}
|
|
2117
|
+
},
|
|
2118
|
+
"create-alias": {
|
|
2119
|
+
"begin": "(?i)\\s*(create)\\s+(alias)\\s*",
|
|
2120
|
+
"beginCaptures": {
|
|
2121
|
+
"1": {
|
|
2122
|
+
"name": "keyword.other.abl"
|
|
2123
|
+
},
|
|
2124
|
+
"2": {
|
|
2125
|
+
"name": "keyword.other.abl"
|
|
2126
|
+
}
|
|
2127
|
+
},
|
|
2128
|
+
"end": "(=\\.)",
|
|
2129
|
+
"patterns": [
|
|
2130
|
+
{
|
|
2131
|
+
"include": "#keywords"
|
|
2132
|
+
},
|
|
2133
|
+
{
|
|
2134
|
+
"include": "#abl-functions"
|
|
2135
|
+
},
|
|
2136
|
+
{
|
|
2137
|
+
"match": "\\b([a-zA-Z0-9][a-zA-Z0-9_\\-]*)\\b",
|
|
2138
|
+
"captures": {
|
|
2139
|
+
"1": {
|
|
2140
|
+
"name": "storage.data.database.abl"
|
|
2141
|
+
}
|
|
2142
|
+
}
|
|
2143
|
+
},
|
|
2144
|
+
{
|
|
2145
|
+
"include": "#expression"
|
|
2146
|
+
}
|
|
2147
|
+
]
|
|
2148
|
+
},
|
|
2149
|
+
"create-with-expression": {
|
|
2150
|
+
"comment": "The variable, temp-table field, etc used to store the created expression, will be dealt with by other scopes",
|
|
2151
|
+
"match": "(?i)\\s*(create)\\s+(browse|call|client-principal|database|dataset|data-source|query|sax-attributes|sax-reader|sax-writer|server|server-socket|soap-header|soap-header-entryref|socket|temp-table|widget-pool|x-document|x-noderef)\\s*",
|
|
2152
|
+
"captures": {
|
|
2153
|
+
"1": {
|
|
2154
|
+
"name": "keyword.other.abl"
|
|
2155
|
+
},
|
|
2156
|
+
"2": {
|
|
2157
|
+
"name": "keyword.other.abl"
|
|
1901
2158
|
}
|
|
1902
2159
|
}
|
|
1903
2160
|
},
|
|
@@ -1912,7 +2169,7 @@
|
|
|
1912
2169
|
"name": "keyword.other.abl"
|
|
1913
2170
|
}
|
|
1914
2171
|
},
|
|
1915
|
-
"end": "(?i)(\\b(buffer-
|
|
2172
|
+
"end": "(?i)(\\b((buffer-n(?:ame|am|a)?)|in)\\b)|(?=\\.)",
|
|
1916
2173
|
"endCaptures": {
|
|
1917
2174
|
"1": {
|
|
1918
2175
|
"name": "keyword.other.abl"
|
|
@@ -1957,7 +2214,7 @@
|
|
|
1957
2214
|
]
|
|
1958
2215
|
},
|
|
1959
2216
|
"define-index": {
|
|
1960
|
-
"begin": "(?i)\\s*(index)\\s+([
|
|
2217
|
+
"begin": "(?i)\\s*(index)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)",
|
|
1961
2218
|
"beginCaptures": {
|
|
1962
2219
|
"1": {
|
|
1963
2220
|
"name": "keyword.other.abl"
|
|
@@ -1969,7 +2226,7 @@
|
|
|
1969
2226
|
"end": "(?i)(?=\\bindex\\b|\\.)",
|
|
1970
2227
|
"patterns": [
|
|
1971
2228
|
{
|
|
1972
|
-
"match": "(?i)\\b(AS|IS|UNIQUE|PRIMARY|WORD-INDEX|
|
|
2229
|
+
"match": "(?i)\\b(AS|IS|UNIQUE|PRIMARY|WORD-INDEX|(asc(?:ending|endin|endi|end|en|e)?)|(desc(?:ending|endin|endi|end|en|e)?))\\b",
|
|
1973
2230
|
"captures": {
|
|
1974
2231
|
"1": {
|
|
1975
2232
|
"name": "keyword.other.abl"
|
|
@@ -1977,7 +2234,7 @@
|
|
|
1977
2234
|
}
|
|
1978
2235
|
},
|
|
1979
2236
|
{
|
|
1980
|
-
"match": "\\b([
|
|
2237
|
+
"match": "\\b([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\b",
|
|
1981
2238
|
"captures": {
|
|
1982
2239
|
"1": {
|
|
1983
2240
|
"name": "storage.data.table.abl"
|
|
@@ -1987,7 +2244,7 @@
|
|
|
1987
2244
|
]
|
|
1988
2245
|
},
|
|
1989
2246
|
"define-dataset": {
|
|
1990
|
-
"begin": "(?i)\\b(dataset)\\s+([
|
|
2247
|
+
"begin": "(?i)\\b(dataset)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\b",
|
|
1991
2248
|
"beginCaptures": {
|
|
1992
2249
|
"1": {
|
|
1993
2250
|
"name": "keyword.other.abl"
|
|
@@ -2006,7 +2263,7 @@
|
|
|
2006
2263
|
"include": "#punctuation-comma"
|
|
2007
2264
|
},
|
|
2008
2265
|
{
|
|
2009
|
-
"match": "(?i)\\b(data-
|
|
2266
|
+
"match": "(?i)\\b((?:data-rel(?:ation|atio|ati|at|a)?)|parent-id-relation)\\s*([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)",
|
|
2010
2267
|
"comment": "Manually capture these so that we can name the relation name properly",
|
|
2011
2268
|
"captures": {
|
|
2012
2269
|
"1": {
|
|
@@ -2018,8 +2275,8 @@
|
|
|
2018
2275
|
}
|
|
2019
2276
|
},
|
|
2020
2277
|
{
|
|
2021
|
-
"match": "(?i)\\b(relation-
|
|
2022
|
-
"comment": "This ABL function is handled manually, because we know that the arguments are only
|
|
2278
|
+
"match": "(?i)\\b(relation-fi(?:elds|eld|el|e)?)\\b",
|
|
2279
|
+
"comment": "This ABL function is handled manually, because we know that the arguments are only table.field names, and the standard abl-function scopes assign these values to variable scopes",
|
|
2023
2280
|
"captures": {
|
|
2024
2281
|
"1": {
|
|
2025
2282
|
"name": "support.function.abl"
|
|
@@ -2044,7 +2301,7 @@
|
|
|
2044
2301
|
]
|
|
2045
2302
|
},
|
|
2046
2303
|
"define-event": {
|
|
2047
|
-
"match": "(?i)\\b(event)\\s+([
|
|
2304
|
+
"match": "(?i)\\b(event)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\b",
|
|
2048
2305
|
"captures": {
|
|
2049
2306
|
"1": {
|
|
2050
2307
|
"name": "keyword.other.abl"
|
|
@@ -2055,7 +2312,7 @@
|
|
|
2055
2312
|
}
|
|
2056
2313
|
},
|
|
2057
2314
|
"define-button": {
|
|
2058
|
-
"begin": "(?i)\\s*(button)\\s+([
|
|
2315
|
+
"begin": "(?i)\\s*(button)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)",
|
|
2059
2316
|
"beginCaptures": {
|
|
2060
2317
|
"1": {
|
|
2061
2318
|
"name": "keyword.other.abl"
|
|
@@ -2087,7 +2344,7 @@
|
|
|
2087
2344
|
]
|
|
2088
2345
|
},
|
|
2089
2346
|
"from-x-and-y": {
|
|
2090
|
-
"match": "(?i)\\b(from)\\s+(X)\\s+((0(x)[
|
|
2347
|
+
"match": "(?i)\\b(from)\\s+(X)\\s+((0(x)[\\h]+)|(\\-?[[0-9]]+(\\.[[0-9]]+)?))\\s+(y)\\s+((0(x)[\\h]+)|(\\-?[[0-9]]+(\\.[[0-9]]+)?))\\s+ ",
|
|
2091
2348
|
"captures": {
|
|
2092
2349
|
"1": {
|
|
2093
2350
|
"name": "keyword.other.abl"
|
|
@@ -2107,7 +2364,7 @@
|
|
|
2107
2364
|
}
|
|
2108
2365
|
},
|
|
2109
2366
|
"define-buffer": {
|
|
2110
|
-
"begin": "(?i)\\s*(buffer)\\b(?![
|
|
2367
|
+
"begin": "(?i)\\s*(buffer)\\b(?![#$\\-_%&])",
|
|
2111
2368
|
"beginCaptures": {
|
|
2112
2369
|
"1": {
|
|
2113
2370
|
"name": "keyword.other.abl"
|
|
@@ -2133,7 +2390,7 @@
|
|
|
2133
2390
|
]
|
|
2134
2391
|
},
|
|
2135
2392
|
"define-frame": {
|
|
2136
|
-
"match": "(?i)\\s*(
|
|
2393
|
+
"match": "(?i)\\s*((?:fram(?:e)?))\\s*([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)",
|
|
2137
2394
|
"captures": {
|
|
2138
2395
|
"1": {
|
|
2139
2396
|
"name": "keyword.other.abl"
|
|
@@ -2145,13 +2402,13 @@
|
|
|
2145
2402
|
},
|
|
2146
2403
|
"define-variable": {
|
|
2147
2404
|
"comment": "This rule captures just the variable name and the data type. Based on https://docs.progress.com/bundle/abl-reference/page/DEFINE-VARIABLE-statement.html",
|
|
2148
|
-
"begin": "(?i)\\s*(
|
|
2405
|
+
"begin": "(?i)\\s*(var(?:iable|iabl|iab|ia|i)?)\\s*",
|
|
2149
2406
|
"beginCaptures": {
|
|
2150
2407
|
"1": {
|
|
2151
2408
|
"name": "keyword.other.abl"
|
|
2152
2409
|
}
|
|
2153
2410
|
},
|
|
2154
|
-
"end": "(?i)(?=\\.)|\\b(?=
|
|
2411
|
+
"end": "(?i)(?=\\.)|\\b(?=(bgc(?:olor|olo|ol|o)?)|(column-lab(?:el|e)?)|contet-help-id|dcolor|decimals|drop-target|extent|font|(fgc(?:olor|olo|ol|o)?)|(form(?:at|a)?)|initial|label|(mouse-p(?:ointer|ointe|oint|oin|oi|o)?)|no-undo|not|(case-sen(?:sitive|sitiv|siti|sit|si|s)?)|(pfc(?:olor|olo|ol|o)?)|view-as|triggers)\\b",
|
|
2155
2412
|
"endCaptures": {
|
|
2156
2413
|
"1": {
|
|
2157
2414
|
"name": "keyword.other.abl"
|
|
@@ -2159,7 +2416,7 @@
|
|
|
2159
2416
|
},
|
|
2160
2417
|
"patterns": [
|
|
2161
2418
|
{
|
|
2162
|
-
"match": "
|
|
2419
|
+
"match": "\\b([Cc][Ll][Aa][Ss][Ss])\\b",
|
|
2163
2420
|
"captures": {
|
|
2164
2421
|
"1": {
|
|
2165
2422
|
"name": "keyword.other.abl"
|
|
@@ -2188,7 +2445,7 @@
|
|
|
2188
2445
|
]
|
|
2189
2446
|
},
|
|
2190
2447
|
"label-variable": {
|
|
2191
|
-
"match": "(?i)\\s*(
|
|
2448
|
+
"match": "(?i)\\s*([a-zA-Z0-9_\\-#$%]+)\\s+(label)\\s*",
|
|
2192
2449
|
"captures": {
|
|
2193
2450
|
"1": {
|
|
2194
2451
|
"name": "variable.other.abl"
|
|
@@ -2200,7 +2457,7 @@
|
|
|
2200
2457
|
},
|
|
2201
2458
|
"format-constant": {
|
|
2202
2459
|
"comment": "DATE/TIME/TZ fields can have an unquoted format if it's something like 99/99/9999",
|
|
2203
|
-
"match": "(?i)\\b(
|
|
2460
|
+
"match": "(?i)\\b((?:form(?:at|a)?))\\s+(9+/9+/9+)\\b",
|
|
2204
2461
|
"captures": {
|
|
2205
2462
|
"1": {
|
|
2206
2463
|
"name": "keyword.other.abl"
|
|
@@ -2211,7 +2468,7 @@
|
|
|
2211
2468
|
}
|
|
2212
2469
|
},
|
|
2213
2470
|
"define-table": {
|
|
2214
|
-
"match": "(?i)(?<=\\b)(temp-table|before-table)\\s*([
|
|
2471
|
+
"match": "(?i)(?<=\\b)(temp-table|before-table)\\s*([a-zA-Z_][a-zA-Z0-9_\\-#$%]*)\\s*",
|
|
2215
2472
|
"captures": {
|
|
2216
2473
|
"1": {
|
|
2217
2474
|
"name": "keyword.other.abl"
|
|
@@ -2222,7 +2479,7 @@
|
|
|
2222
2479
|
}
|
|
2223
2480
|
},
|
|
2224
2481
|
"buffer-for-table": {
|
|
2225
|
-
"match": "(?i)\\s*(?!do|repeat|for)([
|
|
2482
|
+
"match": "(?i)\\s*(?!do|repeat|for)([a-zA-Z_\\-#$%]+)\\s+(for)\\s+((temp-table)\\s+)?([a-zA-Z][a-zA-Z0-9_\\-#$%]*)\\s*",
|
|
2226
2483
|
"captures": {
|
|
2227
2484
|
"1": {
|
|
2228
2485
|
"name": "storage.data.table.abl"
|
|
@@ -2239,7 +2496,7 @@
|
|
|
2239
2496
|
}
|
|
2240
2497
|
},
|
|
2241
2498
|
"double-colon-field-name": {
|
|
2242
|
-
"match": "\\s*::([
|
|
2499
|
+
"match": "\\s*::([a-zA-Z_\\-#$%]+)\\s*",
|
|
2243
2500
|
"captures": {
|
|
2244
2501
|
"1": {
|
|
2245
2502
|
"name": "storage.data.table.abl"
|
|
@@ -2247,7 +2504,7 @@
|
|
|
2247
2504
|
}
|
|
2248
2505
|
},
|
|
2249
2506
|
"for-table": {
|
|
2250
|
-
"match": "(?i)\\s*(for)\\s+((temp-table)\\s+)?([
|
|
2507
|
+
"match": "(?i)\\s*(for)\\s+((temp-table)\\s+)?([a-zA-Z_\\-#$%]+)\\s*",
|
|
2251
2508
|
"captures": {
|
|
2252
2509
|
"1": {
|
|
2253
2510
|
"name": "keyword.other.abl"
|
|
@@ -2271,7 +2528,7 @@
|
|
|
2271
2528
|
"name": "meta.brace.round.js"
|
|
2272
2529
|
}
|
|
2273
2530
|
},
|
|
2274
|
-
"end": "(?i)\\b(?=\\)|where|no-lock|share
|
|
2531
|
+
"end": "(?i)\\b(?=\\)|where|no-lock|(share(?:-lock|-loc|-lo|-l|-)?)|using|(no-prefe(?:tch|tc|t)?)|no-wait)\\s*",
|
|
2275
2532
|
"patterns": [
|
|
2276
2533
|
{
|
|
2277
2534
|
"include": "#parens"
|
|
@@ -2308,7 +2565,7 @@
|
|
|
2308
2565
|
]
|
|
2309
2566
|
},
|
|
2310
2567
|
"use-index": {
|
|
2311
|
-
"match": "(?i)\\b(use-index)\\s+([
|
|
2568
|
+
"match": "(?i)\\b(use-index)\\s+([a-zA-Z_][a-zA-Z0-9_\\-$]*)\\b",
|
|
2312
2569
|
"captures": {
|
|
2313
2570
|
"1": {
|
|
2314
2571
|
"name": "keyword.other.abl"
|
|
@@ -2319,7 +2576,7 @@
|
|
|
2319
2576
|
}
|
|
2320
2577
|
},
|
|
2321
2578
|
"access-modifier": {
|
|
2322
|
-
"match": "(?i)\\s*(package-private|private|package-protected|protected|public|static|override|abstract|final)\\
|
|
2579
|
+
"match": "(?i)\\s*(package-private|private|package-protected|protected|public|static|override|abstract|final)\\s+",
|
|
2323
2580
|
"captures": {
|
|
2324
2581
|
"1": {
|
|
2325
2582
|
"name": "keyword.other.abl"
|
|
@@ -2334,10 +2591,63 @@
|
|
|
2334
2591
|
}
|
|
2335
2592
|
}
|
|
2336
2593
|
},
|
|
2594
|
+
"var-statement": {
|
|
2595
|
+
"name": "meta.define.abl",
|
|
2596
|
+
"begin": "^\\s*(var)\\s+",
|
|
2597
|
+
"beginCaptures": {
|
|
2598
|
+
"1": {
|
|
2599
|
+
"name": "keyword.other.abl"
|
|
2600
|
+
}
|
|
2601
|
+
},
|
|
2602
|
+
"end": "(\\s([a-zA-Z][a-zA-Z0-9_\\-#$%]*))",
|
|
2603
|
+
"endCaptures": {
|
|
2604
|
+
"2": {
|
|
2605
|
+
"name": "variable.other.abl"
|
|
2606
|
+
}
|
|
2607
|
+
},
|
|
2608
|
+
"patterns": [
|
|
2609
|
+
{
|
|
2610
|
+
"include": "#access-modifier"
|
|
2611
|
+
},
|
|
2612
|
+
{
|
|
2613
|
+
"include": "#serializable"
|
|
2614
|
+
},
|
|
2615
|
+
{
|
|
2616
|
+
"comment": "This capture must use spaces and not word boundaries because the 'end' is on a space. This also captures class names that are ABL primitive type names, for example OpenEdge.Core.Memptr in its short form",
|
|
2617
|
+
"match": "(?i)\\s*(class)\\s*(blob|character|char|clob|com-handle|date|datetime|datetime-tz|decimal|handle|int64|integer|int|logical|longchar|memptr|raw|recid|rowid|widget-handle)?",
|
|
2618
|
+
"captures": {
|
|
2619
|
+
"1": {
|
|
2620
|
+
"name": "keyword.other.abl"
|
|
2621
|
+
},
|
|
2622
|
+
"2": {
|
|
2623
|
+
"name": "entity.name.type.abl"
|
|
2624
|
+
}
|
|
2625
|
+
}
|
|
2626
|
+
},
|
|
2627
|
+
{
|
|
2628
|
+
"include": "#primitive-type"
|
|
2629
|
+
},
|
|
2630
|
+
{
|
|
2631
|
+
"include": "#type-names"
|
|
2632
|
+
},
|
|
2633
|
+
{
|
|
2634
|
+
"include": "#array-literal"
|
|
2635
|
+
},
|
|
2636
|
+
{
|
|
2637
|
+
"include": "#string"
|
|
2638
|
+
},
|
|
2639
|
+
{
|
|
2640
|
+
"include": "#comment"
|
|
2641
|
+
},
|
|
2642
|
+
{
|
|
2643
|
+
"include": "#preprocessors"
|
|
2644
|
+
}
|
|
2645
|
+
]
|
|
2646
|
+
},
|
|
2337
2647
|
"define-stream": {
|
|
2338
2648
|
"name": "meta.define.stream.abl",
|
|
2339
|
-
"match": "(?i)\\s*(stream)\\s*([
|
|
2340
|
-
"comment": "https://docs.progress.com/bundle/
|
|
2649
|
+
"match": "(?i)\\s*(stream)\\s*([a-zA-Z][a-zA-Z0-9_\\-#$%\\-]*)",
|
|
2650
|
+
"comment": "https://docs.progress.com/bundle/abl-reference/page/DEFINE-STREAM-statement.html",
|
|
2341
2651
|
"captures": {
|
|
2342
2652
|
"1": {
|
|
2343
2653
|
"name": "keyword.other.abl"
|
|
@@ -2352,7 +2662,7 @@
|
|
|
2352
2662
|
}
|
|
2353
2663
|
},
|
|
2354
2664
|
"define-like": {
|
|
2355
|
-
"match": "(?i)\\s*(like|like-sequential)\\s+(([
|
|
2665
|
+
"match": "(?i)\\s*(like|like-sequential)\\s+(([a-zA-Z][a-zA-Z_\\-#$%]*\\.)?([a-zA-Z][a-zA-Z0-9_\\-#$%]*\\.)?([a-zA-Z][a-zA-Z0-9_\\-#$%]*))",
|
|
2356
2666
|
"captures": {
|
|
2357
2667
|
"1": {
|
|
2358
2668
|
"name": "keyword.other.abl"
|
|
@@ -2363,7 +2673,7 @@
|
|
|
2363
2673
|
}
|
|
2364
2674
|
},
|
|
2365
2675
|
"block-label": {
|
|
2366
|
-
"match": "(?i)^\\s*(?!(
|
|
2676
|
+
"match": "(?i)^\\s*(?!((?:transact(?:ion|io|i)?)|no-lock|(?:exclusive-l(?:ock|oc|o)?)|(?:share(?:-lock|-loc|-lo|-l|-)?)):)([a-zA-Z][a-zA-Z0-9_\\-#$%\\-$#]*)(:)\\s",
|
|
2367
2677
|
"comment": "A colon followed by a space is only legal is for block labels. Block labels must also be at the beginning of a line. Scope name is per https://www.sublimetext.com/docs/scope_naming.html",
|
|
2368
2678
|
"captures": {
|
|
2369
2679
|
"2": {
|
|
@@ -2413,7 +2723,7 @@
|
|
|
2413
2723
|
"include": "#while-expression"
|
|
2414
2724
|
},
|
|
2415
2725
|
{
|
|
2416
|
-
"match": "(?i)\\b(
|
|
2726
|
+
"match": "(?i)\\b((transact(?:ion|io|i)?)|stop-after)\\b",
|
|
2417
2727
|
"name": "keyword.other.abl"
|
|
2418
2728
|
},
|
|
2419
2729
|
{
|
|
@@ -2438,7 +2748,7 @@
|
|
|
2438
2748
|
"include": "#branch-options"
|
|
2439
2749
|
},
|
|
2440
2750
|
{
|
|
2441
|
-
"include":"#keywords"
|
|
2751
|
+
"include": "#keywords"
|
|
2442
2752
|
},
|
|
2443
2753
|
{
|
|
2444
2754
|
"include": "#expression"
|
|
@@ -2449,7 +2759,7 @@
|
|
|
2449
2759
|
]
|
|
2450
2760
|
},
|
|
2451
2761
|
"from-to-by": {
|
|
2452
|
-
"begin": "\\s*([
|
|
2762
|
+
"begin": "\\s*([a-zA-Z0-9_\\-#$%$\\-_%&]+)\\s+(=)\\s*",
|
|
2453
2763
|
"beginCaptures": {
|
|
2454
2764
|
"1": {
|
|
2455
2765
|
"name": "variable.other.abl"
|
|
@@ -2458,7 +2768,7 @@
|
|
|
2458
2768
|
"name": "keyword.operator.source.abl"
|
|
2459
2769
|
}
|
|
2460
2770
|
},
|
|
2461
|
-
"end": "(?i)(?=
|
|
2771
|
+
"end": "(?i)(?=(transact(?:ion|io|i)?)|on|:|with|while)",
|
|
2462
2772
|
"patterns": [
|
|
2463
2773
|
{
|
|
2464
2774
|
"match": "(?i)\\s+(to|by)\\s*",
|
|
@@ -2506,8 +2816,8 @@
|
|
|
2506
2816
|
},
|
|
2507
2817
|
"patterns": [
|
|
2508
2818
|
{
|
|
2509
|
-
"comment": "Captures the static class before the : of Subscribe ( [ subscriber : ] handler-method )",
|
|
2510
|
-
"match": "\\s*([\\w
|
|
2819
|
+
"comment": "Captures the static class before the : of Subscribe ( [ subscriber : ] handler-method ). Type names are files, so support unicode",
|
|
2820
|
+
"match": "\\s*([\\w#$%\\-]+(\\.[\\w#$%\\-]+)+)\\s*(:)",
|
|
2511
2821
|
"captures": {
|
|
2512
2822
|
"1": {
|
|
2513
2823
|
"name": "entity.name.type.abl"
|
|
@@ -2519,7 +2829,7 @@
|
|
|
2519
2829
|
},
|
|
2520
2830
|
{
|
|
2521
2831
|
"comment": "Captures the variable before the : or , of Subscribe( [ subscriber-handle , ] handler-procedure ) or Subscribe ( [ subscriber : ] handler-method )",
|
|
2522
|
-
"match": "\\s*([
|
|
2832
|
+
"match": "\\s*([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\s*((,)|(:))\\s*",
|
|
2523
2833
|
"captures": {
|
|
2524
2834
|
"1": {
|
|
2525
2835
|
"name": "variable.other.abl"
|
|
@@ -2534,7 +2844,7 @@
|
|
|
2534
2844
|
},
|
|
2535
2845
|
{
|
|
2536
2846
|
"comment": "Subscribe( handler-procedure or handler-method)",
|
|
2537
|
-
"match": "\\s*([
|
|
2847
|
+
"match": "\\s*([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\s*",
|
|
2538
2848
|
"captures": {
|
|
2539
2849
|
"1": {
|
|
2540
2850
|
"name": "entity.name.function.abl"
|
|
@@ -2582,7 +2892,7 @@
|
|
|
2582
2892
|
},
|
|
2583
2893
|
"for-record": {
|
|
2584
2894
|
"comment": "this regex just tries to capture a bunch (6) of tables",
|
|
2585
|
-
"match": "(?i)\\s*(for)\\s+([
|
|
2895
|
+
"match": "(?i)\\s*(for)\\s+([a-zA-Z_\\-#$%]*)\\s*(,)?\\s*([a-zA-Z_\\-#$%]*)?\\s*(,)?\\s*([a-zA-Z_\\-#$%]*)?\\s*(,)?\\s*([a-zA-Z_\\-#$%]*)?\\s*(,)?\\s*([a-zA-Z_\\-#$%]*)?\\s*(,)?\\s*([a-zA-Z_\\-#$%]*)?",
|
|
2586
2896
|
"captures": {
|
|
2587
2897
|
"1": {
|
|
2588
2898
|
"name": "keyword.other.abl"
|
|
@@ -2623,7 +2933,7 @@
|
|
|
2623
2933
|
}
|
|
2624
2934
|
},
|
|
2625
2935
|
"on-error-endkey-stop": {
|
|
2626
|
-
"match": "(?i)\\s*(on)\\s+(endkey|error|stop|quit)\\s+(undo)\\s*(?!leave|next|retry|return|throw)([
|
|
2936
|
+
"match": "(?i)\\s*(on)\\s+(endkey|error|stop|quit)\\s+(undo)\\s*(?!leave|next|retry|return|throw)([a-zA-Z0-9_\\-#$%\\-$]*)?\\s*",
|
|
2627
2937
|
"captures": {
|
|
2628
2938
|
"1": {
|
|
2629
2939
|
"name": "keyword.other.abl"
|
|
@@ -2641,7 +2951,7 @@
|
|
|
2641
2951
|
},
|
|
2642
2952
|
"block-undo-leave-next-retry": {
|
|
2643
2953
|
"comment": "Covers NEXT, LEAVE, RETRY and UNDO with block labels that are not preceded by UNDO, ",
|
|
2644
|
-
"match": "(?i)\\s*(?<!,)\\s*(leave|next|retry|undo)\\s*(?!on)([
|
|
2954
|
+
"match": "(?i)\\s*(?<!,)\\s*(leave|next|retry|undo)\\s*(?!on)([a-zA-Z0-9_\\-#$%\\-$]*)?\\s*",
|
|
2645
2955
|
"captures": {
|
|
2646
2956
|
"1": {
|
|
2647
2957
|
"name": "keyword.other.abl"
|
|
@@ -2652,7 +2962,7 @@
|
|
|
2652
2962
|
}
|
|
2653
2963
|
},
|
|
2654
2964
|
"branch-leave-next-retry-throw": {
|
|
2655
|
-
"match": "(?i)\\s*(?<=,)\\s*(leave|next|retry|throw)\\s*(?!on)([
|
|
2965
|
+
"match": "(?i)\\s*(?<=,)\\s*(leave|next|retry|throw)\\s*(?!on)([a-zA-Z0-9_\\-#$%\\-$]*)?\\s*",
|
|
2656
2966
|
"captures": {
|
|
2657
2967
|
"1": {
|
|
2658
2968
|
"name": "keyword.other.abl"
|
|
@@ -2742,7 +3052,7 @@
|
|
|
2742
3052
|
}
|
|
2743
3053
|
},
|
|
2744
3054
|
"comment": " This regex captures to the end of the line, or the colon, whichever comes first",
|
|
2745
|
-
"end": "(
|
|
3055
|
+
"end": "(?=:|$)",
|
|
2746
3056
|
"patterns": [
|
|
2747
3057
|
{
|
|
2748
3058
|
"include": "#new-class"
|
|
@@ -2766,7 +3076,7 @@
|
|
|
2766
3076
|
},
|
|
2767
3077
|
"undo-statement": {
|
|
2768
3078
|
"comment": "https://docs.progress.com/bundle/abl-reference/page/UNDO-statement.html",
|
|
2769
|
-
"begin": "(?i)\\s*(undo)\\s*([
|
|
3079
|
+
"begin": "(?i)\\s*(undo)\\s*([a-zA-Z0-9_\\-#$%\\-$]*)?\\s*(,)",
|
|
2770
3080
|
"beginCaptures": {
|
|
2771
3081
|
"1": {
|
|
2772
3082
|
"name": "keyword.other.abl"
|
|
@@ -2778,13 +3088,13 @@
|
|
|
2778
3088
|
"name": "punctuation.separator.comma.abl"
|
|
2779
3089
|
}
|
|
2780
3090
|
},
|
|
2781
|
-
"end": "(
|
|
3091
|
+
"end": "(?=\\.|:)",
|
|
2782
3092
|
"patterns": [
|
|
2783
3093
|
{
|
|
2784
3094
|
"include": "#string"
|
|
2785
3095
|
},
|
|
2786
3096
|
{
|
|
2787
|
-
"match": "(?i)\\s*(leave|next|retry)\\s([
|
|
3097
|
+
"match": "(?i)\\s*(leave|next|retry)\\s([a-zA-Z0-9_\\-#$%\\-$]*)?",
|
|
2788
3098
|
"captures": {
|
|
2789
3099
|
"1": {
|
|
2790
3100
|
"name": "keyword.other.abl"
|
|
@@ -2849,7 +3159,7 @@
|
|
|
2849
3159
|
"name": "keyword.other.abl"
|
|
2850
3160
|
}
|
|
2851
3161
|
},
|
|
2852
|
-
"end": "(?i)(?=
|
|
3162
|
+
"end": "(?i)(?=(transact(?:ion|io|i)?)|on|:|with)",
|
|
2853
3163
|
"patterns": [
|
|
2854
3164
|
{
|
|
2855
3165
|
"comment": "The comment scopes are included in the statements pattern, but the operator trumps these",
|
|
@@ -2870,12 +3180,12 @@
|
|
|
2870
3180
|
]
|
|
2871
3181
|
},
|
|
2872
3182
|
"analyze-suspend-resume": {
|
|
2873
|
-
"begin": "(?i)(
|
|
3183
|
+
"begin": "(?i)(&analyze-suspend|&analyze-resume)\\s*",
|
|
2874
3184
|
"end": "(?=(?://|/\\*))|$",
|
|
2875
3185
|
"name": "comment.preprocessor.analyze-suspend.abl"
|
|
2876
3186
|
},
|
|
2877
3187
|
"global-scoped-define": {
|
|
2878
|
-
"begin": "(?i)(
|
|
3188
|
+
"begin": "(?i)((?:&scop(?:ed-define|ed-defin|ed-defi|ed-def|ed-de|ed-d|ed-|ed|e)?)|(?:&glob(?:al-define|al-defin|al-defi|al-def|al-de|al-d|al-|al|a)?))\\s*([\\.a-zA-Z0-9_\\-#$%\\\\/]*)\\s*",
|
|
2879
3189
|
"beginCaptures": {
|
|
2880
3190
|
"1": {
|
|
2881
3191
|
"name": "keyword.other.abl"
|
|
@@ -2884,7 +3194,7 @@
|
|
|
2884
3194
|
"name": "entity.name.function.preprocessor.abl"
|
|
2885
3195
|
}
|
|
2886
3196
|
},
|
|
2887
|
-
"end": "(
|
|
3197
|
+
"end": "(?=//|/\\*)|$",
|
|
2888
3198
|
"name": "meta.preprocessor.define.abl",
|
|
2889
3199
|
"patterns": [
|
|
2890
3200
|
{
|
|
@@ -2938,6 +3248,9 @@
|
|
|
2938
3248
|
{
|
|
2939
3249
|
"include": "#preprocessors"
|
|
2940
3250
|
},
|
|
3251
|
+
{
|
|
3252
|
+
"include": "#abl-system-handles"
|
|
3253
|
+
},
|
|
2941
3254
|
{
|
|
2942
3255
|
"include": "#keywords"
|
|
2943
3256
|
}
|
|
@@ -2972,7 +3285,7 @@
|
|
|
2972
3285
|
"name": "meta.function.arguments.abl",
|
|
2973
3286
|
"patterns": [
|
|
2974
3287
|
{
|
|
2975
|
-
"match": "(?i)\\s*(input-
|
|
3288
|
+
"match": "(?i)\\s*((input-o(?:utput|utpu|utp|u)?)|output|input|table-handle|dataset-handle|append|by-value|by-reference|bind)\\b(?![#$\\-_%&])",
|
|
2976
3289
|
"captures": {
|
|
2977
3290
|
"1": {
|
|
2978
3291
|
"name": "keyword.other.abl"
|
|
@@ -2980,7 +3293,7 @@
|
|
|
2980
3293
|
}
|
|
2981
3294
|
},
|
|
2982
3295
|
{
|
|
2983
|
-
"match": "(?i)\\b(dataset)\\s+([
|
|
3296
|
+
"match": "(?i)\\b(dataset)\\s+([a-zA-Z_\\-#$%]+(\\.[a-zA-Z_\\-#$%]+)?)\\b",
|
|
2984
3297
|
"captures": {
|
|
2985
3298
|
"1": {
|
|
2986
3299
|
"name": "keyword.other.abl"
|
|
@@ -2991,7 +3304,7 @@
|
|
|
2991
3304
|
}
|
|
2992
3305
|
},
|
|
2993
3306
|
{
|
|
2994
|
-
"match": "(?i)\\b(temp-table|table|buffer)\\s+([
|
|
3307
|
+
"match": "(?i)\\b(temp-table|table|buffer)\\s+([a-zA-Z_\\-#$%]+(\\.[a-zA-Z_\\-#$%]+)?)\\b",
|
|
2995
3308
|
"captures": {
|
|
2996
3309
|
"1": {
|
|
2997
3310
|
"name": "keyword.other.abl"
|
|
@@ -3002,13 +3315,13 @@
|
|
|
3002
3315
|
}
|
|
3003
3316
|
},
|
|
3004
3317
|
{
|
|
3005
|
-
"include": "#
|
|
3318
|
+
"include": "#function-arguments"
|
|
3006
3319
|
},
|
|
3007
3320
|
{
|
|
3008
|
-
"include": "#
|
|
3321
|
+
"include": "#constant"
|
|
3009
3322
|
},
|
|
3010
3323
|
{
|
|
3011
|
-
"include": "#
|
|
3324
|
+
"include": "#type-reference"
|
|
3012
3325
|
},
|
|
3013
3326
|
{
|
|
3014
3327
|
"include": "#abl-system-handles"
|
|
@@ -3023,13 +3336,16 @@
|
|
|
3023
3336
|
"include": "#abl-functions"
|
|
3024
3337
|
},
|
|
3025
3338
|
{
|
|
3026
|
-
"include": "#
|
|
3339
|
+
"include": "#type-member-call"
|
|
3027
3340
|
},
|
|
3028
3341
|
{
|
|
3029
|
-
"include": "#
|
|
3342
|
+
"include": "#db-dot-table-dot-field"
|
|
3030
3343
|
},
|
|
3031
3344
|
{
|
|
3032
|
-
"include": "#
|
|
3345
|
+
"include": "#handle-attributes"
|
|
3346
|
+
},
|
|
3347
|
+
{
|
|
3348
|
+
"include": "#handle-methods"
|
|
3033
3349
|
},
|
|
3034
3350
|
{
|
|
3035
3351
|
"include": "#expression"
|
|
@@ -3037,6 +3353,9 @@
|
|
|
3037
3353
|
{
|
|
3038
3354
|
"include": "#comment"
|
|
3039
3355
|
},
|
|
3356
|
+
{
|
|
3357
|
+
"include": "#array-literal"
|
|
3358
|
+
},
|
|
3040
3359
|
{
|
|
3041
3360
|
"include": "#punctuation-comma"
|
|
3042
3361
|
},
|
|
@@ -3046,8 +3365,8 @@
|
|
|
3046
3365
|
]
|
|
3047
3366
|
},
|
|
3048
3367
|
"static-object-property-call": {
|
|
3049
|
-
"
|
|
3050
|
-
"
|
|
3368
|
+
"comment": "This rule only captures dotted type name and not single class names. Type names are files, so support unicode.",
|
|
3369
|
+
"match": "(?i)\\s*(([\\w#$%\\-]+|progress)(\\.[\\w#$%\\-]+)+)\\s*(:)([\\w\\-]+)\\s*",
|
|
3051
3370
|
"captures": {
|
|
3052
3371
|
"1": {
|
|
3053
3372
|
"name": "entity.name.type.abl"
|
|
@@ -3061,7 +3380,7 @@
|
|
|
3061
3380
|
}
|
|
3062
3381
|
},
|
|
3063
3382
|
"unqualified-method-call": {
|
|
3064
|
-
"match": "\\b([
|
|
3383
|
+
"match": "\\b([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\b(?=\\()",
|
|
3065
3384
|
"captures": {
|
|
3066
3385
|
"1": {
|
|
3067
3386
|
"name": "entity.name.function.abl"
|
|
@@ -3069,7 +3388,7 @@
|
|
|
3069
3388
|
}
|
|
3070
3389
|
},
|
|
3071
3390
|
"property-call": {
|
|
3072
|
-
"match": "(:)([
|
|
3391
|
+
"match": "(:)([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\b",
|
|
3073
3392
|
"captures": {
|
|
3074
3393
|
"1": {
|
|
3075
3394
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -3094,11 +3413,11 @@
|
|
|
3094
3413
|
},
|
|
3095
3414
|
"variable-name": {
|
|
3096
3415
|
"comment": "1 to 128 characters; can consist of any combination of letters (a-z or A-Z), numbers (0-9), and these special characters: #$-_%& Names must begin with a letter (from https://docs.progress.com/bundle/openedge-abl-manage-applications/page/Name-limits.html)",
|
|
3097
|
-
"match": "(?<=^|\\s|\\[|\\(|,)([
|
|
3416
|
+
"match": "(?<=^|\\s|\\[|\\(|,)([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)(?=\\.\\s|\\.$|,|:|\\s|\\)|\\]|\\[|$)",
|
|
3098
3417
|
"name": "variable.other.abl"
|
|
3099
3418
|
},
|
|
3100
3419
|
"extent": {
|
|
3101
|
-
"match": "(?i)\\s*(extent)\\s*((0x)
|
|
3420
|
+
"match": "(?i)\\s*(extent)\\s*((0x)?\\h+)?",
|
|
3102
3421
|
"captures": {
|
|
3103
3422
|
"1": {
|
|
3104
3423
|
"name": "keyword.other.abl"
|
|
@@ -3109,7 +3428,7 @@
|
|
|
3109
3428
|
}
|
|
3110
3429
|
},
|
|
3111
3430
|
"decimals": {
|
|
3112
|
-
"match": "(?i)\\s*(decimals)\\s((0x)
|
|
3431
|
+
"match": "(?i)\\s*(decimals)\\s((0x)?\\h+)?",
|
|
3113
3432
|
"captures": {
|
|
3114
3433
|
"1": {
|
|
3115
3434
|
"name": "keyword.other.abl"
|
|
@@ -3120,7 +3439,7 @@
|
|
|
3120
3439
|
}
|
|
3121
3440
|
},
|
|
3122
3441
|
"ordinal": {
|
|
3123
|
-
"match": "(?i)\\s*(ordinal)\\s((0x)
|
|
3442
|
+
"match": "(?i)\\s*(ordinal)\\s((0x)?\\h+)?",
|
|
3124
3443
|
"captures": {
|
|
3125
3444
|
"1": {
|
|
3126
3445
|
"name": "keyword.other.abl"
|
|
@@ -3135,19 +3454,19 @@
|
|
|
3135
3454
|
"begin": "\\[",
|
|
3136
3455
|
"beginCaptures": {
|
|
3137
3456
|
"0": {
|
|
3138
|
-
"name": "
|
|
3457
|
+
"name": "punctuation.definition.bracket.square.begin.abl"
|
|
3139
3458
|
}
|
|
3140
3459
|
},
|
|
3141
3460
|
"end": "\\]",
|
|
3142
3461
|
"endCaptures": {
|
|
3143
3462
|
"0": {
|
|
3144
|
-
"name": "
|
|
3463
|
+
"name": "punctuation.definition.bracket.square.end.abl"
|
|
3145
3464
|
}
|
|
3146
3465
|
},
|
|
3147
3466
|
"patterns": [
|
|
3148
3467
|
{
|
|
3149
3468
|
"comment": "See https://docs.progress.com/bundle/abl-reference/page/Array-reference.html for array ranges",
|
|
3150
|
-
"match":"(?i)\\s+(for)\\s+",
|
|
3469
|
+
"match": "(?i)\\s+(for)\\s+",
|
|
3151
3470
|
"captures": {
|
|
3152
3471
|
"1": {
|
|
3153
3472
|
"name": "keyword.other.abl"
|
|
@@ -3157,6 +3476,12 @@
|
|
|
3157
3476
|
{
|
|
3158
3477
|
"include": "#expression"
|
|
3159
3478
|
},
|
|
3479
|
+
{
|
|
3480
|
+
"include": "#preprocessors"
|
|
3481
|
+
},
|
|
3482
|
+
{
|
|
3483
|
+
"include": "#comment"
|
|
3484
|
+
},
|
|
3160
3485
|
{
|
|
3161
3486
|
"include": "#punctuation-comma"
|
|
3162
3487
|
}
|
|
@@ -3167,13 +3492,13 @@
|
|
|
3167
3492
|
"begin": "\\[",
|
|
3168
3493
|
"beginCaptures": {
|
|
3169
3494
|
"0": {
|
|
3170
|
-
"name": "
|
|
3495
|
+
"name": "punctuation.definition.bracket.square.begin.abl"
|
|
3171
3496
|
}
|
|
3172
3497
|
},
|
|
3173
3498
|
"end": "\\]",
|
|
3174
3499
|
"endCaptures": {
|
|
3175
3500
|
"0": {
|
|
3176
|
-
"name": "
|
|
3501
|
+
"name": "punctuation.definition.bracket.square.end.abl"
|
|
3177
3502
|
}
|
|
3178
3503
|
},
|
|
3179
3504
|
"patterns": [
|
|
@@ -3208,13 +3533,17 @@
|
|
|
3208
3533
|
]
|
|
3209
3534
|
},
|
|
3210
3535
|
"parameter-name": {
|
|
3211
|
-
"match": "(?<=^|\\s)(
|
|
3536
|
+
"match": "(?<=^|\\s)(a-zA-Z0-9_\\-#$%|-)+(?=\\s)",
|
|
3212
3537
|
"name": "variable.parameter.abl"
|
|
3213
3538
|
},
|
|
3214
3539
|
"run-statement": {
|
|
3215
3540
|
"patterns": [
|
|
3216
|
-
{
|
|
3217
|
-
|
|
3541
|
+
{
|
|
3542
|
+
"include": "#run-unquoted"
|
|
3543
|
+
},
|
|
3544
|
+
{
|
|
3545
|
+
"include": "#run-quoted"
|
|
3546
|
+
}
|
|
3218
3547
|
]
|
|
3219
3548
|
},
|
|
3220
3549
|
"run-quoted": {
|
|
@@ -3229,7 +3558,8 @@
|
|
|
3229
3558
|
}
|
|
3230
3559
|
},
|
|
3231
3560
|
"run-unquoted": {
|
|
3232
|
-
"
|
|
3561
|
+
"comment": "(External) Program names are files, so need to support unicode.",
|
|
3562
|
+
"match": "(?i)\\s*(run)\\s+(?!value)\\s*([\\w\\-$\\@\\/\\\\]{1,253}(\\.[\\w@$\\-]{1,2})?)",
|
|
3233
3563
|
"captures": {
|
|
3234
3564
|
"1": {
|
|
3235
3565
|
"name": "keyword.other.abl"
|
|
@@ -3241,14 +3571,15 @@
|
|
|
3241
3571
|
},
|
|
3242
3572
|
"include-file": {
|
|
3243
3573
|
"name": "meta.include.abl",
|
|
3244
|
-
"comment": "https://docs.progress.com/bundle/
|
|
3245
|
-
"begin": "({)\\s*(
|
|
3574
|
+
"comment": "https://docs.progress.com/bundle/abl-reference/page/Include-file-reference.html. Filesystem names can be unicode",
|
|
3575
|
+
"begin": "({)\\s*(['\"]?([\\\\\\/\\w$\\-]+)(\\.[\\w]+['\"]?)?)",
|
|
3246
3576
|
"beginCaptures": {
|
|
3247
3577
|
"1": {
|
|
3248
3578
|
"name": "punctuation.section.abl"
|
|
3249
3579
|
},
|
|
3250
3580
|
"2": {
|
|
3251
|
-
"name": "entity.name.include.abl"
|
|
3581
|
+
"name": "entity.name.include.abl",
|
|
3582
|
+
"comment": "The include name may be quoted"
|
|
3252
3583
|
}
|
|
3253
3584
|
},
|
|
3254
3585
|
"end": "\\s*(})\\s*",
|
|
@@ -3262,13 +3593,12 @@
|
|
|
3262
3593
|
"include": "#argument-reference"
|
|
3263
3594
|
},
|
|
3264
3595
|
{
|
|
3265
|
-
"match": "(?<=\\s)(&[
|
|
3596
|
+
"match": "(?<=\\s)(&[a-zA-Z0-9][a-zA-Z0-9_\\-#$%#$\\-%\\.]+)\\s*(=)?",
|
|
3266
3597
|
"name": "meta.include.argument.abl",
|
|
3267
3598
|
"comment": "This is intended to catch '&arg' and '&arg=' ",
|
|
3268
3599
|
"captures": {
|
|
3269
3600
|
"1": {
|
|
3270
|
-
"name": "support.other.argument.abl"
|
|
3271
|
-
"comment": "you can use variable names, field names, and reserved words as argument names."
|
|
3601
|
+
"name": "support.other.argument.abl"
|
|
3272
3602
|
},
|
|
3273
3603
|
"2": {
|
|
3274
3604
|
"name": "keyword.operator.source.abl"
|
|
@@ -3279,51 +3609,35 @@
|
|
|
3279
3609
|
"include": "#string"
|
|
3280
3610
|
},
|
|
3281
3611
|
{
|
|
3282
|
-
"match": "(
|
|
3283
|
-
"comment": "non-string argument values
|
|
3284
|
-
"name": "meta.include.argument.abl",
|
|
3612
|
+
"match": "([a-zA-Z0-9][a-zA-Z0-9_\\-#$%#$\\-%\\.:]+)\\b",
|
|
3613
|
+
"comment": "non-string argument values",
|
|
3285
3614
|
"captures": {
|
|
3286
3615
|
"1": {
|
|
3287
|
-
"name": "support.other.argument.abl"
|
|
3288
|
-
"comment": "you can use variable names, field names, and reserved words as argument names."
|
|
3289
|
-
},
|
|
3290
|
-
"2": {
|
|
3291
|
-
"name": "keyword.operator.source.abl"
|
|
3616
|
+
"name": "support.other.argument.abl"
|
|
3292
3617
|
}
|
|
3293
3618
|
}
|
|
3294
3619
|
},
|
|
3295
3620
|
{
|
|
3296
|
-
"
|
|
3297
|
-
|
|
3298
|
-
{
|
|
3299
|
-
"match": "(?<=\\s)(&[[:alpha:]][\\w\\#\\$\\-\\%\\.]+)\\s*(=?)",
|
|
3300
|
-
"comment": "non-string argument values after the &arg = ",
|
|
3301
|
-
"name": "meta.include.argument.abl",
|
|
3621
|
+
"match": "(?<=\\=)(/\\*+)|(\\*+/)|(//)",
|
|
3622
|
+
"comment": "Comment start/stop argument values",
|
|
3302
3623
|
"captures": {
|
|
3303
|
-
"
|
|
3304
|
-
"name": "support.other.argument.abl"
|
|
3305
|
-
"comment": "you can use variable names, field names, and reserved words as argument names."
|
|
3306
|
-
},
|
|
3307
|
-
"2": {
|
|
3308
|
-
"name": "keyword.operator.source.abl"
|
|
3624
|
+
"0": {
|
|
3625
|
+
"name": "support.other.argument.abl"
|
|
3309
3626
|
}
|
|
3310
3627
|
}
|
|
3311
3628
|
},
|
|
3312
3629
|
{
|
|
3313
|
-
"
|
|
3314
|
-
"
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
"comment": "you can use variable names, field names, and reserved words as argument names."
|
|
3319
|
-
}
|
|
3320
|
-
}
|
|
3630
|
+
"comment": "Argument references can be passed into includes as arguments",
|
|
3631
|
+
"include": "#argument-reference"
|
|
3632
|
+
},
|
|
3633
|
+
{
|
|
3634
|
+
"include": "#comment"
|
|
3321
3635
|
}
|
|
3322
3636
|
]
|
|
3323
3637
|
},
|
|
3324
3638
|
"argument-reference": {
|
|
3325
|
-
"comment": "https://docs.progress.com/bundle/
|
|
3326
|
-
"match": "\\s*((\\{\\s
|
|
3639
|
+
"comment": "https://docs.progress.com/bundle/abl-reference/page/Argument-reference.html",
|
|
3640
|
+
"match": "\\s*((\\{\\s*&[\\.a-zA-Z0-9_\\-#$%\\\/]+\\})|(\\{\\s*\\d+\\})|(\\{\\s*\\*\\}))\\s*",
|
|
3327
3641
|
"captures": {
|
|
3328
3642
|
"1": {
|
|
3329
3643
|
"name": "support.other.argument.abl"
|
|
@@ -3341,14 +3655,14 @@
|
|
|
3341
3655
|
]
|
|
3342
3656
|
},
|
|
3343
3657
|
"singlelinecomment": {
|
|
3344
|
-
"match": "
|
|
3658
|
+
"match": "//.*$",
|
|
3345
3659
|
"comment": "Was comment.source.abl but should be changed, per https://macromates.com/manual/en/language_grammars",
|
|
3346
3660
|
"name": "comment.line.double-slash.abl"
|
|
3347
3661
|
},
|
|
3348
3662
|
"multilinecomment": {
|
|
3349
|
-
"begin": "
|
|
3663
|
+
"begin": "/\\*",
|
|
3664
|
+
"end": "\\*/",
|
|
3350
3665
|
"contentName": "comment",
|
|
3351
|
-
"end": "\\*\\/",
|
|
3352
3666
|
"name": "comment.block.source.abl",
|
|
3353
3667
|
"patterns": [
|
|
3354
3668
|
{
|
|
@@ -3400,7 +3714,7 @@
|
|
|
3400
3714
|
"name": "punctuation.definition.string.begin.abl"
|
|
3401
3715
|
}
|
|
3402
3716
|
},
|
|
3403
|
-
"end": "(?i)(\")(:[
|
|
3717
|
+
"end": "(?i)(\")(:[LlRrTtCcUu]\\d*\\b)?",
|
|
3404
3718
|
"endCaptures": {
|
|
3405
3719
|
"1": {
|
|
3406
3720
|
"name": "punctuation.definition.string.end.abl"
|
|
@@ -3423,23 +3737,23 @@
|
|
|
3423
3737
|
"name": "storage.type.abl"
|
|
3424
3738
|
}
|
|
3425
3739
|
},
|
|
3426
|
-
"comment": "https://docs.progress.com/bundle/
|
|
3740
|
+
"comment": "https://docs.progress.com/bundle/abl-reference/page/Data-types.html"
|
|
3427
3741
|
},
|
|
3428
3742
|
"primitive-type": {
|
|
3429
|
-
"match": "(?i)(?<=^|\\s)(blob|
|
|
3743
|
+
"match": "(?i)(?<=^|\\s)(blob|(char(?:acter|acte|act|ac|a)?)|cha|ch|c|clob|com-handle|date|da|datetime|datetime-tz|(dec(?:imal|ima|im|i)?)|de|handle|int64|(int(?:eger|ege|eg|e)?)|in|i|(log(?:ical|ica|ic|i)?)|lo|l|(longch(?:ar|a)?)|memptr|raw|recid|rowid|widget-handle)(?![=a-zA-Z0-9_\\-#$%\\-])",
|
|
3430
3744
|
"captures": {
|
|
3431
3745
|
"1": {
|
|
3432
3746
|
"name": "storage.type.abl"
|
|
3433
3747
|
}
|
|
3434
3748
|
},
|
|
3435
|
-
"comment": "https://docs.progress.com/bundle/
|
|
3749
|
+
"comment": "https://docs.progress.com/bundle/abl-reference/page/Data-types.html"
|
|
3436
3750
|
},
|
|
3437
3751
|
"numeric": {
|
|
3438
|
-
"match": "(?<![
|
|
3752
|
+
"match": "(?<![a-zA-Z0-9_\\-#$%-])(0[xX]\\h+)|(\\-?[0-9]+(\\.[0-9]+)?)",
|
|
3439
3753
|
"name": "constant.numeric.source.abl"
|
|
3440
3754
|
},
|
|
3441
3755
|
"abl-system-handles": {
|
|
3442
|
-
"match": "(?i)\\b(
|
|
3756
|
+
"match": "(?i)\\b(active-window|audit-control|audit-policy|clipboard|codebase-locator|color-table|compiler|current-window|debugger|default-window|dslog-manager|(error-stat(?:us|u)?)|(file-info(?:rmation|rmatio|rmati|rmat|rma|rm|r)?)|font-table|(last-even(?:t)?)|log-manager|profiler|(rcode-info(?:rmation|rmatio|rmati|rmat|rma|rm|r)?)|security-policy|self|session|source-procedure|super|target-procedure|this-object|this-procedure|web-context)\\b(?![#$\\-_%&])",
|
|
3443
3757
|
"captures": {
|
|
3444
3758
|
"1": {
|
|
3445
3759
|
"name": "variable.language.abl"
|
|
@@ -3450,16 +3764,17 @@
|
|
|
3450
3764
|
}
|
|
3451
3765
|
},
|
|
3452
3766
|
"timestamp-constant": {
|
|
3453
|
-
"match": "(?i)(?<=^|\\s*)(today|now)(
|
|
3767
|
+
"match": "(?i)(?<=^|\\s*)(today|now)(?!a-zA-Z0-9_\\-#$%|-)",
|
|
3768
|
+
"comment": "These are constants that can be used in initial values. This excludes MTIME and ETIME",
|
|
3454
3769
|
"name": "constant.language.abl"
|
|
3455
3770
|
},
|
|
3456
3771
|
"constant": {
|
|
3457
|
-
"match": "(?i)(?<=^|\\s|\\()(true|false|yes|no|\\?)(
|
|
3772
|
+
"match": "(?i)(?<=^|\\s|\\()(true|false|yes|no|\\?)(?![a-zA-Z0-9_\\-#$%])",
|
|
3458
3773
|
"name": "constant.language.abl"
|
|
3459
3774
|
},
|
|
3460
3775
|
"punctuation-colon": {
|
|
3461
|
-
"
|
|
3462
|
-
"
|
|
3776
|
+
"match": ":",
|
|
3777
|
+
"name": "punctuation.terminator.abl"
|
|
3463
3778
|
},
|
|
3464
3779
|
"punctuation-separator": {
|
|
3465
3780
|
"name": "punctuation.separator.abl",
|
|
@@ -3468,7 +3783,7 @@
|
|
|
3468
3783
|
"include": "#punctuation-comma"
|
|
3469
3784
|
},
|
|
3470
3785
|
{
|
|
3471
|
-
"match": "(
|
|
3786
|
+
"match": "(:)",
|
|
3472
3787
|
"captures": {
|
|
3473
3788
|
"1": {
|
|
3474
3789
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -3516,11 +3831,14 @@
|
|
|
3516
3831
|
},
|
|
3517
3832
|
{
|
|
3518
3833
|
"include": "#operator-with-space"
|
|
3834
|
+
},
|
|
3835
|
+
{
|
|
3836
|
+
"include": "#operator-with-trailing-space"
|
|
3519
3837
|
}
|
|
3520
3838
|
]
|
|
3521
3839
|
},
|
|
3522
3840
|
"operator-no-space": {
|
|
3523
|
-
"match": "(
|
|
3841
|
+
"match": "(\\+=|-=|\\\\=|\\*=|<=|<>|>=|=|\\+|-|/|<|>|\\*)",
|
|
3524
3842
|
"captures": {
|
|
3525
3843
|
"1": {
|
|
3526
3844
|
"name": "keyword.operator.source.abl"
|
|
@@ -3528,8 +3846,17 @@
|
|
|
3528
3846
|
}
|
|
3529
3847
|
},
|
|
3530
3848
|
"operator-with-space": {
|
|
3531
|
-
"match": "(?i)(?<=\\s)(
|
|
3532
|
-
"comment": "Lookahead and -behind for the spaces
|
|
3849
|
+
"match": "(?i)(?<=\\s)(contains|begins|matches|eq|le|lt|ge|gt|ne)(?=\\s|\\()",
|
|
3850
|
+
"comment": "Lookahead and -behind for the spaces",
|
|
3851
|
+
"captures": {
|
|
3852
|
+
"1": {
|
|
3853
|
+
"name": "keyword.operator.source.abl"
|
|
3854
|
+
}
|
|
3855
|
+
}
|
|
3856
|
+
},
|
|
3857
|
+
"operator-with-trailing-space": {
|
|
3858
|
+
"match": "\\b([Nn][Oo][Tt])(?=\\s|\\()",
|
|
3859
|
+
"comment": "Lookahead only for the spaces, so that in particular the NOT is captured properly",
|
|
3533
3860
|
"captures": {
|
|
3534
3861
|
"1": {
|
|
3535
3862
|
"name": "keyword.operator.source.abl"
|
|
@@ -3541,7 +3868,7 @@
|
|
|
3541
3868
|
"patterns": [
|
|
3542
3869
|
{
|
|
3543
3870
|
"comment": " NEW\\s+( <buffer> )",
|
|
3544
|
-
"match": "(?i)\\s*(new)\\s+(\\()\\s*([
|
|
3871
|
+
"match": "(?i)\\s*(new)\\s+(\\()\\s*([a-zA-Z_][a-zA-Z0-9_\\-#$%]*(\\.[a-zA-Z][a-zA-Z0-9_\\-#$%]*)?)\\s*(\\))",
|
|
3545
3872
|
"captures": {
|
|
3546
3873
|
"1": {
|
|
3547
3874
|
"name": "support.function.abl"
|
|
@@ -3559,7 +3886,7 @@
|
|
|
3559
3886
|
},
|
|
3560
3887
|
{
|
|
3561
3888
|
"comment": " NEW <buffer>. The position of the negative lookahead (?!...) is very important",
|
|
3562
|
-
"match": "(?i)\\s*((new)\\s+(?!.*\\()([
|
|
3889
|
+
"match": "(?i)\\s*((new)\\s+(?!.*\\()([a-zA-Z_][a-zA-Z0-9_\\-#$%\\.]*))",
|
|
3563
3890
|
"captures": {
|
|
3564
3891
|
"2": {
|
|
3565
3892
|
"name": "support.function.abl"
|
|
@@ -3572,6 +3899,7 @@
|
|
|
3572
3899
|
]
|
|
3573
3900
|
},
|
|
3574
3901
|
"keywords": {
|
|
3902
|
+
"comment": "These scopes contain statements, not all the keywords. Methods, attributes and functions have their own scopes.",
|
|
3575
3903
|
"patterns": [
|
|
3576
3904
|
{
|
|
3577
3905
|
"include": "#keywords-A"
|
|
@@ -3652,7 +3980,7 @@
|
|
|
3652
3980
|
},
|
|
3653
3981
|
"keywords-A": {
|
|
3654
3982
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3655
|
-
"match": "(?i)\\b(
|
|
3983
|
+
"match": "(?i)\\b((accum(?:ulate|ulat|ula|ul|u)?)|(ambig(?:uous|uou|uo|u)?)|(array-m(?:essage|essag|essa|ess|es|e)?)|(asc(?:ending|endin|endi|end|en|e)?)|(avail(?:able|abl|ab|a)?)|(ave(?:rage|rag|ra|r)?)|abort|abstract|across|active-form|active-window|add|advise|aggregate|alert-box|all|allow-replication|alter|alternate-key|and|ansi-only|any|any-key|any-printable|anywhere|append|append-line|application|apply|as|as-cursor|ask-overwrite|assembly|assign|at|attach|attachment|attribute-type|audit-control|audit-policy|authorization|auto-endkey|auto-go|automatic|avg)\\b(?![#$\\-_%&])",
|
|
3656
3984
|
"captures": {
|
|
3657
3985
|
"1": {
|
|
3658
3986
|
"name": "keyword.other.abl"
|
|
@@ -3661,7 +3989,7 @@
|
|
|
3661
3989
|
},
|
|
3662
3990
|
"keywords-B": {
|
|
3663
3991
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3664
|
-
"match": "(?i)\\b(
|
|
3992
|
+
"match": "(?i)\\b((backward(?:s)?)|(before-h(?:ide|id|i)?)|(bgc(?:olor|olo|ol|o)?)|(block-lev(?:el|e)?)|(border-b(?:ottom|otto|ott|ot|o)?)|(border-l(?:eft|ef|e)?)|(border-r(?:ight|igh|ig|i)?)|(border-t(?:op|o)?)|(buffer-comp(?:are|ar|a)?)|(button(?:s)?)|(button(?:s)?)|(by-variant-point(?:er|e)?)|back-tab|backspace|base-key|base64|batch|begins|bell|between|big-endian|binary|bind|bind-where|blob|block|both|bottom|bottom-column|break|break-line|browse|browse-column-data-types|browse-column-formats|browse-column-labels|browse-header|btos|buffer|buffer-copy|by|by-pointer|by-reference|by-value|byte)\\b(?![#$\\-_%&])",
|
|
3665
3993
|
"captures": {
|
|
3666
3994
|
"1": {
|
|
3667
3995
|
"name": "keyword.other.abl"
|
|
@@ -3670,7 +3998,7 @@
|
|
|
3670
3998
|
},
|
|
3671
3999
|
"keywords-C": {
|
|
3672
4000
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3673
|
-
"match": "(?i)\\b(
|
|
4001
|
+
"match": "(?i)\\b((center(?:ed|e)?)|(char(?:acter|acte|act|ac|a)?)|(colon-align(?:ed|e)?)|(column(?:s)?)|(column-lab(?:el|e)?)|(column-label-bgc(?:olor|olo|ol|o)?)|(column-label-fgc(?:olor|olo|ol|o)?)|(column-label-height-c(?:hars|har|ha|h)?)|(column-label-height-p(?:ixels|ixel|ixe|ix|i)?)|(compare(?:s)?)|(context-pop(?:up|u)?)|(control-cont(?:ainer|aine|ain|ai|a)?)|(control-fram(?:e)?)|(current-lang(?:uage|uag|ua|u)?)|(curs(?:or|o)?)|cache|cache-size|call|cancel-pick|case|catch|cdecl|chained|character_length|check|check-mem-stomp|choices|choose|class|clear|client-principal|clipboard|clob|close|codebase-locator|col|col-of|collate|colon|color|color-table|column-codepage|column-label-dcolor|column-label-font|column-of|com-self|combo-box|command|compile|compiler|component-handle|component-self|connect|constrained|constructor|container-event|contains|contents|context|context-help-id|control|convert|copy|copy-lob|count|create|create-on-add|create-test-file|ctos|current|current-value|current_date|cursor-down|cursor-left|cursor-right|cursor-up|cut)\\b(?![#$\\-_%&])",
|
|
3674
4002
|
"captures": {
|
|
3675
4003
|
"1": {
|
|
3676
4004
|
"name": "keyword.other.abl"
|
|
@@ -3679,7 +4007,7 @@
|
|
|
3679
4007
|
},
|
|
3680
4008
|
"keywords-D": {
|
|
3681
4009
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3682
|
-
"match": "(?i)\\b(
|
|
4010
|
+
"match": "(?i)\\b((data-b(?:ind|in|i)?)|(data-rel(?:ation|atio|ati|at|a)?)|(def(?:ine|in|i)?)|(default-ex(?:tension|tensio|tensi|tens|ten|te|t)?)|(desc(?:ending|endin|endi|end|en|e)?)|(dict(?:ionary|ionar|iona|ion|io|i)?)|(discon(?:nect|nec|ne|n)?)|(disp(?:lay|la|l)?)|data-refresh-line|data-refresh-page|data-source|database|dataset|dataset-handle|dcolor|dde|dde-notify|debug-list|debug-set-tenant|debugger|declare|default|default-action|default-pop-up|default-untranslatable|default-window|defer-lob-fetch|define-user-event-manager|del|delegate|delete|delete-character|delete-column|delete-end-line|delete-field|delete-word|delimiter|deselect|deselect-extend|deselection|deselection-extend|destructor|detach|dialog-box|dialog-help|dir|disable|disabled|dismiss-menu|distinct|dll-call-type|do|dos|dos-end|dotnet-clr-loaded|double|down|drop|drop-down|drop-down-list|drop-file-notify|drop-target|dslog-manager|dump|dynamic-current-value|dynamic-new|dynamic-property)\\b(?![#$\\-_%&])",
|
|
3683
4011
|
"captures": {
|
|
3684
4012
|
"1": {
|
|
3685
4013
|
"name": "keyword.other.abl"
|
|
@@ -3688,7 +4016,7 @@
|
|
|
3688
4016
|
},
|
|
3689
4017
|
"keywords-E": {
|
|
3690
4018
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3691
|
-
"match": "(?i)\\b(
|
|
4019
|
+
"match": "(?i)\\b((error-stat(?:us|u)?)|(exclusive-l(?:ock|oc|o)?)|(exclusive-web(?:-user|-use|-us|-u|-)?)|each|echo|edge|editing|editor|editor-backtab|editor-tab|else|empty|empty-selection|enable|end|end-box-selection|end-error|end-key|end-move|end-resize|end-row-resize|end-search|endkey|enter-menubar|entry|enum|eq|error|escape|event|event-handler-context|events|except|exclusive|execute|exists|exit|expire|explicit|export|extended|extent|external|extract)\\b(?![#$\\-_%&])",
|
|
3692
4020
|
"captures": {
|
|
3693
4021
|
"1": {
|
|
3694
4022
|
"name": "keyword.other.abl"
|
|
@@ -3697,7 +4025,7 @@
|
|
|
3697
4025
|
},
|
|
3698
4026
|
"keywords-F": {
|
|
3699
4027
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3700
|
-
"match": "(?i)\\b(
|
|
4028
|
+
"match": "(?i)\\b((fgc(?:olor|olo|ol|o)?)|(field(?:s)?)|(file-access-d(?:ate|at|a)?)|(file-access-t(?:ime|im|i)?)|(file-info(?:rmation|rmatio|rmati|rmat|rma|rm|r)?)|(form(?:at|a)?)|(form(?:at|a)?)|(forward(?:s)?)|(fram(?:e)?)|(frame-val(?:ue|u)?)|(from-c(?:hars|har|ha|h)?)|(from-cur(?:rent|ren|re|r)?)|(from-p(?:ixels|ixel|ixe|ix|i)?)|false|false-leaks|fetch|file|filename|fill-in|filters|final|finally|find|find-case-sensitive|find-global|find-next|find-next-occurrence|find-prev-occurrence|find-previous|find-select|find-wrap-around|finder|firehose-cursor|first|fix-codepage|fixed-only|flags|flat-button|float|focus|focus-in|font|font-table|for|force-file|foreign-key-hidden|from|fromnoreorder|full-height|function|function-call-type)\\b(?![#$\\-_%&])",
|
|
3701
4029
|
"captures": {
|
|
3702
4030
|
"1": {
|
|
3703
4031
|
"name": "keyword.other.abl"
|
|
@@ -3706,7 +4034,7 @@
|
|
|
3706
4034
|
},
|
|
3707
4035
|
"keywords-G": {
|
|
3708
4036
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3709
|
-
"match": "(?i)\\b(
|
|
4037
|
+
"match": "(?i)\\b((get-key-val(?:ue|u)?)|ge|generate-md5|get|get-attr-call-type|get-dir|get-file|get-text-height|get-text-width|getbyte|global|go|go-on|goto|grant|grant-archive|grayed|grid-set|grid-unit-height|grid-unit-width|group|gt)\\b(?![#$\\-_%&])",
|
|
3710
4038
|
"captures": {
|
|
3711
4039
|
"1": {
|
|
3712
4040
|
"name": "keyword.other.abl"
|
|
@@ -3715,7 +4043,7 @@
|
|
|
3715
4043
|
},
|
|
3716
4044
|
"keywords-H": {
|
|
3717
4045
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3718
|
-
"match": "(?i)\\b(
|
|
4046
|
+
"match": "(?i)\\b((help-con(?:text|tex|te|t)?)|(helpfile-n(?:ame|am|a)?)|having|header|height|help-topic|hidden|hide|hint|home|horiz-end|horiz-home|horiz-scroll-drag|host-byte-order)\\b(?![#$\\-_%&])",
|
|
3719
4047
|
"captures": {
|
|
3720
4048
|
"1": {
|
|
3721
4049
|
"name": "keyword.other.abl"
|
|
@@ -3724,7 +4052,7 @@
|
|
|
3724
4052
|
},
|
|
3725
4053
|
"keywords-I": {
|
|
3726
4054
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3727
|
-
"match": "(?i)\\b(
|
|
4055
|
+
"match": "(?i)\\b((image-size-c(?:hars|har|ha|h)?)|(image-size-p(?:ixels|ixel|ixe|ix|i)?)|(info(?:rmation|rmatio|rmati|rmat|rma|rm|r)?)|(input-o(?:utput|utpu|utp|ut|u)?)|if|image|image-down|image-insensitive|image-size|image-up|implements|import|in|index-hint|indexed-reposition|indicator|inherit-color-mode|inherits|init|initial|initial-dir|initial-filter|initiate|inner|input|insert|insert-column|insert-field|insert-field-data|insert-field-label|insert-mode|interface|into|is|item|iteration-changed)\\b(?![#$\\-_%&])",
|
|
3728
4056
|
"captures": {
|
|
3729
4057
|
"1": {
|
|
3730
4058
|
"name": "keyword.other.abl"
|
|
@@ -3733,7 +4061,7 @@
|
|
|
3733
4061
|
},
|
|
3734
4062
|
"keywords-J": {
|
|
3735
4063
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3736
|
-
"match": "(?i)\\b(join
|
|
4064
|
+
"match": "(?i)\\b(join|join-by-sqldb|join-on-select)\\b(?![#$\\-_%&])",
|
|
3737
4065
|
"captures": {
|
|
3738
4066
|
"1": {
|
|
3739
4067
|
"name": "keyword.other.abl"
|
|
@@ -3742,7 +4070,7 @@
|
|
|
3742
4070
|
},
|
|
3743
4071
|
"keywords-K": {
|
|
3744
4072
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3745
|
-
"match": "(?i)\\b(
|
|
4073
|
+
"match": "(?i)\\b((keep-frame-z(?:-order|-orde|-ord|-or|-o|-)?)|(key-func(?:tion|tio|ti|t)?)|keep-messages|keep-tab-order|key-code|key-label|keycache-join)\\b(?![#$\\-_%&])",
|
|
3746
4074
|
"captures": {
|
|
3747
4075
|
"1": {
|
|
3748
4076
|
"name": "keyword.other.abl"
|
|
@@ -3751,7 +4079,7 @@
|
|
|
3751
4079
|
},
|
|
3752
4080
|
"keywords-L": {
|
|
3753
4081
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3754
|
-
"match": "(?i)\\b(
|
|
4082
|
+
"match": "(?i)\\b((label-pfc(?:olor|olo|ol|o)?)|(last-even(?:t)?)|(left-align(?:ed|e)?)|(listi(?:ng|n)?)|(longch(?:ar|a)?)|label|landscape|last-key|le|leading|leak-detection|leave|left|left-end|length|like|like-sequential|line-down|line-left|line-right|line-up|little-endian|load|load-from|load-picture|load-result-into|lob-dir|locked|log-id|log-manager|long|lookahead|lower|lt)\\b(?![#$\\-_%&])",
|
|
3755
4083
|
"captures": {
|
|
3756
4084
|
"1": {
|
|
3757
4085
|
"name": "keyword.other.abl"
|
|
@@ -3760,7 +4088,7 @@
|
|
|
3760
4088
|
},
|
|
3761
4089
|
"keywords-M": {
|
|
3762
4090
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3763
|
-
"match": "(?i)\\b(
|
|
4091
|
+
"match": "(?i)\\b((margin-height-c(?:hars|har|ha|h)?)|(margin-height-p(?:ixels|ixel|ixe|ix|i)?)|(margin-width-c(?:hars|har|ha|h)?)|(margin-width-p(?:ixels|ixel|ixe|ix|i)?)|(min-schema-marshal(?:l)?)|(mouse-p(?:ointer|ointe|oint|oin|oi|o)?)|machine-class|main-menu|map|margin-extra|margin-height|margin-width|matches|max|max-button|max-height|max-rows|max-size|max-width|maximize|md5-value|memptr|menu|menu-drop|menu-item|menubar|message|message-area|message-area-msg|message-line|method|min-height|min-size|min-width|mod|modulo|mouse|move|mpe|multiple-key|must-exist)\\b(?![#$\\-_%&])",
|
|
3764
4092
|
"captures": {
|
|
3765
4093
|
"1": {
|
|
3766
4094
|
"name": "keyword.other.abl"
|
|
@@ -3769,7 +4097,7 @@
|
|
|
3769
4097
|
},
|
|
3770
4098
|
"keywords-N": {
|
|
3771
4099
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3772
|
-
"match": "(?i)\\b(
|
|
4100
|
+
"match": "(?i)\\b((no-array-m(?:essage|essag|essa|ess|es|e)?)|(no-attr-l(?:ist|is|i)?)|(no-attr-s(?:pace|pac|pa|p)?)|(no-auto-tri(?:m)?)|(no-column-sc(?:rolling|rollin|rolli|roll|rol|ro|r)?)|(no-convert-3d(?:-colors|-color|-colo|-col|-co|-c|-)?)|(no-f(?:ill|il|i)?)|(no-inherit-bgc(?:olor|olo|ol|o)?)|(no-inherit-fgc(?:olor|olo|ol|o)?)|(no-label(?:s)?)|(no-mes(?:sage|sag|sa|s)?)|(no-prefe(?:tch|tc|t)?)|(no-query-o(?:rder-added|rder-adde|rder-add|rder-ad|rder-a|rder-|rder|rde|rd|r)?)|(no-query-u(?:nique-added|nique-adde|nique-add|nique-ad|nique-a|nique-|nique|niqu|niq|ni|n)?)|(no-return-val(?:ue|u)?)|(no-schema-marshal(?:l)?)|(no-scrollbar-v(?:ertical|ertica|ertic|erti|ert|er|e)?)|(no-tab(?:-stop|-sto|-st|-s|-)?)|(no-und(?:erline|erlin|erli|erl|er|e)?)|namespace-prefix|namespace-uri|native|ne|nested|new|new-instance|new-line|next|next-error|next-frame|next-prompt|next-word|no|no-apply|no-assign|no-attr|no-auto-validate|no-bind-where|no-box|no-console|no-convert|no-debug|no-drag|no-echo|no-error|no-firehose-cursor|no-focus|no-help|no-hide|no-index-hint|no-join-by-sqldb|no-keycache-join|no-lobs|no-lock|no-lookahead|no-map|no-pause|no-row-markers|no-scrolling|no-separate-connection|no-separators|no-undo|no-wait|no-word-wrap|node-type|non-serializable|none|not-active|null|num-copies|num-selected|numeric)\\b(?![#$\\-_%&])",
|
|
3773
4101
|
"captures": {
|
|
3774
4102
|
"1": {
|
|
3775
4103
|
"name": "keyword.other.abl"
|
|
@@ -3778,7 +4106,7 @@
|
|
|
3778
4106
|
},
|
|
3779
4107
|
"keywords-O": {
|
|
3780
4108
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3781
|
-
"match": "(?i)\\b(
|
|
4109
|
+
"match": "(?i)\\b((ole-invoke-loca(?:le|l)?)|(ole-names-loca(?:le|l)?)|object|octet_length|of|off|off-end|off-home|ok|ok-cancel|old|on|open|open-line-above|option|options-file|or|ordered-join|orientation|os-append|os-command|os-copy|os-create-dir|os-delete|os-dir|os-rename|os2|os400|otherwise|out-of-data|outer|outer-join|output|overlay|override)\\b(?![#$\\-_%&])",
|
|
3782
4110
|
"captures": {
|
|
3783
4111
|
"1": {
|
|
3784
4112
|
"name": "keyword.other.abl"
|
|
@@ -3787,7 +4115,7 @@
|
|
|
3787
4115
|
},
|
|
3788
4116
|
"keywords-P": {
|
|
3789
4117
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3790
|
-
"match": "(?i)\\b(
|
|
4118
|
+
"match": "(?i)\\b((page-wid(?:th|t)?)|(param(?:eter|ete|et|e)?)|(perf(?:ormance|ormanc|orman|orma|orm|or|o)?)|(pfc(?:olor|olo|ol|o)?)|(preproc(?:ess|es|e)?)|(presel(?:ect|ec|e)?)|(proce(?:dure|dur|du|d)?)|(prompt-f(?:or|o)?)|(put-key-val(?:ue|u)?)|package-private|package-protected|page|page-down|page-left|page-right|page-right-text|page-up|paged|parent-id-field|parent-window-close|partial-key|pascal|paste|pause|pick|pick-area|pick-both|pixels|portrait|precision|prev|prev-frame|prev-word|printer|printer-setup|private|privileges|procedure-call-type|procedure-complete|process|profile-file|profiler|prompt|promsgs|propath|property|protected|public|publish|put|put-bits|put-byte|put-bytes|put-double|put-float|put-int64|put-long|put-short|put-string|put-unsigned-long|put-unsigned-short|putbyte)\\b(?![#$\\-_%&])",
|
|
3791
4119
|
"captures": {
|
|
3792
4120
|
"1": {
|
|
3793
4121
|
"name": "keyword.other.abl"
|
|
@@ -3796,7 +4124,7 @@
|
|
|
3796
4124
|
},
|
|
3797
4125
|
"keywords-Q": {
|
|
3798
4126
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3799
|
-
"match": "(?i)\\b(
|
|
4127
|
+
"match": "(?i)\\b(query|query-tuning|question|quit)\\b(?![#$\\-_%&])",
|
|
3800
4128
|
"captures": {
|
|
3801
4129
|
"1": {
|
|
3802
4130
|
"name": "keyword.other.abl"
|
|
@@ -3805,7 +4133,7 @@
|
|
|
3805
4133
|
},
|
|
3806
4134
|
"keywords-R": {
|
|
3807
4135
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3808
|
-
"match": "(?i)\\b(
|
|
4136
|
+
"match": "(?i)\\b((rcode-info(?:rmation|rmatio|rmati|rmat|rma|rm|r)?)|(rect(?:angle|angl|ang|an|a)?)|(reposition-back(?:wards|ward|war|wa|w)?)|(reposition-forw(?:ards|ard|ar|a)?)|(reposition-parent-rel(?:ation|atio|ati|at|a)?)|(return-to-start-di(?:r)?)|(return-val(?:ue|u)?)|(right-align(?:ed|e)?)|(run-proc(?:edure|edur|edu|ed|e)?)|radio-set|raw|raw-transfer|read-available|read-exact-num|read-response|readkey|real|recall|recursive|reference-only|reinstate|release|repeat|replication-create|replication-delete|replication-write|reports|reposition|request|resize|result|resume-display|retain|retry-cancel|return|returns|reverse-from|revert|revoke|right|right-end|routine-level|row|row-created|row-deleted|row-display|row-entry|row-height|row-leave|row-modified|row-of|row-unmodified|rule|rule-row|rule-y|run)\\b(?![#$\\-_%&])",
|
|
3809
4137
|
"captures": {
|
|
3810
4138
|
"1": {
|
|
3811
4139
|
"name": "keyword.other.abl"
|
|
@@ -3814,7 +4142,7 @@
|
|
|
3814
4142
|
},
|
|
3815
4143
|
"keywords-S": {
|
|
3816
4144
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3817
|
-
"match": "(?i)\\b(
|
|
4145
|
+
"match": "(?i)\\b((sax-comple(?:te|t)?)|(scrolled-row-pos(?:ition|itio|iti|it|i)?)|(set-pointer-val(?:ue|u)?)|(share(?:-lock|-loc|-lo|-l|-)?)|(show-stat(?:s)?)|(side-lab(?:el|e)?)|(size-c(?:hars|har|ha|h)?)|(size-p(?:ixels|ixel|ixe|ix|i)?)|(stored-proc(?:edure|edur|edu|ed|e)?)|(sub-ave(?:rage|rag|ra|r)?)|(sub-max(?:imum|imu|im|i)?)|(sub-min(?:imum|imu|im|i)?)|(substr(?:ing|in|i)?)|save|save-as|sax-attributes|sax-parser-error|sax-reader|sax-running|sax-uninitialized|sax-write-begin|sax-write-complete|sax-write-content|sax-write-element|sax-write-error|sax-write-idle|sax-write-tag|sax-writer|sax-xml|schema|screen|screen-io|scroll|scroll-bars|scroll-horizontal|scroll-left|scroll-mode|scroll-notify|scroll-right|scroll-vertical|scrollbar-drag|scrolling|search-self|search-target|section|security-policy|seek|select|select-extend|select-on-join|select-repositioned-row|selected-items|selection|selection-extend|selection-list|self|send|sensitive|separate-connection|separators|serializable|serialize-hidden|serialize-name|server|server-socket|session|set|set-attr-call-type|set-byte-order|set-cell-focus|set-contents|set-db-logging|set-event-manager-option|set-option|set-state|settings|shared|short|signature|silent|simple|single|single-character|single-run|size|skip|skip-group-duplicates|skip-schema-check|slider|smallint|soap-fault|soap-header|soap-header-entryref|socket|some|source|source-procedure|space|sql|start|start-box-selection|start-extend-box-selection|start-mem-check|start-move|start-resize|start-row-resize|start-search|starting|static|status|status-area|status-area-msg|stdcall|stomp-detection|stomp-frequency|stop|stop-after|stop-display|stop-mem-check|stream|stream-handle|stream-io|string-xref|sub-count|sub-menu|sub-menu-help|sub-total|subscribe|sum|summary|super|suspend|system-dialog|system-help)\\b(?![#$\\-_%&])",
|
|
3818
4146
|
"captures": {
|
|
3819
4147
|
"1": {
|
|
3820
4148
|
"name": "keyword.other.abl"
|
|
@@ -3823,7 +4151,7 @@
|
|
|
3823
4151
|
},
|
|
3824
4152
|
"keywords-T": {
|
|
3825
4153
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3826
|
-
"match": "(?i)\\b(
|
|
4154
|
+
"match": "(?i)\\b((text-seg(?:-growth|-growt|-grow|-gro|-gr|-g|-)?)|(transact(?:ion|io|i)?)|tab|table-scan|target|target-procedure|temp-table|tenant|tenant-where|term|terminal|terminate|text|text-cursor|then|this-object|this-procedure|three-d|through|throw|thru|title|to|tooltip|top|top-column|topic|total|trailing|trans|transaction-mode|trigger|triggers|true|ttcodepage)\\b(?![#$\\-_%&])",
|
|
3827
4155
|
"captures": {
|
|
3828
4156
|
"1": {
|
|
3829
4157
|
"name": "keyword.other.abl"
|
|
@@ -3832,7 +4160,7 @@
|
|
|
3832
4160
|
},
|
|
3833
4161
|
"keywords-U": {
|
|
3834
4162
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3835
|
-
"match": "(?i)\\b(
|
|
4163
|
+
"match": "(?i)\\b((unbuff(?:ered|ere|er|e)?)|(underl(?:ine|in|i)?)|(unform(?:atted|atte|att|at|a)?)|(use-dic(?:t-exps|t-exp|t-ex|t-e|t-|t)?)|undo|union|unique|unix|unix-end|unless-hidden|unload|unsigned-byte|unsigned-int64|unsigned-integer|unsigned-long|unsigned-short|unsubscribe|up|update|upper|use|use-filename|use-index|use-revvideo|use-text|use-underline|use-widget-pool|user|using|utc-offset)\\b(?![#$\\-_%&])",
|
|
3836
4164
|
"captures": {
|
|
3837
4165
|
"1": {
|
|
3838
4166
|
"name": "keyword.other.abl"
|
|
@@ -3841,7 +4169,7 @@
|
|
|
3841
4169
|
},
|
|
3842
4170
|
"keywords-V": {
|
|
3843
4171
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3844
|
-
"match": "(?i)\\b(
|
|
4172
|
+
"match": "(?i)\\b((vari(?:able|abl|ab|a)?)|(verb(?:ose|os|o)?)|(vert(?:ical|ica|ic|i)?)|v6frame|validate|value-changed|values|var|view|view-as|virtual-height|virtual-width|vms|void)\\b(?![#$\\-_%&])",
|
|
3845
4173
|
"captures": {
|
|
3846
4174
|
"1": {
|
|
3847
4175
|
"name": "keyword.other.abl"
|
|
@@ -3850,7 +4178,7 @@
|
|
|
3850
4178
|
},
|
|
3851
4179
|
"keywords-W": {
|
|
3852
4180
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3853
|
-
"match": "(?i)\\b(
|
|
4181
|
+
"match": "(?i)\\b((web-con(?:text|tex|te|t)?)|(window-delayed-min(?:imize|imiz|imi|im|i)?)|(work-tab(?:le|l)?)|wait|wait-for|warning|web-notify|when|where|while|widget|widget-pool|width|window-close|window-maximized|window-minimized|window-name|window-normal|window-resized|window-restored|with|word-index|workfile)\\b(?![#$\\-_%&])",
|
|
3854
4182
|
"captures": {
|
|
3855
4183
|
"1": {
|
|
3856
4184
|
"name": "keyword.other.abl"
|
|
@@ -3859,7 +4187,7 @@
|
|
|
3859
4187
|
},
|
|
3860
4188
|
"keywords-X": {
|
|
3861
4189
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3862
|
-
"match": "(?i)\\b(
|
|
4190
|
+
"match": "(?i)\\b(x-document|x-noderef|x-of|xcode|xml-data-type|xml-node-name|xml-node-type|xor|xref|xref-xml)\\b(?![#$\\-_%&])",
|
|
3863
4191
|
"captures": {
|
|
3864
4192
|
"1": {
|
|
3865
4193
|
"name": "keyword.other.abl"
|
|
@@ -3868,7 +4196,7 @@
|
|
|
3868
4196
|
},
|
|
3869
4197
|
"keywords-Y": {
|
|
3870
4198
|
"comment": "The keyword must not have a trailing variable character (one of #$-_%&)",
|
|
3871
|
-
"match": "(?i)\\b(
|
|
4199
|
+
"match": "(?i)\\b(y-of|year|year-offset|yes|yes-no|yes-no-cancel)\\b(?![#$\\-_%&])",
|
|
3872
4200
|
"captures": {
|
|
3873
4201
|
"1": {
|
|
3874
4202
|
"name": "keyword.other.abl"
|
|
@@ -3952,7 +4280,7 @@
|
|
|
3952
4280
|
]
|
|
3953
4281
|
},
|
|
3954
4282
|
"handle-attributes-A": {
|
|
3955
|
-
"match": "(?i)(:)(
|
|
4283
|
+
"match": "(?i)(:)((ambig(?:uous|uou|uo|u)?)|(appl-alert(?:-boxes|-boxe|-box|-bo|-b|-)?)|(attr(?:-space|-spac|-spa|-sp|-s|-)?)|(auto-comp(?:letion|letio|leti|let|le|l)?)|(auto-ind(?:ent|en|e)?)|(auto-ret(?:urn|ur|u)?)|(auto-val(?:idate|idat|ida|id|i)?)|(auto-z(?:ap|a)?)|(avail(?:able|abl|ab|a)?)|accelerator|active|actor|adm-data|after-buffer|after-rowid|after-table|allow-column-searching|allow-prev-deserialization|always-on-top|appl-context-id|appserver-info|appserver-password|appserver-userid|async-request-count|async-request-handle|asynchronous|attached-pairlist|attribute-names|audit-event-context|auto-delete|auto-delete-xml|auto-end-key|auto-go|auto-resize|auto-synchronize|available-formats)\\b(?![#$\\-_%&])",
|
|
3956
4284
|
"captures": {
|
|
3957
4285
|
"1": {
|
|
3958
4286
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -3963,7 +4291,7 @@
|
|
|
3963
4291
|
}
|
|
3964
4292
|
},
|
|
3965
4293
|
"handle-attributes-B": {
|
|
3966
|
-
"match": "(?i)(:)(
|
|
4294
|
+
"match": "(?i)(:)((back(?:ground|groun|grou|gro|gr|g)?)|(bgc(?:olor|olo|ol|o)?)|(border-bottom-c(?:hars|har|ha|h)?)|(border-bottom-p(?:ixels|ixel|ixe|ix|i)?)|(border-left-c(?:hars|har|ha|h)?)|(border-left-p(?:ixels|ixel|ixe|ix|i)?)|(border-right-c(?:hars|har|ha|h)?)|(border-right-p(?:ixels|ixel|ixe|ix|i)?)|(border-top-c(?:hars|har|ha|h)?)|(border-top-p(?:ixels|ixel|ixe|ix|i)?)|(box-select(?:able|abl|ab|a)?)|(buffer-n(?:ame|am|a)?)|base-ade|basic-logging|batch-mode|batch-size|before-buffer|before-rowid|before-table|blank|block-iteration-display|box|buffer-chars|buffer-field|buffer-group-id|buffer-group-name|buffer-handle|buffer-lines|buffer-partition-id|buffer-tenant-id|buffer-tenant-name|bytes-read|bytes-written)\\b(?![#$\\-_%&])",
|
|
3967
4295
|
"captures": {
|
|
3968
4296
|
"1": {
|
|
3969
4297
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -3974,7 +4302,7 @@
|
|
|
3974
4302
|
}
|
|
3975
4303
|
},
|
|
3976
4304
|
"handle-attributes-C": {
|
|
3977
|
-
"match": "(?i)(:)(
|
|
4305
|
+
"match": "(?i)(:)((can-crea(?:te|t)?)|(can-dele(?:te|t)?)|(can-writ(?:e)?)|(case-sen(?:sitive|sitiv|siti|sit|si|s)?)|(center(?:ed|e)?)|(column(?:s)?)|(column-bgc(?:olor|olo|ol|o)?)|(column-fgc(?:olor|olo|ol|o)?)|(column-lab(?:el|e)?)|(column-pfc(?:olor|olo|ol|o)?)|(column-sc(?:rolling|rollin|rolli|roll|rol|ro|r)?)|(convert-3d(?:-colors|-color|-colo|-col|-co|-c|-)?)|(cpint(?:ernal|erna|ern|er|e)?)|(crc-val(?:ue|u)?)|(current-env(?:ironment|ironmen|ironme|ironm|iron|iro|ir|i)?)|cache|call-name|call-type|can-do-domain-support|can-read|cancel-button|cancelled|careful-paint|charset|checked|child-buffer|child-num|class-type|client-connection-id|client-tty|client-type|client-workstation|code|codepage|column-dcolor|column-font|column-movable|column-read-only|column-resizable|com-handle|complete|config-name|context-help|context-help-file|context-help-id|control-box|coverage|cpcase|cpcoll|cplog|cpprint|cprcodein|cprcodeout|cpstream|cpterm|current-changed|current-column|current-iteration|current-request-info|current-response-info|current-result-row|current-row-modified|current-window|cursor-char|cursor-line|cursor-offset)\\b(?![#$\\-_%&])",
|
|
3978
4306
|
"captures": {
|
|
3979
4307
|
"1": {
|
|
3980
4308
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -3985,7 +4313,7 @@
|
|
|
3985
4313
|
}
|
|
3986
4314
|
},
|
|
3987
4315
|
"handle-attributes-D": {
|
|
3988
|
-
"match": "(?i)(:)(
|
|
4316
|
+
"match": "(?i)(:)((data-entry-ret(?:urn|ur|u)?)|(data-t(?:ype|yp|y)?)|(date-f(?:ormat|orma|orm|or|o)?)|(dde-i(?:d)?)|(default-but(?:ton|to|t)?)|(descript(?:ion|io|i)?)|(display-t(?:ype|yp|y)?)|data-source|data-source-complete-map|data-source-modified|data-source-rowid|dataset|db-context|db-list|db-references|dbname|dcolor|dde-error|dde-item|dde-name|dde-topic|deblank|debug-alert|decimals|default|default-buffer-handle|default-commit|default-string|default-value|delimiter|directory|disable-auto-zap|display-timezone|domain-description|domain-name|domain-type|down|drag-enabled|drop-target|dynamic)\\b(?![#$\\-_%&])",
|
|
3989
4317
|
"captures": {
|
|
3990
4318
|
"1": {
|
|
3991
4319
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -3996,7 +4324,7 @@
|
|
|
3996
4324
|
}
|
|
3997
4325
|
},
|
|
3998
4326
|
"handle-attributes-E": {
|
|
3999
|
-
"match": "(?i)(:)(
|
|
4327
|
+
"match": "(?i)(:)((edge-c(?:hars|har|ha|h)?)|(edge-p(?:ixels|ixel|ixe|ix|i)?)|(error-col(?:umn|um|u)?)|(event-t(?:ype|yp|y)?)|edit-can-paste|edit-can-undo|empty|enabled|encoding|encryption-salt|end-user-prompt|entity-expansion-limit|entry-types-list|error|error-object|error-object-detail|error-row|error-stack-trace|error-string|event-group-id|event-handler|event-handler-object|event-procedure|event-procedure-context|exclusive-id|execution-log|exit-code|expand|expandable|extent)\\b(?![#$\\-_%&])",
|
|
4000
4328
|
"captures": {
|
|
4001
4329
|
"1": {
|
|
4002
4330
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4007,7 +4335,7 @@
|
|
|
4007
4335
|
}
|
|
4008
4336
|
},
|
|
4009
4337
|
"handle-attributes-F": {
|
|
4010
|
-
"match": "(?i)(:)(
|
|
4338
|
+
"match": "(?i)(:)((fgc(?:olor|olo|ol|o)?)|(file-create-d(?:ate|at|a)?)|(file-create-t(?:ime|im|i)?)|(file-mod-d(?:ate|at|a)?)|(file-mod-t(?:ime|im|i)?)|(file-off(?:set|se|s)?)|(first-async(?:-request|-reques|-reque|-requ|-req|-re|-r|-)?)|(first-proc(?:edure|edur|edu|ed|e)?)|(first-serv(?:er|e)?)|(first-tab-i(?:tem|te|t)?)|(fore(?:ground|groun|grou|gro|gr|g)?)|(form(?:at|a)?)|(formatte(?:d)?)|(fragmen(?:t)?)|(fram(?:e)?)|(frame-spa(?:cing|cin|ci|c)?)|(full-height-c(?:hars|har|ha|h)?)|(full-height-p(?:ixels|ixel|ixe|ix|i)?)|(full-pathn(?:ame|am|a)?)|(full-width(?:-chars|-char|-cha|-ch|-c|-)?)|(full-width-p(?:ixels|ixel|ixe|ix|i)?)|file-name|file-size|file-type|fill-mode|fill-where-string|filled|first-buffer|first-child|first-column|first-data-source|first-dataset|first-form|first-object|first-query|first-server-socket|first-socket|fit-last-column|flat-button|focused-row|focused-row-selected|font|foreign-key-hidden|form-input|form-long-input|forward-only|frame-col|frame-name|frame-row|frame-x|frame-y|frequency|function)\\b(?![#$\\-_%&])",
|
|
4011
4339
|
"captures": {
|
|
4012
4340
|
"1": {
|
|
4013
4341
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4018,7 +4346,7 @@
|
|
|
4018
4346
|
}
|
|
4019
4347
|
},
|
|
4020
4348
|
"handle-attributes-G": {
|
|
4021
|
-
"match": "(?i)(:)(
|
|
4349
|
+
"match": "(?i)(:)((graphic-e(?:dge|dg|d)?)|(grid-factor-h(?:orizontal|orizonta|orizont|orizon|orizo|oriz|ori|or|o)?)|(grid-factor-v(?:ertical|ertica|ertic|erti|ert|er|e)?)|(grid-unit-height-c(?:hars|har|ha|h)?)|(grid-unit-height-p(?:ixels|ixel|ixe|ix|i)?)|(grid-unit-width-c(?:hars|har|ha|h)?)|(grid-unit-width-p(?:ixels|ixel|ixe|ix|i)?)|grid-snap|grid-visible|group-box)\\b(?![#$\\-_%&])",
|
|
4022
4350
|
"captures": {
|
|
4023
4351
|
"1": {
|
|
4024
4352
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4029,7 +4357,7 @@
|
|
|
4029
4357
|
}
|
|
4030
4358
|
},
|
|
4031
4359
|
"handle-attributes-H": {
|
|
4032
|
-
"match": "(?i)(:)(
|
|
4360
|
+
"match": "(?i)(:)((height-c(?:hars|har|ha|h)?)|(height-p(?:ixels|ixel|ixe|ix|i)?)|(hori(?:zontal|zonta|zont|zon|zo|z)?)|handle|handler|has-lobs|has-records|help|hidden|html-charset|html-end-of-line|html-end-of-page|html-frame-begin|html-frame-end|html-header-begin|html-header-end|html-title-begin|html-title-end|hwnd)\\b(?![#$\\-_%&])",
|
|
4033
4361
|
"captures": {
|
|
4034
4362
|
"1": {
|
|
4035
4363
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4040,7 +4368,7 @@
|
|
|
4040
4368
|
}
|
|
4041
4369
|
},
|
|
4042
4370
|
"handle-attributes-I": {
|
|
4043
|
-
"match": "(?i)(:)(
|
|
4371
|
+
"match": "(?i)(:)((icfparam(?:eter|ete|et|e)?)|(ignore-current-mod(?:ified|ifie|ifi|if|i)?)|(index-info(?:rmation|rmatio|rmati|rmat|rma|rm|r)?)|(inherit-bgc(?:olor|olo|ol|o)?)|(inherit-fgc(?:olor|olo|ol|o)?)|(is-clas(?:s)?)|(is-partitione(?:d)?)|icon|image|image-down|image-insensitive|image-up|immediate-display|in-handle|index|initial|inner-chars|inner-lines|input-value|instantiating-procedure|internal-entries|is-json|is-multi-tenant|is-open|is-parameter-set|is-xml|items-per-row)\\b(?![#$\\-_%&])",
|
|
4044
4372
|
"captures": {
|
|
4045
4373
|
"1": {
|
|
4046
4374
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4051,7 +4379,7 @@
|
|
|
4051
4379
|
}
|
|
4052
4380
|
},
|
|
4053
4381
|
"handle-attributes-K": {
|
|
4054
|
-
"match": "(?i)(:)(
|
|
4382
|
+
"match": "(?i)(:)((keep-frame-z(?:-order|-orde|-ord|-or|-o|-)?)|keep-connection-open|keep-security-cache|key|keys)\\b(?![#$\\-_%&])",
|
|
4055
4383
|
"captures": {
|
|
4056
4384
|
"1": {
|
|
4057
4385
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4062,7 +4390,7 @@
|
|
|
4062
4390
|
}
|
|
4063
4391
|
},
|
|
4064
4392
|
"handle-attributes-L": {
|
|
4065
|
-
"match": "(?i)(:)(
|
|
4393
|
+
"match": "(?i)(:)((label-bgc(?:olor|olo|ol|o)?)|(label-dc(?:olor|olo|ol|o)?)|(label-fgc(?:olor|olo|ol|o)?)|(language(?:s)?)|(last-async(?:-request|-reques|-reque|-requ|-req|-re|-r|-)?)|(last-proce(?:dure|dur|du|d)?)|(last-serv(?:er|e)?)|(last-tab-i(?:tem|te|t)?)|label|label-font|labels|labels-have-colons|large|large-to-small|last-batch|last-child|last-form|last-object|last-server-socket|last-socket|length|library|library-calling-convention|line|list-item-pairs|list-items|listings|literal-question|local-host|local-name|local-port|local-version-info|locator-column-number|locator-line-number|locator-public-id|locator-system-id|locator-type|locked|log-entry-types|log-threshold|logfile-name|logging-level|login-expiration-timestamp|login-host|login-state)\\b(?![#$\\-_%&])",
|
|
4066
4394
|
"captures": {
|
|
4067
4395
|
"1": {
|
|
4068
4396
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4073,7 +4401,7 @@
|
|
|
4073
4401
|
}
|
|
4074
4402
|
},
|
|
4075
4403
|
"handle-attributes-M": {
|
|
4076
|
-
"match": "(?i)(:)(
|
|
4404
|
+
"match": "(?i)(:)((max-height-c(?:hars|har|ha|h)?)|(max-height-p(?:ixels|ixel|ixe|ix|i)?)|(max-val(?:ue|u)?)|(max-width-c(?:hars|har|ha|h)?)|(max-width-p(?:ixels|ixel|ixe|ix|i)?)|(menu-k(?:ey|e)?)|(menu-m(?:ouse|ous|ou|o)?)|(min-column-width-c(?:hars|har|ha|h)?)|(min-column-width-p(?:ixels|ixel|ixe|ix|i)?)|(min-height-c(?:hars|har|ha|h)?)|(min-height-p(?:ixels|ixel|ixe|ix|i)?)|(min-schema-marshal(?:l)?)|(min-val(?:ue|u)?)|(min-width-c(?:hars|har|ha|h)?)|(min-width-p(?:ixels|ixel|ixe|ix|i)?)|(mouse-p(?:ointer|ointe|oint|oin|oi|o)?)|mandatory|manual-highlight|max-button|max-chars|max-data-guess|maximum-level|menu-bar|merge-by-field|message-area|message-area-font|min-button|modified|movable|multi-compile|multiple|multitasking-interval|must-understand)\\b(?![#$\\-_%&])",
|
|
4077
4405
|
"captures": {
|
|
4078
4406
|
"1": {
|
|
4079
4407
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4084,7 +4412,7 @@
|
|
|
4084
4412
|
}
|
|
4085
4413
|
},
|
|
4086
4414
|
"handle-attributes-N": {
|
|
4087
|
-
"match": "(?i)(:)(
|
|
4415
|
+
"match": "(?i)(:)((next-col(?:umn|um|u)?)|(next-tab-ite(?:m)?)|(no-schema-marshal(?:l)?)|(no-val(?:idate|idat|ida|id|i)?)|(num-but(?:tons|ton|to|t)?)|(num-col(?:umns|umn|um|u)?)|(num-locked-col(?:umns|umn|um|u)?)|(num-repl(?:aced|ace|ac|a)?)|(num-visible-col(?:umns|umn|um|u)?)|(numeric-dec(?:imal-point|imal-poin|imal-poi|imal-po|imal-p|imal-|imal|ima|im|i)?)|(numeric-f(?:ormat|orma|orm|or|o)?)|(numeric-sep(?:arator|arato|arat|ara|ar|a)?)|name|namespace-prefix|namespace-uri|needs-appserver-prompt|needs-prompt|nested|new|new-row|next-rowid|next-sibling|no-current-value|no-empty-space|no-focus|node-value|nonamespace-schema-location|num-buffers|num-child-relations|num-children|num-dropped-files|num-entries|num-fields|num-formats|num-header-entries|num-items|num-iterations|num-lines|num-log-files|num-messages|num-parameters|num-references|num-relations|num-results|num-selected-rows|num-selected-widgets|num-source-buffers|num-tabs|num-to-retain|num-top-buffers)\\b(?![#$\\-_%&])",
|
|
4088
4416
|
"captures": {
|
|
4089
4417
|
"1": {
|
|
4090
4418
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4095,7 +4423,7 @@
|
|
|
4095
4423
|
}
|
|
4096
4424
|
},
|
|
4097
4425
|
"handle-attributes-O": {
|
|
4098
|
-
"match": "(?i)(:)(
|
|
4426
|
+
"match": "(?i)(:)((on-frame(?:-border|-borde|-bord|-bor|-bo|-b|-)?)|options|ordinal|origin-handle|origin-rowid|overlay|owner|owner-document)\\b(?![#$\\-_%&])",
|
|
4099
4427
|
"captures": {
|
|
4100
4428
|
"1": {
|
|
4101
4429
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4106,7 +4434,7 @@
|
|
|
4106
4434
|
}
|
|
4107
4435
|
},
|
|
4108
4436
|
"handle-attributes-P": {
|
|
4109
|
-
"match": "(?i)(:)(
|
|
4437
|
+
"match": "(?i)(:)((page-bot(?:tom|to|t)?)|(param(?:eter|ete|et|e)?)|(parent-rel(?:ation|atio|ati|at|a)?)|(pbe-hash-alg(?:orithm|orith|orit|ori|or|o)?)|(persist(?:ent|en|e)?)|(pfc(?:olor|olo|ol|o)?)|(pixels-per-col(?:umn|um|u)?)|(popup-m(?:enu|en|e)?)|(popup-o(?:nly|nl|n)?)|(prev-col(?:umn|um|u)?)|(prev-tab-i(?:tem|te|t)?)|(private-d(?:ata|at|a)?)|(progress-s(?:ource|ourc|our|ou|o)?)|page-top|parent|parent-buffer|parent-fields-after|parent-fields-before|parent-id-relation|parse-status|password-field|pathname|pbe-key-rounds|persistent-cache-disabled|persistent-procedure|pixels-per-row|position|prefer-dataset|prepare-string|prepared|prev-sibling|primary|primary-passphrase|printer-control-handle|printer-hdc|printer-name|printer-port|procedure-name|procedure-type|profiling|proxy|proxy-password|proxy-userid|public-id|published-events)\\b(?![#$\\-_%&])",
|
|
4110
4438
|
"captures": {
|
|
4111
4439
|
"1": {
|
|
4112
4440
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4117,7 +4445,7 @@
|
|
|
4117
4445
|
}
|
|
4118
4446
|
},
|
|
4119
4447
|
"handle-attributes-Q": {
|
|
4120
|
-
"match": "(?i)(:)(
|
|
4448
|
+
"match": "(?i)(:)(qualified-user-id|query|query-off-end|quit)\\b(?![#$\\-_%&])",
|
|
4121
4449
|
"captures": {
|
|
4122
4450
|
"1": {
|
|
4123
4451
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4128,7 +4456,7 @@
|
|
|
4128
4456
|
}
|
|
4129
4457
|
},
|
|
4130
4458
|
"handle-attributes-R": {
|
|
4131
|
-
"match": "(?i)(:)(
|
|
4459
|
+
"match": "(?i)(:)((record-len(?:gth|gt|g)?)|(relation-fi(?:elds|eld|el|e)?)|(resiza(?:ble|bl|b)?)|(retain-s(?:hape|hap|ha|h)?)|(return-ins(?:erted|erte|ert|er|e)?)|(return-val(?:ue|u)?)|(row-height-c(?:hars|har|ha|h)?)|(row-height-p(?:ixels|ixel|ixe|ix|i)?)|(row-ma(?:rkers|rker|rke|rk|r)?)|radio-buttons|read-only|recid|recursive|refreshable|rejected|relations-active|remote|remote-host|remote-port|reposition|request-info|resize|response-info|restart-row|restart-rowid|return-value-data-type|return-value-dll-type|role|roles|rounded|row|row-resizable|row-state|rowid)\\b(?![#$\\-_%&])",
|
|
4132
4460
|
"captures": {
|
|
4133
4461
|
"1": {
|
|
4134
4462
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4139,7 +4467,7 @@
|
|
|
4139
4467
|
}
|
|
4140
4468
|
},
|
|
4141
4469
|
"handle-attributes-S": {
|
|
4142
|
-
"match": "(?i)(:)(
|
|
4470
|
+
"match": "(?i)(:)((screen-val(?:ue|u)?)|(scrollbar-h(?:orizontal|orizonta|orizont|orizon|orizo|oriz|ori|or|o)?)|(scrollbar-v(?:ertical|ertica|ertic|erti|ert|er|e)?)|(separator-fgc(?:olor|olo|ol|o)?)|(server-connection-bo(?:und|un|u)?)|(server-connection-bound-re(?:quest|ques|que|qu|q)?)|(server-connection-co(?:ntext|ntex|nte|nt|n)?)|(show-in-task(?:bar|ba|b)?)|(side-label-h(?:andle|andl|and|an|a)?)|(skip-deleted-rec(?:ord|or|o)?)|(stoppe(?:d)?)|(super-proc(?:edures|edure|edur|edu|ed|e)?)|(suppress-w(?:arnings|arning|arnin|arni|arn|ar|a)?)|(system-alert(?:-boxes|-boxe|-box|-bo|-b|-)?)|save-where-string|schema-change|schema-location|schema-marshal|schema-path|screen-lines|scroll-bars|scrollable|seal-timestamp|selectable|selected|selection-end|selection-start|selection-text|sensitive|separators|serialize-hidden|serialize-name|server|server-connection-id|server-operating-mode|session-end|session-id|side-labels|signature-value|single-run|singleton|small-icon|small-title|soap-fault-actor|soap-fault-code|soap-fault-detail|soap-fault-misunderstood-header|soap-fault-node|soap-fault-role|soap-fault-string|soap-fault-subcode|soap-version|sort|sort-ascending|sort-number|ssl-server-name|standalone|startup-parameters|state-detail|statistics|status-area|status-area-font|stop|stop-object|stream|stretch-to-fit|strict|strict-entity-resolution|subtype|suppress-namespace-processing|suppress-warnings-list|symmetric-encryption-aad|symmetric-encryption-algorithm|symmetric-encryption-iv|symmetric-encryption-key|symmetric-support|system-id)\\b(?![#$\\-_%&])",
|
|
4143
4471
|
"captures": {
|
|
4144
4472
|
"1": {
|
|
4145
4473
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4150,7 +4478,7 @@
|
|
|
4150
4478
|
}
|
|
4151
4479
|
},
|
|
4152
4480
|
"handle-attributes-T": {
|
|
4153
|
-
"match": "(?i)(:)(
|
|
4481
|
+
"match": "(?i)(:)((table-num(?:ber|be|b)?)|(temp-dir(?:ectory|ector|ecto|ect|ec|e)?)|(title-bgc(?:olor|olo|ol|o)?)|(title-dc(?:olor|olo|ol|o)?)|(title-fgc(?:olor|olo|ol|o)?)|(title-fo(?:nt|n)?)|(trans-init-proc(?:edure|edur|edu|ed|e)?)|(transact(?:ion|io|i)?)|(transpar(?:ent|en|e)?)|tab-position|tab-stop|table|table-crc-list|table-handle|table-list|text-selected|thread-safe|three-d|tic-marks|time-source|timezone|title|toggle-box|tooltip|tooltips|top-nav-query|top-only|trace-filter|tracing|tracking-changes|type)\\b(?![#$\\-_%&])",
|
|
4154
4482
|
"captures": {
|
|
4155
4483
|
"1": {
|
|
4156
4484
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4161,7 +4489,7 @@
|
|
|
4161
4489
|
}
|
|
4162
4490
|
},
|
|
4163
4491
|
"handle-attributes-U": {
|
|
4164
|
-
"match": "(?i)(:)(
|
|
4492
|
+
"match": "(?i)(:)(undo|undo-throw-scope|unique-id|unique-match|url|url-password|url-userid|user-id)\\b(?![#$\\-_%&])",
|
|
4165
4493
|
"captures": {
|
|
4166
4494
|
"1": {
|
|
4167
4495
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4172,7 +4500,7 @@
|
|
|
4172
4500
|
}
|
|
4173
4501
|
},
|
|
4174
4502
|
"handle-attributes-V": {
|
|
4175
|
-
"match": "(?i)(:)(
|
|
4503
|
+
"match": "(?i)(:)((validate-expressio(?:n)?)|(virtual-height-c(?:hars|har|ha|h)?)|(virtual-height-p(?:ixels|ixel|ixe|ix|i)?)|(virtual-width-c(?:hars|har|ha|h)?)|(virtual-width-p(?:ixels|ixel|ixe|ix|i)?)|v6display|validate-message|validate-xml|validation-enabled|value|version|view-as|view-first-column-on-reopen|visible)\\b(?![#$\\-_%&])",
|
|
4176
4504
|
"captures": {
|
|
4177
4505
|
"1": {
|
|
4178
4506
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4183,7 +4511,7 @@
|
|
|
4183
4511
|
}
|
|
4184
4512
|
},
|
|
4185
4513
|
"handle-attributes-W": {
|
|
4186
|
-
"match": "(?i)(:)(
|
|
4514
|
+
"match": "(?i)(:)((widget-e(?:nter|nte|nt|n)?)|(widget-l(?:eave|eav|ea|e)?)|(width-c(?:hars|har|ha|h)?)|(width-p(?:ixels|ixel|ixe|ix|i)?)|(window-sta(?:te|t)?)|(window-sys(?:tem|te|t)?)|(work-area-height-p(?:ixels|ixel|ixe|ix|i)?)|(work-area-width-p(?:ixels|ixel|ixe|ix|i)?)|warning|wc-admin-app|where-string|widget-id|window|word-wrap|work-area-x|work-area-y|write-status)\\b(?![#$\\-_%&])",
|
|
4187
4515
|
"captures": {
|
|
4188
4516
|
"1": {
|
|
4189
4517
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4194,7 +4522,7 @@
|
|
|
4194
4522
|
}
|
|
4195
4523
|
},
|
|
4196
4524
|
"handle-attributes-X": {
|
|
4197
|
-
"match": "(?i)(:)(xml-
|
|
4525
|
+
"match": "(?i)(:)((xml-schema-pat(?:h)?)|x|x-document|xcode-session-key|xml-data-type|xml-entity-expansion-limit|xml-node-name|xml-node-type|xml-strict-entity-resolution|xml-suppress-namespace-processing)\\b(?![#$\\-_%&])",
|
|
4198
4526
|
"captures": {
|
|
4199
4527
|
"1": {
|
|
4200
4528
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4205,7 +4533,7 @@
|
|
|
4205
4533
|
}
|
|
4206
4534
|
},
|
|
4207
4535
|
"handle-attributes-Y": {
|
|
4208
|
-
"match": "(?i)(:)(year-offset
|
|
4536
|
+
"match": "(?i)(:)(y|year-offset)\\b(?![#$\\-_%&])",
|
|
4209
4537
|
"captures": {
|
|
4210
4538
|
"1": {
|
|
4211
4539
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4274,7 +4602,7 @@
|
|
|
4274
4602
|
]
|
|
4275
4603
|
},
|
|
4276
4604
|
"handle-methods-A": {
|
|
4277
|
-
"begin": "(?i)(:)(
|
|
4605
|
+
"begin": "(?i)(:)((add-calc-col(?:umn|um|u)?)|(add-events-proc(?:edure|edur|edu|ed|e)?)|(add-like-col(?:umn|um|u)?)|(add-rel(?:ation|atio|ati|at|a)?)|(add-super-proc(?:edure|edur|edu|ed|e)?)|accept-changes|accept-row-changes|add-buffer|add-columns-from|add-fields-from|add-first|add-header-entry|add-index-field|add-last|add-like-field|add-like-index|add-new-field|add-new-index|add-parent-id-relation|add-schema-location|add-source-buffer|append-child|apply-callback|attach-data-source|authentication-failed)\\s*(?=\\()",
|
|
4278
4606
|
"beginCaptures": {
|
|
4279
4607
|
"1": {
|
|
4280
4608
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4296,7 +4624,7 @@
|
|
|
4296
4624
|
]
|
|
4297
4625
|
},
|
|
4298
4626
|
"handle-methods-B": {
|
|
4299
|
-
"begin": "(?i)(:)(buffer-
|
|
4627
|
+
"begin": "(?i)(:)((buffer-comp(?:are|ar|a)?)|(buffer-releas(?:e)?)|begin-event-group|buffer-copy|buffer-create|buffer-delete|buffer-export|buffer-export-fields|buffer-field|buffer-import|buffer-import-fields|buffer-validate|buffer-value)\\s*(?=\\()",
|
|
4300
4628
|
"beginCaptures": {
|
|
4301
4629
|
"1": {
|
|
4302
4630
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4318,7 +4646,7 @@
|
|
|
4318
4646
|
]
|
|
4319
4647
|
},
|
|
4320
4648
|
"handle-methods-C": {
|
|
4321
|
-
"begin": "(?i)(:)(
|
|
4649
|
+
"begin": "(?i)(:)((clear-select(?:ion|io|i)?)|(clear-sort-arrow(?:s)?)|(convert-to-offs(?:et|e)?)|cancel-break|cancel-requests|cancel-requests-after|clear|clear-appl-context|clear-log|clone-node|close-log|connect|connected|copy-dataset|copy-sax-attributes|copy-temp-table|create-like|create-like-sequential|create-node|create-node-namespace|create-result-list-entry|current-query)\\s*(?=\\()",
|
|
4322
4650
|
"beginCaptures": {
|
|
4323
4651
|
"1": {
|
|
4324
4652
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4340,7 +4668,7 @@
|
|
|
4340
4668
|
]
|
|
4341
4669
|
},
|
|
4342
4670
|
"handle-methods-D": {
|
|
4343
|
-
"begin": "(?i)(:)(
|
|
4671
|
+
"begin": "(?i)(:)((debu(?:g)?)|(discon(?:nect|nec|ne|n)?)|declare-namespace|delete|delete-char|delete-current-row|delete-header-entry|delete-line|delete-node|delete-result-list-entry|delete-selected-row|delete-selected-rows|deselect-focused-row|deselect-rows|deselect-selected-row|detach-data-source|disable|disable-connections|disable-dump-triggers|disable-load-triggers|display-message|dump-logging-now)\\s*(?=\\()",
|
|
4344
4672
|
"beginCaptures": {
|
|
4345
4673
|
"1": {
|
|
4346
4674
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4362,7 +4690,7 @@
|
|
|
4362
4690
|
]
|
|
4363
4691
|
},
|
|
4364
4692
|
"handle-methods-E": {
|
|
4365
|
-
"begin": "(?i)(:)(
|
|
4693
|
+
"begin": "(?i)(:)(edit-clear|edit-copy|edit-cut|edit-paste|edit-undo|empty-dataset|empty-temp-table|enable|enable-connections|encode-domain-access-code|encrypt-audit-mac-key|end-document|end-element|end-event-group|end-file-drop|entry|export|export-principal|)\\s*(?=\\()",
|
|
4366
4694
|
"beginCaptures": {
|
|
4367
4695
|
"1": {
|
|
4368
4696
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4384,7 +4712,7 @@
|
|
|
4384
4712
|
]
|
|
4385
4713
|
},
|
|
4386
4714
|
"handle-methods-F": {
|
|
4387
|
-
"begin": "(?i)(:)(
|
|
4715
|
+
"begin": "(?i)(:)(fetch-selected-row|fill|find-by-rowid|find-current|find-first|find-last|find-unique|first-of)\\s*(?=\\()",
|
|
4388
4716
|
"beginCaptures": {
|
|
4389
4717
|
"1": {
|
|
4390
4718
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4406,7 +4734,7 @@
|
|
|
4406
4734
|
]
|
|
4407
4735
|
},
|
|
4408
4736
|
"handle-methods-G": {
|
|
4409
|
-
"begin": "(?i)(:)(get-
|
|
4737
|
+
"begin": "(?i)(:)((get-blue(?:-value|-valu|-val|-va|-v|-)?)|(get-browse-col(?:umn|um|u)?)|(get-child-rel(?:ation|atio|ati|at|a)?)|(get-curr(?:ent|en|e)?)|(get-file-offse(?:t)?)|(get-firs(?:t)?)|(get-green(?:-value|-valu|-val|-va|-v|-)?)|(get-header-entr(?:y)?)|(get-red(?:-value|-valu|-val|-va|-v|-)?)|(get-rel(?:ation|atio|ati|at|a)?)|(get-rgb(?:-value|-valu|-val|-va|-v|-)?)|(get-selected(?:-widget|-widge|-widg|-wid|-wi|-w|-)?)|(get-text-height-c(?:hars|har|ha|h)?)|(get-text-height-p(?:ixels|ixel|ixe|ix|i)?)|(get-text-width-c(?:hars|har|ha|h)?)|(get-text-width-p(?:ixels|ixel|ixe|ix|i)?)|(get-wait(?:-state|-stat|-sta|-st|-s|-)?)|get-attribute|get-attribute-node|get-binary-data|get-buffer-handle|get-bytes-available|get-callback-proc-context|get-callback-proc-name|get-cgi-list|get-cgi-long-value|get-cgi-value|get-changes|get-child|get-client|get-column|get-config-value|get-dataset-buffer|get-document-element|get-dropped-file|get-dynamic|get-error-column|get-error-row|get-file-name|get-index-by-namespace-name|get-index-by-qname|get-iteration|get-last|get-localname-by-index|get-message|get-message-type|get-next|get-node|get-number|get-parent|get-prev|get-printers|get-property|get-qname-by-index|get-repositioned-row|get-row|get-safe-user|get-serialized|get-signature|get-socket-option|get-source-buffer|get-tab-item|get-top-buffer|get-type-by-index|get-type-by-namespace-name|get-type-by-qname|get-uri-by-index|get-value-by-index|get-value-by-namespace-name|get-value-by-qname)\\s*(?=\\()",
|
|
4410
4738
|
"beginCaptures": {
|
|
4411
4739
|
"1": {
|
|
4412
4740
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4428,7 +4756,7 @@
|
|
|
4428
4756
|
]
|
|
4429
4757
|
},
|
|
4430
4758
|
"handle-methods-I": {
|
|
4431
|
-
"begin": "(?i)(:)(
|
|
4759
|
+
"begin": "(?i)(:)((index-info(?:rmation|rmatio|rmati|rmat|rma|rm|r)?)|(insert-b(?:acktab|ackta|ackt|ack|ac|a)?)|(insert-t(?:ab|a)?)|import-node|import-principal|increment-exclusive-id|initialize|initialize-document-type|initiate|insert|insert-attribute|insert-before|insert-file|insert-row|insert-string|invoke|is-row-selected|is-selected)\\s*(?=\\()",
|
|
4432
4760
|
"beginCaptures": {
|
|
4433
4761
|
"1": {
|
|
4434
4762
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4450,7 +4778,7 @@
|
|
|
4450
4778
|
]
|
|
4451
4779
|
},
|
|
4452
4780
|
"handle-methods-L": {
|
|
4453
|
-
"begin": "(?i)(:)(
|
|
4781
|
+
"begin": "(?i)(:)((load-mouse-p(?:ointer|ointe|oint|oin|oi|o)?)|last-of|list-property-names|load|load-domains|load-icon|load-image|load-image-down|load-image-insensitive|load-image-up|load-small-icon|lock-registration|log-audit-event|logout|longchar-to-node-value|lookup|)\\s*(?=\\()",
|
|
4454
4782
|
"beginCaptures": {
|
|
4455
4783
|
"1": {
|
|
4456
4784
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4472,7 +4800,7 @@
|
|
|
4472
4800
|
]
|
|
4473
4801
|
},
|
|
4474
4802
|
"handle-methods-M": {
|
|
4475
|
-
"begin": "(?i)(:)(move-
|
|
4803
|
+
"begin": "(?i)(:)((move-after(?:-tab-item|-tab-ite|-tab-it|-tab-i|-tab-|-tab|-ta|-t|-)?)|(move-befor(?:e-tab-item|e-tab-ite|e-tab-it|e-tab-i|e-tab-|e-tab|e-ta|e-t|e-|e)?)|(move-col(?:umn|um|u)?)|(move-to-b(?:ottom|otto|ott|ot|o)?)|(move-to-t(?:op|o)?)|mark-new|mark-row-state|memptr-to-node-value|merge-changes|merge-row-changes|move-to-eof)\\s*(?=\\()",
|
|
4476
4804
|
"beginCaptures": {
|
|
4477
4805
|
"1": {
|
|
4478
4806
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4494,7 +4822,7 @@
|
|
|
4494
4822
|
]
|
|
4495
4823
|
},
|
|
4496
4824
|
"handle-methods-N": {
|
|
4497
|
-
"begin": "(?i)(:)(
|
|
4825
|
+
"begin": "(?i)(:)(node-value-to-longchar|node-value-to-memptr|normalize)\\s*(?=\\()",
|
|
4498
4826
|
"beginCaptures": {
|
|
4499
4827
|
"1": {
|
|
4500
4828
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4516,7 +4844,7 @@
|
|
|
4516
4844
|
]
|
|
4517
4845
|
},
|
|
4518
4846
|
"handle-methods-Q": {
|
|
4519
|
-
"begin": "(?i)(:)(query-
|
|
4847
|
+
"begin": "(?i)(:)(query-close|query-open|query-prepare)\\s*(?=\\()",
|
|
4520
4848
|
"beginCaptures": {
|
|
4521
4849
|
"1": {
|
|
4522
4850
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4538,7 +4866,7 @@
|
|
|
4538
4866
|
]
|
|
4539
4867
|
},
|
|
4540
4868
|
"handle-methods-R": {
|
|
4541
|
-
"begin": "(?i)(:)(
|
|
4869
|
+
"begin": "(?i)(:)((remove-events-proc(?:edure|edur|edu|ed|e)?)|(remove-super-proc(?:edure|edur|edu|ed|e)?)|raw-transfer|read|read-file|read-json|read-xml|read-xmlschema|refresh|refresh-audit-policy|register-domain|reject-changes|reject-row-changes|remove-attribute|remove-child|replace|replace-child|replace-selection-text|reposition-to-row|reposition-to-rowid|reset||)\\s*(?=\\()",
|
|
4542
4870
|
"beginCaptures": {
|
|
4543
4871
|
"1": {
|
|
4544
4872
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4560,7 +4888,7 @@
|
|
|
4560
4888
|
]
|
|
4561
4889
|
},
|
|
4562
4890
|
"handle-methods-S": {
|
|
4563
|
-
"begin": "(?i)(:)(
|
|
4891
|
+
"begin": "(?i)(:)((scroll-to-i(?:tem|te|t)?)|(set-blue(?:-value|-valu|-val|-va|-v|-)?)|(set-green(?:-value|-valu|-val|-va|-v|-)?)|(set-numeric-form(?:at|a)?)|(set-red(?:-value|-valu|-val|-va|-v|-)?)|(set-rgb(?:-value|-valu|-val|-va|-v|-)?)|(set-wait(?:-state|-stat|-sta|-st|-s|-)?)|save|save-file|save-row-changes|sax-parse|sax-parse-first|sax-parse-next|scroll-to-current-row|scroll-to-selected-row|seal|search|select-all|select-focused-row|select-next-row|select-prev-row|select-row|serialize-row|set-actor|set-appl-context|set-attribute|set-attribute-node|set-break|set-buffers|set-callback|set-callback-procedure|set-client|set-commit|set-connect-procedure|set-dynamic|set-input-source|set-must-understand|set-node|set-output-destination|set-parameter|set-property|set-read-response-procedure|set-repositioned-row|set-role|set-rollback|set-safe-user|set-selection|set-serialized|set-socket-option|set-sort-arrow|start-document|start-element|stop-parsing|string-value|synchronize)\\s*(?=\\()",
|
|
4564
4892
|
"beginCaptures": {
|
|
4565
4893
|
"1": {
|
|
4566
4894
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4582,7 +4910,7 @@
|
|
|
4582
4910
|
]
|
|
4583
4911
|
},
|
|
4584
4912
|
"handle-methods-T": {
|
|
4585
|
-
"begin": "(?i)(:)(
|
|
4913
|
+
"begin": "(?i)(:)((temp-table-prepar(?:e)?)|tenant-id|tenant-name)\\s*(?=\\()",
|
|
4586
4914
|
"beginCaptures": {
|
|
4587
4915
|
"1": {
|
|
4588
4916
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4604,7 +4932,7 @@
|
|
|
4604
4932
|
]
|
|
4605
4933
|
},
|
|
4606
4934
|
"handle-methods-U": {
|
|
4607
|
-
"begin": "(?i)(:)(
|
|
4935
|
+
"begin": "(?i)(:)(update-attribute|url-decode|url-encode|user-data)\\s*(?=\\()",
|
|
4608
4936
|
"beginCaptures": {
|
|
4609
4937
|
"1": {
|
|
4610
4938
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4626,7 +4954,7 @@
|
|
|
4626
4954
|
]
|
|
4627
4955
|
},
|
|
4628
4956
|
"handle-methods-V": {
|
|
4629
|
-
"begin": "(?i)(:)(validate
|
|
4957
|
+
"begin": "(?i)(:)(validate|validate-domain-access-code|validate-seal)\\s*(?=\\()",
|
|
4630
4958
|
"beginCaptures": {
|
|
4631
4959
|
"1": {
|
|
4632
4960
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4648,7 +4976,7 @@
|
|
|
4648
4976
|
]
|
|
4649
4977
|
},
|
|
4650
4978
|
"handle-methods-W": {
|
|
4651
|
-
"begin": "(?i)(:)(write
|
|
4979
|
+
"begin": "(?i)(:)(write|write-cdata|write-characters|write-comment|write-data|write-data-element|write-empty-element|write-entity-ref|write-external-dtd|write-fragment|write-json|write-message|write-processing-instruction|write-xml|write-xmlschema)\\s*(?=\\()",
|
|
4652
4980
|
"beginCaptures": {
|
|
4653
4981
|
"1": {
|
|
4654
4982
|
"name": "punctuation.separator.colon.abl"
|
|
@@ -4744,7 +5072,7 @@
|
|
|
4744
5072
|
},
|
|
4745
5073
|
"abl-functions-A": {
|
|
4746
5074
|
"name": "meta.function-call.abl",
|
|
4747
|
-
"begin": "(?i)\\s*(
|
|
5075
|
+
"begin": "(?i)\\s*((abs(?:olute|olut|olu|ol|o)?)|(accum(?:ulate|ulat|ula|ul|u)?)|(ambig(?:uous|uou|uo|u)?)|(asc(?:ending|endin|endi|end|en|e)?)|(avail(?:able|abl|ab|a)?)|add-interval|alias|audit-enabled)\\s*(?=\\()",
|
|
4748
5076
|
"beginCaptures": {
|
|
4749
5077
|
"1": {
|
|
4750
5078
|
"name": "support.function.abl"
|
|
@@ -4764,7 +5092,7 @@
|
|
|
4764
5092
|
},
|
|
4765
5093
|
"abl-functions-B": {
|
|
4766
5094
|
"name": "meta.function-call.abl",
|
|
4767
|
-
"begin": "(?i)\\s*(
|
|
5095
|
+
"begin": "(?i)\\s*(base64-decode|base64-encode|box|buffer-group-id|buffer-group-name|buffer-partition-id|buffer-tenant-id|buffer-tenant-name)\\s*(?=\\()",
|
|
4768
5096
|
"beginCaptures": {
|
|
4769
5097
|
"1": {
|
|
4770
5098
|
"name": "support.function.abl"
|
|
@@ -4784,7 +5112,7 @@
|
|
|
4784
5112
|
},
|
|
4785
5113
|
"abl-functions-C": {
|
|
4786
5114
|
"name": "meta.function-call.abl",
|
|
4787
|
-
"begin": "(?i)\\s*(
|
|
5115
|
+
"begin": "(?i)\\s*((compare(?:s)?)|(current-lang(?:uage|uag|ua|u)?)|can-do|can-find|can-query|can-set|caps|cast|chr|codepage-convert|connected|count-of|current-changed|current-result-row|current-value)\\s*(?=\\()",
|
|
4788
5116
|
"beginCaptures": {
|
|
4789
5117
|
"1": {
|
|
4790
5118
|
"name": "support.function.abl"
|
|
@@ -4804,7 +5132,7 @@
|
|
|
4804
5132
|
},
|
|
4805
5133
|
"abl-functions-D": {
|
|
4806
5134
|
"name": "meta.function-call.abl",
|
|
4807
|
-
"begin": "(?i)\\s*(
|
|
5135
|
+
"begin": "(?i)\\s*((dbrest(?:rictions|riction|rictio|ricti|rict|ric|ri|r)?)|(dbvers(?:ion|io|i)?)|(dec(?:imal|ima|im|i)?)|(dynamic-func(?:tion|tio|ti|t)?)|data-source-modified|dataservers|date|datetime|datetime-tz|day|db-remote-host|dbcodepage|dbcollation|dbname|dbparam|dbtaskid|dbtype|decrypt|defined|dynamic-cast|dynamic-current-value|dynamic-enum|dynamic-invoke|dynamic-next-value|dynamic-property)\\s*(?=\\()",
|
|
4808
5136
|
"beginCaptures": {
|
|
4809
5137
|
"1": {
|
|
4810
5138
|
"name": "support.function.abl"
|
|
@@ -4824,7 +5152,7 @@
|
|
|
4824
5152
|
},
|
|
4825
5153
|
"abl-functions-E": {
|
|
4826
5154
|
"name": "meta.function-call.abl",
|
|
4827
|
-
"begin": "(?i)\\s*(
|
|
5155
|
+
"begin": "(?i)\\s*(encode|encrypt|entered|entry|error|etime|exp|extent)\\s*(?=\\()",
|
|
4828
5156
|
"beginCaptures": {
|
|
4829
5157
|
"1": {
|
|
4830
5158
|
"name": "support.function.abl"
|
|
@@ -4844,7 +5172,7 @@
|
|
|
4844
5172
|
},
|
|
4845
5173
|
"abl-functions-F": {
|
|
4846
5174
|
"name": "meta.function-call.abl",
|
|
4847
|
-
"begin": "(?i)\\s*(frame-
|
|
5175
|
+
"begin": "(?i)\\s*((frame-inde(?:x)?)|(frame-val(?:ue|u)?)|fill|first|first-of|frame-col|frame-db|frame-down|frame-field|frame-file|frame-line|frame-name|frame-row)\\s*(?=\\()",
|
|
4848
5176
|
"beginCaptures": {
|
|
4849
5177
|
"1": {
|
|
4850
5178
|
"name": "support.function.abl"
|
|
@@ -4864,7 +5192,7 @@
|
|
|
4864
5192
|
},
|
|
4865
5193
|
"abl-functions-G": {
|
|
4866
5194
|
"name": "meta.function-call.abl",
|
|
4867
|
-
"begin": "(?i)\\s*(
|
|
5195
|
+
"begin": "(?i)\\s*((gateway(?:s)?)|(get-codepage(?:s)?)|(get-codepage(?:s)?)|(get-coll(?:ations|ation|atio|ati|at|a)?)|(go-pend(?:ing|in|i)?)|generate-pbe-key|generate-pbe-salt|generate-random-key|generate-uuid|get-bits|get-byte|get-byte-order|get-bytes|get-class|get-collation|get-db-client|get-double|get-effective-tenant-id|get-effective-tenant-name|get-float|get-int64|get-long|get-pointer-value|get-short|get-size|get-string|get-unsigned-long|get-unsigned-short|guid)\\s*(?=\\()",
|
|
4868
5196
|
"beginCaptures": {
|
|
4869
5197
|
"1": {
|
|
4870
5198
|
"name": "support.function.abl"
|
|
@@ -4884,7 +5212,7 @@
|
|
|
4884
5212
|
},
|
|
4885
5213
|
"abl-functions-H": {
|
|
4886
5214
|
"name": "meta.function-call.abl",
|
|
4887
|
-
"begin": "(?i)\\s*(
|
|
5215
|
+
"begin": "(?i)\\s*(handle|hash-code|hex-decode|hex-encode)\\s*(?=\\()",
|
|
4888
5216
|
"beginCaptures": {
|
|
4889
5217
|
"1": {
|
|
4890
5218
|
"name": "support.function.abl"
|
|
@@ -4904,7 +5232,7 @@
|
|
|
4904
5232
|
},
|
|
4905
5233
|
"abl-functions-I": {
|
|
4906
5234
|
"name": "meta.function-call.abl",
|
|
4907
|
-
"begin": "(?i)\\s*(
|
|
5235
|
+
"begin": "(?i)\\s*((int(?:eger|ege|eg|e)?)|(is-attr(?:-space|-spac|-spa|-sp|-s|-)?)|index|input|int64|interval|is-codepage-fixed|is-column-codepage|is-db-multi-tenant|is-lead-byte|iso-date)\\s*(?=\\()",
|
|
4908
5236
|
"beginCaptures": {
|
|
4909
5237
|
"1": {
|
|
4910
5238
|
"name": "support.function.abl"
|
|
@@ -4924,7 +5252,7 @@
|
|
|
4924
5252
|
},
|
|
4925
5253
|
"abl-functions-K": {
|
|
4926
5254
|
"name": "meta.function-call.abl",
|
|
4927
|
-
"begin": "(?i)\\s*(
|
|
5255
|
+
"begin": "(?i)\\s*((keyfunc(?:tion|tio|ti|t)?)|kblabel|keycode|keylabel|keyword|keyword-all)\\s*(?=\\()",
|
|
4928
5256
|
"beginCaptures": {
|
|
4929
5257
|
"1": {
|
|
4930
5258
|
"name": "support.function.abl"
|
|
@@ -4944,7 +5272,7 @@
|
|
|
4944
5272
|
},
|
|
4945
5273
|
"abl-functions-L": {
|
|
4946
5274
|
"name": "meta.function-call.abl",
|
|
4947
|
-
"begin": "(?i)\\s*(
|
|
5275
|
+
"begin": "(?i)\\s*((line-count(?:er|e)?)|last|last-of|lastkey|lc|ldbname|left-trim|length|library|list-events|list-query-attrs|list-set-attrs|list-widgets|locked|log|logical|lookup|lower)\\s*(?=\\()",
|
|
4948
5276
|
"beginCaptures": {
|
|
4949
5277
|
"1": {
|
|
4950
5278
|
"name": "support.function.abl"
|
|
@@ -4964,7 +5292,7 @@
|
|
|
4964
5292
|
},
|
|
4965
5293
|
"abl-functions-M": {
|
|
4966
5294
|
"name": "meta.function-call.abl",
|
|
4967
|
-
"begin": "(?i)\\s*(
|
|
5295
|
+
"begin": "(?i)\\s*((min(?:imum|imu|im|i)?)|maximum|md5-digest|member|message-digest|message-lines|month|mtime)\\s*(?=\\()",
|
|
4968
5296
|
"beginCaptures": {
|
|
4969
5297
|
"1": {
|
|
4970
5298
|
"name": "support.function.abl"
|
|
@@ -4984,7 +5312,7 @@
|
|
|
4984
5312
|
},
|
|
4985
5313
|
"abl-functions-N": {
|
|
4986
5314
|
"name": "meta.function-call.abl",
|
|
4987
|
-
"begin": "(?i)\\s*(num-
|
|
5315
|
+
"begin": "(?i)\\s*((num-ali(?:ases|ase|as|a)?)|new|next-value|normalize|not|now|num-dbs|num-entries|num-results)\\s*(?=\\()",
|
|
4988
5316
|
"beginCaptures": {
|
|
4989
5317
|
"1": {
|
|
4990
5318
|
"name": "support.function.abl"
|
|
@@ -5004,7 +5332,7 @@
|
|
|
5004
5332
|
},
|
|
5005
5333
|
"abl-functions-O": {
|
|
5006
5334
|
"name": "meta.function-call.abl",
|
|
5007
|
-
"begin": "(?i)\\s*(os-
|
|
5335
|
+
"begin": "(?i)\\s*((os-drive(?:s)?)|opsys|os-dir|os-error|os-getenv)\\s*(?=\\()",
|
|
5008
5336
|
"beginCaptures": {
|
|
5009
5337
|
"1": {
|
|
5010
5338
|
"name": "support.function.abl"
|
|
@@ -5024,7 +5352,7 @@
|
|
|
5024
5352
|
},
|
|
5025
5353
|
"abl-functions-P": {
|
|
5026
5354
|
"name": "meta.function-call.abl",
|
|
5027
|
-
"begin": "(?i)\\s*(
|
|
5355
|
+
"begin": "(?i)\\s*((page-num(?:ber|be|b)?)|(proc-ha(?:ndle|ndl|nd|n)?)|(proc-st(?:atus|atu|at|a)?)|(provers(?:ion|io|i)?)|page-size|pdbname|process-architecture|program-name|progress|promsgs|propath)\\s*(?=\\()",
|
|
5028
5356
|
"beginCaptures": {
|
|
5029
5357
|
"1": {
|
|
5030
5358
|
"name": "support.function.abl"
|
|
@@ -5044,7 +5372,7 @@
|
|
|
5044
5372
|
},
|
|
5045
5373
|
"abl-functions-Q": {
|
|
5046
5374
|
"name": "meta.function-call.abl",
|
|
5047
|
-
"begin": "(?i)\\s*(
|
|
5375
|
+
"begin": "(?i)\\s*(query-off-end|quoter)\\s*(?=\\()",
|
|
5048
5376
|
"beginCaptures": {
|
|
5049
5377
|
"1": {
|
|
5050
5378
|
"name": "support.function.abl"
|
|
@@ -5064,7 +5392,7 @@
|
|
|
5064
5392
|
},
|
|
5065
5393
|
"abl-functions-R": {
|
|
5066
5394
|
"name": "meta.function-call.abl",
|
|
5067
|
-
"begin": "(?i)\\s*(
|
|
5395
|
+
"begin": "(?i)\\s*((record-len(?:gth|gt|g)?)|(relation-fi(?:elds|eld|el|e)?)|(return-val(?:ue|u)?)|(rgb-v(?:alue|alu|al|a)?)|r-index|random|raw|recid|rejected|replace|retry|return|right-trim|round|row-state|rowid)\\s*(?=\\()",
|
|
5068
5396
|
"beginCaptures": {
|
|
5069
5397
|
"1": {
|
|
5070
5398
|
"name": "support.function.abl"
|
|
@@ -5084,7 +5412,7 @@
|
|
|
5084
5412
|
},
|
|
5085
5413
|
"abl-functions-S": {
|
|
5086
5414
|
"name": "meta.function-call.abl",
|
|
5087
|
-
"begin": "(?i)\\s*(
|
|
5415
|
+
"begin": "(?i)\\s*((setuser(?:id|i)?)|(subst(?:itute|itut|itu|it|i)?)|(substr(?:ing|in|i)?)|screen-lines|sdbname|search|seek|set-db-client|set-effective-tenant|set-size|sha1-digest|skip|sqrt|ssl-server-name|string|super)\\s*(?=\\()",
|
|
5088
5416
|
"beginCaptures": {
|
|
5089
5417
|
"1": {
|
|
5090
5418
|
"name": "support.function.abl"
|
|
@@ -5104,7 +5432,7 @@
|
|
|
5104
5432
|
},
|
|
5105
5433
|
"abl-functions-T": {
|
|
5106
5434
|
"name": "meta.function-call.abl",
|
|
5107
|
-
"begin": "(?i)\\s*(
|
|
5435
|
+
"begin": "(?i)\\s*((transact(?:ion|io|i)?)|(trunc(?:ate|at|a)?)|tenant-id|tenant-name|tenant-name-to-id|terminal|this-object|time|timezone|to-rowid|today|trim|type-of)\\s*(?=\\()",
|
|
5108
5436
|
"beginCaptures": {
|
|
5109
5437
|
"1": {
|
|
5110
5438
|
"name": "support.function.abl"
|
|
@@ -5124,7 +5452,7 @@
|
|
|
5124
5452
|
},
|
|
5125
5453
|
"abl-functions-U": {
|
|
5126
5454
|
"name": "meta.function-call.abl",
|
|
5127
|
-
"begin": "(?i)\\s*(userid
|
|
5455
|
+
"begin": "(?i)\\s*(unbox|userid)\\s*(?=\\()",
|
|
5128
5456
|
"beginCaptures": {
|
|
5129
5457
|
"1": {
|
|
5130
5458
|
"name": "support.function.abl"
|
|
@@ -5144,7 +5472,7 @@
|
|
|
5144
5472
|
},
|
|
5145
5473
|
"abl-functions-V": {
|
|
5146
5474
|
"name": "meta.function-call.abl",
|
|
5147
|
-
"begin": "(?i)\\s*(
|
|
5475
|
+
"begin": "(?i)\\s*(valid-event|valid-handle|valid-object|value)\\s*(?=\\()",
|
|
5148
5476
|
"beginCaptures": {
|
|
5149
5477
|
"1": {
|
|
5150
5478
|
"name": "support.function.abl"
|
|
@@ -5164,7 +5492,7 @@
|
|
|
5164
5492
|
},
|
|
5165
5493
|
"abl-functions-W": {
|
|
5166
5494
|
"name": "meta.function-call.abl",
|
|
5167
|
-
"begin": "(?i)\\s*(widget-
|
|
5495
|
+
"begin": "(?i)\\s*((widget-h(?:andle|andl|and|an|a)?)|weekday)\\s*(?=\\()",
|
|
5168
5496
|
"beginCaptures": {
|
|
5169
5497
|
"1": {
|
|
5170
5498
|
"name": "support.function.abl"
|
|
@@ -5205,4 +5533,4 @@
|
|
|
5205
5533
|
},
|
|
5206
5534
|
"scopeName": "source.abl",
|
|
5207
5535
|
"uuid": "075bb86e-03ea-4fea-bac0-e11b9dc73e03"
|
|
5208
|
-
}
|
|
5536
|
+
}
|