abl-tmlanguage 1.3.30 → 1.4.1

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.
@@ -245,13 +245,13 @@
245
245
  "name": "entity.name.function.abl"
246
246
  },
247
247
  "2": {
248
- "name": "meta.brace.round.js"
248
+ "name": "meta.brace.round.abl"
249
249
  }
250
250
  },
251
251
  "end": "(\\))",
252
252
  "endCaptures": {
253
253
  "1": {
254
- "name": "meta.brace.round.js"
254
+ "name": "meta.brace.round.abl"
255
255
  }
256
256
  },
257
257
  "patterns": [
@@ -260,9 +260,6 @@
260
260
  }
261
261
  ]
262
262
  },
263
- {
264
- "include": "#parameter-as"
265
- },
266
263
  {
267
264
  "include": "#string",
268
265
  "comment": "For the return type"
@@ -309,153 +306,150 @@
309
306
  }
310
307
  }
311
308
  },
309
+ "like-field": {
310
+ "match": "\\s*([Ll][Ii][Kk][Ee])\\s+(([a-zA-Z][a-zA-Z0-9#$\\-_%&]*\\.)?([a-zA-Z_][a-zA-Z0-9#$\\-_%&]*\\.)([a-zA-Z_][a-zA-Z0-9#$\\-_%&]*))",
311
+ "captures": {
312
+ "1": {
313
+ "name": "keyword.other.abl"
314
+ },
315
+ "2":{
316
+ "name": "storage.data.table.abl"
317
+ }
318
+ }
319
+ },
312
320
  "as-type": {
313
- "begin": "\\s*([Aa][Ss])\\s*([Cc][Ll][Aa][Ss]{2})?",
321
+ "begin": "\\s*([Aa][Ss])(\\s+([Cc][Ll][Aa][Ss]{2})\\s)?\\s*",
314
322
  "beginCaptures": {
315
323
  "1": {
316
324
  "name": "keyword.other.abl"
317
325
  },
318
- "2": {
326
+ "3": {
319
327
  "name": "keyword.other.abl"
320
328
  }
321
329
  },
322
- "end": "\\s*(\\.|\\,|\\s*)",
330
+ "end": "(?=\\.|\\,|\\)|\\s)",
323
331
  "patterns": [
324
332
  {
325
333
  "include": "#primitive-type"
326
334
  },
335
+ {
336
+ "include": "#dll-type"
337
+ },
327
338
  {
328
339
  "include": "#type-names"
340
+ },
341
+ {
342
+ "comment": "To capture .NET generic type names that need to be quoted in certain OE versions",
343
+ "include": "#string"
344
+ },
345
+ {
346
+ "include": "#comment"
329
347
  }
330
348
  ]
331
349
  },
332
- "parameter-definition": {
333
- "name": "meta.define.parameter.abl",
334
- "patterns": [
335
- {
336
- "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*",
337
- "comment": "Certain keywords like NO-UNDO are 'gathered' by a DEFINE INPUT PARAMETER statement. ",
338
- "captures": {
339
- "1": {
340
- "name": "keyword.other.abl"
341
- }
350
+ "parameter-table-dataset-handle": {
351
+ "match": "(?i)\\s*(dataset-handle|table-handle)\\s+([a-zA-Z][a-zA-Z0-9_\\-]*)",
352
+ "captures": {
353
+ "1": {
354
+ "name": "keyword.other.abl"
355
+ },
356
+ "2": {
357
+ "name": "variable.parameter.abl"
342
358
  }
343
- },
344
- {
345
- "match": "(?i)\\s*(dataset-handle|table-handle)\\s+([a-zA-Z][a-zA-Z0-9_\\-]*)",
346
- "captures": {
359
+ }
360
+ },
361
+ "parameter-table": {
362
+ "match": "(?i)\\s*(table)\\s+((for)\\s+)?([a-zA-Z][a-zA-Z_\\-#$%]*(\\.[a-zA-Z][a-zA-Z_\\-#$%]*)?)\\b",
363
+ "captures": {
364
+ "1": {
365
+ "name": "keyword.other.abl"
366
+ },
367
+ "3": {
368
+ "name": "keyword.other.abl"
369
+ },
370
+ "4": {
371
+ "name": "storage.data.table.abl"
372
+ }
373
+ }
374
+ },
375
+ "parameter-dataset": {
376
+ "match": "(?i)\\s*(dataset)\\s+((for)\\s+)?([a-zA-Z_\\-#$%]+(\\.[a-zA-Z_\\-#$%]+)?)\\s*",
377
+ "x-match": "(?i)\\s*(dataset)\\s+((for)\\s+)?([a-zA-Z][a-zA-Z0-9_\\-]*)\\s*",
378
+ "captures": {
347
379
  "1": {
348
380
  "name": "keyword.other.abl"
349
381
  },
350
- "2": {
351
- "name": "variable.parameter.abl"
352
- }
353
- }
354
- },
355
- {
356
- "match": "(?i)\\s*(dataset)\\s+([a-zA-Z][a-zA-Z0-9_\\-]*)\\s*",
357
- "captures": {
358
- "1": {
382
+ "3": {
359
383
  "name": "keyword.other.abl"
360
384
  },
361
- "2": {
385
+ "4": {
362
386
  "name": "storage.data.dataset.abl"
363
387
  }
364
- }
365
- },
388
+ }
389
+ },
390
+ "parameter-definition": {
391
+ "name": "meta.define.parameter.abl",
392
+ "patterns": [
366
393
  {
367
- "match": "(?i)\\s*(table)\\s+([a-zA-Z][a-zA-Z0-9_\\-]*)\\s*",
394
+ "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*",
395
+ "comment": "Certain keywords like NO-UNDO are 'gathered' by a DEFINE INPUT PARAMETER statement. ",
368
396
  "captures": {
369
397
  "1": {
370
398
  "name": "keyword.other.abl"
371
- },
372
- "2": {
373
- "name": "storage.data.table.abl"
374
- }
375
- }
376
- },
377
- {
378
- "include": "#parameter-as"
379
- },
380
- {
381
- "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*(,*)",
382
- "captures": {
383
- "1": {
384
- "name": "storage.type.abl"
385
- },
386
- "2": {
387
- "name": "punctuation.separator.comma.abl"
388
399
  }
389
400
  }
390
401
  },
391
402
  {
392
- "match": "\\s*(,)\\s*",
393
- "captures": {
394
- "1": {
395
- "name": "punctuation.separator.comma.abl"
396
- }
397
- }
403
+ "include": "#parameter-table-dataset-handle"
398
404
  },
399
405
  {
400
- "include": "#buffer-for-table"
406
+ "include": "#parameter-dataset"
401
407
  },
402
408
  {
403
- "include": "#extent"
409
+ "include": "#parameter-table"
404
410
  },
405
411
  {
406
- "include": "#property-call"
412
+ "include": "#as-type"
407
413
  },
408
414
  {
409
- "include": "#abl-system-handles"
415
+ "include": "#like-field"
410
416
  },
411
417
  {
412
- "include": "#abl-functions"
413
- },
414
- {
415
- "include": "#array-literal"
416
- },
417
- {
418
- "include": "#decimals"
419
- },
420
- {
421
- "include": "#constant"
422
- },
423
- {
424
- "include": "#keywords"
418
+ "include": "#extent"
425
419
  },
426
420
  {
427
- "include": "#handle-attributes"
421
+ "include": "#buffer-for-table"
428
422
  },
429
423
  {
430
- "include": "#handle-methods"
424
+ "include": "#string"
431
425
  },
432
426
  {
433
- "include": "#type-names"
427
+ "comment": "To capture .NET generic type names that need to be quoted in certain OE versions",
428
+ "include": "#comment"
434
429
  },
435
430
  {
436
- "include": "#string"
431
+ "include": "#preprocessors"
437
432
  },
438
433
  {
439
- "include": "#comment"
434
+ "include": "#parameter-name"
440
435
  },
441
436
  {
442
- "include": "#preprocessors"
437
+ "include": "#punctuation-comma"
443
438
  }
444
439
  ]
445
440
  },
446
441
  "function-parameter-definition": {
447
442
  "comment": "https://docs.progress.com/bundle/abl-reference/page/Parameter-definition-syntax.html",
448
- "name": "meta.function.parameters",
449
443
  "begin": "(\\()",
450
444
  "beginCaptures": {
451
445
  "1": {
452
- "name": "meta.brace.round.js"
446
+ "name": "meta.brace.round.abl"
453
447
  }
454
448
  },
455
449
  "end": "(\\))",
456
450
  "endCaptures": {
457
451
  "1": {
458
- "name": "meta.brace.round.js"
452
+ "name": "meta.brace.round.abl"
459
453
  }
460
454
  },
461
455
  "patterns": [
@@ -542,6 +536,9 @@
542
536
  {
543
537
  "include": "#transaction-distinct"
544
538
  },
539
+ {
540
+ "include": "#catch-block"
541
+ },
545
542
  {
546
543
  "include": "#block-statement"
547
544
  },
@@ -576,13 +573,10 @@
576
573
  "include": "#event-un-subscribe"
577
574
  },
578
575
  {
579
- "include": "#property-call"
580
- },
581
- {
582
- "include": "#handle-attributes"
576
+ "include": "#handle-attributes-and-methods"
583
577
  },
584
578
  {
585
- "include": "#handle-methods"
579
+ "include": "#property-call"
586
580
  },
587
581
  {
588
582
  "include": "#get-query"
@@ -754,6 +748,9 @@
754
748
  {
755
749
  "match": "(?i)((&)(elseif|endif|else|then|if))\\s*",
756
750
  "captures": {
751
+ "1": {
752
+ "name": "meta.preprocessor.abl"
753
+ },
757
754
  "2": {
758
755
  "name": "punctuation.definition.preprocessor.abl"
759
756
  },
@@ -765,6 +762,9 @@
765
762
  {
766
763
  "match": "(?i)((&)(message))\\s*",
767
764
  "captures": {
765
+ "1": {
766
+ "name": "meta.preprocessor.abl"
767
+ },
768
768
  "2": {
769
769
  "name": "punctuation.definition.preprocessor.abl"
770
770
  },
@@ -1136,7 +1136,7 @@
1136
1136
  },
1137
1137
  "parens": {
1138
1138
  "match": "\\(|\\)",
1139
- "name": "meta.brace.round.js"
1139
+ "name": "meta.brace.round.abl"
1140
1140
  },
1141
1141
  "new-class": {
1142
1142
  "comment": "A dash/minus is not a word boundary, so we need to make sure we don't capture constructs like new-variable",
@@ -1167,7 +1167,7 @@
1167
1167
  "end": "(\\))",
1168
1168
  "endCaptures": {
1169
1169
  "1": {
1170
- "name": "meta.brace.round.js"
1170
+ "name": "meta.brace.round.abl"
1171
1171
  }
1172
1172
  },
1173
1173
  "patterns": [
@@ -1190,13 +1190,13 @@
1190
1190
  "name": "support.function.abl"
1191
1191
  },
1192
1192
  "2": {
1193
- "name": "meta.brace.round.js"
1193
+ "name": "meta.brace.round.abl"
1194
1194
  }
1195
1195
  },
1196
1196
  "end": "(\\))",
1197
1197
  "endCaptures": {
1198
1198
  "1": {
1199
- "name": "meta.brace.round.js"
1199
+ "name": "meta.brace.round.abl"
1200
1200
  }
1201
1201
  },
1202
1202
  "patterns": [
@@ -1225,14 +1225,6 @@
1225
1225
  "field-name": {
1226
1226
  "comment": "Just a field name",
1227
1227
  "patterns": [
1228
- {
1229
- "match": "\\s*([a-zA-Z][a-zA-Z0-9_\\-#$%]*(\\.[a-zA-Z][a-zA-Z0-9_\\-#$%]*)?\\s*(\\[\\d+\\]))\\s*",
1230
- "captures": {
1231
- "1": {
1232
- "name": "storage.data.table.abl"
1233
- }
1234
- }
1235
- },
1236
1228
  {
1237
1229
  "match": "\\s*([a-zA-Z][a-zA-Z0-9_\\-#$%]*(\\.[a-zA-Z][a-zA-Z0-9_\\-#$%]*)?)\\s*",
1238
1230
  "captures": {
@@ -1244,7 +1236,7 @@
1244
1236
  ]
1245
1237
  },
1246
1238
  "db-dot-table-dot-field": {
1247
- "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+\\])?)",
1239
+ "match": "(?i)(?<=^|\\s|\\(|,)(([a-zA-Z][a-zA-Z0-9#$\\-_%&]*\\.)?([a-zA-Z_][a-zA-Z0-9#$\\-_%&]*\\.)([a-zA-Z_][a-zA-Z0-9#$\\-_%&]*))",
1248
1240
  "comment": "Looks for format of 'table.field', with an optional preceding 'db.'. This pattern may conflict with type names",
1249
1241
  "captures": {
1250
1242
  "1": {
@@ -1268,13 +1260,13 @@
1268
1260
  "name": "keyword.other.abl"
1269
1261
  },
1270
1262
  "2": {
1271
- "name": "meta.brace.round.js"
1263
+ "name": "meta.brace.round.abl"
1272
1264
  },
1273
1265
  "3": {
1274
1266
  "name": "storage.data.table.abl"
1275
1267
  },
1276
1268
  "4": {
1277
- "name": "meta.brace.round.js"
1269
+ "name": "meta.brace.round.abl"
1278
1270
  }
1279
1271
  }
1280
1272
  },
@@ -1319,7 +1311,7 @@
1319
1311
  }
1320
1312
  },
1321
1313
  "for-each-join": {
1322
- "begin": "(?i)\\b(each|first|last)\\b(?<!\\()",
1314
+ "begin": "(?i)\\b(each|first|last)\\s(?<!\\()",
1323
1315
  "beginCaptures": {
1324
1316
  "1": {
1325
1317
  "name": "keyword.other.abl"
@@ -1333,6 +1325,9 @@
1333
1325
  {
1334
1326
  "include": "#fields-except-list"
1335
1327
  },
1328
+ {
1329
+ "include": "#comment"
1330
+ },
1336
1331
  {
1337
1332
  "include": "#of-phrase"
1338
1333
  },
@@ -1406,13 +1401,13 @@
1406
1401
  "name": "keyword.other.abl"
1407
1402
  },
1408
1403
  "2": {
1409
- "name": "meta.brace.round.js"
1404
+ "name": "meta.brace.round.abl"
1410
1405
  }
1411
1406
  },
1412
1407
  "end": "(\\))",
1413
1408
  "endCaptures": {
1414
1409
  "1": {
1415
- "name": "meta.brace.round.js"
1410
+ "name": "meta.brace.round.abl"
1416
1411
  }
1417
1412
  },
1418
1413
  "patterns": [
@@ -1422,6 +1417,9 @@
1422
1417
  {
1423
1418
  "include": "#field-name"
1424
1419
  },
1420
+ {
1421
+ "include": "#array-literal"
1422
+ },
1425
1423
  {
1426
1424
  "include": "#punctuation-comma"
1427
1425
  }
@@ -1453,7 +1451,7 @@
1453
1451
  "end": "(?<=\\))",
1454
1452
  "endCaptures": {
1455
1453
  "1": {
1456
- "name": "meta.brace.round.js"
1454
+ "name": "meta.brace.round.abl"
1457
1455
  }
1458
1456
  },
1459
1457
  "patterns": [
@@ -1499,6 +1497,12 @@
1499
1497
  {
1500
1498
  "include": "#parens"
1501
1499
  },
1500
+ {
1501
+ "include": "#array-literal"
1502
+ },
1503
+ {
1504
+ "include": "#type-member-call"
1505
+ },
1502
1506
  {
1503
1507
  "include": "#create-statement"
1504
1508
  },
@@ -1563,10 +1567,7 @@
1563
1567
  "include": "#abl-functions"
1564
1568
  },
1565
1569
  {
1566
- "include": "#handle-methods"
1567
- },
1568
- {
1569
- "include": "#handle-attributes"
1570
+ "include": "#handle-attributes-and-methods"
1570
1571
  },
1571
1572
  {
1572
1573
  "include": "#keywords"
@@ -1620,7 +1621,7 @@
1620
1621
  }
1621
1622
  },
1622
1623
  "property-get-set-block": {
1623
- "begin": "\\s*(?<!:)\\s*([Gg][Ee][Tt]|[Ss][Ee][Tt])\\b(?![#$\\-_%&])(?=\\()",
1624
+ "begin": "\\s*(?<!:)\\s*([Gg][Ee][Tt]|[Ss][Ee][Tt])\\b(?![#$\\-_%&])(?=\\(|:)",
1624
1625
  "beginCaptures": {
1625
1626
  "1": {
1626
1627
  "name": "keyword.other.abl"
@@ -1648,49 +1649,6 @@
1648
1649
  }
1649
1650
  ]
1650
1651
  },
1651
- "parameter-as": {
1652
- "begin": "\\s*([a-zA-Z0-9_\\-#$%]+)\\s+([Aa][Ss])\\s+",
1653
- "beginCaptures": {
1654
- "1": {
1655
- "name": "variable.parameter.abl"
1656
- },
1657
- "2": {
1658
- "name": "keyword.other.abl"
1659
- }
1660
- },
1661
- "end": "(?=\\s|\\)|\\.|,)",
1662
- "patterns": [
1663
- {
1664
- "match": "\\b([Cc][Ll][Aa][Ss]{2})\\b",
1665
- "captures": {
1666
- "1": {
1667
- "name": "keyword.other.abl"
1668
- }
1669
- }
1670
- },
1671
- {
1672
- "include": "#primitive-type"
1673
- },
1674
- {
1675
- "include": "#dll-type"
1676
- },
1677
- {
1678
- "include": "#type-names"
1679
- },
1680
- {
1681
- "include": "#parens"
1682
- },
1683
- {
1684
- "include": "#string"
1685
- },
1686
- {
1687
- "include": "#punctuation-period"
1688
- },
1689
- {
1690
- "include": "#punctuation-comma"
1691
- }
1692
- ]
1693
- },
1694
1652
  "input-output-from-to": {
1695
1653
  "begin": "(?i)\\b(input|output)\\s+((stream|stream-handle)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\s+)?(from|to)",
1696
1654
  "beginCaptures": {
@@ -1921,9 +1879,6 @@
1921
1879
  {
1922
1880
  "include": "#define-field"
1923
1881
  },
1924
- {
1925
- "include": "#parameter-as"
1926
- },
1927
1882
  {
1928
1883
  "include": "#define-stream"
1929
1884
  },
@@ -1988,10 +1943,7 @@
1988
1943
  "include": "#property-call"
1989
1944
  },
1990
1945
  {
1991
- "include": "#handle-attributes"
1992
- },
1993
- {
1994
- "include": "#handle-methods"
1946
+ "include": "#handle-attributes-and-methods"
1995
1947
  },
1996
1948
  {
1997
1949
  "include": "#function-parameter-definition"
@@ -2028,7 +1980,7 @@
2028
1980
  "name": "keyword.other.abl"
2029
1981
  },
2030
1982
  "3": {
2031
- "name": "constant.numeric.source.abl"
1983
+ "name": "constant.numeric.abl"
2032
1984
  }
2033
1985
  }
2034
1986
  },
@@ -2106,6 +2058,12 @@
2106
2058
  {
2107
2059
  "include": "#comment"
2108
2060
  },
2061
+ {
2062
+ "include":"#preprocessors"
2063
+ },
2064
+ {
2065
+ "include": "#abl-functions"
2066
+ },
2109
2067
  {
2110
2068
  "include": "#db-dot-table-dot-field"
2111
2069
  },
@@ -2124,56 +2082,26 @@
2124
2082
  "name": "keyword.other.abl"
2125
2083
  }
2126
2084
  },
2127
- "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",
2085
+ "end": "(?i)(?=\\.)|\\s(?=decimals|extent|(form(?:at|a)?)|initial|label|no-undo|not|(case-sen(?:sitive|sitiv|siti|sit|si|s)?)|(column-lab(?:el|e)?)|append|bind|by-value)\\b",
2128
2086
  "comment": "The end capture does a lookahead on . so that the 'define' capture can end ",
2129
2087
  "patterns": [
2130
2088
  {
2131
- "match": "(?i)\\b(table)\\s+(for)\\s+([a-zA-Z][a-zA-Z_\\-#$%]*(\\.[a-zA-Z][a-zA-Z_\\-#$%]*)?)\\b",
2132
- "captures": {
2133
- "1": {
2134
- "name": "keyword.other.abl"
2135
- },
2136
- "2": {
2137
- "name": "keyword.other.abl"
2138
- },
2139
- "3": {
2140
- "name": "storage.data.table.abl"
2141
- }
2142
- }
2089
+ "include": "#parameter-table"
2143
2090
  },
2144
2091
  {
2145
- "match": "(?i)\\b(table-handle|dataset-handle)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\b",
2146
- "captures": {
2147
- "1": {
2148
- "name": "keyword.other.abl"
2149
- },
2150
- "2": {
2151
- "name": "variable.other.abl"
2152
- }
2153
- }
2092
+ "include": "#parameter-table-dataset-handle"
2154
2093
  },
2155
2094
  {
2156
- "match": "(?i)\\b(dataset)\\s+(for)\\s+([a-zA-Z_\\-#$%]+(\\.[a-zA-Z_\\-#$%]+)?)\\b",
2157
- "captures": {
2158
- "1": {
2159
- "name": "keyword.other.abl"
2160
- },
2161
- "2": {
2162
- "name": "keyword.other.abl"
2163
- },
2164
- "3": {
2165
- "name": "storage.data.dataset.abl"
2166
- }
2167
- }
2095
+ "include": "#parameter-dataset"
2168
2096
  },
2169
2097
  {
2170
- "include": "#parameter-as"
2098
+ "include": "#as-type"
2171
2099
  },
2172
2100
  {
2173
- "include": "#keywords"
2101
+ "include": "#like-field"
2174
2102
  },
2175
2103
  {
2176
- "include": "#expression"
2104
+ "include": "#parameter-name"
2177
2105
  }
2178
2106
  ]
2179
2107
  },
@@ -2367,7 +2295,7 @@
2367
2295
  },
2368
2296
  "patterns": [
2369
2297
  {
2370
- "match": "(?i)\\s*(for|table|no-error)\\s*",
2298
+ "match": "(?i)\\s*(for|table|no-error)\\b",
2371
2299
  "captures": {
2372
2300
  "1": {
2373
2301
  "name": "keyword.other.abl"
@@ -2377,6 +2305,12 @@
2377
2305
  {
2378
2306
  "include": "#define-table"
2379
2307
  },
2308
+ {
2309
+ "include": "#handle-attributes-and-methods"
2310
+ },
2311
+ {
2312
+ "include": "#type-member-call"
2313
+ },
2380
2314
  {
2381
2315
  "include": "#buffer-name"
2382
2316
  },
@@ -2396,7 +2330,7 @@
2396
2330
  "include": "#preprocessor-reference"
2397
2331
  },
2398
2332
  {
2399
- "include": "#handle-attributes"
2333
+ "include": "#handle-attributes-and-methods"
2400
2334
  },
2401
2335
  {
2402
2336
  "include": "#db-dot-table-dot-field"
@@ -2406,6 +2340,16 @@
2406
2340
  }
2407
2341
  ]
2408
2342
  },
2343
+ "handle-attributes-and-methods": {
2344
+ "patterns": [
2345
+ {
2346
+ "include": "#handle-attributes"
2347
+ },
2348
+ {
2349
+ "include": "#handle-methods"
2350
+ }
2351
+ ]
2352
+ },
2409
2353
  "define-index": {
2410
2354
  "begin": "(?i)\\s*(index)\\s+([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)",
2411
2355
  "beginCaptures": {
@@ -2549,13 +2493,13 @@
2549
2493
  "name": "keyword.other.abl"
2550
2494
  },
2551
2495
  "6": {
2552
- "name": "constant.numeric.source.abl"
2496
+ "name": "constant.numeric.abl"
2553
2497
  },
2554
2498
  "8": {
2555
2499
  "name": "keyword.other.abl"
2556
2500
  },
2557
2501
  "12": {
2558
- "name": "constant.numeric.source.abl"
2502
+ "name": "constant.numeric.abl"
2559
2503
  }
2560
2504
  }
2561
2505
  },
@@ -2684,7 +2628,7 @@
2684
2628
  "name": "keyword.other.abl"
2685
2629
  },
2686
2630
  "2": {
2687
- "name": "constant.language.source.abl"
2631
+ "name": "constant.language.abl"
2688
2632
  }
2689
2633
  }
2690
2634
  },
@@ -2739,7 +2683,7 @@
2739
2683
  "name": "support.function.abl"
2740
2684
  },
2741
2685
  "2": {
2742
- "name": "meta.brace.round.js"
2686
+ "name": "meta.brace.round.abl"
2743
2687
  }
2744
2688
  },
2745
2689
  "end": "(?i)\\b(?=\\)|where|no-lock|(share(?:-lock|-loc|-lo|-l|-)?)|using|(no-prefe(?:tch|tc|t)?)|no-wait)\\s*",
@@ -2813,10 +2757,14 @@
2813
2757
  "name": "keyword.other.abl"
2814
2758
  }
2815
2759
  },
2816
- "end": "(\\s([a-zA-Z][a-zA-Z0-9_\\-#$%]*))",
2760
+ "end": "(\\s([a-zA-Z][a-zA-Z0-9_\\-#$%]*)|(=))",
2761
+ "comment": "Capture the = in case there's a variable named 'var' which is being assigned",
2817
2762
  "endCaptures": {
2818
2763
  "2": {
2819
2764
  "name": "variable.other.abl"
2765
+ },
2766
+ "3": {
2767
+ "name": "keyword.operator.abl"
2820
2768
  }
2821
2769
  },
2822
2770
  "patterns": [
@@ -2961,6 +2909,29 @@
2961
2909
  }
2962
2910
  ]
