abl-tmlanguage 1.3.6 → 1.3.8

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.
@@ -4,7 +4,7 @@
4
4
  # https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
5
5
 
6
6
  trigger:
7
- - master
7
+ - main
8
8
 
9
9
  pool:
10
10
  vmImage: 'ubuntu-22.04'
@@ -21,7 +21,7 @@ steps:
21
21
  displayName: 'running tests'
22
22
 
23
23
  - task: Npm@1
24
- condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
24
+ condition: eq(variables['Build.SourceBranch'], 'refs/heads/main')
25
25
  inputs:
26
26
  command: 'publish'
27
27
  customRegistry: 'useFeed'
package/index.js CHANGED
@@ -39,23 +39,47 @@ const re = /(?:\w|-|\()+(?=\s|$)/g
39
39
  // appropriate scopes
40
40
  let alsoStatements = [];
41
41
  alsoStatements.push('ambiguous');
42
+ alsoStatements.push('auto-go');
42
43
  alsoStatements.push('available');
44
+ alsoStatements.push('bgcolor');
43
45
  alsoStatements.push('centered');
46
+ alsoStatements.push('context-help-id');
47
+ alsoStatements.push('dcolor');
48
+ alsoStatements.push('default');
44
49
  alsoStatements.push('delete');
50
+ alsoStatements.push('delimiter');
51
+ alsoStatements.push('drop-target');
52
+ alsoStatements.push('fgcolor');
45
53
  alsoStatements.push('first');
54
+ alsoStatements.push('flat-button');
55
+ alsoStatements.push('font');
46
56
  alsoStatements.push('format');
57
+ alsoStatements.push('image-down');
58
+ alsoStatements.push('image-up');
59
+ alsoStatements.push('image-insensitive');
47
60
  alsoStatements.push('initial');
61
+ alsoStatements.push('foreign-key-hidden');
48
62
  alsoStatements.push('label');
49
63
  alsoStatements.push('locked');
64
+ alsoStatements.push('mouse-pointer');
50
65
  alsoStatements.push('namespace-prefix');
51
66
  alsoStatements.push('namespace-uri');
52
67
  alsoStatements.push('nested');
68
+ alsoStatements.push('no-focus');
69
+ alsoStatements.push('pfcolor');
70
+ alsoStatements.push('recursive');
53
71
  alsoStatements.push('return-value');
54
72
  alsoStatements.push('row');
73
+ alsoStatements.push('serialize-hidden');
55
74
  alsoStatements.push('serialize-name');
56
75
  alsoStatements.push('single-run');
76
+ alsoStatements.push('tooltip');
57
77
  alsoStatements.push('transaction');
78
+ alsoStatements.push('view-as');
79
+ alsoStatements.push('warning');
80
+ alsoStatements.push('xml-data-type');
58
81
  alsoStatements.push('xml-node-name');
82
+ alsoStatements.push('xml-node-type');
59
83
 
60
84
  let functionsNotStatements = [];
61
85
  functionsNotStatements.push('set-size');
@@ -64,6 +88,7 @@ let alsoFunctions = [];
64
88
  alsoFunctions.push('lower');
65
89
  alsoFunctions.push('relation-fields');
66
90
  alsoFunctions.push('return');
91
+ alsoFunctions.push('skip');
67
92
  alsoFunctions.push('substitute');
68
93
  alsoFunctions.push('this-object');
69
94
  alsoFunctions.push('value');
@@ -72,28 +97,30 @@ lineReaderMethods.on('line', line => {
72
97
  let results;
73
98
  line = line.toLowerCase();
74
99
 
75
- let kw = line.split(' ');
76
- let charIdx = kw[0].charCodeAt(0) - 97;
77
- let keyWord = kw[0].split('(')[0];
100
+ if (!line.startsWith("#")) {
101
+ let kw = line.split(' ');
102
+ let charIdx = kw[0].charCodeAt(0) - 97;
103
+ let keyWord = kw[0].split('(')[0];
78
104
 
79
- if (kw.includes('attribute')) {
80
- if (!attributeBlocks[charIdx].includes(keyWord)) {
81
- attributeBlocks[charIdx].push(keyWord);
82
- }
83
- } else if (kw.includes('method')) {
84
- if (!methodBlocks[charIdx].includes(keyWord)) {
85
- methodBlocks[charIdx].push(keyWord);
105
+ if (kw.includes('attribute')) {
106
+ if (!attributeBlocks[charIdx].includes(keyWord)) {
107
+ attributeBlocks[charIdx].push(keyWord);
108
+ }
109
+ } else if (kw.includes('method')) {
110
+ if (!methodBlocks[charIdx].includes(keyWord)) {
111
+ methodBlocks[charIdx].push(keyWord);
112
+ }
86
113
  }
87
- }
88
114
 
89
- if (alsoStatements.includes(keyWord)) {
90
- if (!keywordBlocks[charIdx].includes(keyWord)) {
91
- keywordBlocks[charIdx].push(keyWord);
115
+ if (alsoStatements.includes(keyWord)) {
116
+ if (!keywordBlocks[charIdx].includes(keyWord)) {
117
+ keywordBlocks[charIdx].push(keyWord);
118
+ }
92
119
  }
93
- }
94
- if (alsoFunctions.includes(keyWord)) {
95
- if (!functionBlocks[charIdx].includes(keyWord)) {
96
- functionBlocks[charIdx].push(keyWord);
120
+ if (alsoFunctions.includes(keyWord)) {
121
+ if (!functionBlocks[charIdx].includes(keyWord)) {
122
+ functionBlocks[charIdx].push(keyWord);
123
+ }
97
124
  }
98
125
  }
99
126
  });
@@ -102,7 +129,7 @@ lineReaderFunctions.on('line', line => {
102
129
  let results;
103
130
  line = line.toLowerCase();
104
131
 
105
- let kw = line.split(' ');
132
+ if (!line.startsWith("#")) {
106
133
 
107
134
  let kw = line.split(' ');
108
135
  let kwName = '';
@@ -115,10 +142,6 @@ lineReaderFunctions.on('line', line => {
115
142
  } else {
116
143
  kwName = kw.slice(0, kw.indexOf('function')).join(' ');
117
144
  }
118
- }
119
- } else if (kw.includes('statement')) {
120
- for (const keyWord of kw) {
121
- let charIdx = keyWord.charCodeAt(0) - 97;
122
145
 
123
146
  // CAPS letter alphabet
124
147
  let charIdx = kwName.charCodeAt(0) - 97;
@@ -157,39 +180,34 @@ lineReaderFunctions.on('line', line => {
157
180
  lineReaderKeywords.on('line', line => {
158
181
  let results;
159
182
  line = line.toLowerCase();
183
+ if (!line.startsWith("#")) {
184
+ while ((results = re.exec(line)) !== null) {
185
+ let kw = results[0];
186
+ // CAPS letter alphabet
187
+ let charIdx = kw.charCodeAt(0) - 97;
160
188
 
161
- while ((results = re.exec(line)) !== null) {
162
- let kw = results[0];
163
- // CAPS letter alphabet
164
- let charIdx = kw.charCodeAt(0) - 97;
165
-
166
- if (kw.indexOf('(') !== -1) {
167
- let kwParts = kw.split('(');
168
- let fullKw = kwParts[0] + kwParts[1];
189
+ if (kw.indexOf('(') !== -1) {
190
+ let kwParts = kw.split('(');
191
+ let fullKw = kwParts[0] + kwParts[1];
169
192
 
170
- kw = kwParts[0];
171
- addToBlock(charIdx, fullKw, kw);
193
+ kw = kwParts[0];
194
+ addToBlock(charIdx, fullKw, kw);
172
195
 
173
- let kwComplete = kwParts[1];
174
- for (const element of kwComplete) {
175
- kw += element;
196
+ let kwComplete = kwParts[1];
197
+ for (const element of kwComplete) {
198
+ kw += element;
176
199
 
177
- addToBlock(charIdx, fullKw, kw);
200
+ addToBlock(charIdx, fullKw, kw);
201
+ }
202
+ } else {
203
+ addToBlock(charIdx, kw, kw);
178
204
  }
179
- } else {
180
- addToBlock(charIdx, kw, kw);
181
205
  }
182
206
  }
183
207
  });
184
208
 
185
209
  function addToBlock(charIdx, fullKw, addKw) {
186
210
 
187
- if (alsoFunctions.includes(fullKw)) {
188
- if (!functionBlocks[charIdx].includes(addKw)) {
189
- functionBlocks[charIdx].push(addKw);
190
- }
191
- }
192
-
193
211
  if (attributeBlocks[charIdx].includes(fullKw)) {
194
212
  if (!attributeBlocks[charIdx].includes(addKw)) {
195
213
  attributeBlocks[charIdx].push(addKw);
@@ -207,6 +225,13 @@ function addToBlock(charIdx, fullKw, addKw) {
207
225
  keywordBlocks[charIdx].push(addKw);
208
226
  }
209
227
  }
228
+
229
+ if (alsoFunctions.includes(fullKw)) {
230
+ if (!functionBlocks[charIdx].includes(addKw)) {
231
+ functionBlocks[charIdx].push(addKw);
232
+ }
233
+ }
234
+
210
235
  }
211
236
 
212
237
  lineReaderKeywords.on('close', () => {
@@ -220,8 +245,8 @@ lineReaderKeywords.on('close', () => {
220
245
 
221
246
  result['keywords-' + String.fromCharCode(97 + zz).toUpperCase()] =
222
247
  {
223
- //match: "(?i)(?<![\\w\\-\\:\\.])(" + keywordBlocks[zz].sort(reverseSort).join('|') + ")(?![\\w\\-])",
224
- match: "(?i)\\b(" + keywordBlocks[zz].sort(reverseSort).join('|') + ")\\b",
248
+ comment: "The keyword must not have a trailing variable character (one of #$-_%&)",
249
+ match: "(?i)\\b(" + keywordBlocks[zz].sort(reverseSort).join('|') + ")\\b(?![\\#\\$\\-\\_\\%\\&])",
225
250
  captures: {
226
251
  1: {
227
252
  name: "keyword.other.abl"
@@ -240,7 +265,7 @@ lineReaderKeywords.on('close', () => {
240
265
 
241
266
  result['handle-attributes-' + String.fromCharCode(97 + zz).toUpperCase()] =
242
267
  {
243
- match: "(?i)(:)(" + attributeBlocks[zz].sort(reverseSort).join('|') + ")\\s*",
268
+ match: "(?i)(:)(" + attributeBlocks[zz].sort(reverseSort).join('|') + ")\\b(?![\\#\\$\\-\\_\\%\\&])",
244
269
  captures: {
245
270
  1: {
246
271
  name: "punctuation.separator.colon.abl"
@@ -331,4 +356,4 @@ function reverseSort(a, b) {
331
356
 
332
357
  // names are equal
333
358
  return 0;
334
- }
359
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abl-tmlanguage",
3
- "version": "1.3.6",
3
+ "version": "1.3.8",
4
4
  "description": "Textmate grammar for Progress OpenEdge ABL Language",
5
5
  "main": "",
6
6
  "repository": {
@@ -9,48 +9,48 @@ describe('', () => {
9
9
  let expectedTokens = [
10
10
  [
11
11
  { "startIndex": 0, "endIndex": 2, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'do'
12
- { "startIndex": 2, "endIndex": 3, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
13
- { "startIndex": 3, "endIndex": 5, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'on'
14
- { "startIndex": 5, "endIndex": 6, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
15
- { "startIndex": 6, "endIndex": 11, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'error'
16
- { "startIndex": 11, "endIndex": 13, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
17
- { "startIndex": 13, "endIndex": 17, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'undo'
12
+ { "startIndex": 2, "endIndex": 3, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
13
+ { "startIndex": 3, "endIndex": 5, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'on'
14
+ { "startIndex": 5, "endIndex": 6, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
15
+ { "startIndex": 6, "endIndex": 11, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'error'
16
+ { "startIndex": 11, "endIndex": 13, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
17
+ { "startIndex": 13, "endIndex": 17, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'undo'
18
18
  { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.block.abl", "punctuation.separator.comma.abl"] }, // ','
19
- { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
20
- { "startIndex": 19, "endIndex": 24, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] } // 'leave'
19
+ { "startIndex": 18, "endIndex": 19, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
20
+ { "startIndex": 19, "endIndex": 24, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] } // 'leave'
21
21
  ],
22
22
  [
23
- { "startIndex": 0, "endIndex": 2, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
24
- { "startIndex": 2, "endIndex": 4, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'on'
25
- { "startIndex": 4, "endIndex": 5, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
26
- { "startIndex": 5, "endIndex": 11, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'endkey'
27
- { "startIndex": 11, "endIndex": 12, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
28
- { "startIndex": 12, "endIndex": 16, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'undo'
23
+ { "startIndex": 0, "endIndex": 2, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
24
+ { "startIndex": 2, "endIndex": 4, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'on'
25
+ { "startIndex": 4, "endIndex": 5, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
26
+ { "startIndex": 5, "endIndex": 11, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'endkey'
27
+ { "startIndex": 11, "endIndex": 12, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
28
+ { "startIndex": 12, "endIndex": 16, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'undo'
29
29
  { "startIndex": 16, "endIndex": 17, "scopes": ["source.abl", "meta.block.abl", "punctuation.separator.comma.abl"] }, // ','
30
- { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
31
- { "startIndex": 18, "endIndex": 23, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] } // 'leave'
30
+ { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
31
+ { "startIndex": 18, "endIndex": 23, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] } // 'leave'
32
32
  ],
33
33
  [
34
- { "startIndex": 0, "endIndex": 2, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
35
- { "startIndex": 2, "endIndex": 4, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'on'
36
- { "startIndex": 4, "endIndex": 5, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
37
- { "startIndex": 5, "endIndex": 9, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'stop'
38
- { "startIndex": 9, "endIndex": 12, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
39
- { "startIndex": 12, "endIndex": 16, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'undo'
34
+ { "startIndex": 0, "endIndex": 2, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
35
+ { "startIndex": 2, "endIndex": 4, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'on'
36
+ { "startIndex": 4, "endIndex": 5, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
37
+ { "startIndex": 5, "endIndex": 9, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'stop'
38
+ { "startIndex": 9, "endIndex": 12, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
39
+ { "startIndex": 12, "endIndex": 16, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'undo'
40
40
  { "startIndex": 16, "endIndex": 17, "scopes": ["source.abl", "meta.block.abl", "punctuation.separator.comma.abl"] }, // ','
41
- { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
42
- { "startIndex": 18, "endIndex": 23, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] } // 'leave'
41
+ { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
42
+ { "startIndex": 18, "endIndex": 23, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] } // 'leave'
43
43
  ],
44
44
  [
45
- { "startIndex": 0, "endIndex": 2, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
46
- { "startIndex": 2, "endIndex": 4, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'on'
47
- { "startIndex": 4, "endIndex": 5, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
48
- { "startIndex": 5, "endIndex": 9, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'quit'
49
- { "startIndex": 9, "endIndex": 12, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
50
- { "startIndex": 12, "endIndex": 16, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'undo'
45
+ { "startIndex": 0, "endIndex": 2, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
46
+ { "startIndex": 2, "endIndex": 4, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'on'
47
+ { "startIndex": 4, "endIndex": 5, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
48
+ { "startIndex": 5, "endIndex": 9, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'quit'
49
+ { "startIndex": 9, "endIndex": 12, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
50
+ { "startIndex": 12, "endIndex": 16, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'undo'
51
51
  { "startIndex": 16, "endIndex": 17, "scopes": ["source.abl", "meta.block.abl", "punctuation.separator.comma.abl"] }, // ','
52
- { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
53
- { "startIndex": 18, "endIndex": 23, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'leave'
52
+ { "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
53
+ { "startIndex": 18, "endIndex": 23, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'leave'
54
54
  { "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "punctuation.terminator.abl"] } // ':'
55
55
  ]
56
56
  ]
@@ -64,25 +64,25 @@ describe('', () => {
64
64
  { "startIndex": 35, "endIndex": 36, "scopes": ["source.abl", "meta.block.abl", "string.double.complex.abl", "punctuation.definition.string.end.abl"] }, // '"'
65
65
  { "startIndex": 36, "endIndex": 37, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
66
66
  { "startIndex": 37, "endIndex": 42, "scopes": ["source.abl", "meta.block.abl", "storage.type.function.abl"] }, // '&THEN'
67
- { "startIndex": 42, "endIndex": 43, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
68
- { "startIndex": 43, "endIndex": 45, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'ON'
69
- { "startIndex": 45, "endIndex": 46, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
70
- { "startIndex": 46, "endIndex": 50, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'STOP'
71
- { "startIndex": 50, "endIndex": 51, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
72
- { "startIndex": 51, "endIndex": 55, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'UNDO'
67
+ { "startIndex": 42, "endIndex": 43, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
68
+ { "startIndex": 43, "endIndex": 45, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'ON'
69
+ { "startIndex": 45, "endIndex": 46, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
70
+ { "startIndex": 46, "endIndex": 50, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'STOP'
71
+ { "startIndex": 50, "endIndex": 51, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
72
+ { "startIndex": 51, "endIndex": 55, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'UNDO'
73
73
  { "startIndex": 55, "endIndex": 56, "scopes": ["source.abl", "meta.block.abl", "punctuation.separator.comma.abl"] }, // ','
74
- { "startIndex": 56, "endIndex": 57, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
75
- { "startIndex": 57, "endIndex": 63, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'RETURN'
76
- { "startIndex": 63, "endIndex": 64, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
77
- { "startIndex": 64, "endIndex": 69, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'ERROR'
78
- { "startIndex": 69, "endIndex": 70, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
79
- { "startIndex": 70, "endIndex": 73, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "keyword.other.abl"] }, // 'NEW'
80
- { "startIndex": 73, "endIndex": 74, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
81
- { "startIndex": 74, "endIndex": 96, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "entity.name.type.abl"] }, // 'StopConditionException'
82
- { "startIndex": 96, "endIndex": 97, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
83
- { "startIndex": 97, "endIndex": 98, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "meta.brace.round.js"] }, // ')'
84
- { "startIndex": 98, "endIndex": 99, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl"] }, // ' '
85
- { "startIndex": 99, "endIndex": 105, "scopes": ["source.abl", "meta.block.abl", "meta.block.branch.abl", "storage.type.function.abl"] }, // '&ENDIF'
74
+ { "startIndex": 56, "endIndex": 57, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
75
+ { "startIndex": 57, "endIndex": 63, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'RETURN'
76
+ { "startIndex": 63, "endIndex": 64, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
77
+ { "startIndex": 64, "endIndex": 69, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'ERROR'
78
+ { "startIndex": 69, "endIndex": 70, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
79
+ { "startIndex": 70, "endIndex": 73, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'NEW'
80
+ { "startIndex": 73, "endIndex": 74, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
81
+ { "startIndex": 74, "endIndex": 96, "scopes": ["source.abl", "meta.block.abl", "entity.name.type.abl"] }, // 'StopConditionException'
82
+ { "startIndex": 96, "endIndex": 97, "scopes": ["source.abl", "meta.block.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
83
+ { "startIndex": 97, "endIndex": 98, "scopes": ["source.abl", "meta.block.abl", "meta.brace.round.js"] }, // ')'
84
+ { "startIndex": 98, "endIndex": 99, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
85
+ { "startIndex": 99, "endIndex": 105, "scopes": ["source.abl", "meta.block.abl", "storage.type.function.abl"] }, // '&ENDIF'
86
86
  { "startIndex": 105, "endIndex": 106, "scopes": ["source.abl", "punctuation.terminator.abl"] } // ':'
87
87
  ]
88
88
  ];