abl-tmlanguage 1.3.26 → 1.3.28

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +2 -1
  3. package/abl.tmLanguage.json +291 -112
  4. package/index.mjs +109 -11
  5. package/package.json +1 -1
  6. package/spec/blocks/block-options.spec.js +16 -16
  7. package/spec/blocks/finally-blocks.spec.js +5 -5
  8. package/spec/comments/comment-in-block-statement.spec.js +1 -1
  9. package/spec/comments/comment-in-for-each.spec.js +5 -5
  10. package/spec/comments/vscode-abl-issue#127.spec.js +20 -20
  11. package/spec/db-table-and-field/buffer-copy.spec.js +22 -22
  12. package/spec/db-table-and-field/create-alias.spec.js +39 -38
  13. package/spec/db-table-and-field/double-colon-access.spec.js +154 -0
  14. package/spec/db-table-and-field/field-in-function.spec.js +25 -25
  15. package/spec/db-table-and-field/fields-except.spec.js +1 -2
  16. package/spec/db-table-and-field/foreach.spec.js +6 -6
  17. package/spec/db-table-and-field/issue#88.spec.js +5 -4
  18. package/spec/db-table-and-field/new-record.spec.js +9 -9
  19. package/spec/db-table-and-field/query-get.spec.js +137 -0
  20. package/spec/define-buffer/create-buffer.spec.js +57 -0
  21. package/spec/define-frame/issue#173.spec.js +16 -16
  22. package/spec/define-property/property-getter.spec.js +8 -103
  23. package/spec/define-variable/simple-single-line.spec.js +1 -1
  24. package/spec/define-variable/var-statement.spec.js +21 -21
  25. package/spec/do/do-blocks.spec.js +22 -22
  26. package/spec/do/stop-after.spec.js +1 -1
  27. package/spec/function-call/can-find.spec.js +12 -12
  28. package/spec/function-call/include-in-argument.spec.js +120 -0
  29. package/spec/function-call/misc-abl-functions.spec.js +9 -9
  30. package/spec/function-call/nested-functions.spec.js +124 -124
  31. package/spec/function-call/vscode-abl-issue#19.spec.js +14 -14
  32. package/spec/function-definition/vscode-abl-issue#166.spec.js +1 -1
  33. package/spec/input-output/input-from.spec.js +116 -116
  34. package/spec/input-output/output-to.spec.js +105 -105
  35. package/spec/method-attribute-property-call/get-set-method-name.spec.js +1 -2
  36. package/spec/method-attribute-property-call/method-call.spec.js +1 -1
  37. package/spec/method-attribute-property-call/nested-property-call.spec.js +8 -25
  38. package/spec/method-attribute-property-call/unqualified-method-call.spec.js +27 -27
  39. package/spec/method-definition/constructor.spec.js +5 -5
  40. package/spec/misc-statements/class-in-var-name.spec.js +22 -22
  41. package/spec/misc-statements/copy-lob.spec.js +11 -4
  42. package/spec/misc-statements/do-in-name.spec.js +5 -5
  43. package/spec/misc-statements/guid.spec.js +10 -10
  44. package/spec/misc-statements/if-then.spec.js +38 -38
  45. package/spec/misc-statements/record-buffer-functions.spec.js +5 -5
  46. package/spec/misc-statements/return-statement.spec.js +15 -15
  47. package/spec/misc-statements/skip-statement-and-fuction.spec.js +6 -6
  48. package/spec/misc-statements/system-handles.spec.js +17 -3
  49. package/spec/numbers/scientific-notation.spec.js +7 -7
  50. package/spec/operators/operators.spec.js +6 -6
  51. package/spec/preprocesors/proparse-preprocessor.spec.js +7 -7
  52. package/spec/run-statement/run-statement.spec.js +30 -133
  53. package/spec/strings/translation-attribute.spec.js +7 -7
  54. package/spec/strings/vscode-abl-issue#11.spec.js +0 -53
  55. package/spec/strings/vscode-abl-issue#28.spec.js +16 -16
  56. package/spec/type-name/argument.spec.js +6 -7
  57. package/spec/type-name/define-property.spec.js +1 -1
  58. package/spec/type-name/define-temp-table.spec.js +4 -4
  59. package/spec/type-name/define-variable-property.spec.js +1 -1
  60. package/spec/type-name/define-variable.spec.js +1 -1
  61. package/spec/type-name/new.spec.js +8 -8
  62. package/spec/type-name/parameter-as.spec.js +50 -1
  63. package/spec/type-name/type-name.spec.js +20 -20