2963
2911
  },
2912
+ "catch-block": {
2913
+ "begin": "\\s*([Cc][Aa][Tt][Cc][Hh])\\s+",
2914
+ "beginCaptures": {
2915
+ "1": {
2916
+ "name": "keyword.other.abl"
2917
+ }
2918
+ },
2919
+ "end": "(?=:)",
2920
+ "patterns": [
2921
+ {
2922
+ "include": "#as-type"
2923
+ },
2924
+ {
2925
+ "include": "#variable-name"
2926
+ },
2927
+ {
2928
+ "include": "#comment"
2929
+ },
2930
+ {
2931
+ "include": "#preprocessors"
2932
+ }
2933
+ ]
2934
+ },
2964
2935
  "from-to-by": {
2965
2936
  "begin": "\\s*([a-zA-Z0-9_\\-#$%$\\-_%&]+)\\s+(=)\\s*",
2966
2937
  "beginCaptures": {
@@ -2968,7 +2939,7 @@
2968
2939
  "name": "variable.other.abl"
2969
2940
  },
2970
2941
  "2": {
2971
- "name": "keyword.operator.source.abl"
2942
+ "name": "keyword.operator.abl"
2972
2943
  }
2973
2944
  },
2974
2945
  "end": "(?i)(?=(transact(?:ion|io|i)?)|on|:|with|while)",
