@salesforce/apex-tmlanguage 1.8.0 → 1.8.2

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.
@@ -1,476 +1,476 @@
1
- name: "Apex"
2
- scopeName: "source.apex"
1
+ name: 'Apex'
2
+ scopeName: 'source.apex'
3
3
  fileTypes: [
4
- "apex"
5
- "cls"
6
- "trigger"
4
+ 'apex'
5
+ 'cls'
6
+ 'trigger'
7
7
  ]
8
- uuid: "F5FC6824-F257-43B1-B53A-14E1CCD18631"
8
+ uuid: 'F5FC6824-F257-43B1-B53A-14E1CCD18631'
9
9
  patterns: [
10
10
  {
11
- include: "#javadoc-comment"
11
+ include: '#javadoc-comment'
12
12
  }
13
13
  {
14
- include: "#comment"
14
+ include: '#comment'
15
15
  }
16
16
  {
17
- include: "#directives"
17
+ include: '#directives'
18
18
  }
19
19
  {
20
- include: "#declarations"
20
+ include: '#declarations'
21
21
  }
22
22
  {
23
- include: "#script-top-level"
23
+ include: '#script-top-level'
24
24
  }
25
25
  ]
26
26
  repository:
27
27
  directives:
28
28
  patterns: [
29
29
  {
30
- include: "#punctuation-semicolon"
30
+ include: '#punctuation-semicolon'
31
31
  }
32
32
  ]
33
33
  declarations:
34
34
  patterns: [
35
35
  {
36
- include: "#type-declarations"
36
+ include: '#type-declarations'
37
37
  }
38
38
  {
39
- include: "#punctuation-semicolon"
39
+ include: '#punctuation-semicolon'
40
40
  }
41
41
  ]
42
- "script-top-level":
42
+ 'script-top-level':
43
43
  patterns: [
44
44
  {
45
- include: "#method-declaration"
45
+ include: '#method-declaration'
46
46
  }
47
47
  {
48
- include: "#statement"
48
+ include: '#statement'
49
49
  }
50
50
  {
51
- include: "#punctuation-semicolon"
51
+ include: '#punctuation-semicolon'
52
52
  }
53
53
  ]
54
- "type-declarations":
54
+ 'type-declarations':
55
55
  patterns: [
56
56
  {
57
- include: "#javadoc-comment"
57
+ include: '#javadoc-comment'
58
58
  }
59
59
  {
60
- include: "#comment"
60
+ include: '#comment'
61
61
  }
62
62
  {
63
- include: "#annotation-declaration"
63
+ include: '#annotation-declaration'
64
64
  }
65
65
  {
66
- include: "#storage-modifier"
66
+ include: '#storage-modifier'
67
67
  }
68
68
  {
69
- include: "#sharing-modifier"
69
+ include: '#sharing-modifier'
70
70
  }
71
71
  {
72
- include: "#class-declaration"
72
+ include: '#class-declaration'
73
73
  }
74
74
  {
75
- include: "#enum-declaration"
75
+ include: '#enum-declaration'
76
76
  }
77
77
  {
78
- include: "#interface-declaration"
78
+ include: '#interface-declaration'
79
79
  }
80
80
  {
81
- include: "#trigger-declaration"
81
+ include: '#trigger-declaration'
82
82
  }
83
83
  {
84
- include: "#punctuation-semicolon"
84
+ include: '#punctuation-semicolon'
85
85
  }
86
86
  ]
87
- "class-or-trigger-members":
87
+ 'class-or-trigger-members':
88
88
  patterns: [
89
89
  {
90
- include: "#javadoc-comment"
90
+ include: '#javadoc-comment'
91
91
  }
92
92
  {
93
- include: "#comment"
93
+ include: '#comment'
94
94
  }
95
95
  {
96
- include: "#storage-modifier"
96
+ include: '#storage-modifier'
97
97
  }
98
98
  {
99
- include: "#sharing-modifier"
99
+ include: '#sharing-modifier'
100
100
  }
101
101
  {
102
- include: "#type-declarations"
102
+ include: '#type-declarations'
103
103
  }
104
104
  {
105
- include: "#field-declaration"
105
+ include: '#field-declaration'
106
106
  }
107
107
  {
108
- include: "#property-declaration"
108
+ include: '#property-declaration'
109
109
  }
110
110
  {
111
- include: "#indexer-declaration"
111
+ include: '#indexer-declaration'
112
112
  }
113
113
  {
114
- include: "#variable-initializer"
114
+ include: '#variable-initializer'
115
115
  }
116
116
  {
117
- include: "#constructor-declaration"
117
+ include: '#constructor-declaration'
118
118
  }
119
119
  {
120
- include: "#method-declaration"
120
+ include: '#method-declaration'
121
121
  }
122
122
  {
123
- include: "#punctuation-semicolon"
123
+ include: '#punctuation-semicolon'
124
124
  }
125
125
  ]
126
- "interface-members":
126
+ 'interface-members':
127
127
  patterns: [
128
128
  {
129
- include: "#javadoc-comment"
129
+ include: '#javadoc-comment'
130
130
  }
131
131
  {
132
- include: "#comment"
132
+ include: '#comment'
133
133
  }
134
134
  {
135
- include: "#property-declaration"
135
+ include: '#property-declaration'
136
136
  }
137
137
  {
138
- include: "#indexer-declaration"
138
+ include: '#indexer-declaration'
139
139
  }
140
140
  {
141
- include: "#method-declaration"
141
+ include: '#method-declaration'
142
142
  }
143
143
  {
144
- include: "#punctuation-semicolon"
144
+ include: '#punctuation-semicolon'
145
145
  }
146
146
  ]
147
147
  statement:
148
148
  patterns: [
149
149
  {
150
- include: "#comment"
150
+ include: '#comment'
151
151
  }
152
152
  {
153
- include: "#while-statement"
153
+ include: '#while-statement'
154
154
  }
155
155
  {
156
- include: "#do-statement"
156
+ include: '#do-statement'
157
157
  }
158
158
  {
159
- include: "#for-statement"
159
+ include: '#for-statement'
160
160
  }
161
161
  {
162
- include: "#switch-statement"
162
+ include: '#switch-statement'
163
163
  }
164
164
  {
165
- include: "#when-else-statement"
165
+ include: '#when-else-statement'
166
166
  }
167
167
  {
168
- include: "#when-sobject-statement"
168
+ include: '#when-sobject-statement'
169
169
  }
170
170
  {
171
- include: "#when-statement"
171
+ include: '#when-statement'
172
172
  }
173
173
  {
174
- include: "#when-multiple-statement"
174
+ include: '#when-multiple-statement'
175
175
  }
176
176
  {
177
- include: "#if-statement"
177
+ include: '#if-statement'
178
178
  }
179
179
  {
180
- include: "#else-part"
180
+ include: '#else-part'
181
181
  }
182
182
  {
183
- include: "#goto-statement"
183
+ include: '#goto-statement'
184
184
  }
185
185
  {
186
- include: "#return-statement"
186
+ include: '#return-statement'
187
187
  }
188
188
  {
189
- include: "#break-or-continue-statement"
189
+ include: '#break-or-continue-statement'
190
190
  }
191
191
  {
192
- include: "#throw-statement"
192
+ include: '#throw-statement'
193
193
  }
194
194
  {
195
- include: "#try-statement"
195
+ include: '#try-statement'
196
196
  }
197
197
  {
198
- include: "#soql-query-expression"
198
+ include: '#soql-query-expression'
199
199
  }
200
200
  {
201
- include: "#local-declaration"
201
+ include: '#local-declaration'
202
202
  }
203
203
  {
204
- include: "#block"
204
+ include: '#block'
205
205
  }
206
206
  {
207
- include: "#expression"
207
+ include: '#expression'
208
208
  }
209
209
  {
210
- include: "#punctuation-semicolon"
210
+ include: '#punctuation-semicolon'
211
211
  }
212
212
  ]
213
213
  expression:
214
214
  patterns: [
215
215
  {
216
- include: "#comment"
216
+ include: '#comment'
217
217
  }
218
218
  {
219
- include: "#merge-expression"
219
+ include: '#merge-expression'
220
220
  }
221
221
  {
222
- include: "#support-expression"
222
+ include: '#support-expression'
223
223
  }
224
224
  {
225
- include: "#throw-expression"
225
+ include: '#throw-expression'
226
226
  }
227
227
  {
228
- include: "#this-expression"
228
+ include: '#this-expression'
229
229
  }
230
230
  {
231
- include: "#trigger-context-declaration"
231
+ include: '#trigger-context-declaration'
232
232
  }
233
233
  {
234
- include: "#conditional-operator"
234
+ include: '#conditional-operator'
235
235
  }
236
236
  {
237
- include: "#expression-operators"
237
+ include: '#expression-operators'
238
238
  }
239
239
  {
240
- include: "#soql-query-expression"
240
+ include: '#soql-query-expression'
241
241
  }
242
242
  {
243
- include: "#object-creation-expression"
243
+ include: '#object-creation-expression'
244
244
  }
245
245
  {
246
- include: "#array-creation-expression"
246
+ include: '#array-creation-expression'
247
247
  }
248
248
  {
249
- include: "#invocation-expression"
249
+ include: '#invocation-expression'
250
250
  }
251
251
  {
252
- include: "#member-access-expression"
252
+ include: '#member-access-expression'
253
253
  }
254
254
  {
255
- include: "#element-access-expression"
255
+ include: '#element-access-expression'
256
256
  }
257
257
  {
258
- include: "#cast-expression"
258
+ include: '#cast-expression'
259
259
  }
260
260
  {
261
- include: "#literal"
261
+ include: '#literal'
262
262
  }
263
263
  {
264
- include: "#parenthesized-expression"
264
+ include: '#parenthesized-expression'
265
265
  }
266
266
  {
267
- include: "#initializer-expression"
267
+ include: '#initializer-expression'
268
268
  }
269
269
  {
270
- include: "#identifier"
270
+ include: '#identifier'
271
271
  }
272
272
  ]
273
- "annotation-declaration":
274
- begin: "([@][_[:alpha:]]+)\\b"
273
+ 'annotation-declaration':
274
+ begin: '([@][_[:alpha:]]+)\\b'
275
275
  beginCaptures:
276
- "1":
277
- name: "storage.type.annotation.apex"
278
- end: "(?<=\\)|$)"
276
+ '1':
277
+ name: 'storage.type.annotation.apex'
278
+ end: '(?=\\s(?!\\())|(?=\\s*$)|(?<=\\s*\\))'
279
279
  patterns: [
280
280
  {
281
- begin: "\\("
281
+ begin: '\\('
282
282
  beginCaptures:
283
- "0":
284
- name: "punctuation.parenthesis.open.apex"
285
- end: "\\)"
283
+ '0':
284
+ name: 'punctuation.parenthesis.open.apex'
285
+ end: '\\)'
286
286
  endCaptures:
287
- "0":
288
- name: "punctuation.parenthesis.close.apex"
287
+ '0':
288
+ name: 'punctuation.parenthesis.close.apex'
289
289
  patterns: [
290
290
  {
291
- include: "#expression"
291
+ include: '#expression'
292
292
  }
293
293
  ]
294
294
  }
295
295
  {
296
- include: "#statement"
296
+ include: '#statement'
297
297
  }
298
298
  ]
299
- "support-expression":
299
+ 'support-expression':
300
300
  begin: '''
301
301
  (?x)
302
302
  (ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)(?=\\.|\\s) # supported apex namespaces
303
303
  '''
304
304
  beginCaptures:
305
- "1":
306
- name: "support.class.apex"
307
- end: "(?<=\\)|$)|(?=\\})|(?=;)|(?=\\)|(?=\\]))|(?=\\,)"
305
+ '1':
306
+ name: 'support.class.apex'
307
+ end: '(?<=\\)|$)|(?=\\})|(?=;)|(?=\\)|(?=\\]))|(?=\\,)'
308
308
  patterns: [
309
309
  {
310
- include: "#support-type"
310
+ include: '#support-type'
311
311
  }
312
312
  {
313
- match: "(?:(\\.))([[:alpha:]]*)(?=\\()"
313
+ match: '(?:(\\.))([[:alpha:]]*)(?=\\()'
314
314
  captures:
315
- "1":
316
- name: "punctuation.accessor.apex"
317
- "2":
318
- name: "support.function.apex"
315
+ '1':
316
+ name: 'punctuation.accessor.apex'
317
+ '2':
318
+ name: 'support.function.apex'
319
319
  }
320
320
  {
321
- match: "(?:(\\.))([[:alpha:]]+)"
321
+ match: '(?:(\\.))([[:alpha:]]+)'
322
322
  captures:
323
- "1":
324
- name: "punctuation.accessor.apex"
325
- "2":
326
- name: "support.type.apex"
323
+ '1':
324
+ name: 'punctuation.accessor.apex'
325
+ '2':
326
+ name: 'support.type.apex'
327
327
  }
328
328
  {
329
- begin: "\\("
329
+ begin: '\\('
330
330
  beginCaptures:
331
- "0":
332
- name: "punctuation.parenthesis.open.apex"
333
- end: "\\)"
331
+ '0':
332
+ name: 'punctuation.parenthesis.open.apex'
333
+ end: '\\)'
334
334
  endCaptures:
335
- "0":
336
- name: "punctuation.parenthesis.close.apex"
335
+ '0':
336
+ name: 'punctuation.parenthesis.close.apex'
337
337
  patterns: [
338
338
  {
339
- include: "#expression"
339
+ include: '#expression'
340
340
  }
341
341
  {
342
- include: "#punctuation-comma"
342
+ include: '#punctuation-comma'
343
343
  }
344
344
  ]
345
345
  }
346
346
  {
347
- include: "#comment"
347
+ include: '#comment'
348
348
  }
349
349
  {
350
- include: "#statement"
350
+ include: '#statement'
351
351
  }
352
352
  ]
353
- "support-type":
354
- name: "support.apex"
353
+ 'support-type':
354
+ name: 'support.apex'
355
355
  patterns: [
356
356
  {
357
- include: "#comment"
357
+ include: '#comment'
358
358
  }
359
359
  {
360
- include: "#support-class"
360
+ include: '#support-class'
361
361
  }
362
362
  {
363
- include: "#support-functions"
363
+ include: '#support-functions'
364
364
  }
365
365
  {
366
- include: "#support-name"
366
+ include: '#support-name'
367
367
  }
368
368
  ]
369
- "support-class":
370
- match: "\\b(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)\\b"
369
+ 'support-class':
370
+ match: '\\b(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)\\b'
371
371
  captures:
372
- "1":
373
- name: "support.class.apex"
374
- "support-functions":
375
- match: "\\b(delete|execute|finish|insert|start|undelete|update|upsert)\\b"
372
+ '1':
373
+ name: 'support.class.apex'
374
+ 'support-functions':
375
+ match: '\\b(delete|execute|finish|insert|start|undelete|update|upsert)\\b'
376
376
  captures:
377
- "1":
378
- name: "support.function.apex"
379
- "support-name":
377
+ '1':
378
+ name: 'support.function.apex'
379
+ 'support-name':
380
380
  patterns: [
381
381
  {
382
- match: "(\\.)\\s*([[:alpha:]]*)(?=\\()"
382
+ match: '(\\.)\\s*([[:alpha:]]*)(?=\\()'
383
383
  captures:
384
- "1":
385
- name: "punctuation.accessor.apex"
386
- "2":
387
- name: "support.function.apex"
384
+ '1':
385
+ name: 'punctuation.accessor.apex'
386
+ '2':
387
+ name: 'support.function.apex'
388
388
  }
389
389
  {
390
- begin: "\\("
390
+ begin: '\\('
391
391
  beginCaptures:
392
- "0":
393
- name: "punctuation.parenthesis.open.apex"
394
- end: "\\)"
392
+ '0':
393
+ name: 'punctuation.parenthesis.open.apex'
394
+ end: '\\)'
395
395
  endCaptures:
396
- "0":
397
- name: "punctuation.parenthesis.close.apex"
396
+ '0':
397
+ name: 'punctuation.parenthesis.close.apex'
398
398
  patterns: [
399
399
  {
400
- include: "#expression"
400
+ include: '#expression'
401
401
  }
402
402
  {
403
- include: "#punctuation-comma"
403
+ include: '#punctuation-comma'
404
404
  }
405
405
  ]
406
406
  }
407
407
  {
408
- match: "(\\.)\\s*([_[:alpha:]]*)"
408
+ match: '(\\.)\\s*([_[:alpha:]]*)'
409
409
  captures:
410
- "1":
411
- name: "punctuation.accessor.apex"
412
- "2":
413
- name: "support.type.apex"
410
+ '1':
411
+ name: 'punctuation.accessor.apex'
412
+ '2':
413
+ name: 'support.type.apex'
414
414
  }
415
415
  ]
416
- "support-arguments":
417
- begin: "<"
416
+ 'support-arguments':
417
+ begin: '<'
418
418
  beginCaptures:
419
- "0":
420
- name: "punctuation.definition.typeparameters.begin.apex"
421
- end: ">"
419
+ '0':
420
+ name: 'punctuation.definition.typeparameters.begin.apex'
421
+ end: '>'
422
422
  endCaptures:
423
- "0":
424
- name: "punctuation.definition.typeparameters.end.apex"
423
+ '0':
424
+ name: 'punctuation.definition.typeparameters.end.apex'
425
425
  patterns: [
426
426
  {
427
- include: "#comment"
427
+ include: '#comment'
428
428
  }
429
429
  {
430
- include: "#support-type"
430
+ include: '#support-type'
431
431
  }
432
432
  {
433
- include: "#punctuation-comma"
433
+ include: '#punctuation-comma'
434
434
  }
435
435
  ]
436
- "merge-expression":
437
- begin: "(merge)\\b\\s+"
436
+ 'merge-expression':
437
+ begin: '(merge)\\b\\s+'
438
438
  beginCaptures:
