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.
- package/CHANGELOG.md +14 -0
- package/README.md +2 -1
- package/abl.tmLanguage.json +291 -112
- package/index.mjs +109 -11
- package/package.json +1 -1
- package/spec/blocks/block-options.spec.js +16 -16
- package/spec/blocks/finally-blocks.spec.js +5 -5
- package/spec/comments/comment-in-block-statement.spec.js +1 -1
- package/spec/comments/comment-in-for-each.spec.js +5 -5
- package/spec/comments/vscode-abl-issue#127.spec.js +20 -20
- package/spec/db-table-and-field/buffer-copy.spec.js +22 -22
- package/spec/db-table-and-field/create-alias.spec.js +39 -38
- package/spec/db-table-and-field/double-colon-access.spec.js +154 -0
- package/spec/db-table-and-field/field-in-function.spec.js +25 -25
- package/spec/db-table-and-field/fields-except.spec.js +1 -2
- package/spec/db-table-and-field/foreach.spec.js +6 -6
- package/spec/db-table-and-field/issue#88.spec.js +5 -4
- package/spec/db-table-and-field/new-record.spec.js +9 -9
- package/spec/db-table-and-field/query-get.spec.js +137 -0
- package/spec/define-buffer/create-buffer.spec.js +57 -0
- package/spec/define-frame/issue#173.spec.js +16 -16
- package/spec/define-property/property-getter.spec.js +8 -103
- package/spec/define-variable/simple-single-line.spec.js +1 -1
- package/spec/define-variable/var-statement.spec.js +21 -21
- package/spec/do/do-blocks.spec.js +22 -22
- package/spec/do/stop-after.spec.js +1 -1
- package/spec/function-call/can-find.spec.js +12 -12
- package/spec/function-call/include-in-argument.spec.js +120 -0
- package/spec/function-call/misc-abl-functions.spec.js +9 -9
- package/spec/function-call/nested-functions.spec.js +124 -124
- package/spec/function-call/vscode-abl-issue#19.spec.js +14 -14
- package/spec/function-definition/vscode-abl-issue#166.spec.js +1 -1
- package/spec/input-output/input-from.spec.js +116 -116
- package/spec/input-output/output-to.spec.js +105 -105
- package/spec/method-attribute-property-call/get-set-method-name.spec.js +1 -2
- package/spec/method-attribute-property-call/method-call.spec.js +1 -1
- package/spec/method-attribute-property-call/nested-property-call.spec.js +8 -25
- package/spec/method-attribute-property-call/unqualified-method-call.spec.js +27 -27
- package/spec/method-definition/constructor.spec.js +5 -5
- package/spec/misc-statements/class-in-var-name.spec.js +22 -22
- package/spec/misc-statements/copy-lob.spec.js +11 -4
- package/spec/misc-statements/do-in-name.spec.js +5 -5
- package/spec/misc-statements/guid.spec.js +10 -10
- package/spec/misc-statements/if-then.spec.js +38 -38
- package/spec/misc-statements/record-buffer-functions.spec.js +5 -5
- package/spec/misc-statements/return-statement.spec.js +15 -15
- package/spec/misc-statements/skip-statement-and-fuction.spec.js +6 -6
- package/spec/misc-statements/system-handles.spec.js +17 -3
- package/spec/numbers/scientific-notation.spec.js +7 -7
- package/spec/operators/operators.spec.js +6 -6
- package/spec/preprocesors/proparse-preprocessor.spec.js +7 -7
- package/spec/run-statement/run-statement.spec.js +30 -133
- package/spec/strings/translation-attribute.spec.js +7 -7
- package/spec/strings/vscode-abl-issue#11.spec.js +0 -53
- package/spec/strings/vscode-abl-issue#28.spec.js +16 -16
- package/spec/type-name/argument.spec.js +6 -7
- package/spec/type-name/define-property.spec.js +1 -1
- package/spec/type-name/define-temp-table.spec.js +4 -4
- package/spec/type-name/define-variable-property.spec.js +1 -1
- package/spec/type-name/define-variable.spec.js +1 -1
- package/spec/type-name/new.spec.js +8 -8
- package/spec/type-name/parameter-as.spec.js +50 -1
- package/spec/type-name/type-name.spec.js +20 -20
package/index.mjs
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
import * as fs from 'node:fs';
|
|
15
15
|
import * as readline from 'node:readline';
|
|
16
|
-
import {optimize} from 'oniguruma-parser/optimizer';
|
|
16
|
+
import { optimize } from 'oniguruma-parser/optimizer';
|
|
17
17
|
|
|
18
18
|
let lineReaderMethods = readline.createInterface({
|
|
19
19
|
input: fs.createReadStream('abl-methods.txt')
|
|
@@ -125,6 +125,67 @@ alsoFunctions.push('substitute');
|
|
|
125
125
|
alsoFunctions.push('this-object');
|
|
126
126
|
alsoFunctions.push('value');
|
|
127
127
|
|
|
128
|
+
let noParameterFunctions = [];
|
|
129
|
+
noParameterFunctions.push('accum');
|
|
130
|
+
noParameterFunctions.push('ambiguous');
|
|
131
|
+
noParameterFunctions.push('available');
|
|
132
|
+
noParameterFunctions.push('current-changed');
|
|
133
|
+
noParameterFunctions.push('current-language');
|
|
134
|
+
noParameterFunctions.push('dataservers');
|
|
135
|
+
noParameterFunctions.push('dbname');
|
|
136
|
+
noParameterFunctions.push('entered');
|
|
137
|
+
noParameterFunctions.push('etime');
|
|
138
|
+
noParameterFunctions.push('frame-col');
|
|
139
|
+
noParameterFunctions.push('frame-db');
|
|
140
|
+
noParameterFunctions.push('frame-down');
|
|
141
|
+
noParameterFunctions.push('frame-field');
|
|
142
|
+
noParameterFunctions.push('frame-file');
|
|
143
|
+
noParameterFunctions.push('frame-index');
|
|
144
|
+
noParameterFunctions.push('frame-line');
|
|
145
|
+
noParameterFunctions.push('frame-name');
|
|
146
|
+
noParameterFunctions.push('frame-row');
|
|
147
|
+
noParameterFunctions.push('frame-value');
|
|
148
|
+
noParameterFunctions.push('gateways');
|
|
149
|
+
noParameterFunctions.push('generate-pbe-salt');
|
|
150
|
+
noParameterFunctions.push('generate-random-key');
|
|
151
|
+
noParameterFunctions.push('generate-uuid');
|
|
152
|
+
noParameterFunctions.push('get-codepages');
|
|
153
|
+
noParameterFunctions.push('go-pending');
|
|
154
|
+
noParameterFunctions.push('guid');
|
|
155
|
+
noParameterFunctions.push('input');
|
|
156
|
+
noParameterFunctions.push('is-attr-space');
|
|
157
|
+
noParameterFunctions.push('lastkey');
|
|
158
|
+
noParameterFunctions.push('line-counter');
|
|
159
|
+
noParameterFunctions.push('locked');
|
|
160
|
+
noParameterFunctions.push('message-lines');
|
|
161
|
+
noParameterFunctions.push('not entered');
|
|
162
|
+
noParameterFunctions.push('now');
|
|
163
|
+
noParameterFunctions.push('num-aliases');
|
|
164
|
+
noParameterFunctions.push('num-dbs');
|
|
165
|
+
noParameterFunctions.push('opsys');
|
|
166
|
+
noParameterFunctions.push('os-drives');
|
|
167
|
+
noParameterFunctions.push('os-error');
|
|
168
|
+
noParameterFunctions.push('page-number');
|
|
169
|
+
noParameterFunctions.push('page-size');
|
|
170
|
+
noParameterFunctions.push('proc-handle');
|
|
171
|
+
noParameterFunctions.push('proc-status');
|
|
172
|
+
noParameterFunctions.push('process-architecture');
|
|
173
|
+
noParameterFunctions.push('progress');
|
|
174
|
+
noParameterFunctions.push('promsgs');
|
|
175
|
+
noParameterFunctions.push('propath');
|
|
176
|
+
noParameterFunctions.push('proversion');
|
|
177
|
+
noParameterFunctions.push('retry');
|
|
178
|
+
noParameterFunctions.push('return');
|
|
179
|
+
noParameterFunctions.push('return-value');
|
|
180
|
+
noParameterFunctions.push('screen-lines');
|
|
181
|
+
noParameterFunctions.push('skip');
|
|
182
|
+
noParameterFunctions.push('super');
|
|
183
|
+
noParameterFunctions.push('terminal');
|
|
184
|
+
noParameterFunctions.push('time');
|
|
185
|
+
noParameterFunctions.push('today');
|
|
186
|
+
noParameterFunctions.push('transaction');
|
|
187
|
+
noParameterFunctions.push('userid');
|
|
188
|
+
|
|
128
189
|
let alsoKeywords = [];
|
|
129
190
|
alsoKeywords.push('get-collation'); //plural version as key
|
|
130
191
|
|
|
@@ -136,7 +197,7 @@ minKeywords.set('&scop', '&scoped-define');
|
|
|
136
197
|
minKeywords.set('glob', 'global');
|
|
137
198
|
minKeywords.set('var', 'variable');
|
|
138
199
|
|
|
139
|
-
// This
|
|
200
|
+
// This holds the keyword names and their regex entries
|
|
140
201
|
let keywordEntries = new Map();
|
|
141
202
|
keywordEntries.set('logical', 'logical|logica|logic|logi|log|lo');
|
|
142
203
|
keywordEntries.set('&global-define', '&global-define|&global-defin|&global-defi|&global-def|&global-de|&global-d|&global-|&global|&globa|&glob)');
|
|
@@ -180,6 +241,13 @@ lineReaderFunctions.on('line', line => {
|
|
|
180
241
|
let results;
|
|
181
242
|
line = line.toLowerCase();
|
|
182
243
|
|
|
244
|
+
// NOT ENTERED function is captured
|
|
245
|
+
// as NOT , which is an operator and not
|
|
246
|
+
// a function
|
|
247
|
+
if (line.startsWith("not entered")) {
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
|
|
183
251
|
if (!line.startsWith("#")) {
|
|
184
252
|
|
|
185
253
|
let kw = line.split(' ');
|
|
@@ -188,8 +256,10 @@ lineReaderFunctions.on('line', line => {
|
|
|
188
256
|
if (kw.includes('function') && !kw.includes('statement')) {
|
|
189
257
|
let kwName = kw[0];
|
|
190
258
|
|
|
259
|
+
|
|
191
260
|
// CAPS letter alphabet
|
|
192
261
|
let charIdx = kwName.charCodeAt(0) - 97;
|
|
262
|
+
|
|
193
263
|
if (!functionBlocks[charIdx].includes(kwName)) {
|
|
194
264
|
functionBlocks[charIdx].push(kwName);
|
|
195
265
|
}
|
|
@@ -266,14 +336,14 @@ function addToBlock(charIdx, fullKw, minKw, kwRegex) {
|
|
|
266
336
|
if (!minKeywords.has(minKw)) {
|
|
267
337
|
minKeywords.set(minKw, fullKw);
|
|
268
338
|
}
|
|
269
|
-
if
|
|
339
|
+
if (!keywordEntries.has(fullKw)) {
|
|
270
340
|
keywordEntries.set(fullKw, kwRegex);
|
|
271
341
|
}
|
|
272
342
|
|
|
273
343
|
if (!attributeBlocks[charIdx].includes(fullKw) &&
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
344
|
+
!methodBlocks[charIdx].includes(fullKw) &&
|
|
345
|
+
!functionBlocks[charIdx].includes(fullKw) &&
|
|
346
|
+
!keywordBlocks[charIdx].includes(fullKw)) {
|
|
277
347
|
keywordBlocks[charIdx].push(fullKw);
|
|
278
348
|
}
|
|
279
349
|
|
|
@@ -284,7 +354,7 @@ function addToBlock(charIdx, fullKw, minKw, kwRegex) {
|
|
|
284
354
|
}
|
|
285
355
|
|
|
286
356
|
// Replaces full keywords in an array with the regexes, if any
|
|
287
|
-
function replaceKeywordsWithRegex
|
|
357
|
+
function replaceKeywordsWithRegex(kwArray) {
|
|
288
358
|
let regexBlocks = [];
|
|
289
359
|
|
|
290
360
|
for (var idx in kwArray) {
|
|
@@ -378,6 +448,14 @@ lineReaderFunctions.on('close', () => {
|
|
|
378
448
|
}
|
|
379
449
|
|
|
380
450
|
result['abl-functions'] = { patterns: [] }
|
|
451
|
+
|
|
452
|
+
// turn noParameterFunctions into an alphabetically-sorted array
|
|
453
|
+
let noParameterFunctionBlocks = [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []];
|
|
454
|
+
for (var zz = 0; zz < noParameterFunctions.length; zz++) {
|
|
455
|
+
let charIdx = noParameterFunctions[zz].charCodeAt(0) - 97;
|
|
456
|
+
noParameterFunctionBlocks[charIdx].push(noParameterFunctions[zz]);
|
|
457
|
+
}
|
|
458
|
+
|
|
381
459
|
for (var zz = 0; zz < 26; zz++) {
|
|
382
460
|
|
|
383
461
|
if (functionBlocks[zz].length > 0) {
|
|
@@ -385,12 +463,11 @@ lineReaderFunctions.on('close', () => {
|
|
|
385
463
|
|
|
386
464
|
result['abl-functions-' + String.fromCharCode(97 + zz).toUpperCase()] =
|
|
387
465
|
{
|
|
388
|
-
name: "meta.function-call.abl",
|
|
389
466
|
begin: "(?i)\\s*(" + replaceKeywordsWithRegex(functionBlocks[zz]) + ")\\s*(?=\\()",
|
|
390
467
|
beginCaptures: {
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
468
|
+
1: {
|
|
469
|
+
name: "support.function.abl"
|
|
470
|
+
}
|
|
394
471
|
},
|
|
395
472
|
end: "(\\))",
|
|
396
473
|
endCaptures: {
|
|
@@ -406,5 +483,26 @@ lineReaderFunctions.on('close', () => {
|
|
|
406
483
|
}
|
|
407
484
|
}
|
|
408
485
|
}
|
|
486
|
+
|
|
487
|
+
//Add functions without parens
|
|
488
|
+
let npfb = [];
|
|
489
|
+
for (var zz = 0; zz < 26; zz++) {
|
|
490
|
+
if (noParameterFunctionBlocks[zz].length > 0) {
|
|
491
|
+
npfb.push({
|
|
492
|
+
match: "(?i)\\b(" + replaceKeywordsWithRegex(noParameterFunctionBlocks[zz]) + ")(?!(\\.\\w+))(?=\\)|\\s|,|]|:|\\.)",
|
|
493
|
+
captures: {
|
|
494
|
+
1: {
|
|
495
|
+
name: "support.function.abl"
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
});
|
|
499
|
+
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
result['abl-functions'].patterns.push({
|
|
504
|
+
comment: "ABL functions that can be called without parentheses. Some functions have optional arguments, some are never called with parens",
|
|
505
|
+
patterns: npfb});
|
|
506
|
+
|
|
409
507
|
fs.writeFileSync(output, JSON.stringify(result, undefined, 4));
|
|
410
508
|
})
|
package/package.json
CHANGED
|
@@ -133,28 +133,28 @@ describe('', () => {
|
|
|
133
133
|
{ "startIndex": 9, "endIndex": 10, "scopes": ["source.abl"] }, // ' '
|
|
134
134
|
{ "startIndex": 10, "endIndex": 15, "scopes": ["source.abl", "keyword.other.abl"] }, // 'throw'
|
|
135
135
|
{ "startIndex": 15, "endIndex": 16, "scopes": ["source.abl"] }, // ' '
|
|
136
|
-
{ "startIndex": 16, "endIndex": 19, "scopes": ["source.abl", "
|
|
136
|
+
{ "startIndex": 16, "endIndex": 19, "scopes": ["source.abl", "support.function.abl"] }, // 'new'
|
|
137
137
|
{ "startIndex": 19, "endIndex": 20, "scopes": ["source.abl"] }, // ' '
|
|
138
138
|
{ "startIndex": 20, "endIndex": 45, "scopes": ["source.abl", "entity.name.type.abl"] }, // 'ImportValidationException'
|
|
139
|
-
{ "startIndex": 45, "endIndex": 46, "scopes": ["source.abl", "meta.
|
|
140
|
-
{ "startIndex": 46, "endIndex": 47, "scopes": ["source.abl", "
|
|
141
|
-
{ "startIndex": 47, "endIndex": 55, "scopes": ["source.abl", "
|
|
142
|
-
{ "startIndex": 55, "endIndex": 56, "scopes": ["source.abl", "
|
|
143
|
-
{ "startIndex": 56, "endIndex": 57, "scopes": ["source.abl", "
|
|
139
|
+
{ "startIndex": 45, "endIndex": 46, "scopes": ["source.abl", "meta.brace.round.js"] }, // '('
|
|
140
|
+
{ "startIndex": 46, "endIndex": 47, "scopes": ["source.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
141
|
+
{ "startIndex": 47, "endIndex": 55, "scopes": ["source.abl", "string.quoted.double.abl"] }, // 'custname'
|
|
142
|
+
{ "startIndex": 55, "endIndex": 56, "scopes": ["source.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
143
|
+
{ "startIndex": 56, "endIndex": 57, "scopes": ["source.abl", "punctuation.separator.comma.abl"] } // ','
|
|
144
144
|
],
|
|
145
145
|
[
|
|
146
|
-
{ "startIndex": 0, "endIndex": 48, "scopes": ["source.abl"
|
|
147
|
-
{ "startIndex": 48, "endIndex": 65, "scopes": ["source.abl", "
|
|
148
|
-
{ "startIndex": 65, "endIndex": 66, "scopes": ["source.abl", "
|
|
146
|
+
{ "startIndex": 0, "endIndex": 48, "scopes": ["source.abl"] }, // ' '
|
|
147
|
+
{ "startIndex": 48, "endIndex": 65, "scopes": ["source.abl", "storage.data.table.abl"] }, // 'pbAccount.CustKey'
|
|
148
|
+
{ "startIndex": 65, "endIndex": 66, "scopes": ["source.abl", "punctuation.separator.comma.abl"] } // ','
|
|
149
149
|
],
|
|
150
150
|
[
|
|
151
|
-
{ "startIndex": 0, "endIndex": 48, "scopes": ["source.abl"
|
|
152
|
-
{ "startIndex": 48, "endIndex": 72, "scopes": ["source.abl", "
|
|
153
|
-
{ "startIndex": 72, "endIndex": 73, "scopes": ["source.abl", "
|
|
154
|
-
{ "startIndex": 73, "endIndex": 80, "scopes": ["source.abl", "
|
|
155
|
-
{ "startIndex": 80, "endIndex": 81, "scopes": ["source.abl", "
|
|
156
|
-
{ "startIndex": 81, "endIndex": 89, "scopes": ["source.abl", "
|
|
157
|
-
{ "startIndex": 89, "endIndex": 90, "scopes": ["source.abl", "meta.
|
|
151
|
+
{ "startIndex": 0, "endIndex": 48, "scopes": ["source.abl"] }, // ' '
|
|
152
|
+
{ "startIndex": 48, "endIndex": 72, "scopes": ["source.abl", "variable.other.abl"] }, // 'SalesforceObjectTypeEnum'
|
|
153
|
+
{ "startIndex": 72, "endIndex": 73, "scopes": ["source.abl", "punctuation.separator.colon.abl"] }, // ':'
|
|
154
|
+
{ "startIndex": 73, "endIndex": 80, "scopes": ["source.abl", "entity.name.function.abl"] }, // 'Account'
|
|
155
|
+
{ "startIndex": 80, "endIndex": 81, "scopes": ["source.abl", "punctuation.separator.colon.abl"] }, // ':'
|
|
156
|
+
{ "startIndex": 81, "endIndex": 89, "scopes": ["source.abl", "entity.name.function.abl"] }, // 'ToString'
|
|
157
|
+
{ "startIndex": 89, "endIndex": 90, "scopes": ["source.abl", "meta.brace.round.js"] }, // '('
|
|
158
158
|
{ "startIndex": 90, "endIndex": 91, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
|
|
159
159
|
{ "startIndex": 91, "endIndex": 92, "scopes": ["source.abl", "punctuation.separator.comma.abl"] } // ','
|
|
160
160
|
],
|
|
@@ -62,11 +62,11 @@ end finally.`;
|
|
|
62
62
|
[
|
|
63
63
|
{ "startIndex": 0, "endIndex": 2, "scopes": ["source.abl"] }, // ' '
|
|
64
64
|
{ "startIndex": 2, "endIndex": 4, "scopes": ["source.abl", "keyword.other.abl"] }, // 'if'
|
|
65
|
-
{ "startIndex": 4, "endIndex": 5, "scopes": ["source.abl"
|
|
66
|
-
{ "startIndex": 5, "endIndex": 17, "scopes": ["source.abl", "
|
|
67
|
-
{ "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.function
|
|
68
|
-
{ "startIndex": 18, "endIndex": 23, "scopes": ["source.abl", "meta.function
|
|
69
|
-
{ "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "meta.
|
|
65
|
+
{ "startIndex": 4, "endIndex": 5, "scopes": ["source.abl"] }, // ' '
|
|
66
|
+
{ "startIndex": 5, "endIndex": 17, "scopes": ["source.abl", "support.function.abl"] }, // 'valid-object'
|
|
67
|
+
{ "startIndex": 17, "endIndex": 18, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
68
|
+
{ "startIndex": 18, "endIndex": 23, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'oMenu'
|
|
69
|
+
{ "startIndex": 23, "endIndex": 24, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
|
|
70
70
|
{ "startIndex": 24, "endIndex": 25, "scopes": ["source.abl"] }, // ' '
|
|
71
71
|
{ "startIndex": 25, "endIndex": 29, "scopes": ["source.abl", "keyword.other.abl"] }, // 'then'
|
|
72
72
|
{ "startIndex": 29, "endIndex": 30, "scopes": ["source.abl"] }, // ' '
|
|
@@ -81,7 +81,7 @@ describe('', () => {
|
|
|
81
81
|
{ "startIndex": 63, "endIndex": 64, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
|
|
82
82
|
{ "startIndex": 64, "endIndex": 69, "scopes": ["source.abl", "meta.block.abl", "keyword.other.abl"] }, // 'ERROR'
|
|
83
83
|
{ "startIndex": 69, "endIndex": 70, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
|
|
84
|
-
{ "startIndex": 70, "endIndex": 73, "scopes": ["source.abl", "meta.block.abl", "
|
|
84
|
+
{ "startIndex": 70, "endIndex": 73, "scopes": ["source.abl", "meta.block.abl", "support.function.abl"] }, // 'NEW'
|
|
85
85
|
{ "startIndex": 73, "endIndex": 74, "scopes": ["source.abl", "meta.block.abl"] }, // ' '
|
|
86
86
|
{ "startIndex": 74, "endIndex": 96, "scopes": ["source.abl", "meta.block.abl", "entity.name.type.abl"] }, // 'StopConditionException'
|
|
87
87
|
{ "startIndex": 96, "endIndex": 97, "scopes": ["source.abl", "meta.block.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
@@ -46,11 +46,11 @@ describe('', () => {
|
|
|
46
46
|
{ "startIndex": 4, "endIndex": 20, "scopes": ["source.abl", "storage.data.table.abl"] }, // 'web-cart.web-key'
|
|
47
47
|
{ "startIndex": 20, "endIndex": 21, "scopes": ["source.abl"] }, // ' '
|
|
48
48
|
{ "startIndex": 21, "endIndex": 22, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
|
|
49
|
-
{ "startIndex": 22, "endIndex": 23, "scopes": ["source.abl"
|
|
50
|
-
{ "startIndex": 23, "endIndex": 26, "scopes": ["source.abl", "
|
|
51
|
-
{ "startIndex": 26, "endIndex": 27, "scopes": ["source.abl", "meta.function
|
|
52
|
-
{ "startIndex": 27, "endIndex": 37, "scopes": ["source.abl", "meta.function
|
|
53
|
-
{ "startIndex": 37, "endIndex": 38, "scopes": ["source.abl", "meta.
|
|
49
|
+
{ "startIndex": 22, "endIndex": 23, "scopes": ["source.abl"] }, // ' '
|
|
50
|
+
{ "startIndex": 23, "endIndex": 26, "scopes": ["source.abl", "support.function.abl"] }, // 'dec'
|
|
51
|
+
{ "startIndex": 26, "endIndex": 27, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
52
|
+
{ "startIndex": 27, "endIndex": 37, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'ip-web-key'
|
|
53
|
+
{ "startIndex": 37, "endIndex": 38, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
|
|
54
54
|
{ "startIndex": 38, "endIndex": 39, "scopes": ["source.abl"] }, // ' '
|
|
55
55
|
{ "startIndex": 39, "endIndex": 42, "scopes": ["source.abl", "keyword.other.abl"] } // 'AND'
|
|
56
56
|
],
|
|
@@ -61,7 +61,7 @@ describe('', () => {
|
|
|
61
61
|
],
|
|
62
62
|
[
|
|
63
63
|
{ "startIndex": 0, "endIndex": 10, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
|
|
64
|
-
{ "startIndex": 10, "endIndex": 16, "scopes": ["source.abl", "meta.define.abl", "
|
|
64
|
+
{ "startIndex": 10, "endIndex": 16, "scopes": ["source.abl", "meta.define.abl", "support.function.abl"] }, // 'return'
|
|
65
65
|
{ "startIndex": 16, "endIndex": 17, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
|
|
66
66
|
{ "startIndex": 17, "endIndex": 27, "scopes": ["source.abl", "meta.define.abl", "variable.other.abl"] }, // 'mUTF8Value'
|
|
67
67
|
{ "startIndex": 27, "endIndex": 28, "scopes": ["source.abl", "meta.define.abl", "punctuation.terminator.abl"] } // '.'
|
|
@@ -72,17 +72,17 @@ describe('', () => {
|
|
|
72
72
|
],
|
|
73
73
|
[
|
|
74
74
|
{ "startIndex": 0, "endIndex": 10, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
|
|
75
|
-
{ "startIndex": 10, "endIndex": 16, "scopes": ["source.abl", "meta.define.abl", "
|
|
76
|
-
{ "startIndex": 16, "endIndex": 17, "scopes": ["source.abl", "meta.define.abl"
|
|
77
|
-
{ "startIndex": 17, "endIndex": 33, "scopes": ["source.abl", "meta.define.abl", "
|
|
78
|
-
{ "startIndex": 33, "endIndex": 34, "scopes": ["source.abl", "meta.define.abl", "meta.function
|
|
79
|
-
{ "startIndex": 34, "endIndex": 44, "scopes": ["source.abl", "meta.define.abl", "meta.function
|
|
80
|
-
{ "startIndex": 44, "endIndex": 45, "scopes": ["source.abl", "meta.define.abl", "meta.function
|
|
81
|
-
{ "startIndex": 45, "endIndex": 46, "scopes": ["source.abl", "meta.define.abl", "meta.function
|
|
82
|
-
{ "startIndex": 46, "endIndex": 57, "scopes": ["source.abl", "meta.define.abl", "meta.function
|
|
83
|
-
{ "startIndex": 57, "endIndex": 58, "scopes": ["source.abl", "meta.define.abl", "meta.function
|
|
84
|
-
{ "startIndex": 58, "endIndex": 66, "scopes": ["source.abl", "meta.define.abl", "meta.function
|
|
85
|
-
{ "startIndex": 66, "endIndex": 67, "scopes": ["source.abl", "meta.define.abl", "meta.
|
|
75
|
+
{ "startIndex": 10, "endIndex": 16, "scopes": ["source.abl", "meta.define.abl", "support.function.abl"] }, // 'return'
|
|
76
|
+
{ "startIndex": 16, "endIndex": 17, "scopes": ["source.abl", "meta.define.abl"] }, // ' '
|
|
77
|
+
{ "startIndex": 17, "endIndex": 33, "scopes": ["source.abl", "meta.define.abl", "support.function.abl"] }, // 'codepage-convert'
|
|
78
|
+
{ "startIndex": 33, "endIndex": 34, "scopes": ["source.abl", "meta.define.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
79
|
+
{ "startIndex": 34, "endIndex": 44, "scopes": ["source.abl", "meta.define.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'mUTF8Value'
|
|
80
|
+
{ "startIndex": 44, "endIndex": 45, "scopes": ["source.abl", "meta.define.abl", "meta.function.arguments.abl", "punctuation.separator.comma.abl"] }, // ','
|
|
81
|
+
{ "startIndex": 45, "endIndex": 46, "scopes": ["source.abl", "meta.define.abl", "meta.function.arguments.abl"] }, // ' '
|
|
82
|
+
{ "startIndex": 46, "endIndex": 57, "scopes": ["source.abl", "meta.define.abl", "meta.function.arguments.abl", "variable.language.abl"] }, // 'this-object'
|
|
83
|
+
{ "startIndex": 57, "endIndex": 58, "scopes": ["source.abl", "meta.define.abl", "meta.function.arguments.abl", "punctuation.separator.colon.abl"] }, // ':'
|
|
84
|
+
{ "startIndex": 58, "endIndex": 66, "scopes": ["source.abl", "meta.define.abl", "meta.function.arguments.abl", "entity.name.function.abl"] }, // 'Encoding'
|
|
85
|
+
{ "startIndex": 66, "endIndex": 67, "scopes": ["source.abl", "meta.define.abl", "meta.brace.round.js"] }, // ')'
|
|
86
86
|
{ "startIndex": 67, "endIndex": 68, "scopes": ["source.abl", "meta.define.abl", "punctuation.terminator.abl"] } // '.'
|
|
87
87
|
],
|
|
88
88
|
[
|
|
@@ -140,14 +140,14 @@ describe('', () => {
|
|
|
140
140
|
{ "startIndex": 13, "endIndex": 23, "scopes": ["source.abl", "variable.other.abl"] }, // 'mUTF8Value'
|
|
141
141
|
{ "startIndex": 23, "endIndex": 24, "scopes": ["source.abl"] }, // ' '
|
|
142
142
|
{ "startIndex": 24, "endIndex": 25, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
|
|
143
|
-
{ "startIndex": 25, "endIndex": 26, "scopes": ["source.abl"
|
|
144
|
-
{ "startIndex": 26, "endIndex": 36, "scopes": ["source.abl", "
|
|
145
|
-
{ "startIndex": 36, "endIndex": 37, "scopes": ["source.abl", "meta.function
|
|
146
|
-
{ "startIndex": 37, "endIndex": 46, "scopes": ["source.abl", "meta.function
|
|
147
|
-
{ "startIndex": 46, "endIndex": 47, "scopes": ["source.abl", "meta.function
|
|
148
|
-
{ "startIndex": 47, "endIndex": 57, "scopes": ["source.abl", "meta.function
|
|
149
|
-
{ "startIndex": 57, "endIndex": 58, "scopes": ["source.abl", "meta.function
|
|
150
|
-
{ "startIndex": 58, "endIndex": 59, "scopes": ["source.abl", "meta.
|
|
143
|
+
{ "startIndex": 25, "endIndex": 26, "scopes": ["source.abl"] }, // ' '
|
|
144
|
+
{ "startIndex": 26, "endIndex": 36, "scopes": ["source.abl", "support.function.abl"] }, // 'right-trim'
|
|
145
|
+
{ "startIndex": 36, "endIndex": 37, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
146
|
+
{ "startIndex": 37, "endIndex": 46, "scopes": ["source.abl", "meta.function.arguments.abl", "support.function.abl"] }, // 'left-trim'
|
|
147
|
+
{ "startIndex": 46, "endIndex": 47, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
148
|
+
{ "startIndex": 47, "endIndex": 57, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'mUTF8Value'
|
|
149
|
+
{ "startIndex": 57, "endIndex": 58, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // ')'
|
|
150
|
+
{ "startIndex": 58, "endIndex": 59, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
|
|
151
151
|
{ "startIndex": 59, "endIndex": 60, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
|
|
152
152
|
],
|
|
153
153
|
[
|
|
@@ -51,11 +51,11 @@ describe('', () => {
|
|
|
51
51
|
{ "startIndex": 23, "endIndex": 42, "scopes": ["source.abl", "storage.data.table.abl"] }, // 'ar-remit-from.state'
|
|
52
52
|
{ "startIndex": 42, "endIndex": 53, "scopes": ["source.abl"] }, // ' '
|
|
53
53
|
{ "startIndex": 53, "endIndex": 54, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
|
|
54
|
-
{ "startIndex": 54, "endIndex": 55, "scopes": ["source.abl"
|
|
55
|
-
{ "startIndex": 55, "endIndex": 59, "scopes": ["source.abl", "
|
|
56
|
-
{ "startIndex": 59, "endIndex": 60, "scopes": ["source.abl", "meta.function
|
|
57
|
-
{ "startIndex": 60, "endIndex": 74, "scopes": ["source.abl", "meta.function
|
|
58
|
-
{ "startIndex": 74, "endIndex": 75, "scopes": ["source.abl", "meta.
|
|
54
|
+
{ "startIndex": 54, "endIndex": 55, "scopes": ["source.abl"] }, // ' '
|
|
55
|
+
{ "startIndex": 55, "endIndex": 59, "scopes": ["source.abl", "support.function.abl"] }, // 'CAPS'
|
|
56
|
+
{ "startIndex": 59, "endIndex": 60, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
57
|
+
{ "startIndex": 60, "endIndex": 74, "scopes": ["source.abl", "meta.function.arguments.abl", "storage.data.table.abl"] }, // 'custname.state'
|
|
58
|
+
{ "startIndex": 74, "endIndex": 75, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
|
|
59
59
|
{ "startIndex": 75, "endIndex": 76, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
|
|
60
60
|
]
|
|
61
61
|
];
|
|
@@ -100,13 +100,13 @@ EXCEPT f1 f4 af
|
|
|
100
100
|
{ "startIndex": 20, "endIndex": 30, "scopes": ["source.abl", "storage.data.table.abl"] }, // 'target.f23'
|
|
101
101
|
{ "startIndex": 30, "endIndex": 31, "scopes": ["source.abl"] }, // ' '
|
|
102
102
|
{ "startIndex": 31, "endIndex": 32, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
|
|
103
|
-
{ "startIndex": 32, "endIndex": 33, "scopes": ["source.abl"
|
|
104
|
-
{ "startIndex": 33, "endIndex": 37, "scopes": ["source.abl", "
|
|
105
|
-
{ "startIndex": 37, "endIndex": 38, "scopes": ["source.abl", "meta.function
|
|
106
|
-
{ "startIndex": 38, "endIndex": 39, "scopes": ["source.abl", "meta.function
|
|
107
|
-
{ "startIndex": 39, "endIndex": 42, "scopes": ["source.abl", "meta.function
|
|
108
|
-
{ "startIndex": 42, "endIndex": 43, "scopes": ["source.abl", "meta.function
|
|
109
|
-
{ "startIndex": 43, "endIndex": 44, "scopes": ["source.abl", "meta.
|
|
103
|
+
{ "startIndex": 32, "endIndex": 33, "scopes": ["source.abl"] }, // ' '
|
|
104
|
+
{ "startIndex": 33, "endIndex": 37, "scopes": ["source.abl", "support.function.abl"] }, // 'caps'
|
|
105
|
+
{ "startIndex": 37, "endIndex": 38, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
106
|
+
{ "startIndex": 38, "endIndex": 39, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
107
|
+
{ "startIndex": 39, "endIndex": 42, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl"] }, // 'abf'
|
|
108
|
+
{ "startIndex": 42, "endIndex": 43, "scopes": ["source.abl", "meta.function.arguments.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
109
|
+
{ "startIndex": 43, "endIndex": 44, "scopes": ["source.abl", "meta.brace.round.js"] } // ')'
|
|
110
110
|
],
|
|
111
111
|
[
|
|
112
112
|
{ "startIndex": 0, "endIndex": 3, "scopes": ["source.abl"] }, // ' '
|
|
@@ -223,22 +223,22 @@ describe('', () => {
|
|
|
223
223
|
{ "startIndex": 16, "endIndex": 28, "scopes": ["source.abl", "storage.data.table.abl"] }, // '_TRG._pRECID'
|
|
224
224
|
{ "startIndex": 28, "endIndex": 29, "scopes": ["source.abl"] }, // ' '
|
|
225
225
|
{ "startIndex": 29, "endIndex": 30, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
|
|
226
|
-
{ "startIndex": 30, "endIndex": 31, "scopes": ["source.abl"
|
|
227
|
-
{ "startIndex": 31, "endIndex": 36, "scopes": ["source.abl", "
|
|
228
|
-
{ "startIndex": 36, "endIndex": 37, "scopes": ["source.abl", "meta.function
|
|
229
|
-
{ "startIndex": 37, "endIndex": 39, "scopes": ["source.abl", "meta.function
|
|
230
|
-
{ "startIndex": 39, "endIndex": 40, "scopes": ["source.abl", "meta.
|
|
226
|
+
{ "startIndex": 30, "endIndex": 31, "scopes": ["source.abl"] }, // ' '
|
|
227
|
+
{ "startIndex": 31, "endIndex": 36, "scopes": ["source.abl", "support.function.abl"] }, // 'RECID'
|
|
228
|
+
{ "startIndex": 36, "endIndex": 37, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
229
|
+
{ "startIndex": 37, "endIndex": 39, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // '_P'
|
|
230
|
+
{ "startIndex": 39, "endIndex": 40, "scopes": ["source.abl", "meta.brace.round.js"] } // ')'
|
|
231
231
|
],
|
|
232
232
|
[
|
|
233
233
|
{ "startIndex": 0, "endIndex": 16, "scopes": ["source.abl"] }, // ' '
|
|
234
234
|
{ "startIndex": 16, "endIndex": 28, "scopes": ["source.abl", "storage.data.table.abl"] }, // '_TRG._wRECID'
|
|
235
235
|
{ "startIndex": 28, "endIndex": 29, "scopes": ["source.abl"] }, // ' '
|
|
236
236
|
{ "startIndex": 29, "endIndex": 30, "scopes": ["source.abl", "keyword.operator.source.abl"] }, // '='
|
|
237
|
-
{ "startIndex": 30, "endIndex": 31, "scopes": ["source.abl"
|
|
238
|
-
{ "startIndex": 31, "endIndex": 36, "scopes": ["source.abl", "
|
|
239
|
-
{ "startIndex": 36, "endIndex": 37, "scopes": ["source.abl", "meta.function
|
|
240
|
-
{ "startIndex": 37, "endIndex": 39, "scopes": ["source.abl", "meta.function
|
|
241
|
-
{ "startIndex": 39, "endIndex": 40, "scopes": ["source.abl", "meta.
|
|
237
|
+
{ "startIndex": 30, "endIndex": 31, "scopes": ["source.abl"] }, // ' '
|
|
238
|
+
{ "startIndex": 31, "endIndex": 36, "scopes": ["source.abl", "support.function.abl"] }, // 'RECID'
|
|
239
|
+
{ "startIndex": 36, "endIndex": 37, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
240
|
+
{ "startIndex": 37, "endIndex": 39, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // '_U'
|
|
241
|
+
{ "startIndex": 39, "endIndex": 40, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
|
|
242
242
|
{ "startIndex": 40, "endIndex": 41, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
|
|
243
243
|
]
|
|
244
244
|
];
|
|
@@ -27,51 +27,52 @@ describe('', () => {
|
|
|
27
27
|
{ "startIndex": 6, "endIndex": 7, "scopes": ["source.abl"] }, // ' '
|
|
28
28
|
{ "startIndex": 7, "endIndex": 12, "scopes": ["source.abl", "keyword.other.abl"] }, // 'ALIAS'
|
|
29
29
|
{ "startIndex": 12, "endIndex": 13, "scopes": ["source.abl"] }, // ' '
|
|
30
|
-
{ "startIndex": 13, "endIndex": 18, "scopes": ["source.abl", "
|
|
31
|
-
{ "startIndex": 18, "endIndex": 19, "scopes": ["source.abl"
|
|
32
|
-
{ "startIndex": 19, "endIndex": 20, "scopes": ["source.abl", "meta.function
|
|
33
|
-
{ "startIndex": 20, "endIndex": 21, "scopes": ["source.abl", "meta.function
|
|
34
|
-
{ "startIndex": 21, "endIndex": 31, "scopes": ["source.abl", "meta.function
|
|
35
|
-
{ "startIndex": 31, "endIndex": 32, "scopes": ["source.abl", "meta.function
|
|
36
|
-
{ "startIndex": 32, "endIndex": 33, "scopes": ["source.abl", "meta.
|
|
30
|
+
{ "startIndex": 13, "endIndex": 18, "scopes": ["source.abl", "support.function.abl"] }, // 'value'
|
|
31
|
+
{ "startIndex": 18, "endIndex": 19, "scopes": ["source.abl"] }, // ' '
|
|
32
|
+
{ "startIndex": 19, "endIndex": 20, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
33
|
+
{ "startIndex": 20, "endIndex": 21, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
|
|
34
|
+
{ "startIndex": 21, "endIndex": 31, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'expression'
|
|
35
|
+
{ "startIndex": 31, "endIndex": 32, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
|
|
36
|
+
{ "startIndex": 32, "endIndex": 33, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
|
|
37
37
|
{ "startIndex": 33, "endIndex": 34, "scopes": ["source.abl"] }, // ' '
|
|
38
38
|
{ "startIndex": 34, "endIndex": 37, "scopes": ["source.abl", "keyword.other.abl"] }, // 'FOR'
|
|
39
39
|
{ "startIndex": 37, "endIndex": 38, "scopes": ["source.abl"] }, // ' '
|
|
40
40
|
{ "startIndex": 38, "endIndex": 46, "scopes": ["source.abl", "keyword.other.abl"] }, // 'DATABASE'
|
|
41
|
-
{ "startIndex": 46, "endIndex": 47, "scopes": ["source.abl"
|
|
42
|
-
{ "startIndex": 47, "endIndex": 52, "scopes": ["source.abl", "
|
|
43
|
-
{ "startIndex": 52, "endIndex": 53, "scopes": ["source.abl"
|
|
44
|
-
{ "startIndex": 53, "endIndex": 54, "scopes": ["source.abl", "meta.function
|
|
45
|
-
{ "startIndex": 54, "endIndex": 55, "scopes": ["source.abl", "meta.function
|
|
46
|
-
{ "startIndex": 55, "endIndex": 65, "scopes": ["source.abl", "meta.function
|
|
47
|
-
{ "startIndex": 65, "endIndex": 66, "scopes": ["source.abl", "meta.function
|
|
48
|
-
{ "startIndex": 66, "endIndex": 67, "scopes": ["source.abl", "meta.
|
|
41
|
+
{ "startIndex": 46, "endIndex": 47, "scopes": ["source.abl"] }, // ' '
|
|
42
|
+
{ "startIndex": 47, "endIndex": 52, "scopes": ["source.abl", "support.function.abl"] }, // 'value'
|
|
43
|
+
{ "startIndex": 52, "endIndex": 53, "scopes": ["source.abl"] }, // ' '
|
|
44
|
+
{ "startIndex": 53, "endIndex": 54, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
45
|
+
{ "startIndex": 54, "endIndex": 55, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
|
|
46
|
+
{ "startIndex": 55, "endIndex": 65, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'expression'
|
|
47
|
+
{ "startIndex": 65, "endIndex": 66, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
|
|
48
|
+
{ "startIndex": 66, "endIndex": 67, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
|
|
49
49
|
{ "startIndex": 67, "endIndex": 68, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
|
|
50
50
|
];
|
|
51
51
|
shared.itShouldMatchExpectedScopes(statement, expectedTokens);
|
|
52
52
|
})
|
|
53
53
|
|
|
54
54
|
describe('', () => {
|
|
55
|
-
let statement = `CREATE ALIAS ALIAS_STRING FOR DATABASE value ( tt.fld1 )
|
|
55
|
+
let statement = ` CREATE ALIAS ALIAS_STRING FOR DATABASE value ( tt.fld1 ).`
|
|
56
56
|
let expectedTokens = [
|
|
57
|
-
{ "startIndex": 0, "endIndex":
|
|
58
|
-
{ "startIndex":
|
|
59
|
-
{ "startIndex":
|
|
60
|
-
{ "startIndex":
|
|
61
|
-
{ "startIndex":
|
|
62
|
-
{ "startIndex":
|
|
63
|
-
{ "startIndex": 26, "endIndex": 29, "scopes": ["source.abl", "keyword.other.abl"] }, // 'FOR'
|
|
57
|
+
{ "startIndex": 0, "endIndex": 4, "scopes": ["source.abl"] }, // ' '
|
|
58
|
+
{ "startIndex": 4, "endIndex": 10, "scopes": ["source.abl", "keyword.other.abl"] }, // 'CREATE'
|
|
59
|
+
{ "startIndex": 10, "endIndex": 11, "scopes": ["source.abl"] }, // ' '
|
|
60
|
+
{ "startIndex": 11, "endIndex": 16, "scopes": ["source.abl", "keyword.other.abl"] }, // 'ALIAS'
|
|
61
|
+
{ "startIndex": 16, "endIndex": 17, "scopes": ["source.abl"] }, // ' '
|
|
62
|
+
{ "startIndex": 17, "endIndex": 29, "scopes": ["source.abl", "storage.data.database.abl"] }, // 'ALIAS_STRING'
|
|
64
63
|
{ "startIndex": 29, "endIndex": 30, "scopes": ["source.abl"] }, // ' '
|
|
65
|
-
{ "startIndex": 30, "endIndex":
|
|
66
|
-
{ "startIndex":
|
|
67
|
-
{ "startIndex":
|
|
68
|
-
{ "startIndex":
|
|
69
|
-
{ "startIndex":
|
|
70
|
-
{ "startIndex":
|
|
71
|
-
{ "startIndex":
|
|
72
|
-
{ "startIndex":
|
|
73
|
-
{ "startIndex":
|
|
74
|
-
{ "startIndex":
|
|
64
|
+
{ "startIndex": 30, "endIndex": 33, "scopes": ["source.abl", "keyword.other.abl"] }, // 'FOR'
|
|
65
|
+
{ "startIndex": 33, "endIndex": 34, "scopes": ["source.abl"] }, // ' '
|
|
66
|
+
{ "startIndex": 34, "endIndex": 42, "scopes": ["source.abl", "keyword.other.abl"] }, // 'DATABASE'
|
|
67
|
+
{ "startIndex": 42, "endIndex": 43, "scopes": ["source.abl"] }, // ' '
|
|
68
|
+
{ "startIndex": 43, "endIndex": 48, "scopes": ["source.abl", "support.function.abl"] }, // 'value'
|
|
69
|
+
{ "startIndex": 48, "endIndex": 49, "scopes": ["source.abl"] }, // ' '
|
|
70
|
+
{ "startIndex": 49, "endIndex": 50, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
71
|
+
{ "startIndex": 50, "endIndex": 51, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
|
|
72
|
+
{ "startIndex": 51, "endIndex": 58, "scopes": ["source.abl", "meta.function.arguments.abl", "storage.data.table.abl"] }, // 'tt.fld1'
|
|
73
|
+
{ "startIndex": 58, "endIndex": 59, "scopes": ["source.abl", "meta.function.arguments.abl"] }, // ' '
|
|
74
|
+
{ "startIndex": 59, "endIndex": 60, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
|
|
75
|
+
{ "startIndex": 60, "endIndex": 61, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
|
|
75
76
|
];
|
|
76
77
|
shared.itShouldMatchExpectedScopes(statement, expectedTokens);
|
|
77
78
|
})
|
|
@@ -90,11 +91,11 @@ describe('', () => {
|
|
|
90
91
|
{ "startIndex": 23, "endIndex": 26, "scopes": ["source.abl", "keyword.other.abl"] }, // 'FOR'
|
|
91
92
|
{ "startIndex": 26, "endIndex": 27, "scopes": ["source.abl"] }, // ' '
|
|
92
93
|
{ "startIndex": 27, "endIndex": 35, "scopes": ["source.abl", "keyword.other.abl"] }, // 'DATABASE'
|
|
93
|
-
{ "startIndex": 35, "endIndex": 36, "scopes": ["source.abl"
|
|
94
|
-
{ "startIndex": 36, "endIndex": 41, "scopes": ["source.abl", "
|
|
95
|
-
{ "startIndex": 41, "endIndex": 42, "scopes": ["source.abl", "meta.function
|
|
96
|
-
{ "startIndex": 42, "endIndex": 53, "scopes": ["source.abl", "meta.function
|
|
97
|
-
{ "startIndex": 53, "endIndex": 54, "scopes": ["source.abl", "meta.
|
|
94
|
+
{ "startIndex": 35, "endIndex": 36, "scopes": ["source.abl"] }, // ' '
|
|
95
|
+
{ "startIndex": 36, "endIndex": 41, "scopes": ["source.abl", "support.function.abl"] }, // 'VALUE'
|
|
96
|
+
{ "startIndex": 41, "endIndex": 42, "scopes": ["source.abl", "meta.function.arguments.abl", "meta.brace.round.js"] }, // '('
|
|
97
|
+
{ "startIndex": 42, "endIndex": 53, "scopes": ["source.abl", "meta.function.arguments.abl", "variable.other.abl"] }, // 'user_dbname'
|
|
98
|
+
{ "startIndex": 53, "endIndex": 54, "scopes": ["source.abl", "meta.brace.round.js"] }, // ')'
|
|
98
99
|
{ "startIndex": 54, "endIndex": 55, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
|
|
99
100
|
];
|
|
100
101
|
shared.itShouldMatchExpectedScopes(statement, expectedTokens);
|