@@ -3002,7 +2973,7 @@
3002
2973
  "begin": "(?i)((\\?:)|(:))(unsubscribe|subscribe)\\s*(\\()",
3003
2974
  "beginCaptures": {
3004
2975
  "2": {
3005
- "name": "keyword.operator.source.abl"
2976
+ "name": "keyword.operator.abl"
3006
2977
  },
3007
2978
  "3": {
3008
2979
  "name": "punctuation.accessor.abl"
@@ -3011,13 +2982,13 @@
3011
2982
  "name": "entity.name.function.abl"
3012
2983
  },
3013
2984
  "5": {
3014
- "name": "meta.brace.round.js"
2985
+ "name": "meta.brace.round.abl"
3015
2986
  }
3016
2987
  },
3017
2988
  "end": "(\\))",
3018
2989
  "endCaptures": {
3019
2990
  "1": {
3020
- "name": "meta.brace.round.js"
2991
+ "name": "meta.brace.round.abl"
3021
2992
  }
3022
2993
  },
3023
2994
  "patterns": [
@@ -3098,7 +3069,7 @@
3098
3069
  },
3099
3070
  "for-record": {
3100
3071
  "comment": "this regex just tries to capture a bunch (6) of tables",
3101
- "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_\\-#$%]*)?",
3072
+ "match": "(?i)\\s*(for)\\s+([a-zA-Z_\\-#$%0-9]*)\\s*(,)?\\s*([a-zA-Z_\\-#$%0-9]*)?\\s*(,)?\\s*([a-zA-Z_\\-#$%0-9]*)?\\s*(,)?\\s*([a-zA-Z_\\-#$%0-9]*)?\\s*(,)?\\s*([a-zA-Z_\\-#$%0-9]*)?\\s*(,)?\\s*([a-zA-Z_\\-#$%0-9]*)?",
3102
3073
  "captures": {
3103
3074
  "1": {
3104
3075
  "name": "keyword.other.abl"
@@ -3387,9 +3358,12 @@
3387
3358
  "global-scoped-define": {
3388
3359
  "patterns": [
3389
3360
  {
3390
- "begin": "(?i)^\\s*((&)(scop(?:ed-define|ed-defin|ed-defi|ed-def|ed-de|ed-d|ed-|ed|e)?))\\s*",
3361
+ "begin": "(?i)\\s*((&)(scop(?:ed-define|ed-defin|ed-defi|ed-def|ed-de|ed-d|ed-|ed|e)?))\\s*",
3391
3362
  "name": "meta.preprocessor.abl",
3392
3363
  "beginCaptures": {
3364
+ "1": {
3365
+ "name": "meta.preprocessor.abl"
3366
+ },
3393
3367
  "2": {
3394
3368
  "name": "punctuation.definition.preprocessor.abl"
3395
3369
  },
@@ -3413,7 +3387,7 @@
3413
3387
  ]
3414
3388
  },
3415
3389
  {
3416
- "begin": "(?i)^\\s*((&)(glob(?:al-define|al-defin|al-defi|al-def|al-de|al-d|al-|al|a)?))\\s*",
3390
+ "begin": "(?i)\\s*((&)(glob(?:al-define|al-defin|al-defi|al-def|al-de|al-d|al-|al|a)?))\\s*",
3417
3391
  "name": "meta.preprocessor.abl",
3418
3392
  "beginCaptures": {
3419
3393
  "2": {
@@ -3492,7 +3466,7 @@
3492
3466
  "end": "(\\))",
3493
3467
  "endCaptures": {
3494
3468
  "1": {
3495
- "name": "meta.brace.round.js"
3469
+ "name": "meta.brace.round.abl"
3496
3470
  }
3497
3471
  }
3498
3472
  },
@@ -3529,6 +3503,9 @@
3529
3503
  {
3530
3504
  "include": "#abl-system-handles"
3531
3505
  },
3506
+ {
3507
+ "include": "#dynamic-buffer-field-access"
3508
+ },
3532
3509
  {
3533
3510
  "include": "#new-record"
3534
3511
  },
@@ -3544,6 +3521,12 @@
3544
3521
  {
3545
3522
  "include": "#abl-functions"
3546
3523
  },
3524
+ {
3525
+ "include": "#handle-methods"
3526
+ },
3527
+ {
3528
+ "include": "#handle-attributes"
3529
+ },
3547
3530
  {
3548
3531
  "include": "#type-member-call"
3549
3532
  },
@@ -3559,9 +3542,6 @@
3559
3542
  {
3560
3543
  "include": "#code-block"
3561
3544
  },
3562
- {
3563
- "include": "#handle-attributes"
3564
- },
3565
3545
  {
3566
3546
  "include": "#preprocessors"
3567
3547
  },
@@ -3571,18 +3551,17 @@
3571
3551
  ]
3572
3552
  },
3573
3553
  "function-arguments": {
3574
- "name": "meta.function.arguments.abl",
3575
3554
  "comment": "Captures what's between ( and ) when calling a function, excluding the braces ",
3576
3555
  "begin": "(?=\\()",
3577
3556
  "beginCaptures": {
3578
3557
  "1": {
3579
- "name": "meta.brace.round.js"
3558
+ "name": "meta.brace.round.abl"
3580
3559
  }
3581
3560
  },
3582
3561
  "end": "(?=\\))",
3583
3562
  "endCaptures": {
3584
3563
  "1": {
3585
- "name": "meta.brace.round.js"
3564
+ "name": "meta.brace.round.abl"
3586
3565
  }
3587
3566
  },
3588
3567
  "patterns": [
@@ -3595,7 +3574,6 @@
3595
3574
  ]
3596
3575
  },
3597
3576
  "function-arguments-no-parens": {
3598
- "name": "meta.function.arguments.abl",
3599
3577
  "patterns": [
3600
3578
  {
3601
3579
  "match": "(?i)\\s*((input-o(?:utput|utpu|utp|u)?)|output|input|table-handle|dataset-handle|append|by-value|by-reference|bind)\\b(?![#$\\-_%&])",
@@ -3657,6 +3635,9 @@
3657
3635
  {
3658
3636
  "include": "#abl-functions"
3659
3637
  },
3638
+ {
3639
+ "include": "#handle-attributes-and-methods"
3640
+ },
3660
3641
  {
3661
3642
  "include": "#type-member-call"
3662
3643
  },
@@ -3724,7 +3705,7 @@
3724
3705
  "match": "((\\?:)|(:))([a-zA-Z_][a-zA-Z0-9_#$\\-%&]*)\\b",
3725
3706
  "captures": {
3726
3707
  "2": {
3727
- "name": "keyword.operator.source.abl"
3708
+ "name": "keyword.operator.abl"
3728
3709
  },
3729
3710
  "3": {
3730
3711
  "name": "punctuation.accessor.abl"
@@ -3759,7 +3740,7 @@
3759
3740
  "name": "keyword.other.abl"
3760
3741
  },
3761
3742
  "2": {
3762
- "name": "constant.numeric.source.abl"
3743
+ "name": "constant.numeric.abl"
3763
3744
  }
3764
3745
  }
3765
3746
  },
@@ -3770,7 +3751,7 @@
3770
3751
  "name": "keyword.other.abl"
3771
3752
  },
3772
3753
  "2": {
3773
- "name": "constant.numeric.source.abl"
3754
+ "name": "constant.numeric.abl"
3774
3755
  }
3775
3756
  }
3776
3757
  },
@@ -3781,7 +3762,7 @@
3781
3762
  "name": "keyword.other.abl"
3782
3763
  },
3783
3764
  "2": {
3784
- "name": "constant.numeric.source.abl"
3765
+ "name": "constant.numeric.abl"
3785
3766
  }
3786
3767
  }
3787
3768
  },
@@ -3869,8 +3850,12 @@
3869
3850
  ]