439
- "1":
440
- name: "support.function.apex"
441
- end: "(?<=\\;)"
439
+ '1':
440
+ name: 'support.function.apex'
441
+ end: '(?<=\\;)'
442
442
  patterns: [
443
443
  {
444
- include: "#object-creation-expression"
444
+ include: '#object-creation-expression'
445
445
  }
446
446
  {
447
- include: "#merge-type-statement"
447
+ include: '#merge-type-statement'
448
448
  }
449
449
  {
450
- include: "#expression"
450
+ include: '#expression'
451
451
  }
452
452
  {
453
- include: "#punctuation-semicolon"
453
+ include: '#punctuation-semicolon'
454
454
  }
455
455
  ]
456
- "merge-type-statement":
457
- match: "([_[:alpha:]]*)\\b\\s+([_[:alpha:]]*)\\b\\s*(\\;)"
456
+ 'merge-type-statement':
457
+ match: '([_[:alpha:]]*)\\b\\s+([_[:alpha:]]*)\\b\\s*(\\;)'
458
458
  captures:
459
- "1":
460
- name: "variable.other.readwrite.apex"
461
- "2":
462
- name: "variable.other.readwrite.apex"
463
- "3":
464
- name: "punctuation.terminator.statement.apex"
465
- "sharing-modifier":
466
- name: "sharing.modifier.apex"
467
- match: "(?<!\\.)\\b(with sharing|without sharing|inherited sharing)\\b"
468
- "storage-modifier":
469
- name: "storage.modifier.apex"
470
- match: "(?<!\\.)\\b(new|public|protected|private|abstract|virtual|override|global|static|final|transient)\\b"
471
- "class-declaration":
472
- begin: "(?=\\bclass\\b)"
473
- end: "(?<=\\})"
459
+ '1':
460
+ name: 'variable.other.readwrite.apex'
461
+ '2':
462
+ name: 'variable.other.readwrite.apex'
463
+ '3':
464
+ name: 'punctuation.terminator.statement.apex'
465
+ 'sharing-modifier':
466
+ name: 'sharing.modifier.apex'
467
+ match: '(?<!\\.)\\b(with sharing|without sharing|inherited sharing)\\b'
468
+ 'storage-modifier':
469
+ name: 'storage.modifier.apex'
470
+ match: '(?<!\\.)\\b(new|public|protected|private|abstract|virtual|override|global|static|final|transient)\\b'
471
+ 'class-declaration':
472
+ begin: '(?=\\bclass\\b)'
473
+ end: '(?<=\\})'
474
474
  patterns: [
475
475
  {
476
476
  begin: '''
@@ -479,54 +479,54 @@ repository:
479
479
  (@?[_[:alpha:]][_[:alnum:]]*)\\s*
480
480
  '''
481
481
  beginCaptures:
482
- "1":
483
- name: "keyword.other.class.apex"
484
- "2":
485
- name: "entity.name.type.class.apex"
486
- end: "(?=\\{)"
482
+ '1':
483
+ name: 'keyword.other.class.apex'
484
+ '2':
485
+ name: 'entity.name.type.class.apex'
486
+ end: '(?=\\{)'
487
487
  patterns: [
488
488
  {
489
- include: "#javadoc-comment"
489
+ include: '#javadoc-comment'
490
490
  }
491
491
  {
492
- include: "#comment"
492
+ include: '#comment'
493
493
  }
494
494
  {
495
- include: "#type-parameter-list"
495
+ include: '#type-parameter-list'
496
496
  }
497
497
  {
498
- include: "#extends-class"
498
+ include: '#extends-class'
499
499
  }
500
500
  {
501
- include: "#implements-class"
501
+ include: '#implements-class'
502
502
  }
503
503
  ]
504
504
  }
505
505
  {
506
- begin: "\\{"
506
+ begin: '\\{'
507
507
  beginCaptures:
508
- "0":
509
- name: "punctuation.curlybrace.open.apex"
510
- end: "\\}"
508
+ '0':
509
+ name: 'punctuation.curlybrace.open.apex'
510
+ end: '\\}'
511
511
  endCaptures:
512
- "0":
513
- name: "punctuation.curlybrace.close.apex"
512
+ '0':
513
+ name: 'punctuation.curlybrace.close.apex'
514
514
  patterns: [
515
515
  {
516
- include: "#class-or-trigger-members"
516
+ include: '#class-or-trigger-members'
517
517
  }
518
518
  ]
519
519
  }
520
520
  {
521
- include: "#javadoc-comment"
521
+ include: '#javadoc-comment'
522
522
  }
523
523
  {
524
- include: "#comment"
524
+ include: '#comment'
525
525
  }
526
526
  ]
527
- "trigger-declaration":
528
- begin: "(?=\\btrigger\\b)"
529
- end: "(?<=\\})"
527
+ 'trigger-declaration':
528
+ begin: '(?=\\btrigger\\b)'
529
+ end: '(?<=\\})'
530
530
  patterns: [
531
531
  {
532
532
  begin: '''
@@ -537,215 +537,215 @@ repository:
537
537
  ([_[:alpha:]][_[:alnum:]]*)\\s*
538
538
  '''
539
539
  beginCaptures:
540
- "1":
541
- name: "keyword.other.trigger.apex"
542
- "2":
543
- name: "entity.name.type.trigger.apex"
544
- "3":
545
- name: "keyword.operator.trigger.on.apex"
546
- "4":
547
- name: "storage.type.apex"
548
- end: "(?=\\{)"
540
+ '1':
541
+ name: 'keyword.other.trigger.apex'
542
+ '2':
543
+ name: 'entity.name.type.trigger.apex'
544
+ '3':
545
+ name: 'keyword.operator.trigger.on.apex'
546
+ '4':
547
+ name: 'storage.type.apex'
548
+ end: '(?=\\{)'
549
549
  patterns: [
550
550
  {
551
- begin: "\\("
551
+ begin: '\\('
552
552
  beginCaptures:
553
- "0":
554
- name: "punctuation.parenthesis.open.apex"
555
- end: "\\)"
553
+ '0':
554
+ name: 'punctuation.parenthesis.open.apex'
555
+ end: '\\)'
556
556
  endCaptures:
557
- "0":
558
- name: "punctuation.parenthesis.close.apex"
557
+ '0':
558
+ name: 'punctuation.parenthesis.close.apex'
559
559
  patterns: [
560
560
  {
561
- include: "#trigger-type-statement"
561
+ include: '#trigger-type-statement'
562
562
  }
563
563
  {
564
- include: "#trigger-operator-statement"
564
+ include: '#trigger-operator-statement'
565
565
  }
566
566
  {
567
- include: "#punctuation-comma"
567
+ include: '#punctuation-comma'
568
568
  }
569
569
  {
570
- include: "#expression"
570
+ include: '#expression'
571
571
  }
572
572
  ]
573
573
  }
574
574
  {
575
- include: "#javadoc-comment"
575
+ include: '#javadoc-comment'
576
576
  }
577
577
  {
578
- include: "#comment"
578
+ include: '#comment'
579
579
  }
580
580
  {
581
- include: "#type-parameter-list"
581
+ include: '#type-parameter-list'
582
582
  }
583
583
  ]
584
584
  }
585
585
  {
586
- begin: "\\{"
586
+ begin: '\\{'
587
587
  beginCaptures:
588
- "0":
589
- name: "punctuation.curlybrace.open.apex"
590
- end: "\\}"
588
+ '0':
589
+ name: 'punctuation.curlybrace.open.apex'
590
+ end: '\\}'
591
591
  endCaptures:
592
- "0":
593
- name: "punctuation.curlybrace.close.apex"
592
+ '0':
593
+ name: 'punctuation.curlybrace.close.apex'
594
594
  patterns: [
595
595
  {
596
- include: "#statement"
596
+ include: '#statement'
597
597
  }
598
598
  {
599
- include: "#class-or-trigger-members"
599
+ include: '#class-or-trigger-members'
600
600
  }
601
601
  ]
602
602
  }
603
603
  {
604
- include: "#javadoc-comment"
604
+ include: '#javadoc-comment'
605
605
  }
606
606
  {
607
- include: "#comment"
607
+ include: '#comment'
608
608
  }
609
609
  ]
610
- "trigger-type-statement":
611
- match: "\\b(?:(before)|(after))\\b"
610
+ 'trigger-type-statement':
611
+ match: '\\b(?:(before)|(after))\\b'
612
612
  captures:
613
- "1":
614
- name: "keyword.control.trigger.before.apex"
615
- "2":
616
- name: "keyword.control.trigger.after.apex"
617
- "trigger-operator-statement":
618
- name: "keyword.operator.trigger.apex"
619
- match: "\\b(insert|update|delete|merge|upsert|undelete)\\b"
620
- "trigger-context-declaration":
621
- begin: "\\b(?:(Trigger))\\b(\\.)\\b"
613
+ '1':
614
+ name: 'keyword.control.trigger.before.apex'
615
+ '2':
616
+ name: 'keyword.control.trigger.after.apex'
617
+ 'trigger-operator-statement':
618
+ name: 'keyword.operator.trigger.apex'
619
+ match: '\\b(insert|update|delete|merge|upsert|undelete)\\b'
620
+ 'trigger-context-declaration':
621
+ begin: '\\b(?:(Trigger))\\b(\\.)\\b'
622
622
  beginCaptures:
623
- "1":
624
- name: "support.class.trigger.apex"
625
- "2":
626
- name: "punctuation.accessor.apex"
627
- end: "(?=\\})|(?=;)|(?=\\)|(?=\\]))"
623
+ '1':
624
+ name: 'support.class.trigger.apex'
625
+ '2':
626
+ name: 'punctuation.accessor.apex'
627
+ end: '(?=\\})|(?=;)|(?=\\)|(?=\\]))'
628
628
  patterns: [
629
629
  {
630
- name: "support.type.trigger.apex"
631
- match: "\\b(isExecuting|isInsert|isUpdate|isDelete|isBefore|isAfter|isUndelete|new|newMap|old|oldMap|size)\\b"
630
+ name: 'support.type.trigger.apex'
631
+ match: '\\b(isExecuting|isInsert|isUpdate|isDelete|isBefore|isAfter|isUndelete|new|newMap|old|oldMap|size)\\b'
632
632
  }
633
633
  {
634
- match: "(?:(\\??\\.))([[:alpha:]]+)(?=\\()"
634
+ match: '(?:(\\??\\.))([[:alpha:]]+)(?=\\()'
635
635
  captures:
636
- "1":
636
+ '1':
637
637
  patterns: [
638
638
  {
639
- include: "#punctuation-accessor"
639
+ include: '#punctuation-accessor'
640
640
  }
641
641
  {
642
- include: "#operator-safe-navigation"
642
+ include: '#operator-safe-navigation'
643
643
  }
644
644
  ]
645
- "2":
646
- name: "support.function.trigger.apex"
645
+ '2':
646
+ name: 'support.function.trigger.apex'
647
647
  }
648
648
  {
649
- begin: "\\("
649
+ begin: '\\('
650
650
  beginCaptures:
651
- "0":
652
- name: "punctuation.parenthesis.open.apex"
653
- end: "\\)"
651
+ '0':
652
+ name: 'punctuation.parenthesis.open.apex'
653
+ end: '\\)'
654
654
  endCaptures:
655
- "0":
656
- name: "punctuation.parenthesis.close.apex"
655
+ '0':
656
+ name: 'punctuation.parenthesis.close.apex'
657
657
  patterns: [
658
658
  {
659
- include: "#trigger-type-statement"
659
+ include: '#trigger-type-statement'
660
660
  }
661
661
  {
662
- include: "#javadoc-comment"
662
+ include: '#javadoc-comment'
663
663
  }
664
664
  {
665
- include: "#comment"
665
+ include: '#comment'
666
666
  }
667
667
  {
668
- include: "#expression"
668
+ include: '#expression'
669
669
  }
670
670
  ]
671
671
  }
672
672
  {
673
- include: "#expression"
673
+ include: '#expression'
674
674
  }
675
675
  ]
676
- "enum-declaration":
677
- begin: "(?=\\benum\\b)"
678
- end: "(?<=\\})"
676
+ 'enum-declaration':
677
+ begin: '(?=\\benum\\b)'
678
+ end: '(?<=\\})'
679
679
  patterns: [
680
680
  {
681
- begin: "(?=enum)"
682
- end: "(?=\\{)"
681
+ begin: '(?=enum)'
682
+ end: '(?=\\{)'
683
683
  patterns: [
684
684
  {
685
- include: "#javadoc-comment"
685
+ include: '#javadoc-comment'
686
686
  }
687
687
  {
688
- include: "#comment"
688
+ include: '#comment'
689
689
  }
690
690
  {
691
- match: "(enum)\\s+(@?[_[:alpha:]][_[:alnum:]]*)"
691
+ match: '(enum)\\s+(@?[_[:alpha:]][_[:alnum:]]*)'
692
692
  captures:
693
- "1":
694
- name: "keyword.other.enum.apex"
695
- "2":
696
- name: "entity.name.type.enum.apex"
693
+ '1':
694
+ name: 'keyword.other.enum.apex'
695
+ '2':
696
+ name: 'entity.name.type.enum.apex'
697
697
  }
698
698
  ]
699
699
  }
700
700
  {
701
- begin: "\\{"
701
+ begin: '\\{'
702
702
  beginCaptures:
703
- "0":
704
- name: "punctuation.curlybrace.open.apex"
705
- end: "\\}"
703
+ '0':
704
+ name: 'punctuation.curlybrace.open.apex'
705
+ end: '\\}'
706
706
  endCaptures:
707
- "0":
708
- name: "punctuation.curlybrace.close.apex"
707
+ '0':
708
+ name: 'punctuation.curlybrace.close.apex'
709
709
  patterns: [
710
710
  {
711
- include: "#javadoc-comment"
711
+ include: '#javadoc-comment'
712
712
  }
713
713
  {
714
- include: "#comment"
714
+ include: '#comment'
715
715
  }
716
716
  {
717
- include: "#punctuation-comma"
717
+ include: '#punctuation-comma'
718
718
  }
719
719
  {
720
- begin: "@?[_[:alpha:]][_[:alnum:]]*"
720
+ begin: '@?[_[:alpha:]][_[:alnum:]]*'
721
721
  beginCaptures:
722
- "0":
723
- name: "entity.name.variable.enum-member.apex"
724
- end: "(?=(,|\\}))"
722
+ '0':
723
+ name: 'entity.name.variable.enum-member.apex'
724
+ end: '(?=(,|\\}))'
725
725
  patterns: [
726
726
  {
727
- include: "#javadoc-comment"
727
+ include: '#javadoc-comment'
728
728
  }
729
729
  {
730
- include: "#comment"
730
+ include: '#comment'
731
731
  }
732
732
  {
733
- include: "#variable-initializer"
733
+ include: '#variable-initializer'
734
734
  }
735
735
  ]
736
736
  }
737
737
  ]
738
738
  }
739
739
  {
740
- include: "#javadoc-comment"
740
+ include: '#javadoc-comment'
741
741
  }
742
742
  {
743
- include: "#comment"
743
+ include: '#comment'
744
744
  }
745
745
  ]
746
- "interface-declaration":
747
- begin: "(?=\\binterface\\b)"
748
- end: "(?<=\\})"
746
+ 'interface-declaration':
747
+ begin: '(?=\\binterface\\b)'
748
+ end: '(?<=\\})'
749
749
  patterns: [
750
750
  {
751
751
  begin: '''
@@ -754,358 +754,366 @@ repository:
754
754
  (@?[_[:alpha:]][_[:alnum:]]*)
755
755
  '''
756
756
  beginCaptures:
757
- "1":
758
- name: "keyword.other.interface.apex"
759
- "2":
760
- name: "entity.name.type.interface.apex"
761
- end: "(?=\\{)"
757
+ '1':
758
+ name: 'keyword.other.interface.apex'
759
+ '2':
760
+ name: 'entity.name.type.interface.apex'
761
+ end: '(?=\\{)'
762
762
  patterns: [
763
763
  {
764
- include: "#javadoc-comment"
764
+ include: '#javadoc-comment'
765
765
  }
766
766
  {
767
- include: "#comment"
767
+ include: '#comment'
768
768
  }
769
769
  {
770
- include: "#type-parameter-list"
770
+ include: '#type-parameter-list'
771
771
  }
772
772
  {
773
- include: "#extends-class"
773
+ include: '#extends-class'
774
774
  }
775
775
  ]
776
776
  }
777
777
  {
778
- begin: "\\{"
778
+ begin: '\\{'
779
779
  beginCaptures:
780
- "0":
781
- name: "punctuation.curlybrace.open.apex"
782
- end: "\\}"
780
+ '0':
781
+ name: 'punctuation.curlybrace.open.apex'
782
+ end: '\\}'
783
783
  endCaptures:
784
- "0":
785
- name: "punctuation.curlybrace.close.apex"
784
+ '0':
785
+ name: 'punctuation.curlybrace.close.apex'
786
786
  patterns: [
787
787
  {
788
- include: "#interface-members"
788
+ include: '#interface-members'
789
789
  }
790
790
  ]
791
791
  }
792
792
  {
793
- include: "#javadoc-comment"
793
+ include: '#javadoc-comment'
794
794
  }
795
795
  {
796
- include: "#comment"
796
+ include: '#comment'
797
797
  }
798
798
  ]
799
- "extends-class":
800
- begin: "(extends)\\b\\s+([_[:alpha:]][_[:alnum:]]*)"
799
+ 'extends-class':
800
+ begin: '(extends)\\b\\s+([_[:alpha:]][_[:alnum:]]*)'
801
801
  beginCaptures:
802
- "1":
803
- name: "keyword.other.extends.apex"
804
- "2":
805
- name: "entity.name.type.extends.apex"
806
- end: "(?={|implements)"
807
- "implements-class":
808
- begin: "(implements)\\b\\s+([_[:alpha:]][_[:alnum:]]*)"
802
+ '1':
803
+ name: 'keyword.other.extends.apex'
804
+ '2':
805
+ name: 'entity.name.type.extends.apex'
806
+ end: '(?={|implements)'
807
+ 'implements-class':
808
+ begin: '(implements)\\b'
809
809
  beginCaptures:
