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