3870
3851
  },
3871
3852
  "parameter-name": {
3872
- "match": "(?<=^|\\s)(a-zA-Z0-9_\\-#$%|-)+(?=\\s)",
3873
- "name": "variable.parameter.abl"
3853
+ "match": "\\s*([a-zA-Z0-9_\\-#$%]+)\\s*",
3854
+ "captures": {
3855
+ "1": {
3856
+ "name": "variable.parameter.abl"
3857
+ }
3858
+ }
3874
3859
  },
3875
3860
  "transaction-distinct": {
3876
3861
  "match": "(?i)\\b(transaction)\\s+(distinct)\\b",
@@ -3973,7 +3958,7 @@
3973
3958
  "name": "support.other.argument.abl"
3974
3959
  },
3975
3960
  "2": {
3976
- "name": "keyword.operator.source.abl"
3961
+ "name": "keyword.operator.abl"
3977
3962
  }
3978
3963
  }
3979
3964
  },
@@ -4040,18 +4025,17 @@
4040
4025
  },
4041
4026
  "singlelinecomment": {
4042
4027
  "match": "//.*$",
4043
- "comment": "Was comment.source.abl but should be changed, per https://macromates.com/manual/en/language_grammars",
4044
4028
  "name": "comment.line.double-slash.abl"
4045
4029
  },