810
- "1":
811
- name: "keyword.other.implements.apex"
812
- "2":
813
- name: "entity.name.type.implements.apex"
814
- end: "(?={|extends)"
815
- "soql-query-expression":
816
- begin: "\\b(SELECT)\\b\\s*"
810
+ '1':
811
+ name: 'keyword.other.implements.apex'
812
+ patterns: [
813
+ {
814
+ match: '([_[:alpha:]][_[:alnum:]]*)\\b\\s*(,)?'
815
+ captures:
816
+ '1':
817
+ name: 'entity.name.type.implements.apex'
818
+ '2':
819
+ name: 'punctuation.separator.comma.apex'
820
+ }
821
+ ]
822
+ end: '(?={|extends)'
823
+ 'soql-query-expression':
824
+ begin: '\\b(SELECT)\\b\\s*'
817
825
  beginCaptures:
818
- "1":
819
- name: "keyword.operator.query.select.apex"
820
- end: "(?=;)|(?=\\])|(?=\\))"
826
+ '1':
827
+ name: 'keyword.operator.query.select.apex'
828
+ end: '(?=;)|(?=\\])|(?=\\))'
821
829
  patterns: [
822
830
  {
823
- include: "#soql-query-body"
831
+ include: '#soql-query-body'
824
832
  }
825
833
  {
826
- include: "#comment"
834
+ include: '#comment'
827
835
  }
828
836
  {
829
- include: "#punctuation-comma"
837
+ include: '#punctuation-comma'
830
838
  }
831
839
  {
832
- include: "#operator-assignment"
840
+ include: '#operator-assignment'
833
841
  }
834
842
  {
835
- include: "#parenthesized-expression"
843
+ include: '#parenthesized-expression'
836
844
  }
837
845
  {
838
- include: "#expression-operators"
846
+ include: '#expression-operators'
839
847
  }
840
848
  {
841
- include: "#literal"
849
+ include: '#literal'
842
850
  }
843
851
  {
844
- match: "([_.[:alpha:]][_.[:alnum:]]*)\\s*(\\,)?"
852
+ match: '([_.[:alpha:]][_.[:alnum:]]*)\\s*(\\,)?'
845
853
  captures:
846
- "1":
847
- name: "keyword.query.field.apex"
848
- "2":
849
- name: "punctuation.separator.comma.apex"
854
+ '1':
855
+ name: 'keyword.query.field.apex'
856
+ '2':
857
+ name: 'punctuation.separator.comma.apex'
850
858
  }
851
859
  ]
852
- "soql-query-body":
860
+ 'soql-query-body':
853
861
  patterns: [
854
862
  {
855
- include: "#trigger-context-declaration"
863
+ include: '#trigger-context-declaration'
856
864
  }
857
865
  {
858
- include: "#soql-colon-vars"
866
+ include: '#soql-colon-vars'
859
867
  }
860
868
  {
861
- include: "#soql-functions"
869
+ include: '#soql-functions'
862
870
  }
863
871
  {
864
- include: "#from-clause"
872
+ include: '#from-clause'
865
873
  }
866
874
  {
867
- include: "#where-clause"
875
+ include: '#where-clause'
868
876
  }
869
877
  {
870
- include: "#query-operators"
878
+ include: '#query-operators'
871
879
  }
872
880
  {
873
- include: "#date-literals"
881
+ include: '#date-literals'
874
882
  }
875
883
  {
876
- include: "#date-literal-with-params"
884
+ include: '#date-literal-with-params'
877
885
  }
878
886
  {
879
- include: "#using-scope"
887
+ include: '#using-scope'
880
888
  }
881
889
  {
882
- include: "#soql-group-clauses"
890
+ include: '#soql-group-clauses'
883
891
  }
884
892
  {
885
- include: "#orderby-clause"
893
+ include: '#orderby-clause'
886
894
  }
887
895
  {
888
- include: "#ordering-direction"
896
+ include: '#ordering-direction'
889
897
  }
890
898
  {
891
- include: "#ordering-nulls"
899
+ include: '#ordering-nulls'
892
900
  }
893
901
  ]
894
- "soql-colon-vars":
895
- begin: "(\\:)\\s*"
902
+ 'soql-colon-vars':
903
+ begin: '(\\:)\\s*'
896
904
  beginCaptures:
897
- "0":
898
- name: "keyword.operator.conditional.colon.apex"
899
- end: "(?![_[:alnum:]]|\\(|(\\?)?\\[|<)"
905
+ '0':
906
+ name: 'keyword.operator.conditional.colon.apex'
907
+ end: '(?![_[:alnum:]]|\\(|(\\?)?\\[|<)'
900
908
  patterns: [
901
909
  {
902
- include: "#trigger-context-declaration"
910
+ include: '#trigger-context-declaration'
903
911
  }
904
912
  {
905
- match: "([_[:alpha:]][_[:alnum:]]*)(\\??\\.)"
913
+ match: '([_[:alpha:]][_[:alnum:]]*)(\\??\\.)'
906
914
  captures:
907
- "1":
908
- name: "variable.other.object.apex"
909
- "2":
915
+ '1':
916
+ name: 'variable.other.object.apex'
917
+ '2':
910
918
  patterns: [
911
919
  {
912
- include: "#punctuation-accessor"
920
+ include: '#punctuation-accessor'
913
921
  }
914
922
  {
915
- include: "#operator-safe-navigation"
923
+ include: '#operator-safe-navigation'
916
924
  }
917
925
  ]
918
926
  }
919
927
  {
920
- include: "#soql-colon-method-statement"
928
+ include: '#soql-colon-method-statement'
921
929
  }
922
930
  {
923
- name: "entity.name.variable.local.apex"
924
- match: "[_[:alpha:]][_[:alnum:]]*"
931
+ name: 'entity.name.variable.local.apex'
932
+ match: '[_[:alpha:]][_[:alnum:]]*'
925
933
  }
926
934
  ]
927
- "soql-colon-method-statement":
928
- begin: "(:?\\.)?([_[:alpha:]][_[:alnum:]]*)(?=\\()"
935
+ 'soql-colon-method-statement':
936
+ begin: '(:?\\.)?([_[:alpha:]][_[:alnum:]]*)(?=\\()'
929
937
  beginCaptures:
930
- "1":
931
- name: "punctuation.accessor.apex"
932
- "2":
933
- name: "entity.name.function.apex"
934
- end: "(?<=\\))"
938
+ '1':
939
+ name: 'punctuation.accessor.apex'
940
+ '2':
941
+ name: 'entity.name.function.apex'
942
+ end: '(?<=\\))'
935
943
  patterns: [
936
944
  {
937
- begin: "\\("
945
+ begin: '\\('
938
946
  beginCaptures:
939
- "0":
940
- name: "punctuation.parenthesis.open.apex"
941
- end: "\\)"
947
+ '0':
948
+ name: 'punctuation.parenthesis.open.apex'
949
+ end: '\\)'
942
950
  endCaptures:
943
- "0":
944
- name: "punctuation.parenthesis.close.apex"
951
+ '0':
952
+ name: 'punctuation.parenthesis.close.apex'
945
953
  patterns: [
946
954
  {
947
- include: "#expression"
955
+ include: '#expression'
948
956
  }
949
957
  ]
950
958
  }
951
959
  {
952
- include: "#statement"
960
+ include: '#statement'
953
961
  }
954
962
  ]
955
- "soql-group-clauses":
956
- begin: "\\("
963
+ 'soql-group-clauses':
964
+ begin: '\\('
957
965
  beginCaptures:
958
- "0":
959
- name: "punctuation.parenthesis.open.apex"
960
- end: "\\)"
966
+ '0':
967
+ name: 'punctuation.parenthesis.open.apex'
968
+ end: '\\)'
961
969
  endCaptures:
962
- "0":
963
- name: "punctuation.parenthesis.close.apex"
970
+ '0':
971
+ name: 'punctuation.parenthesis.close.apex'
964
972
  patterns: [
965
973
  {
966
- include: "#soql-query-expression"
974
+ include: '#soql-query-expression'
967
975
  }
968
976
  {
969
- include: "#soql-colon-vars"
977
+ include: '#soql-colon-vars'
970
978
  }
971
979
  {
972
- include: "#soql-group-clauses"
980
+ include: '#soql-group-clauses'
973
981
  }
974
982
  {
975
- include: "#punctuation-comma"
983
+ include: '#punctuation-comma'
976
984
  }
977
985
  {
978
- include: "#operator-assignment"
986
+ include: '#operator-assignment'
979
987
  }
980
988
  {
981
- include: "#literal"
989
+ include: '#literal'
982
990
  }
983
991
  {
984
- include: "#query-operators"
992
+ include: '#query-operators'
985
993
  }
986
994
  {
987
- include: "#date-literals"
995
+ include: '#date-literals'
988
996
  }
989
997
  {
990
- include: "#date-literal-with-params"
998
+ include: '#date-literal-with-params'
991
999
  }
992
1000
  {
993
- include: "#using-scope"
1001
+ include: '#using-scope'
994
1002
  }
995
1003
  {
996
- name: "keyword.query.field.apex"
997
- match: "[_.[:alpha:]][_.[:alnum:]]*"
1004
+ name: 'keyword.query.field.apex'
1005
+ match: '[_.[:alpha:]][_.[:alnum:]]*'
998
1006
  }
999
1007
  ]
1000
- "soql-functions":
1001
- begin: "\\b(AVG|CALENDAR_MONTH|CALENDAR_QUARTER|CALENDAR_YEAR|convertCurrency|convertTimezone|COUNT|COUNT_DISTINCT|DAY_IN_MONTH|DAY_IN_WEEK|DAY_IN_YEAR|DAY_ONLY|toLabel|INCLUDES|EXCLUDES|FISCAL_MONTH|FISCAL_QUARTER|FISCAL_YEAR|FORMAT|GROUPING|GROUP BY CUBE|GROUP BY ROLLUP|HOUR_IN_DAY|MAX|MIN|SUM|WEEK_IN_MONTH|WEEK_IN_YEAR)\\s*(\\()"
1008
+ 'soql-functions':
1009
+ begin: '\\b(AVG|CALENDAR_MONTH|CALENDAR_QUARTER|CALENDAR_YEAR|convertCurrency|convertTimezone|COUNT|COUNT_DISTINCT|DAY_IN_MONTH|DAY_IN_WEEK|DAY_IN_YEAR|DAY_ONLY|toLabel|INCLUDES|EXCLUDES|FISCAL_MONTH|FISCAL_QUARTER|FISCAL_YEAR|FORMAT|GROUPING|GROUP BY CUBE|GROUP BY ROLLUP|HOUR_IN_DAY|MAX|MIN|SUM|WEEK_IN_MONTH|WEEK_IN_YEAR)\\s*(\\()'
1002
1010
  beginCaptures:
1003
- "1":
1004
- name: "support.function.query.apex"
1005
- "2":
1006
- name: "punctuation.parenthesis.open.apex"
1007
- end: "\\)"
1011
+ '1':
1012
+ name: 'support.function.query.apex'
1013
+ '2':
1014
+ name: 'punctuation.parenthesis.open.apex'
1015
+ end: '\\)'
1008
1016
  endCaptures:
1009
- "0":
1010
- name: "punctuation.parenthesis.close.apex"
1017
+ '0':
1018
+ name: 'punctuation.parenthesis.close.apex'
1011
1019
  patterns: [
1012
1020
  {
1013
- include: "#literal"
1021
+ include: '#literal'
1014
1022
  }
1015
1023
  {
1016
- include: "#punctuation-comma"
1024
+ include: '#punctuation-comma'
1017
1025
  }
1018
1026
  {
1019
- include: "#soql-functions"
1027
+ include: '#soql-functions'
1020
1028
  }
1021
1029
  {
1022
- name: "keyword.query.field.apex"
1023
- match: "[_.[:alpha:]][_.[:alnum:]]*"
1030
+ name: 'keyword.query.field.apex'
1031
+ match: '[_.[:alpha:]][_.[:alnum:]]*'
1024
1032
  }
1025
1033
  ]
1026
- "from-clause":
1027
- match: "(FROM)\\b\\s*([_\\.[:alnum:]]+\\b)?"
1034
+ 'from-clause':
1035
+ match: '(FROM)\\b\\s*([_\\.[:alnum:]]+\\b)?'
1028
1036
  captures:
1029
- "1":
1030
- name: "keyword.operator.query.from.apex"
1031
- "2":
1032
- name: "storage.type.apex"
1033
- "where-clause":
1034
- match: "\\b(WHERE)\\b\\s*"
1037
+ '1':
1038
+ name: 'keyword.operator.query.from.apex'
1039
+ '2':
1040
+ name: 'storage.type.apex'
1041
+ 'where-clause':
1042
+ match: '\\b(WHERE)\\b\\s*'
1035
1043
  captures:
1036
- "1":
1037
- name: "keyword.operator.query.where.apex"
1038
- "orderby-clause":
1039
- match: "\\b(ORDER BY)\\b\\s*"
1044
+ '1':
1045
+ name: 'keyword.operator.query.where.apex'
1046
+ 'orderby-clause':
1047
+ match: '\\b(ORDER BY)\\b\\s*'
1040
1048
  captures:
1041
- "1":
1042
- name: "keyword.operator.query.orderby.apex"
1049
+ '1':
1050
+ name: 'keyword.operator.query.orderby.apex'
1043
1051
  patterns: [
1044
1052
  {
1045
- include: "#ordering-direction"
1053
+ include: '#ordering-direction'
1046
1054
  }
1047
1055
  {
1048
- include: "#ordering-nulls"
1056
+ include: '#ordering-nulls'
1049
1057
  }
1050
1058
  ]
1051
- "ordering-direction":
1052
- match: "\\b(?:(ASC)|(DESC))\\b"
1059
+ 'ordering-direction':
1060
+ match: '\\b(?:(ASC)|(DESC))\\b'
1053
1061
  captures:
1054
- "1":
1055
- name: "keyword.operator.query.ascending.apex"
1056
- "2":
1057
- name: "keyword.operator.query.descending.apex"
1058
- "ordering-nulls":
1059
- match: "\\b(?:(NULLS FIRST)|(NULLS LAST))\\b"
1062
+ '1':
1063
+ name: 'keyword.operator.query.ascending.apex'
1064
+ '2':
1065
+ name: 'keyword.operator.query.descending.apex'
1066
+ 'ordering-nulls':
1067
+ match: '\\b(?:(NULLS FIRST)|(NULLS LAST))\\b'
1060
1068
  captures:
1061
- "1":
1062
- name: "keyword.operator.query.nullsfirst.apex"
1063
- "2":
1064
- name: "keyword.operator.query.nullslast.apex"
1065
- "query-operators":
1066
- match: "\\b(ABOVE|AND|AT|FOR REFERENCE|FOR UPDATE|FOR VIEW|GROUP BY|HAVING|IN|LIKE|LIMIT|NOT IN|NOT|OFFSET|OR|TYPEOF|UPDATE TRACKING|UPDATE VIEWSTAT|WITH DATA CATEGORY|WITH)\\b\\s*"
1069
+ '1':
1070
+ name: 'keyword.operator.query.nullsfirst.apex'
1071
+ '2':
1072
+ name: 'keyword.operator.query.nullslast.apex'
1073
+ 'query-operators':
1074
+ match: '\\b(ABOVE|AND|AT|FOR REFERENCE|FOR UPDATE|FOR VIEW|GROUP BY|HAVING|IN|LIKE|LIMIT|NOT IN|NOT|OFFSET|OR|TYPEOF|UPDATE TRACKING|UPDATE VIEWSTAT|WITH DATA CATEGORY|WITH)\\b\\s*'
1067
1075
  captures:
1068
- "1":
1069
- name: "keyword.operator.query.apex"
1070
- "date-literals":
1071
- match: "\\b(YESTERDAY|TODAY|TOMORROW|LAST_WEEK|THIS_WEEK|NEXT_WEEK|LAST_MONTH|THIS_MONTH|NEXT_MONTH|LAST_90_DAYS|NEXT_90_DAYS|THIS_QUARTER|LAST_QUARTER|NEXT_QUARTER|THIS_YEAR|LAST_YEAR|NEXT_YEAR|THIS_FISCAL_QUARTER|LAST_FISCAL_QUARTER|NEXT_FISCAL_QUARTER|THIS_FISCAL_YEAR|LAST_FISCAL_YEAR|NEXT_FISCAL_YEAR)\\b\\s*"
1076
+ '1':
1077
+ name: 'keyword.operator.query.apex'
1078
+ 'date-literals':
1079
+ match: '\\b(YESTERDAY|TODAY|TOMORROW|LAST_WEEK|THIS_WEEK|NEXT_WEEK|LAST_MONTH|THIS_MONTH|NEXT_MONTH|LAST_90_DAYS|NEXT_90_DAYS|THIS_QUARTER|LAST_QUARTER|NEXT_QUARTER|THIS_YEAR|LAST_YEAR|NEXT_YEAR|THIS_FISCAL_QUARTER|LAST_FISCAL_QUARTER|NEXT_FISCAL_QUARTER|THIS_FISCAL_YEAR|LAST_FISCAL_YEAR|NEXT_FISCAL_YEAR)\\b\\s*'
1072
1080
  captures:
1073
- "1":
1074
- name: "keyword.operator.query.date.apex"
1075
- "date-literal-with-params":
1076
- match: "\\b((LAST_N_DAYS|NEXT_N_DAYS|NEXT_N_WEEKS|LAST_N_WEEKS|NEXT_N_MONTHS|LAST_N_MONTHS|NEXT_N_QUARTERS|LAST_N_QUARTERS|NEXT_N_YEARS|LAST_N_YEARS|NEXT_N_FISCAL_QUARTERS|LAST_N_FISCAL_QUARTERS|NEXT_N_FISCAL_YEARS|LAST_N_FISCAL_YEARS)\\s*\\:\\d+)\\b"
1081
+ '1':
1082
+ name: 'keyword.operator.query.date.apex'
1083
+ 'date-literal-with-params':
1084
+ match: '\\b((LAST_N_DAYS|NEXT_N_DAYS|NEXT_N_WEEKS|LAST_N_WEEKS|NEXT_N_MONTHS|LAST_N_MONTHS|NEXT_N_QUARTERS|LAST_N_QUARTERS|NEXT_N_YEARS|LAST_N_YEARS|NEXT_N_FISCAL_QUARTERS|LAST_N_FISCAL_QUARTERS|NEXT_N_FISCAL_YEARS|LAST_N_FISCAL_YEARS)\\s*\\:\\d+)\\b'
1077
1085
  captures:
1078
- "1":
1079
- name: "keyword.operator.query.date.apex"
1080
- "using-scope":
1081
- match: "((USING SCOPE)\\b\\s*(Delegated|Everything|Mine|My_Territory|My_Team_Territory|Team))\\b\\s*"
1086
+ '1':
1087
+ name: 'keyword.operator.query.date.apex'
1088
+ 'using-scope':
1089
+ match: '((USING SCOPE)\\b\\s*(Delegated|Everything|Mine|My_Territory|My_Team_Territory|Team))\\b\\s*'
1082
1090
  captures:
1083
- "1":
1084
- name: "keyword.operator.query.using.apex"
1085
- "type-parameter-list":
1086
- begin: "\\<"
1091
+ '1':
1092
+ name: 'keyword.operator.query.using.apex'
1093
+ 'type-parameter-list':
1094
+ begin: '\\<'
1087
1095
  beginCaptures:
1088
- "0":
1089
- name: "punctuation.definition.typeparameters.begin.apex"
1090
- end: "\\>"
1096
+ '0':
1097
+ name: 'punctuation.definition.typeparameters.begin.apex'
1098
+ end: '\\>'
1091
1099
  endCaptures:
1092
- "0":
1093
- name: "punctuation.definition.typeparameters.end.apex"
1100
+ '0':
1101
+ name: 'punctuation.definition.typeparameters.end.apex'
1094
1102
  patterns: [
1095
1103
  {
1096
- match: "(@?[_[:alpha:]][_[:alnum:]]*)\\b"
1104
+ match: '(@?[_[:alpha:]][_[:alnum:]]*)\\b'
1097
1105
  captures:
1098
- "1":
1099
- name: "entity.name.type.type-parameter.apex"
1106
+ '1':
1107
+ name: 'entity.name.type.type-parameter.apex'
1100
1108
  }
1101
1109
  {
1102
- include: "#comment"
1110
+ include: '#comment'
1103
1111
  }
1104
1112
  {
1105
- include: "#punctuation-comma"
1113
+ include: '#punctuation-comma'
1106
1114
  }
1107
1115
  ]
1108
- "field-declaration":
1116
+ 'field-declaration':
1109
1117
  begin: '''
1110
1118
  (?x)
1111
1119
  (?<type_name>
@@ -1126,37 +1134,37 @@ repository:
1126
1134
  (?!=>|==)(?=,|;|=|$)
1127
1135
  '''
1128
1136
  beginCaptures:
1129
- "1":
1137
+ '1':
1130
1138
  patterns: [
1131
1139
  {
1132
- include: "#support-type"
1140
+ include: '#support-type'
1133
1141
  }
1134
1142
  {
1135
- include: "#type"
1143
+ include: '#type'
1136
1144
  }
1137
1145
  ]
1138
- "5":
1139
- name: "entity.name.variable.field.apex"
1140
- end: "(?=;)"
1146
+ '5':
1147
+ name: 'entity.name.variable.field.apex'
1148
+ end: '(?=;)'
1141
1149
  patterns: [
1142
1150
  {
1143
- name: "entity.name.variable.field.apex"
1144
- match: "@?[_[:alpha:]][_[:alnum:]]*"
1151
+ name: 'entity.name.variable.field.apex'
1152
+ match: '@?[_[:alpha:]][_[:alnum:]]*'
1145
1153
  }
1146
1154
  {
1147
- include: "#punctuation-comma"
1155
+ include: '#punctuation-comma'
1148
1156
  }
1149
1157
  {
1150
- include: "#comment"
1158
+ include: '#comment'
1151
1159
  }
1152
1160
  {
1153
- include: "#variable-initializer"
1161
+ include: '#variable-initializer'
1154
1162
  }
1155
1163
  {
1156
- include: "#class-or-trigger-members"
1164
+ include: '#class-or-trigger-members'
1157
1165
  }
1158
1166
  ]
1159
- "property-declaration":
1167
+ 'property-declaration':
1160
1168
  begin: '''
1161
1169
  (?x)
1162
1170
  (?!.*\\b(?:class|interface|enum)\\b)\\s*
@@ -1182,42 +1190,42 @@ repository:
1182
1190
  (?=\\{|=>|$)
1183
1191
  '''
1184
1192
  beginCaptures:
1185
- "1":
1193
+ '1':
1186
1194
  patterns: [
1187
1195
  {
1188
- include: "#type"
1196
+ include: '#type'
1189
1197
  }
1190
1198
  ]
1191
- "6":
1199
+ '6':
1192
1200
  patterns: [
1193
1201
  {
1194
- include: "#type"
1202
+ include: '#type'
1195
1203
  }
1196
1204
  {
1197
- include: "#punctuation-accessor"
1205
+ include: '#punctuation-accessor'
1198
1206
  }
1199
1207
  ]
1200
- "7":
1201
- name: "entity.name.variable.property.apex"
1202
- end: "(?<=\\})|(?=;)"
1208
+ '7':
1209
+ name: 'entity.name.variable.property.apex'
1210
+ end: '(?<=\\})|(?=;)'
1203
1211
  patterns: [
1204
1212
  {
1205
- include: "#comment"
1213
+ include: '#comment'
1206
1214
  }
1207
1215
  {
1208
- include: "#property-accessors"
1216
+ include: '#property-accessors'
1209
1217
  }
1210
1218
  {
1211
- include: "#expression-body"
1219
+ include: '#expression-body'
1212
1220
  }
1213
1221
  {
1214
- include: "#variable-initializer"
1222
+ include: '#variable-initializer'
1215
1223
  }
1216
1224
  {
1217
- include: "#class-or-trigger-members"
1225
+ include: '#class-or-trigger-members'
1218
1226
  }
1219
1227
  ]
1220
- "indexer-declaration":
1228
+ 'indexer-declaration':
1221
1229
  begin: '''
1222
1230
  (?x)
1223
1231
  (?<return_type>
@@ -1242,74 +1250,74 @@ repository:
1242
1250
  (?=\\[)
1243
1251
  '''
1244
1252
  beginCaptures:
1245
- "1":
1253
+ '1':
1246
1254
  patterns: [
1247
1255
  {
1248
- include: "#type"
1256
+ include: '#type'
1249
1257
  }
1250
1258
  ]
1251
- "6":
1259
+ '6':
1252
1260
  patterns: [
1253
1261
  {
1254
- include: "#type"
1262
+ include: '#type'
1255
1263
  }
1256
1264
  {
1257
- include: "#punctuation-accessor"
1265
+ include: '#punctuation-accessor'
1258
1266
  }
1259
1267
  ]
1260
- "7":
1261
- name: "keyword.other.this.apex"
1262
- end: "(?<=\\})|(?=;)"
1268
+ '7':
1269
+ name: 'keyword.other.this.apex'
1270
+ end: '(?<=\\})|(?=;)'
1263
1271
  patterns: [
1264
1272
  {
1265
- include: "#comment"
1273
+ include: '#comment'
1266
1274
  }
1267
1275
  {
1268
- include: "#property-accessors"
1276
+ include: '#property-accessors'
1269
1277
  }
1270
1278
  {
1271
- include: "#expression-body"
1279
+ include: '#expression-body'
1272
1280
  }
1273
1281
  {
1274
- include: "#variable-initializer"
1282
+ include: '#variable-initializer'
1275
1283
  }
1276
1284
  ]
1277
- "property-accessors":
1278
- begin: "\\{"
1285
+ 'property-accessors':
1286
+ begin: '\\{'
1279
1287
  beginCaptures:
1280
- "0":
1281
- name: "punctuation.curlybrace.open.apex"
1282
- end: "\\}"
1288
+ '0':
1289
+ name: 'punctuation.curlybrace.open.apex'
1290
+ end: '\\}'
1283
1291
  endCaptures:
1284
- "0":
1285
- name: "punctuation.curlybrace.close.apex"
1292
+ '0':
1293
+ name: 'punctuation.curlybrace.close.apex'
1286
1294
  patterns: [
1287
1295
  {
1288
- name: "storage.modifier.apex"
1289
- match: "\\b(private|protected)\\b"
1296
+ name: 'storage.modifier.apex'
1297
+ match: '\\b(private|protected)\\b'
1290
1298
  }
1291
1299
  {
1292
- name: "keyword.other.get.apex"
1293
- match: "\\b(get)\\b"
1300
+ name: 'keyword.other.get.apex'
1301
+ match: '\\b(get)\\b'
1294
1302
  }
1295
1303
  {
1296
- name: "keyword.other.set.apex"
1297
- match: "\\b(set)\\b"
1304
+ name: 'keyword.other.set.apex'
1305
+ match: '\\b(set)\\b'
1298
1306
  }
1299
1307
  {
1300
- include: "#comment"
1308
+ include: '#comment'
1301
1309
  }
1302
1310
  {
1303
- include: "#expression-body"
1311
+ include: '#expression-body'
1304
1312
  }
1305
1313
  {
1306
- include: "#block"
1314
+ include: '#block'
1307
1315
  }
1308
1316
  {
1309
- include: "#punctuation-semicolon"
1317
+ include: '#punctuation-semicolon'
1310
1318
  }
1311
1319
  ]
1312
- "method-declaration":
1320
+ 'method-declaration':
1313
1321
  begin: '''
1314
1322
  (?x)
1315
1323
  (?<return_type>
@@ -1335,546 +1343,533 @@ repository:
1335
1343
  (?=\\()
1336
1344
  '''
1337
1345
  beginCaptures:
1338
- "1":
1346
+ '1':
1339
1347
  patterns: [
1340
1348
  {
1341
- include: "#support-type"
1349
+ include: '#support-type'
1342
1350
  }
1343
1351
  {
1344
- include: "#type"
1352
+ include: '#type'
1345
1353
  }
1346
1354
  ]
1347
- "6":
1355
+ '6':
1348
1356
  patterns: [
1349
1357
  {
1350
- include: "#type"
1358
+ include: '#type'
1351
1359
  }
1352
1360
  {
1353
- include: "#punctuation-accessor"
1361
+ include: '#punctuation-accessor'
1354
1362
  }
1355
1363
  ]
1356
- "7":
1364
+ '7':
1357
1365
  patterns: [
1358
1366
  {
1359
- include: "#support-type"
1367
+ include: '#support-type'
1360
1368
  }
1361
1369
  {
1362
- include: "#method-name-custom"
1370
+ include: '#method-name-custom'
1363
1371
  }
1364
1372
  ]
1365
- "8":
1373
+ '8':
1366
1374
  patterns: [
1367
1375
  {
1368
- include: "#type-parameter-list"
1376
+ include: '#type-parameter-list'
1369
1377
  }
1370
1378
  ]
1371
- end: "(?<=\\})|(?=;)"
1379
+ end: '(?<=\\})|(?=;)'
1372
1380
  patterns: [
1373
1381
  {
1374
- include: "#comment"
1382
+ include: '#comment'
1375
1383
  }
1376
1384
  {
1377
- include: "#parenthesized-parameter-list"
1385
+ include: '#parenthesized-parameter-list'
1378
1386
  }
1379
1387
  {
1380
- include: "#expression-body"
1388
+ include: '#expression-body'
1381
1389
  }
1382
1390
  {
1383
- include: "#block"
1391
+ include: '#block'
1384
1392
  }
1385
1393
  ]
1386
- "method-name-custom":
1387
- name: "entity.name.function.apex"
1388
- match: "@?[_[:alpha:]][_[:alnum:]]*"
1389
- "constructor-declaration":
1390
- begin: "(?=@?[_[:alpha:]][_[:alnum:]]*\\s*\\()"
1391
- end: "(?<=\\})|(?=;)"
1394
+ 'method-name-custom':
1395
+ name: 'entity.name.function.apex'
1396
+ match: '@?[_[:alpha:]][_[:alnum:]]*'
1397
+ 'constructor-declaration':
1398
+ begin: '(?=@?[_[:alpha:]][_[:alnum:]]*\\s*\\()'
1399
+ end: '(?<=\\})|(?=;)'
1392
1400
  patterns: [
1393
1401
  {
1394
- match: "(@?[_[:alpha:]][_[:alnum:]]*)\\b"
1402
+ match: '(@?[_[:alpha:]][_[:alnum:]]*)\\b'
1395
1403
  captures:
1396
- "1":
1397
- name: "entity.name.function.apex"
1404
+ '1':
1405
+ name: 'entity.name.function.apex'
1398
1406
  }
1399
1407
  {
1400
- begin: "(:)"
1408
+ begin: '(:)'
1401
1409
  beginCaptures:
1402
- "1":
1403
- name: "punctuation.separator.colon.apex"
1404
- end: "(?=\\{|=>)"
1410
+ '1':
1411
+ name: 'punctuation.separator.colon.apex'
1412
+ end: '(?=\\{|=>)'
1405
1413
  patterns: [
1406
1414
  {
1407
- include: "#constructor-initializer"
1415
+ include: '#constructor-initializer'
1408
1416
  }
1409
1417
  ]
1410
1418
  }
1411
1419
  {
1412
- include: "#parenthesized-parameter-list"
1420
+ include: '#parenthesized-parameter-list'
1413
1421
  }
1414
1422
  {
1415
- include: "#comment"
1423
+ include: '#comment'
1416
1424
  }
1417
1425
  {
1418
- include: "#expression-body"
1426
+ include: '#expression-body'
1419
1427
  }
1420
1428
  {
1421
- include: "#block"
1429
+ include: '#block'
1422
1430
  }
1423
1431
  ]
1424
- "constructor-initializer":
1425
- begin: "\\b(?:(this))\\b\\s*(?=\\()"
1432
+ 'constructor-initializer':
1433
+ begin: '\\b(?:(this))\\b\\s*(?=\\()'
1426
1434
  beginCaptures:
1427
- "1":
1428
- name: "keyword.other.this.apex"
1429
- end: "(?<=\\))"
1435
+ '1':
1436
+ name: 'keyword.other.this.apex'
1437
+ end: '(?<=\\))'
1430
1438
  patterns: [
1431
1439
  {
1432
- include: "#argument-list"
1440
+ include: '#argument-list'
1433
1441
  }
1434
1442
  ]
1435
1443
  block:
1436
- begin: "\\{"
1444
+ begin: '\\{'
1437
1445
  beginCaptures:
1438
- "0":
1439
- name: "punctuation.curlybrace.open.apex"
1440
- end: "\\}"
1446
+ '0':
1447
+ name: 'punctuation.curlybrace.open.apex'
1448
+ end: '\\}'
1441
1449
  endCaptures:
1442
- "0":
1443
- name: "punctuation.curlybrace.close.apex"
1450
+ '0':
1451
+ name: 'punctuation.curlybrace.close.apex'
1444
1452
  patterns: [
1445
1453
  {
1446
- include: "#statement"
1454
+ include: '#statement'
1447
1455
  }
1448
1456
  ]
1449
- "variable-initializer":
1450
- begin: "(?<!=|!)(=)(?!=|>)"
1457
+ 'variable-initializer':
1458
+ begin: '(?<!=|!)(=)(?!=|>)'
1451
1459
  beginCaptures:
1452
- "1":
1453
- name: "keyword.operator.assignment.apex"
1454
- end: "(?=[,\\)\\];}])"
1460
+ '1':
1461
+ name: 'keyword.operator.assignment.apex'
1462
+ end: '(?=[,\\)\\];}])'
1455
1463
  patterns: [
1456
1464
  {
1457
- include: "#expression"
1465
+ include: '#expression'
1458
1466
  }
1459
1467
  ]
1460
- "expression-body":
1461
- begin: "=>"
1468
+ 'expression-body':
1469
+ begin: '=>'
1462
1470
  beginCaptures:
1463
- "0":
1464
- name: "keyword.operator.arrow.apex"
1465
- end: "(?=[,\\);}])"
1471
+ '0':
1472
+ name: 'keyword.operator.arrow.apex'
1473
+ end: '(?=[,\\);}])'
1466
1474
  patterns: [
1467
1475
  {
1468
- include: "#expression"
1476
+ include: '#expression'
1469
1477
  }
1470
1478
  ]
1471
- "goto-statement":
1472
- begin: "(?<!\\.)\\b(goto)\\b"
1479
+ 'goto-statement':
1480
+ begin: '(?<!\\.)\\b(goto)\\b'
1473
1481
  beginCaptures:
1474
- "1":
1475
- name: "keyword.control.goto.apex"
1476
- end: "(?=;)"
1482
+ '1':
1483
+ name: 'keyword.control.goto.apex'
1484
+ end: '(?=;)'
1477
1485
  patterns: [
1478
1486
  {
1479
- begin: "\\b(case)\\b"
1487
+ begin: '\\b(case)\\b'
1480
1488
  beginCaptures:
1481
- "1":
1482
- name: "keyword.control.case.apex"
1483
- end: "(?=;)"
1489
+ '1':
1490
+ name: 'keyword.control.case.apex'
1491
+ end: '(?=;)'
1484
1492
  patterns: [
1485
1493
  {
1486
- include: "#expression"
1494
+ include: '#expression'
1487
1495
  }
1488
1496
  ]
1489
1497
  }
1490
1498
  {
1491
- match: "\\b(default)\\b"
1499
+ match: '\\b(default)\\b'
1492
1500
  captures:
1493
- "1":
1494
- name: "keyword.control.default.apex"
1501
+ '1':
1502
+ name: 'keyword.control.default.apex'
1495
1503
  }
1496
1504
  {
1497
- name: "entity.name.label.apex"
1498
- match: "@?[_[:alpha:]][_[:alnum:]]*"
1505
+ name: 'entity.name.label.apex'
1506
+ match: '@?[_[:alpha:]][_[:alnum:]]*'
1499
1507
  }
1500
1508
  ]
