abl-tmlanguage 1.3.21 → 1.3.22
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 +6 -0
- package/abl.tmLanguage.json +16 -11
- package/package.json +1 -1
- package/spec/annotations/annotation.spec.js +130 -1
- package/spec/include/include-file-name.spec.js +17 -0
package/CHANGELOG.md
CHANGED
package/abl.tmLanguage.json
CHANGED
|
@@ -1800,16 +1800,16 @@
|
|
|
1800
1800
|
"annotation": {
|
|
1801
1801
|
"patterns": [
|
|
1802
1802
|
{
|
|
1803
|
-
"include": "#annotation-
|
|
1803
|
+
"include": "#annotation-attributes"
|
|
1804
1804
|
},
|
|
1805
1805
|
{
|
|
1806
|
-
"include": "#annotation-
|
|
1806
|
+
"include": "#annotation-simple"
|
|
1807
1807
|
}
|
|
1808
1808
|
]
|
|
1809
1809
|
},
|
|
1810
1810
|
"annotation-simple": {
|
|
1811
1811
|
"name": "meta.declaration.annotation.abl",
|
|
1812
|
-
"match": "(^|\\s*)(\\@[a-zA-Z_][a-zA-Z0-9_
|
|
1812
|
+
"match": "(^|\\s*)(\\@[a-zA-Z_][a-zA-Z0-9_#$\\-%&\\.]+)\\s*(?=\\.)",
|
|
1813
1813
|
"captures": {
|
|
1814
1814
|
"2": {
|
|
1815
1815
|
"name": "entity.name.tag.abl"
|
|
@@ -1818,7 +1818,7 @@
|
|
|
1818
1818
|
},
|
|
1819
1819
|
"annotation-attributes": {
|
|
1820
1820
|
"name": "meta.declaration.annotation.abl",
|
|
1821
|
-
"begin": "(^|\\s+)(\\@[a-zA-Z_][a-zA-Z0-9_
|
|
1821
|
+
"begin": "(^|\\s+)(\\@[a-zA-Z_][a-zA-Z0-9_#$\\-%&\\.]*)\\s*(?=\\()",
|
|
1822
1822
|
"beginCaptures": {
|
|
1823
1823
|
"2": {
|
|
1824
1824
|
"name": "entity.name.tag.abl"
|
|
@@ -3902,18 +3902,23 @@
|
|
|
3902
3902
|
},
|
|
3903
3903
|
"include-file": {
|
|
3904
3904
|
"name": "meta.include.abl",
|
|
3905
|
-
"comment": "https://docs.progress.com/bundle/abl-reference/page/Include-file-reference.html. Filesystem names can be unicode",
|
|
3906
|
-
"begin": "({)\\s*([
|
|
3907
|
-
"beginCaptures": {
|
|
3905
|
+
"comment": "https://docs.progress.com/bundle/abl-reference/page/Include-file-reference.html. Filesystem names can be unicode",
|
|
3906
|
+
"begin": "({)\\s*(?!&)(([\"]?)([\\\\\/\\w$\\-\\.]+)([\"]?))",
|
|
3907
|
+
"beginCaptures": {
|
|
3908
3908
|
"1": {
|
|
3909
3909
|
"name": "punctuation.section.abl"
|
|
3910
3910
|
},
|
|
3911
|
-
"
|
|
3912
|
-
"name": "
|
|
3913
|
-
|
|
3911
|
+
"3": {
|
|
3912
|
+
"name": "punctuation.definition.string.begin.abl"
|
|
3913
|
+
},
|
|
3914
|
+
"4": {
|
|
3915
|
+
"name": "entity.name.include.abl"
|
|
3916
|
+
},
|
|
3917
|
+
"5": {
|
|
3918
|
+
"name": "punctuation.definition.string.end.abl"
|
|
3914
3919
|
}
|
|
3915
3920
|
},
|
|
3916
|
-
"end": "\\s*(})\\s*",
|
|
3921
|
+
"end": "\\s*(\\s*})\\s*",
|
|
3917
3922
|
"endCaptures": {
|
|
3918
3923
|
"1": {
|
|
3919
3924
|
"name": "punctuation.section.abl"
|
package/package.json
CHANGED
|
@@ -207,7 +207,6 @@ describe('', () => {
|
|
|
207
207
|
shared.itShouldMatchExpectedScopes(statement, expectedTokens);
|
|
208
208
|
})
|
|
209
209
|
|
|
210
|
-
|
|
211
210
|
describe('', () => {
|
|
212
211
|
let statement = `@AnnotationName(attrib1="class-tag,store",
|
|
213
212
|
attrib2="bob").`;
|
|
@@ -235,3 +234,133 @@ describe('', () => {
|
|
|
235
234
|
];
|
|
236
235
|
shared.itShouldMatchExpectedScopes(statement, expectedTokens);
|
|
237
236
|
})
|
|
237
|
+
|
|
238
|
+
describe('', () => {
|
|
239
|
+
let statement = ` @openapi.openedge.export(type="REST", useReturnValue="false", writeDataSetBeforeImage="true").
|
|
240
|
+
@progress.service.resourceMapping(type="REST", operation="read", URI="?filter=~{filter~}", alias="", mediaType="application/json").
|
|
241
|
+
@openapi.openedge.single.
|
|
242
|
+
@openapi.openedge.method.property (name="mappingType", value="JFP").
|
|
243
|
+
@openapi.openedge.method.property (name="capabilities", value="ablFilter,top,skip,id,orderBy").
|
|
244
|
+
@openapi.openedge.single.`;
|
|
245
|
+
let expectedTokens = [
|
|
246
|
+
[
|
|
247
|
+
{ "startIndex": 0, "endIndex": 4, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
248
|
+
{ "startIndex": 4, "endIndex": 28, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.name.tag.abl"] }, // '@openapi.openedge.export'
|
|
249
|
+
{ "startIndex": 28, "endIndex": 29, "scopes": ["source.abl", "meta.declaration.annotation.abl", "meta.brace.round.js"] }, // '('
|
|
250
|
+
{ "startIndex": 29, "endIndex": 33, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.other.attribute-name.abl"] }, // 'type'
|
|
251
|
+
{ "startIndex": 33, "endIndex": 34, "scopes": ["source.abl", "meta.declaration.annotation.abl", "keyword.operator.source.abl"] }, // '='
|
|
252
|
+
{ "startIndex": 34, "endIndex": 35, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
253
|
+
{ "startIndex": 35, "endIndex": 39, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl"] }, // 'REST'
|
|
254
|
+
{ "startIndex": 39, "endIndex": 40, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
255
|
+
{ "startIndex": 40, "endIndex": 41, "scopes": ["source.abl", "meta.declaration.annotation.abl", "punctuation.separator.comma.abl"] }, // ','
|
|
256
|
+
{ "startIndex": 41, "endIndex": 42, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
257
|
+
{ "startIndex": 42, "endIndex": 56, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.other.attribute-name.abl"] }, // 'useReturnValue'
|
|
258
|
+
{ "startIndex": 56, "endIndex": 57, "scopes": ["source.abl", "meta.declaration.annotation.abl", "keyword.operator.source.abl"] }, // '='
|
|
259
|
+
{ "startIndex": 57, "endIndex": 58, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
260
|
+
{ "startIndex": 58, "endIndex": 63, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl"] }, // 'false'
|
|
261
|
+
{ "startIndex": 63, "endIndex": 64, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
262
|
+
{ "startIndex": 64, "endIndex": 65, "scopes": ["source.abl", "meta.declaration.annotation.abl", "punctuation.separator.comma.abl"] }, // ','
|
|
263
|
+
{ "startIndex": 65, "endIndex": 66, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
264
|
+
{ "startIndex": 66, "endIndex": 89, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.other.attribute-name.abl"] }, // 'writeDataSetBeforeImage'
|
|
265
|
+
{ "startIndex": 89, "endIndex": 90, "scopes": ["source.abl", "meta.declaration.annotation.abl", "keyword.operator.source.abl"] }, // '='
|
|
266
|
+
{ "startIndex": 90, "endIndex": 91, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
267
|
+
{ "startIndex": 91, "endIndex": 95, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl"] }, // 'true'
|
|
268
|
+
{ "startIndex": 95, "endIndex": 96, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
269
|
+
{ "startIndex": 96, "endIndex": 97, "scopes": ["source.abl", "meta.declaration.annotation.abl", "meta.brace.round.js"] }, // ')'
|
|
270
|
+
{ "startIndex": 97, "endIndex": 98, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
|
|
271
|
+
],
|
|
272
|
+
[
|
|
273
|
+
{ "startIndex": 0, "endIndex": 4, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
274
|
+
{ "startIndex": 4, "endIndex": 37, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.name.tag.abl"] }, // '@progress.service.resourceMapping'
|
|
275
|
+
{ "startIndex": 37, "endIndex": 38, "scopes": ["source.abl", "meta.declaration.annotation.abl", "meta.brace.round.js"] }, // '('
|
|
276
|
+
{ "startIndex": 38, "endIndex": 42, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.other.attribute-name.abl"] }, // 'type'
|
|
277
|
+
{ "startIndex": 42, "endIndex": 43, "scopes": ["source.abl", "meta.declaration.annotation.abl", "keyword.operator.source.abl"] }, // '='
|
|
278
|
+
{ "startIndex": 43, "endIndex": 44, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
279
|
+
{ "startIndex": 44, "endIndex": 48, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl"] }, // 'REST'
|
|
280
|
+
{ "startIndex": 48, "endIndex": 49, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
281
|
+
{ "startIndex": 49, "endIndex": 50, "scopes": ["source.abl", "meta.declaration.annotation.abl", "punctuation.separator.comma.abl"] }, // ','
|
|
282
|
+
{ "startIndex": 50, "endIndex": 51, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
283
|
+
{ "startIndex": 51, "endIndex": 60, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.other.attribute-name.abl"] }, // 'operation'
|
|
284
|
+
{ "startIndex": 60, "endIndex": 61, "scopes": ["source.abl", "meta.declaration.annotation.abl", "keyword.operator.source.abl"] }, // '='
|
|
285
|
+
{ "startIndex": 61, "endIndex": 62, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
286
|
+
{ "startIndex": 62, "endIndex": 66, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl"] }, // 'read'
|
|
287
|
+
{ "startIndex": 66, "endIndex": 67, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
288
|
+
{ "startIndex": 67, "endIndex": 68, "scopes": ["source.abl", "meta.declaration.annotation.abl", "punctuation.separator.comma.abl"] }, // ','
|
|
289
|
+
{ "startIndex": 68, "endIndex": 69, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
290
|
+
{ "startIndex": 69, "endIndex": 72, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.other.attribute-name.abl"] }, // 'URI'
|
|
291
|
+
{ "startIndex": 72, "endIndex": 73, "scopes": ["source.abl", "meta.declaration.annotation.abl", "keyword.operator.source.abl"] }, // '='
|
|
292
|
+
{ "startIndex": 73, "endIndex": 74, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
293
|
+
{ "startIndex": 74, "endIndex": 82, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl"] }, // '?filter='
|
|
294
|
+
{ "startIndex": 82, "endIndex": 84, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "constant.character.escape.abl"] }, // '~{'
|
|
295
|
+
{ "startIndex": 84, "endIndex": 90, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl"] }, // 'filter'
|
|
296
|
+
{ "startIndex": 90, "endIndex": 92, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "constant.character.escape.abl"] }, // '~}'
|
|
297
|
+
{ "startIndex": 92, "endIndex": 93, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
298
|
+
{ "startIndex": 93, "endIndex": 94, "scopes": ["source.abl", "meta.declaration.annotation.abl", "punctuation.separator.comma.abl"] }, // ','
|
|
299
|
+
{ "startIndex": 94, "endIndex": 95, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
300
|
+
{ "startIndex": 95, "endIndex": 100, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.other.attribute-name.abl"] }, // 'alias'
|
|
301
|
+
{ "startIndex": 100, "endIndex": 101, "scopes": ["source.abl", "meta.declaration.annotation.abl", "keyword.operator.source.abl"] }, // '='
|
|
302
|
+
{ "startIndex": 101, "endIndex": 102, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
303
|
+
{ "startIndex": 102, "endIndex": 103, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
304
|
+
{ "startIndex": 103, "endIndex": 104, "scopes": ["source.abl", "meta.declaration.annotation.abl", "punctuation.separator.comma.abl"] }, // ','
|
|
305
|
+
{ "startIndex": 104, "endIndex": 105, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
306
|
+
{ "startIndex": 105, "endIndex": 114, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.other.attribute-name.abl"] }, // 'mediaType'
|
|
307
|
+
{ "startIndex": 114, "endIndex": 115, "scopes": ["source.abl", "meta.declaration.annotation.abl", "keyword.operator.source.abl"] }, // '='
|
|
308
|
+
{ "startIndex": 115, "endIndex": 116, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
309
|
+
{ "startIndex": 116, "endIndex": 132, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl"] }, // 'application/json'
|
|
310
|
+
{ "startIndex": 132, "endIndex": 133, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
311
|
+
{ "startIndex": 133, "endIndex": 134, "scopes": ["source.abl", "meta.declaration.annotation.abl", "meta.brace.round.js"] }, // ')'
|
|
312
|
+
{ "startIndex": 134, "endIndex": 135, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
|
|
313
|
+
],
|
|
314
|
+
[
|
|
315
|
+
{ "startIndex": 0, "endIndex": 4, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
316
|
+
{ "startIndex": 4, "endIndex": 28, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.name.tag.abl"] }, // '@openapi.openedge.single'
|
|
317
|
+
{ "startIndex": 28, "endIndex": 29, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
|
|
318
|
+
],
|
|
319
|
+
[
|
|
320
|
+
{ "startIndex": 0, "endIndex": 4, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
321
|
+
{ "startIndex": 4, "endIndex": 37, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.name.tag.abl"] }, // '@openapi.openedge.method.property'
|
|
322
|
+
{ "startIndex": 37, "endIndex": 38, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
323
|
+
{ "startIndex": 38, "endIndex": 39, "scopes": ["source.abl", "meta.declaration.annotation.abl", "meta.brace.round.js"] }, // '('
|
|
324
|
+
{ "startIndex": 39, "endIndex": 43, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.other.attribute-name.abl"] }, // 'name'
|
|
325
|
+
{ "startIndex": 43, "endIndex": 44, "scopes": ["source.abl", "meta.declaration.annotation.abl", "keyword.operator.source.abl"] }, // '='
|
|
326
|
+
{ "startIndex": 44, "endIndex": 45, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
327
|
+
{ "startIndex": 45, "endIndex": 56, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl"] }, // 'mappingType'
|
|
328
|
+
{ "startIndex": 56, "endIndex": 57, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
329
|
+
{ "startIndex": 57, "endIndex": 58, "scopes": ["source.abl", "meta.declaration.annotation.abl", "punctuation.separator.comma.abl"] }, // ','
|
|
330
|
+
{ "startIndex": 58, "endIndex": 59, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
331
|
+
{ "startIndex": 59, "endIndex": 64, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.other.attribute-name.abl"] }, // 'value'
|
|
332
|
+
{ "startIndex": 64, "endIndex": 65, "scopes": ["source.abl", "meta.declaration.annotation.abl", "keyword.operator.source.abl"] }, // '='
|
|
333
|
+
{ "startIndex": 65, "endIndex": 66, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
334
|
+
{ "startIndex": 66, "endIndex": 69, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl"] }, // 'JFP'
|
|
335
|
+
{ "startIndex": 69, "endIndex": 70, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
336
|
+
{ "startIndex": 70, "endIndex": 71, "scopes": ["source.abl", "meta.declaration.annotation.abl", "meta.brace.round.js"] }, // ')'
|
|
337
|
+
{ "startIndex": 71, "endIndex": 72, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
|
|
338
|
+
],
|
|
339
|
+
[
|
|
340
|
+
{ "startIndex": 0, "endIndex": 4, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
341
|
+
{ "startIndex": 4, "endIndex": 37, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.name.tag.abl"] }, // '@openapi.openedge.method.property'
|
|
342
|
+
{ "startIndex": 37, "endIndex": 38, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
343
|
+
{ "startIndex": 38, "endIndex": 39, "scopes": ["source.abl", "meta.declaration.annotation.abl", "meta.brace.round.js"] }, // '('
|
|
344
|
+
{ "startIndex": 39, "endIndex": 43, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.other.attribute-name.abl"] }, // 'name'
|
|
345
|
+
{ "startIndex": 43, "endIndex": 44, "scopes": ["source.abl", "meta.declaration.annotation.abl", "keyword.operator.source.abl"] }, // '='
|
|
346
|
+
{ "startIndex": 44, "endIndex": 45, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
347
|
+
{ "startIndex": 45, "endIndex": 57, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl"] }, // 'capabilities'
|
|
348
|
+
{ "startIndex": 57, "endIndex": 58, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
349
|
+
{ "startIndex": 58, "endIndex": 59, "scopes": ["source.abl", "meta.declaration.annotation.abl", "punctuation.separator.comma.abl"] }, // ','
|
|
350
|
+
{ "startIndex": 59, "endIndex": 60, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
351
|
+
{ "startIndex": 60, "endIndex": 65, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.other.attribute-name.abl"] }, // 'value'
|
|
352
|
+
{ "startIndex": 65, "endIndex": 66, "scopes": ["source.abl", "meta.declaration.annotation.abl", "keyword.operator.source.abl"] }, // '='
|
|
353
|
+
{ "startIndex": 66, "endIndex": 67, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
354
|
+
{ "startIndex": 67, "endIndex": 96, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl"] }, // 'ablFilter,top,skip,id,orderBy'
|
|
355
|
+
{ "startIndex": 96, "endIndex": 97, "scopes": ["source.abl", "meta.declaration.annotation.abl", "string.quoted.double.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
356
|
+
{ "startIndex": 97, "endIndex": 98, "scopes": ["source.abl", "meta.declaration.annotation.abl", "meta.brace.round.js"] }, // ')'
|
|
357
|
+
{ "startIndex": 98, "endIndex": 99, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
|
|
358
|
+
],
|
|
359
|
+
[
|
|
360
|
+
{ "startIndex": 0, "endIndex": 4, "scopes": ["source.abl", "meta.declaration.annotation.abl"] }, // ' '
|
|
361
|
+
{ "startIndex": 4, "endIndex": 28, "scopes": ["source.abl", "meta.declaration.annotation.abl", "entity.name.tag.abl"] }, // '@openapi.openedge.single'
|
|
362
|
+
{ "startIndex": 28, "endIndex": 29, "scopes": ["source.abl", "punctuation.terminator.abl"] } // '.'
|
|
363
|
+
]
|
|
364
|
+
];
|
|
365
|
+
shared.itShouldMatchExpectedScopes(statement, expectedTokens);
|
|
366
|
+
})
|
|
@@ -248,3 +248,20 @@ describe('UNC path, FQDN, and multiple dots in the filename', () => {
|
|
|
248
248
|
];
|
|
249
249
|
shared.itShouldMatchExpectedScopes(statement, expectedTokens);
|
|
250
250
|
});
|
|
251
|
+
|
|
252
|
+
describe('UNC path, FQDN, and multiple dots in the quoted filename', () => {
|
|
253
|
+
// see: https://github.com/vscode-abl/vscode-abl/issues/362
|
|
254
|
+
let statement = `{"\\\\fileserver.corp.company.com\\shared\\data\\config.backup.2024.07.29.i" &DEBUG=TRUE}`;
|
|
255
|
+
let expectedTokens = [
|
|
256
|
+
{ "startIndex": 0, "endIndex": 1, "scopes": ["source.abl", "meta.include.abl", "punctuation.section.abl"] }, // '{'
|
|
257
|
+
{ "startIndex": 1, "endIndex": 2, "scopes": ["source.abl", "meta.include.abl", "punctuation.definition.string.begin.abl"] }, // '"'
|
|
258
|
+
{ "startIndex": 2, "endIndex": 70, "scopes": ["source.abl", "meta.include.abl", "entity.name.include.abl"] }, // '\\fileserver.corp.company.com\shared\data\config.backup.2024.07.29.i'
|
|
259
|
+
{ "startIndex": 70, "endIndex": 71, "scopes": ["source.abl", "meta.include.abl", "punctuation.definition.string.end.abl"] }, // '"'
|
|
260
|
+
{ "startIndex": 71, "endIndex": 72, "scopes": ["source.abl", "meta.include.abl"] }, // ' '
|
|
261
|
+
{ "startIndex": 72, "endIndex": 78, "scopes": ["source.abl", "meta.include.abl", "meta.include.argument.abl", "support.other.argument.abl"] }, // '&DEBUG'
|
|
262
|
+
{ "startIndex": 78, "endIndex": 79, "scopes": ["source.abl", "meta.include.abl", "meta.include.argument.abl", "keyword.operator.source.abl"] }, // '='
|
|
263
|
+
{ "startIndex": 79, "endIndex": 83, "scopes": ["source.abl", "meta.include.abl", "support.other.argument.abl"] }, // 'TRUE'
|
|
264
|
+
{ "startIndex": 83, "endIndex": 84, "scopes": ["source.abl", "meta.include.abl", "punctuation.section.abl"] } // '}'
|
|
265
|
+
];
|
|
266
|
+
shared.itShouldMatchExpectedScopes(statement, expectedTokens);
|
|
267
|
+
});
|