4046
4030
  "multilinecomment": {
4047
4031
  "begin": "/\\*",
4048
4032
  "end": "\\*/",
4049
4033
  "contentName": "comment",
4050
- "name": "comment.block.source.abl",
4034
+ "name": "comment.block.abl",
4051
4035
  "patterns": [
4052
4036
  {
4053
4037
  "include": "#multilinecomment",
4054
- "name": "comment.block.source.abl"
4038
+ "name": "comment.block.abl"
4055
4039
  }
4056
4040
  ]
4057
4041
  },
@@ -4134,7 +4118,7 @@
4134
4118
  },
4135
4119
  "numeric": {
4136
4120
  "match": "(?<![a-zA-Z0-9_\\-#$%-])(0[xX]\\h+)|([+\\-]?\\.?(0|[1-9][0-9]*)(\\.[0-9]+)?([eE][+\\-]?[0-9]+)?)",
4137
- "name": "constant.numeric.source.abl"
4121
+ "name": "constant.numeric.abl"
4138
4122
  },
4139
4123
  "abl-system-handles": {
4140
4124
  "match": "(?i)\\b(active-window|audit-control|audit-policy|clipboard|codebase-locator|color-table|com-self|compiler|current-window|debugger|default-window|dslog-manager|(error-stat(?:us|u)?)|(file-info(?:rmation|rmatio|rmati|rmat|rma|rm|r)?)|focus|font-table|last-event|log-manager|profiler|(rcode-info(?:rmation|rmatio|rmati|rmat|rma|rm|r)?)|sax-attributes|sax-reader|sax-writer|security-policy|self|session|source-procedure|super|target-procedure|this-object|this-procedure|transaction|web-context)\\b(?![#$\\-_%&\\(])",
@@ -4225,7 +4209,7 @@
4225
4209
  "match": "(\\+=|-=|\\\\=|\\*=|<=|<>|>=|=|<|>)",
4226
4210
  "captures": {
4227
4211
  "1": {
4228
- "name": "keyword.operator.source.abl"
4212
+ "name": "keyword.operator.abl"
4229
4213
  }
4230
4214
  }
4231
4215
  },
@@ -4234,7 +4218,7 @@
4234
4218
  "comment": "Lookahead and -behind for the spaces",
4235
4219
  "captures": {
4236
4220
  "1": {
4237
- "name": "keyword.operator.source.abl"
4221
+ "name": "keyword.operator.abl"
4238
4222
  }
4239
4223
  }
4240
4224
  },
@@ -4243,7 +4227,7 @@
4243
4227
  "comment": "Lookahead only for the spaces, so that in particular the NOT is captured properly",
4244
4228
  "captures": {
4245
4229
  "1": {
4246
- "name": "keyword.operator.source.abl"
4230
+ "name": "keyword.operator.abl"
4247
4231
  }
4248
4232
  }
4249
4233
  },
@@ -4254,13 +4238,13 @@
4254
4238
  "name": "support.function.abl"
4255
4239
  },
4256
4240
  "2": {
4257
- "name": "meta.brace.round.js"
4241
+ "name": "meta.brace.round.abl"
4258
4242
  },
4259
4243
  "3": {
4260
4244
  "name": "storage.data.table.abl"
4261
4245
  },
4262
4246
  "5": {
4263
- "name": "meta.brace.round.js"
4247
+ "name": "meta.brace.round.abl"
4264
4248
  }
4265
4249
  }