1501
- "return-statement":
1502
- begin: "(?<!\\.)\\b(return)\\b"
1509
+ 'return-statement':
1510
+ begin: '(?<!\\.)\\b(return)\\b'
1503
1511
  beginCaptures:
1504
- "1":
1505
- name: "keyword.control.flow.return.apex"
1506
- end: "(?=;)"
1512
+ '1':
1513
+ name: 'keyword.control.flow.return.apex'
1514
+ end: '(?=;)'
1507
1515
  patterns: [
1508
1516
  {
1509
- include: "#expression"
1517
+ include: '#expression'
1510
1518
  }
1511
1519
  ]
1512
- "break-or-continue-statement":
1513
- match: "(?<!\\.)\\b(?:(break)|(continue))\\b"
1520
+ 'break-or-continue-statement':
1521
+ match: '(?<!\\.)\\b(?:(break)|(continue))\\b'
1514
1522
  captures:
1515
- "1":
1516
- name: "keyword.control.flow.break.apex"
1517
- "2":
1518
- name: "keyword.control.flow.continue.apex"
1519
- "throw-statement":
1520
- begin: "(?<!\\.)\\b(throw)\\b"
1523
+ '1':
1524
+ name: 'keyword.control.flow.break.apex'
1525
+ '2':
1526
+ name: 'keyword.control.flow.continue.apex'
1527
+ 'throw-statement':
1528
+ begin: '(?<!\\.)\\b(throw)\\b'
1521
1529
  beginCaptures:
1522
- "1":
1523
- name: "keyword.control.flow.throw.apex"
1524
- end: "(?=;)"
1530
+ '1':
1531
+ name: 'keyword.control.flow.throw.apex'
1532
+ end: '(?=;)'
1525
1533
  patterns: [
1526
1534
  {
1527
- include: "#expression"
1535
+ include: '#expression'
1528
1536
  }
1529
1537
  ]
1530
- "if-statement":
1531
- begin: "(?<!\\.)\\b(if)\\b\\s*(?=\\()"
1538
+ 'if-statement':
1539
+ begin: '(?<!\\.)\\b(if)\\b\\s*(?=\\()'
1532
1540
  beginCaptures:
1533
- "1":
1534
- name: "keyword.control.conditional.if.apex"
1535
- end: "(?<=\\})|(?=;)"
1541
+ '1':
1542
+ name: 'keyword.control.conditional.if.apex'
1543
+ end: '(?<=\\})|(?=;)'
1536
1544
  patterns: [
1537
1545
  {
1538
- begin: "\\("
1546
+ begin: '\\('
1539
1547
  beginCaptures:
1540
- "0":
1541
- name: "punctuation.parenthesis.open.apex"
1542
- end: "\\)"
1548
+ '0':
1549
+ name: 'punctuation.parenthesis.open.apex'
1550
+ end: '\\)'
1543
1551
  endCaptures:
1544
- "0":
1545
- name: "punctuation.parenthesis.close.apex"
1552
+ '0':
1553
+ name: 'punctuation.parenthesis.close.apex'
1546
1554
  patterns: [
1547
1555
  {
1548
- include: "#expression"
1556
+ include: '#expression'
1549
1557
  }
1550
1558
  ]
1551
1559
  }
1552
1560
  {
1553
- include: "#statement"
1561
+ include: '#statement'
1554
1562
  }
1555
1563
  ]
1556
- "else-part":
1557
- begin: "(?<!\\.)\\b(else)\\b"
1564
+ 'else-part':
1565
+ begin: '(?<!\\.)\\b(else)\\b'
1558
1566
  beginCaptures:
1559
- "1":
1560
- name: "keyword.control.conditional.else.apex"
1561
- end: "(?<=\\})|(?=;)"
1567
+ '1':
1568
+ name: 'keyword.control.conditional.else.apex'
1569
+ end: '(?<=\\})|(?=;)'
1562
1570
  patterns: [
1563
1571
  {
1564
- include: "#statement"
1572
+ include: '#statement'
1565
1573
  }
1566
1574
  ]
1567
- "switch-statement":
1575
+ 'switch-statement':
1568
1576
  begin: '''
1569
1577
  (?x)
1570
1578
  (switch)\\b\\s+
1571
1579
  (on)\\b\\s+
1572
- (?:([_.?\\'\\(\\)[:alnum:]]+)\\s*)?
1580
+ (.*)
1573
1581
  (\\{)
1574
1582
  '''
1575
1583
  beginCaptures:
1576
- "1":
1577
- name: "keyword.control.switch.apex"
1578
- "2":
1579
- name: "keyword.control.switch.on.apex"
1580
- "3":
1584
+ '1':
1585
+ name: 'keyword.control.switch.apex'
1586
+ '2':
1587
+ name: 'keyword.control.switch.on.apex'
1588
+ '3':
1581
1589
  patterns: [
1582
1590
  {
1583
- include: "#statement"
1591
+ include: '#statement'
1584
1592
  }
1585
1593
  {
1586
- include: "#parenthesized-expression"
1594
+ include: '#parenthesized-expression'
1587
1595
  }
1588
1596
  ]
1589
- "4":
1590
- name: "punctuation.curlybrace.open.apex"
1591
- end: "(\\})"
1597
+ '4':
1598
+ name: 'punctuation.curlybrace.open.apex'
1599
+ end: '(\\})'
1592
1600
  endCaptures:
1593
- "0":
1594
- name: "punctuation.curlybrace.close.apex"
1601
+ '0':
1602
+ name: 'punctuation.curlybrace.close.apex'
1595
1603
  patterns: [
1596
1604
  {
1597
- include: "#when-string"
1605
+ include: '#when-string'
1598
1606
  }
1599
1607
  {
1600
- include: "#when-else-statement"
1608
+ include: '#when-else-statement'
1601
1609
  }
1602
1610
  {
1603
- include: "#when-sobject-statement"
1611
+ include: '#when-sobject-statement'
1604
1612
  }
1605
1613
  {
1606
- include: "#when-statement"
1614
+ include: '#when-statement'
1607
1615
  }
1608
1616
  {
1609
- include: "#when-multiple-statement"
1617
+ include: '#when-multiple-statement'
1610
1618
  }
1611
1619
  {
1612
- include: "#expression"
1620
+ include: '#expression'
1613
1621
  }
1614
1622
  {
1615
- include: "#punctuation-comma"
1623
+ include: '#punctuation-comma'
1616
1624
  }
1617
1625
  {
1618
- include: "#punctuation-semicolon"
1626
+ include: '#punctuation-semicolon'
1619
1627
  }
1620
1628
  ]
1621
- "when-statement":
1629
+ 'when-statement':
1622
1630
  begin: "(when)\\b\\s+([\\'_\\-[:alnum:]]+)\\s*"
1623
1631
  beginCaptures:
1624
- "1":
1625
- name: "keyword.control.switch.when.apex"
1626
- "2":
1632
+ '1':
1633
+ name: 'keyword.control.switch.when.apex'
1634
+ '2':
1627
1635
  patterns: [
1628
1636
  {
1629
- include: "#expression"
1637
+ include: '#expression'
1630
1638
  }
1631
1639
  ]
1632
- end: "(?<=\\})"
1640
+ end: '(?<=\\})'
1633
1641
  patterns: [
1634
1642
  {
1635
- include: "#block"
1643
+ include: '#block'
1636
1644
  }
1637
1645
  {
1638
- include: "#expression"
1646
+ include: '#expression'
1639
1647
  }
1640
1648
  ]
1641
- "when-string":
1642
- begin: "(when)(\\b\\s*)((\\')[_.\\,\\'\\s*[:alnum:]]+)"
1649
+ 'when-string':
1650
+ begin: "(when)\\b\\s*('[^'\\n]*')(,)?"
1643
1651
  beginCaptures:
1644
- "1":
1645
- name: "keyword.control.switch.when.apex"
1646
- "2":
1647
- name: "punctuation.whitespace.apex"
1648
- "3":
1652
+ '1':
1653
+ name: 'keyword.control.switch.when.apex'
1654
+ '2':
1649
1655
  patterns: [
1650
1656
  {
1651
- include: "#when-string-statement"
1657
+ include: '#string-literal'
1652
1658
  }
1659
+ ]
1660
+ '3':
1661
+ patterns: [
1653
1662
  {
1654
- include: "#punctuation-comma"
1663
+ include: '#punctuation-comma'
1655
1664
  }
1656
1665
  ]
1657
- end: "(?<=\\})"
1666
+ end: '(?<=\\})'
1658
1667
  patterns: [
1659
1668
  {
1660
- include: "#block"
1669
+ include: '#block'
1661
1670
  }
1662
1671
  {
1663
- include: "#expression"
1664
- }
1665
- ]
1666
- "when-string-statement":
1667
- patterns: [
1668
- {
1669
- name: "string.quoted.single.apex"
1670
- begin: "\\'"
1671
- beginCaptures:
1672
- "0":
1673
- name: "punctuation.definition.string.begin.apex"
1674
- end: "\\'"
1675
- endCaptures:
1676
- "0":
1677
- name: "punctuation.definition.string.end.apex"
1672
+ include: '#expression'
1678
1673
  }
1679
1674
  ]
1680
- "when-else-statement":
1681
- begin: "(when)\\b\\s+(else)\\b\\s*"
1675
+ 'when-else-statement':
1676
+ begin: '(when)\\b\\s+(else)\\b\\s*'
1682
1677
  beginCaptures:
1683
- "1":
1684
- name: "keyword.control.switch.when.apex"
1685
- "2":
1686
- name: "keyword.control.switch.else.apex"
1687
- end: "(?<=\\})"
1678
+ '1':
1679
+ name: 'keyword.control.switch.when.apex'
1680
+ '2':
1681
+ name: 'keyword.control.switch.else.apex'
1682
+ end: '(?<=\\})'
1688
1683
  patterns: [
1689
1684
  {
1690
- include: "#block"
1685
+ include: '#block'
1691
1686
  }
1692
1687
  {
1693
- include: "#expression"
1688
+ include: '#expression'
1694
1689
  }
1695
1690
  ]
1696
- "when-multiple-statement":
1697
- begin: "(when)\\b\\s*"
1691
+ 'when-multiple-statement':
1692
+ begin: '(when)\\b\\s*'
1698
1693
  beginCaptures:
1699
- "1":
1700
- name: "keyword.control.switch.when.apex"
1701
- end: "(?<=\\})"
1694
+ '1':
1695
+ name: 'keyword.control.switch.when.apex'
1696
+ end: '(?<=\\})'
1702
1697
  patterns: [
1703
1698
  {
1704
- include: "#block"
1699
+ include: '#block'
1705
1700
  }
1706
1701
  {
1707
- include: "#expression"
1702
+ include: '#expression'
1708
1703
  }
1709
1704
  ]
1710
- "when-sobject-statement":
1711
- begin: "(when)\\b\\s+([_[:alnum:]]+)\\s+([_[:alnum:]]+)\\s*"
1705
+ 'when-sobject-statement':
1706
+ begin: '(when)\\b\\s+([_[:alnum:]]+)\\s+([_[:alnum:]]+)\\s*'
1712
1707
  beginCaptures:
1713
- "1":
1714
- name: "keyword.control.switch.when.apex"
1715
- "2":
1716
- name: "storage.type.apex"
1717
- "3":
1718
- name: "entity.name.variable.local.apex"
1719
- end: "(?<=\\})"
1708
+ '1':
1709
+ name: 'keyword.control.switch.when.apex'
1710
+ '2':
1711
+ name: 'storage.type.apex'
1712
+ '3':
1713
+ name: 'entity.name.variable.local.apex'
1714
+ end: '(?<=\\})'
1720
1715
  patterns: [
1721
1716
  {
1722
- include: "#block"
1717
+ include: '#block'
1723
1718
  }
1724
1719
  {
1725
- include: "#expression"
1720
+ include: '#expression'
1726
1721
  }
1727
1722
  ]
1728
- "do-statement":
1729
- begin: "(?<!\\.)\\b(do)\\b"
1723
+ 'do-statement':
1724
+ begin: '(?<!\\.)\\b(do)\\b'
1730
1725
  beginCaptures:
1731
- "1":
1732
- name: "keyword.control.loop.do.apex"
1733
- end: "(?=;|})"
1726
+ '1':
1727
+ name: 'keyword.control.loop.do.apex'
1728
+ end: '(?=;|})'
1734
1729
  patterns: [
1735
1730
  {
1736
- include: "#statement"
1731
+ include: '#statement'
1737
1732
  }
1738
1733
  ]
1739
- "while-statement":
1740
- begin: "(?<!\\.)\\b(while)\\b\\s*(?=\\()"
1734
+ 'while-statement':
1735
+ begin: '(?<!\\.)\\b(while)\\b\\s*(?=\\()'
1741
1736
  beginCaptures:
1742
- "1":
1743
- name: "keyword.control.loop.while.apex"
1744
- end: "(?<=\\})|(?=;)"
1737
+ '1':
1738
+ name: 'keyword.control.loop.while.apex'
1739
+ end: '(?<=\\})|(?=;)'
1745
1740
  patterns: [
1746
1741
  {
1747
- begin: "\\("
1742
+ begin: '\\('
1748
1743
  beginCaptures:
1749
- "0":
1750
- name: "punctuation.parenthesis.open.apex"
1751
- end: "\\)"
1744
+ '0':
1745
+ name: 'punctuation.parenthesis.open.apex'
1746
+ end: '\\)'
1752
1747
  endCaptures:
1753
- "0":
1754
- name: "punctuation.parenthesis.close.apex"
1748
+ '0':
1749
+ name: 'punctuation.parenthesis.close.apex'
1755
1750
  patterns: [
1756
1751
  {
1757
- include: "#expression"
1752
+ include: '#expression'
1758
1753
  }
1759
1754
  ]
1760
1755
  }
1761
1756
  {
1762
- include: "#statement"
1757
+ include: '#statement'
1763
1758
  }
1764
1759
  ]
1765
- "for-statement":
1766
- begin: "(?<!\\.)\\b(for)\\b\\s*(?=\\()"
1760
+ 'for-statement':
1761
+ begin: '(?<!\\.)\\b(for)\\b\\s*(?=\\()'
1767
1762
  beginCaptures:
1768
- "1":
1769
- name: "keyword.control.loop.for.apex"
1770
- end: "(?<=\\})|(?=;)"
1763
+ '1':
1764
+ name: 'keyword.control.loop.for.apex'
1765
+ end: '(?<=\\})|(?=;)'
1771
1766
  patterns: [
1772
1767
  {
1773
- begin: "\\("
1768
+ begin: '\\('
1774
1769
  beginCaptures:
1775
- "0":
1776
- name: "punctuation.parenthesis.open.apex"
1777
- end: "\\)"
1770
+ '0':
1771
+ name: 'punctuation.parenthesis.open.apex'
1772
+ end: '\\)'
1778
1773
  endCaptures:
1779
- "0":
1780
- name: "punctuation.parenthesis.close.apex"
1774
+ '0':
1775
+ name: 'punctuation.parenthesis.close.apex'
1781
1776
  patterns: [
1782
1777
  {
1783
- include: "#for-apex-syntax"
1778
+ include: '#for-apex-syntax'
1784
1779
  }
1785
1780
  {
1786
- include: "#local-variable-declaration"
1781
+ include: '#local-variable-declaration'
1787
1782
  }
1788
1783
  {
1789
- include: "#expression"
1784
+ include: '#expression'
1790
1785
  }
1791
1786
  {
1792
- include: "#punctuation-comma"
1787
+ include: '#punctuation-comma'
1793
1788
  }
1794
1789
  {
1795
- include: "#punctuation-semicolon"
1790
+ include: '#punctuation-semicolon'
1796
1791
  }
1797
1792
  {
1798
- include: "#colon-expression"
1793
+ include: '#colon-expression'
1799
1794
  }
1800
1795
  ]
1801
1796
  }
1802
1797
  {
1803
- include: "#statement"
1798
+ include: '#statement'
1804
1799
  }
1805
1800
  ]
1806
- "for-apex-syntax":
1807
- match: "([_.[:alpha:]][_.[:alnum:]]+)\\s+([_.[:alpha:]][_.[:alnum:]]*)\\s*(\\:)"
1801
+ 'for-apex-syntax':
1802
+ match: '([_.[:alpha:]][_.[:alnum:]]+)\\s+([_.[:alpha:]][_.[:alnum:]]*)\\s*(\\:)'
1808
1803
  captures:
1809
- "1":
1804
+ '1':
1810
1805
  patterns: [
1811
1806
  {
1812
- include: "#support-type"
1807
+ include: '#support-type'
1813
1808
  }
1814
1809
  {
1815
- include: "#type"
1810
+ include: '#type'
1816
1811
  }
1817
1812
  ]
1818
- "2":
1819
- name: "entity.name.variable.local.apex"
1820
- "3":
1821
- name: "keyword.operator.iterator.colon.apex"
1822
- "try-statement":
1813
+ '2':
1814
+ name: 'entity.name.variable.local.apex'
1815
+ '3':
1816
+ name: 'keyword.operator.iterator.colon.apex'
1817
+ 'try-statement':
1823
1818
  patterns: [
1824
1819
  {
1825
- include: "#try-block"
1820
+ include: '#try-block'
1826
1821
  }
1827
1822
  {
1828
- include: "#catch-clause"
1823
+ include: '#catch-clause'
1829
1824
  }
1830
1825
  {
1831
- include: "#finally-clause"
1826
+ include: '#finally-clause'
1832
1827
  }
1833
1828
  ]
1834
- "try-block":
1835
- begin: "(?<!\\.)\\b(try)\\b"
1829
+ 'try-block':
1830
+ begin: '(?<!\\.)\\b(try)\\b'
1836
1831
  beginCaptures:
1837
- "1":
1838
- name: "keyword.control.try.apex"
1839
- end: "(?<=\\})"
1832
+ '1':
1833
+ name: 'keyword.control.try.apex'
1834
+ end: '(?<=\\})'
1840
1835
  patterns: [
1841
1836
  {
1842
- include: "#comment"
1837
+ include: '#comment'
1843
1838
  }
1844
1839
  {
1845
- include: "#block"
1840
+ include: '#block'
1846
1841
  }
1847
1842
  ]
1848
- "finally-clause":
1849
- begin: "(?<!\\.)\\b(finally)\\b"
1843
+ 'finally-clause':
1844
+ begin: '(?<!\\.)\\b(finally)\\b'
1850
1845
  beginCaptures:
1851
- "1":
1852
- name: "keyword.control.try.finally.apex"
1853
- end: "(?<=\\})"
1846
+ '1':
1847
+ name: 'keyword.control.try.finally.apex'
1848
+ end: '(?<=\\})'
1854
1849
  patterns: [
1855
1850
  {
1856
- include: "#comment"
1851
+ include: '#comment'
1857
1852
  }
1858
1853
  {
1859
- include: "#block"
1854
+ include: '#block'
1860
1855
  }
1861
1856
  ]
1862
- "catch-clause":
1863
- begin: "(?<!\\.)\\b(catch)\\b"
1857
+ 'catch-clause':
1858
+ begin: '(?<!\\.)\\b(catch)\\b'
1864
1859
  beginCaptures:
1865
- "1":
1866
- name: "keyword.control.try.catch.apex"
1867
- end: "(?<=\\})"
1860
+ '1':
1861
+ name: 'keyword.control.try.catch.apex'
1862
+ end: '(?<=\\})'
1868
1863
  patterns: [
1869
1864
  {
1870
- begin: "\\("
1865
+ begin: '\\('
1871
1866
  beginCaptures:
1872
- "0":
1873
- name: "punctuation.parenthesis.open.apex"
1874
- end: "\\)"
1867
+ '0':
1868
+ name: 'punctuation.parenthesis.open.apex'
1869
+ end: '\\)'
1875
1870
  endCaptures:
1876
- "0":
1877
- name: "punctuation.parenthesis.close.apex"
1871
+ '0':
1872
+ name: 'punctuation.parenthesis.close.apex'
1878
1873
  patterns: [
1879
1874
  {
1880
1875
  match: '''
@@ -1896,37 +1891,37 @@ repository:
1896
1891
  (?:(\\g<identifier>)\\b)?
1897
1892
  '''
1898
1893
  captures:
1899
- "1":
1894
+ '1':
1900
1895
  patterns: [
1901
1896
  {
1902
- include: "#support-type"
1897
+ include: '#support-type'
1903
1898
  }
1904
1899
  {
1905
- include: "#type"
1900
+ include: '#type'
1906
1901
  }
1907
1902
  ]
1908
- "5":
1909
- name: "entity.name.variable.local.apex"
1903
+ '5':
1904
+ name: 'entity.name.variable.local.apex'
1910
1905
  }
1911
1906
  ]
1912
1907
  }
1913
1908
  {
1914
- include: "#comment"
1909
+ include: '#comment'
1915
1910
  }
1916
1911
  {
1917
- include: "#block"
1912
+ include: '#block'
1918
1913
  }
1919
1914
  ]
1920
- "local-declaration":
1915
+ 'local-declaration':
1921
1916
  patterns: [
1922
1917
  {
1923
- include: "#local-constant-declaration"
1918
+ include: '#local-constant-declaration'
1924
1919
  }
1925
1920
  {
1926
- include: "#local-variable-declaration"
1921
+ include: '#local-variable-declaration'
1927
1922
  }
1928
1923
  ]
1929
- "local-variable-declaration":
1924
+ 'local-variable-declaration':
1930
1925
  begin: '''
1931
1926
  (?x)
1932
1927
  (?:
@@ -1951,38 +1946,38 @@ repository:
1951
1946
  (?=,|;|=|\\))
1952
1947
  '''
1953
1948
  beginCaptures:
1954
- "1":
1955
- name: "storage.modifier.apex"
1956
- "2":
1957
- name: "keyword.other.var.apex"
1958
- "3":
1949
+ '1':
1950
+ name: 'storage.modifier.apex'
1951
+ '2':
1952
+ name: 'keyword.other.var.apex'
1953
+ '3':
1959
1954
  patterns: [
1960
1955
  {
1961
- include: "#support-type"
1956
+ include: '#support-type'
1962
1957
  }
1963
1958
  {
1964
- include: "#type"
1959
+ include: '#type'
1965
1960
  }
1966
1961
  ]
1967
- "7":
1968
- name: "entity.name.variable.local.apex"
1969
- end: "(?=;|\\))"
1962
+ '7':
1963
+ name: 'entity.name.variable.local.apex'
1964
+ end: '(?=;|\\))'
1970
1965
  patterns: [
1971
1966
  {
1972
- name: "entity.name.variable.local.apex"
1973
- match: "@?[_[:alpha:]][_[:alnum:]]*"
1967
+ name: 'entity.name.variable.local.apex'
1968
+ match: '@?[_[:alpha:]][_[:alnum:]]*'
1974
1969
  }
1975
1970
  {
1976
- include: "#punctuation-comma"
1971
+ include: '#punctuation-comma'
1977
1972
  }
1978
1973
  {
1979
- include: "#comment"
1974
+ include: '#comment'
1980
1975
  }
1981
1976
  {
1982
- include: "#variable-initializer"
1977
+ include: '#variable-initializer'
1983
1978
  }
1984
1979
  ]
1985
- "local-constant-declaration":
1980
+ 'local-constant-declaration':
1986
1981
  begin: '''
1987
1982
  (?x)
1988
1983
  (?<const_keyword>\\b(?:const)\\b)\\s*
@@ -2004,224 +1999,224 @@ repository:
2004
1999
  (?=,|;|=)
2005
2000
  '''
2006
2001
  beginCaptures:
2007
- "1":
2008
- name: "storage.modifier.apex"
2009
- "2":
2002
+ '1':
2003
+ name: 'storage.modifier.apex'
2004
+ '2':
2010
2005
  patterns: [
2011
2006
  {
2012
- include: "#type"
2007
+ include: '#type'
2013
2008
  }
2014
2009
  ]
2015
- "6":
2016
- name: "entity.name.variable.local.apex"
2017
- end: "(?=;)"
2010
+ '6':
2011
+ name: 'entity.name.variable.local.apex'
2012
+ end: '(?=;)'
2018
2013
  patterns: [
2019
2014
  {
2020
- name: "entity.name.variable.local.apex"
2021
- match: "@?[_[:alpha:]][_[:alnum:]]*"
2015
+ name: 'entity.name.variable.local.apex'
2016
+ match: '@?[_[:alpha:]][_[:alnum:]]*'
2022
2017
  }
2023
2018
  {
2024
- include: "#punctuation-comma"
2019
+ include: '#punctuation-comma'
2025
2020
  }
2026
2021
  {
2027
- include: "#comment"
2022
+ include: '#comment'
2028
2023
  }
2029
2024
  {
2030
- include: "#variable-initializer"
2025
+ include: '#variable-initializer'
2031
2026
  }
2032
2027
  ]
2033
- "throw-expression":
2034
- match: "(?<!\\.)\\b(throw)\\b"
2028
+ 'throw-expression':
2029
+ match: '(?<!\\.)\\b(throw)\\b'
2035
2030
  captures:
2036
- "1":
2037
- name: "keyword.control.flow.throw.apex"
2031
+ '1':
2032
+ name: 'keyword.control.flow.throw.apex'
2038
2033
  literal:
2039
2034
  patterns: [
2040
2035
  {
2041
- include: "#boolean-literal"
2036
+ include: '#boolean-literal'
2042
2037
  }
2043
2038
  {
2044
- include: "#null-literal"
2039
+ include: '#null-literal'
2045
2040
  }
2046
2041
  {
2047
- include: "#numeric-literal"
2042
+ include: '#numeric-literal'
2048
2043
  }
2049
2044
  {
2050
- include: "#string-literal"
2045
+ include: '#string-literal'
2051
2046
  }
2052
2047
  ]
2053
- "boolean-literal":
2048
+ 'boolean-literal':
2054
2049
  patterns: [
2055
2050
  {
2056
- name: "constant.language.boolean.true.apex"
2057
- match: "(?<!\\.)\\btrue\\b"
2051
+ name: 'constant.language.boolean.true.apex'
2052
+ match: '(?<!\\.)\\btrue\\b'
2058
2053
  }
2059
2054
  {
2060
- name: "constant.language.boolean.false.apex"
2061
- match: "(?<!\\.)\\bfalse\\b"
2055
+ name: 'constant.language.boolean.false.apex'
2056
+ match: '(?<!\\.)\\bfalse\\b'
2062
2057
  }
2063
2058
  ]
2064
- "null-literal":
2065
- name: "constant.language.null.apex"
2066
- match: "(?<!\\.)\\bnull\\b"
2067
- "numeric-literal":
2059
+ 'null-literal':
2060
+ name: 'constant.language.null.apex'
2061
+ match: '(?<!\\.)\\bnull\\b'
2062
+ 'numeric-literal':
2068
2063
  patterns: [
2069
2064
  {
2070
- name: "constant.numeric.datetime.apex"
2071
- match: "\\b(\\d{4}\\-\\d{2}\\-\\d{2}T\\d{2}\\:\\d{2}\\:\\d{2}(\\.\\d{1,3})?(\\-|\\+)\\d{2}\\:\\d{2})\\b"
2065
+ name: 'constant.numeric.datetime.apex'
2066
+ match: '\\b(\\d{4}\\-\\d{2}\\-\\d{2}T\\d{2}\\:\\d{2}\\:\\d{2}(\\.\\d{1,3})?(\\-|\\+)\\d{2}\\:\\d{2})\\b'
2072
2067
  }
2073
2068
  {
2074
- name: "constant.numeric.datetime.apex"
2075
- match: "\\b(\\d{4}\\-\\d{2}\\-\\d{2}T\\d{2}\\:\\d{2}\\:\\d{2}(\\.\\d{1,3})?(Z)?)\\b"
2069
+ name: 'constant.numeric.datetime.apex'
2070
+ match: '\\b(\\d{4}\\-\\d{2}\\-\\d{2}T\\d{2}\\:\\d{2}\\:\\d{2}(\\.\\d{1,3})?(Z)?)\\b'
2076
2071
  }
2077
2072
  {
2078
- name: "constant.numeric.date.apex"
2079
- match: "\\b(\\d{4}\\-\\d{2}\\-\\d{2})\\b"
2073
+ name: 'constant.numeric.date.apex'
2074
+ match: '\\b(\\d{4}\\-\\d{2}\\-\\d{2})\\b'
2080
2075
  }
2081
2076
  {
2082
- name: "constant.numeric.hex.apex"
2083
- match: "\\b0(x|X)[0-9a-fA-F_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\b"
2077
+ name: 'constant.numeric.hex.apex'
2078
+ match: '\\b0(x|X)[0-9a-fA-F_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\b'
2084
2079
  }
2085
2080
  {
2086
- name: "constant.numeric.binary.apex"
2087
- match: "\\b0(b|B)[01_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\b"
2081
+ name: 'constant.numeric.binary.apex'
2082
+ match: '\\b0(b|B)[01_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\b'
2088
2083
  }
2089
2084
  {
2090
- name: "constant.numeric.decimal.apex"
2091
- match: "\\b([0-9_]+)?\\.[0-9_]+((e|E)[0-9]+)?(F|f|D|d|M|m)?\\b"
2085
+ name: 'constant.numeric.decimal.apex'
2086
+ match: '\\b([0-9_]+)?\\.[0-9_]+((e|E)[0-9]+)?(F|f|D|d|M|m)?\\b'
2092
2087
  }
2093
2088
  {
2094
- name: "constant.numeric.decimal.apex"
2095
- match: "\\b[0-9_]+(e|E)[0-9_]+(F|f|D|d|M|m)?\\b"
2089
+ name: 'constant.numeric.decimal.apex'
2090
+ match: '\\b[0-9_]+(e|E)[0-9_]+(F|f|D|d|M|m)?\\b'
2096
2091
  }
2097
2092
  {
2098
- name: "constant.numeric.decimal.apex"
2099
- match: "\\b[0-9_]+(F|f|D|d|M|m)\\b"
2093
+ name: 'constant.numeric.decimal.apex'
2094
+ match: '\\b[0-9_]+(F|f|D|d|M|m)\\b'
2100
2095
  }
2101
2096
  {
2102
- name: "constant.numeric.decimal.apex"
2103
- match: "\\b[0-9_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\b"
2097
+ name: 'constant.numeric.decimal.apex'
2098
+ match: '\\b[0-9_]+(U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\b'
2104
2099
  }
2105
2100
  ]
2106
- "string-literal":
2107
- name: "string.quoted.single.apex"
2101
+ 'string-literal':
2102
+ name: 'string.quoted.single.apex'
2108
2103
  begin: "'"
2109
2104
  beginCaptures:
2110
- "0":
2111
- name: "punctuation.definition.string.begin.apex"
2105
+ '0':
2106
+ name: 'punctuation.definition.string.begin.apex'
2112
2107
  end: "(\\')|((?:[^\\\\\\n])$)"
2113
2108
  endCaptures:
2114
- "1":
2115
- name: "punctuation.definition.string.end.apex"
2116
- "2":
2117
- name: "invalid.illegal.newline.apex"
2109
+ '1':
2110
+ name: 'punctuation.definition.string.end.apex'
2111
+ '2':
2112
+ name: 'invalid.illegal.newline.apex'
2118
2113
  patterns: [
2119
2114
  {
2120
- include: "#string-character-escape"
2115
+ include: '#string-character-escape'
2121
2116
  }
2122
2117
  ]
2123
- "string-character-escape":
2124
- name: "constant.character.escape.apex"
2125
- match: "\\\\."
2126
- "expression-operators":
2118
+ 'string-character-escape':
2119
+ name: 'constant.character.escape.apex'
2120
+ match: '\\\\.'
2121
+ 'expression-operators':
2127
2122
  patterns: [
2128
2123
  {
2129
- name: "keyword.operator.assignment.compound.apex"
2130
- match: "\\*=|/=|%=|\\+=|-="
2124
+ name: 'keyword.operator.assignment.compound.apex'
2125
+ match: '\\*=|/=|%=|\\+=|-='
2131
2126
  }
2132
2127
  {
2133
- name: "keyword.operator.assignment.compound.bitwise.apex"
2134
- match: "\\&=|\\^=|<<=|>>=|\\|="
2128
+ name: 'keyword.operator.assignment.compound.bitwise.apex'
2129
+ match: '\\&=|\\^=|<<=|>>=|\\|='
2135
2130
  }
2136
2131
  {
2137
- name: "keyword.operator.bitwise.shift.apex"
2138
- match: "<<|>>"
2132
+ name: 'keyword.operator.bitwise.shift.apex'
2133
+ match: '<<|>>'
2139
2134
  }
2140
2135
  {
2141
- name: "keyword.operator.comparison.apex"
2142
- match: "==|!="
2136
+ name: 'keyword.operator.comparison.apex'
2137
+ match: '==|!='
2143
2138
  }
2144
2139
  {
2145
- name: "keyword.operator.relational.apex"
2146
- match: "<=|>=|<|>"
2140
+ name: 'keyword.operator.relational.apex'
2141
+ match: '<=|>=|<|>'
2147
2142
  }
2148
2143
  {
2149
- name: "keyword.operator.logical.apex"
2150
- match: "\\!|&&|\\|\\|"
2144
+ name: 'keyword.operator.logical.apex'
2145
+ match: '\\!|&&|\\|\\|'
2151
2146
  }
2152
2147
  {
2153
- name: "keyword.operator.bitwise.apex"
2154
- match: "\\&|~|\\^|\\|"
2148
+ name: 'keyword.operator.bitwise.apex'
2149
+ match: '\\&|~|\\^|\\|'
2155
2150
  }
2156
2151
  {
2157
- name: "keyword.operator.assignment.apex"
2158
- match: "\\="
2152
+ name: 'keyword.operator.assignment.apex'
2153
+ match: '\\='
2159
2154
  }
2160
2155
  {
2161
- name: "keyword.operator.decrement.apex"
2162
- match: "--"
2156
+ name: 'keyword.operator.decrement.apex'
2157
+ match: '--'
2163
2158
  }
2164
2159
  {
2165
- name: "keyword.operator.increment.apex"
2166
- match: "\\+\\+"
2160
+ name: 'keyword.operator.increment.apex'
2161
+ match: '\\+\\+'
2167
2162
  }
2168
2163
  {
2169
- name: "keyword.operator.arithmetic.apex"
2170
- match: "%|\\*|/|-|\\+"
2164
+ name: 'keyword.operator.arithmetic.apex'
2165
+ match: '%|\\*|/|-|\\+'
2171
2166
  }
2172
2167
  ]
2173
- "conditional-operator":
2174
- begin: "(?<!\\?)\\?(?!\\?|\\.|\\[)"
2168
+ 'conditional-operator':
2169
+ begin: '(?<!\\?)\\?(?!\\?|\\.|\\[)'
2175
2170
  beginCaptures:
2176
- "0":
2177
- name: "keyword.operator.conditional.question-mark.apex"
2178
- end: ":"
2171
+ '0':
2172
+ name: 'keyword.operator.conditional.question-mark.apex'
2173
+ end: ':'
2179
2174
  endCaptures:
2180
- "0":
2181
- name: "keyword.operator.conditional.colon.apex"
2175
+ '0':
2176
+ name: 'keyword.operator.conditional.colon.apex'
2182
2177
  patterns: [
2183
2178
  {
2184
- include: "#expression"
2179
+ include: '#expression'
2185
2180
  }
2186
2181
  ]
2187
- "colon-expression":
2188
- name: "keyword.operator.conditional.colon.apex"
2189
- match: ":"
2190
- "parenthesized-expression":
2191
- begin: "\\("
2182
+ 'colon-expression':
2183
+ name: 'keyword.operator.conditional.colon.apex'
2184
+ match: ':'
2185
+ 'parenthesized-expression':
2186
+ begin: '\\('
2192
2187
  beginCaptures:
2193
- "0":
2194
- name: "punctuation.parenthesis.open.apex"
2195
- end: "\\)"
2188
+ '0':
2189
+ name: 'punctuation.parenthesis.open.apex'
2190
+ end: '\\)'
2196
2191
  endCaptures:
2197
- "0":
2198
- name: "punctuation.parenthesis.close.apex"
2192
+ '0':
2193
+ name: 'punctuation.parenthesis.close.apex'
2199
2194
  patterns: [
2200
2195
  {
2201
- include: "#expression"
2196
+ include: '#expression'
2202
2197
  }
2203
2198
  ]
2204
- "initializer-expression":
2205
- begin: "\\{"
2199
+ 'initializer-expression':
2200
+ begin: '\\{'
2206
2201
  beginCaptures:
2207
- "0":
2208
- name: "punctuation.curlybrace.open.apex"
2209
- end: "\\}"
2202
+ '0':
2203
+ name: 'punctuation.curlybrace.open.apex'
2204
+ end: '\\}'
2210
2205
  endCaptures:
2211
- "0":
2212
- name: "punctuation.curlybrace.close.apex"
2206
+ '0':
2207
+ name: 'punctuation.curlybrace.close.apex'
2213
2208
  patterns: [
2214
2209
  {
2215
- include: "#expression"
2210
+ include: '#expression'
2216
2211
  }
2217
2212
  {
2218
- include: "#punctuation-comma"
2213
+ include: '#punctuation-comma'
2219
2214
  }
2220
2215
  ]
2221
2216
  identifier:
2222
- name: "variable.other.readwrite.apex"
2223
- match: "@?[_[:alpha:]][_[:alnum:]]*"
2224
- "cast-expression":
2217
+ name: 'variable.other.readwrite.apex'
2218
+ match: '@?[_[:alpha:]][_[:alnum:]]*'
2219
+ 'cast-expression':
2225
2220
  match: '''
2226
2221
  (?x)
2227
2222
  (\\()\\s*
@@ -2242,25 +2237,25 @@ repository:
2242
2237
  (\\))(?=\\s*@?[_[:alnum:]\\(])
2243
2238
  '''
2244
2239
  captures:
2245
- "1":
2246
- name: "punctuation.parenthesis.open.apex"
2247
- "2":
2240
+ '1':
2241
+ name: 'punctuation.parenthesis.open.apex'
2242
+ '2':
2248
2243
  patterns: [
2249
2244
  {
2250
- include: "#support-type"
2245
+ include: '#support-type'
2251
2246
  }
2252
2247
  {
2253
- include: "#type"
2248
+ include: '#type'
2254
2249
  }
2255
2250
  ]
2256
- "6":
2257
- name: "punctuation.parenthesis.close.apex"
2258
- "this-expression":
2259
- match: "\\b(?:(this))\\b"
2251
+ '6':
2252
+ name: 'punctuation.parenthesis.close.apex'
2253
+ 'this-expression':
2254
+ match: '\\b(?:(this))\\b'
2260
2255
  captures:
2261
- "1":
2262
- name: "keyword.other.this.apex"
2263
- "invocation-expression":
2256
+ '1':
2257
+ name: 'keyword.other.this.apex'
2258
+ 'invocation-expression':
2264
2259
  begin: '''
2265
2260
  (?x)
2266
2261
  (?:(\\??\\.)\\s*)? # safe navigator or accessor
@@ -2269,30 +2264,30 @@ repository:
2269
2264
  (?=\\() # open paren of argument list
2270
2265
  '''
2271
2266
  beginCaptures:
2272
- "1":
2267
+ '1':
2273
2268
  patterns: [
2274
2269
  {
2275
- include: "#punctuation-accessor"
2270
+ include: '#punctuation-accessor'
2276
2271
  }
2277
2272
  {
2278
- include: "#operator-safe-navigation"
2273
+ include: '#operator-safe-navigation'
2279
2274
  }
2280
2275
  ]
2281
- "2":
2282
- name: "entity.name.function.apex"
2283
- "3":
2276
+ '2':
2277
+ name: 'entity.name.function.apex'
2278
+ '3':
2284
2279
  patterns: [
2285
2280
  {
2286
- include: "#type-arguments"
2281
+ include: '#type-arguments'
2287
2282
  }
2288
2283
  ]
2289
- end: "(?<=\\))"
2284
+ end: '(?<=\\))'
2290
2285
  patterns: [
2291
2286
  {
2292
- include: "#argument-list"
2287
+ include: '#argument-list'
2293
2288
  }
2294
2289
  ]
2295
- "element-access-expression":
2290
+ 'element-access-expression':
2296
2291
  begin: '''
2297
2292
  (?x)
2298
2293
  (?:(\\??\\.)\\s*)? # safe navigator or accessor
@@ -2301,26 +2296,26 @@ repository:
2301
2296
  (?=\\[) # open bracket of argument list
2302
2297
  '''
2303
2298
  beginCaptures:
2304
- "1":
2299
+ '1':
2305
2300
  patterns: [
2306
2301
  {
2307
- include: "#punctuation-accessor"
2302
+ include: '#punctuation-accessor'
2308
2303
  }
2309
2304
  {
2310
- include: "#operator-safe-navigation"
2305
+ include: '#operator-safe-navigation'
2311
2306
  }
2312
2307
  ]
2313
- "2":
2314
- name: "variable.other.object.property.apex"
2315
- "3":
2316
- name: "keyword.operator.null-conditional.apex"
2317
- end: "(?<=\\])(?!\\s*\\[)"
2308
+ '2':
2309
+ name: 'variable.other.object.property.apex'
2310
+ '3':
2311
+ name: 'keyword.operator.null-conditional.apex'
2312
+ end: '(?<=\\])(?!\\s*\\[)'
2318
2313
  patterns: [
2319
2314
  {
2320
- include: "#bracketed-argument-list"
2315
+ include: '#bracketed-argument-list'
2321
2316
  }
2322
2317
  ]
2323
- "member-access-expression":
2318
+ 'member-access-expression':
2324
2319
  patterns: [
2325
2320
  {
2326
2321
  match: '''
@@ -2330,17 +2325,17 @@ repository:
2330
2325
  (?![_[:alnum:]]|\\(|(\\?)?\\[|<) # next character is not alpha-numeric, nor a (, [, or <. Also, test for ?[
2331
2326
  '''
2332
2327
  captures:
2333
- "1":
2328
+ '1':
2334
2329
  patterns: [
2335
2330
  {
2336
- include: "#punctuation-accessor"
2331
+ include: '#punctuation-accessor'
2337
2332
  }
2338
2333
  {
2339
- include: "#operator-safe-navigation"
2334
+ include: '#operator-safe-navigation'
2340
2335
  }
2341
2336
  ]
2342
- "2":
2343
- name: "variable.other.object.property.apex"
2337
+ '2':
2338
+ name: 'variable.other.object.property.apex'
2344
2339
  }
2345
2340
  {
2346
2341
  match: '''
@@ -2354,21 +2349,21 @@ repository:
2354
2349
  )
2355
2350
  '''
2356
2351
  captures:
2357
- "1":
2352
+ '1':
2358
2353
  patterns: [
2359
2354
  {
2360
- include: "#punctuation-accessor"
2355
+ include: '#punctuation-accessor'
2361
2356
  }
2362
2357
  {
2363
- include: "#operator-safe-navigation"
2358
+ include: '#operator-safe-navigation'
2364
2359
  }
2365
2360
  ]
2366
- "2":
2367
- name: "variable.other.object.apex"
2368
- "3":
2361
+ '2':
2362
+ name: 'variable.other.object.apex'
2363
+ '3':
2369
2364
  patterns: [
2370
2365
  {
2371
- include: "#type-arguments"
2366
+ include: '#type-arguments'
2372
2367
  }
2373
2368
  ]
2374
2369
  }
@@ -2382,23 +2377,23 @@ repository:
2382
2377
  )
2383
2378
  '''
2384
2379
  captures:
2385
- "1":
2386
- name: "variable.other.object.apex"
2380
+ '1':
2381
+ name: 'variable.other.object.apex'
2387
2382
  }
2388
2383
  ]
2389
- "object-creation-expression":
2384
+ 'object-creation-expression':
2390
2385
  patterns: [
2391
2386
  {
2392
- include: "#object-creation-expression-with-parameters"
2387
+ include: '#object-creation-expression-with-parameters'
2393
2388
  }
2394
2389
  {
2395
- include: "#object-creation-expression-with-no-parameters"
2390
+ include: '#object-creation-expression-with-no-parameters'
2396
2391
  }
2397
2392
  {
2398
- include: "#punctuation-comma"
2393
+ include: '#punctuation-comma'
2399
2394
  }
2400
2395
  ]
2401
- "object-creation-expression-with-parameters":
2396
+ 'object-creation-expression-with-parameters':
2402
2397
  begin: '''
2403
2398
  (?x)
2404
2399
  (delete|insert|undelete|update|upsert)?
