Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/cpp/syntaxes/cpp.tmLanguage.json
3314 views
1
{
2
"information_for_contributors": [
3
"This file has been converted from https://github.com/jeff-hykin/better-cpp-syntax/blob/master/autogenerated/cpp.tmLanguage.json",
4
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
5
"Once accepted there, we are happy to receive an update request."
6
],
7
"version": "https://github.com/jeff-hykin/better-cpp-syntax/commit/f1d127a8af2b184db570345f0bb179503c47fdf6",
8
"name": "C++",
9
"scopeName": "source.cpp",
10
"patterns": [
11
{
12
"include": "#ever_present_context"
13
},
14
{
15
"include": "#constructor_root"
16
},
17
{
18
"include": "#destructor_root"
19
},
20
{
21
"include": "#function_definition"
22
},
23
{
24
"include": "#operator_overload"
25
},
26
{
27
"include": "#using_namespace"
28
},
29
{
30
"include": "#type_alias"
31
},
32
{
33
"include": "#using_name"
34
},
35
{
36
"include": "#namespace_alias"
37
},
38
{
39
"include": "#namespace_block"
40
},
41
{
42
"include": "#extern_block"
43
},
44
{
45
"include": "#typedef_class"
46
},
47
{
48
"include": "#typedef_struct"
49
},
50
{
51
"include": "#typedef_union"
52
},
53
{
54
"include": "#misc_keywords"
55
},
56
{
57
"include": "#standard_declares"
58
},
59
{
60
"include": "#class_block"
61
},
62
{
63
"include": "#struct_block"
64
},
65
{
66
"include": "#union_block"
67
},
68
{
69
"include": "#enum_block"
70
},
71
{
72
"include": "#template_isolated_definition"
73
},
74
{
75
"include": "#template_definition"
76
},
77
{
78
"include": "#template_explicit_instantiation"
79
},
80
{
81
"include": "#access_control_keywords"
82
},
83
{
84
"include": "#block"
85
},
86
{
87
"include": "#static_assert"
88
},
89
{
90
"include": "#assembly"
91
},
92
{
93
"include": "#function_pointer"
94
},
95
{
96
"include": "#evaluation_context"
97
}
98
],
99
"repository": {
100
"access_control_keywords": {
101
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(((?:(?:protected)|(?:private)|(?:public)))(?:\\s+)?(:))",
102
"captures": {
103
"1": {
104
"patterns": [
105
{
106
"include": "#inline_comment"
107
}
108
]
109
},
110
"2": {
111
"patterns": [
112
{
113
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
114
"captures": {
115
"1": {
116
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
117
},
118
"2": {
119
"name": "comment.block.cpp"
120
},
121
"3": {
122
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
123
}
124
}
125
}
126
]
127
},
128
"3": {
129
"name": "storage.type.modifier.access.control.$4.cpp"
130
},
131
"4": {},
132
"5": {
133
"name": "punctuation.separator.colon.access.control.cpp"
134
}
135
}
136
},
137
"alignas_attribute": {
138
"begin": "alignas\\(",
139
"end": "\\)",
140
"beginCaptures": {
141
"0": {
142
"name": "punctuation.section.attribute.begin.cpp"
143
}
144
},
145
"endCaptures": {
146
"0": {
147
"name": "punctuation.section.attribute.end.cpp"
148
}
149
},
150
"name": "support.other.attribute.cpp",
151
"patterns": [
152
{
153
"include": "#attributes_context"
154
},
155
{
156
"begin": "\\(",
157
"end": "\\)",
158
"beginCaptures": {},
159
"endCaptures": {},
160
"patterns": [
161
{
162
"include": "#attributes_context"
163
},
164
{
165
"include": "#string_context"
166
},
167
{
168
"include": "#ever_present_context"
169
}
170
]
171
},
172
{
173
"match": "(using)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
174
"captures": {
175
"1": {
176
"name": "keyword.other.using.directive.cpp"
177
},
178
"2": {
179
"name": "entity.name.namespace.cpp"
180
}
181
}
182
},
183
{
184
"match": ",",
185
"name": "punctuation.separator.attribute.cpp"
186
},
187
{
188
"match": ":",
189
"name": "punctuation.accessor.attribute.cpp"
190
},
191
{
192
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
193
"name": "entity.name.namespace.cpp"
194
},
195
{
196
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
197
"name": "entity.other.attribute.$0.cpp"
198
},
199
{
200
"include": "#number_literal"
201
},
202
{
203
"include": "#ever_present_context"
204
}
205
]
206
},
207
"alignas_operator": {
208
"begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
209
"end": "\\)",
210
"beginCaptures": {
211
"1": {
212
"name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
213
},
214
"2": {
215
"patterns": [
216
{
217
"include": "#inline_comment"
218
}
219
]
220
},
221
"3": {
222
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
223
},
224
"4": {
225
"name": "comment.block.cpp"
226
},
227
"5": {
228
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
229
},
230
"6": {
231
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
232
}
233
},
234
"endCaptures": {
235
"0": {
236
"name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
237
}
238
},
239
"contentName": "meta.arguments.operator.alignas",
240
"patterns": [
241
{
242
"include": "#evaluation_context"
243
}
244
]
245
},
246
"alignof_operator": {
247
"begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
248
"end": "\\)",
249
"beginCaptures": {
250
"1": {
251
"name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
252
},
253
"2": {
254
"patterns": [
255
{
256
"include": "#inline_comment"
257
}
258
]
259
},
260
"3": {
261
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
262
},
263
"4": {
264
"name": "comment.block.cpp"
265
},
266
"5": {
267
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
268
},
269
"6": {
270
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
271
}
272
},
273
"endCaptures": {
274
"0": {
275
"name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
276
}
277
},
278
"contentName": "meta.arguments.operator.alignof",
279
"patterns": [
280
{
281
"include": "#evaluation_context"
282
}
283
]
284
},
285
"assembly": {
286
"begin": "(\\b(?:__asm__|asm)\\b)(?:\\s+)?((?:volatile)?)",
287
"end": "(?!\\G)",
288
"beginCaptures": {
289
"1": {
290
"name": "storage.type.asm.cpp"
291
},
292
"2": {
293
"name": "storage.modifier.cpp"
294
}
295
},
296
"endCaptures": {},
297
"name": "meta.asm.cpp",
298
"patterns": [
299
{
300
"match": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\n|$)",
301
"captures": {
302
"1": {
303
"patterns": [
304
{
305
"include": "#inline_comment"
306
}
307
]
308
},
309
"2": {
310
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
311
},
312
"3": {
313
"name": "comment.block.cpp"
314
},
315
"4": {
316
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
317
}
318
}
319
},
320
{
321
"include": "#comments"
322
},
323
{
324
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\(",
325
"end": "\\)",
326
"beginCaptures": {
327
"0": {
328
"name": "punctuation.section.parens.begin.bracket.round.assembly.cpp"
329
},
330
"1": {
331
"patterns": [
332
{
333
"include": "#inline_comment"
334
}
335
]
336
},
337
"2": {
338
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
339
},
340
"3": {
341
"name": "comment.block.cpp"
342
},
343
"4": {
344
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
345
}
346
},
347
"endCaptures": {
348
"0": {
349
"name": "punctuation.section.parens.end.bracket.round.assembly.cpp"
350
}
351
},
352
"patterns": [
353
{
354
"begin": "(R?)(\")",
355
"end": "\"",
356
"beginCaptures": {
357
"1": {
358
"name": "meta.encoding.cpp"
359
},
360
"2": {
361
"name": "punctuation.definition.string.begin.assembly.cpp"
362
}
363
},
364
"endCaptures": {
365
"0": {
366
"name": "punctuation.definition.string.end.assembly.cpp"
367
}
368
},
369
"name": "string.quoted.double.cpp",
370
"contentName": "meta.embedded.assembly",
371
"patterns": [
372
{
373
"include": "source.asm"
374
},
375
{
376
"include": "source.x86"
377
},
378
{
379
"include": "source.x86_64"
380
},
381
{
382
"include": "source.arm"
383
},
384
{
385
"include": "#backslash_escapes"
386
},
387
{
388
"include": "#string_escaped_char"
389
}
390
]
391
},
392
{
393
"begin": "\\(",
394
"end": "\\)",
395
"beginCaptures": {
396
"0": {
397
"name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"
398
}
399
},
400
"endCaptures": {
401
"0": {
402
"name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp"
403
}
404
},
405
"patterns": [
406
{
407
"include": "#evaluation_context"
408
}
409
]
410
},
411
{
412
"match": "\\[((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]",
413
"captures": {
414
"1": {
415
"patterns": [
416
{
417
"include": "#inline_comment"
418
}
419
]
420
},
421
"2": {
422
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
423
},
424
"3": {
425
"name": "comment.block.cpp"
426
},
427
"4": {
428
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
429
},
430
"5": {
431
"name": "variable.other.asm.label.cpp"
432
},
433
"6": {
434
"patterns": [
435
{
436
"include": "#inline_comment"
437
}
438
]
439
},
440
"7": {
441
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
442
},
443
"8": {
444
"name": "comment.block.cpp"
445
},
446
"9": {
447
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
448
}
449
}
450
},
451
{
452
"match": ":",
453
"name": "punctuation.separator.delimiter.colon.assembly.cpp"
454
},
455
{
456
"include": "#comments"
457
}
458
]
459
}
460
]
461
},
462
"assignment_operator": {
463
"match": "\\=",
464
"name": "keyword.operator.assignment.cpp"
465
},
466
"attributes_context": {
467
"patterns": [
468
{
469
"include": "#cpp_attributes"
470
},
471
{
472
"include": "#gcc_attributes"
473
},
474
{
475
"include": "#ms_attributes"
476
},
477
{
478
"include": "#alignas_attribute"
479
}
480
]
481
},
482
"backslash_escapes": {
483
"match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
484
"name": "constant.character.escape"
485
},
486
"block": {
487
"begin": "{",
488
"end": "}",
489
"beginCaptures": {
490
"0": {
491
"name": "punctuation.section.block.begin.bracket.curly.cpp"
492
}
493
},
494
"endCaptures": {
495
"0": {
496
"name": "punctuation.section.block.end.bracket.curly.cpp"
497
}
498
},
499
"name": "meta.block.cpp",
500
"patterns": [
501
{
502
"include": "#function_body_context"
503
}
504
]
505
},
506
"block_comment": {
507
"begin": "\\s*+(\\/\\*)",
508
"end": "\\*\\/",
509
"beginCaptures": {
510
"1": {
511
"name": "punctuation.definition.comment.begin.cpp"
512
}
513
},
514
"endCaptures": {
515
"0": {
516
"name": "punctuation.definition.comment.end.cpp"
517
}
518
},
519
"name": "comment.block.cpp"
520
},
521
"builtin_storage_type_initilizer": {
522
"begin": "\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)\\s*+(?<!\\w)(\\()",
523
"end": "\\)",
524
"beginCaptures": {
525
"1": {
526
"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
527
},
528
"2": {
529
"name": "storage.type.cpp storage.type.built-in.cpp"
530
},
531
"3": {
532
"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
533
},
534
"4": {
535
"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
536
},
537
"5": {
538
"name": "punctuation.section.arguments.begin.bracket.round.initializer.cpp"
539
}
540
},
541
"endCaptures": {
542
"0": {
543
"name": "punctuation.section.arguments.end.bracket.round.initializer.cpp"
544
}
545
},
546
"patterns": [
547
{
548
"include": "#evaluation_context"
549
}
550
]
551
},
552
"case_statement": {
553
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)case(?!\\w))",
554
"end": ":",
555
"beginCaptures": {
556
"1": {
557
"patterns": [
558
{
559
"include": "#inline_comment"
560
}
561
]
562
},
563
"2": {
564
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
565
},
566
"3": {
567
"name": "comment.block.cpp"
568
},
569
"4": {
570
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
571
},
572
"5": {
573
"name": "keyword.control.case.cpp"
574
}
575
},
576
"endCaptures": {
577
"0": {
578
"name": "punctuation.separator.colon.case.cpp"
579
}
580
},
581
"name": "meta.conditional.case.cpp",
582
"patterns": [
583
{
584
"include": "#evaluation_context"
585
}
586
]
587
},
588
"class_block": {
589
"begin": "((?<!\\w)class(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",
590
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
591
"beginCaptures": {
592
"0": {
593
"name": "meta.head.class.cpp"
594
},
595
"1": {
596
"name": "storage.type.$1.cpp"
597
},
598
"2": {
599
"patterns": [
600
{
601
"include": "#inline_comment"
602
}
603
]
604
},
605
"3": {
606
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
607
},
608
"4": {
609
"name": "comment.block.cpp"
610
},
611
"5": {
612
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
613
},
614
"6": {
615
"patterns": [
616
{
617
"include": "#attributes_context"
618
},
619
{
620
"include": "#number_literal"
621
}
622
]
623
},
624
"7": {
625
"patterns": [
626
{
627
"include": "#inline_comment"
628
}
629
]
630
},
631
"8": {
632
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
633
},
634
"9": {
635
"name": "comment.block.cpp"
636
},
637
"10": {
638
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
639
},
640
"11": {
641
"patterns": [
642
{
643
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
644
"captures": {
645
"1": {
646
"name": "storage.type.modifier.final.cpp"
647
},
648
"2": {
649
"patterns": [
650
{
651
"include": "#inline_comment"
652
}
653
]
654
},
655
"3": {
656
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
657
},
658
"4": {
659
"name": "comment.block.cpp"
660
},
661
"5": {
662
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
663
}
664
}
665
},
666
{
667
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",
668
"captures": {
669
"1": {
670
"name": "entity.name.type.class.cpp"
671
},
672
"2": {
673
"patterns": [
674
{
675
"include": "#inline_comment"
676
}
677
]
678
},
679
"3": {
680
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
681
},
682
"4": {
683
"name": "comment.block.cpp"
684
},
685
"5": {
686
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
687
},
688
"6": {
689
"name": "storage.type.modifier.final.cpp"
690
},
691
"7": {
692
"patterns": [
693
{
694
"include": "#inline_comment"
695
}
696
]
697
},
698
"8": {
699
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
700
},
701
"9": {
702
"name": "comment.block.cpp"
703
},
704
"10": {
705
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
706
}
707
}
708
},
709
{
710
"match": "DLLEXPORT",
711
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
712
},
713
{
714
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
715
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
716
}
717
]
718
},
719
"12": {
720
"patterns": [
721
{
722
"include": "#inline_comment"
723
}
724
]
725
},
726
"13": {
727
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
728
},
729
"14": {
730
"name": "comment.block.cpp"
731
},
732
"15": {
733
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
734
},
735
"16": {
736
"patterns": [
737
{
738
"include": "#inline_comment"
739
}
740
]
741
},
742
"17": {
743
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
744
},
745
"18": {
746
"name": "comment.block.cpp"
747
},
748
"19": {
749
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
750
},
751
"20": {
752
"name": "punctuation.separator.colon.inheritance.cpp"
753
}
754
},
755
"endCaptures": {
756
"1": {
757
"name": "punctuation.terminator.statement.cpp"
758
},
759
"2": {
760
"name": "punctuation.terminator.statement.cpp"
761
}
762
},
763
"name": "meta.block.class.cpp",
764
"patterns": [
765
{
766
"begin": "\\G ?",
767
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
768
"beginCaptures": {},
769
"endCaptures": {
770
"0": {
771
"name": "punctuation.section.block.begin.bracket.curly.class.cpp"
772
}
773
},
774
"name": "meta.head.class.cpp",
775
"patterns": [
776
{
777
"include": "#ever_present_context"
778
},
779
{
780
"include": "#inheritance_context"
781
},
782
{
783
"include": "#template_call_range"
784
}
785
]
786
},
787
{
788
"begin": "(?<=\\{|<%|\\?\\?<)",
789
"end": "\\}|%>|\\?\\?>",
790
"beginCaptures": {},
791
"endCaptures": {
792
"0": {
793
"name": "punctuation.section.block.end.bracket.curly.class.cpp"
794
}
795
},
796
"name": "meta.body.class.cpp",
797
"patterns": [
798
{
799
"include": "#function_pointer"
800
},
801
{
802
"include": "#static_assert"
803
},
804
{
805
"include": "#constructor_inline"
806
},
807
{
808
"include": "#destructor_inline"
809
},
810
{
811
"include": "$self"
812
}
813
]
814
},
815
{
816
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
817
"end": "[\\s]*(?=;)",
818
"beginCaptures": {},
819
"endCaptures": {},
820
"name": "meta.tail.class.cpp",
821
"patterns": [
822
{
823
"include": "$self"
824
}
825
]
826
}
827
]
828
},
829
"class_declare": {
830
"match": "((?<!\\w)class(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
831
"captures": {
832
"1": {
833
"name": "storage.type.class.declare.cpp"
834
},
835
"2": {
836
"patterns": [
837
{
838
"include": "#inline_comment"
839
}
840
]
841
},
842
"3": {
843
"patterns": [
844
{
845
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
846
"captures": {
847
"1": {
848
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
849
},
850
"2": {
851
"name": "comment.block.cpp"
852
},
853
"3": {
854
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
855
}
856
}
857
}
858
]
859
},
860
"4": {
861
"name": "entity.name.type.class.cpp"
862
},
863
"5": {
864
"patterns": [
865
{
866
"match": "\\*",
867
"name": "storage.modifier.pointer.cpp"
868
},
869
{
870
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
871
"captures": {
872
"1": {
873
"patterns": [
874
{
875
"include": "#inline_comment"
876
}
877
]
878
},
879
"2": {
880
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
881
},
882
"3": {
883
"name": "comment.block.cpp"
884
},
885
"4": {
886
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
887
}
888
},
889
"name": "invalid.illegal.reference-type.cpp"
890
},
891
{
892
"match": "\\&",
893
"name": "storage.modifier.reference.cpp"
894
}
895
]
896
},
897
"6": {
898
"patterns": [
899
{
900
"include": "#inline_comment"
901
}
902
]
903
},
904
"7": {
905
"patterns": [
906
{
907
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
908
"captures": {
909
"1": {
910
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
911
},
912
"2": {
913
"name": "comment.block.cpp"
914
},
915
"3": {
916
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
917
}
918
}
919
}
920
]
921
},
922
"8": {
923
"patterns": [
924
{
925
"include": "#inline_comment"
926
}
927
]
928
},
929
"9": {
930
"patterns": [
931
{
932
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
933
"captures": {
934
"1": {
935
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
936
},
937
"2": {
938
"name": "comment.block.cpp"
939
},
940
"3": {
941
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
942
}
943
}
944
}
945
]
946
},
947
"10": {
948
"patterns": [
949
{
950
"include": "#inline_comment"
951
}
952
]
953
},
954
"11": {
955
"patterns": [
956
{
957
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
958
"captures": {
959
"1": {
960
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
961
},
962
"2": {
963
"name": "comment.block.cpp"
964
},
965
"3": {
966
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
967
}
968
}
969
}
970
]
971
},
972
"12": {
973
"name": "variable.other.object.declare.cpp"
974
},
975
"13": {
976
"patterns": [
977
{
978
"include": "#inline_comment"
979
}
980
]
981
},
982
"14": {
983
"patterns": [
984
{
985
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
986
"captures": {
987
"1": {
988
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
989
},
990
"2": {
991
"name": "comment.block.cpp"
992
},
993
"3": {
994
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
995
}
996
}
997
}
998
]
999
}
1000
}
1001
},
1002
"comma": {
1003
"match": ",",
1004
"name": "punctuation.separator.delimiter.comma.cpp"
1005
},
1006
"comma_in_template_argument": {
1007
"match": ",",
1008
"name": "punctuation.separator.delimiter.comma.template.argument.cpp"
1009
},
1010
"comments": {
1011
"patterns": [
1012
{
1013
"begin": "^(?:\\s+)?+(\\/\\/[!\\/]+)",
1014
"end": "(?<=\\n)(?<!\\\\\\n)",
1015
"beginCaptures": {
1016
"1": {
1017
"name": "punctuation.definition.comment.documentation.cpp"
1018
}
1019
},
1020
"endCaptures": {},
1021
"name": "comment.line.double-slash.documentation.cpp",
1022
"patterns": [
1023
{
1024
"include": "#line_continuation_character"
1025
},
1026
{
1027
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
1028
"name": "storage.type.class.doxygen.cpp"
1029
},
1030
{
1031
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
1032
"captures": {
1033
"1": {
1034
"name": "storage.type.class.doxygen.cpp"
1035
},
1036
"2": {
1037
"name": "markup.italic.doxygen.cpp"
1038
}
1039
}
1040
},
1041
{
1042
"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
1043
"captures": {
1044
"1": {
1045
"name": "storage.type.class.doxygen.cpp"
1046
},
1047
"2": {
1048
"name": "markup.bold.doxygen.cpp"
1049
}
1050
}
1051
},
1052
{
1053
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
1054
"captures": {
1055
"1": {
1056
"name": "storage.type.class.doxygen.cpp"
1057
},
1058
"2": {
1059
"name": "markup.inline.raw.string.cpp"
1060
}
1061
}
1062
},
1063
{
1064
"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
1065
"name": "storage.type.class.doxygen.cpp"
1066
},
1067
{
1068
"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
1069
"name": "storage.type.class.doxygen.cpp"
1070
},
1071
{
1072
"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)",
1073
"captures": {
1074
"1": {
1075
"name": "storage.type.class.doxygen.cpp"
1076
},
1077
"2": {
1078
"patterns": [
1079
{
1080
"match": "in|out",
1081
"name": "keyword.other.parameter.direction.$0.cpp"
1082
}
1083
]
1084
},
1085
"3": {
1086
"patterns": [
1087
{
1088
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
1089
"name": "variable.parameter.cpp"
1090
},
1091
{
1092
"match": ",",
1093
"name": "punctuation.cpp"
1094
}
1095
]
1096
},
1097
"4": {
1098
"name": "variable.parameter.cpp"
1099
},
1100
"5": {
1101
"name": "punctuation.cpp"
1102
},
1103
"6": {
1104
"name": "variable.parameter.cpp"
1105
}
1106
}
1107
},
1108
{
1109
"match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
1110
"name": "storage.type.class.doxygen.cpp"
1111
},
1112
{
1113
"match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
1114
"name": "storage.type.class.doxygen.cpp"
1115
},
1116
{
1117
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1118
"name": "storage.type.class.gtkdoc.cpp"
1119
}
1120
]
1121
},
1122
{
1123
"match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
1124
"captures": {
1125
"1": {
1126
"name": "punctuation.definition.comment.begin.documentation.cpp"
1127
},
1128
"2": {
1129
"patterns": [
1130
{
1131
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
1132
"name": "storage.type.class.doxygen.cpp"
1133
},
1134
{
1135
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
1136
"captures": {
1137
"1": {
1138
"name": "storage.type.class.doxygen.cpp"
1139
},
1140
"2": {
1141
"name": "markup.italic.doxygen.cpp"
1142
}
1143
}
1144
},
1145
{
1146
"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
1147
"captures": {
1148
"1": {
1149
"name": "storage.type.class.doxygen.cpp"
1150
},
1151
"2": {
1152
"name": "markup.bold.doxygen.cpp"
1153
}
1154
}
1155
},
1156
{
1157
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
1158
"captures": {
1159
"1": {
1160
"name": "storage.type.class.doxygen.cpp"
1161
},
1162
"2": {
1163
"name": "markup.inline.raw.string.cpp"
1164
}
1165
}
1166
},
1167
{
1168
"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
1169
"name": "storage.type.class.doxygen.cpp"
1170
},
1171
{
1172
"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
1173
"name": "storage.type.class.doxygen.cpp"
1174
},
1175
{
1176
"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)",
1177
"captures": {
1178
"1": {
1179
"name": "storage.type.class.doxygen.cpp"
1180
},
1181
"2": {
1182
"patterns": [
1183
{
1184
"match": "in|out",
1185
"name": "keyword.other.parameter.direction.$0.cpp"
1186
}
1187
]
1188
},
1189
"3": {
1190
"patterns": [
1191
{
1192
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
1193
"name": "variable.parameter.cpp"
1194
},
1195
{
1196
"match": ",",
1197
"name": "punctuation.cpp"
1198
}
1199
]
1200
},
1201
"4": {
1202
"name": "variable.parameter.cpp"
1203
},
1204
"5": {
1205
"name": "punctuation.cpp"
1206
},
1207
"6": {
1208
"name": "variable.parameter.cpp"
1209
}
1210
}
1211
},
1212
{
1213
"match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
1214
"name": "storage.type.class.doxygen.cpp"
1215
},
1216
{
1217
"match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
1218
"name": "storage.type.class.doxygen.cpp"
1219
},
1220
{
1221
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1222
"name": "storage.type.class.gtkdoc.cpp"
1223
}
1224
]
1225
},
1226
"3": {
1227
"name": "punctuation.definition.comment.end.documentation.cpp"
1228
}
1229
},
1230
"name": "comment.block.documentation.cpp"
1231
},
1232
{
1233
"begin": "(?:\\s+)?+\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s))",
1234
"end": "[!*]*\\*\\/",
1235
"beginCaptures": {
1236
"0": {
1237
"name": "punctuation.definition.comment.begin.documentation.cpp"
1238
}
1239
},
1240
"endCaptures": {
1241
"0": {
1242
"name": "punctuation.definition.comment.end.documentation.cpp"
1243
}
1244
},
1245
"name": "comment.block.documentation.cpp",
1246
"patterns": [
1247
{
1248
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
1249
"name": "storage.type.class.doxygen.cpp"
1250
},
1251
{
1252
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
1253
"captures": {
1254
"1": {
1255
"name": "storage.type.class.doxygen.cpp"
1256
},
1257
"2": {
1258
"name": "markup.italic.doxygen.cpp"
1259
}
1260
}
1261
},
1262
{
1263
"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
1264
"captures": {
1265
"1": {
1266
"name": "storage.type.class.doxygen.cpp"
1267
},
1268
"2": {
1269
"name": "markup.bold.doxygen.cpp"
1270
}
1271
}
1272
},
1273
{
1274
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
1275
"captures": {
1276
"1": {
1277
"name": "storage.type.class.doxygen.cpp"
1278
},
1279
"2": {
1280
"name": "markup.inline.raw.string.cpp"
1281
}
1282
}
1283
},
1284
{
1285
"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
1286
"name": "storage.type.class.doxygen.cpp"
1287
},
1288
{
1289
"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
1290
"name": "storage.type.class.doxygen.cpp"
1291
},
1292
{
1293
"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)",
1294
"captures": {
1295
"1": {
1296
"name": "storage.type.class.doxygen.cpp"
1297
},
1298
"2": {
1299
"patterns": [
1300
{
1301
"match": "in|out",
1302
"name": "keyword.other.parameter.direction.$0.cpp"
1303
}
1304
]
1305
},
1306
"3": {
1307
"patterns": [
1308
{
1309
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
1310
"name": "variable.parameter.cpp"
1311
},
1312
{
1313
"match": ",",
1314
"name": "punctuation.cpp"
1315
}
1316
]
1317
},
1318
"4": {
1319
"name": "variable.parameter.cpp"
1320
},
1321
"5": {
1322
"name": "punctuation.cpp"
1323
},
1324
"6": {
1325
"name": "variable.parameter.cpp"
1326
}
1327
}
1328
},
1329
{
1330
"match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
1331
"name": "storage.type.class.doxygen.cpp"
1332
},
1333
{
1334
"match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
1335
"name": "storage.type.class.doxygen.cpp"
1336
},
1337
{
1338
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1339
"name": "storage.type.class.gtkdoc.cpp"
1340
}
1341
]
1342
},
1343
{
1344
"include": "#emacs_file_banner"
1345
},
1346
{
1347
"include": "#block_comment"
1348
},
1349
{
1350
"include": "#line_comment"
1351
},
1352
{
1353
"include": "#invalid_comment_end"
1354
}
1355
]
1356
},
1357
"constructor_inline": {
1358
"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())",
1359
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
1360
"beginCaptures": {
1361
"0": {
1362
"name": "meta.head.function.definition.special.constructor.cpp"
1363
},
1364
"1": {
1365
"patterns": [
1366
{
1367
"include": "#inline_comment"
1368
}
1369
]
1370
},
1371
"2": {
1372
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1373
},
1374
"3": {
1375
"name": "comment.block.cpp"
1376
},
1377
"4": {
1378
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1379
},
1380
"5": {
1381
"patterns": [
1382
{
1383
"include": "#functional_specifiers_pre_parameters"
1384
}
1385
]
1386
},
1387
"6": {
1388
"patterns": [
1389
{
1390
"include": "#inline_comment"
1391
}
1392
]
1393
},
1394
"7": {
1395
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1396
},
1397
"8": {
1398
"name": "comment.block.cpp"
1399
},
1400
"9": {
1401
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1402
},
1403
"10": {
1404
"name": "storage.type.modifier.calling-convention.cpp"
1405
},
1406
"11": {
1407
"patterns": [
1408
{
1409
"include": "#inline_comment"
1410
}
1411
]
1412
},
1413
"12": {
1414
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1415
},
1416
"13": {
1417
"name": "comment.block.cpp"
1418
},
1419
"14": {
1420
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1421
},
1422
"15": {
1423
"name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"
1424
}
1425
},
1426
"endCaptures": {},
1427
"name": "meta.function.definition.special.constructor.cpp",
1428
"patterns": [
1429
{
1430
"begin": "\\G ?",
1431
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
1432
"beginCaptures": {},
1433
"endCaptures": {
1434
"0": {
1435
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
1436
}
1437
},
1438
"name": "meta.head.function.definition.special.constructor.cpp",
1439
"patterns": [
1440
{
1441
"include": "#ever_present_context"
1442
},
1443
{
1444
"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
1445
"captures": {
1446
"1": {
1447
"name": "keyword.operator.assignment.cpp"
1448
},
1449
"2": {
1450
"patterns": [
1451
{
1452
"include": "#inline_comment"
1453
}
1454
]
1455
},
1456
"3": {
1457
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1458
},
1459
"4": {
1460
"name": "comment.block.cpp"
1461
},
1462
"5": {
1463
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1464
},
1465
"6": {
1466
"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"
1467
},
1468
"7": {
1469
"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"
1470
}
1471
}
1472
},
1473
{
1474
"include": "#functional_specifiers_pre_parameters"
1475
},
1476
{
1477
"begin": ":",
1478
"end": "(?=\\{)",
1479
"beginCaptures": {
1480
"0": {
1481
"name": "punctuation.separator.initializers.cpp"
1482
}
1483
},
1484
"endCaptures": {},
1485
"patterns": [
1486
{
1487
"begin": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()",
1488
"end": "\\)",
1489
"beginCaptures": {
1490
"1": {
1491
"name": "entity.name.function.call.initializer.cpp"
1492
},
1493
"2": {
1494
"name": "meta.template.call.cpp",
1495
"patterns": [
1496
{
1497
"include": "#template_call_range"
1498
}
1499
]
1500
},
1501
"3": {},
1502
"4": {
1503
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1504
},
1505
"5": {
1506
"name": "comment.block.cpp"
1507
},
1508
"6": {
1509
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1510
},
1511
"7": {
1512
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1513
}
1514
},
1515
"endCaptures": {
1516
"0": {
1517
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1518
}
1519
},
1520
"contentName": "meta.parameter.initialization",
1521
"patterns": [
1522
{
1523
"include": "#evaluation_context"
1524
}
1525
]
1526
},
1527
{
1528
"begin": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(\\{)",
1529
"end": "\\}",
1530
"beginCaptures": {
1531
"1": {
1532
"name": "entity.name.function.call.initializer.cpp"
1533
},
1534
"2": {
1535
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1536
}
1537
},
1538
"endCaptures": {
1539
"0": {
1540
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1541
}
1542
},
1543
"contentName": "meta.parameter.initialization",
1544
"patterns": [
1545
{
1546
"include": "#evaluation_context"
1547
}
1548
]
1549
},
1550
{
1551
"match": ",",
1552
"name": "punctuation.separator.delimiter.comma.cpp"
1553
},
1554
{
1555
"include": "#comments"
1556
}
1557
]
1558
},
1559
{
1560
"begin": "\\(",
1561
"end": "\\)",
1562
"beginCaptures": {
1563
"0": {
1564
"name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
1565
}
1566
},
1567
"endCaptures": {
1568
"0": {
1569
"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
1570
}
1571
},
1572
"contentName": "meta.function.definition.parameters.special.constructor",
1573
"patterns": [
1574
{
1575
"include": "#function_parameter_context"
1576
},
1577
{
1578
"include": "#evaluation_context"
1579
}
1580
]
1581
},
1582
{
1583
"include": "#qualifiers_and_specifiers_post_parameters"
1584
},
1585
{
1586
"include": "$self"
1587
}
1588
]
1589
},
1590
{
1591
"begin": "(?<=\\{|<%|\\?\\?<)",
1592
"end": "\\}|%>|\\?\\?>",
1593
"beginCaptures": {},
1594
"endCaptures": {
1595
"0": {
1596
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
1597
}
1598
},
1599
"name": "meta.body.function.definition.special.constructor.cpp",
1600
"patterns": [
1601
{
1602
"include": "#function_body_context"
1603
}
1604
]
1605
},
1606
{
1607
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
1608
"end": "[\\s]*(?=;)",
1609
"beginCaptures": {},
1610
"endCaptures": {},
1611
"name": "meta.tail.function.definition.special.constructor.cpp",
1612
"patterns": [
1613
{
1614
"include": "$self"
1615
}
1616
]
1617
}
1618
]
1619
},
1620
"constructor_root": {
1621
"begin": "\\s*+((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<8>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\10)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\())",
1622
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
1623
"beginCaptures": {
1624
"0": {
1625
"name": "meta.head.function.definition.special.constructor.cpp"
1626
},
1627
"1": {
1628
"name": "storage.type.modifier.calling-convention.cpp"
1629
},
1630
"2": {
1631
"patterns": [
1632
{
1633
"include": "#inline_comment"
1634
}
1635
]
1636
},
1637
"3": {
1638
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1639
},
1640
"4": {
1641
"name": "comment.block.cpp"
1642
},
1643
"5": {
1644
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1645
},
1646
"6": {
1647
"patterns": [
1648
{
1649
"match": "::",
1650
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
1651
},
1652
{
1653
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
1654
"name": "entity.name.scope-resolution.constructor.cpp"
1655
},
1656
{
1657
"include": "#template_call_range"
1658
}
1659
]
1660
},
1661
"7": {
1662
"patterns": [
1663
{
1664
"include": "#template_call_range"
1665
}
1666
]
1667
},
1668
"8": {},
1669
"9": {
1670
"patterns": [
1671
{
1672
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?=:)",
1673
"name": "entity.name.type.constructor.cpp"
1674
},
1675
{
1676
"match": "(?<=:)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
1677
"name": "entity.name.function.definition.special.constructor.cpp"
1678
},
1679
{
1680
"match": "::",
1681
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
1682
}
1683
]
1684
},
1685
"10": {},
1686
"11": {
1687
"patterns": [
1688
{
1689
"include": "#inline_comment"
1690
}
1691
]
1692
},
1693
"12": {
1694
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1695
},
1696
"13": {
1697
"name": "comment.block.cpp"
1698
},
1699
"14": {
1700
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1701
},
1702
"15": {
1703
"patterns": [
1704
{
1705
"include": "#inline_comment"
1706
}
1707
]
1708
},
1709
"16": {
1710
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1711
},
1712
"17": {
1713
"name": "comment.block.cpp"
1714
},
1715
"18": {
1716
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1717
},
1718
"19": {
1719
"patterns": [
1720
{
1721
"include": "#inline_comment"
1722
}
1723
]
1724
},
1725
"20": {
1726
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1727
},
1728
"21": {
1729
"name": "comment.block.cpp"
1730
},
1731
"22": {
1732
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1733
}
1734
},
1735
"endCaptures": {},
1736
"name": "meta.function.definition.special.constructor.cpp",
1737
"patterns": [
1738
{
1739
"begin": "\\G ?",
1740
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
1741
"beginCaptures": {},
1742
"endCaptures": {
1743
"0": {
1744
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
1745
}
1746
},
1747
"name": "meta.head.function.definition.special.constructor.cpp",
1748
"patterns": [
1749
{
1750
"include": "#ever_present_context"
1751
},
1752
{
1753
"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
1754
"captures": {
1755
"1": {
1756
"name": "keyword.operator.assignment.cpp"
1757
},
1758
"2": {
1759
"patterns": [
1760
{
1761
"include": "#inline_comment"
1762
}
1763
]
1764
},
1765
"3": {
1766
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1767
},
1768
"4": {
1769
"name": "comment.block.cpp"
1770
},
1771
"5": {
1772
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1773
},
1774
"6": {
1775
"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"
1776
},
1777
"7": {
1778
"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"
1779
}
1780
}
1781
},
1782
{
1783
"include": "#functional_specifiers_pre_parameters"
1784
},
1785
{
1786
"begin": ":",
1787
"end": "(?=\\{)",
1788
"beginCaptures": {
1789
"0": {
1790
"name": "punctuation.separator.initializers.cpp"
1791
}
1792
},
1793
"endCaptures": {},
1794
"patterns": [
1795
{
1796
"begin": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()",
1797
"end": "\\)",
1798
"beginCaptures": {
1799
"1": {
1800
"name": "entity.name.function.call.initializer.cpp"
1801
},
1802
"2": {
1803
"name": "meta.template.call.cpp",
1804
"patterns": [
1805
{
1806
"include": "#template_call_range"
1807
}
1808
]
1809
},
1810
"3": {},
1811
"4": {
1812
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1813
},
1814
"5": {
1815
"name": "comment.block.cpp"
1816
},
1817
"6": {
1818
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1819
},
1820
"7": {
1821
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1822
}
1823
},
1824
"endCaptures": {
1825
"0": {
1826
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1827
}
1828
},
1829
"contentName": "meta.parameter.initialization",
1830
"patterns": [
1831
{
1832
"include": "#evaluation_context"
1833
}
1834
]
1835
},
1836
{
1837
"begin": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(\\{)",
1838
"end": "\\}",
1839
"beginCaptures": {
1840
"1": {
1841
"name": "entity.name.function.call.initializer.cpp"
1842
},
1843
"2": {
1844
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1845
}
1846
},
1847
"endCaptures": {
1848
"0": {
1849
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1850
}
1851
},
1852
"contentName": "meta.parameter.initialization",
1853
"patterns": [
1854
{
1855
"include": "#evaluation_context"
1856
}
1857
]
1858
},
1859
{
1860
"match": ",",
1861
"name": "punctuation.separator.delimiter.comma.cpp"
1862
},
1863
{
1864
"include": "#comments"
1865
}
1866
]
1867
},
1868
{
1869
"begin": "\\(",
1870
"end": "\\)",
1871
"beginCaptures": {
1872
"0": {
1873
"name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
1874
}
1875
},
1876
"endCaptures": {
1877
"0": {
1878
"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
1879
}
1880
},
1881
"contentName": "meta.function.definition.parameters.special.constructor",
1882
"patterns": [
1883
{
1884
"include": "#function_parameter_context"
1885
},
1886
{
1887
"include": "#evaluation_context"
1888
}
1889
]
1890
},
1891
{
1892
"include": "#qualifiers_and_specifiers_post_parameters"
1893
},
1894
{
1895
"include": "$self"
1896
}
1897
]
1898
},
1899
{
1900
"begin": "(?<=\\{|<%|\\?\\?<)",
1901
"end": "\\}|%>|\\?\\?>",
1902
"beginCaptures": {},
1903
"endCaptures": {
1904
"0": {
1905
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
1906
}
1907
},
1908
"name": "meta.body.function.definition.special.constructor.cpp",
1909
"patterns": [
1910
{
1911
"include": "#function_body_context"
1912
}
1913
]
1914
},
1915
{
1916
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
1917
"end": "[\\s]*(?=;)",
1918
"beginCaptures": {},
1919
"endCaptures": {},
1920
"name": "meta.tail.function.definition.special.constructor.cpp",
1921
"patterns": [
1922
{
1923
"include": "$self"
1924
}
1925
]
1926
}
1927
]
1928
},
1929
"control_flow_keywords": {
1930
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:co_return)|(?:co_yield)|(?:co_await)|(?:continue)|(?:default)|(?:switch)|(?:return)|(?:catch)|(?:while)|(?:throw)|(?:break)|(?:case)|(?:goto)|(?:else)|(?:for)|(?:try)|(?:if)|(?:do))(?!\\w))",
1931
"captures": {
1932
"1": {
1933
"patterns": [
1934
{
1935
"include": "#inline_comment"
1936
}
1937
]
1938
},
1939
"2": {
1940
"patterns": [
1941
{
1942
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
1943
"captures": {
1944
"1": {
1945
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1946
},
1947
"2": {
1948
"name": "comment.block.cpp"
1949
},
1950
"3": {
1951
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1952
}
1953
}
1954
}
1955
]
1956
},
1957
"3": {
1958
"name": "keyword.control.$3.cpp"
1959
}
1960
}
1961
},
1962
"cpp_attributes": {
1963
"begin": "\\[\\[",
1964
"end": "\\]\\]",
1965
"beginCaptures": {
1966
"0": {
1967
"name": "punctuation.section.attribute.begin.cpp"
1968
}
1969
},
1970
"endCaptures": {
1971
"0": {
1972
"name": "punctuation.section.attribute.end.cpp"
1973
}
1974
},
1975
"name": "support.other.attribute.cpp",
1976
"patterns": [
1977
{
1978
"include": "#attributes_context"
1979
},
1980
{
1981
"begin": "\\(",
1982
"end": "\\)",
1983
"beginCaptures": {},
1984
"endCaptures": {},
1985
"patterns": [
1986
{
1987
"include": "#attributes_context"
1988
},
1989
{
1990
"include": "#string_context"
1991
},
1992
{
1993
"include": "#ever_present_context"
1994
}
1995
]
1996
},
1997
{
1998
"match": "(using)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
1999
"captures": {
2000
"1": {
2001
"name": "keyword.other.using.directive.cpp"
2002
},
2003
"2": {
2004
"name": "entity.name.namespace.cpp"
2005
}
2006
}
2007
},
2008
{
2009
"match": ",",
2010
"name": "punctuation.separator.attribute.cpp"
2011
},
2012
{
2013
"match": ":",
2014
"name": "punctuation.accessor.attribute.cpp"
2015
},
2016
{
2017
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
2018
"name": "entity.name.namespace.cpp"
2019
},
2020
{
2021
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
2022
"name": "entity.other.attribute.$0.cpp"
2023
},
2024
{
2025
"include": "#number_literal"
2026
},
2027
{
2028
"include": "#ever_present_context"
2029
}
2030
]
2031
},
2032
"curly_initializer": {
2033
"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)",
2034
"end": "\\}",
2035
"beginCaptures": {
2036
"1": {
2037
"name": "meta.qualified_type.cpp",
2038
"patterns": [
2039
{
2040
"match": "::",
2041
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
2042
},
2043
{
2044
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
2045
"name": "storage.type.$0.cpp"
2046
},
2047
{
2048
"include": "#attributes_context"
2049
},
2050
{
2051
"include": "#storage_types"
2052
},
2053
{
2054
"include": "#number_literal"
2055
},
2056
{
2057
"include": "#string_context"
2058
},
2059
{
2060
"include": "#comma"
2061
},
2062
{
2063
"include": "#scope_resolution_inner_generated"
2064
},
2065
{
2066
"begin": "<",
2067
"end": ">",
2068
"beginCaptures": {
2069
"0": {
2070
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
2071
}
2072
},
2073
"endCaptures": {
2074
"0": {
2075
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
2076
}
2077
},
2078
"name": "meta.template.call.cpp",
2079
"patterns": [
2080
{
2081
"include": "#template_call_context"
2082
}
2083
]
2084
},
2085
{
2086
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
2087
"name": "entity.name.type.cpp"
2088
}
2089
]
2090
},
2091
"2": {
2092
"patterns": [
2093
{
2094
"include": "#attributes_context"
2095
},
2096
{
2097
"include": "#number_literal"
2098
}
2099
]
2100
},
2101
"3": {
2102
"patterns": [
2103
{
2104
"include": "#inline_comment"
2105
}
2106
]
2107
},
2108
"4": {
2109
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2110
},
2111
"5": {
2112
"name": "comment.block.cpp"
2113
},
2114
"6": {
2115
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2116
},
2117
"7": {
2118
"patterns": [
2119
{
2120
"include": "#inline_comment"
2121
}
2122
]
2123
},
2124
"8": {
2125
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2126
},
2127
"9": {
2128
"name": "comment.block.cpp"
2129
},
2130
"10": {
2131
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2132
},
2133
"11": {
2134
"patterns": [
2135
{
2136
"match": "::",
2137
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
2138
},
2139
{
2140
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
2141
"name": "entity.name.scope-resolution.type.cpp"
2142
},
2143
{
2144
"include": "#template_call_range"
2145
}
2146
]
2147
},
2148
"12": {
2149
"patterns": [
2150
{
2151
"include": "#template_call_range"
2152
}
2153
]
2154
},
2155
"13": {},
2156
"14": {
2157
"patterns": [
2158
{
2159
"include": "#inline_comment"
2160
}
2161
]
2162
},
2163
"15": {
2164
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2165
},
2166
"16": {
2167
"name": "comment.block.cpp"
2168
},
2169
"17": {
2170
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2171
},
2172
"18": {},
2173
"19": {
2174
"patterns": [
2175
{
2176
"include": "#inline_comment"
2177
}
2178
]
2179
},
2180
"20": {
2181
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2182
},
2183
"21": {
2184
"name": "comment.block.cpp"
2185
},
2186
"22": {
2187
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2188
},
2189
"23": {
2190
"name": "punctuation.section.arguments.begin.bracket.curly.initializer.cpp"
2191
}
2192
},
2193
"endCaptures": {
2194
"0": {
2195
"name": "punctuation.section.arguments.end.bracket.curly.initializer.cpp"
2196
}
2197
},
2198
"name": "meta.initialization.cpp",
2199
"patterns": [
2200
{
2201
"include": "#evaluation_context"
2202
},
2203
{
2204
"include": "#comma"
2205
}
2206
]
2207
},
2208
"d9bc4796b0b_module_import": {
2209
"match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((import))(?:\\s+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\\")[^\\\"]*(\\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))(?:\\s+)?(;?)",
2210
"captures": {
2211
"1": {
2212
"patterns": [
2213
{
2214
"include": "#inline_comment"
2215
}
2216
]
2217
},
2218
"2": {
2219
"patterns": [
2220
{
2221
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2222
"captures": {
2223
"1": {
2224
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2225
},
2226
"2": {
2227
"name": "comment.block.cpp"
2228
},
2229
"3": {
2230
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2231
}
2232
}
2233
}
2234
]
2235
},
2236
"3": {
2237
"name": "keyword.control.directive.import.cpp"
2238
},
2239
"5": {
2240
"name": "string.quoted.other.lt-gt.include.cpp"
2241
},
2242
"6": {
2243
"name": "punctuation.definition.string.begin.cpp"
2244
},
2245
"7": {
2246
"name": "punctuation.definition.string.end.cpp"
2247
},
2248
"8": {
2249
"patterns": [
2250
{
2251
"include": "#inline_comment"
2252
}
2253
]
2254
},
2255
"9": {
2256
"patterns": [
2257
{
2258
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2259
"captures": {
2260
"1": {
2261
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2262
},
2263
"2": {
2264
"name": "comment.block.cpp"
2265
},
2266
"3": {
2267
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2268
}
2269
}
2270
}
2271
]
2272
},
2273
"10": {
2274
"name": "string.quoted.double.include.cpp"
2275
},
2276
"11": {
2277
"name": "punctuation.definition.string.begin.cpp"
2278
},
2279
"12": {
2280
"name": "punctuation.definition.string.end.cpp"
2281
},
2282
"13": {
2283
"patterns": [
2284
{
2285
"include": "#inline_comment"
2286
}
2287
]
2288
},
2289
"14": {
2290
"patterns": [
2291
{
2292
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2293
"captures": {
2294
"1": {
2295
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2296
},
2297
"2": {
2298
"name": "comment.block.cpp"
2299
},
2300
"3": {
2301
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2302
}
2303
}
2304
}
2305
]
2306
},
2307
"15": {
2308
"name": "entity.name.other.preprocessor.macro.include.cpp"
2309
},
2310
"16": {
2311
"patterns": [
2312
{
2313
"include": "#inline_comment"
2314
}
2315
]
2316
},
2317
"17": {
2318
"patterns": [
2319
{
2320
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2321
"captures": {
2322
"1": {
2323
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2324
},
2325
"2": {
2326
"name": "comment.block.cpp"
2327
},
2328
"3": {
2329
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2330
}
2331
}
2332
}
2333
]
2334
},
2335
"18": {
2336
"patterns": [
2337
{
2338
"include": "#inline_comment"
2339
}
2340
]
2341
},
2342
"19": {
2343
"patterns": [
2344
{
2345
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2346
"captures": {
2347
"1": {
2348
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2349
},
2350
"2": {
2351
"name": "comment.block.cpp"
2352
},
2353
"3": {
2354
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2355
}
2356
}
2357
}
2358
]
2359
},
2360
"20": {
2361
"patterns": [
2362
{
2363
"include": "#inline_comment"
2364
}
2365
]
2366
},
2367
"21": {
2368
"patterns": [
2369
{
2370
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2371
"captures": {
2372
"1": {
2373
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2374
},
2375
"2": {
2376
"name": "comment.block.cpp"
2377
},
2378
"3": {
2379
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2380
}
2381
}
2382
}
2383
]
2384
},
2385
"22": {
2386
"name": "punctuation.terminator.statement.cpp"
2387
}
2388
},
2389
"name": "meta.preprocessor.import.cpp"
2390
},
2391
"d9bc4796b0b_preprocessor_number_literal": {
2392
"match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
2393
"captures": {
2394
"0": {
2395
"patterns": [
2396
{
2397
"begin": "(?=.)",
2398
"end": "$",
2399
"beginCaptures": {},
2400
"endCaptures": {},
2401
"patterns": [
2402
{
2403
"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?$",
2404
"captures": {
2405
"1": {
2406
"name": "keyword.other.unit.hexadecimal.cpp"
2407
},
2408
"2": {
2409
"name": "constant.numeric.hexadecimal.cpp",
2410
"patterns": [
2411
{
2412
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2413
"name": "punctuation.separator.constant.numeric.cpp"
2414
}
2415
]
2416
},
2417
"3": {
2418
"name": "punctuation.separator.constant.numeric.cpp"
2419
},
2420
"4": {
2421
"name": "constant.numeric.hexadecimal.cpp"
2422
},
2423
"5": {
2424
"name": "constant.numeric.hexadecimal.cpp",
2425
"patterns": [
2426
{
2427
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2428
"name": "punctuation.separator.constant.numeric.cpp"
2429
}
2430
]
2431
},
2432
"6": {
2433
"name": "punctuation.separator.constant.numeric.cpp"
2434
},
2435
"7": {
2436
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
2437
},
2438
"8": {
2439
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
2440
},
2441
"9": {
2442
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
2443
},
2444
"10": {
2445
"name": "constant.numeric.exponent.hexadecimal.cpp",
2446
"patterns": [
2447
{
2448
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2449
"name": "punctuation.separator.constant.numeric.cpp"
2450
}
2451
]
2452
},
2453
"11": {
2454
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
2455
}
2456
}
2457
},
2458
{
2459
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?$",
2460
"captures": {
2461
"1": {
2462
"name": "constant.numeric.decimal.cpp",
2463
"patterns": [
2464
{
2465
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2466
"name": "punctuation.separator.constant.numeric.cpp"
2467
}
2468
]
2469
},
2470
"2": {
2471
"name": "punctuation.separator.constant.numeric.cpp"
2472
},
2473
"3": {
2474
"name": "constant.numeric.decimal.point.cpp"
2475
},
2476
"4": {
2477
"name": "constant.numeric.decimal.cpp",
2478
"patterns": [
2479
{
2480
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2481
"name": "punctuation.separator.constant.numeric.cpp"
2482
}
2483
]
2484
},
2485
"5": {
2486
"name": "punctuation.separator.constant.numeric.cpp"
2487
},
2488
"6": {
2489
"name": "keyword.other.unit.exponent.decimal.cpp"
2490
},
2491
"7": {
2492
"name": "keyword.operator.plus.exponent.decimal.cpp"
2493
},
2494
"8": {
2495
"name": "keyword.operator.minus.exponent.decimal.cpp"
2496
},
2497
"9": {
2498
"name": "constant.numeric.exponent.decimal.cpp",
2499
"patterns": [
2500
{
2501
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2502
"name": "punctuation.separator.constant.numeric.cpp"
2503
}
2504
]
2505
},
2506
"10": {
2507
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
2508
}
2509
}
2510
},
2511
{
2512
"match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2513
"captures": {
2514
"1": {
2515
"name": "keyword.other.unit.binary.cpp"
2516
},
2517
"2": {
2518
"name": "constant.numeric.binary.cpp",
2519
"patterns": [
2520
{
2521
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2522
"name": "punctuation.separator.constant.numeric.cpp"
2523
}
2524
]
2525
},
2526
"3": {
2527
"name": "punctuation.separator.constant.numeric.cpp"
2528
},
2529
"4": {
2530
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
2531
}
2532
}
2533
},
2534
{
2535
"match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2536
"captures": {
2537
"1": {
2538
"name": "keyword.other.unit.octal.cpp"
2539
},
2540
"2": {
2541
"name": "constant.numeric.octal.cpp",
2542
"patterns": [
2543
{
2544
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2545
"name": "punctuation.separator.constant.numeric.cpp"
2546
}
2547
]
2548
},
2549
"3": {
2550
"name": "punctuation.separator.constant.numeric.cpp"
2551
},
2552
"4": {
2553
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
2554
}
2555
}
2556
},
2557
{
2558
"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2559
"captures": {
2560
"1": {
2561
"name": "keyword.other.unit.hexadecimal.cpp"
2562
},
2563
"2": {
2564
"name": "constant.numeric.hexadecimal.cpp",
2565
"patterns": [
2566
{
2567
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2568
"name": "punctuation.separator.constant.numeric.cpp"
2569
}
2570
]
2571
},
2572
"3": {
2573
"name": "punctuation.separator.constant.numeric.cpp"
2574
},
2575
"4": {
2576
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
2577
},
2578
"5": {
2579
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
2580
},
2581
"6": {
2582
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
2583
},
2584
"7": {
2585
"name": "constant.numeric.exponent.hexadecimal.cpp",
2586
"patterns": [
2587
{
2588
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2589
"name": "punctuation.separator.constant.numeric.cpp"
2590
}
2591
]
2592
},
2593
"8": {
2594
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
2595
}
2596
}
2597
},
2598
{
2599
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2600
"captures": {
2601
"1": {
2602
"name": "constant.numeric.decimal.cpp",
2603
"patterns": [
2604
{
2605
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2606
"name": "punctuation.separator.constant.numeric.cpp"
2607
}
2608
]
2609
},
2610
"2": {
2611
"name": "punctuation.separator.constant.numeric.cpp"
2612
},
2613
"3": {
2614
"name": "keyword.other.unit.exponent.decimal.cpp"
2615
},
2616
"4": {
2617
"name": "keyword.operator.plus.exponent.decimal.cpp"
2618
},
2619
"5": {
2620
"name": "keyword.operator.minus.exponent.decimal.cpp"
2621
},
2622
"6": {
2623
"name": "constant.numeric.exponent.decimal.cpp",
2624
"patterns": [
2625
{
2626
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2627
"name": "punctuation.separator.constant.numeric.cpp"
2628
}
2629
]
2630
},
2631
"7": {
2632
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
2633
}
2634
}
2635
},
2636
{
2637
"match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
2638
"name": "invalid.illegal.constant.numeric.cpp"
2639
}
2640
]
2641
}
2642
]
2643
}
2644
}
2645
},
2646
"decltype": {
2647
"begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
2648
"end": "\\)",
2649
"beginCaptures": {
2650
"1": {
2651
"name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
2652
},
2653
"2": {
2654
"patterns": [
2655
{
2656
"include": "#inline_comment"
2657
}
2658
]
2659
},
2660
"3": {
2661
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2662
},
2663
"4": {
2664
"name": "comment.block.cpp"
2665
},
2666
"5": {
2667
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2668
},
2669
"6": {
2670
"name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
2671
}
2672
},
2673
"endCaptures": {
2674
"0": {
2675
"name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
2676
}
2677
},
2678
"contentName": "meta.arguments.decltype",
2679
"patterns": [
2680
{
2681
"include": "#evaluation_context"
2682
}
2683
]
2684
},
2685
"decltype_specifier": {
2686
"begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
2687
"end": "\\)",
2688
"beginCaptures": {
2689
"1": {
2690
"name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
2691
},
2692
"2": {
2693
"patterns": [
2694
{
2695
"include": "#inline_comment"
2696
}
2697
]
2698
},
2699
"3": {
2700
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2701
},
2702
"4": {
2703
"name": "comment.block.cpp"
2704
},
2705
"5": {
2706
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2707
},
2708
"6": {
2709
"name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
2710
}
2711
},
2712
"endCaptures": {
2713
"0": {
2714
"name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
2715
}
2716
},
2717
"contentName": "meta.arguments.decltype",
2718
"patterns": [
2719
{
2720
"include": "#evaluation_context"
2721
}
2722
]
2723
},
2724
"default_statement": {
2725
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)default(?!\\w))",
2726
"end": ":",
2727
"beginCaptures": {
2728
"1": {
2729
"patterns": [
2730
{
2731
"include": "#inline_comment"
2732
}
2733
]
2734
},
2735
"2": {
2736
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2737
},
2738
"3": {
2739
"name": "comment.block.cpp"
2740
},
2741
"4": {
2742
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2743
},
2744
"5": {
2745
"name": "keyword.control.default.cpp"
2746
}
2747
},
2748
"endCaptures": {
2749
"0": {
2750
"name": "punctuation.separator.colon.case.default.cpp"
2751
}
2752
},
2753
"name": "meta.conditional.case.cpp",
2754
"patterns": [
2755
{
2756
"include": "#evaluation_context"
2757
}
2758
]
2759
},
2760
"destructor_inline": {
2761
"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)(~(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())",
2762
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
2763
"beginCaptures": {
2764
"0": {
2765
"name": "meta.head.function.definition.special.member.destructor.cpp"
2766
},
2767
"1": {
2768
"patterns": [
2769
{
2770
"include": "#inline_comment"
2771
}
2772
]
2773
},
2774
"2": {
2775
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2776
},
2777
"3": {
2778
"name": "comment.block.cpp"
2779
},
2780
"4": {
2781
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2782
},
2783
"5": {
2784
"name": "storage.type.modifier.calling-convention.cpp"
2785
},
2786
"6": {
2787
"patterns": [
2788
{
2789
"include": "#inline_comment"
2790
}
2791
]
2792
},
2793
"7": {
2794
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2795
},
2796
"8": {
2797
"name": "comment.block.cpp"
2798
},
2799
"9": {
2800
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2801
},
2802
"10": {
2803
"patterns": [
2804
{
2805
"include": "#functional_specifiers_pre_parameters"
2806
}
2807
]
2808
},
2809
"11": {
2810
"patterns": [
2811
{
2812
"include": "#inline_comment"
2813
}
2814
]
2815
},
2816
"12": {
2817
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2818
},
2819
"13": {
2820
"name": "comment.block.cpp"
2821
},
2822
"14": {
2823
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2824
},
2825
"15": {
2826
"name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"
2827
}
2828
},
2829
"endCaptures": {},
2830
"name": "meta.function.definition.special.member.destructor.cpp",
2831
"patterns": [
2832
{
2833
"begin": "\\G ?",
2834
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
2835
"beginCaptures": {},
2836
"endCaptures": {
2837
"0": {
2838
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
2839
}
2840
},
2841
"name": "meta.head.function.definition.special.member.destructor.cpp",
2842
"patterns": [
2843
{
2844
"include": "#ever_present_context"
2845
},
2846
{
2847
"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
2848
"captures": {
2849
"1": {
2850
"name": "keyword.operator.assignment.cpp"
2851
},
2852
"2": {
2853
"patterns": [
2854
{
2855
"include": "#inline_comment"
2856
}
2857
]
2858
},
2859
"3": {
2860
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2861
},
2862
"4": {
2863
"name": "comment.block.cpp"
2864
},
2865
"5": {
2866
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2867
},
2868
"6": {
2869
"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"
2870
},
2871
"7": {
2872
"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"
2873
}
2874
}
2875
},
2876
{
2877
"begin": "\\(",
2878
"end": "\\)",
2879
"beginCaptures": {
2880
"0": {
2881
"name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
2882
}
2883
},
2884
"endCaptures": {
2885
"0": {
2886
"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
2887
}
2888
},
2889
"contentName": "meta.function.definition.parameters.special.member.destructor",
2890
"patterns": []
2891
},
2892
{
2893
"include": "#qualifiers_and_specifiers_post_parameters"
2894
},
2895
{
2896
"include": "$self"
2897
}
2898
]
2899
},
2900
{
2901
"begin": "(?<=\\{|<%|\\?\\?<)",
2902
"end": "\\}|%>|\\?\\?>",
2903
"beginCaptures": {},
2904
"endCaptures": {
2905
"0": {
2906
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
2907
}
2908
},
2909
"name": "meta.body.function.definition.special.member.destructor.cpp",
2910
"patterns": [
2911
{
2912
"include": "#function_body_context"
2913
}
2914
]
2915
},
2916
{
2917
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
2918
"end": "[\\s]*(?=;)",
2919
"beginCaptures": {},
2920
"endCaptures": {},
2921
"name": "meta.tail.function.definition.special.member.destructor.cpp",
2922
"patterns": [
2923
{
2924
"include": "$self"
2925
}
2926
]
2927
}
2928
]
2929
},
2930
"destructor_root": {
2931
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))~(?:\\14)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\())",
2932
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
2933
"beginCaptures": {
2934
"0": {
2935
"name": "meta.head.function.definition.special.member.destructor.cpp"
2936
},
2937
"1": {
2938
"patterns": [
2939
{
2940
"include": "#inline_comment"
2941
}
2942
]
2943
},
2944
"2": {
2945
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2946
},
2947
"3": {
2948
"name": "comment.block.cpp"
2949
},
2950
"4": {
2951
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2952
},
2953
"5": {
2954
"name": "storage.type.modifier.calling-convention.cpp"
2955
},
2956
"6": {
2957
"patterns": [
2958
{
2959
"include": "#inline_comment"
2960
}
2961
]
2962
},
2963
"7": {
2964
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2965
},
2966
"8": {
2967
"name": "comment.block.cpp"
2968
},
2969
"9": {
2970
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2971
},
2972
"10": {
2973
"patterns": [
2974
{
2975
"match": "::",
2976
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
2977
},
2978
{
2979
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
2980
"name": "entity.name.scope-resolution.destructor.cpp"
2981
},
2982
{
2983
"include": "#template_call_range"
2984
}
2985
]
2986
},
2987
"11": {
2988
"patterns": [
2989
{
2990
"include": "#template_call_range"
2991
}
2992
]
2993
},
2994
"12": {},
2995
"13": {
2996
"patterns": [
2997
{
2998
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?=:)",
2999
"name": "entity.name.type.destructor.cpp"
3000
},
3001
{
3002
"match": "(?<=:)~(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
3003
"name": "entity.name.function.definition.special.member.destructor.cpp"
3004
},
3005
{
3006
"match": "::",
3007
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
3008
}
3009
]
3010
},
3011
"14": {},
3012
"15": {
3013
"patterns": [
3014
{
3015
"include": "#inline_comment"
3016
}
3017
]
3018
},
3019
"16": {
3020
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3021
},
3022
"17": {
3023
"name": "comment.block.cpp"
3024
},
3025
"18": {
3026
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3027
},
3028
"19": {
3029
"patterns": [
3030
{
3031
"include": "#inline_comment"
3032
}
3033
]
3034
},
3035
"20": {
3036
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3037
},
3038
"21": {
3039
"name": "comment.block.cpp"
3040
},
3041
"22": {
3042
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3043
},
3044
"23": {
3045
"patterns": [
3046
{
3047
"include": "#inline_comment"
3048
}
3049
]
3050
},
3051
"24": {
3052
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3053
},
3054
"25": {
3055
"name": "comment.block.cpp"
3056
},
3057
"26": {
3058
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3059
}
3060
},
3061
"endCaptures": {},
3062
"name": "meta.function.definition.special.member.destructor.cpp",
3063
"patterns": [
3064
{
3065
"begin": "\\G ?",
3066
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
3067
"beginCaptures": {},
3068
"endCaptures": {
3069
"0": {
3070
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
3071
}
3072
},
3073
"name": "meta.head.function.definition.special.member.destructor.cpp",
3074
"patterns": [
3075
{
3076
"include": "#ever_present_context"
3077
},
3078
{
3079
"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
3080
"captures": {
3081
"1": {
3082
"name": "keyword.operator.assignment.cpp"
3083
},
3084
"2": {
3085
"patterns": [
3086
{
3087
"include": "#inline_comment"
3088
}
3089
]
3090
},
3091
"3": {
3092
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3093
},
3094
"4": {
3095
"name": "comment.block.cpp"
3096
},
3097
"5": {
3098
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3099
},
3100
"6": {
3101
"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"
3102
},
3103
"7": {
3104
"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"
3105
}
3106
}
3107
},
3108
{
3109
"begin": "\\(",
3110
"end": "\\)",
3111
"beginCaptures": {
3112
"0": {
3113
"name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
3114
}
3115
},
3116
"endCaptures": {
3117
"0": {
3118
"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
3119
}
3120
},
3121
"contentName": "meta.function.definition.parameters.special.member.destructor",
3122
"patterns": []
3123
},
3124
{
3125
"include": "#qualifiers_and_specifiers_post_parameters"
3126
},
3127
{
3128
"include": "$self"
3129
}
3130
]
3131
},
3132
{
3133
"begin": "(?<=\\{|<%|\\?\\?<)",
3134
"end": "\\}|%>|\\?\\?>",
3135
"beginCaptures": {},
3136
"endCaptures": {
3137
"0": {
3138
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
3139
}
3140
},
3141
"name": "meta.body.function.definition.special.member.destructor.cpp",
3142
"patterns": [
3143
{
3144
"include": "#function_body_context"
3145
}
3146
]
3147
},
3148
{
3149
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3150
"end": "[\\s]*(?=;)",
3151
"beginCaptures": {},
3152
"endCaptures": {},
3153
"name": "meta.tail.function.definition.special.member.destructor.cpp",
3154
"patterns": [
3155
{
3156
"include": "$self"
3157
}
3158
]
3159
}
3160
]
3161
},
3162
"diagnostic": {
3163
"begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:error|warning)))\\b(?:\\s+)?",
3164
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
3165
"beginCaptures": {
3166
"1": {
3167
"name": "keyword.control.directive.diagnostic.$7.cpp"
3168
},
3169
"2": {
3170
"patterns": [
3171
{
3172
"include": "#inline_comment"
3173
}
3174
]
3175
},
3176
"3": {
3177
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3178
},
3179
"4": {
3180
"name": "comment.block.cpp"
3181
},
3182
"5": {
3183
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3184
},
3185
"6": {
3186
"name": "punctuation.definition.directive.cpp"
3187
},
3188
"7": {}
3189
},
3190
"endCaptures": {},
3191
"name": "meta.preprocessor.diagnostic.$reference(directive).cpp",
3192
"patterns": [
3193
{
3194
"include": "#comments"
3195
},
3196
{
3197
"begin": "\"",
3198
"end": "(?:(\")|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))",
3199
"beginCaptures": {
3200
"0": {
3201
"name": "punctuation.definition.string.begin.cpp"
3202
}
3203
},
3204
"endCaptures": {
3205
"1": {
3206
"name": "punctuation.definition.string.end.cpp"
3207
}
3208
},
3209
"name": "string.quoted.double.cpp",
3210
"patterns": [
3211
{
3212
"include": "#line_continuation_character"
3213
}
3214
]
3215
},
3216
{
3217
"begin": "'",
3218
"end": "(?:(')|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))",
3219
"beginCaptures": {
3220
"0": {
3221
"name": "punctuation.definition.string.begin.cpp"
3222
}
3223
},
3224
"endCaptures": {
3225
"1": {
3226
"name": "punctuation.definition.string.end.cpp"
3227
}
3228
},
3229
"name": "string.quoted.single.cpp",
3230
"patterns": [
3231
{
3232
"include": "#line_continuation_character"
3233
}
3234
]
3235
},
3236
{
3237
"begin": "[^'\"]",
3238
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
3239
"beginCaptures": {},
3240
"endCaptures": {},
3241
"name": "string.unquoted.cpp",
3242
"patterns": [
3243
{
3244
"include": "#line_continuation_character"
3245
},
3246
{
3247
"include": "#comments"
3248
}
3249
]
3250
}
3251
]
3252
},
3253
"emacs_file_banner": {
3254
"match": "(?:(^(?:\\s+)?((\\/\\/)(?:\\s+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:\\s+)?.+(?:\\s+)?(?:\\4)(?:\\s+)?(?:\\n|$)))|(^(?:\\s+)?((\\/\\*)(?:\\s+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:\\s+)?.+(?:\\s+)?(?:\\8)(?:\\s+)?\\*\\/)))",
3255
"captures": {
3256
"1": {
3257
"name": "meta.toc-list.banner.double-slash.cpp"
3258
},
3259
"2": {
3260
"name": "comment.line.double-slash.cpp"
3261
},
3262
"3": {
3263
"name": "punctuation.definition.comment.cpp"
3264
},
3265
"4": {
3266
"name": "meta.banner.character.cpp"
3267
},
3268
"5": {
3269
"name": "meta.toc-list.banner.block.cpp"
3270
},
3271
"6": {
3272
"name": "comment.line.banner.cpp"
3273
},
3274
"7": {
3275
"name": "punctuation.definition.comment.cpp"
3276
},
3277
"8": {
3278
"name": "meta.banner.character.cpp"
3279
}
3280
}
3281
},
3282
"empty_square_brackets": {
3283
"name": "storage.modifier.array.bracket.square",
3284
"match": "(?<!delete)\\[(?:\\s+)?\\]"
3285
},
3286
"enum_block": {
3287
"begin": "((?<!\\w)enum(?!\\w))(?:\\s+(class|struct))?(?:(?:\\s+|((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\))))|(?={))(?:\\s+)?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)(?:(?:\\s+)?(:)(?:\\s+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))?",
3288
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
3289
"beginCaptures": {
3290
"0": {
3291
"name": "meta.head.enum.cpp"
3292
},
3293
"1": {
3294
"name": "storage.type.enum.cpp"
3295
},
3296
"2": {
3297
"name": "storage.type.enum.enum-key.$2.cpp"
3298
},
3299
"3": {
3300
"patterns": [
3301
{
3302
"include": "#attributes_context"
3303
},
3304
{
3305
"include": "#number_literal"
3306
}
3307
]
3308
},
3309
"4": {
3310
"name": "entity.name.type.enum.cpp"
3311
},
3312
"5": {
3313
"name": "punctuation.separator.colon.type-specifier.cpp"
3314
},
3315
"6": {
3316
"patterns": [
3317
{
3318
"include": "#scope_resolution_inner_generated"
3319
}
3320
]
3321
},
3322
"7": {
3323
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3324
},
3325
"8": {
3326
"patterns": [
3327
{
3328
"include": "#template_call_range"
3329
}
3330
]
3331
},
3332
"9": {},
3333
"10": {
3334
"name": "entity.name.scope-resolution.cpp"
3335
},
3336
"11": {
3337
"name": "meta.template.call.cpp",
3338
"patterns": [
3339
{
3340
"include": "#template_call_range"
3341
}
3342
]
3343
},
3344
"12": {},
3345
"13": {
3346
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3347
},
3348
"14": {
3349
"name": "comment.block.cpp"
3350
},
3351
"15": {
3352
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3353
},
3354
"16": {
3355
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3356
},
3357
"17": {
3358
"name": "storage.type.integral.$17.cpp"
3359
}
3360
},
3361
"endCaptures": {
3362
"1": {
3363
"name": "punctuation.terminator.statement.cpp"
3364
},
3365
"2": {
3366
"name": "punctuation.terminator.statement.cpp"
3367
}
3368
},
3369
"name": "meta.block.enum.cpp",
3370
"patterns": [
3371
{
3372
"begin": "\\G ?",
3373
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
3374
"beginCaptures": {},
3375
"endCaptures": {
3376
"0": {
3377
"name": "punctuation.section.block.begin.bracket.curly.enum.cpp"
3378
}
3379
},
3380
"name": "meta.head.enum.cpp",
3381
"patterns": [
3382
{
3383
"include": "$self"
3384
}
3385
]
3386
},
3387
{
3388
"begin": "(?<=\\{|<%|\\?\\?<)",
3389
"end": "\\}|%>|\\?\\?>",
3390
"beginCaptures": {},
3391
"endCaptures": {
3392
"0": {
3393
"name": "punctuation.section.block.end.bracket.curly.enum.cpp"
3394
}
3395
},
3396
"name": "meta.body.enum.cpp",
3397
"patterns": [
3398
{
3399
"include": "#ever_present_context"
3400
},
3401
{
3402
"include": "#enumerator_list"
3403
},
3404
{
3405
"include": "#comments"
3406
},
3407
{
3408
"include": "#comma"
3409
},
3410
{
3411
"include": "#semicolon"
3412
}
3413
]
3414
},
3415
{
3416
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3417
"end": "[\\s]*(?=;)",
3418
"beginCaptures": {},
3419
"endCaptures": {},
3420
"name": "meta.tail.enum.cpp",
3421
"patterns": [
3422
{
3423
"include": "$self"
3424
}
3425
]
3426
}
3427
]
3428
},
3429
"enum_declare": {
3430
"match": "((?<!\\w)enum(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
3431
"captures": {
3432
"1": {
3433
"name": "storage.type.enum.declare.cpp"
3434
},
3435
"2": {
3436
"patterns": [
3437
{
3438
"include": "#inline_comment"
3439
}
3440
]
3441
},
3442
"3": {
3443
"patterns": [
3444
{
3445
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3446
"captures": {
3447
"1": {
3448
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3449
},
3450
"2": {
3451
"name": "comment.block.cpp"
3452
},
3453
"3": {
3454
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3455
}
3456
}
3457
}
3458
]
3459
},
3460
"4": {
3461
"name": "entity.name.type.enum.cpp"
3462
},
3463
"5": {
3464
"patterns": [
3465
{
3466
"match": "\\*",
3467
"name": "storage.modifier.pointer.cpp"
3468
},
3469
{
3470
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
3471
"captures": {
3472
"1": {
3473
"patterns": [
3474
{
3475
"include": "#inline_comment"
3476
}
3477
]
3478
},
3479
"2": {
3480
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3481
},
3482
"3": {
3483
"name": "comment.block.cpp"
3484
},
3485
"4": {
3486
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3487
}
3488
},
3489
"name": "invalid.illegal.reference-type.cpp"
3490
},
3491
{
3492
"match": "\\&",
3493
"name": "storage.modifier.reference.cpp"
3494
}
3495
]
3496
},
3497
"6": {
3498
"patterns": [
3499
{
3500
"include": "#inline_comment"
3501
}
3502
]
3503
},
3504
"7": {
3505
"patterns": [
3506
{
3507
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3508
"captures": {
3509
"1": {
3510
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3511
},
3512
"2": {
3513
"name": "comment.block.cpp"
3514
},
3515
"3": {
3516
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3517
}
3518
}
3519
}
3520
]
3521
},
3522
"8": {
3523
"patterns": [
3524
{
3525
"include": "#inline_comment"
3526
}
3527
]
3528
},
3529
"9": {
3530
"patterns": [
3531
{
3532
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3533
"captures": {
3534
"1": {
3535
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3536
},
3537
"2": {
3538
"name": "comment.block.cpp"
3539
},
3540
"3": {
3541
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3542
}
3543
}
3544
}
3545
]
3546
},
3547
"10": {
3548
"patterns": [
3549
{
3550
"include": "#inline_comment"
3551
}
3552
]
3553
},
3554
"11": {
3555
"patterns": [
3556
{
3557
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3558
"captures": {
3559
"1": {
3560
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3561
},
3562
"2": {
3563
"name": "comment.block.cpp"
3564
},
3565
"3": {
3566
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3567
}
3568
}
3569
}
3570
]
3571
},
3572
"12": {
3573
"name": "variable.other.object.declare.cpp"
3574
},
3575
"13": {
3576
"patterns": [
3577
{
3578
"include": "#inline_comment"
3579
}
3580
]
3581
},
3582
"14": {
3583
"patterns": [
3584
{
3585
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3586
"captures": {
3587
"1": {
3588
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3589
},
3590
"2": {
3591
"name": "comment.block.cpp"
3592
},
3593
"3": {
3594
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3595
}
3596
}
3597
}
3598
]
3599
}
3600
}
3601
},
3602
"enumerator_list": {
3603
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:\\s+)?(?:(\\=)(?:\\s+)?(.+?)(?:\\s+)?)?(?:(?:((?:[,;](?!')|\\n))|(?=\\}[^']))|(?=(?:\\/\\/|\\/\\*)))",
3604
"captures": {
3605
"1": {
3606
"name": "variable.other.enummember.cpp"
3607
},
3608
"2": {
3609
"patterns": [
3610
{
3611
"include": "#attributes_context"
3612
},
3613
{
3614
"include": "#number_literal"
3615
}
3616
]
3617
},
3618
"3": {
3619
"name": "keyword.operator.assignment.cpp"
3620
},
3621
"4": {
3622
"patterns": [
3623
{
3624
"include": "#evaluation_context"
3625
}
3626
]
3627
},
3628
"5": {
3629
"patterns": [
3630
{
3631
"include": "#comma"
3632
},
3633
{
3634
"include": "#semicolon"
3635
}
3636
]
3637
}
3638
},
3639
"name": "meta.enum.definition.cpp"
3640
},
3641
"evaluation_context": {
3642
"patterns": [
3643
{
3644
"include": "#ever_present_context"
3645
},
3646
{
3647
"include": "#string_context"
3648
},
3649
{
3650
"include": "#number_literal"
3651
},
3652
{
3653
"include": "#method_access"
3654
},
3655
{
3656
"include": "#member_access"
3657
},
3658
{
3659
"include": "#predefined_macros"
3660
},
3661
{
3662
"include": "#operators"
3663
},
3664
{
3665
"include": "#memory_operators"
3666
},
3667
{
3668
"include": "#wordlike_operators"
3669
},
3670
{
3671
"include": "#type_casting_operators"
3672
},
3673
{
3674
"include": "#control_flow_keywords"
3675
},
3676
{
3677
"include": "#exception_keywords"
3678
},
3679
{
3680
"include": "#the_this_keyword"
3681
},
3682
{
3683
"include": "#language_constants"
3684
},
3685
{
3686
"include": "#builtin_storage_type_initilizer"
3687
},
3688
{
3689
"include": "#qualifiers_and_specifiers_post_parameters"
3690
},
3691
{
3692
"include": "#functional_specifiers_pre_parameters"
3693
},
3694
{
3695
"include": "#storage_types"
3696
},
3697
{
3698
"include": "#lambdas"
3699
},
3700
{
3701
"include": "#attributes_context"
3702
},
3703
{
3704
"include": "#parentheses"
3705
},
3706
{
3707
"include": "#function_call"
3708
},
3709
{
3710
"include": "#scope_resolution_inner_generated"
3711
},
3712
{
3713
"include": "#square_brackets"
3714
},
3715
{
3716
"include": "#semicolon"
3717
},
3718
{
3719
"include": "#comma"
3720
}
3721
]
3722
},
3723
"ever_present_context": {
3724
"patterns": [
3725
{
3726
"include": "#pragma_mark"
3727
},
3728
{
3729
"include": "#pragma"
3730
},
3731
{
3732
"include": "#include"
3733
},
3734
{
3735
"include": "#line"
3736
},
3737
{
3738
"include": "#diagnostic"
3739
},
3740
{
3741
"include": "#undef"
3742
},
3743
{
3744
"include": "#preprocessor_conditional_range"
3745
},
3746
{
3747
"include": "#single_line_macro"
3748
},
3749
{
3750
"include": "#macro"
3751
},
3752
{
3753
"include": "#preprocessor_conditional_standalone"
3754
},
3755
{
3756
"include": "#macro_argument"
3757
},
3758
{
3759
"include": "#comments"
3760
},
3761
{
3762
"include": "#line_continuation_character"
3763
}
3764
]
3765
},
3766
"exception_keywords": {
3767
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:throw)|(?:catch)|(?:try))(?!\\w))",
3768
"captures": {
3769
"1": {
3770
"patterns": [
3771
{
3772
"include": "#inline_comment"
3773
}
3774
]
3775
},
3776
"2": {
3777
"patterns": [
3778
{
3779
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3780
"captures": {
3781
"1": {
3782
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3783
},
3784
"2": {
3785
"name": "comment.block.cpp"
3786
},
3787
"3": {
3788
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3789
}
3790
}
3791
}
3792
]
3793
},
3794
"3": {
3795
"name": "keyword.control.exception.$3.cpp"
3796
}
3797
}
3798
},
3799
"extern_block": {
3800
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(extern)(?=\\s*\\\")",
3801
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
3802
"beginCaptures": {
3803
"0": {
3804
"name": "meta.head.extern.cpp"
3805
},
3806
"1": {
3807
"patterns": [
3808
{
3809
"include": "#inline_comment"
3810
}
3811
]
3812
},
3813
"2": {
3814
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3815
},
3816
"3": {
3817
"name": "comment.block.cpp"
3818
},
3819
"4": {
3820
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3821
},
3822
"5": {
3823
"name": "storage.type.extern.cpp"
3824
}
3825
},
3826
"endCaptures": {
3827
"1": {
3828
"name": "punctuation.terminator.statement.cpp"
3829
},
3830
"2": {
3831
"name": "punctuation.terminator.statement.cpp"
3832
}
3833
},
3834
"name": "meta.block.extern.cpp",
3835
"patterns": [
3836
{
3837
"begin": "\\G ?",
3838
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
3839
"beginCaptures": {},
3840
"endCaptures": {
3841
"0": {
3842
"name": "punctuation.section.block.begin.bracket.curly.extern.cpp"
3843
}
3844
},
3845
"name": "meta.head.extern.cpp",
3846
"patterns": [
3847
{
3848
"include": "$self"
3849
}
3850
]
3851
},
3852
{
3853
"begin": "(?<=\\{|<%|\\?\\?<)",
3854
"end": "\\}|%>|\\?\\?>",
3855
"beginCaptures": {},
3856
"endCaptures": {
3857
"0": {
3858
"name": "punctuation.section.block.end.bracket.curly.extern.cpp"
3859
}
3860
},
3861
"name": "meta.body.extern.cpp",
3862
"patterns": [
3863
{
3864
"include": "$self"
3865
}
3866
]
3867
},
3868
{
3869
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3870
"end": "[\\s]*(?=;)",
3871
"beginCaptures": {},
3872
"endCaptures": {},
3873
"name": "meta.tail.extern.cpp",
3874
"patterns": [
3875
{
3876
"include": "$self"
3877
}
3878
]
3879
},
3880
{
3881
"include": "$self"
3882
}
3883
]
3884
},
3885
"function_body_context": {
3886
"patterns": [
3887
{
3888
"include": "#ever_present_context"
3889
},
3890
{
3891
"include": "#using_namespace"
3892
},
3893
{
3894
"include": "#type_alias"
3895
},
3896
{
3897
"include": "#using_name"
3898
},
3899
{
3900
"include": "#namespace_alias"
3901
},
3902
{
3903
"include": "#typedef_class"
3904
},
3905
{
3906
"include": "#typedef_struct"
3907
},
3908
{
3909
"include": "#typedef_union"
3910
},
3911
{
3912
"include": "#misc_keywords"
3913
},
3914
{
3915
"include": "#standard_declares"
3916
},
3917
{
3918
"include": "#class_block"
3919
},
3920
{
3921
"include": "#struct_block"
3922
},
3923
{
3924
"include": "#union_block"
3925
},
3926
{
3927
"include": "#enum_block"
3928
},
3929
{
3930
"include": "#access_control_keywords"
3931
},
3932
{
3933
"include": "#block"
3934
},
3935
{
3936
"include": "#static_assert"
3937
},
3938
{
3939
"include": "#assembly"
3940
},
3941
{
3942
"include": "#function_pointer"
3943
},
3944
{
3945
"include": "#switch_statement"
3946
},
3947
{
3948
"include": "#goto_statement"
3949
},
3950
{
3951
"include": "#evaluation_context"
3952
},
3953
{
3954
"include": "#label"
3955
}
3956
]
3957
},
3958
"function_call": {
3959
"begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()",
3960
"end": "\\)",
3961
"beginCaptures": {
3962
"1": {
3963
"patterns": [
3964
{
3965
"include": "#scope_resolution_function_call_inner_generated"
3966
}
3967
]
3968
},
3969
"2": {
3970
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
3971
},
3972
"3": {
3973
"patterns": [
3974
{
3975
"include": "#template_call_range"
3976
}
3977
]
3978
},
3979
"4": {},
3980
"5": {
3981
"name": "entity.name.function.call.cpp"
3982
},
3983
"6": {
3984
"patterns": [
3985
{
3986
"include": "#inline_comment"
3987
}
3988
]
3989
},
3990
"7": {
3991
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3992
},
3993
"8": {
3994
"name": "comment.block.cpp"
3995
},
3996
"9": {
3997
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3998
},
3999
"10": {
4000
"name": "meta.template.call.cpp",
4001
"patterns": [
4002
{
4003
"include": "#template_call_range"
4004
}
4005
]
4006
},
4007
"11": {},
4008
"12": {
4009
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4010
},
4011
"13": {
4012
"name": "comment.block.cpp"
4013
},
4014
"14": {
4015
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4016
},
4017
"15": {
4018
"name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp"
4019
}
4020
},
4021
"endCaptures": {
4022
"0": {
4023
"name": "punctuation.section.arguments.end.bracket.round.function.call.cpp"
4024
}
4025
},
4026
"patterns": [
4027
{
4028
"include": "#evaluation_context"
4029
}
4030
]
4031
},
4032
"function_definition": {
4033
"begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?<!\\w)template(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\()",
4034
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
4035
"beginCaptures": {
4036
"0": {
4037
"name": "meta.head.function.definition.cpp"
4038
},
4039
"1": {
4040
"name": "storage.type.template.cpp"
4041
},
4042
"2": {
4043
"patterns": [
4044
{
4045
"include": "#inline_comment"
4046
}
4047
]
4048
},
4049
"3": {
4050
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4051
},
4052
"4": {
4053
"name": "comment.block.cpp"
4054
},
4055
"5": {
4056
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4057
},
4058
"6": {
4059
"patterns": [
4060
{
4061
"include": "#attributes_context"
4062
},
4063
{
4064
"include": "#number_literal"
4065
}
4066
]
4067
},
4068
"7": {
4069
"patterns": [
4070
{
4071
"match": "((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
4072
"captures": {
4073
"1": {
4074
"name": "storage.modifier.$1.cpp"
4075
},
4076
"2": {
4077
"patterns": [
4078
{
4079
"include": "#inline_comment"
4080
}
4081
]
4082
},
4083
"3": {
4084
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4085
},
4086
"4": {
4087
"name": "comment.block.cpp"
4088
},
4089
"5": {
4090
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4091
}
4092
}
4093
}
4094
]
4095
},
4096
"8": {
4097
"name": "storage.modifier.$8.cpp"
4098
},
4099
"9": {
4100
"patterns": [
4101
{
4102
"include": "#inline_comment"
4103
}
4104
]
4105
},
4106
"10": {
4107
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4108
},
4109
"11": {
4110
"name": "comment.block.cpp"
4111
},
4112
"12": {
4113
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4114
},
4115
"13": {
4116
"name": "meta.qualified_type.cpp",
4117
"patterns": [
4118
{
4119
"match": "::",
4120
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4121
},
4122
{
4123
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4124
"name": "storage.type.$0.cpp"
4125
},
4126
{
4127
"include": "#attributes_context"
4128
},
4129
{
4130
"include": "#storage_types"
4131
},
4132
{
4133
"include": "#number_literal"
4134
},
4135
{
4136
"include": "#string_context"
4137
},
4138
{
4139
"include": "#comma"
4140
},
4141
{
4142
"include": "#scope_resolution_inner_generated"
4143
},
4144
{
4145
"begin": "<",
4146
"end": ">",
4147
"beginCaptures": {
4148
"0": {
4149
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4150
}
4151
},
4152
"endCaptures": {
4153
"0": {
4154
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
4155
}
4156
},
4157
"name": "meta.template.call.cpp",
4158
"patterns": [
4159
{
4160
"include": "#template_call_context"
4161
}
4162
]
4163
},
4164
{
4165
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
4166
"name": "entity.name.type.cpp"
4167
}
4168
]
4169
},
4170
"14": {
4171
"patterns": [
4172
{
4173
"include": "#attributes_context"
4174
},
4175
{
4176
"include": "#number_literal"
4177
}
4178
]
4179
},
4180
"15": {
4181
"patterns": [
4182
{
4183
"include": "#inline_comment"
4184
}
4185
]
4186
},
4187
"16": {
4188
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4189
},
4190
"17": {
4191
"name": "comment.block.cpp"
4192
},
4193
"18": {
4194
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4195
},
4196
"19": {
4197
"patterns": [
4198
{
4199
"include": "#inline_comment"
4200
}
4201
]
4202
},
4203
"20": {
4204
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4205
},
4206
"21": {
4207
"name": "comment.block.cpp"
4208
},
4209
"22": {
4210
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4211
},
4212
"23": {
4213
"patterns": [
4214
{
4215
"match": "::",
4216
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4217
},
4218
{
4219
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
4220
"name": "entity.name.scope-resolution.type.cpp"
4221
},
4222
{
4223
"include": "#template_call_range"
4224
}
4225
]
4226
},
4227
"24": {
4228
"patterns": [
4229
{
4230
"include": "#template_call_range"
4231
}
4232
]
4233
},
4234
"25": {},
4235
"26": {
4236
"patterns": [
4237
{
4238
"include": "#inline_comment"
4239
}
4240
]
4241
},
4242
"27": {
4243
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4244
},
4245
"28": {
4246
"name": "comment.block.cpp"
4247
},
4248
"29": {
4249
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4250
},
4251
"30": {},
4252
"31": {
4253
"patterns": [
4254
{
4255
"match": "\\*",
4256
"name": "storage.modifier.pointer.cpp"
4257
},
4258
{
4259
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
4260
"captures": {
4261
"1": {
4262
"patterns": [
4263
{
4264
"include": "#inline_comment"
4265
}
4266
]
4267
},
4268
"2": {
4269
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4270
},
4271
"3": {
4272
"name": "comment.block.cpp"
4273
},
4274
"4": {
4275
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4276
}
4277
},
4278
"name": "invalid.illegal.reference-type.cpp"
4279
},
4280
{
4281
"match": "\\&",
4282
"name": "storage.modifier.reference.cpp"
4283
}
4284
]
4285
},
4286
"32": {
4287
"patterns": [
4288
{
4289
"include": "#inline_comment"
4290
}
4291
]
4292
},
4293
"33": {
4294
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4295
},
4296
"34": {
4297
"name": "comment.block.cpp"
4298
},
4299
"35": {
4300
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4301
},
4302
"36": {
4303
"patterns": [
4304
{
4305
"include": "#inline_comment"
4306
}
4307
]
4308
},
4309
"37": {
4310
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4311
},
4312
"38": {
4313
"name": "comment.block.cpp"
4314
},
4315
"39": {
4316
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4317
},
4318
"40": {
4319
"patterns": [
4320
{
4321
"include": "#inline_comment"
4322
}
4323
]
4324
},
4325
"41": {
4326
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4327
},
4328
"42": {
4329
"name": "comment.block.cpp"
4330
},
4331
"43": {
4332
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4333
},
4334
"44": {
4335
"name": "storage.type.modifier.calling-convention.cpp"
4336
},
4337
"45": {
4338
"patterns": [
4339
{
4340
"include": "#inline_comment"
4341
}
4342
]
4343
},
4344
"46": {
4345
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4346
},
4347
"47": {
4348
"name": "comment.block.cpp"
4349
},
4350
"48": {
4351
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4352
},
4353
"49": {
4354
"patterns": [
4355
{
4356
"include": "#scope_resolution_function_definition_inner_generated"
4357
}
4358
]
4359
},
4360
"50": {
4361
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
4362
},
4363
"51": {
4364
"patterns": [
4365
{
4366
"include": "#template_call_range"
4367
}
4368
]
4369
},
4370
"52": {},
4371
"53": {
4372
"name": "entity.name.function.definition.cpp"
4373
},
4374
"54": {
4375
"patterns": [
4376
{
4377
"include": "#inline_comment"
4378
}
4379
]
4380
},
4381
"55": {
4382
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4383
},
4384
"56": {
4385
"name": "comment.block.cpp"
4386
},
4387
"57": {
4388
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4389
}
4390
},
4391
"endCaptures": {},
4392
"name": "meta.function.definition.cpp",
4393
"patterns": [
4394
{
4395
"begin": "\\G ?",
4396
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
4397
"beginCaptures": {},
4398
"endCaptures": {
4399
"0": {
4400
"name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp"
4401
}
4402
},
4403
"name": "meta.head.function.definition.cpp",
4404
"patterns": [
4405
{
4406
"include": "#ever_present_context"
4407
},
4408
{
4409
"begin": "\\(",
4410
"end": "\\)",
4411
"beginCaptures": {
4412
"0": {
4413
"name": "punctuation.section.parameters.begin.bracket.round.cpp"
4414
}
4415
},
4416
"endCaptures": {
4417
"0": {
4418
"name": "punctuation.section.parameters.end.bracket.round.cpp"
4419
}
4420
},
4421
"contentName": "meta.function.definition.parameters",
4422
"patterns": [
4423
{
4424
"include": "#ever_present_context"
4425
},
4426
{
4427
"include": "#parameter_or_maybe_value"
4428
},
4429
{
4430
"include": "#comma"
4431
},
4432
{
4433
"include": "#evaluation_context"
4434
}
4435
]
4436
},
4437
{
4438
"match": "(?<=^|\\))(?:\\s+)?(->)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<23>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<23>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))",
4439
"captures": {
4440
"1": {
4441
"name": "punctuation.definition.function.return-type.cpp"
4442
},
4443
"2": {
4444
"patterns": [
4445
{
4446
"include": "#inline_comment"
4447
}
4448
]
4449
},
4450
"3": {
4451
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4452
},
4453
"4": {
4454
"name": "comment.block.cpp"
4455
},
4456
"5": {
4457
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4458
},
4459
"6": {
4460
"name": "meta.qualified_type.cpp",
4461
"patterns": [
4462
{
4463
"match": "::",
4464
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4465
},
4466
{
4467
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4468
"name": "storage.type.$0.cpp"
4469
},
4470
{
4471
"include": "#attributes_context"
4472
},
4473
{
4474
"include": "#storage_types"
4475
},
4476
{
4477
"include": "#number_literal"
4478
},
4479
{
4480
"include": "#string_context"
4481
},
4482
{
4483
"include": "#comma"
4484
},
4485
{
4486
"include": "#scope_resolution_inner_generated"
4487
},
4488
{
4489
"begin": "<",
4490
"end": ">",
4491
"beginCaptures": {
4492
"0": {
4493
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4494
}
4495
},
4496
"endCaptures": {
4497
"0": {
4498
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
4499
}
4500
},
4501
"name": "meta.template.call.cpp",
4502
"patterns": [
4503
{
4504
"include": "#template_call_context"
4505
}
4506
]
4507
},
4508
{
4509
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
4510
"name": "entity.name.type.cpp"
4511
}
4512
]
4513
},
4514
"7": {
4515
"patterns": [
4516
{
4517
"include": "#attributes_context"
4518
},
4519
{
4520
"include": "#number_literal"
4521
}
4522
]
4523
},
4524
"8": {
4525
"patterns": [
4526
{
4527
"include": "#inline_comment"
4528
}
4529
]
4530
},
4531
"9": {
4532
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4533
},
4534
"10": {
4535
"name": "comment.block.cpp"
4536
},
4537
"11": {
4538
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4539
},
4540
"12": {
4541
"patterns": [
4542
{
4543
"include": "#inline_comment"
4544
}
4545
]
4546
},
4547
"13": {
4548
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4549
},
4550
"14": {
4551
"name": "comment.block.cpp"
4552
},
4553
"15": {
4554
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4555
},
4556
"16": {
4557
"patterns": [
4558
{
4559
"match": "::",
4560
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4561
},
4562
{
4563
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
4564
"name": "entity.name.scope-resolution.type.cpp"
4565
},
4566
{
4567
"include": "#template_call_range"
4568
}
4569
]
4570
},
4571
"17": {
4572
"patterns": [
4573
{
4574
"include": "#template_call_range"
4575
}
4576
]
4577
},
4578
"18": {},
4579
"19": {
4580
"patterns": [
4581
{
4582
"include": "#inline_comment"
4583
}
4584
]
4585
},
4586
"20": {
4587
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4588
},
4589
"21": {
4590
"name": "comment.block.cpp"
4591
},
4592
"22": {
4593
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4594
},
4595
"23": {}
4596
}
4597
},
4598
{
4599
"include": "$self"
4600
}
4601
]
4602
},
4603
{
4604
"begin": "(?<=\\{|<%|\\?\\?<)",
4605
"end": "\\}|%>|\\?\\?>",
4606
"beginCaptures": {},
4607
"endCaptures": {
4608
"0": {
4609
"name": "punctuation.section.block.end.bracket.curly.function.definition.cpp"
4610
}
4611
},
4612
"name": "meta.body.function.definition.cpp",
4613
"patterns": [
4614
{
4615
"include": "#function_body_context"
4616
}
4617
]
4618
},
4619
{
4620
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
4621
"end": "[\\s]*(?=;)",
4622
"beginCaptures": {},
4623
"endCaptures": {},
4624
"name": "meta.tail.function.definition.cpp",
4625
"patterns": [
4626
{
4627
"include": "$self"
4628
}
4629
]
4630
}
4631
]
4632
},
4633
"function_parameter_context": {
4634
"patterns": [
4635
{
4636
"include": "#ever_present_context"
4637
},
4638
{
4639
"include": "#parameter"
4640
},
4641
{
4642
"include": "#comma"
4643
}
4644
]
4645
},
4646
"function_pointer": {
4647
"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()",
4648
"end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()",
4649
"beginCaptures": {
4650
"1": {
4651
"name": "meta.qualified_type.cpp",
4652
"patterns": [
4653
{
4654
"match": "::",
4655
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4656
},
4657
{
4658
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4659
"name": "storage.type.$0.cpp"
4660
},
4661
{
4662
"include": "#attributes_context"
4663
},
4664
{
4665
"include": "#storage_types"
4666
},
4667
{
4668
"include": "#number_literal"
4669
},
4670
{
4671
"include": "#string_context"
4672
},
4673
{
4674
"include": "#comma"
4675
},
4676
{
4677
"include": "#scope_resolution_inner_generated"
4678
},
4679
{
4680
"begin": "<",
4681
"end": ">",
4682
"beginCaptures": {
4683
"0": {
4684
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4685
}
4686
},
4687
"endCaptures": {
4688
"0": {
4689
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
4690
}
4691
},
4692
"name": "meta.template.call.cpp",
4693
"patterns": [
4694
{
4695
"include": "#template_call_context"
4696
}
4697
]
4698
},
4699
{
4700
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
4701
"name": "entity.name.type.cpp"
4702
}
4703
]
4704
},
4705
"2": {
4706
"patterns": [
4707
{
4708
"include": "#attributes_context"
4709
},
4710
{
4711
"include": "#number_literal"
4712
}
4713
]
4714
},
4715
"3": {
4716
"patterns": [
4717
{
4718
"include": "#inline_comment"
4719
}
4720
]
4721
},
4722
"4": {
4723
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4724
},
4725
"5": {
4726
"name": "comment.block.cpp"
4727
},
4728
"6": {
4729
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4730
},
4731
"7": {
4732
"patterns": [
4733
{
4734
"include": "#inline_comment"
4735
}
4736
]
4737
},
4738
"8": {
4739
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4740
},
4741
"9": {
4742
"name": "comment.block.cpp"
4743
},
4744
"10": {
4745
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4746
},
4747
"11": {
4748
"patterns": [
4749
{
4750
"match": "::",
4751
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4752
},
4753
{
4754
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
4755
"name": "entity.name.scope-resolution.type.cpp"
4756
},
4757
{
4758
"include": "#template_call_range"
4759
}
4760
]
4761
},
4762
"12": {
4763
"patterns": [
4764
{
4765
"include": "#template_call_range"
4766
}
4767
]
4768
},
4769
"13": {},
4770
"14": {
4771
"patterns": [
4772
{
4773
"include": "#inline_comment"
4774
}
4775
]
4776
},
4777
"15": {
4778
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4779
},
4780
"16": {
4781
"name": "comment.block.cpp"
4782
},
4783
"17": {
4784
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4785
},
4786
"18": {},
4787
"19": {
4788
"patterns": [
4789
{
4790
"match": "\\*",
4791
"name": "storage.modifier.pointer.cpp"
4792
},
4793
{
4794
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
4795
"captures": {
4796
"1": {
4797
"patterns": [
4798
{
4799
"include": "#inline_comment"
4800
}
4801
]
4802
},
4803
"2": {
4804
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4805
},
4806
"3": {
4807
"name": "comment.block.cpp"
4808
},
4809
"4": {
4810
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4811
}
4812
},
4813
"name": "invalid.illegal.reference-type.cpp"
4814
},
4815
{
4816
"match": "\\&",
4817
"name": "storage.modifier.reference.cpp"
4818
}
4819
]
4820
},
4821
"20": {
4822
"patterns": [
4823
{
4824
"include": "#inline_comment"
4825
}
4826
]
4827
},
4828
"21": {
4829
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4830
},
4831
"22": {
4832
"name": "comment.block.cpp"
4833
},
4834
"23": {
4835
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4836
},
4837
"24": {
4838
"patterns": [
4839
{
4840
"include": "#inline_comment"
4841
}
4842
]
4843
},
4844
"25": {
4845
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4846
},
4847
"26": {
4848
"name": "comment.block.cpp"
4849
},
4850
"27": {
4851
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4852
},
4853
"28": {
4854
"patterns": [
4855
{
4856
"include": "#inline_comment"
4857
}
4858
]
4859
},
4860
"29": {
4861
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4862
},
4863
"30": {
4864
"name": "comment.block.cpp"
4865
},
4866
"31": {
4867
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4868
},
4869
"32": {
4870
"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
4871
},
4872
"33": {
4873
"name": "punctuation.definition.function.pointer.dereference.cpp"
4874
},
4875
"34": {
4876
"name": "variable.other.definition.pointer.function.cpp"
4877
},
4878
"35": {
4879
"name": "punctuation.definition.begin.bracket.square.cpp"
4880
},
4881
"36": {
4882
"patterns": [
4883
{
4884
"include": "#evaluation_context"
4885
}
4886
]
4887
},
4888
"37": {
4889
"name": "punctuation.definition.end.bracket.square.cpp"
4890
},
4891
"38": {
4892
"name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
4893
},
4894
"39": {
4895
"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
4896
}
4897
},
4898
"endCaptures": {
4899
"1": {
4900
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
4901
},
4902
"2": {
4903
"patterns": [
4904
{
4905
"include": "#inline_comment"
4906
}
4907
]
4908
},
4909
"3": {
4910
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4911
},
4912
"4": {
4913
"name": "comment.block.cpp"
4914
},
4915
"5": {
4916
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4917
}
4918
},
4919
"patterns": [
4920
{
4921
"include": "#function_parameter_context"
4922
}
4923
]
4924
},
4925
"function_pointer_parameter": {
4926
"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()",
4927
"end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()",
4928
"beginCaptures": {
4929
"1": {
4930
"name": "meta.qualified_type.cpp",
4931
"patterns": [
4932
{
4933
"match": "::",
4934
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4935
},
4936
{
4937
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4938
"name": "storage.type.$0.cpp"
4939
},
4940
{
4941
"include": "#attributes_context"
4942
},
4943
{
4944
"include": "#storage_types"
4945
},
4946
{
4947
"include": "#number_literal"
4948
},
4949
{
4950
"include": "#string_context"
4951
},
4952
{
4953
"include": "#comma"
4954
},
4955
{
4956
"include": "#scope_resolution_inner_generated"
4957
},
4958
{
4959
"begin": "<",
4960
"end": ">",
4961
"beginCaptures": {
4962
"0": {
4963
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4964
}
4965
},
4966
"endCaptures": {
4967
"0": {
4968
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
4969
}
4970
},
4971
"name": "meta.template.call.cpp",
4972
"patterns": [
4973
{
4974
"include": "#template_call_context"
4975
}
4976
]
4977
},
4978
{
4979
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
4980
"name": "entity.name.type.cpp"
4981
}
4982
]
4983
},
4984
"2": {
4985
"patterns": [
4986
{
4987
"include": "#attributes_context"
4988
},
4989
{
4990
"include": "#number_literal"
4991
}
4992
]
4993
},
4994
"3": {
4995
"patterns": [
4996
{
4997
"include": "#inline_comment"
4998
}
4999
]
5000
},
5001
"4": {
5002
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5003
},
5004
"5": {
5005
"name": "comment.block.cpp"
5006
},
5007
"6": {
5008
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5009
},
5010
"7": {
5011
"patterns": [
5012
{
5013
"include": "#inline_comment"
5014
}
5015
]
5016
},
5017
"8": {
5018
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5019
},
5020
"9": {
5021
"name": "comment.block.cpp"
5022
},
5023
"10": {
5024
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5025
},
5026
"11": {
5027
"patterns": [
5028
{
5029
"match": "::",
5030
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
5031
},
5032
{
5033
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
5034
"name": "entity.name.scope-resolution.type.cpp"
5035
},
5036
{
5037
"include": "#template_call_range"
5038
}
5039
]
5040
},
5041
"12": {
5042
"patterns": [
5043
{
5044
"include": "#template_call_range"
5045
}
5046
]
5047
},
5048
"13": {},
5049
"14": {
5050
"patterns": [
5051
{
5052
"include": "#inline_comment"
5053
}
5054
]
5055
},
5056
"15": {
5057
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5058
},
5059
"16": {
5060
"name": "comment.block.cpp"
5061
},
5062
"17": {
5063
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5064
},
5065
"18": {},
5066
"19": {
5067
"patterns": [
5068
{
5069
"match": "\\*",
5070
"name": "storage.modifier.pointer.cpp"
5071
},
5072
{
5073
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
5074
"captures": {
5075
"1": {
5076
"patterns": [
5077
{
5078
"include": "#inline_comment"
5079
}
5080
]
5081
},
5082
"2": {
5083
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5084
},
5085
"3": {
5086
"name": "comment.block.cpp"
5087
},
5088
"4": {
5089
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5090
}
5091
},
5092
"name": "invalid.illegal.reference-type.cpp"
5093
},
5094
{
5095
"match": "\\&",
5096
"name": "storage.modifier.reference.cpp"
5097
}
5098
]
5099
},
5100
"20": {
5101
"patterns": [
5102
{
5103
"include": "#inline_comment"
5104
}
5105
]
5106
},
5107
"21": {
5108
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5109
},
5110
"22": {
5111
"name": "comment.block.cpp"
5112
},
5113
"23": {
5114
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5115
},
5116
"24": {
5117
"patterns": [
5118
{
5119
"include": "#inline_comment"
5120
}
5121
]
5122
},
5123
"25": {
5124
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5125
},
5126
"26": {
5127
"name": "comment.block.cpp"
5128
},
5129
"27": {
5130
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5131
},
5132
"28": {
5133
"patterns": [
5134
{
5135
"include": "#inline_comment"
5136
}
5137
]
5138
},
5139
"29": {
5140
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5141
},
5142
"30": {
5143
"name": "comment.block.cpp"
5144
},
5145
"31": {
5146
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5147
},
5148
"32": {
5149
"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
5150
},
5151
"33": {
5152
"name": "punctuation.definition.function.pointer.dereference.cpp"
5153
},
5154
"34": {
5155
"name": "variable.parameter.pointer.function.cpp"
5156
},
5157
"35": {
5158
"name": "punctuation.definition.begin.bracket.square.cpp"
5159
},
5160
"36": {
5161
"patterns": [
5162
{
5163
"include": "#evaluation_context"
5164
}
5165
]
5166
},
5167
"37": {
5168
"name": "punctuation.definition.end.bracket.square.cpp"
5169
},
5170
"38": {
5171
"name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
5172
},
5173
"39": {
5174
"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
5175
}
5176
},
5177
"endCaptures": {
5178
"1": {
5179
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
5180
},
5181
"2": {
5182
"patterns": [
5183
{
5184
"include": "#inline_comment"
5185
}
5186
]
5187
},
5188
"3": {
5189
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5190
},
5191
"4": {
5192
"name": "comment.block.cpp"
5193
},
5194
"5": {
5195
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5196
}
5197
},
5198
"patterns": [
5199
{
5200
"include": "#function_parameter_context"
5201
}
5202
]
5203
},
5204
"functional_specifiers_pre_parameters": {
5205
"match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))(?!\\w)",
5206
"name": "storage.modifier.specifier.functional.pre-parameters.$0.cpp"
5207
},
5208
"gcc_attributes": {
5209
"begin": "__attribute(?:__)?\\s*\\(\\s*\\(",
5210
"end": "\\)\\s*\\)",
5211
"beginCaptures": {
5212
"0": {
5213
"name": "punctuation.section.attribute.begin.cpp"
5214
}
5215
},
5216
"endCaptures": {
5217
"0": {
5218
"name": "punctuation.section.attribute.end.cpp"
5219
}
5220
},
5221
"name": "support.other.attribute.cpp",
5222
"patterns": [
5223
{
5224
"include": "#attributes_context"
5225
},
5226
{
5227
"begin": "\\(",
5228
"end": "\\)",
5229
"beginCaptures": {},
5230
"endCaptures": {},
5231
"patterns": [
5232
{
5233
"include": "#attributes_context"
5234
},
5235
{
5236
"include": "#string_context"
5237
},
5238
{
5239
"include": "#ever_present_context"
5240
}
5241
]
5242
},
5243
{
5244
"match": "(using)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
5245
"captures": {
5246
"1": {
5247
"name": "keyword.other.using.directive.cpp"
5248
},
5249
"2": {
5250
"name": "entity.name.namespace.cpp"
5251
}
5252
}
5253
},
5254
{
5255
"match": ",",
5256
"name": "punctuation.separator.attribute.cpp"
5257
},
5258
{
5259
"match": ":",
5260
"name": "punctuation.accessor.attribute.cpp"
5261
},
5262
{
5263
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
5264
"name": "entity.name.namespace.cpp"
5265
},
5266
{
5267
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
5268
"name": "entity.other.attribute.$0.cpp"
5269
},
5270
{
5271
"include": "#number_literal"
5272
},
5273
{
5274
"include": "#ever_present_context"
5275
}
5276
]
5277
},
5278
"goto_statement": {
5279
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)goto(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)",
5280
"captures": {
5281
"1": {
5282
"patterns": [
5283
{
5284
"include": "#inline_comment"
5285
}
5286
]
5287
},
5288
"2": {
5289
"patterns": [
5290
{
5291
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5292
"captures": {
5293
"1": {
5294
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5295
},
5296
"2": {
5297
"name": "comment.block.cpp"
5298
},
5299
"3": {
5300
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5301
}
5302
}
5303
}
5304
]
5305
},
5306
"3": {
5307
"name": "keyword.control.goto.cpp"
5308
},
5309
"4": {
5310
"patterns": [
5311
{
5312
"include": "#inline_comment"
5313
}
5314
]
5315
},
5316
"5": {
5317
"patterns": [
5318
{
5319
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5320
"captures": {
5321
"1": {
5322
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5323
},
5324
"2": {
5325
"name": "comment.block.cpp"
5326
},
5327
"3": {
5328
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5329
}
5330
}
5331
}
5332
]
5333
},
5334
"6": {
5335
"name": "entity.name.label.call.cpp"
5336
}
5337
}
5338
},
5339
"identifier": {
5340
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*"
5341
},
5342
"include": {
5343
"match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((#)(?:\\s+)?((?:include|include_next))\\b)(?:\\s+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\\")[^\\\"]*(\\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))",
5344
"captures": {
5345
"1": {
5346
"patterns": [
5347
{
5348
"include": "#inline_comment"
5349
}
5350
]
5351
},
5352
"2": {
5353
"patterns": [
5354
{
5355
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5356
"captures": {
5357
"1": {
5358
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5359
},
5360
"2": {
5361
"name": "comment.block.cpp"
5362
},
5363
"3": {
5364
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5365
}
5366
}
5367
}
5368
]
5369
},
5370
"3": {
5371
"name": "keyword.control.directive.$5.cpp"
5372
},
5373
"4": {
5374
"name": "punctuation.definition.directive.cpp"
5375
},
5376
"6": {
5377
"name": "string.quoted.other.lt-gt.include.cpp"
5378
},
5379
"7": {
5380
"name": "punctuation.definition.string.begin.cpp"
5381
},
5382
"8": {
5383
"name": "punctuation.definition.string.end.cpp"
5384
},
5385
"9": {
5386
"patterns": [
5387
{
5388
"include": "#inline_comment"
5389
}
5390
]
5391
},
5392
"10": {
5393
"patterns": [
5394
{
5395
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5396
"captures": {
5397
"1": {
5398
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5399
},
5400
"2": {
5401
"name": "comment.block.cpp"
5402
},
5403
"3": {
5404
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5405
}
5406
}
5407
}
5408
]
5409
},
5410
"11": {
5411
"name": "string.quoted.double.include.cpp"
5412
},
5413
"12": {
5414
"name": "punctuation.definition.string.begin.cpp"
5415
},
5416
"13": {
5417
"name": "punctuation.definition.string.end.cpp"
5418
},
5419
"14": {
5420
"patterns": [
5421
{
5422
"include": "#inline_comment"
5423
}
5424
]
5425
},
5426
"15": {
5427
"patterns": [
5428
{
5429
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5430
"captures": {
5431
"1": {
5432
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5433
},
5434
"2": {
5435
"name": "comment.block.cpp"
5436
},
5437
"3": {
5438
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5439
}
5440
}
5441
}
5442
]
5443
},
5444
"16": {
5445
"name": "entity.name.other.preprocessor.macro.include.cpp"
5446
},
5447
"17": {
5448
"patterns": [
5449
{
5450
"include": "#inline_comment"
5451
}
5452
]
5453
},
5454
"18": {
5455
"patterns": [
5456
{
5457
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5458
"captures": {
5459
"1": {
5460
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5461
},
5462
"2": {
5463
"name": "comment.block.cpp"
5464
},
5465
"3": {
5466
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5467
}
5468
}
5469
}
5470
]
5471
},
5472
"19": {
5473
"patterns": [
5474
{
5475
"include": "#inline_comment"
5476
}
5477
]
5478
},
5479
"20": {
5480
"patterns": [
5481
{
5482
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5483
"captures": {
5484
"1": {
5485
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5486
},
5487
"2": {
5488
"name": "comment.block.cpp"
5489
},
5490
"3": {
5491
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5492
}
5493
}
5494
}
5495
]
5496
},
5497
"21": {
5498
"patterns": [
5499
{
5500
"include": "#inline_comment"
5501
}
5502
]
5503
},
5504
"22": {
5505
"patterns": [
5506
{
5507
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5508
"captures": {
5509
"1": {
5510
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5511
},
5512
"2": {
5513
"name": "comment.block.cpp"
5514
},
5515
"3": {
5516
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5517
}
5518
}
5519
}
5520
]
5521
}
5522
},
5523
"name": "meta.preprocessor.include.cpp"
5524
},
5525
"inheritance_context": {
5526
"patterns": [
5527
{
5528
"include": "#ever_present_context"
5529
},
5530
{
5531
"match": ",",
5532
"name": "punctuation.separator.delimiter.comma.inheritance.cpp"
5533
},
5534
{
5535
"match": "(?<!\\w)(?:(?:protected)|(?:private)|(?:public))(?!\\w)",
5536
"name": "storage.type.modifier.access.$0.cpp"
5537
},
5538
{
5539
"match": "(?<!\\w)virtual(?!\\w)",
5540
"name": "storage.type.modifier.virtual.cpp"
5541
},
5542
{
5543
"match": "(?<=protected|virtual|private|public|,|:)(?:\\s+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|virtual))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))",
5544
"captures": {
5545
"1": {
5546
"name": "meta.qualified_type.cpp",
5547
"patterns": [
5548
{
5549
"match": "::",
5550
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
5551
},
5552
{
5553
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
5554
"name": "storage.type.$0.cpp"
5555
},
5556
{
5557
"include": "#attributes_context"
5558
},
5559
{
5560
"include": "#storage_types"
5561
},
5562
{
5563
"include": "#number_literal"
5564
},
5565
{
5566
"include": "#string_context"
5567
},
5568
{
5569
"include": "#comma"
5570
},
5571
{
5572
"include": "#scope_resolution_inner_generated"
5573
},
5574
{
5575
"begin": "<",
5576
"end": ">",
5577
"beginCaptures": {
5578
"0": {
5579
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
5580
}
5581
},
5582
"endCaptures": {
5583
"0": {
5584
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
5585
}
5586
},
5587
"name": "meta.template.call.cpp",
5588
"patterns": [
5589
{
5590
"include": "#template_call_context"
5591
}
5592
]
5593
},
5594
{
5595
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
5596
"name": "entity.name.type.cpp"
5597
}
5598
]
5599
},
5600
"2": {
5601
"patterns": [
5602
{
5603
"include": "#attributes_context"
5604
},
5605
{
5606
"include": "#number_literal"
5607
}
5608
]
5609
},
5610
"3": {
5611
"patterns": [
5612
{
5613
"include": "#inline_comment"
5614
}
5615
]
5616
},
5617
"4": {
5618
"patterns": [
5619
{
5620
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5621
"captures": {
5622
"1": {
5623
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5624
},
5625
"2": {
5626
"name": "comment.block.cpp"
5627
},
5628
"3": {
5629
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5630
}
5631
}
5632
}
5633
]
5634
},
5635
"5": {
5636
"patterns": [
5637
{
5638
"include": "#inline_comment"
5639
}
5640
]
5641
},
5642
"6": {
5643
"patterns": [
5644
{
5645
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5646
"captures": {
5647
"1": {
5648
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5649
},
5650
"2": {
5651
"name": "comment.block.cpp"
5652
},
5653
"3": {
5654
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5655
}
5656
}
5657
}
5658
]
5659
},
5660
"7": {
5661
"patterns": [
5662
{
5663
"match": "::",
5664
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
5665
},
5666
{
5667
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
5668
"name": "entity.name.scope-resolution.type.cpp"
5669
},
5670
{
5671
"include": "#template_call_range"
5672
}
5673
]
5674
},
5675
"8": {
5676
"patterns": [
5677
{
5678
"include": "#template_call_range"
5679
}
5680
]
5681
},
5682
"9": {},
5683
"10": {
5684
"patterns": [
5685
{
5686
"include": "#inline_comment"
5687
}
5688
]
5689
},
5690
"11": {
5691
"patterns": [
5692
{
5693
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5694
"captures": {
5695
"1": {
5696
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5697
},
5698
"2": {
5699
"name": "comment.block.cpp"
5700
},
5701
"3": {
5702
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5703
}
5704
}
5705
}
5706
]
5707
},
5708
"12": {}
5709
}
5710
}
5711
]
5712
},
5713
"inline_builtin_storage_type": {
5714
"match": "\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)",
5715
"captures": {
5716
"1": {
5717
"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
5718
},
5719
"2": {
5720
"name": "storage.type.cpp storage.type.built-in.cpp"
5721
},
5722
"3": {
5723
"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
5724
},
5725
"4": {
5726
"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
5727
}
5728
}
5729
},
5730
"inline_comment": {
5731
"match": "(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))",
5732
"captures": {
5733
"1": {
5734
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5735
},
5736
"2": {
5737
"name": "comment.block.cpp"
5738
},
5739
"3": {
5740
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5741
}
5742
}
5743
},
5744
"invalid_comment_end": {
5745
"match": "\\*\\/",
5746
"name": "invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"
5747
},
5748
"label": {
5749
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\b(?<!case|default)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)",
5750
"captures": {
5751
"1": {
5752
"patterns": [
5753
{
5754
"include": "#inline_comment"
5755
}
5756
]
5757
},
5758
"2": {
5759
"patterns": [
5760
{
5761
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5762
"captures": {
5763
"1": {
5764
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5765
},
5766
"2": {
5767
"name": "comment.block.cpp"
5768
},
5769
"3": {
5770
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5771
}
5772
}
5773
}
5774
]
5775
},
5776
"3": {
5777
"name": "entity.name.label.cpp"
5778
},
5779
"4": {
5780
"patterns": [
5781
{
5782
"include": "#inline_comment"
5783
}
5784
]
5785
},
5786
"5": {
5787
"patterns": [
5788
{
5789
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5790
"captures": {
5791
"1": {
5792
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5793
},
5794
"2": {
5795
"name": "comment.block.cpp"
5796
},
5797
"3": {
5798
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5799
}
5800
}
5801
}
5802
]
5803
},
5804
"6": {
5805
"name": "punctuation.separator.label.cpp"
5806
}
5807
}
5808
},
5809
"lambdas": {
5810
"begin": "(?:(?<=[^\\s]|^)(?<![\\w\\]\\)\\[\\*&\">])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:[^\\[\\]]*+\\g<3>?)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))",
5811
"end": "(?<=[;}])",
5812
"beginCaptures": {
5813
"1": {
5814
"name": "punctuation.definition.capture.begin.lambda.cpp"
5815
},
5816
"2": {
5817
"name": "meta.lambda.capture.cpp",
5818
"patterns": [
5819
{
5820
"include": "#the_this_keyword"
5821
},
5822
{
5823
"match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))",
5824
"captures": {
5825
"1": {
5826
"name": "variable.parameter.capture.cpp"
5827
},
5828
"2": {
5829
"patterns": [
5830
{
5831
"include": "#inline_comment"
5832
}
5833
]
5834
},
5835
"3": {
5836
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5837
},
5838
"4": {
5839
"name": "comment.block.cpp"
5840
},
5841
"5": {
5842
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5843
},
5844
"6": {
5845
"name": "punctuation.separator.delimiter.comma.cpp"
5846
},
5847
"7": {
5848
"name": "keyword.operator.assignment.cpp"
5849
}
5850
}
5851
},
5852
{
5853
"include": "#evaluation_context"
5854
}
5855
]
5856
},
5857
"3": {},
5858
"4": {
5859
"name": "punctuation.definition.capture.end.lambda.cpp"
5860
},
5861
"5": {
5862
"patterns": [
5863
{
5864
"include": "#inline_comment"
5865
}
5866
]
5867
},
5868
"6": {
5869
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5870
},
5871
"7": {
5872
"name": "comment.block.cpp"
5873
},
5874
"8": {
5875
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5876
}
5877
},
5878
"endCaptures": {},
5879
"patterns": [
5880
{
5881
"begin": "\\(",
5882
"end": "\\)",
5883
"beginCaptures": {
5884
"0": {
5885
"name": "punctuation.definition.parameters.begin.lambda.cpp"
5886
}
5887
},
5888
"endCaptures": {
5889
"0": {
5890
"name": "punctuation.definition.parameters.end.lambda.cpp"
5891
}
5892
},
5893
"name": "meta.function.definition.parameters.lambda.cpp",
5894
"patterns": [
5895
{
5896
"include": "#function_parameter_context"
5897
}
5898
]
5899
},
5900
{
5901
"match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:mutable))(?!\\w)",
5902
"name": "storage.modifier.lambda.$0.cpp"
5903
},
5904
{
5905
"begin": "->",
5906
"end": "(?=\\{)",
5907
"beginCaptures": {
5908
"0": {
5909
"name": "punctuation.definition.lambda.return-type.cpp"
5910
}
5911
},
5912
"endCaptures": {},
5913
"patterns": [
5914
{
5915
"include": "#comments"
5916
},
5917
{
5918
"match": "\\S+",
5919
"name": "storage.type.return-type.lambda.cpp"
5920
}
5921
]
5922
},
5923
{
5924
"begin": "\\{",
5925
"end": "\\}",
5926
"beginCaptures": {
5927
"0": {
5928
"name": "punctuation.section.block.begin.bracket.curly.lambda.cpp"
5929
}
5930
},
5931
"endCaptures": {
5932
"0": {
5933
"name": "punctuation.section.block.end.bracket.curly.lambda.cpp"
5934
}
5935
},
5936
"name": "meta.function.definition.body.lambda.cpp",
5937
"patterns": [
5938
{
5939
"include": "$self"
5940
}
5941
]
5942
}
5943
]
5944
},
5945
"language_constants": {
5946
"match": "(?<!\\w)(?:(?:nullptr)|(?:false)|(?:NULL)|(?:true))(?!\\w)",
5947
"name": "constant.language.$0.cpp"
5948
},
5949
"line": {
5950
"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?line\\b",
5951
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
5952
"beginCaptures": {
5953
"0": {
5954
"name": "keyword.control.directive.line.cpp"
5955
},
5956
"1": {
5957
"patterns": [
5958
{
5959
"include": "#inline_comment"
5960
}
5961
]
5962
},
5963
"2": {
5964
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5965
},
5966
"3": {
5967
"name": "comment.block.cpp"
5968
},
5969
"4": {
5970
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5971
},
5972
"5": {
5973
"name": "punctuation.definition.directive.cpp"
5974
}
5975
},
5976
"endCaptures": {},
5977
"name": "meta.preprocessor.line.cpp",
5978
"patterns": [
5979
{
5980
"include": "#string_context"
5981
},
5982
{
5983
"include": "#preprocessor_number_literal"
5984
},
5985
{
5986
"include": "#line_continuation_character"
5987
}
5988
]
5989
},
5990
"line_comment": {
5991
"begin": "\\s*+(\\/\\/)",
5992
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
5993
"beginCaptures": {
5994
"1": {
5995
"name": "punctuation.definition.comment.cpp"
5996
}
5997
},
5998
"endCaptures": {},
5999
"name": "comment.line.double-slash.cpp",
6000
"patterns": [
6001
{
6002
"include": "#line_continuation_character"
6003
}
6004
]
6005
},
6006
"line_continuation_character": {
6007
"match": "\\\\\\n",
6008
"name": "constant.character.escape.line-continuation.cpp"
6009
},
6010
"macro": {
6011
"begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?define\\b)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
6012
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
6013
"beginCaptures": {
6014
"1": {
6015
"name": "keyword.control.directive.define.cpp"
6016
},
6017
"2": {
6018
"patterns": [
6019
{
6020
"include": "#inline_comment"
6021
}
6022
]
6023
},
6024
"3": {
6025
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6026
},
6027
"4": {
6028
"name": "comment.block.cpp"
6029
},
6030
"5": {
6031
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6032
},
6033
"6": {
6034
"name": "punctuation.definition.directive.cpp"
6035
},
6036
"7": {
6037
"name": "entity.name.function.preprocessor.cpp"
6038
}
6039
},
6040
"endCaptures": {},
6041
"name": "meta.preprocessor.macro.cpp",
6042
"patterns": [
6043
{
6044
"match": "\\G(?:\\s+)?(\\()([^\\(]*)(\\))",
6045
"captures": {
6046
"1": {
6047
"name": "punctuation.definition.parameters.begin.preprocessor.cpp"
6048
},
6049
"2": {
6050
"name": "meta.function.preprocessor.parameters.cpp",
6051
"patterns": [
6052
{
6053
"match": "(?<=[(,])(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?",
6054
"captures": {
6055
"1": {
6056
"name": "variable.parameter.preprocessor.cpp"
6057
}
6058
}
6059
},
6060
{
6061
"match": ",",
6062
"name": "punctuation.separator.parameters.cpp"
6063
},
6064
{
6065
"match": "\\.\\.\\.",
6066
"name": "punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"
6067
}
6068
]
6069
},
6070
"3": {
6071
"name": "punctuation.definition.parameters.end.preprocessor.cpp"
6072
}
6073
}
6074
},
6075
{
6076
"include": "#macro_context"
6077
},
6078
{
6079
"include": "#macro_argument"
6080
}
6081
]
6082
},
6083
"macro_argument": {
6084
"match": "##?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
6085
"name": "variable.other.macro.argument.cpp"
6086
},
6087
"macro_context": {
6088
"patterns": [
6089
{
6090
"include": "source.cpp.embedded.macro"
6091
}
6092
]
6093
},
6094
"macro_name": {
6095
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
6096
"name": "entity.name.function.preprocessor.cpp"
6097
},
6098
"member_access": {
6099
"match": "(?:((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())",
6100
"captures": {
6101
"1": {
6102
"patterns": [
6103
{
6104
"include": "#inline_comment"
6105
}
6106
]
6107
},
6108
"2": {
6109
"patterns": [
6110
{
6111
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
6112
"captures": {
6113
"1": {
6114
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6115
},
6116
"2": {
6117
"name": "comment.block.cpp"
6118
},
6119
"3": {
6120
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6121
}
6122
}
6123
}
6124
]
6125
},
6126
"3": {
6127
"name": "variable.language.this.cpp"
6128
},
6129
"4": {
6130
"name": "variable.other.object.access.cpp"
6131
},
6132
"5": {
6133
"name": "punctuation.separator.dot-access.cpp"
6134
},
6135
"6": {
6136
"name": "punctuation.separator.pointer-access.cpp"
6137
},
6138
"7": {
6139
"patterns": [
6140
{
6141
"match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6142
"captures": {
6143
"1": {
6144
"patterns": [
6145
{
6146
"include": "#inline_comment"
6147
}
6148
]
6149
},
6150
"2": {
6151
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6152
},
6153
"3": {
6154
"name": "comment.block.cpp"
6155
},
6156
"4": {
6157
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6158
},
6159
"5": {
6160
"name": "variable.language.this.cpp"
6161
},
6162
"6": {
6163
"name": "variable.other.object.property.cpp"
6164
},
6165
"7": {
6166
"name": "punctuation.separator.dot-access.cpp"
6167
},
6168
"8": {
6169
"name": "punctuation.separator.pointer-access.cpp"
6170
}
6171
}
6172
},
6173
{
6174
"match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6175
"captures": {
6176
"1": {
6177
"patterns": [
6178
{
6179
"include": "#inline_comment"
6180
}
6181
]
6182
},
6183
"2": {
6184
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6185
},
6186
"3": {
6187
"name": "comment.block.cpp"
6188
},
6189
"4": {
6190
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6191
},
6192
"5": {
6193
"name": "variable.language.this.cpp"
6194
},
6195
"6": {
6196
"name": "variable.other.object.access.cpp"
6197
},
6198
"7": {
6199
"name": "punctuation.separator.dot-access.cpp"
6200
},
6201
"8": {
6202
"name": "punctuation.separator.pointer-access.cpp"
6203
}
6204
}
6205
},
6206
{
6207
"include": "#member_access"
6208
},
6209
{
6210
"include": "#method_access"
6211
}
6212
]
6213
},
6214
"8": {
6215
"name": "variable.other.property.cpp"
6216
}
6217
}
6218
},
6219
"memory_operators": {
6220
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(delete)(?:\\s+)?(\\[\\])|(delete))|(new))(?!\\w))",
6221
"captures": {
6222
"1": {
6223
"patterns": [
6224
{
6225
"include": "#inline_comment"
6226
}
6227
]
6228
},
6229
"2": {
6230
"patterns": [
6231
{
6232
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
6233
"captures": {
6234
"1": {
6235
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6236
},
6237
"2": {
6238
"name": "comment.block.cpp"
6239
},
6240
"3": {
6241
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6242
}
6243
}
6244
}
6245
]
6246
},
6247
"3": {
6248
"name": "keyword.operator.wordlike.cpp"
6249
},
6250
"4": {
6251
"name": "keyword.operator.delete.array.cpp"
6252
},
6253
"5": {
6254
"name": "keyword.operator.delete.array.bracket.cpp"
6255
},
6256
"6": {
6257
"name": "keyword.operator.delete.cpp"
6258
},
6259
"7": {
6260
"name": "keyword.operator.new.cpp"
6261
}
6262
}
6263
},
6264
"method_access": {
6265
"begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()",
6266
"end": "\\)",
6267
"beginCaptures": {
6268
"1": {
6269
"patterns": [
6270
{
6271
"include": "#inline_comment"
6272
}
6273
]
6274
},
6275
"2": {
6276
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6277
},
6278
"3": {
6279
"name": "comment.block.cpp"
6280
},
6281
"4": {
6282
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6283
},
6284
"5": {
6285
"name": "variable.language.this.cpp"
6286
},
6287
"6": {
6288
"name": "variable.other.object.access.cpp"
6289
},
6290
"7": {
6291
"name": "punctuation.separator.dot-access.cpp"
6292
},
6293
"8": {
6294
"name": "punctuation.separator.pointer-access.cpp"
6295
},
6296
"9": {
6297
"patterns": [
6298
{
6299
"match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6300
"captures": {
6301
"1": {
6302
"patterns": [
6303
{
6304
"include": "#inline_comment"
6305
}
6306
]
6307
},
6308
"2": {
6309
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6310
},
6311
"3": {
6312
"name": "comment.block.cpp"
6313
},
6314
"4": {
6315
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6316
},
6317
"5": {
6318
"name": "variable.language.this.cpp"
6319
},
6320
"6": {
6321
"name": "variable.other.object.property.cpp"
6322
},
6323
"7": {
6324
"name": "punctuation.separator.dot-access.cpp"
6325
},
6326
"8": {
6327
"name": "punctuation.separator.pointer-access.cpp"
6328
}
6329
}
6330
},
6331
{
6332
"match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6333
"captures": {
6334
"1": {
6335
"patterns": [
6336
{
6337
"include": "#inline_comment"
6338
}
6339
]
6340
},
6341
"2": {
6342
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6343
},
6344
"3": {
6345
"name": "comment.block.cpp"
6346
},
6347
"4": {
6348
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6349
},
6350
"5": {
6351
"name": "variable.language.this.cpp"
6352
},
6353
"6": {
6354
"name": "variable.other.object.access.cpp"
6355
},
6356
"7": {
6357
"name": "punctuation.separator.dot-access.cpp"
6358
},
6359
"8": {
6360
"name": "punctuation.separator.pointer-access.cpp"
6361
}
6362
}
6363
},
6364
{
6365
"include": "#member_access"
6366
},
6367
{
6368
"include": "#method_access"
6369
}
6370
]
6371
},
6372
"10": {
6373
"name": "entity.name.function.member.cpp"
6374
},
6375
"11": {
6376
"name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp"
6377
}
6378
},
6379
"endCaptures": {
6380
"0": {
6381
"name": "punctuation.section.arguments.end.bracket.round.function.member.cpp"
6382
}
6383
},
6384
"patterns": [
6385
{
6386
"include": "#evaluation_context"
6387
}
6388
]
6389
},
6390
"misc_keywords": {
6391
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:constinit)|(?:requires)|(?:typedef)|(?:concept)|(?:export)|(?:module))(?!\\w))",
6392
"captures": {
6393
"1": {
6394
"patterns": [
6395
{
6396
"include": "#inline_comment"
6397
}
6398
]
6399
},
6400
"2": {
6401
"patterns": [
6402
{
6403
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
6404
"captures": {
6405
"1": {
6406
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6407
},
6408
"2": {
6409
"name": "comment.block.cpp"
6410
},
6411
"3": {
6412
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6413
}
6414
}
6415
}
6416
]
6417
},
6418
"3": {
6419
"name": "keyword.other.$3.cpp"
6420
}
6421
}
6422
},
6423
"ms_attributes": {
6424
"begin": "__declspec\\(",
6425
"end": "\\)",
6426
"beginCaptures": {
6427
"0": {
6428
"name": "punctuation.section.attribute.begin.cpp"
6429
}
6430
},
6431
"endCaptures": {
6432
"0": {
6433
"name": "punctuation.section.attribute.end.cpp"
6434
}
6435
},
6436
"name": "support.other.attribute.cpp",
6437
"patterns": [
6438
{
6439
"include": "#attributes_context"
6440
},
6441
{
6442
"begin": "\\(",
6443
"end": "\\)",
6444
"beginCaptures": {},
6445
"endCaptures": {},
6446
"patterns": [
6447
{
6448
"include": "#attributes_context"
6449
},
6450
{
6451
"include": "#string_context"
6452
},
6453
{
6454
"include": "#ever_present_context"
6455
}
6456
]
6457
},
6458
{
6459
"match": "(using)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
6460
"captures": {
6461
"1": {
6462
"name": "keyword.other.using.directive.cpp"
6463
},
6464
"2": {
6465
"name": "entity.name.namespace.cpp"
6466
}
6467
}
6468
},
6469
{
6470
"match": ",",
6471
"name": "punctuation.separator.attribute.cpp"
6472
},
6473
{
6474
"match": ":",
6475
"name": "punctuation.accessor.attribute.cpp"
6476
},
6477
{
6478
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
6479
"name": "entity.name.namespace.cpp"
6480
},
6481
{
6482
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
6483
"name": "entity.other.attribute.$0.cpp"
6484
},
6485
{
6486
"include": "#number_literal"
6487
},
6488
{
6489
"include": "#ever_present_context"
6490
}
6491
]
6492
},
6493
"namespace_alias": {
6494
"match": "(?<!\\w)(namespace)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?(\\=)(?:\\s+)?(((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<8>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?(?:(;)|\\n))",
6495
"captures": {
6496
"1": {
6497
"name": "keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"
6498
},
6499
"2": {
6500
"name": "entity.name.namespace.alias.cpp"
6501
},
6502
"3": {
6503
"name": "keyword.operator.assignment.cpp"
6504
},
6505
"4": {
6506
"name": "meta.declaration.namespace.alias.value.cpp"
6507
},
6508
"5": {
6509
"patterns": [
6510
{
6511
"include": "#scope_resolution_namespace_alias_inner_generated"
6512
}
6513
]
6514
},
6515
"6": {
6516
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
6517
},
6518
"7": {
6519
"patterns": [
6520
{
6521
"include": "#template_call_range"
6522
}
6523
]
6524
},
6525
"9": {
6526
"name": "entity.name.namespace.cpp"
6527
},
6528
"10": {
6529
"name": "punctuation.terminator.statement.cpp"
6530
}
6531
},
6532
"name": "meta.declaration.namespace.alias.cpp"
6533
},
6534
"namespace_block": {
6535
"begin": "((?<!\\w)namespace(?!\\w))",
6536
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
6537
"beginCaptures": {
6538
"0": {
6539
"name": "meta.head.namespace.cpp"
6540
},
6541
"1": {
6542
"name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"
6543
}
6544
},
6545
"endCaptures": {},
6546
"name": "meta.block.namespace.cpp",
6547
"patterns": [
6548
{
6549
"begin": "\\G ?",
6550
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
6551
"beginCaptures": {},
6552
"endCaptures": {
6553
"0": {
6554
"name": "punctuation.section.block.begin.bracket.curly.namespace.cpp"
6555
}
6556
},
6557
"name": "meta.head.namespace.cpp",
6558
"patterns": [
6559
{
6560
"include": "#ever_present_context"
6561
},
6562
{
6563
"include": "#attributes_context"
6564
},
6565
{
6566
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<4>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?(?:(::)(?:\\s+)?(inline))?",
6567
"captures": {
6568
"1": {
6569
"patterns": [
6570
{
6571
"include": "#scope_resolution_namespace_block_inner_generated"
6572
}
6573
]
6574
},
6575
"2": {
6576
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
6577
},
6578
"3": {
6579
"patterns": [
6580
{
6581
"include": "#template_call_range"
6582
}
6583
]
6584
},
6585
"4": {},
6586
"5": {
6587
"name": "entity.name.namespace.cpp"
6588
},
6589
"6": {
6590
"name": "punctuation.separator.scope-resolution.namespace.block.cpp"
6591
},
6592
"7": {
6593
"name": "storage.modifier.inline.cpp"
6594
}
6595
}
6596
}
6597
]
6598
},
6599
{
6600
"begin": "(?<=\\{|<%|\\?\\?<)",
6601
"end": "\\}|%>|\\?\\?>",
6602
"beginCaptures": {},
6603
"endCaptures": {
6604
"0": {
6605
"name": "punctuation.section.block.end.bracket.curly.namespace.cpp"
6606
}
6607
},
6608
"name": "meta.body.namespace.cpp",
6609
"patterns": [
6610
{
6611
"include": "$self"
6612
}
6613
]
6614
},
6615
{
6616
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
6617
"end": "[\\s]*(?=;)",
6618
"beginCaptures": {},
6619
"endCaptures": {},
6620
"name": "meta.tail.namespace.cpp",
6621
"patterns": [
6622
{
6623
"include": "$self"
6624
}
6625
]
6626
}
6627
]
6628
},
6629
"noexcept_operator": {
6630
"begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
6631
"end": "\\)",
6632
"beginCaptures": {
6633
"1": {
6634
"name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
6635
},
6636
"2": {
6637
"patterns": [
6638
{
6639
"include": "#inline_comment"
6640
}
6641
]
6642
},
6643
"3": {
6644
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6645
},
6646
"4": {
6647
"name": "comment.block.cpp"
6648
},
6649
"5": {
6650
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6651
},
6652
"6": {
6653
"name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
6654
}
6655
},
6656
"endCaptures": {
6657
"0": {
6658
"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
6659
}
6660
},
6661
"contentName": "meta.arguments.operator.noexcept",
6662
"patterns": [
6663
{
6664
"include": "#evaluation_context"
6665
}
6666
]
6667
},
6668
"number_literal": {
6669
"match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
6670
"captures": {
6671
"0": {
6672
"patterns": [
6673
{
6674
"begin": "(?=.)",
6675
"end": "$",
6676
"beginCaptures": {},
6677
"endCaptures": {},
6678
"patterns": [
6679
{
6680
"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)",
6681
"captures": {
6682
"1": {
6683
"name": "keyword.other.unit.hexadecimal.cpp"
6684
},
6685
"2": {
6686
"name": "constant.numeric.hexadecimal.cpp",
6687
"patterns": [
6688
{
6689
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6690
"name": "punctuation.separator.constant.numeric.cpp"
6691
}
6692
]
6693
},
6694
"3": {
6695
"name": "punctuation.separator.constant.numeric.cpp"
6696
},
6697
"4": {
6698
"name": "constant.numeric.hexadecimal.cpp"
6699
},
6700
"5": {
6701
"name": "constant.numeric.hexadecimal.cpp",
6702
"patterns": [
6703
{
6704
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6705
"name": "punctuation.separator.constant.numeric.cpp"
6706
}
6707
]
6708
},
6709
"6": {
6710
"name": "punctuation.separator.constant.numeric.cpp"
6711
},
6712
"7": {
6713
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
6714
},
6715
"8": {
6716
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
6717
},
6718
"9": {
6719
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
6720
},
6721
"10": {
6722
"name": "constant.numeric.exponent.hexadecimal.cpp",
6723
"patterns": [
6724
{
6725
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6726
"name": "punctuation.separator.constant.numeric.cpp"
6727
}
6728
]
6729
},
6730
"11": {
6731
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
6732
},
6733
"12": {
6734
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
6735
}
6736
}
6737
},
6738
{
6739
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)",
6740
"captures": {
6741
"1": {
6742
"name": "constant.numeric.decimal.cpp",
6743
"patterns": [
6744
{
6745
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6746
"name": "punctuation.separator.constant.numeric.cpp"
6747
}
6748
]
6749
},
6750
"2": {
6751
"name": "punctuation.separator.constant.numeric.cpp"
6752
},
6753
"3": {
6754
"name": "constant.numeric.decimal.point.cpp"
6755
},
6756
"4": {
6757
"name": "constant.numeric.decimal.cpp",
6758
"patterns": [
6759
{
6760
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6761
"name": "punctuation.separator.constant.numeric.cpp"
6762
}
6763
]
6764
},
6765
"5": {
6766
"name": "punctuation.separator.constant.numeric.cpp"
6767
},
6768
"6": {
6769
"name": "keyword.other.unit.exponent.decimal.cpp"
6770
},
6771
"7": {
6772
"name": "keyword.operator.plus.exponent.decimal.cpp"
6773
},
6774
"8": {
6775
"name": "keyword.operator.minus.exponent.decimal.cpp"
6776
},
6777
"9": {
6778
"name": "constant.numeric.exponent.decimal.cpp",
6779
"patterns": [
6780
{
6781
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6782
"name": "punctuation.separator.constant.numeric.cpp"
6783
}
6784
]
6785
},
6786
"10": {
6787
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
6788
},
6789
"11": {
6790
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
6791
}
6792
}
6793
},
6794
{
6795
"match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)",
6796
"captures": {
6797
"1": {
6798
"name": "keyword.other.unit.binary.cpp"
6799
},
6800
"2": {
6801
"name": "constant.numeric.binary.cpp",
6802
"patterns": [
6803
{
6804
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6805
"name": "punctuation.separator.constant.numeric.cpp"
6806
}
6807
]
6808
},
6809
"3": {
6810
"name": "punctuation.separator.constant.numeric.cpp"
6811
},
6812
"4": {
6813
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
6814
},
6815
"5": {
6816
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
6817
}
6818
}
6819
},
6820
{
6821
"match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)",
6822
"captures": {
6823
"1": {
6824
"name": "keyword.other.unit.octal.cpp"
6825
},
6826
"2": {
6827
"name": "constant.numeric.octal.cpp",
6828
"patterns": [
6829
{
6830
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6831
"name": "punctuation.separator.constant.numeric.cpp"
6832
}
6833
]
6834
},
6835
"3": {
6836
"name": "punctuation.separator.constant.numeric.cpp"
6837
},
6838
"4": {
6839
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
6840
},
6841
"5": {
6842
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
6843
}
6844
}
6845
},
6846
{
6847
"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)",
6848
"captures": {
6849
"1": {
6850
"name": "keyword.other.unit.hexadecimal.cpp"
6851
},
6852
"2": {
6853
"name": "constant.numeric.hexadecimal.cpp",
6854
"patterns": [
6855
{
6856
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6857
"name": "punctuation.separator.constant.numeric.cpp"
6858
}
6859
]
6860
},
6861
"3": {
6862
"name": "punctuation.separator.constant.numeric.cpp"
6863
},
6864
"4": {
6865
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
6866
},
6867
"5": {
6868
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
6869
},
6870
"6": {
6871
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
6872
},
6873
"7": {
6874
"name": "constant.numeric.exponent.hexadecimal.cpp",
6875
"patterns": [
6876
{
6877
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6878
"name": "punctuation.separator.constant.numeric.cpp"
6879
}
6880
]
6881
},
6882
"8": {
6883
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
6884
},
6885
"9": {
6886
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
6887
}
6888
}
6889
},
6890
{
6891
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)",
6892
"captures": {
6893
"1": {
6894
"name": "constant.numeric.decimal.cpp",
6895
"patterns": [
6896
{
6897
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6898
"name": "punctuation.separator.constant.numeric.cpp"
6899
}
6900
]
6901
},
6902
"2": {
6903
"name": "punctuation.separator.constant.numeric.cpp"
6904
},
6905
"3": {
6906
"name": "keyword.other.unit.exponent.decimal.cpp"
6907
},
6908
"4": {
6909
"name": "keyword.operator.plus.exponent.decimal.cpp"
6910
},
6911
"5": {
6912
"name": "keyword.operator.minus.exponent.decimal.cpp"
6913
},
6914
"6": {
6915
"name": "constant.numeric.exponent.decimal.cpp",
6916
"patterns": [
6917
{
6918
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6919
"name": "punctuation.separator.constant.numeric.cpp"
6920
}
6921
]
6922
},
6923
"7": {
6924
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
6925
},
6926
"8": {
6927
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
6928
}
6929
}
6930
},
6931
{
6932
"match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
6933
"name": "invalid.illegal.constant.numeric.cpp"
6934
}
6935
]
6936
}
6937
]
6938
}
6939
}
6940
},
6941
"operator_overload": {
6942
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:\\[\\])?)))|(\"\")((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\<|\\()",
6943
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
6944
"beginCaptures": {
6945
"0": {
6946
"name": "meta.head.function.definition.special.operator-overload.cpp"
6947
},
6948
"1": {
6949
"patterns": [
6950
{
6951
"include": "#inline_comment"
6952
}
6953
]
6954
},
6955
"2": {
6956
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6957
},
6958
"3": {
6959
"name": "comment.block.cpp"
6960
},
6961
"4": {
6962
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6963
},
6964
"5": {
6965
"name": "meta.qualified_type.cpp",
6966
"patterns": [
6967
{
6968
"match": "::",
6969
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
6970
},
6971
{
6972
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
6973
"name": "storage.type.$0.cpp"
6974
},
6975
{
6976
"include": "#attributes_context"
6977
},
6978
{
6979
"include": "#storage_types"
6980
},
6981
{
6982
"include": "#number_literal"
6983
},
6984
{
6985
"include": "#string_context"
6986
},
6987
{
6988
"include": "#comma"
6989
},
6990
{
6991
"include": "#scope_resolution_inner_generated"
6992
},
6993
{
6994
"begin": "<",
6995
"end": ">",
6996
"beginCaptures": {
6997
"0": {
6998
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
6999
}
7000
},
7001
"endCaptures": {
7002
"0": {
7003
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
7004
}
7005
},
7006
"name": "meta.template.call.cpp",
7007
"patterns": [
7008
{
7009
"include": "#template_call_context"
7010
}
7011
]
7012
},
7013
{
7014
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
7015
"name": "entity.name.type.cpp"
7016
}
7017
]
7018
},
7019
"6": {
7020
"patterns": [
7021
{
7022
"include": "#attributes_context"
7023
},
7024
{
7025
"include": "#number_literal"
7026
}
7027
]
7028
},
7029
"7": {
7030
"patterns": [
7031
{
7032
"include": "#inline_comment"
7033
}
7034
]
7035
},
7036
"8": {
7037
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7038
},
7039
"9": {
7040
"name": "comment.block.cpp"
7041
},
7042
"10": {
7043
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7044
},
7045
"11": {
7046
"patterns": [
7047
{
7048
"include": "#inline_comment"
7049
}
7050
]
7051
},
7052
"12": {
7053
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7054
},
7055
"13": {
7056
"name": "comment.block.cpp"
7057
},
7058
"14": {
7059
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7060
},
7061
"15": {
7062
"patterns": [
7063
{
7064
"match": "::",
7065
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
7066
},
7067
{
7068
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
7069
"name": "entity.name.scope-resolution.type.cpp"
7070
},
7071
{
7072
"include": "#template_call_range"
7073
}
7074
]
7075
},
7076
"16": {
7077
"patterns": [
7078
{
7079
"include": "#template_call_range"
7080
}
7081
]
7082
},
7083
"17": {},
7084
"18": {
7085
"patterns": [
7086
{
7087
"include": "#inline_comment"
7088
}
7089
]
7090
},
7091
"19": {
7092
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7093
},
7094
"20": {
7095
"name": "comment.block.cpp"
7096
},
7097
"21": {
7098
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7099
},
7100
"22": {},
7101
"23": {
7102
"patterns": [
7103
{
7104
"match": "\\*",
7105
"name": "storage.modifier.pointer.cpp"
7106
},
7107
{
7108
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
7109
"captures": {
7110
"1": {
7111
"patterns": [
7112
{
7113
"include": "#inline_comment"
7114
}
7115
]
7116
},
7117
"2": {
7118
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7119
},
7120
"3": {
7121
"name": "comment.block.cpp"
7122
},
7123
"4": {
7124
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7125
}
7126
},
7127
"name": "invalid.illegal.reference-type.cpp"
7128
},
7129
{
7130
"match": "\\&",
7131
"name": "storage.modifier.reference.cpp"
7132
}
7133
]
7134
},
7135
"24": {
7136
"patterns": [
7137
{
7138
"include": "#inline_comment"
7139
}
7140
]
7141
},
7142
"25": {
7143
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7144
},
7145
"26": {
7146
"name": "comment.block.cpp"
7147
},
7148
"27": {
7149
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7150
},
7151
"28": {
7152
"patterns": [
7153
{
7154
"include": "#inline_comment"
7155
}
7156
]
7157
},
7158
"29": {
7159
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7160
},
7161
"30": {
7162
"name": "comment.block.cpp"
7163
},
7164
"31": {
7165
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7166
},
7167
"32": {
7168
"patterns": [
7169
{
7170
"include": "#inline_comment"
7171
}
7172
]
7173
},
7174
"33": {
7175
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7176
},
7177
"34": {
7178
"name": "comment.block.cpp"
7179
},
7180
"35": {
7181
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7182
},
7183
"36": {
7184
"name": "storage.type.modifier.calling-convention.cpp"
7185
},
7186
"37": {
7187
"patterns": [
7188
{
7189
"include": "#inline_comment"
7190
}
7191
]
7192
},
7193
"38": {
7194
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7195
},
7196
"39": {
7197
"name": "comment.block.cpp"
7198
},
7199
"40": {
7200
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7201
},
7202
"41": {
7203
"patterns": [
7204
{
7205
"include": "#inline_comment"
7206
}
7207
]
7208
},
7209
"42": {
7210
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7211
},
7212
"43": {
7213
"name": "comment.block.cpp"
7214
},
7215
"44": {
7216
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7217
},
7218
"45": {
7219
"patterns": [
7220
{
7221
"match": "::",
7222
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"
7223
},
7224
{
7225
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
7226
"name": "entity.name.scope-resolution.operator.cpp"
7227
},
7228
{
7229
"include": "#template_call_range"
7230
}
7231
]
7232
},
7233
"46": {
7234
"patterns": [
7235
{
7236
"include": "#template_call_range"
7237
}
7238
]
7239
},
7240
"47": {},
7241
"48": {
7242
"name": "keyword.other.operator.overload.cpp"
7243
},
7244
"49": {
7245
"patterns": [
7246
{
7247
"include": "#inline_comment"
7248
}
7249
]
7250
},
7251
"50": {
7252
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7253
},
7254
"51": {
7255
"name": "comment.block.cpp"
7256
},
7257
"52": {
7258
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7259
},
7260
"53": {
7261
"patterns": [
7262
{
7263
"match": "::",
7264
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"
7265
},
7266
{
7267
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
7268
"name": "entity.name.scope-resolution.operator-overload.cpp"
7269
},
7270
{
7271
"include": "#template_call_range"
7272
}
7273
]
7274
},
7275
"54": {
7276
"patterns": [
7277
{
7278
"include": "#template_call_range"
7279
}
7280
]
7281
},
7282
"55": {},
7283
"56": {
7284
"name": "entity.name.operator.cpp"
7285
},
7286
"57": {
7287
"name": "entity.name.operator.type.cpp"
7288
},
7289
"58": {
7290
"patterns": [
7291
{
7292
"match": "\\*",
7293
"name": "entity.name.operator.type.pointer.cpp"
7294
},
7295
{
7296
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
7297
"captures": {
7298
"1": {
7299
"patterns": [
7300
{
7301
"include": "#inline_comment"
7302
}
7303
]
7304
},
7305
"2": {
7306
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7307
},
7308
"3": {
7309
"name": "comment.block.cpp"
7310
},
7311
"4": {
7312
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7313
}
7314
},
7315
"name": "invalid.illegal.reference-type.cpp"
7316
},
7317
{
7318
"match": "\\&",
7319
"name": "entity.name.operator.type.reference.cpp"
7320
}
7321
]
7322
},
7323
"59": {
7324
"patterns": [
7325
{
7326
"include": "#inline_comment"
7327
}
7328
]
7329
},
7330
"60": {
7331
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7332
},
7333
"61": {
7334
"name": "comment.block.cpp"
7335
},
7336
"62": {
7337
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7338
},
7339
"63": {
7340
"patterns": [
7341
{
7342
"include": "#inline_comment"
7343
}
7344
]
7345
},
7346
"64": {
7347
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7348
},
7349
"65": {
7350
"name": "comment.block.cpp"
7351
},
7352
"66": {
7353
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7354
},
7355
"67": {
7356
"patterns": [
7357
{
7358
"include": "#inline_comment"
7359
}
7360
]
7361
},
7362
"68": {
7363
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7364
},
7365
"69": {
7366
"name": "comment.block.cpp"
7367
},
7368
"70": {
7369
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7370
},
7371
"71": {
7372
"name": "entity.name.operator.type.array.cpp"
7373
},
7374
"72": {
7375
"name": "entity.name.operator.custom-literal.cpp"
7376
},
7377
"73": {
7378
"patterns": [
7379
{
7380
"include": "#inline_comment"
7381
}
7382
]
7383
},
7384
"74": {
7385
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7386
},
7387
"75": {
7388
"name": "comment.block.cpp"
7389
},
7390
"76": {
7391
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7392
},
7393
"77": {
7394
"name": "entity.name.operator.custom-literal.cpp"
7395
},
7396
"78": {
7397
"patterns": [
7398
{
7399
"include": "#inline_comment"
7400
}
7401
]
7402
},
7403
"79": {
7404
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7405
},
7406
"80": {
7407
"name": "comment.block.cpp"
7408
},
7409
"81": {
7410
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7411
}
7412
},
7413
"endCaptures": {},
7414
"name": "meta.function.definition.special.operator-overload.cpp",
7415
"patterns": [
7416
{
7417
"begin": "\\G ?",
7418
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
7419
"beginCaptures": {},
7420
"endCaptures": {
7421
"0": {
7422
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"
7423
}
7424
},
7425
"name": "meta.head.function.definition.special.operator-overload.cpp",
7426
"patterns": [
7427
{
7428
"include": "#ever_present_context"
7429
},
7430
{
7431
"include": "#template_call_range"
7432
},
7433
{
7434
"begin": "\\(",
7435
"end": "\\)",
7436
"beginCaptures": {
7437
"0": {
7438
"name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"
7439
}
7440
},
7441
"endCaptures": {
7442
"0": {
7443
"name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"
7444
}
7445
},
7446
"contentName": "meta.function.definition.parameters.special.operator-overload",
7447
"patterns": [
7448
{
7449
"include": "#function_parameter_context"
7450
},
7451
{
7452
"include": "#evaluation_context"
7453
}
7454
]
7455
},
7456
{
7457
"include": "#qualifiers_and_specifiers_post_parameters"
7458
},
7459
{
7460
"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
7461
"captures": {
7462
"1": {
7463
"name": "keyword.operator.assignment.cpp"
7464
},
7465
"2": {
7466
"patterns": [
7467
{
7468
"include": "#inline_comment"
7469
}
7470
]
7471
},
7472
"3": {
7473
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7474
},
7475
"4": {
7476
"name": "comment.block.cpp"
7477
},
7478
"5": {
7479
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7480
},
7481
"6": {
7482
"name": "keyword.other.default.function.cpp"
7483
},
7484
"7": {
7485
"name": "keyword.other.delete.function.cpp"
7486
}
7487
}
7488
},
7489
{
7490
"include": "$self"
7491
}
7492
]
7493
},
7494
{
7495
"begin": "(?<=\\{|<%|\\?\\?<)",
7496
"end": "\\}|%>|\\?\\?>",
7497
"beginCaptures": {},
7498
"endCaptures": {
7499
"0": {
7500
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"
7501
}
7502
},
7503
"name": "meta.body.function.definition.special.operator-overload.cpp",
7504
"patterns": [
7505
{
7506
"include": "#function_body_context"
7507
}
7508
]
7509
},
7510
{
7511
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
7512
"end": "[\\s]*(?=;)",
7513
"beginCaptures": {},
7514
"endCaptures": {},
7515
"name": "meta.tail.function.definition.special.operator-overload.cpp",
7516
"patterns": [
7517
{
7518
"include": "$self"
7519
}
7520
]
7521
}
7522
]
7523
},
7524
"operators": {
7525
"patterns": [
7526
{
7527
"begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7528
"end": "\\)",
7529
"beginCaptures": {
7530
"1": {
7531
"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
7532
},
7533
"2": {
7534
"patterns": [
7535
{
7536
"include": "#inline_comment"
7537
}
7538
]
7539
},
7540
"3": {
7541
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7542
},
7543
"4": {
7544
"name": "comment.block.cpp"
7545
},
7546
"5": {
7547
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7548
},
7549
"6": {
7550
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
7551
}
7552
},
7553
"endCaptures": {
7554
"0": {
7555
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
7556
}
7557
},
7558
"contentName": "meta.arguments.operator.sizeof",
7559
"patterns": [
7560
{
7561
"include": "#evaluation_context"
7562
}
7563
]
7564
},
7565
{
7566
"begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7567
"end": "\\)",
7568
"beginCaptures": {
7569
"1": {
7570
"name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
7571
},
7572
"2": {
7573
"patterns": [
7574
{
7575
"include": "#inline_comment"
7576
}
7577
]
7578
},
7579
"3": {
7580
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7581
},
7582
"4": {
7583
"name": "comment.block.cpp"
7584
},
7585
"5": {
7586
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7587
},
7588
"6": {
7589
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
7590
}
7591
},
7592
"endCaptures": {
7593
"0": {
7594
"name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
7595
}
7596
},
7597
"contentName": "meta.arguments.operator.alignof",
7598
"patterns": [
7599
{
7600
"include": "#evaluation_context"
7601
}
7602
]
7603
},
7604
{
7605
"begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7606
"end": "\\)",
7607
"beginCaptures": {
7608
"1": {
7609
"name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
7610
},
7611
"2": {
7612
"patterns": [
7613
{
7614
"include": "#inline_comment"
7615
}
7616
]
7617
},
7618
"3": {
7619
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7620
},
7621
"4": {
7622
"name": "comment.block.cpp"
7623
},
7624
"5": {
7625
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7626
},
7627
"6": {
7628
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
7629
}
7630
},
7631
"endCaptures": {
7632
"0": {
7633
"name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
7634
}
7635
},
7636
"contentName": "meta.arguments.operator.alignas",
7637
"patterns": [
7638
{
7639
"include": "#evaluation_context"
7640
}
7641
]
7642
},
7643
{
7644
"begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7645
"end": "\\)",
7646
"beginCaptures": {
7647
"1": {
7648
"name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
7649
},
7650
"2": {
7651
"patterns": [
7652
{
7653
"include": "#inline_comment"
7654
}
7655
]
7656
},
7657
"3": {
7658
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7659
},
7660
"4": {
7661
"name": "comment.block.cpp"
7662
},
7663
"5": {
7664
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7665
},
7666
"6": {
7667
"name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
7668
}
7669
},
7670
"endCaptures": {
7671
"0": {
7672
"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
7673
}
7674
},
7675
"contentName": "meta.arguments.operator.typeid",
7676
"patterns": [
7677
{
7678
"include": "#evaluation_context"
7679
}
7680
]
7681
},
7682
{
7683
"begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7684
"end": "\\)",
7685
"beginCaptures": {
7686
"1": {
7687
"name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
7688
},
7689
"2": {
7690
"patterns": [
7691
{
7692
"include": "#inline_comment"
7693
}
7694
]
7695
},
7696
"3": {
7697
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7698
},
7699
"4": {
7700
"name": "comment.block.cpp"
7701
},
7702
"5": {
7703
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7704
},
7705
"6": {
7706
"name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
7707
}
7708
},
7709
"endCaptures": {
7710
"0": {
7711
"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
7712
}
7713
},
7714
"contentName": "meta.arguments.operator.noexcept",
7715
"patterns": [
7716
{
7717
"include": "#evaluation_context"
7718
}
7719
]
7720
},
7721
{
7722
"begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7723
"end": "\\)",
7724
"beginCaptures": {
7725
"1": {
7726
"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
7727
},
7728
"2": {
7729
"patterns": [
7730
{
7731
"include": "#inline_comment"
7732
}
7733
]
7734
},
7735
"3": {
7736
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7737
},
7738
"4": {
7739
"name": "comment.block.cpp"
7740
},
7741
"5": {
7742
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7743
},
7744
"6": {
7745
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
7746
}
7747
},
7748
"endCaptures": {
7749
"0": {
7750
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
7751
}
7752
},
7753
"contentName": "meta.arguments.operator.sizeof.variadic",
7754
"patterns": [
7755
{
7756
"include": "#evaluation_context"
7757
}
7758
]
7759
},
7760
{
7761
"match": "--",
7762
"name": "keyword.operator.decrement.cpp"
7763
},
7764
{
7765
"match": "\\+\\+",
7766
"name": "keyword.operator.increment.cpp"
7767
},
7768
{
7769
"match": "%=|\\+=|-=|\\*=|(?<!\\()\\/=",
7770
"name": "keyword.operator.assignment.compound.cpp"
7771
},
7772
{
7773
"match": "&=|\\^=|<<=|>>=|\\|=",
7774
"name": "keyword.operator.assignment.compound.bitwise.cpp"
7775
},
7776
{
7777
"match": "<<|>>",
7778
"name": "keyword.operator.bitwise.shift.cpp"
7779
},
7780
{
7781
"match": "!=|<=|>=|==|<|>",
7782
"name": "keyword.operator.comparison.cpp"
7783
},
7784
{
7785
"match": "&&|!|\\|\\|",
7786
"name": "keyword.operator.logical.cpp"
7787
},
7788
{
7789
"match": "&|\\||\\^|~",
7790
"name": "keyword.operator.bitwise.cpp"
7791
},
7792
{
7793
"include": "#assignment_operator"
7794
},
7795
{
7796
"match": "%|\\*|\\/|-|\\+",
7797
"name": "keyword.operator.arithmetic.cpp"
7798
},
7799
{
7800
"include": "#ternary_operator"
7801
}
7802
]
7803
},
7804
"over_qualified_types": {
7805
"patterns": [
7806
{
7807
"match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
7808
"captures": {
7809
"1": {
7810
"name": "storage.type.struct.parameter.cpp"
7811
},
7812
"2": {
7813
"patterns": [
7814
{
7815
"include": "#inline_comment"
7816
}
7817
]
7818
},
7819
"3": {
7820
"patterns": [
7821
{
7822
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7823
"captures": {
7824
"1": {
7825
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7826
},
7827
"2": {
7828
"name": "comment.block.cpp"
7829
},
7830
"3": {
7831
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7832
}
7833
}
7834
}
7835
]
7836
},
7837
"4": {
7838
"name": "entity.name.type.struct.parameter.cpp"
7839
},
7840
"5": {
7841
"patterns": [
7842
{
7843
"include": "#inline_comment"
7844
}
7845
]
7846
},
7847
"6": {
7848
"patterns": [
7849
{
7850
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7851
"captures": {
7852
"1": {
7853
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7854
},
7855
"2": {
7856
"name": "comment.block.cpp"
7857
},
7858
"3": {
7859
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7860
}
7861
}
7862
}
7863
]
7864
},
7865
"7": {
7866
"patterns": [
7867
{
7868
"match": "\\*",
7869
"name": "storage.modifier.pointer.cpp"
7870
},
7871
{
7872
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
7873
"captures": {
7874
"1": {
7875
"patterns": [
7876
{
7877
"include": "#inline_comment"
7878
}
7879
]
7880
},
7881
"2": {
7882
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7883
},
7884
"3": {
7885
"name": "comment.block.cpp"
7886
},
7887
"4": {
7888
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7889
}
7890
},
7891
"name": "invalid.illegal.reference-type.cpp"
7892
},
7893
{
7894
"match": "\\&",
7895
"name": "storage.modifier.reference.cpp"
7896
}
7897
]
7898
},
7899
"8": {
7900
"patterns": [
7901
{
7902
"include": "#inline_comment"
7903
}
7904
]
7905
},
7906
"9": {
7907
"patterns": [
7908
{
7909
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7910
"captures": {
7911
"1": {
7912
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7913
},
7914
"2": {
7915
"name": "comment.block.cpp"
7916
},
7917
"3": {
7918
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7919
}
7920
}
7921
}
7922
]
7923
},
7924
"10": {
7925
"patterns": [
7926
{
7927
"include": "#inline_comment"
7928
}
7929
]
7930
},
7931
"11": {
7932
"patterns": [
7933
{
7934
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7935
"captures": {
7936
"1": {
7937
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7938
},
7939
"2": {
7940
"name": "comment.block.cpp"
7941
},
7942
"3": {
7943
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7944
}
7945
}
7946
}
7947
]
7948
},
7949
"12": {
7950
"patterns": [
7951
{
7952
"include": "#inline_comment"
7953
}
7954
]
7955
},
7956
"13": {
7957
"patterns": [
7958
{
7959
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7960
"captures": {
7961
"1": {
7962
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7963
},
7964
"2": {
7965
"name": "comment.block.cpp"
7966
},
7967
"3": {
7968
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7969
}
7970
}
7971
}
7972
]
7973
},
7974
"14": {
7975
"name": "variable.other.object.declare.cpp"
7976
},
7977
"15": {
7978
"patterns": [
7979
{
7980
"include": "#inline_comment"
7981
}
7982
]
7983
},
7984
"16": {
7985
"patterns": [
7986
{
7987
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7988
"captures": {
7989
"1": {
7990
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7991
},
7992
"2": {
7993
"name": "comment.block.cpp"
7994
},
7995
"3": {
7996
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7997
}
7998
}
7999
}
8000
]
8001
},
8002
"17": {
8003
"patterns": [
8004
{
8005
"include": "#inline_comment"
8006
}
8007
]
8008
},
8009
"18": {
8010
"patterns": [
8011
{
8012
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8013
"captures": {
8014
"1": {
8015
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8016
},
8017
"2": {
8018
"name": "comment.block.cpp"
8019
},
8020
"3": {
8021
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8022
}
8023
}
8024
}
8025
]
8026
},
8027
"19": {
8028
"patterns": [
8029
{
8030
"include": "#inline_comment"
8031
}
8032
]
8033
},
8034
"20": {
8035
"patterns": [
8036
{
8037
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8038
"captures": {
8039
"1": {
8040
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8041
},
8042
"2": {
8043
"name": "comment.block.cpp"
8044
},
8045
"3": {
8046
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8047
}
8048
}
8049
}
8050
]
8051
}
8052
}
8053
},
8054
{
8055
"match": "(\\benum)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
8056
"captures": {
8057
"1": {
8058
"name": "storage.type.enum.parameter.cpp"
8059
},
8060
"2": {
8061
"patterns": [
8062
{
8063
"include": "#inline_comment"
8064
}
8065
]
8066
},
8067
"3": {
8068
"patterns": [
8069
{
8070
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8071
"captures": {
8072
"1": {
8073
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8074
},
8075
"2": {
8076
"name": "comment.block.cpp"
8077
},
8078
"3": {
8079
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8080
}
8081
}
8082
}
8083
]
8084
},
8085
"4": {
8086
"name": "entity.name.type.enum.parameter.cpp"
8087
},
8088
"5": {
8089
"patterns": [
8090
{
8091
"include": "#inline_comment"
8092
}
8093
]
8094
},
8095
"6": {
8096
"patterns": [
8097
{
8098
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8099
"captures": {
8100
"1": {
8101
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8102
},
8103
"2": {
8104
"name": "comment.block.cpp"
8105
},
8106
"3": {
8107
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8108
}
8109
}
8110
}
8111
]
8112
},
8113
"7": {
8114
"patterns": [
8115
{
8116
"match": "\\*",
8117
"name": "storage.modifier.pointer.cpp"
8118
},
8119
{
8120
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
8121
"captures": {
8122
"1": {
8123
"patterns": [
8124
{
8125
"include": "#inline_comment"
8126
}
8127
]
8128
},
8129
"2": {
8130
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8131
},
8132
"3": {
8133
"name": "comment.block.cpp"
8134
},
8135
"4": {
8136
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8137
}
8138
},
8139
"name": "invalid.illegal.reference-type.cpp"
8140
},
8141
{
8142
"match": "\\&",
8143
"name": "storage.modifier.reference.cpp"
8144
}
8145
]
8146
},
8147
"8": {
8148
"patterns": [
8149
{
8150
"include": "#inline_comment"
8151
}
8152
]
8153
},
8154
"9": {
8155
"patterns": [
8156
{
8157
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8158
"captures": {
8159
"1": {
8160
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8161
},
8162
"2": {
8163
"name": "comment.block.cpp"
8164
},
8165
"3": {
8166
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8167
}
8168
}
8169
}
8170
]
8171
},
8172
"10": {
8173
"patterns": [
8174
{
8175
"include": "#inline_comment"
8176
}
8177
]
8178
},
8179
"11": {
8180
"patterns": [
8181
{
8182
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8183
"captures": {
8184
"1": {
8185
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8186
},
8187
"2": {
8188
"name": "comment.block.cpp"
8189
},
8190
"3": {
8191
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8192
}
8193
}
8194
}
8195
]
8196
},
8197
"12": {
8198
"patterns": [
8199
{
8200
"include": "#inline_comment"
8201
}
8202
]
8203
},
8204
"13": {
8205
"patterns": [
8206
{
8207
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8208
"captures": {
8209
"1": {
8210
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8211
},
8212
"2": {
8213
"name": "comment.block.cpp"
8214
},
8215
"3": {
8216
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8217
}
8218
}
8219
}
8220
]
8221
},
8222
"14": {
8223
"name": "variable.other.object.declare.cpp"
8224
},
8225
"15": {
8226
"patterns": [
8227
{
8228
"include": "#inline_comment"
8229
}
8230
]
8231
},
8232
"16": {
8233
"patterns": [
8234
{
8235
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8236
"captures": {
8237
"1": {
8238
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8239
},
8240
"2": {
8241
"name": "comment.block.cpp"
8242
},
8243
"3": {
8244
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8245
}
8246
}
8247
}
8248
]
8249
},
8250
"17": {
8251
"patterns": [
8252
{
8253
"include": "#inline_comment"
8254
}
8255
]
8256
},
8257
"18": {
8258
"patterns": [
8259
{
8260
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8261
"captures": {
8262
"1": {
8263
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8264
},
8265
"2": {
8266
"name": "comment.block.cpp"
8267
},
8268
"3": {
8269
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8270
}
8271
}
8272
}
8273
]
8274
},
8275
"19": {
8276
"patterns": [
8277
{
8278
"include": "#inline_comment"
8279
}
8280
]
8281
},
8282
"20": {
8283
"patterns": [
8284
{
8285
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8286
"captures": {
8287
"1": {
8288
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8289
},
8290
"2": {
8291
"name": "comment.block.cpp"
8292
},
8293
"3": {
8294
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8295
}
8296
}
8297
}
8298
]
8299
}
8300
}
8301
},
8302
{
8303
"match": "(\\bunion)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
8304
"captures": {
8305
"1": {
8306
"name": "storage.type.union.parameter.cpp"
8307
},
8308
"2": {
8309
"patterns": [
8310
{
8311
"include": "#inline_comment"
8312
}
8313
]
8314
},
8315
"3": {
8316
"patterns": [
8317
{
8318
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8319
"captures": {
8320
"1": {
8321
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8322
},
8323
"2": {
8324
"name": "comment.block.cpp"
8325
},
8326
"3": {
8327
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8328
}
8329
}
8330
}
8331
]
8332
},
8333
"4": {
8334
"name": "entity.name.type.union.parameter.cpp"
8335
},
8336
"5": {
8337
"patterns": [
8338
{
8339
"include": "#inline_comment"
8340
}
8341
]
8342
},
8343
"6": {
8344
"patterns": [
8345
{
8346
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8347
"captures": {
8348
"1": {
8349
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8350
},
8351
"2": {
8352
"name": "comment.block.cpp"
8353
},
8354
"3": {
8355
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8356
}
8357
}
8358
}
8359
]
8360
},
8361
"7": {
8362
"patterns": [
8363
{
8364
"match": "\\*",
8365
"name": "storage.modifier.pointer.cpp"
8366
},
8367
{
8368
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
8369
"captures": {
8370
"1": {
8371
"patterns": [
8372
{
8373
"include": "#inline_comment"
8374
}
8375
]
8376
},
8377
"2": {
8378
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8379
},
8380
"3": {
8381
"name": "comment.block.cpp"
8382
},
8383
"4": {
8384
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8385
}
8386
},
8387
"name": "invalid.illegal.reference-type.cpp"
8388
},
8389
{
8390
"match": "\\&",
8391
"name": "storage.modifier.reference.cpp"
8392
}
8393
]
8394
},
8395
"8": {
8396
"patterns": [
8397
{
8398
"include": "#inline_comment"
8399
}
8400
]
8401
},
8402
"9": {
8403
"patterns": [
8404
{
8405
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8406
"captures": {
8407
"1": {
8408
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8409
},
8410
"2": {
8411
"name": "comment.block.cpp"
8412
},
8413
"3": {
8414
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8415
}
8416
}
8417
}
8418
]
8419
},
8420
"10": {
8421
"patterns": [
8422
{
8423
"include": "#inline_comment"
8424
}
8425
]
8426
},
8427
"11": {
8428
"patterns": [
8429
{
8430
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8431
"captures": {
8432
"1": {
8433
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8434
},
8435
"2": {
8436
"name": "comment.block.cpp"
8437
},
8438
"3": {
8439
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8440
}
8441
}
8442
}
8443
]
8444
},
8445
"12": {
8446
"patterns": [
8447
{
8448
"include": "#inline_comment"
8449
}
8450
]
8451
},
8452
"13": {
8453
"patterns": [
8454
{
8455
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8456
"captures": {
8457
"1": {
8458
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8459
},
8460
"2": {
8461
"name": "comment.block.cpp"
8462
},
8463
"3": {
8464
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8465
}
8466
}
8467
}
8468
]
8469
},
8470
"14": {
8471
"name": "variable.other.object.declare.cpp"
8472
},
8473
"15": {
8474
"patterns": [
8475
{
8476
"include": "#inline_comment"
8477
}
8478
]
8479
},
8480
"16": {
8481
"patterns": [
8482
{
8483
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8484
"captures": {
8485
"1": {
8486
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8487
},
8488
"2": {
8489
"name": "comment.block.cpp"
8490
},
8491
"3": {
8492
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8493
}
8494
}
8495
}
8496
]
8497
},
8498
"17": {
8499
"patterns": [
8500
{
8501
"include": "#inline_comment"
8502
}
8503
]
8504
},
8505
"18": {
8506
"patterns": [
8507
{
8508
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8509
"captures": {
8510
"1": {
8511
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8512
},
8513
"2": {
8514
"name": "comment.block.cpp"
8515
},
8516
"3": {
8517
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8518
}
8519
}
8520
}
8521
]
8522
},
8523
"19": {
8524
"patterns": [
8525
{
8526
"include": "#inline_comment"
8527
}
8528
]
8529
},
8530
"20": {
8531
"patterns": [
8532
{
8533
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8534
"captures": {
8535
"1": {
8536
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8537
},
8538
"2": {
8539
"name": "comment.block.cpp"
8540
},
8541
"3": {
8542
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8543
}
8544
}
8545
}
8546
]
8547
}
8548
}
8549
},
8550
{
8551
"match": "(\\bclass)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
8552
"captures": {
8553
"1": {
8554
"name": "storage.type.class.parameter.cpp"
8555
},
8556
"2": {
8557
"patterns": [
8558
{
8559
"include": "#inline_comment"
8560
}
8561
]
8562
},
8563
"3": {
8564
"patterns": [
8565
{
8566
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8567
"captures": {
8568
"1": {
8569
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8570
},
8571
"2": {
8572
"name": "comment.block.cpp"
8573
},
8574
"3": {
8575
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8576
}
8577
}
8578
}
8579
]
8580
},
8581
"4": {
8582
"name": "entity.name.type.class.parameter.cpp"
8583
},
8584
"5": {
8585
"patterns": [
8586
{
8587
"include": "#inline_comment"
8588
}
8589
]
8590
},
8591
"6": {
8592
"patterns": [
8593
{
8594
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8595
"captures": {
8596
"1": {
8597
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8598
},
8599
"2": {
8600
"name": "comment.block.cpp"
8601
},
8602
"3": {
8603
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8604
}
8605
}
8606
}
8607
]
8608
},
8609
"7": {
8610
"patterns": [
8611
{
8612
"match": "\\*",
8613
"name": "storage.modifier.pointer.cpp"
8614
},
8615
{
8616
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
8617
"captures": {
8618
"1": {
8619
"patterns": [
8620
{
8621
"include": "#inline_comment"
8622
}
8623
]
8624
},
8625
"2": {
8626
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8627
},
8628
"3": {
8629
"name": "comment.block.cpp"
8630
},
8631
"4": {
8632
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8633
}
8634
},
8635
"name": "invalid.illegal.reference-type.cpp"
8636
},
8637
{
8638
"match": "\\&",
8639
"name": "storage.modifier.reference.cpp"
8640
}
8641
]
8642
},
8643
"8": {
8644
"patterns": [
8645
{
8646
"include": "#inline_comment"
8647
}
8648
]
8649
},
8650
"9": {
8651
"patterns": [
8652
{
8653
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8654
"captures": {
8655
"1": {
8656
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8657
},
8658
"2": {
8659
"name": "comment.block.cpp"
8660
},
8661
"3": {
8662
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8663
}
8664
}
8665
}
8666
]
8667
},
8668
"10": {
8669
"patterns": [
8670
{
8671
"include": "#inline_comment"
8672
}
8673
]
8674
},
8675
"11": {
8676
"patterns": [
8677
{
8678
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8679
"captures": {
8680
"1": {
8681
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8682
},
8683
"2": {
8684
"name": "comment.block.cpp"
8685
},
8686
"3": {
8687
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8688
}
8689
}
8690
}
8691
]
8692
},
8693
"12": {
8694
"patterns": [
8695
{
8696
"include": "#inline_comment"
8697
}
8698
]
8699
},
8700
"13": {
8701
"patterns": [
8702
{
8703
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8704
"captures": {
8705
"1": {
8706
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8707
},
8708
"2": {
8709
"name": "comment.block.cpp"
8710
},
8711
"3": {
8712
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8713
}
8714
}
8715
}
8716
]
8717
},
8718
"14": {
8719
"name": "variable.other.object.declare.cpp"
8720
},
8721
"15": {
8722
"patterns": [
8723
{
8724
"include": "#inline_comment"
8725
}
8726
]
8727
},
8728
"16": {
8729
"patterns": [
8730
{
8731
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8732
"captures": {
8733
"1": {
8734
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8735
},
8736
"2": {
8737
"name": "comment.block.cpp"
8738
},
8739
"3": {
8740
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8741
}
8742
}
8743
}
8744
]
8745
},
8746
"17": {
8747
"patterns": [
8748
{
8749
"include": "#inline_comment"
8750
}
8751
]
8752
},
8753
"18": {
8754
"patterns": [
8755
{
8756
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8757
"captures": {
8758
"1": {
8759
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8760
},
8761
"2": {
8762
"name": "comment.block.cpp"
8763
},
8764
"3": {
8765
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8766
}
8767
}
8768
}
8769
]
8770
},
8771
"19": {
8772
"patterns": [
8773
{
8774
"include": "#inline_comment"
8775
}
8776
]
8777
},
8778
"20": {
8779
"patterns": [
8780
{
8781
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8782
"captures": {
8783
"1": {
8784
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8785
},
8786
"2": {
8787
"name": "comment.block.cpp"
8788
},
8789
"3": {
8790
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8791
}
8792
}
8793
}
8794
]
8795
}
8796
}
8797
}
8798
]
8799
},
8800
"parameter": {
8801
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)",
8802
"end": "(?:(?=\\))|(,))",
8803
"beginCaptures": {
8804
"1": {
8805
"patterns": [
8806
{
8807
"include": "#inline_comment"
8808
}
8809
]
8810
},
8811
"2": {
8812
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8813
},
8814
"3": {
8815
"name": "comment.block.cpp"
8816
},
8817
"4": {
8818
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8819
}
8820
},
8821
"endCaptures": {
8822
"1": {
8823
"name": "punctuation.separator.delimiter.comma.cpp"
8824
}
8825
},
8826
"name": "meta.parameter.cpp",
8827
"patterns": [
8828
{
8829
"include": "#ever_present_context"
8830
},
8831
{
8832
"include": "#string_context"
8833
},
8834
{
8835
"include": "#function_pointer_parameter"
8836
},
8837
{
8838
"include": "#decltype"
8839
},
8840
{
8841
"include": "#vararg_ellipses"
8842
},
8843
{
8844
"match": "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\Wthread_local|^thread_local|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=,|\\)|=)",
8845
"captures": {
8846
"1": {
8847
"patterns": [
8848
{
8849
"include": "#storage_types"
8850
}
8851
]
8852
},
8853
"2": {
8854
"name": "storage.modifier.specifier.parameter.cpp"
8855
},
8856
"3": {
8857
"patterns": [
8858
{
8859
"include": "#inline_comment"
8860
}
8861
]
8862
},
8863
"4": {
8864
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8865
},
8866
"5": {
8867
"name": "comment.block.cpp"
8868
},
8869
"6": {
8870
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8871
},
8872
"7": {
8873
"patterns": [
8874
{
8875
"include": "#inline_comment"
8876
}
8877
]
8878
},
8879
"8": {
8880
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8881
},
8882
"9": {
8883
"name": "comment.block.cpp"
8884
},
8885
"10": {
8886
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8887
},
8888
"11": {
8889
"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
8890
},
8891
"12": {
8892
"name": "storage.type.cpp storage.type.built-in.cpp"
8893
},
8894
"13": {
8895
"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
8896
},
8897
"14": {
8898
"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
8899
},
8900
"15": {
8901
"name": "entity.name.type.parameter.cpp"
8902
},
8903
"16": {
8904
"patterns": [
8905
{
8906
"include": "#inline_comment"
8907
}
8908
]
8909
},
8910
"17": {
8911
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8912
},
8913
"18": {
8914
"name": "comment.block.cpp"
8915
},
8916
"19": {
8917
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8918
}
8919
}
8920
},
8921
{
8922
"include": "#storage_types"
8923
},
8924
{
8925
"include": "#scope_resolution_parameter_inner_generated"
8926
},
8927
{
8928
"match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
8929
"name": "storage.type.$0.cpp"
8930
},
8931
{
8932
"begin": "(?<==)",
8933
"end": "(?:(?=\\))|(,))",
8934
"beginCaptures": {},
8935
"endCaptures": {
8936
"1": {
8937
"name": "punctuation.separator.delimiter.comma.cpp"
8938
}
8939
},
8940
"patterns": [
8941
{
8942
"include": "#evaluation_context"
8943
}
8944
]
8945
},
8946
{
8947
"match": "\\=",
8948
"name": "keyword.operator.assignment.cpp"
8949
},
8950
{
8951
"match": "(?<!\\s|\\(|,|:)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\)|,|\\[|=|\\n)",
8952
"captures": {
8953
"1": {
8954
"patterns": [
8955
{
8956
"include": "#inline_comment"
8957
}
8958
]
8959
},
8960
"2": {
8961
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8962
},
8963
"3": {
8964
"name": "comment.block.cpp"
8965
},
8966
"4": {
8967
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8968
},
8969
"5": {
8970
"name": "variable.parameter.cpp"
8971
},
8972
"6": {
8973
"patterns": [
8974
{
8975
"include": "#inline_comment"
8976
}
8977
]
8978
},
8979
"7": {
8980
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8981
},
8982
"8": {
8983
"name": "comment.block.cpp"
8984
},
8985
"9": {
8986
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8987
}
8988
}
8989
},
8990
{
8991
"include": "#attributes_context"
8992
},
8993
{
8994
"begin": "\\[",
8995
"end": "\\]",
8996
"beginCaptures": {
8997
"0": {
8998
"name": "punctuation.definition.begin.bracket.square.array.type.cpp"
8999
}
9000
},
9001
"endCaptures": {
9002
"0": {
9003
"name": "punctuation.definition.end.bracket.square.array.type.cpp"
9004
}
9005
},
9006
"name": "meta.bracket.square.array.cpp",
9007
"patterns": [
9008
{
9009
"include": "#evaluation_context"
9010
}
9011
]
9012
},
9013
{
9014
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?<!\\Wstruct|^struct|\\Wclass|^class|\\Wunion|^union|\\Wenum|^enum)",
9015
"name": "entity.name.type.parameter.cpp"
9016
},
9017
{
9018
"include": "#template_call_range"
9019
},
9020
{
9021
"match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)",
9022
"captures": {
9023
"0": {
9024
"patterns": [
9025
{
9026
"match": "\\*",
9027
"name": "storage.modifier.pointer.cpp"
9028
},
9029
{
9030
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9031
"captures": {
9032
"1": {
9033
"patterns": [
9034
{
9035
"include": "#inline_comment"
9036
}
9037
]
9038
},
9039
"2": {
9040
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9041
},
9042
"3": {
9043
"name": "comment.block.cpp"
9044
},
9045
"4": {
9046
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9047
}
9048
},
9049
"name": "invalid.illegal.reference-type.cpp"
9050
},
9051
{
9052
"match": "\\&",
9053
"name": "storage.modifier.reference.cpp"
9054
}
9055
]
9056
},
9057
"1": {
9058
"patterns": [
9059
{
9060
"include": "#inline_comment"
9061
}
9062
]
9063
},
9064
"2": {
9065
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9066
},
9067
"3": {
9068
"name": "comment.block.cpp"
9069
},
9070
"4": {
9071
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9072
},
9073
"5": {
9074
"patterns": [
9075
{
9076
"include": "#inline_comment"
9077
}
9078
]
9079
},
9080
"6": {
9081
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9082
},
9083
"7": {
9084
"name": "comment.block.cpp"
9085
},
9086
"8": {
9087
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9088
}
9089
}
9090
},
9091
{
9092
"include": "#ever_present_context"
9093
}
9094
]
9095
},
9096
"parameter_class": {
9097
"match": "(\\bclass)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
9098
"captures": {
9099
"1": {
9100
"name": "storage.type.class.parameter.cpp"
9101
},
9102
"2": {
9103
"patterns": [
9104
{
9105
"include": "#inline_comment"
9106
}
9107
]
9108
},
9109
"3": {
9110
"patterns": [
9111
{
9112
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9113
"captures": {
9114
"1": {
9115
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9116
},
9117
"2": {
9118
"name": "comment.block.cpp"
9119
},
9120
"3": {
9121
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9122
}
9123
}
9124
}
9125
]
9126
},
9127
"4": {
9128
"name": "entity.name.type.class.parameter.cpp"
9129
},
9130
"5": {
9131
"patterns": [
9132
{
9133
"include": "#inline_comment"
9134
}
9135
]
9136
},
9137
"6": {
9138
"patterns": [
9139
{
9140
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9141
"captures": {
9142
"1": {
9143
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9144
},
9145
"2": {
9146
"name": "comment.block.cpp"
9147
},
9148
"3": {
9149
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9150
}
9151
}
9152
}
9153
]
9154
},
9155
"7": {
9156
"patterns": [
9157
{
9158
"match": "\\*",
9159
"name": "storage.modifier.pointer.cpp"
9160
},
9161
{
9162
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9163
"captures": {
9164
"1": {
9165
"patterns": [
9166
{
9167
"include": "#inline_comment"
9168
}
9169
]
9170
},
9171
"2": {
9172
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9173
},
9174
"3": {
9175
"name": "comment.block.cpp"
9176
},
9177
"4": {
9178
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9179
}
9180
},
9181
"name": "invalid.illegal.reference-type.cpp"
9182
},
9183
{
9184
"match": "\\&",
9185
"name": "storage.modifier.reference.cpp"
9186
}
9187
]
9188
},
9189
"8": {
9190
"patterns": [
9191
{
9192
"include": "#inline_comment"
9193
}
9194
]
9195
},
9196
"9": {
9197
"patterns": [
9198
{
9199
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9200
"captures": {
9201
"1": {
9202
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9203
},
9204
"2": {
9205
"name": "comment.block.cpp"
9206
},
9207
"3": {
9208
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9209
}
9210
}
9211
}
9212
]
9213
},
9214
"10": {
9215
"patterns": [
9216
{
9217
"include": "#inline_comment"
9218
}
9219
]
9220
},
9221
"11": {
9222
"patterns": [
9223
{
9224
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9225
"captures": {
9226
"1": {
9227
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9228
},
9229
"2": {
9230
"name": "comment.block.cpp"
9231
},
9232
"3": {
9233
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9234
}
9235
}
9236
}
9237
]
9238
},
9239
"12": {
9240
"patterns": [
9241
{
9242
"include": "#inline_comment"
9243
}
9244
]
9245
},
9246
"13": {
9247
"patterns": [
9248
{
9249
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9250
"captures": {
9251
"1": {
9252
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9253
},
9254
"2": {
9255
"name": "comment.block.cpp"
9256
},
9257
"3": {
9258
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9259
}
9260
}
9261
}
9262
]
9263
},
9264
"14": {
9265
"name": "variable.other.object.declare.cpp"
9266
},
9267
"15": {
9268
"patterns": [
9269
{
9270
"include": "#inline_comment"
9271
}
9272
]
9273
},
9274
"16": {
9275
"patterns": [
9276
{
9277
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9278
"captures": {
9279
"1": {
9280
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9281
},
9282
"2": {
9283
"name": "comment.block.cpp"
9284
},
9285
"3": {
9286
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9287
}
9288
}
9289
}
9290
]
9291
},
9292
"17": {
9293
"patterns": [
9294
{
9295
"include": "#inline_comment"
9296
}
9297
]
9298
},
9299
"18": {
9300
"patterns": [
9301
{
9302
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9303
"captures": {
9304
"1": {
9305
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9306
},
9307
"2": {
9308
"name": "comment.block.cpp"
9309
},
9310
"3": {
9311
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9312
}
9313
}
9314
}
9315
]
9316
},
9317
"19": {
9318
"patterns": [
9319
{
9320
"include": "#inline_comment"
9321
}
9322
]
9323
},
9324
"20": {
9325
"patterns": [
9326
{
9327
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9328
"captures": {
9329
"1": {
9330
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9331
},
9332
"2": {
9333
"name": "comment.block.cpp"
9334
},
9335
"3": {
9336
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9337
}
9338
}
9339
}
9340
]
9341
}
9342
}
9343
},
9344
"parameter_enum": {
9345
"match": "(\\benum)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
9346
"captures": {
9347
"1": {
9348
"name": "storage.type.enum.parameter.cpp"
9349
},
9350
"2": {
9351
"patterns": [
9352
{
9353
"include": "#inline_comment"
9354
}
9355
]
9356
},
9357
"3": {
9358
"patterns": [
9359
{
9360
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9361
"captures": {
9362
"1": {
9363
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9364
},
9365
"2": {
9366
"name": "comment.block.cpp"
9367
},
9368
"3": {
9369
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9370
}
9371
}
9372
}
9373
]
9374
},
9375
"4": {
9376
"name": "entity.name.type.enum.parameter.cpp"
9377
},
9378
"5": {
9379
"patterns": [
9380
{
9381
"include": "#inline_comment"
9382
}
9383
]
9384
},
9385
"6": {
9386
"patterns": [
9387
{
9388
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9389
"captures": {
9390
"1": {
9391
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9392
},
9393
"2": {
9394
"name": "comment.block.cpp"
9395
},
9396
"3": {
9397
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9398
}
9399
}
9400
}
9401
]
9402
},
9403
"7": {
9404
"patterns": [
9405
{
9406
"match": "\\*",
9407
"name": "storage.modifier.pointer.cpp"
9408
},
9409
{
9410
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9411
"captures": {
9412
"1": {
9413
"patterns": [
9414
{
9415
"include": "#inline_comment"
9416
}
9417
]
9418
},
9419
"2": {
9420
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9421
},
9422
"3": {
9423
"name": "comment.block.cpp"
9424
},
9425
"4": {
9426
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9427
}
9428
},
9429
"name": "invalid.illegal.reference-type.cpp"
9430
},
9431
{
9432
"match": "\\&",
9433
"name": "storage.modifier.reference.cpp"
9434
}
9435
]
9436
},
9437
"8": {
9438
"patterns": [
9439
{
9440
"include": "#inline_comment"
9441
}
9442
]
9443
},
9444
"9": {
9445
"patterns": [
9446
{
9447
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9448
"captures": {
9449
"1": {
9450
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9451
},
9452
"2": {
9453
"name": "comment.block.cpp"
9454
},
9455
"3": {
9456
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9457
}
9458
}
9459
}
9460
]
9461
},
9462
"10": {
9463
"patterns": [
9464
{
9465
"include": "#inline_comment"
9466
}
9467
]
9468
},
9469
"11": {
9470
"patterns": [
9471
{
9472
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9473
"captures": {
9474
"1": {
9475
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9476
},
9477
"2": {
9478
"name": "comment.block.cpp"
9479
},
9480
"3": {
9481
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9482
}
9483
}
9484
}
9485
]
9486
},
9487
"12": {
9488
"patterns": [
9489
{
9490
"include": "#inline_comment"
9491
}
9492
]
9493
},
9494
"13": {
9495
"patterns": [
9496
{
9497
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9498
"captures": {
9499
"1": {
9500
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9501
},
9502
"2": {
9503
"name": "comment.block.cpp"
9504
},
9505
"3": {
9506
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9507
}
9508
}
9509
}
9510
]
9511
},
9512
"14": {
9513
"name": "variable.other.object.declare.cpp"
9514
},
9515
"15": {
9516
"patterns": [
9517
{
9518
"include": "#inline_comment"
9519
}
9520
]
9521
},
9522
"16": {
9523
"patterns": [
9524
{
9525
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9526
"captures": {
9527
"1": {
9528
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9529
},
9530
"2": {
9531
"name": "comment.block.cpp"
9532
},
9533
"3": {
9534
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9535
}
9536
}
9537
}
9538
]
9539
},
9540
"17": {
9541
"patterns": [
9542
{
9543
"include": "#inline_comment"
9544
}
9545
]
9546
},
9547
"18": {
9548
"patterns": [
9549
{
9550
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9551
"captures": {
9552
"1": {
9553
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9554
},
9555
"2": {
9556
"name": "comment.block.cpp"
9557
},
9558
"3": {
9559
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9560
}
9561
}
9562
}
9563
]
9564
},
9565
"19": {
9566
"patterns": [
9567
{
9568
"include": "#inline_comment"
9569
}
9570
]
9571
},
9572
"20": {
9573
"patterns": [
9574
{
9575
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9576
"captures": {
9577
"1": {
9578
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9579
},
9580
"2": {
9581
"name": "comment.block.cpp"
9582
},
9583
"3": {
9584
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9585
}
9586
}
9587
}
9588
]
9589
}
9590
}
9591
},
9592
"parameter_or_maybe_value": {
9593
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)",
9594
"end": "(?:(?=\\))|(,))",
9595
"beginCaptures": {
9596
"1": {
9597
"patterns": [
9598
{
9599
"include": "#inline_comment"
9600
}
9601
]
9602
},
9603
"2": {
9604
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9605
},
9606
"3": {
9607
"name": "comment.block.cpp"
9608
},
9609
"4": {
9610
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9611
}
9612
},
9613
"endCaptures": {
9614
"1": {
9615
"name": "punctuation.separator.delimiter.comma.cpp"
9616
}
9617
},
9618
"name": "meta.parameter.cpp",
9619
"patterns": [
9620
{
9621
"include": "#ever_present_context"
9622
},
9623
{
9624
"include": "#function_pointer_parameter"
9625
},
9626
{
9627
"include": "#memory_operators"
9628
},
9629
{
9630
"include": "#builtin_storage_type_initilizer"
9631
},
9632
{
9633
"include": "#curly_initializer"
9634
},
9635
{
9636
"include": "#decltype"
9637
},
9638
{
9639
"include": "#vararg_ellipses"
9640
},
9641
{
9642
"match": "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\Wthread_local|^thread_local|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=,|\\)|=)",
9643
"captures": {
9644
"1": {
9645
"patterns": [
9646
{
9647
"include": "#storage_types"
9648
}
9649
]
9650
},
9651
"2": {
9652
"name": "storage.modifier.specifier.parameter.cpp"
9653
},
9654
"3": {
9655
"patterns": [
9656
{
9657
"include": "#inline_comment"
9658
}
9659
]
9660
},
9661
"4": {
9662
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9663
},
9664
"5": {
9665
"name": "comment.block.cpp"
9666
},
9667
"6": {
9668
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9669
},
9670
"7": {
9671
"patterns": [
9672
{
9673
"include": "#inline_comment"
9674
}
9675
]
9676
},
9677
"8": {
9678
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9679
},
9680
"9": {
9681
"name": "comment.block.cpp"
9682
},
9683
"10": {
9684
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9685
},
9686
"11": {
9687
"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
9688
},
9689
"12": {
9690
"name": "storage.type.cpp storage.type.built-in.cpp"
9691
},
9692
"13": {
9693
"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
9694
},
9695
"14": {
9696
"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
9697
},
9698
"15": {
9699
"name": "entity.name.type.parameter.cpp"
9700
},
9701
"16": {
9702
"patterns": [
9703
{
9704
"include": "#inline_comment"
9705
}
9706
]
9707
},
9708
"17": {
9709
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9710
},
9711
"18": {
9712
"name": "comment.block.cpp"
9713
},
9714
"19": {
9715
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9716
}
9717
}
9718
},
9719
{
9720
"include": "#storage_types"
9721
},
9722
{
9723
"include": "#function_call"
9724
},
9725
{
9726
"include": "#scope_resolution_parameter_inner_generated"
9727
},
9728
{
9729
"match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
9730
"name": "storage.type.$0.cpp"
9731
},
9732
{
9733
"begin": "(?<==)",
9734
"end": "(?:(?=\\))|(,))",
9735
"beginCaptures": {},
9736
"endCaptures": {
9737
"1": {
9738
"name": "punctuation.separator.delimiter.comma.cpp"
9739
}
9740
},
9741
"patterns": [
9742
{
9743
"include": "#evaluation_context"
9744
}
9745
]
9746
},
9747
{
9748
"match": "(?<!\\s|\\(|,|:)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=(?:\\)|,|\\[|=|\\/\\/|(?:\\n|$)))",
9749
"captures": {
9750
"1": {
9751
"patterns": [
9752
{
9753
"include": "#inline_comment"
9754
}
9755
]
9756
},
9757
"2": {
9758
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9759
},
9760
"3": {
9761
"name": "comment.block.cpp"
9762
},
9763
"4": {
9764
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9765
},
9766
"5": {
9767
"name": "variable.parameter.cpp"
9768
},
9769
"6": {
9770
"patterns": [
9771
{
9772
"include": "#inline_comment"
9773
}
9774
]
9775
},
9776
"7": {
9777
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9778
},
9779
"8": {
9780
"name": "comment.block.cpp"
9781
},
9782
"9": {
9783
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9784
}
9785
}
9786
},
9787
{
9788
"include": "#attributes_context"
9789
},
9790
{
9791
"begin": "\\[",
9792
"end": "\\]",
9793
"beginCaptures": {
9794
"0": {
9795
"name": "punctuation.definition.begin.bracket.square.array.type.cpp"
9796
}
9797
},
9798
"endCaptures": {
9799
"0": {
9800
"name": "punctuation.definition.end.bracket.square.array.type.cpp"
9801
}
9802
},
9803
"name": "meta.bracket.square.array.cpp",
9804
"patterns": [
9805
{
9806
"include": "#evaluation_context"
9807
}
9808
]
9809
},
9810
{
9811
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?<!\\Wstruct|^struct|\\Wclass|^class|\\Wunion|^union|\\Wenum|^enum)",
9812
"name": "entity.name.type.parameter.cpp"
9813
},
9814
{
9815
"include": "#template_call_range"
9816
},
9817
{
9818
"match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)",
9819
"captures": {
9820
"0": {
9821
"patterns": [
9822
{
9823
"match": "\\*",
9824
"name": "storage.modifier.pointer.cpp"
9825
},
9826
{
9827
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9828
"captures": {
9829
"1": {
9830
"patterns": [
9831
{
9832
"include": "#inline_comment"
9833
}
9834
]
9835
},
9836
"2": {
9837
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9838
},
9839
"3": {
9840
"name": "comment.block.cpp"
9841
},
9842
"4": {
9843
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9844
}
9845
},
9846
"name": "invalid.illegal.reference-type.cpp"
9847
},
9848
{
9849
"match": "\\&",
9850
"name": "storage.modifier.reference.cpp"
9851
}
9852
]
9853
},
9854
"1": {
9855
"patterns": [
9856
{
9857
"include": "#inline_comment"
9858
}
9859
]
9860
},
9861
"2": {
9862
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9863
},
9864
"3": {
9865
"name": "comment.block.cpp"
9866
},
9867
"4": {
9868
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9869
},
9870
"5": {
9871
"patterns": [
9872
{
9873
"include": "#inline_comment"
9874
}
9875
]
9876
},
9877
"6": {
9878
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9879
},
9880
"7": {
9881
"name": "comment.block.cpp"
9882
},
9883
"8": {
9884
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9885
}
9886
}
9887
},
9888
{
9889
"include": "#evaluation_context"
9890
},
9891
{
9892
"include": "#ever_present_context"
9893
}
9894
]
9895
},
9896
"parameter_struct": {
9897
"match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
9898
"captures": {
9899
"1": {
9900
"name": "storage.type.struct.parameter.cpp"
9901
},
9902
"2": {
9903
"patterns": [
9904
{
9905
"include": "#inline_comment"
9906
}
9907
]
9908
},
9909
"3": {
9910
"patterns": [
9911
{
9912
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9913
"captures": {
9914
"1": {
9915
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9916
},
9917
"2": {
9918
"name": "comment.block.cpp"
9919
},
9920
"3": {
9921
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9922
}
9923
}
9924
}
9925
]
9926
},
9927
"4": {
9928
"name": "entity.name.type.struct.parameter.cpp"
9929
},
9930
"5": {
9931
"patterns": [
9932
{
9933
"include": "#inline_comment"
9934
}
9935
]
9936
},
9937
"6": {
9938
"patterns": [
9939
{
9940
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9941
"captures": {
9942
"1": {
9943
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9944
},
9945
"2": {
9946
"name": "comment.block.cpp"
9947
},
9948
"3": {
9949
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9950
}
9951
}
9952
}
9953
]
9954
},
9955
"7": {
9956
"patterns": [
9957
{
9958
"match": "\\*",
9959
"name": "storage.modifier.pointer.cpp"
9960
},
9961
{
9962
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9963
"captures": {
9964
"1": {
9965
"patterns": [
9966
{
9967
"include": "#inline_comment"
9968
}
9969
]
9970
},
9971
"2": {
9972
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9973
},
9974
"3": {
9975
"name": "comment.block.cpp"
9976
},
9977
"4": {
9978
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9979
}
9980
},
9981
"name": "invalid.illegal.reference-type.cpp"
9982
},
9983
{
9984
"match": "\\&",
9985
"name": "storage.modifier.reference.cpp"
9986
}
9987
]
9988
},
9989
"8": {
9990
"patterns": [
9991
{
9992
"include": "#inline_comment"
9993
}
9994
]
9995
},
9996
"9": {
9997
"patterns": [
9998
{
9999
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10000
"captures": {
10001
"1": {
10002
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10003
},
10004
"2": {
10005
"name": "comment.block.cpp"
10006
},
10007
"3": {
10008
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10009
}
10010
}
10011
}
10012
]
10013
},
10014
"10": {
10015
"patterns": [
10016
{
10017
"include": "#inline_comment"
10018
}
10019
]
10020
},
10021
"11": {
10022
"patterns": [
10023
{
10024
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10025
"captures": {
10026
"1": {
10027
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10028
},
10029
"2": {
10030
"name": "comment.block.cpp"
10031
},
10032
"3": {
10033
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10034
}
10035
}
10036
}
10037
]
10038
},
10039
"12": {
10040
"patterns": [
10041
{
10042
"include": "#inline_comment"
10043
}
10044
]
10045
},
10046
"13": {
10047
"patterns": [
10048
{
10049
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10050
"captures": {
10051
"1": {
10052
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10053
},
10054
"2": {
10055
"name": "comment.block.cpp"
10056
},
10057
"3": {
10058
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10059
}
10060
}
10061
}
10062
]
10063
},
10064
"14": {
10065
"name": "variable.other.object.declare.cpp"
10066
},
10067
"15": {
10068
"patterns": [
10069
{
10070
"include": "#inline_comment"
10071
}
10072
]
10073
},
10074
"16": {
10075
"patterns": [
10076
{
10077
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10078
"captures": {
10079
"1": {
10080
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10081
},
10082
"2": {
10083
"name": "comment.block.cpp"
10084
},
10085
"3": {
10086
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10087
}
10088
}
10089
}
10090
]
10091
},
10092
"17": {
10093
"patterns": [
10094
{
10095
"include": "#inline_comment"
10096
}
10097
]
10098
},
10099
"18": {
10100
"patterns": [
10101
{
10102
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10103
"captures": {
10104
"1": {
10105
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10106
},
10107
"2": {
10108
"name": "comment.block.cpp"
10109
},
10110
"3": {
10111
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10112
}
10113
}
10114
}
10115
]
10116
},
10117
"19": {
10118
"patterns": [
10119
{
10120
"include": "#inline_comment"
10121
}
10122
]
10123
},
10124
"20": {
10125
"patterns": [
10126
{
10127
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10128
"captures": {
10129
"1": {
10130
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10131
},
10132
"2": {
10133
"name": "comment.block.cpp"
10134
},
10135
"3": {
10136
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10137
}
10138
}
10139
}
10140
]
10141
}
10142
}
10143
},
10144
"parameter_union": {
10145
"match": "(\\bunion)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
10146
"captures": {
10147
"1": {
10148
"name": "storage.type.union.parameter.cpp"
10149
},
10150
"2": {
10151
"patterns": [
10152
{
10153
"include": "#inline_comment"
10154
}
10155
]
10156
},
10157
"3": {
10158
"patterns": [
10159
{
10160
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10161
"captures": {
10162
"1": {
10163
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10164
},
10165
"2": {
10166
"name": "comment.block.cpp"
10167
},
10168
"3": {
10169
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10170
}
10171
}
10172
}
10173
]
10174
},
10175
"4": {
10176
"name": "entity.name.type.union.parameter.cpp"
10177
},
10178
"5": {
10179
"patterns": [
10180
{
10181
"include": "#inline_comment"
10182
}
10183
]
10184
},
10185
"6": {
10186
"patterns": [
10187
{
10188
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10189
"captures": {
10190
"1": {
10191
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10192
},
10193
"2": {
10194
"name": "comment.block.cpp"
10195
},
10196
"3": {
10197
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10198
}
10199
}
10200
}
10201
]
10202
},
10203
"7": {
10204
"patterns": [
10205
{
10206
"match": "\\*",
10207
"name": "storage.modifier.pointer.cpp"
10208
},
10209
{
10210
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
10211
"captures": {
10212
"1": {
10213
"patterns": [
10214
{
10215
"include": "#inline_comment"
10216
}
10217
]
10218
},
10219
"2": {
10220
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10221
},
10222
"3": {
10223
"name": "comment.block.cpp"
10224
},
10225
"4": {
10226
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10227
}
10228
},
10229
"name": "invalid.illegal.reference-type.cpp"
10230
},
10231
{
10232
"match": "\\&",
10233
"name": "storage.modifier.reference.cpp"
10234
}
10235
]
10236
},
10237
"8": {
10238
"patterns": [
10239
{
10240
"include": "#inline_comment"
10241
}
10242
]
10243
},
10244
"9": {
10245
"patterns": [
10246
{
10247
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10248
"captures": {
10249
"1": {
10250
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10251
},
10252
"2": {
10253
"name": "comment.block.cpp"
10254
},
10255
"3": {
10256
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10257
}
10258
}
10259
}
10260
]
10261
},
10262
"10": {
10263
"patterns": [
10264
{
10265
"include": "#inline_comment"
10266
}
10267
]
10268
},
10269
"11": {
10270
"patterns": [
10271
{
10272
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10273
"captures": {
10274
"1": {
10275
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10276
},
10277
"2": {
10278
"name": "comment.block.cpp"
10279
},
10280
"3": {
10281
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10282
}
10283
}
10284
}
10285
]
10286
},
10287
"12": {
10288
"patterns": [
10289
{
10290
"include": "#inline_comment"
10291
}
10292
]
10293
},
10294
"13": {
10295
"patterns": [
10296
{
10297
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10298
"captures": {
10299
"1": {
10300
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10301
},
10302
"2": {
10303
"name": "comment.block.cpp"
10304
},
10305
"3": {
10306
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10307
}
10308
}
10309
}
10310
]
10311
},
10312
"14": {
10313
"name": "variable.other.object.declare.cpp"
10314
},
10315
"15": {
10316
"patterns": [
10317
{
10318
"include": "#inline_comment"
10319
}
10320
]
10321
},
10322
"16": {
10323
"patterns": [
10324
{
10325
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10326
"captures": {
10327
"1": {
10328
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10329
},
10330
"2": {
10331
"name": "comment.block.cpp"
10332
},
10333
"3": {
10334
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10335
}
10336
}
10337
}
10338
]
10339
},
10340
"17": {
10341
"patterns": [
10342
{
10343
"include": "#inline_comment"
10344
}
10345
]
10346
},
10347
"18": {
10348
"patterns": [
10349
{
10350
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10351
"captures": {
10352
"1": {
10353
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10354
},
10355
"2": {
10356
"name": "comment.block.cpp"
10357
},
10358
"3": {
10359
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10360
}
10361
}
10362
}
10363
]
10364
},
10365
"19": {
10366
"patterns": [
10367
{
10368
"include": "#inline_comment"
10369
}
10370
]
10371
},
10372
"20": {
10373
"patterns": [
10374
{
10375
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10376
"captures": {
10377
"1": {
10378
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10379
},
10380
"2": {
10381
"name": "comment.block.cpp"
10382
},
10383
"3": {
10384
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10385
}
10386
}
10387
}
10388
]
10389
}
10390
}
10391
},
10392
"parentheses": {
10393
"begin": "\\(",
10394
"end": "\\)",
10395
"beginCaptures": {
10396
"0": {
10397
"name": "punctuation.section.parens.begin.bracket.round.cpp"
10398
}
10399
},
10400
"endCaptures": {
10401
"0": {
10402
"name": "punctuation.section.parens.end.bracket.round.cpp"
10403
}
10404
},
10405
"name": "meta.parens.cpp",
10406
"patterns": [
10407
{
10408
"include": "#over_qualified_types"
10409
},
10410
{
10411
"match": "(?<!:):(?!:)",
10412
"name": "punctuation.separator.colon.range-based.cpp"
10413
},
10414
{
10415
"include": "#evaluation_context"
10416
}
10417
]
10418
},
10419
"pragma": {
10420
"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?pragma\\b",
10421
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
10422
"beginCaptures": {
10423
"0": {
10424
"name": "keyword.control.directive.pragma.cpp"
10425
},
10426
"1": {
10427
"patterns": [
10428
{
10429
"include": "#inline_comment"
10430
}
10431
]
10432
},
10433
"2": {
10434
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10435
},
10436
"3": {
10437
"name": "comment.block.cpp"
10438
},
10439
"4": {
10440
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10441
},
10442
"5": {
10443
"name": "punctuation.definition.directive.cpp"
10444
}
10445
},
10446
"endCaptures": {},
10447
"name": "meta.preprocessor.pragma.cpp",
10448
"patterns": [
10449
{
10450
"include": "#comments"
10451
},
10452
{
10453
"include": "#string_context"
10454
},
10455
{
10456
"match": "[a-zA-Z_$][\\w\\-$]*",
10457
"name": "entity.other.attribute-name.pragma.preprocessor.cpp"
10458
},
10459
{
10460
"include": "#preprocessor_number_literal"
10461
},
10462
{
10463
"include": "#line_continuation_character"
10464
}
10465
]
10466
},
10467
"pragma_mark": {
10468
"match": "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?pragma\\s+mark)\\s+(.*)",
10469
"captures": {
10470
"1": {
10471
"name": "keyword.control.directive.pragma.pragma-mark.cpp"
10472
},
10473
"2": {
10474
"patterns": [
10475
{
10476
"include": "#inline_comment"
10477
}
10478
]
10479
},
10480
"3": {
10481
"patterns": [
10482
{
10483
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10484
"captures": {
10485
"1": {
10486
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10487
},
10488
"2": {
10489
"name": "comment.block.cpp"
10490
},
10491
"3": {
10492
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10493
}
10494
}
10495
}
10496
]
10497
},
10498
"4": {
10499
"name": "punctuation.definition.directive.cpp"
10500
},
10501
"5": {
10502
"name": "entity.name.tag.pragma-mark.cpp"
10503
}
10504
},
10505
"name": "meta.preprocessor.pragma.cpp"
10506
},
10507
"predefined_macros": {
10508
"patterns": [
10509
{
10510
"match": "\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b",
10511
"captures": {
10512
"1": {
10513
"name": "entity.name.other.preprocessor.macro.predefined.$1.cpp"
10514
}
10515
}
10516
},
10517
{
10518
"match": "\\b__([A-Z_]+)__\\b",
10519
"name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"
10520
}
10521
]
10522
},
10523
"preprocessor_conditional_context": {
10524
"patterns": [
10525
{
10526
"include": "#preprocessor_conditional_defined"
10527
},
10528
{
10529
"include": "#comments"
10530
},
10531
{
10532
"include": "#language_constants"
10533
},
10534
{
10535
"include": "#string_context"
10536
},
10537
{
10538
"include": "#d9bc4796b0b_preprocessor_number_literal"
10539
},
10540
{
10541
"include": "#operators"
10542
},
10543
{
10544
"include": "#predefined_macros"
10545
},
10546
{
10547
"include": "#macro_name"
10548
},
10549
{
10550
"include": "#line_continuation_character"
10551
}
10552
]
10553
},
10554
"preprocessor_conditional_defined": {
10555
"begin": "((?<!\\w)defined(?!\\w))(\\()",
10556
"end": "(?:\\)|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))",
10557
"beginCaptures": {
10558
"1": {
10559
"name": "keyword.control.directive.conditional.defined.cpp"
10560
},
10561
"2": {
10562
"name": "punctuation.section.parens.control.defined.cpp"
10563
}
10564
},
10565
"endCaptures": {
10566
"0": {
10567
"name": "punctuation.section.parens.control.defined.cpp"
10568
}
10569
},
10570
"patterns": [
10571
{
10572
"include": "#macro_name"
10573
}
10574
]
10575
},
10576
"preprocessor_conditional_parentheses": {
10577
"begin": "\\(",
10578
"end": "\\)",
10579
"beginCaptures": {
10580
"0": {
10581
"name": "punctuation.section.parens.begin.bracket.round.cpp"
10582
}
10583
},
10584
"endCaptures": {
10585
"0": {
10586
"name": "punctuation.section.parens.end.bracket.round.cpp"
10587
}
10588
},
10589
"name": "meta.parens.preprocessor.conditional.cpp"
10590
},
10591
"preprocessor_conditional_range": {
10592
"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:(?:ifndef|ifdef)|if))",
10593
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
10594
"beginCaptures": {
10595
"0": {
10596
"name": "keyword.control.directive.conditional.$6.cpp"
10597
},
10598
"1": {
10599
"patterns": [
10600
{
10601
"include": "#inline_comment"
10602
}
10603
]
10604
},
10605
"2": {
10606
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10607
},
10608
"3": {
10609
"name": "comment.block.cpp"
10610
},
10611
"4": {
10612
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10613
},
10614
"5": {
10615
"name": "punctuation.definition.directive.cpp"
10616
},
10617
"6": {}
10618
},
10619
"endCaptures": {},
10620
"contentName": "meta.preprocessor.conditional",
10621
"patterns": [
10622
{
10623
"include": "#preprocessor_conditional_context"
10624
}
10625
]
10626
},
10627
"preprocessor_conditional_standalone": {
10628
"match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?<!\\w)(?:endif|else|elif)(?!\\w))",
10629
"captures": {
10630
"1": {
10631
"patterns": [
10632
{
10633
"include": "#inline_comment"
10634
}
10635
]
10636
},
10637
"2": {
10638
"patterns": [
10639
{
10640
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10641
"captures": {
10642
"1": {
10643
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10644
},
10645
"2": {
10646
"name": "comment.block.cpp"
10647
},
10648
"3": {
10649
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10650
}
10651
}
10652
}
10653
]
10654
},
10655
"3": {
10656
"name": "punctuation.definition.directive.cpp"
10657
}
10658
},
10659
"name": "keyword.control.directive.$4.cpp"
10660
},
10661
"preprocessor_context": {
10662
"patterns": [
10663
{
10664
"include": "#pragma_mark"
10665
},
10666
{
10667
"include": "#pragma"
10668
},
10669
{
10670
"include": "#include"
10671
},
10672
{
10673
"include": "#line"
10674
},
10675
{
10676
"include": "#diagnostic"
10677
},
10678
{
10679
"include": "#undef"
10680
},
10681
{
10682
"include": "#preprocessor_conditional_range"
10683
},
10684
{
10685
"include": "#single_line_macro"
10686
},
10687
{
10688
"include": "#macro"
10689
},
10690
{
10691
"include": "#preprocessor_conditional_standalone"
10692
},
10693
{
10694
"include": "#macro_argument"
10695
}
10696
]
10697
},
10698
"qualified_type": {
10699
"match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])",
10700
"captures": {
10701
"0": {
10702
"patterns": [
10703
{
10704
"match": "::",
10705
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
10706
},
10707
{
10708
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
10709
"name": "storage.type.$0.cpp"
10710
},
10711
{
10712
"include": "#attributes_context"
10713
},
10714
{
10715
"include": "#storage_types"
10716
},
10717
{
10718
"include": "#number_literal"
10719
},
10720
{
10721
"include": "#string_context"
10722
},
10723
{
10724
"include": "#comma"
10725
},
10726
{
10727
"include": "#scope_resolution_inner_generated"
10728
},
10729
{
10730
"begin": "<",
10731
"end": ">",
10732
"beginCaptures": {
10733
"0": {
10734
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
10735
}
10736
},
10737
"endCaptures": {
10738
"0": {
10739
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
10740
}
10741
},
10742
"name": "meta.template.call.cpp",
10743
"patterns": [
10744
{
10745
"include": "#template_call_context"
10746
}
10747
]
10748
},
10749
{
10750
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
10751
"name": "entity.name.type.cpp"
10752
}
10753
]
10754
},
10755
"1": {
10756
"patterns": [
10757
{
10758
"include": "#attributes_context"
10759
},
10760
{
10761
"include": "#number_literal"
10762
}
10763
]
10764
},
10765
"2": {
10766
"patterns": [
10767
{
10768
"include": "#inline_comment"
10769
}
10770
]
10771
},
10772
"3": {
10773
"patterns": [
10774
{
10775
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10776
"captures": {
10777
"1": {
10778
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10779
},
10780
"2": {
10781
"name": "comment.block.cpp"
10782
},
10783
"3": {
10784
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10785
}
10786
}
10787
}
10788
]
10789
},
10790
"4": {
10791
"patterns": [
10792
{
10793
"include": "#inline_comment"
10794
}
10795
]
10796
},
10797
"5": {
10798
"patterns": [
10799
{
10800
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10801
"captures": {
10802
"1": {
10803
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10804
},
10805
"2": {
10806
"name": "comment.block.cpp"
10807
},
10808
"3": {
10809
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10810
}
10811
}
10812
}
10813
]
10814
},
10815
"6": {
10816
"patterns": [
10817
{
10818
"match": "::",
10819
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
10820
},
10821
{
10822
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
10823
"name": "entity.name.scope-resolution.type.cpp"
10824
},
10825
{
10826
"include": "#template_call_range"
10827
}
10828
]
10829
},
10830
"7": {
10831
"patterns": [
10832
{
10833
"include": "#template_call_range"
10834
}
10835
]
10836
},
10837
"9": {
10838
"patterns": [
10839
{
10840
"include": "#inline_comment"
10841
}
10842
]
10843
},
10844
"10": {
10845
"patterns": [
10846
{
10847
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10848
"captures": {
10849
"1": {
10850
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10851
},
10852
"2": {
10853
"name": "comment.block.cpp"
10854
},
10855
"3": {
10856
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10857
}
10858
}
10859
}
10860
]
10861
}
10862
},
10863
"name": "meta.qualified_type.cpp"
10864
},
10865
"qualifiers_and_specifiers_post_parameters": {
10866
"match": "((?:(?:(?:(?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\w))+)(?=\\s*(?:\\{|;|\\n|\\r|=))",
10867
"captures": {
10868
"1": {
10869
"patterns": [
10870
{
10871
"match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\w))",
10872
"captures": {
10873
"1": {
10874
"patterns": [
10875
{
10876
"include": "#inline_comment"
10877
}
10878
]
10879
},
10880
"2": {
10881
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10882
},
10883
"3": {
10884
"name": "comment.block.cpp"
10885
},
10886
"4": {
10887
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10888
},
10889
"5": {
10890
"name": "storage.modifier.specifier.functional.post-parameters.$5.cpp"
10891
}
10892
}
10893
}
10894
]
10895
}
10896
}
10897
},
10898
"scope_resolution": {
10899
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
10900
"captures": {
10901
"0": {
10902
"patterns": [
10903
{
10904
"include": "#scope_resolution_inner_generated"
10905
}
10906
]
10907
},
10908
"1": {
10909
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
10910
},
10911
"2": {
10912
"patterns": [
10913
{
10914
"include": "#template_call_range"
10915
}
10916
]
10917
}
10918
}
10919
},
10920
"scope_resolution_function_call": {
10921
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
10922
"captures": {
10923
"0": {
10924
"patterns": [
10925
{
10926
"include": "#scope_resolution_function_call_inner_generated"
10927
}
10928
]
10929
},
10930
"1": {
10931
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
10932
},
10933
"2": {
10934
"patterns": [
10935
{
10936
"include": "#template_call_range"
10937
}
10938
]
10939
}
10940
}
10941
},
10942
"scope_resolution_function_call_inner_generated": {
10943
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
10944
"captures": {
10945
"1": {
10946
"patterns": [
10947
{
10948
"include": "#scope_resolution_function_call_inner_generated"
10949
}
10950
]
10951
},
10952
"2": {
10953
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
10954
},
10955
"3": {
10956
"patterns": [
10957
{
10958
"include": "#template_call_range"
10959
}
10960
]
10961
},
10962
"4": {},
10963
"5": {
10964
"name": "entity.name.scope-resolution.function.call.cpp"
10965
},
10966
"6": {
10967
"name": "meta.template.call.cpp",
10968
"patterns": [
10969
{
10970
"include": "#template_call_range"
10971
}
10972
]
10973
},
10974
"7": {},
10975
"8": {
10976
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10977
},
10978
"9": {
10979
"name": "comment.block.cpp"
10980
},
10981
"10": {
10982
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10983
},
10984
"11": {
10985
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
10986
}
10987
}
10988
},
10989
"scope_resolution_function_definition": {
10990
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
10991
"captures": {
10992
"0": {
10993
"patterns": [
10994
{
10995
"include": "#scope_resolution_function_definition_inner_generated"
10996
}
10997
]
10998
},
10999
"1": {
11000
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
11001
},
11002
"2": {
11003
"patterns": [
11004
{
11005
"include": "#template_call_range"
11006
}
11007
]
11008
}
11009
}
11010
},
11011
"scope_resolution_function_definition_inner_generated": {
11012
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11013
"captures": {
11014
"1": {
11015
"patterns": [
11016
{
11017
"include": "#scope_resolution_function_definition_inner_generated"
11018
}
11019
]
11020
},
11021
"2": {
11022
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
11023
},
11024
"3": {
11025
"patterns": [
11026
{
11027
"include": "#template_call_range"
11028
}
11029
]
11030
},
11031
"4": {},
11032
"5": {
11033
"name": "entity.name.scope-resolution.function.definition.cpp"
11034
},
11035
"6": {
11036
"name": "meta.template.call.cpp",
11037
"patterns": [
11038
{
11039
"include": "#template_call_range"
11040
}
11041
]
11042
},
11043
"7": {},
11044
"8": {
11045
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11046
},
11047
"9": {
11048
"name": "comment.block.cpp"
11049
},
11050
"10": {
11051
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11052
},
11053
"11": {
11054
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
11055
}
11056
}
11057
},
11058
"scope_resolution_function_definition_operator_overload": {
11059
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11060
"captures": {
11061
"0": {
11062
"patterns": [
11063
{
11064
"include": "#scope_resolution_function_definition_operator_overload_inner_generated"
11065
}
11066
]
11067
},
11068
"1": {
11069
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
11070
},
11071
"2": {
11072
"patterns": [
11073
{
11074
"include": "#template_call_range"
11075
}
11076
]
11077
}
11078
}
11079
},
11080
"scope_resolution_function_definition_operator_overload_inner_generated": {
11081
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11082
"captures": {
11083
"1": {
11084
"patterns": [
11085
{
11086
"include": "#scope_resolution_function_definition_operator_overload_inner_generated"
11087
}
11088
]
11089
},
11090
"2": {
11091
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
11092
},
11093
"3": {
11094
"patterns": [
11095
{
11096
"include": "#template_call_range"
11097
}
11098
]
11099
},
11100
"4": {},
11101
"5": {
11102
"name": "entity.name.scope-resolution.function.definition.operator-overload.cpp"
11103
},
11104
"6": {
11105
"name": "meta.template.call.cpp",
11106
"patterns": [
11107
{
11108
"include": "#template_call_range"
11109
}
11110
]
11111
},
11112
"7": {},
11113
"8": {
11114
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11115
},
11116
"9": {
11117
"name": "comment.block.cpp"
11118
},
11119
"10": {
11120
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11121
},
11122
"11": {
11123
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
11124
}
11125
}
11126
},
11127
"scope_resolution_inner_generated": {
11128
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11129
"captures": {
11130
"1": {
11131
"patterns": [
11132
{
11133
"include": "#scope_resolution_inner_generated"
11134
}
11135
]
11136
},
11137
"2": {
11138
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
11139
},
11140
"3": {
11141
"patterns": [
11142
{
11143
"include": "#template_call_range"
11144
}
11145
]
11146
},
11147
"4": {},
11148
"5": {
11149
"name": "entity.name.scope-resolution.cpp"
11150
},
11151
"6": {
11152
"name": "meta.template.call.cpp",
11153
"patterns": [
11154
{
11155
"include": "#template_call_range"
11156
}
11157
]
11158
},
11159
"7": {},
11160
"8": {
11161
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11162
},
11163
"9": {
11164
"name": "comment.block.cpp"
11165
},
11166
"10": {
11167
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11168
},
11169
"11": {
11170
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
11171
}
11172
}
11173
},
11174
"scope_resolution_namespace_alias": {
11175
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11176
"captures": {
11177
"0": {
11178
"patterns": [
11179
{
11180
"include": "#scope_resolution_namespace_alias_inner_generated"
11181
}
11182
]
11183
},
11184
"1": {
11185
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
11186
},
11187
"2": {
11188
"patterns": [
11189
{
11190
"include": "#template_call_range"
11191
}
11192
]
11193
}
11194
}
11195
},
11196
"scope_resolution_namespace_alias_inner_generated": {
11197
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11198
"captures": {
11199
"1": {
11200
"patterns": [
11201
{
11202
"include": "#scope_resolution_namespace_alias_inner_generated"
11203
}
11204
]
11205
},
11206
"2": {
11207
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
11208
},
11209
"3": {
11210
"patterns": [
11211
{
11212
"include": "#template_call_range"
11213
}
11214
]
11215
},
11216
"4": {},
11217
"5": {
11218
"name": "entity.name.scope-resolution.namespace.alias.cpp"
11219
},
11220
"6": {
11221
"name": "meta.template.call.cpp",
11222
"patterns": [
11223
{
11224
"include": "#template_call_range"
11225
}
11226
]
11227
},
11228
"7": {},
11229
"8": {
11230
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11231
},
11232
"9": {
11233
"name": "comment.block.cpp"
11234
},
11235
"10": {
11236
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11237
},
11238
"11": {
11239
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
11240
}
11241
}
11242
},
11243
"scope_resolution_namespace_block": {
11244
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11245
"captures": {
11246
"0": {
11247
"patterns": [
11248
{
11249
"include": "#scope_resolution_namespace_block_inner_generated"
11250
}
11251
]
11252
},
11253
"1": {
11254
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
11255
},
11256
"2": {
11257
"patterns": [
11258
{
11259
"include": "#template_call_range"
11260
}
11261
]
11262
}
11263
}
11264
},
11265
"scope_resolution_namespace_block_inner_generated": {
11266
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11267
"captures": {
11268
"1": {
11269
"patterns": [
11270
{
11271
"include": "#scope_resolution_namespace_block_inner_generated"
11272
}
11273
]
11274
},
11275
"2": {
11276
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
11277
},
11278
"3": {
11279
"patterns": [
11280
{
11281
"include": "#template_call_range"
11282
}
11283
]
11284
},
11285
"4": {},
11286
"5": {
11287
"name": "entity.name.scope-resolution.namespace.block.cpp"
11288
},
11289
"6": {
11290
"name": "meta.template.call.cpp",
11291
"patterns": [
11292
{
11293
"include": "#template_call_range"
11294
}
11295
]
11296
},
11297
"7": {},
11298
"8": {
11299
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11300
},
11301
"9": {
11302
"name": "comment.block.cpp"
11303
},
11304
"10": {
11305
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11306
},
11307
"11": {
11308
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
11309
}
11310
}
11311
},
11312
"scope_resolution_namespace_using": {
11313
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11314
"captures": {
11315
"0": {
11316
"patterns": [
11317
{
11318
"include": "#scope_resolution_namespace_using_inner_generated"
11319
}
11320
]
11321
},
11322
"1": {
11323
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
11324
},
11325
"2": {
11326
"patterns": [
11327
{
11328
"include": "#template_call_range"
11329
}
11330
]
11331
}
11332
}
11333
},
11334
"scope_resolution_namespace_using_inner_generated": {
11335
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11336
"captures": {
11337
"1": {
11338
"patterns": [
11339
{
11340
"include": "#scope_resolution_namespace_using_inner_generated"
11341
}
11342
]
11343
},
11344
"2": {
11345
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
11346
},
11347
"3": {
11348
"patterns": [
11349
{
11350
"include": "#template_call_range"
11351
}
11352
]
11353
},
11354
"4": {},
11355
"5": {
11356
"name": "entity.name.scope-resolution.namespace.using.cpp"
11357
},
11358
"6": {
11359
"name": "meta.template.call.cpp",
11360
"patterns": [
11361
{
11362
"include": "#template_call_range"
11363
}
11364
]
11365
},
11366
"7": {},
11367
"8": {
11368
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11369
},
11370
"9": {
11371
"name": "comment.block.cpp"
11372
},
11373
"10": {
11374
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11375
},
11376
"11": {
11377
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
11378
}
11379
}
11380
},
11381
"scope_resolution_parameter": {
11382
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11383
"captures": {
11384
"0": {
11385
"patterns": [
11386
{
11387
"include": "#scope_resolution_parameter_inner_generated"
11388
}
11389
]
11390
},
11391
"1": {
11392
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
11393
},
11394
"2": {
11395
"patterns": [
11396
{
11397
"include": "#template_call_range"
11398
}
11399
]
11400
}
11401
}
11402
},
11403
"scope_resolution_parameter_inner_generated": {
11404
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11405
"captures": {
11406
"1": {
11407
"patterns": [
11408
{
11409
"include": "#scope_resolution_parameter_inner_generated"
11410
}
11411
]
11412
},
11413
"2": {
11414
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
11415
},
11416
"3": {
11417
"patterns": [
11418
{
11419
"include": "#template_call_range"
11420
}
11421
]
11422
},
11423
"4": {},
11424
"5": {
11425
"name": "entity.name.scope-resolution.parameter.cpp"
11426
},
11427
"6": {
11428
"name": "meta.template.call.cpp",
11429
"patterns": [
11430
{
11431
"include": "#template_call_range"
11432
}
11433
]
11434
},
11435
"7": {},
11436
"8": {
11437
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11438
},
11439
"9": {
11440
"name": "comment.block.cpp"
11441
},
11442
"10": {
11443
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11444
},
11445
"11": {
11446
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
11447
}
11448
}
11449
},
11450
"scope_resolution_template_call": {
11451
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11452
"captures": {
11453
"0": {
11454
"patterns": [
11455
{
11456
"include": "#scope_resolution_template_call_inner_generated"
11457
}
11458
]
11459
},
11460
"1": {
11461
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
11462
},
11463
"2": {
11464
"patterns": [
11465
{
11466
"include": "#template_call_range"
11467
}
11468
]
11469
}
11470
}
11471
},
11472
"scope_resolution_template_call_inner_generated": {
11473
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11474
"captures": {
11475
"1": {
11476
"patterns": [
11477
{
11478
"include": "#scope_resolution_template_call_inner_generated"
11479
}
11480
]
11481
},
11482
"2": {
11483
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
11484
},
11485
"3": {
11486
"patterns": [
11487
{
11488
"include": "#template_call_range"
11489
}
11490
]
11491
},
11492
"4": {},
11493
"5": {
11494
"name": "entity.name.scope-resolution.template.call.cpp"
11495
},
11496
"6": {
11497
"name": "meta.template.call.cpp",
11498
"patterns": [
11499
{
11500
"include": "#template_call_range"
11501
}
11502
]
11503
},
11504
"7": {},
11505
"8": {
11506
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11507
},
11508
"9": {
11509
"name": "comment.block.cpp"
11510
},
11511
"10": {
11512
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11513
},
11514
"11": {
11515
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
11516
}
11517
}
11518
},
11519
"scope_resolution_template_definition": {
11520
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11521
"captures": {
11522
"0": {
11523
"patterns": [
11524
{
11525
"include": "#scope_resolution_template_definition_inner_generated"
11526
}
11527
]
11528
},
11529
"1": {
11530
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
11531
},
11532
"2": {
11533
"patterns": [
11534
{
11535
"include": "#template_call_range"
11536
}
11537
]
11538
}
11539
}
11540
},
11541
"scope_resolution_template_definition_inner_generated": {
11542
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11543
"captures": {
11544
"1": {
11545
"patterns": [
11546
{
11547
"include": "#scope_resolution_template_definition_inner_generated"
11548
}
11549
]
11550
},
11551
"2": {
11552
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
11553
},
11554
"3": {
11555
"patterns": [
11556
{
11557
"include": "#template_call_range"
11558
}
11559
]
11560
},
11561
"4": {},
11562
"5": {
11563
"name": "entity.name.scope-resolution.template.definition.cpp"
11564
},
11565
"6": {
11566
"name": "meta.template.call.cpp",
11567
"patterns": [
11568
{
11569
"include": "#template_call_range"
11570
}
11571
]
11572
},
11573
"7": {},
11574
"8": {
11575
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11576
},
11577
"9": {
11578
"name": "comment.block.cpp"
11579
},
11580
"10": {
11581
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11582
},
11583
"11": {
11584
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
11585
}
11586
}
11587
},
11588
"semicolon": {
11589
"match": ";",
11590
"name": "punctuation.terminator.statement.cpp"
11591
},
11592
"simple_type": {
11593
"match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?",
11594
"captures": {
11595
"1": {
11596
"name": "meta.qualified_type.cpp",
11597
"patterns": [
11598
{
11599
"match": "::",
11600
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
11601
},
11602
{
11603
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
11604
"name": "storage.type.$0.cpp"
11605
},
11606
{
11607
"include": "#attributes_context"
11608
},
11609
{
11610
"include": "#storage_types"
11611
},
11612
{
11613
"include": "#number_literal"
11614
},
11615
{
11616
"include": "#string_context"
11617
},
11618
{
11619
"include": "#comma"
11620
},
11621
{
11622
"include": "#scope_resolution_inner_generated"
11623
},
11624
{
11625
"begin": "<",
11626
"end": ">",
11627
"beginCaptures": {
11628
"0": {
11629
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
11630
}
11631
},
11632
"endCaptures": {
11633
"0": {
11634
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
11635
}
11636
},
11637
"name": "meta.template.call.cpp",
11638
"patterns": [
11639
{
11640
"include": "#template_call_context"
11641
}
11642
]
11643
},
11644
{
11645
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
11646
"name": "entity.name.type.cpp"
11647
}
11648
]
11649
},
11650
"2": {
11651
"patterns": [
11652
{
11653
"include": "#attributes_context"
11654
},
11655
{
11656
"include": "#number_literal"
11657
}
11658
]
11659
},
11660
"3": {
11661
"patterns": [
11662
{
11663
"include": "#inline_comment"
11664
}
11665
]
11666
},
11667
"4": {
11668
"patterns": [
11669
{
11670
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11671
"captures": {
11672
"1": {
11673
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11674
},
11675
"2": {
11676
"name": "comment.block.cpp"
11677
},
11678
"3": {
11679
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11680
}
11681
}
11682
}
11683
]
11684
},
11685
"5": {
11686
"patterns": [
11687
{
11688
"include": "#inline_comment"
11689
}
11690
]
11691
},
11692
"6": {
11693
"patterns": [
11694
{
11695
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11696
"captures": {
11697
"1": {
11698
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11699
},
11700
"2": {
11701
"name": "comment.block.cpp"
11702
},
11703
"3": {
11704
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11705
}
11706
}
11707
}
11708
]
11709
},
11710
"7": {
11711
"patterns": [
11712
{
11713
"match": "::",
11714
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
11715
},
11716
{
11717
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
11718
"name": "entity.name.scope-resolution.type.cpp"
11719
},
11720
{
11721
"include": "#template_call_range"
11722
}
11723
]
11724
},
11725
"8": {
11726
"patterns": [
11727
{
11728
"include": "#template_call_range"
11729
}
11730
]
11731
},
11732
"9": {},
11733
"10": {
11734
"patterns": [
11735
{
11736
"include": "#inline_comment"
11737
}
11738
]
11739
},
11740
"11": {
11741
"patterns": [
11742
{
11743
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11744
"captures": {
11745
"1": {
11746
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11747
},
11748
"2": {
11749
"name": "comment.block.cpp"
11750
},
11751
"3": {
11752
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11753
}
11754
}
11755
}
11756
]
11757
},
11758
"12": {},
11759
"13": {
11760
"patterns": [
11761
{
11762
"match": "\\*",
11763
"name": "storage.modifier.pointer.cpp"
11764
},
11765
{
11766
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
11767
"captures": {
11768
"1": {
11769
"patterns": [
11770
{
11771
"include": "#inline_comment"
11772
}
11773
]
11774
},
11775
"2": {
11776
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11777
},
11778
"3": {
11779
"name": "comment.block.cpp"
11780
},
11781
"4": {
11782
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11783
}
11784
},
11785
"name": "invalid.illegal.reference-type.cpp"
11786
},
11787
{
11788
"match": "\\&",
11789
"name": "storage.modifier.reference.cpp"
11790
}
11791
]
11792
},
11793
"14": {
11794
"patterns": [
11795
{
11796
"include": "#inline_comment"
11797
}
11798
]
11799
},
11800
"15": {
11801
"patterns": [
11802
{
11803
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11804
"captures": {
11805
"1": {
11806
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11807
},
11808
"2": {
11809
"name": "comment.block.cpp"
11810
},
11811
"3": {
11812
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11813
}
11814
}
11815
}
11816
]
11817
},
11818
"16": {
11819
"patterns": [
11820
{
11821
"include": "#inline_comment"
11822
}
11823
]
11824
},
11825
"17": {
11826
"patterns": [
11827
{
11828
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11829
"captures": {
11830
"1": {
11831
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11832
},
11833
"2": {
11834
"name": "comment.block.cpp"
11835
},
11836
"3": {
11837
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11838
}
11839
}
11840
}
11841
]
11842
}
11843
}
11844
},
11845
"single_line_macro": {
11846
"match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))#define.*(?<![\\\\])(?:\\n|$)",
11847
"captures": {
11848
"0": {
11849
"patterns": [
11850
{
11851
"include": "#macro"
11852
},
11853
{
11854
"include": "#comments"
11855
}
11856
]
11857
},
11858
"1": {
11859
"patterns": [
11860
{
11861
"include": "#inline_comment"
11862
}
11863
]
11864
},
11865
"2": {
11866
"patterns": [
11867
{
11868
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11869
"captures": {
11870
"1": {
11871
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11872
},
11873
"2": {
11874
"name": "comment.block.cpp"
11875
},
11876
"3": {
11877
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11878
}
11879
}
11880
}
11881
]
11882
}
11883
}
11884
},
11885
"sizeof_operator": {
11886
"begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
11887
"end": "\\)",
11888
"beginCaptures": {
11889
"1": {
11890
"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
11891
},
11892
"2": {
11893
"patterns": [
11894
{
11895
"include": "#inline_comment"
11896
}
11897
]
11898
},
11899
"3": {
11900
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11901
},
11902
"4": {
11903
"name": "comment.block.cpp"
11904
},
11905
"5": {
11906
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11907
},
11908
"6": {
11909
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
11910
}
11911
},
11912
"endCaptures": {
11913
"0": {
11914
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
11915
}
11916
},
11917
"contentName": "meta.arguments.operator.sizeof",
11918
"patterns": [
11919
{
11920
"include": "#evaluation_context"
11921
}
11922
]
11923
},
11924
"sizeof_variadic_operator": {
11925
"begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
11926
"end": "\\)",
11927
"beginCaptures": {
11928
"1": {
11929
"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
11930
},
11931
"2": {
11932
"patterns": [
11933
{
11934
"include": "#inline_comment"
11935
}
11936
]
11937
},
11938
"3": {
11939
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11940
},
11941
"4": {
11942
"name": "comment.block.cpp"
11943
},
11944
"5": {
11945
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11946
},
11947
"6": {
11948
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
11949
}
11950
},
11951
"endCaptures": {
11952
"0": {
11953
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
11954
}
11955
},
11956
"contentName": "meta.arguments.operator.sizeof.variadic",
11957
"patterns": [
11958
{
11959
"include": "#evaluation_context"
11960
}
11961
]
11962
},
11963
"square_brackets": {
11964
"name": "meta.bracket.square.access",
11965
"begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",
11966
"beginCaptures": {
11967
"1": {
11968
"name": "variable.other.object"
11969
},
11970
"2": {
11971
"name": "punctuation.definition.begin.bracket.square"
11972
}
11973
},
11974
"end": "\\]",
11975
"endCaptures": {
11976
"0": {
11977
"name": "punctuation.definition.end.bracket.square"
11978
}
11979
},
11980
"patterns": [
11981
{
11982
"include": "#evaluation_context"
11983
}
11984
]
11985
},
11986
"standard_declares": {
11987
"patterns": [
11988
{
11989
"match": "((?<!\\w)struct(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
11990
"captures": {
11991
"1": {
11992
"name": "storage.type.struct.declare.cpp"
11993
},
11994
"2": {
11995
"patterns": [
11996
{
11997
"include": "#inline_comment"
11998
}
11999
]
12000
},
12001
"3": {
12002
"patterns": [
12003
{
12004
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12005
"captures": {
12006
"1": {
12007
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12008
},
12009
"2": {
12010
"name": "comment.block.cpp"
12011
},
12012
"3": {
12013
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12014
}
12015
}
12016
}
12017
]
12018
},
12019
"4": {
12020
"name": "entity.name.type.struct.cpp"
12021
},
12022
"5": {
12023
"patterns": [
12024
{
12025
"match": "\\*",
12026
"name": "storage.modifier.pointer.cpp"
12027
},
12028
{
12029
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
12030
"captures": {
12031
"1": {
12032
"patterns": [
12033
{
12034
"include": "#inline_comment"
12035
}
12036
]
12037
},
12038
"2": {
12039
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12040
},
12041
"3": {
12042
"name": "comment.block.cpp"
12043
},
12044
"4": {
12045
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12046
}
12047
},
12048
"name": "invalid.illegal.reference-type.cpp"
12049
},
12050
{
12051
"match": "\\&",
12052
"name": "storage.modifier.reference.cpp"
12053
}
12054
]
12055
},
12056
"6": {
12057
"patterns": [
12058
{
12059
"include": "#inline_comment"
12060
}
12061
]
12062
},
12063
"7": {
12064
"patterns": [
12065
{
12066
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12067
"captures": {
12068
"1": {
12069
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12070
},
12071
"2": {
12072
"name": "comment.block.cpp"
12073
},
12074
"3": {
12075
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12076
}
12077
}
12078
}
12079
]
12080
},
12081
"8": {
12082
"patterns": [
12083
{
12084
"include": "#inline_comment"
12085
}
12086
]
12087
},
12088
"9": {
12089
"patterns": [
12090
{
12091
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12092
"captures": {
12093
"1": {
12094
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12095
},
12096
"2": {
12097
"name": "comment.block.cpp"
12098
},
12099
"3": {
12100
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12101
}
12102
}
12103
}
12104
]
12105
},
12106
"10": {
12107
"patterns": [
12108
{
12109
"include": "#inline_comment"
12110
}
12111
]
12112
},
12113
"11": {
12114
"patterns": [
12115
{
12116
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12117
"captures": {
12118
"1": {
12119
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12120
},
12121
"2": {
12122
"name": "comment.block.cpp"
12123
},
12124
"3": {
12125
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12126
}
12127
}
12128
}
12129
]
12130
},
12131
"12": {
12132
"name": "variable.other.object.declare.cpp"
12133
},
12134
"13": {
12135
"patterns": [
12136
{
12137
"include": "#inline_comment"
12138
}
12139
]
12140
},
12141
"14": {
12142
"patterns": [
12143
{
12144
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12145
"captures": {
12146
"1": {
12147
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12148
},
12149
"2": {
12150
"name": "comment.block.cpp"
12151
},
12152
"3": {
12153
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12154
}
12155
}
12156
}
12157
]
12158
}
12159
}
12160
},
12161
{
12162
"match": "((?<!\\w)union(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
12163
"captures": {
12164
"1": {
12165
"name": "storage.type.union.declare.cpp"
12166
},
12167
"2": {
12168
"patterns": [
12169
{
12170
"include": "#inline_comment"
12171
}
12172
]
12173
},
12174
"3": {
12175
"patterns": [
12176
{
12177
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12178
"captures": {
12179
"1": {
12180
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12181
},
12182
"2": {
12183
"name": "comment.block.cpp"
12184
},
12185
"3": {
12186
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12187
}
12188
}
12189
}
12190
]
12191
},
12192
"4": {
12193
"name": "entity.name.type.union.cpp"
12194
},
12195
"5": {
12196
"patterns": [
12197
{
12198
"match": "\\*",
12199
"name": "storage.modifier.pointer.cpp"
12200
},
12201
{
12202
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
12203
"captures": {
12204
"1": {
12205
"patterns": [
12206
{
12207
"include": "#inline_comment"
12208
}
12209
]
12210
},
12211
"2": {
12212
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12213
},
12214
"3": {
12215
"name": "comment.block.cpp"
12216
},
12217
"4": {
12218
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12219
}
12220
},
12221
"name": "invalid.illegal.reference-type.cpp"
12222
},
12223
{
12224
"match": "\\&",
12225
"name": "storage.modifier.reference.cpp"
12226
}
12227
]
12228
},
12229
"6": {
12230
"patterns": [
12231
{
12232
"include": "#inline_comment"
12233
}
12234
]
12235
},
12236
"7": {
12237
"patterns": [
12238
{
12239
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12240
"captures": {
12241
"1": {
12242
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12243
},
12244
"2": {
12245
"name": "comment.block.cpp"
12246
},
12247
"3": {
12248
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12249
}
12250
}
12251
}
12252
]
12253
},
12254
"8": {
12255
"patterns": [
12256
{
12257
"include": "#inline_comment"
12258
}
12259
]
12260
},
12261
"9": {
12262
"patterns": [
12263
{
12264
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12265
"captures": {
12266
"1": {
12267
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12268
},
12269
"2": {
12270
"name": "comment.block.cpp"
12271
},
12272
"3": {
12273
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12274
}
12275
}
12276
}
12277
]
12278
},
12279
"10": {
12280
"patterns": [
12281
{
12282
"include": "#inline_comment"
12283
}
12284
]
12285
},
12286
"11": {
12287
"patterns": [
12288
{
12289
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12290
"captures": {
12291
"1": {
12292
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12293
},
12294
"2": {
12295
"name": "comment.block.cpp"
12296
},
12297
"3": {
12298
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12299
}
12300
}
12301
}
12302
]
12303
},
12304
"12": {
12305
"name": "variable.other.object.declare.cpp"
12306
},
12307
"13": {
12308
"patterns": [
12309
{
12310
"include": "#inline_comment"
12311
}
12312
]
12313
},
12314
"14": {
12315
"patterns": [
12316
{
12317
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12318
"captures": {
12319
"1": {
12320
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12321
},
12322
"2": {
12323
"name": "comment.block.cpp"
12324
},
12325
"3": {
12326
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12327
}
12328
}
12329
}
12330
]
12331
}
12332
}
12333
},
12334
{
12335
"match": "((?<!\\w)enum(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
12336
"captures": {
12337
"1": {
12338
"name": "storage.type.enum.declare.cpp"
12339
},
12340
"2": {
12341
"patterns": [
12342
{
12343
"include": "#inline_comment"
12344
}
12345
]
12346
},
12347
"3": {
12348
"patterns": [
12349
{
12350
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12351
"captures": {
12352
"1": {
12353
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12354
},
12355
"2": {
12356
"name": "comment.block.cpp"
12357
},
12358
"3": {
12359
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12360
}
12361
}
12362
}
12363
]
12364
},
12365
"4": {
12366
"name": "entity.name.type.enum.cpp"
12367
},
12368
"5": {
12369
"patterns": [
12370
{
12371
"match": "\\*",
12372
"name": "storage.modifier.pointer.cpp"
12373
},
12374
{
12375
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
12376
"captures": {
12377
"1": {
12378
"patterns": [
12379
{
12380
"include": "#inline_comment"
12381
}
12382
]
12383
},
12384
"2": {
12385
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12386
},
12387
"3": {
12388
"name": "comment.block.cpp"
12389
},
12390
"4": {
12391
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12392
}
12393
},
12394
"name": "invalid.illegal.reference-type.cpp"
12395
},
12396
{
12397
"match": "\\&",
12398
"name": "storage.modifier.reference.cpp"
12399
}
12400
]
12401
},
12402
"6": {
12403
"patterns": [
12404
{
12405
"include": "#inline_comment"
12406
}
12407
]
12408
},
12409
"7": {
12410
"patterns": [
12411
{
12412
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12413
"captures": {
12414
"1": {
12415
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12416
},
12417
"2": {
12418
"name": "comment.block.cpp"
12419
},
12420
"3": {
12421
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12422
}
12423
}
12424
}
12425
]
12426
},
12427
"8": {
12428
"patterns": [
12429
{
12430
"include": "#inline_comment"
12431
}
12432
]
12433
},
12434
"9": {
12435
"patterns": [
12436
{
12437
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12438
"captures": {
12439
"1": {
12440
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12441
},
12442
"2": {
12443
"name": "comment.block.cpp"
12444
},
12445
"3": {
12446
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12447
}
12448
}
12449
}
12450
]
12451
},
12452
"10": {
12453
"patterns": [
12454
{
12455
"include": "#inline_comment"
12456
}
12457
]
12458
},
12459
"11": {
12460
"patterns": [
12461
{
12462
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12463
"captures": {
12464
"1": {
12465
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12466
},
12467
"2": {
12468
"name": "comment.block.cpp"
12469
},
12470
"3": {
12471
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12472
}
12473
}
12474
}
12475
]
12476
},
12477
"12": {
12478
"name": "variable.other.object.declare.cpp"
12479
},
12480
"13": {
12481
"patterns": [
12482
{
12483
"include": "#inline_comment"
12484
}
12485
]
12486
},
12487
"14": {
12488
"patterns": [
12489
{
12490
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12491
"captures": {
12492
"1": {
12493
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12494
},
12495
"2": {
12496
"name": "comment.block.cpp"
12497
},
12498
"3": {
12499
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12500
}
12501
}
12502
}
12503
]
12504
}
12505
}
12506
},
12507
{
12508
"match": "((?<!\\w)class(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
12509
"captures": {
12510
"1": {
12511
"name": "storage.type.class.declare.cpp"
12512
},
12513
"2": {
12514
"patterns": [
12515
{
12516
"include": "#inline_comment"
12517
}
12518
]
12519
},
12520
"3": {
12521
"patterns": [
12522
{
12523
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12524
"captures": {
12525
"1": {
12526
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12527
},
12528
"2": {
12529
"name": "comment.block.cpp"
12530
},
12531
"3": {
12532
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12533
}
12534
}
12535
}
12536
]
12537
},
12538
"4": {
12539
"name": "entity.name.type.class.cpp"
12540
},
12541
"5": {
12542
"patterns": [
12543
{
12544
"match": "\\*",
12545
"name": "storage.modifier.pointer.cpp"
12546
},
12547
{
12548
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
12549
"captures": {
12550
"1": {
12551
"patterns": [
12552
{
12553
"include": "#inline_comment"
12554
}
12555
]
12556
},
12557
"2": {
12558
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12559
},
12560
"3": {
12561
"name": "comment.block.cpp"
12562
},
12563
"4": {
12564
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12565
}
12566
},
12567
"name": "invalid.illegal.reference-type.cpp"
12568
},
12569
{
12570
"match": "\\&",
12571
"name": "storage.modifier.reference.cpp"
12572
}
12573
]
12574
},
12575
"6": {
12576
"patterns": [
12577
{
12578
"include": "#inline_comment"
12579
}
12580
]
12581
},
12582
"7": {
12583
"patterns": [
12584
{
12585
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12586
"captures": {
12587
"1": {
12588
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12589
},
12590
"2": {
12591
"name": "comment.block.cpp"
12592
},
12593
"3": {
12594
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12595
}
12596
}
12597
}
12598
]
12599
},
12600
"8": {
12601
"patterns": [
12602
{
12603
"include": "#inline_comment"
12604
}
12605
]
12606
},
12607
"9": {
12608
"patterns": [
12609
{
12610
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12611
"captures": {
12612
"1": {
12613
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12614
},
12615
"2": {
12616
"name": "comment.block.cpp"
12617
},
12618
"3": {
12619
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12620
}
12621
}
12622
}
12623
]
12624
},
12625
"10": {
12626
"patterns": [
12627
{
12628
"include": "#inline_comment"
12629
}
12630
]
12631
},
12632
"11": {
12633
"patterns": [
12634
{
12635
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12636
"captures": {
12637
"1": {
12638
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12639
},
12640
"2": {
12641
"name": "comment.block.cpp"
12642
},
12643
"3": {
12644
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12645
}
12646
}
12647
}
12648
]
12649
},
12650
"12": {
12651
"name": "variable.other.object.declare.cpp"
12652
},
12653
"13": {
12654
"patterns": [
12655
{
12656
"include": "#inline_comment"
12657
}
12658
]
12659
},
12660
"14": {
12661
"patterns": [
12662
{
12663
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12664
"captures": {
12665
"1": {
12666
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12667
},
12668
"2": {
12669
"name": "comment.block.cpp"
12670
},
12671
"3": {
12672
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12673
}
12674
}
12675
}
12676
]
12677
}
12678
}
12679
}
12680
]
12681
},
12682
"static_assert": {
12683
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)static_assert|_Static_assert(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
12684
"end": "\\)",
12685
"beginCaptures": {
12686
"1": {
12687
"patterns": [
12688
{
12689
"include": "#inline_comment"
12690
}
12691
]
12692
},
12693
"2": {
12694
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12695
},
12696
"3": {
12697
"name": "comment.block.cpp"
12698
},
12699
"4": {
12700
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12701
},
12702
"5": {
12703
"name": "keyword.other.static_assert.cpp"
12704
},
12705
"6": {
12706
"patterns": [
12707
{
12708
"include": "#inline_comment"
12709
}
12710
]
12711
},
12712
"7": {
12713
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12714
},
12715
"8": {
12716
"name": "comment.block.cpp"
12717
},
12718
"9": {
12719
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12720
},
12721
"10": {
12722
"name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp"
12723
}
12724
},
12725
"endCaptures": {
12726
"0": {
12727
"name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp"
12728
}
12729
},
12730
"patterns": [
12731
{
12732
"begin": "(,)(?:\\s+)?(?=(?:L|u8|u|U(?:\\s+)?\\\")?)",
12733
"end": "(?=\\))",
12734
"beginCaptures": {
12735
"1": {
12736
"name": "punctuation.separator.delimiter.comma.cpp"
12737
}
12738
},
12739
"endCaptures": {},
12740
"name": "meta.static_assert.message.cpp",
12741
"patterns": [
12742
{
12743
"include": "#string_context"
12744
}
12745
]
12746
},
12747
{
12748
"include": "#evaluation_context"
12749
}
12750
]
12751
},
12752
"std_space": {
12753
"match": "(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)",
12754
"captures": {
12755
"0": {
12756
"patterns": [
12757
{
12758
"include": "#inline_comment"
12759
}
12760
]
12761
},
12762
"1": {
12763
"patterns": [
12764
{
12765
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12766
"captures": {
12767
"1": {
12768
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12769
},
12770
"2": {
12771
"name": "comment.block.cpp"
12772
},
12773
"3": {
12774
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12775
}
12776
}
12777
}
12778
]
12779
}
12780
}
12781
},
12782
"storage_specifiers": {
12783
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w))",
12784
"captures": {
12785
"1": {
12786
"patterns": [
12787
{
12788
"include": "#inline_comment"
12789
}
12790
]
12791
},
12792
"2": {
12793
"patterns": [
12794
{
12795
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12796
"captures": {
12797
"1": {
12798
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12799
},
12800
"2": {
12801
"name": "comment.block.cpp"
12802
},
12803
"3": {
12804
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12805
}
12806
}
12807
}
12808
]
12809
},
12810
"3": {
12811
"name": "storage.modifier.specifier.$3.cpp"
12812
}
12813
}
12814
},
12815
"storage_types": {
12816
"patterns": [
12817
{
12818
"include": "#storage_specifiers"
12819
},
12820
{
12821
"include": "#inline_builtin_storage_type"
12822
},
12823
{
12824
"include": "#decltype"
12825
},
12826
{
12827
"include": "#typename"
12828
}
12829
]
12830
},
12831
"string_context": {
12832
"patterns": [
12833
{
12834
"begin": "((?:u|u8|U|L)?)\"",
12835
"end": "(\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?",
12836
"beginCaptures": {
12837
"0": {
12838
"name": "punctuation.definition.string.begin.cpp"
12839
},
12840
"1": {
12841
"name": "meta.encoding.cpp"
12842
}
12843
},
12844
"endCaptures": {
12845
"1": {
12846
"name": "punctuation.definition.string.end.cpp"
12847
},
12848
"2": {
12849
"name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp"
12850
},
12851
"3": {
12852
"name": "keyword.other.suffix.literal.user-defined.string.cpp"
12853
}
12854
},
12855
"name": "string.quoted.double.cpp",
12856
"patterns": [
12857
{
12858
"match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})",
12859
"name": "constant.character.escape.cpp"
12860
},
12861
{
12862
"match": "\\\\['\"?\\\\abfnrtv]",
12863
"name": "constant.character.escape.cpp"
12864
},
12865
{
12866
"match": "\\\\[0-7]{1,3}",
12867
"name": "constant.character.escape.cpp"
12868
},
12869
{
12870
"match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
12871
"captures": {
12872
"1": {
12873
"name": "constant.character.escape.cpp"
12874
},
12875
"2": {
12876
"name": "invalid.illegal.unknown-escape.cpp"
12877
}
12878
}
12879
},
12880
{
12881
"include": "#string_escapes_context_c"
12882
}
12883
]
12884
},
12885
{
12886
"begin": "(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'",
12887
"end": "(')(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?",
12888
"beginCaptures": {
12889
"0": {
12890
"name": "punctuation.definition.string.begin.cpp"
12891
},
12892
"1": {
12893
"name": "meta.encoding.cpp"
12894
}
12895
},
12896
"endCaptures": {
12897
"1": {
12898
"name": "punctuation.definition.string.end.cpp"
12899
},
12900
"2": {
12901
"name": "keyword.other.suffix.literal.user-defined.reserved.character.cpp"
12902
},
12903
"3": {
12904
"name": "keyword.other.suffix.literal.user-defined.character.cpp"
12905
}
12906
},
12907
"name": "string.quoted.single.cpp",
12908
"patterns": [
12909
{
12910
"match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
12911
"captures": {
12912
"1": {
12913
"name": "constant.character.escape.cpp"
12914
},
12915
"2": {
12916
"name": "invalid.illegal.unknown-escape.cpp"
12917
}
12918
}
12919
},
12920
{
12921
"include": "#string_escapes_context_c"
12922
},
12923
{
12924
"include": "#line_continuation_character"
12925
}
12926
]
12927
},
12928
{
12929
"begin": "((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\(",
12930
"end": "\\)(?:(?:_r|re)|regex)\\\"",
12931
"beginCaptures": {
12932
"0": {
12933
"name": "punctuation.definition.string.begin.cpp"
12934
},
12935
"1": {
12936
"name": "meta.encoding.cpp"
12937
}
12938
},
12939
"endCaptures": {
12940
"0": {
12941
"name": "punctuation.definition.string.end.cpp"
12942
}
12943
},
12944
"name": "string.quoted.double.raw.regex.cpp",
12945
"patterns": [
12946
{
12947
"include": "source.regexp.python"
12948
}
12949
]
12950
},
12951
{
12952
"begin": "((?:[uUL]8?)?R)\\\"(?:glsl|GLSL)\\(",
12953
"end": "\\)(?:glsl|GLSL)\\\"",
12954
"beginCaptures": {
12955
"0": {
12956
"name": "punctuation.definition.string.begin.cpp"
12957
},
12958
"1": {
12959
"name": "meta.encoding.cpp"
12960
}
12961
},
12962
"endCaptures": {
12963
"0": {
12964
"name": "punctuation.definition.string.end.cpp"
12965
}
12966
},
12967
"name": "meta.string.quoted.double.raw.glsl.cpp",
12968
"patterns": [
12969
{
12970
"include": "source.glsl"
12971
}
12972
]
12973
},
12974
{
12975
"begin": "((?:[uUL]8?)?R)\\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(",
12976
"end": "\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\\"",
12977
"beginCaptures": {
12978
"0": {
12979
"name": "punctuation.definition.string.begin.cpp"
12980
},
12981
"1": {
12982
"name": "meta.encoding.cpp"
12983
}
12984
},
12985
"endCaptures": {
12986
"0": {
12987
"name": "punctuation.definition.string.end.cpp"
12988
}
12989
},
12990
"name": "meta.string.quoted.double.raw.sql.cpp",
12991
"patterns": [
12992
{
12993
"include": "source.sql"
12994
}
12995
]
12996
},
12997
{
12998
"begin": "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(",
12999
"beginCaptures": {
13000
"0": {
13001
"name": "punctuation.definition.string.begin"
13002
},
13003
"1": {
13004
"name": "meta.encoding"
13005
},
13006
"3": {
13007
"name": "invalid.illegal.delimiter-too-long"
13008
}
13009
},
13010
"end": "(\\)\\2(\\3)\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?",
13011
"endCaptures": {
13012
"1": {
13013
"name": "punctuation.definition.string.end"
13014
},
13015
"2": {
13016
"name": "invalid.illegal.delimiter-too-long"
13017
},
13018
"3": {
13019
"name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp"
13020
},
13021
"4": {
13022
"name": "keyword.other.suffix.literal.user-defined.string.cpp"
13023
}
13024
},
13025
"name": "string.quoted.double.raw"
13026
}
13027
]
13028
},
13029
"string_escapes_context_c": {
13030
"patterns": [
13031
{
13032
"match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
13033
"name": "constant.character.escape"
13034
},
13035
{
13036
"match": "\\\\.",
13037
"name": "invalid.illegal.unknown-escape"
13038
},
13039
{
13040
"match": "(?x) (?!%')(?!%\")%\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type",
13041
"name": "constant.other.placeholder"
13042
}
13043
]
13044
},
13045
"struct_block": {
13046
"begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",
13047
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
13048
"beginCaptures": {
13049
"0": {
13050
"name": "meta.head.struct.cpp"
13051
},
13052
"1": {
13053
"name": "storage.type.$1.cpp"
13054
},
13055
"2": {
13056
"patterns": [
13057
{
13058
"include": "#inline_comment"
13059
}
13060
]
13061
},
13062
"3": {
13063
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13064
},
13065
"4": {
13066
"name": "comment.block.cpp"
13067
},
13068
"5": {
13069
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13070
},
13071
"6": {
13072
"patterns": [
13073
{
13074
"include": "#attributes_context"
13075
},
13076
{
13077
"include": "#number_literal"
13078
}
13079
]
13080
},
13081
"7": {
13082
"patterns": [
13083
{
13084
"include": "#inline_comment"
13085
}
13086
]
13087
},
13088
"8": {
13089
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13090
},
13091
"9": {
13092
"name": "comment.block.cpp"
13093
},
13094
"10": {
13095
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13096
},
13097
"11": {
13098
"patterns": [
13099
{
13100
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
13101
"captures": {
13102
"1": {
13103
"name": "storage.type.modifier.final.cpp"
13104
},
13105
"2": {
13106
"patterns": [
13107
{
13108
"include": "#inline_comment"
13109
}
13110
]
13111
},
13112
"3": {
13113
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13114
},
13115
"4": {
13116
"name": "comment.block.cpp"
13117
},
13118
"5": {
13119
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13120
}
13121
}
13122
},
13123
{
13124
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",
13125
"captures": {
13126
"1": {
13127
"name": "entity.name.type.struct.cpp"
13128
},
13129
"2": {
13130
"patterns": [
13131
{
13132
"include": "#inline_comment"
13133
}
13134
]
13135
},
13136
"3": {
13137
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13138
},
13139
"4": {
13140
"name": "comment.block.cpp"
13141
},
13142
"5": {
13143
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13144
},
13145
"6": {
13146
"name": "storage.type.modifier.final.cpp"
13147
},
13148
"7": {
13149
"patterns": [
13150
{
13151
"include": "#inline_comment"
13152
}
13153
]
13154
},
13155
"8": {
13156
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13157
},
13158
"9": {
13159
"name": "comment.block.cpp"
13160
},
13161
"10": {
13162
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13163
}
13164
}
13165
},
13166
{
13167
"match": "DLLEXPORT",
13168
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
13169
},
13170
{
13171
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
13172
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
13173
}
13174
]
13175
},
13176
"12": {
13177
"patterns": [
13178
{
13179
"include": "#inline_comment"
13180
}
13181
]
13182
},
13183
"13": {
13184
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13185
},
13186
"14": {
13187
"name": "comment.block.cpp"
13188
},
13189
"15": {
13190
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13191
},
13192
"16": {
13193
"patterns": [
13194
{
13195
"include": "#inline_comment"
13196
}
13197
]
13198
},
13199
"17": {
13200
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13201
},
13202
"18": {
13203
"name": "comment.block.cpp"
13204
},
13205
"19": {
13206
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13207
},
13208
"20": {
13209
"name": "punctuation.separator.colon.inheritance.cpp"
13210
}
13211
},
13212
"endCaptures": {
13213
"1": {
13214
"name": "punctuation.terminator.statement.cpp"
13215
},
13216
"2": {
13217
"name": "punctuation.terminator.statement.cpp"
13218
}
13219
},
13220
"name": "meta.block.struct.cpp",
13221
"patterns": [
13222
{
13223
"begin": "\\G ?",
13224
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
13225
"beginCaptures": {},
13226
"endCaptures": {
13227
"0": {
13228
"name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
13229
}
13230
},
13231
"name": "meta.head.struct.cpp",
13232
"patterns": [
13233
{
13234
"include": "#ever_present_context"
13235
},
13236
{
13237
"include": "#inheritance_context"
13238
},
13239
{
13240
"include": "#template_call_range"
13241
}
13242
]
13243
},
13244
{
13245
"begin": "(?<=\\{|<%|\\?\\?<)",
13246
"end": "\\}|%>|\\?\\?>",
13247
"beginCaptures": {},
13248
"endCaptures": {
13249
"0": {
13250
"name": "punctuation.section.block.end.bracket.curly.struct.cpp"
13251
}
13252
},
13253
"name": "meta.body.struct.cpp",
13254
"patterns": [
13255
{
13256
"include": "#function_pointer"
13257
},
13258
{
13259
"include": "#static_assert"
13260
},
13261
{
13262
"include": "#constructor_inline"
13263
},
13264
{
13265
"include": "#destructor_inline"
13266
},
13267
{
13268
"include": "$self"
13269
}
13270
]
13271
},
13272
{
13273
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
13274
"end": "[\\s]*(?=;)",
13275
"beginCaptures": {},
13276
"endCaptures": {},
13277
"name": "meta.tail.struct.cpp",
13278
"patterns": [
13279
{
13280
"include": "$self"
13281
}
13282
]
13283
}
13284
]
13285
},
13286
"struct_declare": {
13287
"match": "((?<!\\w)struct(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
13288
"captures": {
13289
"1": {
13290
"name": "storage.type.struct.declare.cpp"
13291
},
13292
"2": {
13293
"patterns": [
13294
{
13295
"include": "#inline_comment"
13296
}
13297
]
13298
},
13299
"3": {
13300
"patterns": [
13301
{
13302
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13303
"captures": {
13304
"1": {
13305
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13306
},
13307
"2": {
13308
"name": "comment.block.cpp"
13309
},
13310
"3": {
13311
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13312
}
13313
}
13314
}
13315
]
13316
},
13317
"4": {
13318
"name": "entity.name.type.struct.cpp"
13319
},
13320
"5": {
13321
"patterns": [
13322
{
13323
"match": "\\*",
13324
"name": "storage.modifier.pointer.cpp"
13325
},
13326
{
13327
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
13328
"captures": {
13329
"1": {
13330
"patterns": [
13331
{
13332
"include": "#inline_comment"
13333
}
13334
]
13335
},
13336
"2": {
13337
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13338
},
13339
"3": {
13340
"name": "comment.block.cpp"
13341
},
13342
"4": {
13343
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13344
}
13345
},
13346
"name": "invalid.illegal.reference-type.cpp"
13347
},
13348
{
13349
"match": "\\&",
13350
"name": "storage.modifier.reference.cpp"
13351
}
13352
]
13353
},
13354
"6": {
13355
"patterns": [
13356
{
13357
"include": "#inline_comment"
13358
}
13359
]
13360
},
13361
"7": {
13362
"patterns": [
13363
{
13364
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13365
"captures": {
13366
"1": {
13367
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13368
},
13369
"2": {
13370
"name": "comment.block.cpp"
13371
},
13372
"3": {
13373
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13374
}
13375
}
13376
}
13377
]
13378
},
13379
"8": {
13380
"patterns": [
13381
{
13382
"include": "#inline_comment"
13383
}
13384
]
13385
},
13386
"9": {
13387
"patterns": [
13388
{
13389
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13390
"captures": {
13391
"1": {
13392
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13393
},
13394
"2": {
13395
"name": "comment.block.cpp"
13396
},
13397
"3": {
13398
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13399
}
13400
}
13401
}
13402
]
13403
},
13404
"10": {
13405
"patterns": [
13406
{
13407
"include": "#inline_comment"
13408
}
13409
]
13410
},
13411
"11": {
13412
"patterns": [
13413
{
13414
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13415
"captures": {
13416
"1": {
13417
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13418
},
13419
"2": {
13420
"name": "comment.block.cpp"
13421
},
13422
"3": {
13423
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13424
}
13425
}
13426
}
13427
]
13428
},
13429
"12": {
13430
"name": "variable.other.object.declare.cpp"
13431
},
13432
"13": {
13433
"patterns": [
13434
{
13435
"include": "#inline_comment"
13436
}
13437
]
13438
},
13439
"14": {
13440
"patterns": [
13441
{
13442
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13443
"captures": {
13444
"1": {
13445
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13446
},
13447
"2": {
13448
"name": "comment.block.cpp"
13449
},
13450
"3": {
13451
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13452
}
13453
}
13454
}
13455
]
13456
}
13457
}
13458
},
13459
"switch_conditional_parentheses": {
13460
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
13461
"end": "\\)",
13462
"beginCaptures": {
13463
"1": {
13464
"patterns": [
13465
{
13466
"include": "#inline_comment"
13467
}
13468
]
13469
},
13470
"2": {
13471
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13472
},
13473
"3": {
13474
"name": "comment.block.cpp"
13475
},
13476
"4": {
13477
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13478
},
13479
"5": {
13480
"name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"
13481
}
13482
},
13483
"endCaptures": {
13484
"0": {
13485
"name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp"
13486
}
13487
},
13488
"name": "meta.conditional.switch.cpp",
13489
"patterns": [
13490
{
13491
"include": "#evaluation_context"
13492
}
13493
]
13494
},
13495
"switch_statement": {
13496
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)switch(?!\\w))",
13497
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
13498
"beginCaptures": {
13499
"0": {
13500
"name": "meta.head.switch.cpp"
13501
},
13502
"1": {
13503
"patterns": [
13504
{
13505
"include": "#inline_comment"
13506
}
13507
]
13508
},
13509
"2": {
13510
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13511
},
13512
"3": {
13513
"name": "comment.block.cpp"
13514
},
13515
"4": {
13516
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13517
},
13518
"5": {
13519
"name": "keyword.control.switch.cpp"
13520
}
13521
},
13522
"endCaptures": {},
13523
"name": "meta.block.switch.cpp",
13524
"patterns": [
13525
{
13526
"begin": "\\G ?",
13527
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
13528
"beginCaptures": {},
13529
"endCaptures": {
13530
"0": {
13531
"name": "punctuation.section.block.begin.bracket.curly.switch.cpp"
13532
}
13533
},
13534
"name": "meta.head.switch.cpp",
13535
"patterns": [
13536
{
13537
"include": "#switch_conditional_parentheses"
13538
},
13539
{
13540
"include": "$self"
13541
}
13542
]
13543
},
13544
{
13545
"begin": "(?<=\\{|<%|\\?\\?<)",
13546
"end": "\\}|%>|\\?\\?>",
13547
"beginCaptures": {},
13548
"endCaptures": {
13549
"0": {
13550
"name": "punctuation.section.block.end.bracket.curly.switch.cpp"
13551
}
13552
},
13553
"name": "meta.body.switch.cpp",
13554
"patterns": [
13555
{
13556
"include": "#default_statement"
13557
},
13558
{
13559
"include": "#case_statement"
13560
},
13561
{
13562
"include": "$self"
13563
}
13564
]
13565
},
13566
{
13567
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
13568
"end": "[\\s]*(?=;)",
13569
"beginCaptures": {},
13570
"endCaptures": {},
13571
"name": "meta.tail.switch.cpp",
13572
"patterns": [
13573
{
13574
"include": "$self"
13575
}
13576
]
13577
}
13578
]
13579
},
13580
"template_argument_defaulted": {
13581
"match": "(?<=<|,)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\s+((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(\\=)",
13582
"captures": {
13583
"1": {
13584
"name": "storage.type.template.argument.$1.cpp"
13585
},
13586
"2": {
13587
"name": "entity.name.type.template.cpp"
13588
},
13589
"3": {
13590
"name": "keyword.operator.assignment.cpp"
13591
}
13592
}
13593
},
13594
"template_call_context": {
13595
"patterns": [
13596
{
13597
"include": "#ever_present_context"
13598
},
13599
{
13600
"include": "#template_call_range"
13601
},
13602
{
13603
"include": "#storage_types"
13604
},
13605
{
13606
"include": "#language_constants"
13607
},
13608
{
13609
"include": "#scope_resolution_template_call_inner_generated"
13610
},
13611
{
13612
"include": "#operators"
13613
},
13614
{
13615
"include": "#number_literal"
13616
},
13617
{
13618
"include": "#string_context"
13619
},
13620
{
13621
"include": "#comma_in_template_argument"
13622
},
13623
{
13624
"include": "#qualified_type"
13625
}
13626
]
13627
},
13628
"template_call_innards": {
13629
"match": "((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<1>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+",
13630
"captures": {
13631
"0": {
13632
"patterns": [
13633
{
13634
"include": "#template_call_range"
13635
}
13636
]
13637
},
13638
"2": {
13639
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13640
},
13641
"3": {
13642
"name": "comment.block.cpp"
13643
},
13644
"4": {
13645
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13646
}
13647
},
13648
"name": "meta.template.call.cpp"
13649
},
13650
"template_call_range": {
13651
"begin": "<",
13652
"end": ">",
13653
"beginCaptures": {
13654
"0": {
13655
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
13656
}
13657
},
13658
"endCaptures": {
13659
"0": {
13660
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
13661
}
13662
},
13663
"name": "meta.template.call.cpp",
13664
"patterns": [
13665
{
13666
"include": "#template_call_context"
13667
}
13668
]
13669
},
13670
"template_definition": {
13671
"begin": "(?<!\\w)(template)(?:\\s+)?(<)",
13672
"end": ">",
13673
"beginCaptures": {
13674
"1": {
13675
"name": "storage.type.template.cpp"
13676
},
13677
"2": {
13678
"name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
13679
}
13680
},
13681
"endCaptures": {
13682
"0": {
13683
"name": "punctuation.section.angle-brackets.end.template.definition.cpp"
13684
}
13685
},
13686
"name": "meta.template.definition.cpp",
13687
"patterns": [
13688
{
13689
"begin": "(?<=\\w)(?:\\s+)?<",
13690
"end": ">",
13691
"beginCaptures": {
13692
"0": {
13693
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
13694
}
13695
},
13696
"endCaptures": {
13697
"0": {
13698
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
13699
}
13700
},
13701
"patterns": [
13702
{
13703
"include": "#template_call_context"
13704
}
13705
]
13706
},
13707
{
13708
"include": "#template_definition_context"
13709
}
13710
]
13711
},
13712
"template_definition_argument": {
13713
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\s+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\.\\.\\.)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|(?<!\\w)(template)(?:\\s+)?(<)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(>)(?:\\s+)?(class|typename)(?:\\s+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:\\s+)?(?:(\\=)(?:\\s+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))",
13714
"captures": {
13715
"1": {
13716
"patterns": [
13717
{
13718
"include": "#inline_comment"
13719
}
13720
]
13721
},
13722
"2": {
13723
"patterns": [
13724
{
13725
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13726
"captures": {
13727
"1": {
13728
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13729
},
13730
"2": {
13731
"name": "comment.block.cpp"
13732
},
13733
"3": {
13734
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13735
}
13736
}
13737
}
13738
]
13739
},
13740
"3": {
13741
"name": "storage.type.template.argument.$3.cpp"
13742
},
13743
"4": {
13744
"patterns": [
13745
{
13746
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
13747
"name": "storage.type.template.argument.$0.cpp"
13748
}
13749
]
13750
},
13751
"5": {
13752
"name": "entity.name.type.template.cpp"
13753
},
13754
"6": {
13755
"name": "storage.type.template.argument.$6.cpp"
13756
},
13757
"7": {
13758
"name": "punctuation.vararg-ellipses.template.definition.cpp"
13759
},
13760
"8": {
13761
"name": "entity.name.type.template.cpp"
13762
},
13763
"9": {
13764
"name": "storage.type.template.cpp"
13765
},
13766
"10": {
13767
"name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
13768
},
13769
"11": {
13770
"name": "storage.type.template.argument.$11.cpp"
13771
},
13772
"12": {
13773
"name": "entity.name.type.template.cpp"
13774
},
13775
"13": {
13776
"name": "punctuation.section.angle-brackets.end.template.definition.cpp"
13777
},
13778
"14": {
13779
"name": "storage.type.template.argument.$14.cpp"
13780
},
13781
"15": {
13782
"name": "entity.name.type.template.cpp"
13783
},
13784
"16": {
13785
"name": "keyword.operator.assignment.cpp"
13786
},
13787
"17": {
13788
"name": "punctuation.separator.delimiter.comma.template.argument.cpp"
13789
}
13790
}
13791
},
13792
"template_definition_context": {
13793
"patterns": [
13794
{
13795
"include": "#scope_resolution_template_definition_inner_generated"
13796
},
13797
{
13798
"include": "#template_definition_argument"
13799
},
13800
{
13801
"include": "#template_argument_defaulted"
13802
},
13803
{
13804
"include": "#template_call_innards"
13805
},
13806
{
13807
"include": "#evaluation_context"
13808
}
13809
]
13810
},
13811
"template_explicit_instantiation": {
13812
"match": "(?<!\\w)(?:(extern)\\s+)?(template)\\s+",
13813
"captures": {
13814
"1": {
13815
"name": "storage.modifier.specifier.extern.cpp"
13816
},
13817
"2": {
13818
"name": "storage.type.template.cpp"
13819
}
13820
},
13821
"name": "meta.template.explicit-instantiation.cpp"
13822
},
13823
"template_isolated_definition": {
13824
"match": "(?<!\\w)(template)(?:\\s+)?(<)(.*)(>)(?:\\s+)?$",
13825
"captures": {
13826
"1": {
13827
"name": "storage.type.template.cpp"
13828
},
13829
"2": {
13830
"name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
13831
},
13832
"3": {
13833
"name": "meta.template.definition.cpp",
13834
"patterns": [
13835
{
13836
"include": "#template_definition_context"
13837
}
13838
]
13839
},
13840
"4": {
13841
"name": "punctuation.section.angle-brackets.end.template.definition.cpp"
13842
}
13843
}
13844
},
13845
"ternary_operator": {
13846
"begin": "\\?",
13847
"end": ":",
13848
"beginCaptures": {
13849
"0": {
13850
"name": "keyword.operator.ternary.cpp"
13851
}
13852
},
13853
"endCaptures": {
13854
"0": {
13855
"name": "keyword.operator.ternary.cpp"
13856
}
13857
},
13858
"patterns": [
13859
{
13860
"include": "#ever_present_context"
13861
},
13862
{
13863
"include": "#string_context"
13864
},
13865
{
13866
"include": "#number_literal"
13867
},
13868
{
13869
"include": "#method_access"
13870
},
13871
{
13872
"include": "#member_access"
13873
},
13874
{
13875
"include": "#predefined_macros"
13876
},
13877
{
13878
"include": "#operators"
13879
},
13880
{
13881
"include": "#memory_operators"
13882
},
13883
{
13884
"include": "#wordlike_operators"
13885
},
13886
{
13887
"include": "#type_casting_operators"
13888
},
13889
{
13890
"include": "#control_flow_keywords"
13891
},
13892
{
13893
"include": "#exception_keywords"
13894
},
13895
{
13896
"include": "#the_this_keyword"
13897
},
13898
{
13899
"include": "#language_constants"
13900
},
13901
{
13902
"include": "#builtin_storage_type_initilizer"
13903
},
13904
{
13905
"include": "#qualifiers_and_specifiers_post_parameters"
13906
},
13907
{
13908
"include": "#functional_specifiers_pre_parameters"
13909
},
13910
{
13911
"include": "#storage_types"
13912
},
13913
{
13914
"include": "#lambdas"
13915
},
13916
{
13917
"include": "#attributes_context"
13918
},
13919
{
13920
"include": "#parentheses"
13921
},
13922
{
13923
"include": "#function_call"
13924
},
13925
{
13926
"include": "#scope_resolution_inner_generated"
13927
},
13928
{
13929
"include": "#square_brackets"
13930
},
13931
{
13932
"include": "#semicolon"
13933
},
13934
{
13935
"include": "#comma"
13936
}
13937
],
13938
"applyEndPatternLast": 1
13939
},
13940
"the_this_keyword": {
13941
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))",
13942
"captures": {
13943
"1": {
13944
"patterns": [
13945
{
13946
"include": "#inline_comment"
13947
}
13948
]
13949
},
13950
"2": {
13951
"patterns": [
13952
{
13953
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13954
"captures": {
13955
"1": {
13956
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13957
},
13958
"2": {
13959
"name": "comment.block.cpp"
13960
},
13961
"3": {
13962
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13963
}
13964
}
13965
}
13966
]
13967
},
13968
"3": {
13969
"name": "variable.language.this.cpp"
13970
}
13971
}
13972
},
13973
"type_alias": {
13974
"match": "(using)\\s+(?!namespace)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:\\s+)?(\\=)(?:\\s+)?((?:typename)?)(?:\\s+)?((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w)\\s+)+)?(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<19>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<19>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?<!;)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?:(\\[)(\\w*)(\\])(?:\\s+)?)?(?:\\s+)?(?:(;)|\\n)",
13975
"captures": {
13976
"1": {
13977
"name": "keyword.other.using.directive.cpp"
13978
},
13979
"2": {
13980
"name": "entity.name.type.cpp"
13981
},
13982
"3": {
13983
"patterns": [
13984
{
13985
"include": "#attributes_context"
13986
},
13987
{
13988
"include": "#number_literal"
13989
}
13990
]
13991
},
13992
"4": {
13993
"name": "keyword.operator.assignment.cpp"
13994
},
13995
"5": {
13996
"name": "keyword.other.typename.cpp"
13997
},
13998
"6": {
13999
"patterns": [
14000
{
14001
"include": "#storage_specifiers"
14002
}
14003
]
14004
},
14005
"7": {
14006
"patterns": [
14007
{
14008
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14009
"captures": {
14010
"1": {
14011
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14012
},
14013
"2": {
14014
"name": "comment.block.cpp"
14015
},
14016
"3": {
14017
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14018
}
14019
}
14020
}
14021
]
14022
},
14023
"8": {
14024
"name": "meta.qualified_type.cpp",
14025
"patterns": [
14026
{
14027
"match": "::",
14028
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
14029
},
14030
{
14031
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
14032
"name": "storage.type.$0.cpp"
14033
},
14034
{
14035
"include": "#attributes_context"
14036
},
14037
{
14038
"include": "#storage_types"
14039
},
14040
{
14041
"include": "#number_literal"
14042
},
14043
{
14044
"include": "#string_context"
14045
},
14046
{
14047
"include": "#comma"
14048
},
14049
{
14050
"include": "#scope_resolution_inner_generated"
14051
},
14052
{
14053
"begin": "<",
14054
"end": ">",
14055
"beginCaptures": {
14056
"0": {
14057
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
14058
}
14059
},
14060
"endCaptures": {
14061
"0": {
14062
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
14063
}
14064
},
14065
"name": "meta.template.call.cpp",
14066
"patterns": [
14067
{
14068
"include": "#template_call_context"
14069
}
14070
]
14071
},
14072
{
14073
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
14074
"name": "entity.name.type.cpp"
14075
}
14076
]
14077
},
14078
"9": {
14079
"patterns": [
14080
{
14081
"include": "#attributes_context"
14082
},
14083
{
14084
"include": "#number_literal"
14085
}
14086
]
14087
},
14088
"10": {
14089
"patterns": [
14090
{
14091
"include": "#inline_comment"
14092
}
14093
]
14094
},
14095
"11": {
14096
"patterns": [
14097
{
14098
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14099
"captures": {
14100
"1": {
14101
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14102
},
14103
"2": {
14104
"name": "comment.block.cpp"
14105
},
14106
"3": {
14107
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14108
}
14109
}
14110
}
14111
]
14112
},
14113
"12": {
14114
"patterns": [
14115
{
14116
"include": "#inline_comment"
14117
}
14118
]
14119
},
14120
"13": {
14121
"patterns": [
14122
{
14123
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14124
"captures": {
14125
"1": {
14126
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14127
},
14128
"2": {
14129
"name": "comment.block.cpp"
14130
},
14131
"3": {
14132
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14133
}
14134
}
14135
}
14136
]
14137
},
14138
"14": {
14139
"patterns": [
14140
{
14141
"match": "::",
14142
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
14143
},
14144
{
14145
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
14146
"name": "entity.name.scope-resolution.type.cpp"
14147
},
14148
{
14149
"include": "#template_call_range"
14150
}
14151
]
14152
},
14153
"15": {
14154
"patterns": [
14155
{
14156
"include": "#template_call_range"
14157
}
14158
]
14159
},
14160
"17": {
14161
"patterns": [
14162
{
14163
"include": "#inline_comment"
14164
}
14165
]
14166
},
14167
"18": {
14168
"patterns": [
14169
{
14170
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14171
"captures": {
14172
"1": {
14173
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14174
},
14175
"2": {
14176
"name": "comment.block.cpp"
14177
},
14178
"3": {
14179
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14180
}
14181
}
14182
}
14183
]
14184
},
14185
"20": {
14186
"name": "meta.declaration.type.alias.value.unknown.cpp",
14187
"patterns": [
14188
{
14189
"include": "#evaluation_context"
14190
}
14191
]
14192
},
14193
"21": {
14194
"patterns": [
14195
{
14196
"match": "\\*",
14197
"name": "storage.modifier.pointer.cpp"
14198
},
14199
{
14200
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
14201
"captures": {
14202
"1": {
14203
"patterns": [
14204
{
14205
"include": "#inline_comment"
14206
}
14207
]
14208
},
14209
"2": {
14210
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14211
},
14212
"3": {
14213
"name": "comment.block.cpp"
14214
},
14215
"4": {
14216
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14217
}
14218
},
14219
"name": "invalid.illegal.reference-type.cpp"
14220
},
14221
{
14222
"match": "\\&",
14223
"name": "storage.modifier.reference.cpp"
14224
}
14225
]
14226
},
14227
"22": {
14228
"patterns": [
14229
{
14230
"include": "#inline_comment"
14231
}
14232
]
14233
},
14234
"23": {
14235
"patterns": [
14236
{
14237
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14238
"captures": {
14239
"1": {
14240
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14241
},
14242
"2": {
14243
"name": "comment.block.cpp"
14244
},
14245
"3": {
14246
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14247
}
14248
}
14249
}
14250
]
14251
},
14252
"24": {
14253
"patterns": [
14254
{
14255
"include": "#inline_comment"
14256
}
14257
]
14258
},
14259
"25": {
14260
"patterns": [
14261
{
14262
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14263
"captures": {
14264
"1": {
14265
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14266
},
14267
"2": {
14268
"name": "comment.block.cpp"
14269
},
14270
"3": {
14271
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14272
}
14273
}
14274
}
14275
]
14276
},
14277
"26": {
14278
"patterns": [
14279
{
14280
"include": "#inline_comment"
14281
}
14282
]
14283
},
14284
"27": {
14285
"patterns": [
14286
{
14287
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14288
"captures": {
14289
"1": {
14290
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14291
},
14292
"2": {
14293
"name": "comment.block.cpp"
14294
},
14295
"3": {
14296
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14297
}
14298
}
14299
}
14300
]
14301
},
14302
"28": {
14303
"name": "punctuation.definition.begin.bracket.square.cpp"
14304
},
14305
"29": {
14306
"patterns": [
14307
{
14308
"include": "#evaluation_context"
14309
}
14310
]
14311
},
14312
"30": {
14313
"name": "punctuation.definition.end.bracket.square.cpp"
14314
},
14315
"31": {
14316
"name": "punctuation.terminator.statement.cpp"
14317
}
14318
},
14319
"name": "meta.declaration.type.alias.cpp"
14320
},
14321
"type_casting_operators": {
14322
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:reinterpret_cast)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast))(?!\\w))",
14323
"captures": {
14324
"1": {
14325
"patterns": [
14326
{
14327
"include": "#inline_comment"
14328
}
14329
]
14330
},
14331
"2": {
14332
"patterns": [
14333
{
14334
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14335
"captures": {
14336
"1": {
14337
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14338
},
14339
"2": {
14340
"name": "comment.block.cpp"
14341
},
14342
"3": {
14343
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14344
}
14345
}
14346
}
14347
]
14348
},
14349
"3": {
14350
"name": "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"
14351
}
14352
}
14353
},
14354
"typedef_class": {
14355
"begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)class(?!\\w))",
14356
"end": "(?<=;)",
14357
"beginCaptures": {
14358
"1": {
14359
"name": "keyword.other.typedef.cpp"
14360
}
14361
},
14362
"endCaptures": {},
14363
"patterns": [
14364
{
14365
"begin": "((?<!\\w)class(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",
14366
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
14367
"beginCaptures": {
14368
"0": {
14369
"name": "meta.head.class.cpp"
14370
},
14371
"1": {
14372
"name": "storage.type.$1.cpp"
14373
},
14374
"2": {
14375
"patterns": [
14376
{
14377
"include": "#inline_comment"
14378
}
14379
]
14380
},
14381
"3": {
14382
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14383
},
14384
"4": {
14385
"name": "comment.block.cpp"
14386
},
14387
"5": {
14388
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14389
},
14390
"6": {
14391
"patterns": [
14392
{
14393
"include": "#attributes_context"
14394
},
14395
{
14396
"include": "#number_literal"
14397
}
14398
]
14399
},
14400
"7": {
14401
"patterns": [
14402
{
14403
"include": "#inline_comment"
14404
}
14405
]
14406
},
14407
"8": {
14408
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14409
},
14410
"9": {
14411
"name": "comment.block.cpp"
14412
},
14413
"10": {
14414
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14415
},
14416
"11": {
14417
"patterns": [
14418
{
14419
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
14420
"captures": {
14421
"1": {
14422
"name": "storage.type.modifier.final.cpp"
14423
},
14424
"2": {
14425
"patterns": [
14426
{
14427
"include": "#inline_comment"
14428
}
14429
]
14430
},
14431
"3": {
14432
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14433
},
14434
"4": {
14435
"name": "comment.block.cpp"
14436
},
14437
"5": {
14438
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14439
}
14440
}
14441
},
14442
{
14443
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",
14444
"captures": {
14445
"1": {
14446
"name": "entity.name.type.class.cpp"
14447
},
14448
"2": {
14449
"patterns": [
14450
{
14451
"include": "#inline_comment"
14452
}
14453
]
14454
},
14455
"3": {
14456
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14457
},
14458
"4": {
14459
"name": "comment.block.cpp"
14460
},
14461
"5": {
14462
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14463
},
14464
"6": {
14465
"name": "storage.type.modifier.final.cpp"
14466
},
14467
"7": {
14468
"patterns": [
14469
{
14470
"include": "#inline_comment"
14471
}
14472
]
14473
},
14474
"8": {
14475
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14476
},
14477
"9": {
14478
"name": "comment.block.cpp"
14479
},
14480
"10": {
14481
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14482
}
14483
}
14484
},
14485
{
14486
"match": "DLLEXPORT",
14487
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
14488
},
14489
{
14490
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
14491
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
14492
}
14493
]
14494
},
14495
"12": {
14496
"patterns": [
14497
{
14498
"include": "#inline_comment"
14499
}
14500
]
14501
},
14502
"13": {
14503
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14504
},
14505
"14": {
14506
"name": "comment.block.cpp"
14507
},
14508
"15": {
14509
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14510
},
14511
"16": {
14512
"patterns": [
14513
{
14514
"include": "#inline_comment"
14515
}
14516
]
14517
},
14518
"17": {
14519
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14520
},
14521
"18": {
14522
"name": "comment.block.cpp"
14523
},
14524
"19": {
14525
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14526
},
14527
"20": {
14528
"name": "punctuation.separator.colon.inheritance.cpp"
14529
}
14530
},
14531
"endCaptures": {
14532
"1": {
14533
"name": "punctuation.terminator.statement.cpp"
14534
},
14535
"2": {
14536
"name": "punctuation.terminator.statement.cpp"
14537
}
14538
},
14539
"name": "meta.block.class.cpp",
14540
"patterns": [
14541
{
14542
"begin": "\\G ?",
14543
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
14544
"beginCaptures": {},
14545
"endCaptures": {
14546
"0": {
14547
"name": "punctuation.section.block.begin.bracket.curly.class.cpp"
14548
}
14549
},
14550
"name": "meta.head.class.cpp",
14551
"patterns": [
14552
{
14553
"include": "#ever_present_context"
14554
},
14555
{
14556
"include": "#inheritance_context"
14557
},
14558
{
14559
"include": "#template_call_range"
14560
}
14561
]
14562
},
14563
{
14564
"begin": "(?<=\\{|<%|\\?\\?<)",
14565
"end": "\\}|%>|\\?\\?>",
14566
"beginCaptures": {},
14567
"endCaptures": {
14568
"0": {
14569
"name": "punctuation.section.block.end.bracket.curly.class.cpp"
14570
}
14571
},
14572
"name": "meta.body.class.cpp",
14573
"patterns": [
14574
{
14575
"include": "#function_pointer"
14576
},
14577
{
14578
"include": "#static_assert"
14579
},
14580
{
14581
"include": "#constructor_inline"
14582
},
14583
{
14584
"include": "#destructor_inline"
14585
},
14586
{
14587
"include": "$self"
14588
}
14589
]
14590
},
14591
{
14592
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
14593
"end": "[\\s]*(?=;)",
14594
"beginCaptures": {},
14595
"endCaptures": {},
14596
"name": "meta.tail.class.cpp",
14597
"patterns": [
14598
{
14599
"match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
14600
"captures": {
14601
"1": {
14602
"patterns": [
14603
{
14604
"match": "\\*",
14605
"name": "storage.modifier.pointer.cpp"
14606
},
14607
{
14608
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
14609
"captures": {
14610
"1": {
14611
"patterns": [
14612
{
14613
"include": "#inline_comment"
14614
}
14615
]
14616
},
14617
"2": {
14618
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14619
},
14620
"3": {
14621
"name": "comment.block.cpp"
14622
},
14623
"4": {
14624
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14625
}
14626
},
14627
"name": "invalid.illegal.reference-type.cpp"
14628
},
14629
{
14630
"match": "\\&",
14631
"name": "storage.modifier.reference.cpp"
14632
}
14633
]
14634
},
14635
"2": {
14636
"patterns": [
14637
{
14638
"include": "#inline_comment"
14639
}
14640
]
14641
},
14642
"3": {
14643
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14644
},
14645
"4": {
14646
"name": "comment.block.cpp"
14647
},
14648
"5": {
14649
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14650
},
14651
"6": {
14652
"patterns": [
14653
{
14654
"include": "#inline_comment"
14655
}
14656
]
14657
},
14658
"7": {
14659
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14660
},
14661
"8": {
14662
"name": "comment.block.cpp"
14663
},
14664
"9": {
14665
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14666
},
14667
"10": {
14668
"patterns": [
14669
{
14670
"include": "#inline_comment"
14671
}
14672
]
14673
},
14674
"11": {
14675
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14676
},
14677
"12": {
14678
"name": "comment.block.cpp"
14679
},
14680
"13": {
14681
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14682
},
14683
"14": {
14684
"name": "entity.name.type.alias.cpp"
14685
}
14686
}
14687
},
14688
{
14689
"match": ","
14690
}
14691
]
14692
}
14693
]
14694
}
14695
]
14696
},
14697
"typedef_function_pointer": {
14698
"begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=.*\\(\\*\\s*(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\s*\\))",
14699
"end": "(?<=;)",
14700
"beginCaptures": {
14701
"1": {
14702
"name": "keyword.other.typedef.cpp"
14703
}
14704
},
14705
"endCaptures": {},
14706
"patterns": [
14707
{
14708
"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()",
14709
"end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()",
14710
"beginCaptures": {
14711
"1": {
14712
"name": "meta.qualified_type.cpp",
14713
"patterns": [
14714
{
14715
"match": "::",
14716
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
14717
},
14718
{
14719
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
14720
"name": "storage.type.$0.cpp"
14721
},
14722
{
14723
"include": "#attributes_context"
14724
},
14725
{
14726
"include": "#storage_types"
14727
},
14728
{
14729
"include": "#number_literal"
14730
},
14731
{
14732
"include": "#string_context"
14733
},
14734
{
14735
"include": "#comma"
14736
},
14737
{
14738
"include": "#scope_resolution_inner_generated"
14739
},
14740
{
14741
"begin": "<",
14742
"end": ">",
14743
"beginCaptures": {
14744
"0": {
14745
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
14746
}
14747
},
14748
"endCaptures": {
14749
"0": {
14750
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
14751
}
14752
},
14753
"name": "meta.template.call.cpp",
14754
"patterns": [
14755
{
14756
"include": "#template_call_context"
14757
}
14758
]
14759
},
14760
{
14761
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
14762
"name": "entity.name.type.cpp"
14763
}
14764
]
14765
},
14766
"2": {
14767
"patterns": [
14768
{
14769
"include": "#attributes_context"
14770
},
14771
{
14772
"include": "#number_literal"
14773
}
14774
]
14775
},
14776
"3": {
14777
"patterns": [
14778
{
14779
"include": "#inline_comment"
14780
}
14781
]
14782
},
14783
"4": {
14784
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14785
},
14786
"5": {
14787
"name": "comment.block.cpp"
14788
},
14789
"6": {
14790
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14791
},
14792
"7": {
14793
"patterns": [
14794
{
14795
"include": "#inline_comment"
14796
}
14797
]
14798
},
14799
"8": {
14800
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14801
},
14802
"9": {
14803
"name": "comment.block.cpp"
14804
},
14805
"10": {
14806
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14807
},
14808
"11": {
14809
"patterns": [
14810
{
14811
"match": "::",
14812
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
14813
},
14814
{
14815
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
14816
"name": "entity.name.scope-resolution.type.cpp"
14817
},
14818
{
14819
"include": "#template_call_range"
14820
}
14821
]
14822
},
14823
"12": {
14824
"patterns": [
14825
{
14826
"include": "#template_call_range"
14827
}
14828
]
14829
},
14830
"13": {},
14831
"14": {
14832
"patterns": [
14833
{
14834
"include": "#inline_comment"
14835
}
14836
]
14837
},
14838
"15": {
14839
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14840
},
14841
"16": {
14842
"name": "comment.block.cpp"
14843
},
14844
"17": {
14845
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14846
},
14847
"18": {},
14848
"19": {
14849
"patterns": [
14850
{
14851
"match": "\\*",
14852
"name": "storage.modifier.pointer.cpp"
14853
},
14854
{
14855
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
14856
"captures": {
14857
"1": {
14858
"patterns": [
14859
{
14860
"include": "#inline_comment"
14861
}
14862
]
14863
},
14864
"2": {
14865
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14866
},
14867
"3": {
14868
"name": "comment.block.cpp"
14869
},
14870
"4": {
14871
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14872
}
14873
},
14874
"name": "invalid.illegal.reference-type.cpp"
14875
},
14876
{
14877
"match": "\\&",
14878
"name": "storage.modifier.reference.cpp"
14879
}
14880
]
14881
},
14882
"20": {
14883
"patterns": [
14884
{
14885
"include": "#inline_comment"
14886
}
14887
]
14888
},
14889
"21": {
14890
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14891
},
14892
"22": {
14893
"name": "comment.block.cpp"
14894
},
14895
"23": {
14896
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14897
},
14898
"24": {
14899
"patterns": [
14900
{
14901
"include": "#inline_comment"
14902
}
14903
]
14904
},
14905
"25": {
14906
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14907
},
14908
"26": {
14909
"name": "comment.block.cpp"
14910
},
14911
"27": {
14912
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14913
},
14914
"28": {
14915
"patterns": [
14916
{
14917
"include": "#inline_comment"
14918
}
14919
]
14920
},
14921
"29": {
14922
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14923
},
14924
"30": {
14925
"name": "comment.block.cpp"
14926
},
14927
"31": {
14928
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14929
},
14930
"32": {
14931
"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
14932
},
14933
"33": {
14934
"name": "punctuation.definition.function.pointer.dereference.cpp"
14935
},
14936
"34": {
14937
"name": "entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"
14938
},
14939
"35": {
14940
"name": "punctuation.definition.begin.bracket.square.cpp"
14941
},
14942
"36": {
14943
"patterns": [
14944
{
14945
"include": "#evaluation_context"
14946
}
14947
]
14948
},
14949
"37": {
14950
"name": "punctuation.definition.end.bracket.square.cpp"
14951
},
14952
"38": {
14953
"name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
14954
},
14955
"39": {
14956
"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
14957
}
14958
},
14959
"endCaptures": {
14960
"1": {
14961
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
14962
},
14963
"2": {
14964
"patterns": [
14965
{
14966
"include": "#inline_comment"
14967
}
14968
]
14969
},
14970
"3": {
14971
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14972
},
14973
"4": {
14974
"name": "comment.block.cpp"
14975
},
14976
"5": {
14977
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14978
}
14979
},
14980
"patterns": [
14981
{
14982
"include": "#function_parameter_context"
14983
}
14984
]
14985
}
14986
]
14987
},
14988
"typedef_struct": {
14989
"begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)struct(?!\\w))",
14990
"end": "(?<=;)",
14991
"beginCaptures": {
14992
"1": {
14993
"name": "keyword.other.typedef.cpp"
14994
}
14995
},
14996
"endCaptures": {},
14997
"patterns": [
14998
{
14999
"begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",
15000
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
15001
"beginCaptures": {
15002
"0": {
15003
"name": "meta.head.struct.cpp"
15004
},
15005
"1": {
15006
"name": "storage.type.$1.cpp"
15007
},
15008
"2": {
15009
"patterns": [
15010
{
15011
"include": "#inline_comment"
15012
}
15013
]
15014
},
15015
"3": {
15016
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15017
},
15018
"4": {
15019
"name": "comment.block.cpp"
15020
},
15021
"5": {
15022
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15023
},
15024
"6": {
15025
"patterns": [
15026
{
15027
"include": "#attributes_context"
15028
},
15029
{
15030
"include": "#number_literal"
15031
}
15032
]
15033
},
15034
"7": {
15035
"patterns": [
15036
{
15037
"include": "#inline_comment"
15038
}
15039
]
15040
},
15041
"8": {
15042
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15043
},
15044
"9": {
15045
"name": "comment.block.cpp"
15046
},
15047
"10": {
15048
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15049
},
15050
"11": {
15051
"patterns": [
15052
{
15053
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
15054
"captures": {
15055
"1": {
15056
"name": "storage.type.modifier.final.cpp"
15057
},
15058
"2": {
15059
"patterns": [
15060
{
15061
"include": "#inline_comment"
15062
}
15063
]
15064
},
15065
"3": {
15066
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15067
},
15068
"4": {
15069
"name": "comment.block.cpp"
15070
},
15071
"5": {
15072
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15073
}
15074
}
15075
},
15076
{
15077
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",
15078
"captures": {
15079
"1": {
15080
"name": "entity.name.type.struct.cpp"
15081
},
15082
"2": {
15083
"patterns": [
15084
{
15085
"include": "#inline_comment"
15086
}
15087
]
15088
},
15089
"3": {
15090
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15091
},
15092
"4": {
15093
"name": "comment.block.cpp"
15094
},
15095
"5": {
15096
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15097
},
15098
"6": {
15099
"name": "storage.type.modifier.final.cpp"
15100
},
15101
"7": {
15102
"patterns": [
15103
{
15104
"include": "#inline_comment"
15105
}
15106
]
15107
},
15108
"8": {
15109
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15110
},
15111
"9": {
15112
"name": "comment.block.cpp"
15113
},
15114
"10": {
15115
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15116
}
15117
}
15118
},
15119
{
15120
"match": "DLLEXPORT",
15121
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
15122
},
15123
{
15124
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
15125
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
15126
}
15127
]
15128
},
15129
"12": {
15130
"patterns": [
15131
{
15132
"include": "#inline_comment"
15133
}
15134
]
15135
},
15136
"13": {
15137
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15138
},
15139
"14": {
15140
"name": "comment.block.cpp"
15141
},
15142
"15": {
15143
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15144
},
15145
"16": {
15146
"patterns": [
15147
{
15148
"include": "#inline_comment"
15149
}
15150
]
15151
},
15152
"17": {
15153
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15154
},
15155
"18": {
15156
"name": "comment.block.cpp"
15157
},
15158
"19": {
15159
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15160
},
15161
"20": {
15162
"name": "punctuation.separator.colon.inheritance.cpp"
15163
}
15164
},
15165
"endCaptures": {
15166
"1": {
15167
"name": "punctuation.terminator.statement.cpp"
15168
},
15169
"2": {
15170
"name": "punctuation.terminator.statement.cpp"
15171
}
15172
},
15173
"name": "meta.block.struct.cpp",
15174
"patterns": [
15175
{
15176
"begin": "\\G ?",
15177
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
15178
"beginCaptures": {},
15179
"endCaptures": {
15180
"0": {
15181
"name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
15182
}
15183
},
15184
"name": "meta.head.struct.cpp",
15185
"patterns": [
15186
{
15187
"include": "#ever_present_context"
15188
},
15189
{
15190
"include": "#inheritance_context"
15191
},
15192
{
15193
"include": "#template_call_range"
15194
}
15195
]
15196
},
15197
{
15198
"begin": "(?<=\\{|<%|\\?\\?<)",
15199
"end": "\\}|%>|\\?\\?>",
15200
"beginCaptures": {},
15201
"endCaptures": {
15202
"0": {
15203
"name": "punctuation.section.block.end.bracket.curly.struct.cpp"
15204
}
15205
},
15206
"name": "meta.body.struct.cpp",
15207
"patterns": [
15208
{
15209
"include": "#function_pointer"
15210
},
15211
{
15212
"include": "#static_assert"
15213
},
15214
{
15215
"include": "#constructor_inline"
15216
},
15217
{
15218
"include": "#destructor_inline"
15219
},
15220
{
15221
"include": "$self"
15222
}
15223
]
15224
},
15225
{
15226
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
15227
"end": "[\\s]*(?=;)",
15228
"beginCaptures": {},
15229
"endCaptures": {},
15230
"name": "meta.tail.struct.cpp",
15231
"patterns": [
15232
{
15233
"match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
15234
"captures": {
15235
"1": {
15236
"patterns": [
15237
{
15238
"match": "\\*",
15239
"name": "storage.modifier.pointer.cpp"
15240
},
15241
{
15242
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
15243
"captures": {
15244
"1": {
15245
"patterns": [
15246
{
15247
"include": "#inline_comment"
15248
}
15249
]
15250
},
15251
"2": {
15252
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15253
},
15254
"3": {
15255
"name": "comment.block.cpp"
15256
},
15257
"4": {
15258
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15259
}
15260
},
15261
"name": "invalid.illegal.reference-type.cpp"
15262
},
15263
{
15264
"match": "\\&",
15265
"name": "storage.modifier.reference.cpp"
15266
}
15267
]
15268
},
15269
"2": {
15270
"patterns": [
15271
{
15272
"include": "#inline_comment"
15273
}
15274
]
15275
},
15276
"3": {
15277
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15278
},
15279
"4": {
15280
"name": "comment.block.cpp"
15281
},
15282
"5": {
15283
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15284
},
15285
"6": {
15286
"patterns": [
15287
{
15288
"include": "#inline_comment"
15289
}
15290
]
15291
},
15292
"7": {
15293
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15294
},
15295
"8": {
15296
"name": "comment.block.cpp"
15297
},
15298
"9": {
15299
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15300
},
15301
"10": {
15302
"patterns": [
15303
{
15304
"include": "#inline_comment"
15305
}
15306
]
15307
},
15308
"11": {
15309
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15310
},
15311
"12": {
15312
"name": "comment.block.cpp"
15313
},
15314
"13": {
15315
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15316
},
15317
"14": {
15318
"name": "entity.name.type.alias.cpp"
15319
}
15320
}
15321
},
15322
{
15323
"match": ","
15324
}
15325
]
15326
}
15327
]
15328
}
15329
]
15330
},
15331
"typedef_union": {
15332
"begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)union(?!\\w))",
15333
"end": "(?<=;)",
15334
"beginCaptures": {
15335
"1": {
15336
"name": "keyword.other.typedef.cpp"
15337
}
15338
},
15339
"endCaptures": {},
15340
"patterns": [
15341
{
15342
"begin": "((?<!\\w)union(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",
15343
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
15344
"beginCaptures": {
15345
"0": {
15346
"name": "meta.head.union.cpp"
15347
},
15348
"1": {
15349
"name": "storage.type.$1.cpp"
15350
},
15351
"2": {
15352
"patterns": [
15353
{
15354
"include": "#inline_comment"
15355
}
15356
]
15357
},
15358
"3": {
15359
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15360
},
15361
"4": {
15362
"name": "comment.block.cpp"
15363
},
15364
"5": {
15365
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15366
},
15367
"6": {
15368
"patterns": [
15369
{
15370
"include": "#attributes_context"
15371
},
15372
{
15373
"include": "#number_literal"
15374
}
15375
]
15376
},
15377
"7": {
15378
"patterns": [
15379
{
15380
"include": "#inline_comment"
15381
}
15382
]
15383
},
15384
"8": {
15385
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15386
},
15387
"9": {
15388
"name": "comment.block.cpp"
15389
},
15390
"10": {
15391
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15392
},
15393
"11": {
15394
"patterns": [
15395
{
15396
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
15397
"captures": {
15398
"1": {
15399
"name": "storage.type.modifier.final.cpp"
15400
},
15401
"2": {
15402
"patterns": [
15403
{
15404
"include": "#inline_comment"
15405
}
15406
]
15407
},
15408
"3": {
15409
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15410
},
15411
"4": {
15412
"name": "comment.block.cpp"
15413
},
15414
"5": {
15415
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15416
}
15417
}
15418
},
15419
{
15420
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",
15421
"captures": {
15422
"1": {
15423
"name": "entity.name.type.union.cpp"
15424
},
15425
"2": {
15426
"patterns": [
15427
{
15428
"include": "#inline_comment"
15429
}
15430
]
15431
},
15432
"3": {
15433
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15434
},
15435
"4": {
15436
"name": "comment.block.cpp"
15437
},
15438
"5": {
15439
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15440
},
15441
"6": {
15442
"name": "storage.type.modifier.final.cpp"
15443
},
15444
"7": {
15445
"patterns": [
15446
{
15447
"include": "#inline_comment"
15448
}
15449
]
15450
},
15451
"8": {
15452
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15453
},
15454
"9": {
15455
"name": "comment.block.cpp"
15456
},
15457
"10": {
15458
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15459
}
15460
}
15461
},
15462
{
15463
"match": "DLLEXPORT",
15464
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
15465
},
15466
{
15467
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
15468
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
15469
}
15470
]
15471
},
15472
"12": {
15473
"patterns": [
15474
{
15475
"include": "#inline_comment"
15476
}
15477
]
15478
},
15479
"13": {
15480
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15481
},
15482
"14": {
15483
"name": "comment.block.cpp"
15484
},
15485
"15": {
15486
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15487
},
15488
"16": {
15489
"patterns": [
15490
{
15491
"include": "#inline_comment"
15492
}
15493
]
15494
},
15495
"17": {
15496
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15497
},
15498
"18": {
15499
"name": "comment.block.cpp"
15500
},
15501
"19": {
15502
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15503
},
15504
"20": {
15505
"name": "punctuation.separator.colon.inheritance.cpp"
15506
}
15507
},
15508
"endCaptures": {
15509
"1": {
15510
"name": "punctuation.terminator.statement.cpp"
15511
},
15512
"2": {
15513
"name": "punctuation.terminator.statement.cpp"
15514
}
15515
},
15516
"name": "meta.block.union.cpp",
15517
"patterns": [
15518
{
15519
"begin": "\\G ?",
15520
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
15521
"beginCaptures": {},
15522
"endCaptures": {
15523
"0": {
15524
"name": "punctuation.section.block.begin.bracket.curly.union.cpp"
15525
}
15526
},
15527
"name": "meta.head.union.cpp",
15528
"patterns": [
15529
{
15530
"include": "#ever_present_context"
15531
},
15532
{
15533
"include": "#inheritance_context"
15534
},
15535
{
15536
"include": "#template_call_range"
15537
}
15538
]
15539
},
15540
{
15541
"begin": "(?<=\\{|<%|\\?\\?<)",
15542
"end": "\\}|%>|\\?\\?>",
15543
"beginCaptures": {},
15544
"endCaptures": {
15545
"0": {
15546
"name": "punctuation.section.block.end.bracket.curly.union.cpp"
15547
}
15548
},
15549
"name": "meta.body.union.cpp",
15550
"patterns": [
15551
{
15552
"include": "#function_pointer"
15553
},
15554
{
15555
"include": "#static_assert"
15556
},
15557
{
15558
"include": "#constructor_inline"
15559
},
15560
{
15561
"include": "#destructor_inline"
15562
},
15563
{
15564
"include": "$self"
15565
}
15566
]
15567
},
15568
{
15569
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
15570
"end": "[\\s]*(?=;)",
15571
"beginCaptures": {},
15572
"endCaptures": {},
15573
"name": "meta.tail.union.cpp",
15574
"patterns": [
15575
{
15576
"match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
15577
"captures": {
15578
"1": {
15579
"patterns": [
15580
{
15581
"match": "\\*",
15582
"name": "storage.modifier.pointer.cpp"
15583
},
15584
{
15585
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
15586
"captures": {
15587
"1": {
15588
"patterns": [
15589
{
15590
"include": "#inline_comment"
15591
}
15592
]
15593
},
15594
"2": {
15595
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15596
},
15597
"3": {
15598
"name": "comment.block.cpp"
15599
},
15600
"4": {
15601
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15602
}
15603
},
15604
"name": "invalid.illegal.reference-type.cpp"
15605
},
15606
{
15607
"match": "\\&",
15608
"name": "storage.modifier.reference.cpp"
15609
}
15610
]
15611
},
15612
"2": {
15613
"patterns": [
15614
{
15615
"include": "#inline_comment"
15616
}
15617
]
15618
},
15619
"3": {
15620
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15621
},
15622
"4": {
15623
"name": "comment.block.cpp"
15624
},
15625
"5": {
15626
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15627
},
15628
"6": {
15629
"patterns": [
15630
{
15631
"include": "#inline_comment"
15632
}
15633
]
15634
},
15635
"7": {
15636
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15637
},
15638
"8": {
15639
"name": "comment.block.cpp"
15640
},
15641
"9": {
15642
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15643
},
15644
"10": {
15645
"patterns": [
15646
{
15647
"include": "#inline_comment"
15648
}
15649
]
15650
},
15651
"11": {
15652
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15653
},
15654
"12": {
15655
"name": "comment.block.cpp"
15656
},
15657
"13": {
15658
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15659
},
15660
"14": {
15661
"name": "entity.name.type.alias.cpp"
15662
}
15663
}
15664
},
15665
{
15666
"match": ","
15667
}
15668
]
15669
}
15670
]
15671
}
15672
]
15673
},
15674
"typeid_operator": {
15675
"begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
15676
"end": "\\)",
15677
"beginCaptures": {
15678
"1": {
15679
"name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
15680
},
15681
"2": {
15682
"patterns": [
15683
{
15684
"include": "#inline_comment"
15685
}
15686
]
15687
},
15688
"3": {
15689
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15690
},
15691
"4": {
15692
"name": "comment.block.cpp"
15693
},
15694
"5": {
15695
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15696
},
15697
"6": {
15698
"name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
15699
}
15700
},
15701
"endCaptures": {
15702
"0": {
15703
"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
15704
}
15705
},
15706
"contentName": "meta.arguments.operator.typeid",
15707
"patterns": [
15708
{
15709
"include": "#evaluation_context"
15710
}
15711
]
15712
},
15713
"typename": {
15714
"match": "(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?<!\\w)typename(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<17>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<17>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))",
15715
"captures": {
15716
"1": {
15717
"name": "storage.modifier.cpp"
15718
},
15719
"2": {
15720
"patterns": [
15721
{
15722
"include": "#inline_comment"
15723
}
15724
]
15725
},
15726
"3": {
15727
"patterns": [
15728
{
15729
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15730
"captures": {
15731
"1": {
15732
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15733
},
15734
"2": {
15735
"name": "comment.block.cpp"
15736
},
15737
"3": {
15738
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15739
}
15740
}
15741
}
15742
]
15743
},
15744
"4": {
15745
"patterns": [
15746
{
15747
"include": "#inline_comment"
15748
}
15749
]
15750
},
15751
"5": {
15752
"patterns": [
15753
{
15754
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15755
"captures": {
15756
"1": {
15757
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15758
},
15759
"2": {
15760
"name": "comment.block.cpp"
15761
},
15762
"3": {
15763
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15764
}
15765
}
15766
}
15767
]
15768
},
15769
"6": {
15770
"name": "meta.qualified_type.cpp",
15771
"patterns": [
15772
{
15773
"match": "::",
15774
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
15775
},
15776
{
15777
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
15778
"name": "storage.type.$0.cpp"
15779
},
15780
{
15781
"include": "#attributes_context"
15782
},
15783
{
15784
"include": "#storage_types"
15785
},
15786
{
15787
"include": "#number_literal"
15788
},
15789
{
15790
"include": "#string_context"
15791
},
15792
{
15793
"include": "#comma"
15794
},
15795
{
15796
"include": "#scope_resolution_inner_generated"
15797
},
15798
{
15799
"begin": "<",
15800
"end": ">",
15801
"beginCaptures": {
15802
"0": {
15803
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
15804
}
15805
},
15806
"endCaptures": {
15807
"0": {
15808
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
15809
}
15810
},
15811
"name": "meta.template.call.cpp",
15812
"patterns": [
15813
{
15814
"include": "#template_call_context"
15815
}
15816
]
15817
},
15818
{
15819
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
15820
"name": "entity.name.type.cpp"
15821
}
15822
]
15823
},
15824
"7": {
15825
"patterns": [
15826
{
15827
"include": "#attributes_context"
15828
},
15829
{
15830
"include": "#number_literal"
15831
}
15832
]
15833
},
15834
"8": {
15835
"patterns": [
15836
{
15837
"include": "#inline_comment"
15838
}
15839
]
15840
},
15841
"9": {
15842
"patterns": [
15843
{
15844
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15845
"captures": {
15846
"1": {
15847
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15848
},
15849
"2": {
15850
"name": "comment.block.cpp"
15851
},
15852
"3": {
15853
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15854
}
15855
}
15856
}
15857
]
15858
},
15859
"10": {
15860
"patterns": [
15861
{
15862
"include": "#inline_comment"
15863
}
15864
]
15865
},
15866
"11": {
15867
"patterns": [
15868
{
15869
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15870
"captures": {
15871
"1": {
15872
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15873
},
15874
"2": {
15875
"name": "comment.block.cpp"
15876
},
15877
"3": {
15878
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15879
}
15880
}
15881
}
15882
]
15883
},
15884
"12": {
15885
"patterns": [
15886
{
15887
"match": "::",
15888
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
15889
},
15890
{
15891
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
15892
"name": "entity.name.scope-resolution.type.cpp"
15893
},
15894
{
15895
"include": "#template_call_range"
15896
}
15897
]
15898
},
15899
"13": {
15900
"patterns": [
15901
{
15902
"include": "#template_call_range"
15903
}
15904
]
15905
},
15906
"14": {},
15907
"15": {
15908
"patterns": [
15909
{
15910
"include": "#inline_comment"
15911
}
15912
]
15913
},
15914
"16": {
15915
"patterns": [
15916
{
15917
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15918
"captures": {
15919
"1": {
15920
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15921
},
15922
"2": {
15923
"name": "comment.block.cpp"
15924
},
15925
"3": {
15926
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15927
}
15928
}
15929
}
15930
]
15931
},
15932
"17": {}
15933
}
15934
},
15935
"undef": {
15936
"match": "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?undef\\b)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
15937
"captures": {
15938
"1": {
15939
"name": "keyword.control.directive.undef.cpp"
15940
},
15941
"2": {
15942
"patterns": [
15943
{
15944
"include": "#inline_comment"
15945
}
15946
]
15947
},
15948
"3": {
15949
"patterns": [
15950
{
15951
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15952
"captures": {
15953
"1": {
15954
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15955
},
15956
"2": {
15957
"name": "comment.block.cpp"
15958
},
15959
"3": {
15960
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15961
}
15962
}
15963
}
15964
]
15965
},
15966
"4": {
15967
"name": "punctuation.definition.directive.cpp"
15968
},
15969
"5": {
15970
"patterns": [
15971
{
15972
"include": "#inline_comment"
15973
}
15974
]
15975
},
15976
"6": {
15977
"patterns": [
15978
{
15979
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15980
"captures": {
15981
"1": {
15982
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15983
},
15984
"2": {
15985
"name": "comment.block.cpp"
15986
},
15987
"3": {
15988
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15989
}
15990
}
15991
}
15992
]
15993
},
15994
"7": {
15995
"name": "entity.name.function.preprocessor.cpp"
15996
}
15997
},
15998
"name": "meta.preprocessor.undef.cpp"
15999
},
16000
"union_block": {
16001
"begin": "((?<!\\w)union(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",
16002
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
16003
"beginCaptures": {
16004
"0": {
16005
"name": "meta.head.union.cpp"
16006
},
16007
"1": {
16008
"name": "storage.type.$1.cpp"
16009
},
16010
"2": {
16011
"patterns": [
16012
{
16013
"include": "#inline_comment"
16014
}
16015
]
16016
},
16017
"3": {
16018
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16019
},
16020
"4": {
16021
"name": "comment.block.cpp"
16022
},
16023
"5": {
16024
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16025
},
16026
"6": {
16027
"patterns": [
16028
{
16029
"include": "#attributes_context"
16030
},
16031
{
16032
"include": "#number_literal"
16033
}
16034
]
16035
},
16036
"7": {
16037
"patterns": [
16038
{
16039
"include": "#inline_comment"
16040
}
16041
]
16042
},
16043
"8": {
16044
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16045
},
16046
"9": {
16047
"name": "comment.block.cpp"
16048
},
16049
"10": {
16050
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16051
},
16052
"11": {
16053
"patterns": [
16054
{
16055
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
16056
"captures": {
16057
"1": {
16058
"name": "storage.type.modifier.final.cpp"
16059
},
16060
"2": {
16061
"patterns": [
16062
{
16063
"include": "#inline_comment"
16064
}
16065
]
16066
},
16067
"3": {
16068
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16069
},
16070
"4": {
16071
"name": "comment.block.cpp"
16072
},
16073
"5": {
16074
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16075
}
16076
}
16077
},
16078
{
16079
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",
16080
"captures": {
16081
"1": {
16082
"name": "entity.name.type.union.cpp"
16083
},
16084
"2": {
16085
"patterns": [
16086
{
16087
"include": "#inline_comment"
16088
}
16089
]
16090
},
16091
"3": {
16092
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16093
},
16094
"4": {
16095
"name": "comment.block.cpp"
16096
},
16097
"5": {
16098
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16099
},
16100
"6": {
16101
"name": "storage.type.modifier.final.cpp"
16102
},
16103
"7": {
16104
"patterns": [
16105
{
16106
"include": "#inline_comment"
16107
}
16108
]
16109
},
16110
"8": {
16111
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16112
},
16113
"9": {
16114
"name": "comment.block.cpp"
16115
},
16116
"10": {
16117
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16118
}
16119
}
16120
},
16121
{
16122
"match": "DLLEXPORT",
16123
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
16124
},
16125
{
16126
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
16127
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
16128
}
16129
]
16130
},
16131
"12": {
16132
"patterns": [
16133
{
16134
"include": "#inline_comment"
16135
}
16136
]
16137
},
16138
"13": {
16139
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16140
},
16141
"14": {
16142
"name": "comment.block.cpp"
16143
},
16144
"15": {
16145
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16146
},
16147
"16": {
16148
"patterns": [
16149
{
16150
"include": "#inline_comment"
16151
}
16152
]
16153
},
16154
"17": {
16155
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16156
},
16157
"18": {
16158
"name": "comment.block.cpp"
16159
},
16160
"19": {
16161
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16162
},
16163
"20": {
16164
"name": "punctuation.separator.colon.inheritance.cpp"
16165
}
16166
},
16167
"endCaptures": {
16168
"1": {
16169
"name": "punctuation.terminator.statement.cpp"
16170
},
16171
"2": {
16172
"name": "punctuation.terminator.statement.cpp"
16173
}
16174
},
16175
"name": "meta.block.union.cpp",
16176
"patterns": [
16177
{
16178
"begin": "\\G ?",
16179
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
16180
"beginCaptures": {},
16181
"endCaptures": {
16182
"0": {
16183
"name": "punctuation.section.block.begin.bracket.curly.union.cpp"
16184
}
16185
},
16186
"name": "meta.head.union.cpp",
16187
"patterns": [
16188
{
16189
"include": "#ever_present_context"
16190
},
16191
{
16192
"include": "#inheritance_context"
16193
},
16194
{
16195
"include": "#template_call_range"
16196
}
16197
]
16198
},
16199
{
16200
"begin": "(?<=\\{|<%|\\?\\?<)",
16201
"end": "\\}|%>|\\?\\?>",
16202
"beginCaptures": {},
16203
"endCaptures": {
16204
"0": {
16205
"name": "punctuation.section.block.end.bracket.curly.union.cpp"
16206
}
16207
},
16208
"name": "meta.body.union.cpp",
16209
"patterns": [
16210
{
16211
"include": "#function_pointer"
16212
},
16213
{
16214
"include": "#static_assert"
16215
},
16216
{
16217
"include": "#constructor_inline"
16218
},
16219
{
16220
"include": "#destructor_inline"
16221
},
16222
{
16223
"include": "$self"
16224
}
16225
]
16226
},
16227
{
16228
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
16229
"end": "[\\s]*(?=;)",
16230
"beginCaptures": {},
16231
"endCaptures": {},
16232
"name": "meta.tail.union.cpp",
16233
"patterns": [
16234
{
16235
"include": "$self"
16236
}
16237
]
16238
}
16239
]
16240
},
16241
"union_declare": {
16242
"match": "((?<!\\w)union(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
16243
"captures": {
16244
"1": {
16245
"name": "storage.type.union.declare.cpp"
16246
},
16247
"2": {
16248
"patterns": [
16249
{
16250
"include": "#inline_comment"
16251
}
16252
]
16253
},
16254
"3": {
16255
"patterns": [
16256
{
16257
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16258
"captures": {
16259
"1": {
16260
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16261
},
16262
"2": {
16263
"name": "comment.block.cpp"
16264
},
16265
"3": {
16266
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16267
}
16268
}
16269
}
16270
]
16271
},
16272
"4": {
16273
"name": "entity.name.type.union.cpp"
16274
},
16275
"5": {
16276
"patterns": [
16277
{
16278
"match": "\\*",
16279
"name": "storage.modifier.pointer.cpp"
16280
},
16281
{
16282
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
16283
"captures": {
16284
"1": {
16285
"patterns": [
16286
{
16287
"include": "#inline_comment"
16288
}
16289
]
16290
},
16291
"2": {
16292
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16293
},
16294
"3": {
16295
"name": "comment.block.cpp"
16296
},
16297
"4": {
16298
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16299
}
16300
},
16301
"name": "invalid.illegal.reference-type.cpp"
16302
},
16303
{
16304
"match": "\\&",
16305
"name": "storage.modifier.reference.cpp"
16306
}
16307
]
16308
},
16309
"6": {
16310
"patterns": [
16311
{
16312
"include": "#inline_comment"
16313
}
16314
]
16315
},
16316
"7": {
16317
"patterns": [
16318
{
16319
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16320
"captures": {
16321
"1": {
16322
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16323
},
16324
"2": {
16325
"name": "comment.block.cpp"
16326
},
16327
"3": {
16328
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16329
}
16330
}
16331
}
16332
]
16333
},
16334
"8": {
16335
"patterns": [
16336
{
16337
"include": "#inline_comment"
16338
}
16339
]
16340
},
16341
"9": {
16342
"patterns": [
16343
{
16344
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16345
"captures": {
16346
"1": {
16347
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16348
},
16349
"2": {
16350
"name": "comment.block.cpp"
16351
},
16352
"3": {
16353
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16354
}
16355
}
16356
}
16357
]
16358
},
16359
"10": {
16360
"patterns": [
16361
{
16362
"include": "#inline_comment"
16363
}
16364
]
16365
},
16366
"11": {
16367
"patterns": [
16368
{
16369
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16370
"captures": {
16371
"1": {
16372
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16373
},
16374
"2": {
16375
"name": "comment.block.cpp"
16376
},
16377
"3": {
16378
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16379
}
16380
}
16381
}
16382
]
16383
},
16384
"12": {
16385
"name": "variable.other.object.declare.cpp"
16386
},
16387
"13": {
16388
"patterns": [
16389
{
16390
"include": "#inline_comment"
16391
}
16392
]
16393
},
16394
"14": {
16395
"patterns": [
16396
{
16397
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16398
"captures": {
16399
"1": {
16400
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16401
},
16402
"2": {
16403
"name": "comment.block.cpp"
16404
},
16405
"3": {
16406
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16407
}
16408
}
16409
}
16410
]
16411
}
16412
}
16413
},
16414
"using_name": {
16415
"match": "(using)\\s+(?!namespace\\b)",
16416
"captures": {
16417
"1": {
16418
"name": "keyword.other.using.directive.cpp"
16419
}
16420
}
16421
},
16422
"using_namespace": {
16423
"begin": "(?<!\\w)(using)\\s+(namespace)\\s+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<6>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?=;|\\n)",
16424
"end": ";",
16425
"beginCaptures": {
16426
"1": {
16427
"name": "keyword.other.using.directive.cpp"
16428
},
16429
"2": {
16430
"name": "keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"
16431
},
16432
"3": {
16433
"patterns": [
16434
{
16435
"include": "#scope_resolution_namespace_using_inner_generated"
16436
}
16437
]
16438
},
16439
"4": {
16440
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
16441
},
16442
"5": {
16443
"patterns": [
16444
{
16445
"include": "#template_call_range"
16446
}
16447
]
16448
},
16449
"6": {},
16450
"7": {
16451
"name": "entity.name.namespace.cpp"
16452
}
16453
},
16454
"endCaptures": {
16455
"0": {
16456
"name": "punctuation.terminator.statement.cpp"
16457
}
16458
},
16459
"name": "meta.using-namespace.cpp"
16460
},
16461
"vararg_ellipses": {
16462
"match": "(?<!\\.)\\.\\.\\.(?!\\.)",
16463
"name": "punctuation.vararg-ellipses.cpp"
16464
},
16465
"wordlike_operators": {
16466
"patterns": [
16467
{
16468
"match": "(?<!\\w)(?:(?:noexcept)|(?:xor_eq)|(?:and_eq)|(?:delete)|(?:not_eq)|(?:bitand)|(?:bitor)|(?:compl)|(?:or_eq)|(?:not)|(?:xor)|(?:new)|(?:and)|(?:or))(?!\\w)",
16469
"name": "keyword.operator.wordlike.cpp keyword.operator.$0.cpp"
16470
}
16471
]
16472
}
16473
}
16474
}
16475