4266
4250
  },
@@ -4275,13 +4259,13 @@
4275
4259
  "name": "support.function.abl"
4276
4260
  },
4277
4261
  "2": {
4278
- "name": "meta.brace.round.js"
4262
+ "name": "meta.brace.round.abl"
4279
4263
  },
4280
4264
  "3": {
4281
4265
  "name": "storage.data.table.abl"
4282
4266
  },
4283
4267
  "5": {
4284
- "name": "meta.brace.round.js"
4268
+ "name": "meta.brace.round.abl"
4285
4269
  }
4286
4270
  }
4287
4271
  },
@@ -4310,13 +4294,13 @@
4310
4294
  "name": "support.function.abl"
4311
4295
  },
4312
4296
  "2": {
4313
- "name": "meta.brace.round.js"
4297
+ "name": "meta.brace.round.abl"
4314
4298
  },
4315
4299
  "3": {
4316
4300
  "name": "storage.data.table.abl"
4317
4301
  },
4318
4302
  "5": {
4319
- "name": "meta.brace.round.js"
4303
+ "name": "meta.brace.round.abl"
4320
4304
  }
4321
4305
  }
4322
4306
  },
@@ -4907,7 +4891,7 @@
4907
4891
  }
4908
4892
  },
4909
4893
  "handle-attributes-F": {
4910
- "match": "(?i)(:)(f(?:gcolor?|gcol?|gc|ile-create-date?|ile-create-da?|ile-create-time?|ile-create-ti?|ile-mod-date?|ile-mod-da?|ile-mod-time?|ile-mod-ti?|ile-name|ile-offset?|ile-offs?|ile-size|ile-type|ill-mode|ill-where-string|illed|irst-async-request?|irst-async-reque?|irst-async-req?|irst-async-r?|irst-async|irst-buffer|irst-child|irst-column|irst-data-source|irst-dataset|irst-form|irst-object|irst-procedure?|irst-procedu?|irst-proce?|irst-query|irst-server-socket|irst-server?|irst-serv|irst-socket|irst-tab-item?|irst-tab-it?|it-last-column|lat-button|ocused-row|ocused-row-selected|ont|oreground?|oregrou?|oregr?|ore|oreign-key-hidden|orm-input|orm-long-input|ormatted?|ormat?|orm|orward-only|ragment?|rame-col|rame-name|rame-row|rame-spacing?|rame-spaci?|rame-spa|rame-x|rame-y|rame?|requency|ull-height-chars?|ull-height-cha?|ull-height-c|ull-height-pixels?|ull-height-pixe?|ull-height-pi?|ull-pathname?|ull-pathna?|ull-width-chars?|ull-width-cha?|ull-width-c?|ull-width|ull-width-pixels?|ull-width-pixe?|ull-width-pi?|unction))\\b(?![#$\\-_%&])",
4894
+ "match": "(?i)(:)(f(?:gcolor?|gcol?|gc|ile-create-date?|ile-create-da?|ile-create-time?|ile-create-ti?|ile-mod-date?|ile-mod-da?|ile-mod-time?|ile-mod-ti?|ile-name|ile-offset?|ile-offs?|ile-size|ile-type|ill-mode|ill-where-string|illed|ips-mode|irst-async-request?|irst-async-reque?|irst-async-req?|irst-async-r?|irst-async|irst-buffer|irst-child|irst-column|irst-data-source|irst-dataset|irst-form|irst-object|irst-procedure?|irst-procedu?|irst-proce?|irst-query|irst-server-socket|irst-server?|irst-serv|irst-socket|irst-tab-item?|irst-tab-it?|it-last-column|lat-button|ocused-row|ocused-row-selected|ont|oreground?|oregrou?|oregr?|ore|oreign-key-hidden|orm-input|orm-long-input|ormatted?|ormat?|orm|orward-only|ragment?|rame-col|rame-name|rame-row|rame-spacing?|rame-spaci?|rame-spa|rame-x|rame-y|rame?|requency|ull-height-chars?|ull-height-cha?|ull-height-c|ull-height-pixels?|ull-height-pixe?|ull-height-pi?|ull-pathname?|ull-pathna?|ull-width-chars?|ull-width-cha?|ull-width-c?|ull-width|ull-width-pixels?|ull-width-pixe?|ull-width-pi?|unction))\\b(?![#$\\-_%&])",
4911
4895
  "captures": {
4912
4896
  "1": {
4913
4897
  "name": "punctuation.accessor.abl"
@@ -5006,7 +4990,7 @@
5006
4990
  }
5007
4991
  },
5008
4992
  "handle-attributes-P": {
5009
- "match": "(?i)(:)(p(?:age-bottom?|age-bott?|age-top|arameter?|aramet?|aram|arent|arent-buffer|arent-fields-after|arent-fields-before|arent-id-relation|arent-relation?|arent-relati?|arent-rela?|arse-status|assword-field|athname|be-hash-algorithm?|be-hash-algorit?|be-hash-algor?|be-hash-alg|be-key-rounds|ersistent-cache-disabled|ersistent-procedure|ersistent?|ersiste?|fcolor?|fcol?|fc|ixels-per-column?|ixels-per-colu?|ixels-per-row|opup-menu?|opup-me?|opup-only?|opup-on?|osition|refer-dataset|repare-string|repared|rev-column?|rev-colu?|rev-sibling|rev-tab-item?|rev-tab-it?|rimary|rimary-passphrase|rinter-control-handle|rinter-hdc|rinter-name|rinter-port|rivate-data?|rivate-da?|rocedure-name|rocedure-type|rofiling|rogress-source?|rogress-sour?|rogress-so?|roxy|roxy-password|roxy-userid|ublic-id|ublished-events))\\b(?![#$\\-_%&])",
4993
+ "match": "(?i)(:)(p(?:age-bottom?|age-bott?|age-top|arameter?|aramet?|aram|arent|arent-buffer|arent-fields-after|arent-fields-before|arent-id-relation|arent-relation?|arent-relati?|arent-rela?|arse-status|assword-field|assword-hash-algorithm|assword-hash-rounds|assword-hash-salt|athname|be-algorithm|be-hash-algorithm?|be-hash-algorit?|be-hash-algor?|be-hash-alg|be-key-rounds|ersistent-cache-disabled|ersistent-procedure|ersistent?|ersiste?|fcolor?|fcol?|fc|ixels-per-column?|ixels-per-colu?|ixels-per-row|opup-menu?|opup-me?|opup-only?|opup-on?|osition|refer-dataset|repare-string|repared|rev-column?|rev-colu?|rev-sibling|rev-tab-item?|rev-tab-it?|rimary|rimary-passphrase|rinter-control-handle|rinter-hdc|rinter-name|rinter-port|rivate-data?|rivate-da?|rocedure-name|rocedure-type|rofiling|rogress-source?|rogress-sour?|rogress-so?|roxy|roxy-password|roxy-userid|ublic-id|ublished-events))\\b(?![#$\\-_%&])",
5010
4994
  "captures": {
5011
4995
  "1": {
5012
4996
  "name": "punctuation.accessor.abl"
@@ -5186,7 +5170,7 @@
5186
5170
  "end": "(\\))",
5187
5171
  "endCaptures": {
5188
5172
  "1": {
5189
- "name": "meta.brace.round.js"
5173
+ "name": "meta.brace.round.abl"
5190
5174
  }
5191
5175
  },
5192
5176
  "patterns": [
@@ -5208,7 +5192,7 @@
5208
5192
  "end": "(\\))",
5209
5193
  "endCaptures": {
5210
5194
  "1": {
5211
- "name": "meta.brace.round.js"
5195
+ "name": "meta.brace.round.abl"
5212
5196
  }
5213
5197
  },
5214
5198
  "patterns": [
@@ -5230,7 +5214,7 @@
5230
5214
  "end": "(\\))",
5231
5215
  "endCaptures": {
5232
5216
  "1": {
5233
- "name": "meta.brace.round.js"
5217
+ "name": "meta.brace.round.abl"
5234
5218
  }
5235
5219
  },
5236
5220
  "patterns": [
@@ -5252,7 +5236,7 @@
5252
5236
  "end": "(\\))",
5253
5237
  "endCaptures": {
5254
5238
  "1": {
5255
- "name": "meta.brace.round.js"
5239
+ "name": "meta.brace.round.abl"
5256
5240
  }
5257
5241
  },
5258
5242
  "patterns": [
@@ -5262,7 +5246,7 @@
5262
5246
  ]
5263
5247
  },
5264
5248
  "handle-methods-E": {
5265
- "begin": "(?i)(:)(e(?:dit-clear|dit-copy|dit-cut|dit-paste|dit-undo|mpty-dataset|mpty-temp-table|nable|nable-connections|ncode-domain-access-code|ncrypt-audit-mac-key|nd-document|nd-element|nd-event-group|nd-file-drop|ntry|xport|xport-principal))\\s*(?=\\()",
5249
+ "begin": "(?i)(:)(e(?:dit-clear|dit-copy|dit-cut|dit-paste|dit-undo|mpty-dataset|mpty-temp-table|nable|nable-connections|ncode-domain-access-code|ncode-password|ncrypt-audit-mac-key|nd-document|nd-element|nd-event-group|nd-file-drop|ntry|xport|xport-principal))\\s*(?=\\()",
5266
5250
  "beginCaptures": {
5267
5251
  "1": {
5268
5252
  "name": "punctuation.accessor.abl"
@@ -5274,7 +5258,7 @@
5274
5258
  "end": "(\\))",
5275
5259
  "endCaptures": {
5276
5260
  "1": {
5277
- "name": "meta.brace.round.js"
5261
+ "name": "meta.brace.round.abl"
5278
5262
  }
5279
5263
  },
5280
5264
  "patterns": [
@@ -5296,7 +5280,7 @@
5296
5280
  "end": "(\\))",
5297
5281
  "endCaptures": {
5298
5282
  "1": {
5299
- "name": "meta.brace.round.js"
5283
+ "name": "meta.brace.round.abl"
5300
5284
  }
5301
5285
  },
5302
5286
  "patterns": [
@@ -5318,7 +5302,7 @@
5318
5302
  "end": "(\\))",
5319
5303
  "endCaptures": {
5320
5304
  "1": {
5321
- "name": "meta.brace.round.js"
5305
+ "name": "meta.brace.round.abl"
5322
5306
  }
5323
5307
  },
5324
5308
  "patterns": [
@@ -5340,7 +5324,7 @@
5340
5324
  "end": "(\\))",
5341
5325
  "endCaptures": {
5342
5326
  "1": {
5343
- "name": "meta.brace.round.js"
5327
+ "name": "meta.brace.round.abl"
5344
5328
  }
5345
5329
  },
5346
5330
  "patterns": [
@@ -5362,7 +5346,7 @@
5362
5346
  "end": "(\\))",
5363
5347
  "endCaptures": {
5364
5348
  "1": {
5365
- "name": "meta.brace.round.js"
5349
+ "name": "meta.brace.round.abl"
5366
5350
  }
5367
5351
  },
5368
5352
  "patterns": [
@@ -5384,7 +5368,7 @@
5384
5368
  "end": "(\\))",
5385
5369
  "endCaptures": {
5386
5370
  "1": {
5387
- "name": "meta.brace.round.js"
5371
+ "name": "meta.brace.round.abl"
5388
5372
  }
5389
5373
  },
5390
5374
  "patterns": [
@@ -5406,7 +5390,7 @@
5406
5390
  "end": "(\\))",
5407
5391
  "endCaptures": {
5408
5392
  "1": {
5409
- "name": "meta.brace.round.js"
5393
+ "name": "meta.brace.round.abl"
5410
5394
  }
5411
5395
  },
5412
5396
  "patterns": [
@@ -5428,7 +5412,7 @@
5428
5412
  "end": "(\\))",
5429
5413
  "endCaptures": {
5430
5414
  "1": {
5431
- "name": "meta.brace.round.js"
5415
+ "name": "meta.brace.round.abl"
5432
5416
  }
5433
5417
  },
5434
5418
  "patterns": [
@@ -5450,7 +5434,7 @@
5450
5434
  "end": "(\\))",
5451
5435
  "endCaptures": {
5452
5436
  "1": {
5453
- "name": "meta.brace.round.js"
5437
+ "name": "meta.brace.round.abl"
5454
5438
  }
5455
5439
  },
5456
5440
  "patterns": [
@@ -5472,7 +5456,7 @@
5472
5456
  "end": "(\\))",
5473
5457
  "endCaptures": {
5474
5458
  "1": {
5475
- "name": "meta.brace.round.js"
5459
+ "name": "meta.brace.round.abl"
5476
5460
  }
5477
5461
  },
5478
5462
  "patterns": [
@@ -5494,7 +5478,7 @@
5494
5478
  "end": "(\\))",
5495
5479
  "endCaptures": {
5496
5480
  "1": {
5497
- "name": "meta.brace.round.js"
5481
+ "name": "meta.brace.round.abl"
5498
5482
  }
5499
5483
  },
5500
5484
  "patterns": [
@@ -5516,7 +5500,7 @@
5516
5500
  "end": "(\\))",
5517
5501
  "endCaptures": {
5518
5502
  "1": {
5519
- "name": "meta.brace.round.js"
5503
+ "name": "meta.brace.round.abl"
5520
5504
  }
5521
5505
  },
5522
5506
  "patterns": [
@@ -5526,7 +5510,7 @@
5526
5510
  ]
5527
5511
  },
5528
5512
  "handle-methods-V": {
5529
- "begin": "(?i)(:)(validate(?:|-domain-access-code|-seal))\\s*(?=\\()",
5513
+ "begin": "(?i)(:)(validate(?:|-domain-access-code|-password|-seal))\\s*(?=\\()",
5530
5514
  "beginCaptures": {
5531
5515
  "1": {
5532
5516
  "name": "punctuation.accessor.abl"
@@ -5538,7 +5522,7 @@
5538
5522
  "end": "(\\))",
5539
5523
  "endCaptures": {
5540
5524
  "1": {
5541
- "name": "meta.brace.round.js"
5525
+ "name": "meta.brace.round.abl"
5542
5526
  }
5543
5527
  },
5544
5528
  "patterns": [
@@ -5560,7 +5544,7 @@
5560
5544
  "end": "(\\))",
5561
5545
  "endCaptures": {
5562
5546
  "1": {
5563
- "name": "meta.brace.round.js"
5547
+ "name": "meta.brace.round.abl"
5564
5548
  }
5565
5549
  },
5566
5550
  "patterns": [
@@ -5785,7 +5769,7 @@
5785
5769
  "end": "(\\))",
5786
5770
  "endCaptures": {
5787
5771
  "1": {
5788
- "name": "meta.brace.round.js"
5772
+ "name": "meta.brace.round.abl"
5789
5773
  }
5790
5774
  },
5791
5775
  "patterns": [
@@ -5804,7 +5788,7 @@
5804
5788
  "end": "(\\))",
5805
5789
  "endCaptures": {
5806
5790
  "1": {
5807
- "name": "meta.brace.round.js"
5791
+ "name": "meta.brace.round.abl"
5808
5792
  }
5809
5793
  },
5810
5794
  "patterns": [
@@ -5823,7 +5807,7 @@
5823
5807
  "end": "(\\))",
5824
5808
  "endCaptures": {
5825
5809
  "1": {
5826
- "name": "meta.brace.round.js"
5810
+ "name": "meta.brace.round.abl"
5827
5811
  }
5828
5812
  },
5829
5813
  "patterns": [
@@ -5842,7 +5826,7 @@
5842
5826
  "end": "(\\))",
5843
5827
  "endCaptures": {
5844
5828
  "1": {
5845
- "name": "meta.brace.round.js"
5829
+ "name": "meta.brace.round.abl"
5846
5830
  }
5847
5831
  },
5848
5832
  "patterns": [
@@ -5861,7 +5845,7 @@
5861
5845
  "end": "(\\))",
5862
5846
  "endCaptures": {
5863
5847
  "1": {
5864
- "name": "meta.brace.round.js"
5848
+ "name": "meta.brace.round.abl"
5865
5849
  }
5866
5850
  },
5867
5851
  "patterns": [
@@ -5880,7 +5864,7 @@
5880
5864
  "end": "(\\))",
5881
5865
  "endCaptures": {
5882
5866
  "1": {
5883
- "name": "meta.brace.round.js"
5867
+ "name": "meta.brace.round.abl"
5884
5868
  }
5885
5869
  },
5886
5870
  "patterns": [
@@ -5890,7 +5874,7 @@
5890
5874
  ]
5891
5875
  },
5892
5876
  "abl-functions-G": {
5893
- "begin": "(?i)\\s*(g(?:ateways?|enerate-pbe-key|enerate-pbe-salt|enerate-random-key|enerate-uuid|et-bits|et-byte|et-byte-order|et-bytes|et-class|et-codepages?|et-codepages?|et-collations??|et-collation?|et-collati?|et-colla?|et-db-client|et-double|et-effective-tenant-id|et-effective-tenant-name|et-float|et-int64|et-long|et-pointer-value|et-short|et-size|et-string|et-unsigned-long|et-unsigned-short|o-pending?|o-pendi?|uid))\\s*(?=\\()",
5877
+ "begin": "(?i)\\s*(g(?:ateways?|enerate-password-hash|enerate-pbe-key|enerate-pbe-salt|enerate-random-key|enerate-salt|enerate-uuid|et-bits|et-byte|et-byte-order|et-bytes|et-class|et-codepages?|et-codepages?|et-collations??|et-collation?|et-collati?|et-colla?|et-db-client|et-double|et-effective-tenant-id|et-effective-tenant-name|et-float|et-int64|et-long|et-pointer-value|et-short|et-size|et-string|et-unsigned-long|et-unsigned-short|o-pending?|o-pendi?|uid))\\s*(?=\\()",
5894
5878
  "beginCaptures": {
5895
5879
  "1": {
5896
5880
  "name": "support.function.abl"
@@ -5899,7 +5883,7 @@
5899
5883
  "end": "(\\))",
5900
5884
  "endCaptures": {
5901
5885
  "1": {
5902
- "name": "meta.brace.round.js"
5886
+ "name": "meta.brace.round.abl"
5903
5887
  }
5904
5888
  },
5905
5889
  "patterns": [
@@ -5918,7 +5902,7 @@
5918
5902
  "end": "(\\))",
5919
5903
  "endCaptures": {
5920
5904
  "1": {
5921
- "name": "meta.brace.round.js"
5905
+ "name": "meta.brace.round.abl"
5922
5906
  }
5923
5907
  },
5924
5908
  "patterns": [
@@ -5937,7 +5921,7 @@
5937
5921
  "end": "(\\))",
5938
5922
  "endCaptures": {
5939
5923
  "1": {
5940
- "name": "meta.brace.round.js"
5924
+ "name": "meta.brace.round.abl"
5941
5925
  }
5942
5926
  },
5943
5927
  "patterns": [
@@ -5956,7 +5940,7 @@
5956
5940
  "end": "(\\))",
5957
5941
  "endCaptures": {
5958
5942
  "1": {
5959
- "name": "meta.brace.round.js"
5943
+ "name": "meta.brace.round.abl"
5960
5944
  }
5961
5945
  },
5962
5946
  "patterns": [
@@ -5975,7 +5959,7 @@
5975
5959
  "end": "(\\))",
5976
5960
  "endCaptures": {
5977
5961
  "1": {
5978
- "name": "meta.brace.round.js"
5962
+ "name": "meta.brace.round.abl"
5979
5963
  }
5980
5964
  },
5981
5965
  "patterns": [
@@ -5994,7 +5978,7 @@
5994
5978
  "end": "(\\))",
5995
5979
  "endCaptures": {
5996
5980
  "1": {
5997
- "name": "meta.brace.round.js"
5981
+ "name": "meta.brace.round.abl"
5998
5982
  }
5999
5983
  },
6000
5984
  "patterns": [
@@ -6013,7 +5997,7 @@
6013
5997
  "end": "(\\))",
6014
5998
  "endCaptures": {
6015
5999
  "1": {
6016
- "name": "meta.brace.round.js"
6000
+ "name": "meta.brace.round.abl"
6017
6001
  }
6018
6002
  },
6019
6003
  "patterns": [
@@ -6032,7 +6016,7 @@
6032
6016
  "end": "(\\))",
6033
6017
  "endCaptures": {
6034
6018
  "1": {
6035
- "name": "meta.brace.round.js"
6019
+ "name": "meta.brace.round.abl"
6036
6020
  }
6037
6021
  },
6038
6022
  "patterns": [
@@ -6051,7 +6035,7 @@
6051
6035
  "end": "(\\))",
6052
6036
  "endCaptures": {
6053
6037
  "1": {
6054
- "name": "meta.brace.round.js"
6038
+ "name": "meta.brace.round.abl"
6055
6039
  }
6056
6040
  },
6057
6041
  "patterns": [
@@ -6070,7 +6054,7 @@
6070
6054
  "end": "(\\))",
6071
6055
  "endCaptures": {
6072
6056
  "1": {
6073
- "name": "meta.brace.round.js"
6057
+ "name": "meta.brace.round.abl"
6074
6058
  }
6075
6059
  },
6076
6060
  "patterns": [
@@ -6089,7 +6073,7 @@
6089
6073
  "end": "(\\))",
6090
6074
  "endCaptures": {
6091
6075
  "1": {
6092
- "name": "meta.brace.round.js"
6076
+ "name": "meta.brace.round.abl"
6093
6077
  }
6094
6078
  },
6095
6079
  "patterns": [
@@ -6108,7 +6092,7 @@
6108
6092
  "end": "(\\))",
6109
6093
  "endCaptures": {
6110
6094
  "1": {
6111
- "name": "meta.brace.round.js"
6095
+ "name": "meta.brace.round.abl"
6112
6096
  }
6113
6097
  },
6114
6098
  "patterns": [
@@ -6127,7 +6111,7 @@
6127
6111
  "end": "(\\))",
6128
6112
  "endCaptures": {
6129
6113
  "1": {
6130
- "name": "meta.brace.round.js"
6114
+ "name": "meta.brace.round.abl"
6131
6115
  }
6132
6116
  },
6133
6117
  "patterns": [
@@ -6146,7 +6130,7 @@
6146
6130
  "end": "(\\))",
6147
6131
  "endCaptures": {
6148
6132
  "1": {
6149
- "name": "meta.brace.round.js"
6133
+ "name": "meta.brace.round.abl"
6150
6134
  }
6151
6135
  },
6152
6136
  "patterns": [
@@ -6165,7 +6149,7 @@
6165
6149
  "end": "(\\))",
6166
6150
  "endCaptures": {
6167
6151
  "1": {
6168
- "name": "meta.brace.round.js"
6152
+ "name": "meta.brace.round.abl"
6169
6153
  }
6170
6154
  },
6171
6155
  "patterns": [
@@ -6184,7 +6168,7 @@
6184
6168
  "end": "(\\))",
6185
6169
  "endCaptures": {
6186
6170
  "1": {
6187
- "name": "meta.brace.round.js"
6171
+ "name": "meta.brace.round.abl"
6188
6172
  }
6189
6173
  },
6190
6174
  "patterns": [
@@ -6203,7 +6187,7 @@
6203
6187
  "end": "(\\))",
6204
6188
  "endCaptures": {
6205
6189
  "1": {
6206
- "name": "meta.brace.round.js"
6190
+ "name": "meta.brace.round.abl"
6207
6191
  }
6208
6192
  },
6209
6193
  "patterns": [
@@ -6215,4 +6199,4 @@
6215
6199
  },
6216
6200
  "scopeName": "source.abl",
6217
6201
  "uuid": "075bb86e-03ea-4fea-bac0-e11b9dc73e03"
6218
- }
6202
+ }