@@ -40,7 +40,7 @@ describe('', () => {
40
40
  { "startIndex": 7, "endIndex": 22, "scopes": ["source.abl", "entity.name.procedure.abl"] }, // 'a/b\c\program.p'
41
41
  { "startIndex": 22, "endIndex": 23, "scopes": ["source.abl"] }, // ' '
42
42
  { "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
43
- { "startIndex": 24, "endIndex": 29, "scopes": ["source.abl", "meta.function.arguments.abl", "constant.language.abl"] }, // 'today'
43
+ { "startIndex": 24, "endIndex": 29, "scopes": ["source.abl", "meta.function.arguments.abl", "support.function.abl"] }, // 'today'
44
44
  { "startIndex": 29, "endIndex": 30, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
45
45
  { "startIndex": 30, "endIndex": 31, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
46
46
  ];
@@ -55,10 +55,10 @@ describe('', () => {
55
55
  { "startIndex": 0, "endIndex": 3, "scopes": ["source.abl"] }, // ' '
56
56
  { "startIndex": 3, "endIndex": 6, "scopes": ["source.abl", "keyword.other.abl"] }, // 'run'
57
57
  { "startIndex": 6, "endIndex": 7, "scopes": ["source.abl"] }, // ' '
58
- { "startIndex": 7, "endIndex": 12, "scopes": ["source.abl", "meta.function-call.abl", "support.function.abl"] }, // 'value'
59
- { "startIndex": 12, "endIndex": 13, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
60
- { "startIndex": 13, "endIndex": 22, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'cPriogram'
61
- { "startIndex": 22, "endIndex": 23, "scopes": ["source.abl", "meta.function-call.abl", "meta.brace.round.js"] }, // ')'
58
+ { "startIndex": 7, "endIndex": 12, "scopes": ["source.abl", "support.function.abl"] }, // 'value'
59
+ { "startIndex": 12, "endIndex": 13, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
60
+ { "startIndex": 13, "endIndex": 22, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'cPriogram'
61
+ { "startIndex": 22, "endIndex": 23, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
62
62
  { "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
63
63
  ];
64
64
  shared.itShouldMatchExpectedScopes(statement, expectedTokens);
@@ -232,10 +232,10 @@ describe('', () => {
232
232
  let expectedTokens = [
233
233
  { "startIndex": 0, "endIndex": 3, "scopes": ["source.abl", "keyword.other.abl"] }, // 'run'
234
234
  { "startIndex": 3, "endIndex": 4, "scopes": ["source.abl"] }, // ' '
235
- { "startIndex": 4, "endIndex": 9, "scopes": ["source.abl", "meta.function-call.abl", "support.function.abl"] }, // 'value'
236
- { "startIndex": 9, "endIndex": 10, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
237
- { "startIndex": 10, "endIndex": 16, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'SYSSYS'
238
- { "startIndex": 16, "endIndex": 17, "scopes": ["source.abl", "meta.function-call.abl", "meta.brace.round.js"] }, // ')'
235
+ { "startIndex": 4, "endIndex": 9, "scopes": ["source.abl", "support.function.abl"] }, // 'value'
236
+ { "startIndex": 9, "endIndex": 10, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
237
+ { "startIndex": 10, "endIndex": 16, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'SYSSYS'
238
+ { "startIndex": 16, "endIndex": 17, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
239
239
  { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl"] }, // ' '
240
240
  { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
241
241
  { "startIndex": 19, "endIndex": 24, "scopes": ["source.abl", "meta.function.arguments.abl", "constant.numeric.source.abl"] }, // '31000'
@@ -357,19 +357,19 @@ describe('', () => {
357
357
  [
358
358
  { "startIndex": 0, "endIndex": 3, "scopes": ["source.abl", "keyword.other.abl"] }, // 'RUN'
359
359
  { "startIndex": 3, "endIndex": 4, "scopes": ["source.abl"] }, // ' '
360
- { "startIndex": 4, "endIndex": 9, "scopes": ["source.abl", "meta.function-call.abl", "support.function.abl"] }, // 'VALUE'
361
- { "startIndex": 9, "endIndex": 10, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
362
- { "startIndex": 10, "endIndex": 21, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "variable.language.abl"] }, // 'THIS-OBJECT'
363
- { "startIndex": 21, "endIndex": 22, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "punctuation.separator.colon.abl"] }, // ':'
364
- { "startIndex": 22, "endIndex": 42, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "entity.name.function.abl"] }, // 'ServiceInterfacePath'
365
- { "startIndex": 42, "endIndex": 43, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl"] }, // ' '
366
- { "startIndex": 43, "endIndex": 44, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "keyword.operator.source.abl"] }, // '+'
367
- { "startIndex": 44, "endIndex": 45, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl"] }, // ' '
368
- { "startIndex": 45, "endIndex": 46, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
369
- { "startIndex": 46, "endIndex": 70, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl"] }, // '/proSIinvokeTaskAsync2.p'
370
- { "startIndex": 70, "endIndex": 71, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
371
- { "startIndex": 71, "endIndex": 73, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "support.other.abl"] }, // ':U'
372
- { "startIndex": 73, "endIndex": 74, "scopes": ["source.abl", "meta.function-call.abl", "meta.brace.round.js"] } // ')'
360
+ { "startIndex": 4, "endIndex": 9, "scopes": ["source.abl", "support.function.abl"] }, // 'VALUE'
361
+ { "startIndex": 9, "endIndex": 10, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
362
+ { "startIndex": 10, "endIndex": 21, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.language.abl"] }, // 'THIS-OBJECT'
363
+ { "startIndex": 21, "endIndex": 22, "scopes": ["source.abl", "meta.function.arguments.abl", "punctuation.separator.colon.abl"] }, // ':'
364
+ { "startIndex": 22, "endIndex": 42, "scopes": ["source.abl", "meta.function.arguments.abl", "entity.name.function.abl"] }, // 'ServiceInterfacePath'
365
+ { "startIndex": 42, "endIndex": 43, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
366
+ { "startIndex": 43, "endIndex": 44, "scopes": ["source.abl", "meta.function.arguments.abl", "keyword.operator.source.abl"] }, // '+'
367
+ { "startIndex": 44, "endIndex": 45, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
368
+ { "startIndex": 45, "endIndex": 46, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
369
+ { "startIndex": 46, "endIndex": 70, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl"] }, // '/proSIinvokeTaskAsync2.p'
370
+ { "startIndex": 70, "endIndex": 71, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
371
+ { "startIndex": 71, "endIndex": 73, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "support.other.abl"] }, // ':U'
372
+ { "startIndex": 73, "endIndex": 74, "scopes": ["source.abl", "meta.brace.round.js"] } // ')'
373
373
  ],
374
374
  [
375
375
  { "startIndex": 0, "endIndex": 8, "scopes": ["source.abl"] }, // ' '
@@ -764,109 +764,6 @@ run adfasf.p EVENT-PROCEDURE 'event-internal-procedure':u.`;
764
764
  shared.itShouldMatchExpectedScopes(statement, expectedTokens);
765
765
  })
766
766
 
767
- describe('', () => {
768
- let statement = `RUN
769
- extern-proc-name
770
- SINGLETON SET proc-handle
771
- ON SERVER session
772
- TRANSACTION DISTINCT
773
- ASYNCHRONOUS
774
- SET async-request-handle
775
- EVENT-PROCEDURE event-internal-procedure
776
- IN procedure-context
777
- EVENT-HANDLER string(event-handler-name:Method())
778
- EVENT-HANDLER-CONTEXT objRef
779
- ( "abc", objRef) .`;
780
-
781
- let expectedTokens = [
782
- [
783
- { "startIndex": 0, "endIndex": 3, "scopes": ["source.abl", "keyword.other.abl"] } // 'RUN'
784
- ],
785
- [
786
- { "startIndex": 0, "endIndex": 5, "scopes": ["source.abl"] }, // ' '
787
- { "startIndex": 5, "endIndex": 21, "scopes": ["source.abl", "entity.name.procedure.abl"] } // 'extern-proc-name'
788
- ],
789
- [
790
- { "startIndex": 0, "endIndex": 4, "scopes": ["source.abl"] }, // ' '
791
- { "startIndex": 4, "endIndex": 13, "scopes": ["source.abl", "keyword.other.abl"] }, // 'SINGLETON'
792
- { "startIndex": 13, "endIndex": 15, "scopes": ["source.abl"] }, // ' '
793
- { "startIndex": 15, "endIndex": 18, "scopes": ["source.abl", "keyword.other.abl"] }, // 'SET'
794
- { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl"] }, // ' '
795
- { "startIndex": 19, "endIndex": 30, "scopes": ["source.abl", "variable.other.abl"] } // 'proc-handle'
796
- ],
797
- [
798
- { "startIndex": 0, "endIndex": 4, "scopes": ["source.abl"] }, // ' '
799
- { "startIndex": 4, "endIndex": 6, "scopes": ["source.abl", "keyword.other.abl"] }, // 'ON'
800
- { "startIndex": 6, "endIndex": 8, "scopes": ["source.abl"] }, // ' '
801
- { "startIndex": 8, "endIndex": 14, "scopes": ["source.abl", "keyword.other.abl"] }, // 'SERVER'
802
- { "startIndex": 14, "endIndex": 15, "scopes": ["source.abl"] }, // ' '
803
- { "startIndex": 15, "endIndex": 22, "scopes": ["source.abl", "variable.language.abl"] } // 'session'
804
- ],
805
- [
806
- { "startIndex": 0, "endIndex": 8, "scopes": ["source.abl"] }, // ' '
807
- { "startIndex": 8, "endIndex": 19, "scopes": ["source.abl", "keyword.other.abl"] }, // 'TRANSACTION'
808
- { "startIndex": 19, "endIndex": 20, "scopes": ["source.abl"] }, // ' '
809
- { "startIndex": 20, "endIndex": 28, "scopes": ["source.abl", "keyword.other.abl"] } // 'DISTINCT'
810
- ],
811
- [
812
- { "startIndex": 0, "endIndex": 8, "scopes": ["source.abl"] }, // ' '
813
- { "startIndex": 8, "endIndex": 20, "scopes": ["source.abl", "keyword.other.abl"] } // 'ASYNCHRONOUS'
814
- ],
815
- [
816
- { "startIndex": 0, "endIndex": 12, "scopes": ["source.abl"] }, // ' '
817
- { "startIndex": 12, "endIndex": 15, "scopes": ["source.abl", "keyword.other.abl"] }, // 'SET'
818
- { "startIndex": 15, "endIndex": 16, "scopes": ["source.abl"] }, // ' '
819
- { "startIndex": 16, "endIndex": 36, "scopes": ["source.abl", "variable.other.abl"] } // 'async-request-handle'
820
- ],
821
- [
822
- { "startIndex": 0, "endIndex": 12, "scopes": ["source.abl"] }, // ' '
823
- { "startIndex": 12, "endIndex": 27, "scopes": ["source.abl", "keyword.other.abl"] }, // 'EVENT-PROCEDURE'
824
- { "startIndex": 27, "endIndex": 28, "scopes": ["source.abl"] }, // ' '
825
- { "startIndex": 28, "endIndex": 52, "scopes": ["source.abl", "variable.other.abl"] } // 'event-internal-procedure'
826
- ],
827
- [
828
- { "startIndex": 0, "endIndex": 16, "scopes": ["source.abl"] }, // ' '
829
- { "startIndex": 16, "endIndex": 18, "scopes": ["source.abl", "keyword.other.abl"] }, // 'IN'
830
- { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl"] }, // ' '
831
- { "startIndex": 19, "endIndex": 36, "scopes": ["source.abl", "variable.other.abl"] } // 'procedure-context'
832
- ],
833
- [
834
- { "startIndex": 0, "endIndex": 12, "scopes": ["source.abl"] }, // ' '
835
- { "startIndex": 12, "endIndex": 25, "scopes": ["source.abl", "keyword.other.abl"] }, // 'EVENT-HANDLER'
836
- { "startIndex": 25, "endIndex": 26, "scopes": ["source.abl", "meta.function-call.abl"] }, // ' '
837
- { "startIndex": 26, "endIndex": 32, "scopes": ["source.abl", "meta.function-call.abl", "support.function.abl"] }, // 'string'
838
- { "startIndex": 32, "endIndex": 33, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
839
- { "startIndex": 33, "endIndex": 51, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'event-handler-name'
840
- { "startIndex": 51, "endIndex": 52, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "punctuation.separator.colon.abl"] }, // ':'
841
- { "startIndex": 52, "endIndex": 58, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "entity.name.function.abl"] }, // 'Method'
842
- { "startIndex": 58, "endIndex": 59, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
843
- { "startIndex": 59, "endIndex": 60, "scopes": ["source.abl", "meta.function-call.abl", "meta.brace.round.js"] }, // ')'
844
- { "startIndex": 60, "endIndex": 61, "scopes": ["source.abl", "meta.brace.round.js"] } // ')'
845
- ],
846
- [
847
- { "startIndex": 0, "endIndex": 15, "scopes": ["source.abl"] }, // ' '
848
- { "startIndex": 15, "endIndex": 36, "scopes": ["source.abl", "keyword.other.abl"] }, // 'EVENT-HANDLER-CONTEXT'
849
- { "startIndex": 36, "endIndex": 37, "scopes": ["source.abl"] }, // ' '
850
- { "startIndex": 37, "endIndex": 43, "scopes": ["source.abl", "variable.other.abl"] } // 'objRef'
851
- ],
852
- [
853
- { "startIndex": 0, "endIndex": 1, "scopes": ["source.abl"] }, // ' '
854
- { "startIndex": 1, "endIndex": 2, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
855
- { "startIndex": 2, "endIndex": 3, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
856
- { "startIndex": 3, "endIndex": 4, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
857
- { "startIndex": 4, "endIndex": 7, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl"] }, // 'abc'
858
- { "startIndex": 7, "endIndex": 8, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
859
- { "startIndex": 8, "endIndex": 9, "scopes": ["source.abl", "meta.function.arguments.abl", "punctuation.separator.comma.abl"] }, // ','
860
- { "startIndex": 9, "endIndex": 10, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
861
- { "startIndex": 10, "endIndex": 16, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'objRef'
862
- { "startIndex": 16, "endIndex": 17, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
863
- { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl"] }, // ' '
864
- { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
865
- ]
866
- ];
867
- shared.itShouldMatchExpectedScopes(statement, expectedTokens);
868
- })
869
-
870
767
  describe('', () => {
871
768
  let statement = `RUN
872
769
  extern-proc-name
@@ -936,14 +833,14 @@ describe('', () => {
936
833
  [
937
834
  { "startIndex": 0, "endIndex": 12, "scopes": ["source.abl"] }, // ' '
938
835
  { "startIndex": 12, "endIndex": 25, "scopes": ["source.abl", "keyword.other.abl"] }, // 'EVENT-HANDLER'
939
- { "startIndex": 25, "endIndex": 26, "scopes": ["source.abl", "meta.function-call.abl"] }, // ' '
940
- { "startIndex": 26, "endIndex": 32, "scopes": ["source.abl", "meta.function-call.abl", "support.function.abl"] }, // 'string'
941
- { "startIndex": 32, "endIndex": 33, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
942
- { "startIndex": 33, "endIndex": 51, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'event-handler-name'
943
- { "startIndex": 51, "endIndex": 52, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "punctuation.separator.colon.abl"] }, // ':'
944
- { "startIndex": 52, "endIndex": 58, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "entity.name.function.abl"] }, // 'Method'
945
- { "startIndex": 58, "endIndex": 59, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
946
- { "startIndex": 59, "endIndex": 60, "scopes": ["source.abl", "meta.function-call.abl", "meta.brace.round.js"] }, // ')'
836
+ { "startIndex": 25, "endIndex": 26, "scopes": ["source.abl"] }, // ' '
837
+ { "startIndex": 26, "endIndex": 32, "scopes": ["source.abl", "support.function.abl"] }, // 'string'
838
+ { "startIndex": 32, "endIndex": 33, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
839
+ { "startIndex": 33, "endIndex": 51, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'event-handler-name'
840
+ { "startIndex": 51, "endIndex": 52, "scopes": ["source.abl", "meta.function.arguments.abl", "punctuation.separator.colon.abl"] }, // ':'
841
+ { "startIndex": 52, "endIndex": 58, "scopes": ["source.abl", "meta.function.arguments.abl", "entity.name.function.abl"] }, // 'Method'
842
+ { "startIndex": 58, "endIndex": 59, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
843
+ { "startIndex": 59, "endIndex": 60, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
947
844
  { "startIndex": 60, "endIndex": 61, "scopes": ["source.abl", "meta.brace.round.js"] } // ')'
948
845
  ],
949
846
  [
@@ -9,13 +9,13 @@ describe('', () => {
9
9
  let expectedTokens = [
10
10
  [
11
11
  { "startIndex": 0, "endIndex": 2, "scopes": ["source.abl", "keyword.other.abl"] }, // 'if'
12
- { "startIndex": 2, "endIndex": 3, "scopes": ["source.abl", "meta.function-call.abl"] }, // ' '
13
- { "startIndex": 3, "endIndex": 15, "scopes": ["source.abl", "meta.function-call.abl", "support.function.abl"] }, // 'valid-object'
14
- { "startIndex": 15, "endIndex": 16, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
15
- { "startIndex": 16, "endIndex": 26, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'oEventArgs'
16
- { "startIndex": 26, "endIndex": 27, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "punctuation.separator.colon.abl"] }, // ':'
17
- { "startIndex": 27, "endIndex": 39, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "entity.name.function.abl"] }, // 'ResponseBody'
18
- { "startIndex": 39, "endIndex": 40, "scopes": ["source.abl", "meta.function-call.abl", "meta.brace.round.js"] }, // ')'
12
+ { "startIndex": 2, "endIndex": 3, "scopes": ["source.abl"] }, // ' '
13
+ { "startIndex": 3, "endIndex": 15, "scopes": ["source.abl", "support.function.abl"] }, // 'valid-object'
14
+ { "startIndex": 15, "endIndex": 16, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
15
+ { "startIndex": 16, "endIndex": 26, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'oEventArgs'
16
+ { "startIndex": 26, "endIndex": 27, "scopes": ["source.abl", "meta.function.arguments.abl", "punctuation.separator.colon.abl"] }, // ':'
17
+ { "startIndex": 27, "endIndex": 39, "scopes": ["source.abl", "meta.function.arguments.abl", "entity.name.function.abl"] }, // 'ResponseBody'
18
+ { "startIndex": 39, "endIndex": 40, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
19
19
  { "startIndex": 40, "endIndex": 41, "scopes": ["source.abl"] }, // ' '
20
20
  { "startIndex": 41, "endIndex": 45, "scopes": ["source.abl", "keyword.other.abl"] } // 'then'
21
21
  ],
@@ -54,56 +54,3 @@ DirChar = if opsys begins 'win':u then '\\':u else '/':u.`;
54
54
  ];
55
55
  shared.itShouldMatchExpectedScopes(statement, expectedTokens);
56
56
  })
57
- describe('', () => {
58
- let statement =
59
- `def var DirChar as char no-undo.
60
- DirChar = if opsys begins "win":u then "\\":u else "/":u.`;
61
- let expectedTokens = [
62
- [
63
- { "startIndex": 0, "endIndex": 3, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] }, // 'def'
64
- { "startIndex": 3, "endIndex": 4, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
65
- { "startIndex": 4, "endIndex": 7, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] }, // 'var'
66
- { "startIndex": 7, "endIndex": 8, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
67
- { "startIndex": 8, "endIndex": 15, "scopes": ["source.abl", "meta.define.abl", "variable.other.abl"] }, // 'DirChar'
68
- { "startIndex": 15, "endIndex": 16, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
69
- { "startIndex": 16, "endIndex": 18, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] }, // 'as'
70
- { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
71
- { "startIndex": 19, "endIndex": 23, "scopes": ["source.abl", "meta.define.abl", "storage.type.abl"] }, // 'char'
72
- { "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
73
- { "startIndex": 24, "endIndex": 31, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] }, // 'no-undo'
74
- { "startIndex": 31, "endIndex": 32, "scopes": ["source.abl", "meta.define.abl", "punctuation.terminator.abl"] } // '.'
75
- ],
76
- [
77
- { "startIndex": 0, "endIndex": 7, "scopes": ["source.abl", "variable.other.abl"] }, // 'DirChar'
78
- { "startIndex": 7, "endIndex": 8, "scopes": ["source.abl"] }, // ' '
79
- { "startIndex": 8, "endIndex": 9, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
80
- { "startIndex": 9, "endIndex": 10, "scopes": ["source.abl"] }, // ' '
81
- { "startIndex": 10, "endIndex": 12, "scopes": ["source.abl", "keyword.other.abl"] }, // 'if'
82
- { "startIndex": 12, "endIndex": 13, "scopes": ["source.abl"] }, // ' '
83
- { "startIndex": 13, "endIndex": 18, "scopes": ["source.abl", "support.function.abl"] }, // 'opsys'
84
- { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl"] }, // ' '
85
- { "startIndex": 19, "endIndex": 25, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // 'begins'
86
- { "startIndex": 25, "endIndex": 26, "scopes": ["source.abl"] }, // ' '
87
- { "startIndex": 26, "endIndex": 27, "scopes": ["source.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
88
- { "startIndex": 27, "endIndex": 30, "scopes": ["source.abl", "string.quoted.double.abl"] }, // 'win'
89
- { "startIndex": 30, "endIndex": 31, "scopes": ["source.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
90
- { "startIndex": 31, "endIndex": 33, "scopes": ["source.abl", "string.quoted.double.abl", "support.other.abl"] }, // ':u'
91
- { "startIndex": 33, "endIndex": 34, "scopes": ["source.abl"] }, // ' '
92
- { "startIndex": 34, "endIndex": 38, "scopes": ["source.abl", "keyword.other.abl"] }, // 'then'
93
- { "startIndex": 38, "endIndex": 39, "scopes": ["source.abl"] }, // ' '
94
- { "startIndex": 39, "endIndex": 40, "scopes": ["source.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
95
- { "startIndex": 40, "endIndex": 41, "scopes": ["source.abl", "string.quoted.double.abl"] }, // '\'
96
- { "startIndex": 41, "endIndex": 42, "scopes": ["source.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
97
- { "startIndex": 42, "endIndex": 44, "scopes": ["source.abl", "string.quoted.double.abl", "support.other.abl"] }, // ':u'
98
- { "startIndex": 44, "endIndex": 45, "scopes": ["source.abl"] }, // ' '
99
- { "startIndex": 45, "endIndex": 49, "scopes": ["source.abl", "keyword.other.abl"] }, // 'else'
100
- { "startIndex": 49, "endIndex": 50, "scopes": ["source.abl"] }, // ' '
101
- { "startIndex": 50, "endIndex": 51, "scopes": ["source.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
102
- { "startIndex": 51, "endIndex": 52, "scopes": ["source.abl", "string.quoted.double.abl"] }, // '/'
103
- { "startIndex": 52, "endIndex": 53, "scopes": ["source.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
104
- { "startIndex": 53, "endIndex": 55, "scopes": ["source.abl", "string.quoted.double.abl", "support.other.abl"] }, // ':u'
105
- { "startIndex": 55, "endIndex": 56, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
106
- ]
107
- ];
108
- shared.itShouldMatchExpectedScopes(statement, expectedTokens);
109
- })
@@ -4,22 +4,22 @@ const shared = require('../shared.js');
4
4
  describe('', () => {
5
5
  let statement = `replace("123", "1", ")"). message 1.`;
6
6
  let expectedTokens = [
7
- { "startIndex": 0, "endIndex": 7, "scopes": ["source.abl", "meta.function-call.abl", "support.function.abl"] }, // 'replace'
8
- { "startIndex": 7, "endIndex": 8, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
9
- { "startIndex": 8, "endIndex": 9, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
10
- { "startIndex": 9, "endIndex": 12, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl"] }, // '123'
11
- { "startIndex": 12, "endIndex": 13, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
12
- { "startIndex": 13, "endIndex": 14, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "punctuation.separator.comma.abl"] }, // ','
13
- { "startIndex": 14, "endIndex": 15, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl"] }, // ' '
14
- { "startIndex": 15, "endIndex": 16, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
15
- { "startIndex": 16, "endIndex": 17, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl"] }, // '1'
16
- { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
17
- { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "punctuation.separator.comma.abl"] }, // ','
18
- { "startIndex": 19, "endIndex": 20, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl"] }, // ' '
19
- { "startIndex": 20, "endIndex": 21, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
20
- { "startIndex": 21, "endIndex": 22, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl"] }, // ')'
21
- { "startIndex": 22, "endIndex": 23, "scopes": ["source.abl", "meta.function-call.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
22
- { "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "meta.function-call.abl", "meta.brace.round.js"] }, // ')'
7
+ { "startIndex": 0, "endIndex": 7, "scopes": ["source.abl", "support.function.abl"] }, // 'replace'
8
+ { "startIndex": 7, "endIndex": 8, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
9
+ { "startIndex": 8, "endIndex": 9, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
10
+ { "startIndex": 9, "endIndex": 12, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl"] }, // '123'
11
+ { "startIndex": 12, "endIndex": 13, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
12
+ { "startIndex": 13, "endIndex": 14, "scopes": ["source.abl", "meta.function.arguments.abl", "punctuation.separator.comma.abl"] }, // ','
13
+ { "startIndex": 14, "endIndex": 15, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
14
+ { "startIndex": 15, "endIndex": 16, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
15
+ { "startIndex": 16, "endIndex": 17, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl"] }, // '1'
16
+ { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
17
+ { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl", "meta.function.arguments.abl", "punctuation.separator.comma.abl"] }, // ','
18
+ { "startIndex": 19, "endIndex": 20, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
19
+ { "startIndex": 20, "endIndex": 21, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
20
+ { "startIndex": 21, "endIndex": 22, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl"] }, // ')'
21
+ { "startIndex": 22, "endIndex": 23, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
22
+ { "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
23
23
  { "startIndex": 24, "endIndex": 25, "scopes": ["source.abl", "punctuation.terminator.abl"] }, // '.'
24
24
  { "startIndex": 25, "endIndex": 26, "scopes": ["source.abl"] }, // ' '
25
25
  { "startIndex": 26, "endIndex": 33, "scopes": ["source.abl", "keyword.other.abl"] }, // 'message'
@@ -6,7 +6,7 @@ describe('', () => {
6
6
  let statement = `new foo.bar(y, foo.bar.baz:Property) `;
7
7
 
8
8
  let expectedTokens = [
9
- { "startIndex": 0, "endIndex": 3, "scopes": ["source.abl", "keyword.other.abl"] }, // 'new'
9
+ { "startIndex": 0, "endIndex": 3, "scopes": ["source.abl", "support.function.abl"] }, // 'new'
10
10
  { "startIndex": 3, "endIndex": 4, "scopes": ["source.abl"] }, // ' '
11
11
  { "startIndex": 4, "endIndex": 11, "scopes": ["source.abl", "entity.name.type.abl"] }, // 'foo.bar'
12
12
  { "startIndex": 11, "endIndex": 12, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
@@ -25,7 +25,7 @@ describe('', () => {
25
25
  describe('', () => {
26
26
  let statement = `new foo.bar("y":L9, new foo.bar.baz()) `;
27
27
  let expectedTokens = [
28
- { "startIndex": 0, "endIndex": 3, "scopes": ["source.abl", "keyword.other.abl"] }, // 'new'
28
+ { "startIndex": 0, "endIndex": 3, "scopes": ["source.abl", "support.function.abl"] }, // 'new'
29
29
  { "startIndex": 3, "endIndex": 4, "scopes": ["source.abl"] }, // ' '
30
30
  { "startIndex": 4, "endIndex": 11, "scopes": ["source.abl", "entity.name.type.abl"] }, // 'foo.bar'
31
31
  { "startIndex": 11, "endIndex": 12, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
@@ -35,7 +35,7 @@ describe('', () => {
35
35
  { "startIndex": 15, "endIndex": 18, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "support.other.abl"] }, // ':L9'
36
36
  { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl", "meta.function.arguments.abl", "punctuation.separator.comma.abl"] }, // ','
37
37
  { "startIndex": 19, "endIndex": 20, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
38
- { "startIndex": 20, "endIndex": 23, "scopes": ["source.abl", "meta.function.arguments.abl", "keyword.other.abl"] }, // 'new'
38
+ { "startIndex": 20, "endIndex": 23, "scopes": ["source.abl", "meta.function.arguments.abl", "support.function.abl"] }, // 'new'
39
39
  { "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
40
40
  { "startIndex": 24, "endIndex": 35, "scopes": ["source.abl", "meta.function.arguments.abl", "entity.name.type.abl"] }, // 'foo.bar.baz'
41
41
  { "startIndex": 35, "endIndex": 36, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
@@ -54,7 +54,7 @@ describe('', () => {
54
54
  { "startIndex": 1, "endIndex": 2, "scopes": ["source.abl"] }, // ' '
55
55
  { "startIndex": 2, "endIndex": 3, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
56
56
  { "startIndex": 3, "endIndex": 4, "scopes": ["source.abl"] }, // ' '
57
- { "startIndex": 4, "endIndex": 7, "scopes": ["source.abl", "keyword.other.abl"] }, // 'new'
57
+ { "startIndex": 4, "endIndex": 7, "scopes": ["source.abl", "support.function.abl"] }, // 'new'
58
58
  { "startIndex": 7, "endIndex": 8, "scopes": ["source.abl"] }, // ' '
59
59
  { "startIndex": 8, "endIndex": 11, "scopes": ["source.abl", "entity.name.type.abl"] }, // 'baz'
60
60
  { "startIndex": 11, "endIndex": 12, "scopes": ["source.abl"] }, // ' '
@@ -62,10 +62,10 @@ describe('', () => {
62
62
  { "startIndex": 13, "endIndex": 17, "scopes": ["source.abl", "meta.function.arguments.abl", "constant.language.abl"] }, // 'true'
63
63
  { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.function.arguments.abl", "punctuation.separator.comma.abl"] }, // ','
64
64
  { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
65
- { "startIndex": 19, "endIndex": 24, "scopes": ["source.abl", "meta.function.arguments.abl", "constant.language.abl"] }, // 'today'
65
+ { "startIndex": 19, "endIndex": 24, "scopes": ["source.abl", "meta.function.arguments.abl", "support.function.abl"] }, // 'today'
66
66
  { "startIndex": 24, "endIndex": 25, "scopes": ["source.abl", "meta.function.arguments.abl", "punctuation.separator.comma.abl"] }, // ','
67
67
  { "startIndex": 25, "endIndex": 26, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
68
- { "startIndex": 26, "endIndex": 29, "scopes": ["source.abl", "meta.function.arguments.abl", "constant.language.abl"] }, // 'now'
68
+ { "startIndex": 26, "endIndex": 29, "scopes": ["source.abl", "meta.function.arguments.abl", "support.function.abl"] }, // 'now'
69
69
  { "startIndex": 29, "endIndex": 30, "scopes": ["source.abl", "meta.function.arguments.abl", "punctuation.separator.comma.abl"] }, // ','
70
70
  { "startIndex": 30, "endIndex": 31, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
71
71
  { "startIndex": 31, "endIndex": 32, "scopes": ["source.abl", "meta.function.arguments.abl", "constant.language.abl"] }, // '?'
@@ -74,7 +74,6 @@ describe('', () => {
74
74
  { "startIndex": 34, "endIndex": 37, "scopes": ["source.abl", "meta.function.arguments.abl", "constant.numeric.source.abl"] }, // '-12'
75
75
  { "startIndex": 37, "endIndex": 38, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
76
76
  { "startIndex": 38, "endIndex": 39, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
77
-
78
77
  ];
79
78
  shared.itShouldMatchExpectedScopes(statement, expectedTokens);
80
79
  })
@@ -38,7 +38,7 @@ describe('', () => {
38
38
  ],
39
39
  [
40
40
  { "startIndex": 0, "endIndex": 5, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
41
- { "startIndex": 5, "endIndex": 11, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] }, // 'return'
41
+ { "startIndex": 5, "endIndex": 11, "scopes": ["source.abl", "meta.define.abl", "support.function.abl"] }, // 'return'
42
42
  { "startIndex": 11, "endIndex": 12, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
43
43
  { "startIndex": 12, "endIndex": 23, "scopes": ["source.abl", "meta.define.abl", "variable.language.abl"] }, // 'this-object'
44
44
  { "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "meta.define.abl", "punctuation.separator.colon.abl"] }, // ':'
@@ -94,7 +94,7 @@ describe('', () => {
94
94
  { "startIndex": 20, "endIndex": 21, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
95
95
  { "startIndex": 21, "endIndex": 25, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] }, // 'init'
96
96
  { "startIndex": 25, "endIndex": 26, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
97
- { "startIndex": 26, "endIndex": 31, "scopes": ["source.abl", "meta.define.abl", "constant.language.abl"] } // 'today'
97
+ { "startIndex": 26, "endIndex": 31, "scopes": ["source.abl", "meta.define.abl", "support.function.abl"] } // 'today'
98
98
  ],
99
99
  [
100
100
  { "startIndex": 0, "endIndex": 4, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
@@ -184,7 +184,7 @@ describe('', () => {
184
184
  { "startIndex": 20, "endIndex": 21, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
185
185
  { "startIndex": 21, "endIndex": 25, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] }, // 'init'
186
186
  { "startIndex": 25, "endIndex": 26, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
187
- { "startIndex": 26, "endIndex": 31, "scopes": ["source.abl", "meta.define.abl", "constant.language.abl"] } // 'today'
187
+ { "startIndex": 26, "endIndex": 31, "scopes": ["source.abl", "meta.define.abl", "support.function.abl"] } // 'today'
188
188
  ],
189
189
  [
190
190
  { "startIndex": 0, "endIndex": 4, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
@@ -276,7 +276,7 @@ describe('', () => {
276
276
  { "startIndex": 20, "endIndex": 21, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
277
277
  { "startIndex": 21, "endIndex": 25, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] }, // 'init'
278
278
  { "startIndex": 25, "endIndex": 26, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
279
- { "startIndex": 26, "endIndex": 31, "scopes": ["source.abl", "meta.define.abl", "constant.language.abl"] } // 'today'
279
+ { "startIndex": 26, "endIndex": 31, "scopes": ["source.abl", "meta.define.abl", "support.function.abl"] } // 'today'
280
280
  ],
281
281
  [
282
282
  { "startIndex": 0, "endIndex": 4, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
@@ -394,7 +394,7 @@ describe('', () => {
394
394
  { "startIndex": 20, "endIndex": 21, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
395
395
  { "startIndex": 21, "endIndex": 25, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] }, // 'init'
396
396
  { "startIndex": 25, "endIndex": 26, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
397
- { "startIndex": 26, "endIndex": 31, "scopes": ["source.abl", "meta.define.abl", "constant.language.abl"] }, // 'today'
397
+ { "startIndex": 26, "endIndex": 31, "scopes": ["source.abl", "meta.define.abl", "support.function.abl"] }, // 'today'
398
398
  { "startIndex": 31, "endIndex": 32, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
399
399
  { "startIndex": 32, "endIndex": 38, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] }, // 'extent'
400
400
  { "startIndex": 38, "endIndex": 39, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
@@ -179,7 +179,7 @@ describe('', () => {
179
179
  ],
180
180
  [
181
181
  { "startIndex": 0, "endIndex": 5, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
182
- { "startIndex": 5, "endIndex": 11, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] }, // 'return'
182
+ { "startIndex": 5, "endIndex": 11, "scopes": ["source.abl", "meta.define.abl", "support.function.abl"] }, // 'return'
183
183
  { "startIndex": 11, "endIndex": 12, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
184
184
  { "startIndex": 12, "endIndex": 23, "scopes": ["source.abl", "meta.define.abl", "variable.language.abl"] }, // 'this-object'
185
185
  { "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "meta.define.abl", "punctuation.separator.colon.abl"] }, // ':'
@@ -170,7 +170,7 @@ describe('', () => {
170
170
  { "startIndex": 69, "endIndex": 70, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
171
171
  { "startIndex": 70, "endIndex": 77, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] }, // 'initial'
172
172
  { "startIndex": 77, "endIndex": 78, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
173
- { "startIndex": 78, "endIndex": 81, "scopes": ["source.abl", "meta.define.abl", "constant.language.abl"] }, // 'now'
173
+ { "startIndex": 78, "endIndex": 81, "scopes": ["source.abl", "meta.define.abl", "support.function.abl"] }, // 'now'
174
174
  { "startIndex": 81, "endIndex": 82, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
175
175
  { "startIndex": 82, "endIndex": 89, "scopes": ["source.abl", "meta.define.abl", "keyword.other.abl"] } // 'no-undo'
176
176
  ],
@@ -11,7 +11,7 @@ describe('', () => {
11
11
  { "startIndex": 8, "endIndex": 9, "scopes": ["source.abl"] }, // ' '
12
12
  { "startIndex": 9, "endIndex": 10, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
13
13
  { "startIndex": 10, "endIndex": 11, "scopes": ["source.abl"] }, // ' '
14
- { "startIndex": 11, "endIndex": 14, "scopes": ["source.abl", "keyword.other.abl"] }, // 'NEW'
14
+ { "startIndex": 11, "endIndex": 14, "scopes": ["source.abl", "support.function.abl"] }, // 'NEW'
15
15
  { "startIndex": 14, "endIndex": 15, "scopes": ["source.abl"] }, // ' '
16
16
  { "startIndex": 15, "endIndex": 26, "scopes": ["source.abl", "entity.name.type.abl"] }, // 'foo.bar.baz'
17
17
  { "startIndex": 26, "endIndex": 27, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
@@ -30,7 +30,7 @@ describe('', () => {
30
30
  { "startIndex": 8, "endIndex": 9, "scopes": ["source.abl"] }, // ' '
31
31
  { "startIndex": 9, "endIndex": 10, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
32
32
  { "startIndex": 10, "endIndex": 11, "scopes": ["source.abl"] }, // ' '
33
- { "startIndex": 11, "endIndex": 14, "scopes": ["source.abl", "keyword.other.abl"] }, // 'NEW'
33
+ { "startIndex": 11, "endIndex": 14, "scopes": ["source.abl", "support.function.abl"] }, // 'NEW'
34
34
  { "startIndex": 14, "endIndex": 15, "scopes": ["source.abl"] }, // ' '
35
35
  { "startIndex": 15, "endIndex": 26, "scopes": ["source.abl", "entity.name.type.abl"] }, // 'foo.bar.baz'
36
36
  { "startIndex": 26, "endIndex": 27, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
@@ -53,7 +53,7 @@ describe('', () => {
53
53
  { "startIndex": 11, "endIndex": 12, "scopes": ["source.abl"] }, // ' '
54
54
  { "startIndex": 12, "endIndex": 13, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
55
55
  { "startIndex": 13, "endIndex": 14, "scopes": ["source.abl"] }, // ' '
56
- { "startIndex": 14, "endIndex": 17, "scopes": ["source.abl", "keyword.other.abl"] }, // 'NEW'
56
+ { "startIndex": 14, "endIndex": 17, "scopes": ["source.abl", "support.function.abl"] }, // 'NEW'
57
57
  { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl"] }, // ' '
58
58
  { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
59
59
  { "startIndex": 19, "endIndex": 30, "scopes": ["source.abl", "string.quoted.double.abl"] }, // 'foo.bar.baz'
@@ -80,7 +80,7 @@ describe('', () => {
80
80
  { "startIndex": 11, "endIndex": 12, "scopes": ["source.abl"] }, // ' '
81
81
  { "startIndex": 12, "endIndex": 13, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
82
82
  { "startIndex": 13, "endIndex": 14, "scopes": ["source.abl"] }, // ' '
83
- { "startIndex": 14, "endIndex": 17, "scopes": ["source.abl", "keyword.other.abl"] }, // 'NEW'
83
+ { "startIndex": 14, "endIndex": 17, "scopes": ["source.abl", "support.function.abl"] }, // 'NEW'
84
84
  { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.generic.abl"] }, // ' '
85
85
  { "startIndex": 18, "endIndex": 23, "scopes": ["source.abl", "meta.generic.abl", "entity.name.type.abl"] }, // 'List '
86
86
  { "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "meta.generic.abl", "punctuation.definition.generic.begin.abl"] }, // '<'
@@ -106,7 +106,7 @@ describe('', () => {
106
106
  { "startIndex": 11, "endIndex": 12, "scopes": ["source.abl"] }, // ' '
107
107
  { "startIndex": 12, "endIndex": 13, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
108
108
  { "startIndex": 13, "endIndex": 14, "scopes": ["source.abl"] }, // ' '
109
- { "startIndex": 14, "endIndex": 17, "scopes": ["source.abl", "keyword.other.abl"] }, // 'NEW'
109
+ { "startIndex": 14, "endIndex": 17, "scopes": ["source.abl", "support.function.abl"] }, // 'NEW'
110
110
  { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.generic.abl"] }, // ' '
111
111
  { "startIndex": 18, "endIndex": 43, "scopes": ["source.abl", "meta.generic.abl", "entity.name.type.abl"] }, // 'Progress.Collections.List'
112
112
  { "startIndex": 43, "endIndex": 44, "scopes": ["source.abl", "meta.generic.abl", "punctuation.definition.generic.begin.abl"] }, // '<'
@@ -114,7 +114,7 @@ describe('', () => {
114
114
  { "startIndex": 50, "endIndex": 51, "scopes": ["source.abl", "meta.generic.abl", "punctuation.definition.generic.end.abl"] }, // '>'
115
115
  { "startIndex": 51, "endIndex": 52, "scopes": ["source.abl"] }, // ' '
116
116
  { "startIndex": 52, "endIndex": 53, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
117
- { "startIndex": 53, "endIndex": 56, "scopes": ["source.abl", "meta.function.arguments.abl", "keyword.other.abl"] }, // 'new'
117
+ { "startIndex": 53, "endIndex": 56, "scopes": ["source.abl", "meta.function.arguments.abl", "support.function.abl"] }, // 'new'
118
118
  { "startIndex": 56, "endIndex": 57, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
119
119
  { "startIndex": 57, "endIndex": 65, "scopes": ["source.abl", "meta.function.arguments.abl", "entity.name.type.abl"] }, // 'Comparer'
120
120
  { "startIndex": 65, "endIndex": 66, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
@@ -134,7 +134,7 @@ describe('', () => {
134
134
  { "startIndex": 11, "endIndex": 12, "scopes": ["source.abl"] }, // ' '
135
135
  { "startIndex": 12, "endIndex": 13, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
136
136
  { "startIndex": 13, "endIndex": 14, "scopes": ["source.abl"] }, // ' '
137
- { "startIndex": 14, "endIndex": 17, "scopes": ["source.abl", "keyword.other.abl"] }, // 'new'
137
+ { "startIndex": 14, "endIndex": 17, "scopes": ["source.abl", "support.function.abl"] }, // 'new'
138
138
  { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.generic.abl"] }, // ' '
139
139
  { "startIndex": 18, "endIndex": 21, "scopes": ["source.abl", "meta.generic.abl", "entity.name.type.abl"] }, // 'Map'
140
140
  { "startIndex": 21, "endIndex": 22, "scopes": ["source.abl", "meta.generic.abl", "punctuation.definition.generic.begin.abl"] }, // '<'
@@ -167,7 +167,7 @@ describe('', () => {
167
167
  { "startIndex": 11, "endIndex": 12, "scopes": ["source.abl"] }, // ' '
168
168
  { "startIndex": 12, "endIndex": 13, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
169
169
  { "startIndex": 13, "endIndex": 14, "scopes": ["source.abl"] }, // ' '
170
- { "startIndex": 14, "endIndex": 17, "scopes": ["source.abl", "keyword.other.abl"] }, // 'new'
170
+ { "startIndex": 14, "endIndex": 17, "scopes": ["source.abl", "support.function.abl"] }, // 'new'
171
171
  { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.generic.abl"] }, // ' '
172
172
  { "startIndex": 18, "endIndex": 23, "scopes": ["source.abl", "meta.generic.abl", "entity.name.type.abl"] }, // 'Tuple'
173
173
  { "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "meta.generic.abl", "punctuation.definition.generic.begin.abl"] }, // '<'