@@ -2420,26 +2415,26 @@ repository:
2420
2415
  (?=\\()
2421
2416
  '''
2422
2417
  beginCaptures:
2423
- "1":
2424
- name: "support.function.apex"
2425
- "2":
2426
- name: "keyword.control.new.apex"
2427
- "3":
2418
+ '1':
2419
+ name: 'support.function.apex'
2420
+ '2':
2421
+ name: 'keyword.control.new.apex'
2422
+ '3':
2428
2423
  patterns: [
2429
2424
  {
2430
- include: "#support-type"
2425
+ include: '#support-type'
2431
2426
  }
2432
2427
  {
2433
- include: "#type"
2428
+ include: '#type'
2434
2429
  }
2435
2430
  ]
2436
- end: "(?<=\\))"
2431
+ end: '(?<=\\))'
2437
2432
  patterns: [
2438
2433
  {
2439
- include: "#argument-list"
2434
+ include: '#argument-list'
2440
2435
  }
2441
2436
  ]
2442
- "object-creation-expression-with-no-parameters":
2437
+ 'object-creation-expression-with-no-parameters':
2443
2438
  match: '''
2444
2439
  (?x)
2445
2440
  (delete|insert|undelete|update|upsert)?
@@ -2461,20 +2456,20 @@ repository:
2461
2456
  (?=\\{|$)
2462
2457
  '''
2463
2458
  captures:
2464
- "1":
2465
- name: "support.function.apex"
2466
- "2":
2467
- name: "keyword.control.new.apex"
2468
- "3":
2459
+ '1':
2460
+ name: 'support.function.apex'
2461
+ '2':
2462
+ name: 'keyword.control.new.apex'
2463
+ '3':
2469
2464
  patterns: [
2470
2465
  {
2471
- include: "#support-type"
2466
+ include: '#support-type'
2472
2467
  }
2473
2468
  {
2474
- include: "#type"
2469
+ include: '#type'
2475
2470
  }
2476
2471
  ]
2477
- "array-creation-expression":
2472
+ 'array-creation-expression':
2478
2473
  begin: '''
2479
2474
  (?x)
2480
2475
  \\b(new)\\b\\s*
@@ -2495,44 +2490,44 @@ repository:
2495
2490
  (?=\\[)
2496
2491
  '''
2497
2492
  beginCaptures:
2498
- "1":
2499
- name: "keyword.control.new.apex"
2500
- "2":
2493
+ '1':
2494
+ name: 'keyword.control.new.apex'
2495
+ '2':
2501
2496
  patterns: [
2502
2497
  {
2503
- include: "#support-type"
2498
+ include: '#support-type'
2504
2499
  }
2505
2500
  {
2506
- include: "#type"
2501
+ include: '#type'
2507
2502
  }
2508
2503
  ]
2509
- end: "(?<=\\])"
2504
+ end: '(?<=\\])'
2510
2505
  patterns: [
2511
2506
  {
2512
- include: "#bracketed-argument-list"
2507
+ include: '#bracketed-argument-list'
2513
2508
  }
2514
2509
  ]
2515
- "parenthesized-parameter-list":
2516
- begin: "(\\()"
2510
+ 'parenthesized-parameter-list':
2511
+ begin: '(\\()'
2517
2512
  beginCaptures:
2518
- "0":
2519
- name: "punctuation.parenthesis.open.apex"
2520
- end: "(\\))"
2513
+ '0':
2514
+ name: 'punctuation.parenthesis.open.apex'
2515
+ end: '(\\))'
2521
2516
  endCaptures:
2522
- "0":
2523
- name: "punctuation.parenthesis.close.apex"
2517
+ '0':
2518
+ name: 'punctuation.parenthesis.close.apex'
2524
2519
  patterns: [
2525
2520
  {
2526
- include: "#comment"
2521
+ include: '#comment'
2527
2522
  }
2528
2523
  {
2529
- include: "#parameter"
2524
+ include: '#parameter'
2530
2525
  }
2531
2526
  {
2532
- include: "#punctuation-comma"
2527
+ include: '#punctuation-comma'
2533
2528
  }
2534
2529
  {
2535
- include: "#variable-initializer"
2530
+ include: '#variable-initializer'
2536
2531
  }
2537
2532
  ]
2538
2533
  parameter:
@@ -2557,285 +2552,285 @@ repository:
2557
2552
  (\\g<identifier>)
2558
2553
  '''
2559
2554
  captures:
2560
- "1":
2561
- name: "storage.modifier.apex"
2562
- "2":
2555
+ '1':
2556
+ name: 'storage.modifier.apex'
2557
+ '2':
2563
2558
  patterns: [
2564
2559
  {
2565
- include: "#support-type"
2560
+ include: '#support-type'
2566
2561
  }
2567
2562
  {
2568
- include: "#type"
2563
+ include: '#type'
2569
2564
  }
2570
2565
  ]
2571
- "6":
2572
- name: "entity.name.variable.parameter.apex"
2573
- "argument-list":
2574
- begin: "\\("
2566
+ '6':
2567
+ name: 'entity.name.variable.parameter.apex'
2568
+ 'argument-list':
2569
+ begin: '\\('
2575
2570
  beginCaptures:
2576
- "0":
2577
- name: "punctuation.parenthesis.open.apex"
2578
- end: "\\)"
2571
+ '0':
2572
+ name: 'punctuation.parenthesis.open.apex'
2573
+ end: '\\)'
2579
2574
  endCaptures:
2580
- "0":
2581
- name: "punctuation.parenthesis.close.apex"
2575
+ '0':
2576
+ name: 'punctuation.parenthesis.close.apex'
2582
2577
  patterns: [
2583
2578
  {
2584
- include: "#named-argument"
2579
+ include: '#named-argument'
2585
2580
  }
2586
2581
  {
2587
- include: "#expression"
2582
+ include: '#expression'
2588
2583
  }
2589
2584
  {
2590
- include: "#punctuation-comma"
2585
+ include: '#punctuation-comma'
2591
2586
  }
2592
2587
  ]
2593
- "bracketed-argument-list":
2594
- begin: "\\["
2588
+ 'bracketed-argument-list':
2589
+ begin: '\\['
2595
2590
  beginCaptures:
2596
- "0":
2597
- name: "punctuation.squarebracket.open.apex"
2598
- end: "\\]"
2591
+ '0':
2592
+ name: 'punctuation.squarebracket.open.apex'
2593
+ end: '\\]'
2599
2594
  endCaptures:
2600
- "0":
2601
- name: "punctuation.squarebracket.close.apex"
2595
+ '0':
2596
+ name: 'punctuation.squarebracket.close.apex'
2602
2597
  patterns: [
2603
2598
  {
2604
- include: "#soql-query-expression"
2599
+ include: '#soql-query-expression'
2605
2600
  }
2606
2601
  {
2607
- include: "#named-argument"
2602
+ include: '#named-argument'
2608
2603
  }
2609
2604
  {
2610
- include: "#expression"
2605
+ include: '#expression'
2611
2606
  }
2612
2607
  {
2613
- include: "#punctuation-comma"
2608
+ include: '#punctuation-comma'
2614
2609
  }
2615
2610
  ]
2616
- "named-argument":
2617
- begin: "(@?[_[:alpha:]][_[:alnum:]]*)\\s*(:)"
2611
+ 'named-argument':
2612
+ begin: '(@?[_[:alpha:]][_[:alnum:]]*)\\s*(:)'
2618
2613
  beginCaptures:
2619
- "1":
2620
- name: "entity.name.variable.parameter.apex"
2621
- "2":
2622
- name: "punctuation.separator.colon.apex"
2623
- end: "(?=(,|\\)|\\]))"
2614
+ '1':
2615
+ name: 'entity.name.variable.parameter.apex'
2616
+ '2':
2617
+ name: 'punctuation.separator.colon.apex'
2618
+ end: '(?=(,|\\)|\\]))'
2624
2619
  patterns: [
2625
2620
  {
2626
- include: "#expression"
2621
+ include: '#expression'
2627
2622
  }
2628
2623
  ]
2629
2624
  type:
2630
- name: "meta.type.apex"
2625
+ name: 'meta.type.apex'
2631
2626
  patterns: [
2632
2627
  {
2633
- include: "#comment"
2628
+ include: '#comment'
2634
2629
  }
2635
2630
  {
2636
- include: "#type-builtin"
2631
+ include: '#type-builtin'
2637
2632
  }
2638
2633
  {
2639
- include: "#type-name"
2634
+ include: '#type-name'
2640
2635
  }
2641
2636
  {
2642
- include: "#type-arguments"
2637
+ include: '#type-arguments'
2643
2638
  }
2644
2639
  {
2645
- include: "#type-array-suffix"
2640
+ include: '#type-array-suffix'
2646
2641
  }
2647
2642
  {
2648
- include: "#type-nullable-suffix"
2643
+ include: '#type-nullable-suffix'
2649
2644
  }
2650
2645
  ]
2651
- "type-builtin":
2652
- match: "\\b(Blob|Boolean|byte|Date|Datetime|Decimal|Double|ID|Integer|Long|Object|String|Time|void)\\b"
2646
+ 'type-builtin':
2647
+ match: '\\b(Blob|Boolean|byte|Date|Datetime|Decimal|Double|ID|Integer|Long|Object|String|Time|void)\\b'
2653
2648
  captures:
2654
- "1":
2655
- name: "keyword.type.apex"
2656
- "type-name":
2649
+ '1':
2650
+ name: 'keyword.type.apex'
2651
+ 'type-name':
2657
2652
  patterns: [
2658
2653
  {
2659
- match: "(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.)"
2654
+ match: '(@?[_[:alpha:]][_[:alnum:]]*)\\s*(\\.)'
2660
2655
  captures:
2661
- "1":
2662
- name: "storage.type.apex"
2663
- "2":
2664
- name: "punctuation.accessor.apex"
2656
+ '1':
2657
+ name: 'storage.type.apex'
2658
+ '2':
2659
+ name: 'punctuation.accessor.apex'
2665
2660
  }
2666
2661
  {
2667
- match: "(\\.)\\s*(@?[_[:alpha:]][_[:alnum:]]*)"
2662
+ match: '(\\.)\\s*(@?[_[:alpha:]][_[:alnum:]]*)'
2668
2663
  captures:
2669
- "1":
2670
- name: "punctuation.accessor.apex"
2671
- "2":
2672
- name: "storage.type.apex"
2664
+ '1':
2665
+ name: 'punctuation.accessor.apex'
2666
+ '2':
2667
+ name: 'storage.type.apex'
2673
2668
  }
2674
2669
  {
2675
- name: "storage.type.apex"
2676
- match: "@?[_[:alpha:]][_[:alnum:]]*"
2670
+ name: 'storage.type.apex'
2671
+ match: '@?[_[:alpha:]][_[:alnum:]]*'
2677
2672
  }
2678
2673
  ]
2679
- "type-arguments":
2680
- begin: "<"
2674
+ 'type-arguments':
2675
+ begin: '<'
2681
2676
  beginCaptures:
2682
- "0":
2683
- name: "punctuation.definition.typeparameters.begin.apex"
2684
- end: ">"
2677
+ '0':
2678
+ name: 'punctuation.definition.typeparameters.begin.apex'
2679
+ end: '>'
2685
2680
  endCaptures:
2686
- "0":
2687
- name: "punctuation.definition.typeparameters.end.apex"
2681
+ '0':
2682
+ name: 'punctuation.definition.typeparameters.end.apex'
2688
2683
  patterns: [
2689
2684
  {
2690
- include: "#comment"
2685
+ include: '#comment'
2691
2686
  }
2692
2687
  {
2693
- include: "#support-type"
2688
+ include: '#support-type'
2694
2689
  }
2695
2690
  {
2696
- include: "#type"
2691
+ include: '#type'
2697
2692
  }
2698
2693
  {
2699
- include: "#punctuation-comma"
2694
+ include: '#punctuation-comma'
2700
2695
  }
2701
2696
  ]
2702
- "type-array-suffix":
2703
- begin: "\\["
2697
+ 'type-array-suffix':
2698
+ begin: '\\['
2704
2699
  beginCaptures:
2705
- "0":
2706
- name: "punctuation.squarebracket.open.apex"
2707
- end: "\\]"
2700
+ '0':
2701
+ name: 'punctuation.squarebracket.open.apex'
2702
+ end: '\\]'
2708
2703
  endCaptures:
2709
- "0":
2710
- name: "punctuation.squarebracket.close.apex"
2704
+ '0':
2705
+ name: 'punctuation.squarebracket.close.apex'
2711
2706
  patterns: [
2712
2707
  {
2713
- include: "#punctuation-comma"
2708
+ include: '#punctuation-comma'
2714
2709
  }
2715
2710
  ]
2716
- "type-nullable-suffix":
2717
- match: "\\?"
2711
+ 'type-nullable-suffix':
2712
+ match: '\\?'
2718
2713
  captures:
2719
- "0":
2720
- name: "punctuation.separator.question-mark.apex"
2721
- "operator-assignment":
2722
- name: "keyword.operator.assignment.apex"
2723
- match: "(?<!=|!)(=)(?!=)"
2724
- "operator-safe-navigation":
2725
- name: "keyword.operator.safe-navigation.apex"
2726
- match: "\\?\\."
2727
- "punctuation-comma":
2728
- name: "punctuation.separator.comma.apex"
2729
- match: ","
2730
- "punctuation-semicolon":
2731
- name: "punctuation.terminator.statement.apex"
2732
- match: ";"
2733
- "punctuation-accessor":
2734
- name: "punctuation.accessor.apex"
2735
- match: "\\."
2714
+ '0':
2715
+ name: 'punctuation.separator.question-mark.apex'
2716
+ 'operator-assignment':
2717
+ name: 'keyword.operator.assignment.apex'
2718
+ match: '(?<!=|!)(=)(?!=)'
2719
+ 'operator-safe-navigation':
2720
+ name: 'keyword.operator.safe-navigation.apex'
2721
+ match: '\\?\\.'
2722
+ 'punctuation-comma':
2723
+ name: 'punctuation.separator.comma.apex'
2724
+ match: ','
2725
+ 'punctuation-semicolon':
2726
+ name: 'punctuation.terminator.statement.apex'
2727
+ match: ';'
2728
+ 'punctuation-accessor':
2729
+ name: 'punctuation.accessor.apex'
2730
+ match: '\\.'
2736
2731
  comment:
2737
2732
  patterns: [
2738
2733
  {
2739
- name: "comment.block.apex"
2740
- begin: "/\\*(\\*)?"
2734
+ name: 'comment.block.apex'
2735
+ begin: '/\\*(\\*)?'
2741
2736
  beginCaptures:
2742
- "0":
2743
- name: "punctuation.definition.comment.apex"
2744
- end: "\\*/"
2737
+ '0':
2738
+ name: 'punctuation.definition.comment.apex'
2739
+ end: '\\*/'
2745
2740
  endCaptures:
2746
- "0":
2747
- name: "punctuation.definition.comment.apex"
2741
+ '0':
2742
+ name: 'punctuation.definition.comment.apex'
2748
2743
  }
2749
2744
  {
2750
- begin: "(^\\s+)?(?=//)"
2745
+ begin: '(^\\s+)?(?=//)'
2751
2746
  beginCaptures:
2752
- "1":
2753
- name: "punctuation.whitespace.comment.leading.apex"
2754
- end: "(?=$)"
2747
+ '1':
2748
+ name: 'punctuation.whitespace.comment.leading.apex'
2749
+ end: '(?=$)'
2755
2750
  patterns: [
2756
2751
  {
2757
- name: "comment.block.documentation.apex"
2758
- begin: "(?<!/)///(?!/)"
2752
+ name: 'comment.block.documentation.apex'
2753
+ begin: '(?<!/)///(?!/)'
2759
2754
  beginCaptures:
2760
- "0":
2761
- name: "punctuation.definition.comment.apex"
2762
- end: "(?=$)"
2755
+ '0':
2756
+ name: 'punctuation.definition.comment.apex'
2757
+ end: '(?=$)'
2763
2758
  patterns: [
2764
2759
  {
2765
- include: "#xml-doc-comment"
2760
+ include: '#xml-doc-comment'
2766
2761
  }
2767
2762
  ]
2768
2763
  }
2769
2764
  {
2770
- name: "comment.line.double-slash.apex"
2771
- begin: "(?<!/)//(?:(?!/)|(?=//))"
2765
+ name: 'comment.line.double-slash.apex'
2766
+ begin: '(?<!/)//(?:(?!/)|(?=//))'
2772
2767
  beginCaptures:
2773
- "0":
2774
- name: "punctuation.definition.comment.apex"
2775
- end: "(?=$)"
2768
+ '0':
2769
+ name: 'punctuation.definition.comment.apex'
2770
+ end: '(?=$)'
2776
2771
  }
2777
2772
  ]
2778
2773
  }
2779
2774
  ]
2780
- "javadoc-comment":
2775
+ 'javadoc-comment':
2781
2776
  patterns: [
2782
2777
  {
2783
- name: "comment.block.javadoc.apex"
2784
- begin: "^\\s*(/\\*\\*)(?!/)"
2778
+ name: 'comment.block.javadoc.apex'
2779
+ begin: '^\\s*(/\\*\\*)(?!/)'
2785
2780
  beginCaptures:
2786
- "1":
2787
- name: "punctuation.definition.comment.apex"
2788
- end: "\\*/"
2781
+ '1':
2782
+ name: 'punctuation.definition.comment.apex'
2783
+ end: '\\*/'
2789
2784
  endCaptures:
2790
- "0":
2791
- name: "punctuation.definition.comment.apex"
2785
+ '0':
2786
+ name: 'punctuation.definition.comment.apex'
2792
2787
  patterns: [
2793
2788
  {
2794
- match: "@(deprecated|author|return|see|serial|since|version|usage|name|link)\\b"
2795
- name: "keyword.other.documentation.javadoc.apex"
2789
+ match: '@(deprecated|author|return|see|serial|since|version|usage|name|link)\\b'
2790
+ name: 'keyword.other.documentation.javadoc.apex'
2796
2791
  }
2797
2792
  {
2798
- match: "(@param)\\s+(\\S+)"
2793
+ match: '(@param)\\s+(\\S+)'
2799
2794
  captures:
2800
- "1":
2801
- name: "keyword.other.documentation.javadoc.apex"
2802
- "2":
2803
- name: "entity.name.variable.parameter.apex"
2795
+ '1':
2796
+ name: 'keyword.other.documentation.javadoc.apex'
2797
+ '2':
2798
+ name: 'entity.name.variable.parameter.apex'
2804
2799
  }
2805
2800
  {
2806
- match: "(@(?:exception|throws))\\s+(\\S+)"
2801
+ match: '(@(?:exception|throws))\\s+(\\S+)'
2807
2802
  captures:
2808
- "1":
2809
- name: "keyword.other.documentation.javadoc.apex"
2810
- "2":
2811
- name: "entity.name.type.class.apex"
2803
+ '1':
2804
+ name: 'keyword.other.documentation.javadoc.apex'
2805
+ '2':
2806
+ name: 'entity.name.type.class.apex'
2812
2807
  }
2813
2808
  {
2814
- match: "(`([^`]+?)`)"
2809
+ match: '(`([^`]+?)`)'
2815
2810
  captures:
2816
- "1":
2817
- name: "string.quoted.single.apex"
2811
+ '1':
2812
+ name: 'string.quoted.single.apex'
2818
2813
  }
2819
2814
  ]
2820
2815
  }
2821
2816
  ]
2822
- "xml-doc-comment":
2817
+ 'xml-doc-comment':
2823
2818
  patterns: [
2824
2819
  {
2825
- include: "#xml-comment"
2820
+ include: '#xml-comment'
2826
2821
  }
2827
2822
  {
2828
- include: "#xml-character-entity"
2823
+ include: '#xml-character-entity'
2829
2824
  }
2830
2825
  {
2831
- include: "#xml-cdata"
2826
+ include: '#xml-cdata'
2832
2827
  }
2833
2828
  {
2834
- include: "#xml-tag"
2829
+ include: '#xml-tag'
2835
2830
  }
2836
2831
  ]
2837
- "xml-tag":
2838
- name: "meta.tag.apex"
2832
+ 'xml-tag':
2833
+ name: 'meta.tag.apex'
2839
2834
  begin: '''
2840
2835
  (?x)
2841
2836
  (</?)
@@ -2848,26 +2843,26 @@ repository:
2848
2843
  )
2849
2844
  '''
2850
2845
  beginCaptures:
2851
- "1":
2852
- name: "punctuation.definition.tag.apex"
2853
- "2":
2854
- name: "entity.name.tag.apex"
2855
- "3":
2856
- name: "entity.name.tag.namespace.apex"
2857
- "4":
2858
- name: "punctuation.separator.colon.apex"
2859
- "5":
2860
- name: "entity.name.tag.localname.apex"
2861
- end: "(/?>)"
2846
+ '1':
2847
+ name: 'punctuation.definition.tag.apex'
2848
+ '2':
2849
+ name: 'entity.name.tag.apex'
2850
+ '3':
2851
+ name: 'entity.name.tag.namespace.apex'
2852
+ '4':
2853
+ name: 'punctuation.separator.colon.apex'
2854
+ '5':
2855
+ name: 'entity.name.tag.localname.apex'
2856
+ end: '(/?>)'
2862
2857
  endCaptures:
2863
- "1":
2864
- name: "punctuation.definition.tag.apex"
2858
+ '1':
2859
+ name: 'punctuation.definition.tag.apex'
2865
2860
  patterns: [
2866
2861
  {
2867
- include: "#xml-attribute"
2862
+ include: '#xml-attribute'
2868
2863
  }
2869
2864
  ]
2870
- "xml-attribute":
2865
+ 'xml-attribute':
2871
2866
  patterns: [
2872
2867
  {
2873
2868
  match: '''
@@ -2883,70 +2878,70 @@ repository:
2883
2878
  (=)
2884
2879
  '''
2885
2880
  captures:
2886
- "1":
2887
- name: "entity.other.attribute-name.apex"
2888
- "2":
2889
- name: "entity.other.attribute-name.namespace.apex"
2890
- "3":
2891
- name: "punctuation.separator.colon.apex"
2892
- "4":
2893
- name: "entity.other.attribute-name.localname.apex"
2894
- "5":
2895
- name: "punctuation.separator.equals.apex"
2881
+ '1':
2882
+ name: 'entity.other.attribute-name.apex'
2883
+ '2':
2884
+ name: 'entity.other.attribute-name.namespace.apex'
2885
+ '3':
2886
+ name: 'punctuation.separator.colon.apex'
2887
+ '4':
2888
+ name: 'entity.other.attribute-name.localname.apex'
2889
+ '5':
2890
+ name: 'punctuation.separator.equals.apex'
2896
2891
  }
2897
2892
  {
2898
- include: "#xml-string"
2893
+ include: '#xml-string'
2899
2894
  }
2900
2895
  ]
2901
- "xml-cdata":
2902
- name: "string.unquoted.cdata.apex"
2903
- begin: "<!\\[CDATA\\["
2896
+ 'xml-cdata':
2897
+ name: 'string.unquoted.cdata.apex'
2898
+ begin: '<!\\[CDATA\\['
2904
2899
  beginCaptures:
2905
- "0":
2906
- name: "punctuation.definition.string.begin.apex"
2907
- end: "\\]\\]>"
2900
+ '0':
2901
+ name: 'punctuation.definition.string.begin.apex'
2902
+ end: '\\]\\]>'
2908
2903
  endCaptures:
2909
- "0":
2910
- name: "punctuation.definition.string.end.apex"
2911
- "xml-string":
2904
+ '0':
2905
+ name: 'punctuation.definition.string.end.apex'
2906
+ 'xml-string':
2912
2907
  patterns: [
2913
2908
  {
2914
- name: "string.quoted.single.apex"
2909
+ name: 'string.quoted.single.apex'
2915
2910
  begin: "\\'"
2916
2911
  beginCaptures:
2917
- "0":
2918
- name: "punctuation.definition.string.begin.apex"
2912
+ '0':
2913
+ name: 'punctuation.definition.string.begin.apex'
2919
2914
  end: "\\'"
2920
2915
  endCaptures:
2921
- "0":
2922
- name: "punctuation.definition.string.end.apex"
2916
+ '0':
2917
+ name: 'punctuation.definition.string.end.apex'
2923
2918
  patterns: [
2924
2919
  {
2925
- include: "#xml-character-entity"
2920
+ include: '#xml-character-entity'
2926
2921
  }
2927
2922
  ]
2928
2923
  }
2929
2924
  {
2930
- name: "string.quoted.double.apex"
2931
- begin: "\\\""
2925
+ name: 'string.quoted.double.apex'
2926
+ begin: '\\"'
2932
2927
  beginCaptures:
2933
- "0":
2934
- name: "punctuation.definition.stringdoublequote.begin.apex"
2935
- end: "\\\""
2928
+ '0':
2929
+ name: 'punctuation.definition.stringdoublequote.begin.apex'
2930
+ end: '\\"'
2936
2931
  endCaptures:
2937
- "0":
2938
- name: "punctuation.definition.stringdoublequote.end.apex"
2932
+ '0':
2933
+ name: 'punctuation.definition.stringdoublequote.end.apex'
2939
2934
  patterns: [
2940
2935
  {
2941
- include: "#xml-character-entity"
2936
+ include: '#xml-character-entity'
2942
2937
  }
2943
2938
  ]
2944
2939
  }
2945
2940
  ]
2946
- "xml-character-entity":
2941
+ 'xml-character-entity':
2947
2942
  patterns: [
2948
2943
  {
2949
- name: "constant.character.entity.apex"
2944
+ name: 'constant.character.entity.apex'
2950
2945
  match: '''
2951
2946
  (?x)
2952
2947
  (&)
@@ -2958,23 +2953,23 @@ repository:
2958
2953
  (;)
2959
2954
  '''
2960
2955
  captures:
2961
- "1":
2962
- name: "punctuation.definition.constant.apex"
2963
- "3":
2964
- name: "punctuation.definition.constant.apex"
2956
+ '1':
2957
+ name: 'punctuation.definition.constant.apex'
2958
+ '3':
2959
+ name: 'punctuation.definition.constant.apex'
2965
2960
  }
2966
2961
  {
2967
- name: "invalid.illegal.bad-ampersand.apex"
2968
- match: "&"
2962
+ name: 'invalid.illegal.bad-ampersand.apex'
2963
+ match: '&'
2969
2964
  }
2970
2965
  ]
2971
- "xml-comment":
2972
- name: "comment.block.apex"
2973
- begin: "<!--"
2966
+ 'xml-comment':
2967
+ name: 'comment.block.apex'
2968
+ begin: '<!--'
2974
2969
  beginCaptures:
2975
- "0":
2976
- name: "punctuation.definition.comment.apex"
2977
- end: "-->"
2970
+ '0':
2971
+ name: 'punctuation.definition.comment.apex'
2972
+ end: '-->'
2978
2973
  endCaptures:
2979
- "0":
2980
- name: "punctuation.definition.comment.apex"
2974
+ '0':
2975
+ name: 'punctuation.definition.comment.apex'