Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json
3291 views
1
{
2
"information_for_contributors": [
3
"This file has been converted from https://github.com/jlelong/vscode-latex-basics/blob/master/syntaxes/cpp-grammar-bailout.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/jlelong/vscode-latex-basics/commit/dfa69a16a1154dbc820dc1111d72faa6954dd1e2",
8
"name": "C++",
9
"scopeName": "source.cpp.embedded.latex",
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": "#simple_array_assignment"
25
},
26
{
27
"include": "#operator_overload"
28
},
29
{
30
"include": "#using_namespace"
31
},
32
{
33
"include": "#type_alias"
34
},
35
{
36
"include": "#using_name"
37
},
38
{
39
"include": "#namespace_alias"
40
},
41
{
42
"include": "#namespace_block"
43
},
44
{
45
"include": "#extern_block"
46
},
47
{
48
"include": "#typedef_class"
49
},
50
{
51
"include": "#typedef_struct"
52
},
53
{
54
"include": "#typedef_union"
55
},
56
{
57
"include": "#misc_keywords"
58
},
59
{
60
"include": "#standard_declares"
61
},
62
{
63
"include": "#class_block"
64
},
65
{
66
"include": "#struct_block"
67
},
68
{
69
"include": "#union_block"
70
},
71
{
72
"include": "#enum_block"
73
},
74
{
75
"include": "#template_isolated_definition"
76
},
77
{
78
"include": "#template_definition"
79
},
80
{
81
"include": "#template_explicit_instantiation"
82
},
83
{
84
"include": "#access_control_keywords"
85
},
86
{
87
"include": "#block"
88
},
89
{
90
"include": "#static_assert"
91
},
92
{
93
"include": "#assembly"
94
},
95
{
96
"include": "#function_pointer"
97
},
98
{
99
"include": "#evaluation_context"
100
}
101
],
102
"repository": {
103
"access_control_keywords": {
104
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(((?:protected|private|public))(?:\\s+)?(:))",
105
"captures": {
106
"1": {
107
"patterns": [
108
{
109
"include": "#inline_comment"
110
}
111
]
112
},
113
"2": {
114
"patterns": [
115
{
116
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
117
"captures": {
118
"1": {
119
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
120
},
121
"2": {
122
"name": "comment.block.cpp"
123
},
124
"3": {
125
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
126
}
127
}
128
}
129
]
130
},
131
"3": {
132
"name": "storage.type.modifier.access.control.$4.cpp"
133
},
134
"4": {},
135
"5": {
136
"name": "punctuation.separator.colon.access.control.cpp"
137
}
138
}
139
},
140
"alignas_attribute": {
141
"begin": "alignas\\(",
142
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
143
"beginCaptures": {
144
"0": {
145
"name": "punctuation.section.attribute.begin.cpp"
146
}
147
},
148
"endCaptures": {
149
"0": {
150
"name": "punctuation.section.attribute.end.cpp"
151
}
152
},
153
"name": "support.other.attribute.cpp",
154
"patterns": [
155
{
156
"include": "#attributes_context"
157
},
158
{
159
"begin": "\\(",
160
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
161
"beginCaptures": {},
162
"endCaptures": {},
163
"patterns": [
164
{
165
"include": "#attributes_context"
166
},
167
{
168
"include": "#string_context"
169
},
170
{
171
"include": "#ever_present_context"
172
}
173
]
174
},
175
{
176
"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))",
177
"captures": {
178
"1": {
179
"name": "keyword.other.using.directive.cpp"
180
},
181
"2": {
182
"name": "entity.name.namespace.cpp"
183
}
184
}
185
},
186
{
187
"match": ",",
188
"name": "punctuation.separator.attribute.cpp"
189
},
190
{
191
"match": ":",
192
"name": "punctuation.accessor.attribute.cpp"
193
},
194
{
195
"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)(?=::)",
196
"name": "entity.name.namespace.cpp"
197
},
198
{
199
"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)",
200
"name": "entity.other.attribute.$0.cpp"
201
},
202
{
203
"include": "#number_literal"
204
},
205
{
206
"include": "#ever_present_context"
207
}
208
]
209
},
210
"alignas_operator": {
211
"begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
212
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
213
"beginCaptures": {
214
"1": {
215
"name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
216
},
217
"2": {
218
"patterns": [
219
{
220
"include": "#inline_comment"
221
}
222
]
223
},
224
"3": {
225
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
226
},
227
"4": {
228
"name": "comment.block.cpp"
229
},
230
"5": {
231
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
232
},
233
"6": {
234
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
235
}
236
},
237
"endCaptures": {
238
"0": {
239
"name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
240
}
241
},
242
"contentName": "meta.arguments.operator.alignas",
243
"patterns": [
244
{
245
"include": "#evaluation_context"
246
}
247
]
248
},
249
"alignof_operator": {
250
"begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
251
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
252
"beginCaptures": {
253
"1": {
254
"name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
255
},
256
"2": {
257
"patterns": [
258
{
259
"include": "#inline_comment"
260
}
261
]
262
},
263
"3": {
264
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
265
},
266
"4": {
267
"name": "comment.block.cpp"
268
},
269
"5": {
270
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
271
},
272
"6": {
273
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
274
}
275
},
276
"endCaptures": {
277
"0": {
278
"name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
279
}
280
},
281
"contentName": "meta.arguments.operator.alignof",
282
"patterns": [
283
{
284
"include": "#evaluation_context"
285
}
286
]
287
},
288
"assembly": {
289
"begin": "(\\b(?:__asm__|asm)\\b)(?:\\s+)?((?:volatile)?)",
290
"end": "(?!\\G)|(?=\\\\end\\{(?:minted|cppcode)\\})",
291
"beginCaptures": {
292
"1": {
293
"name": "storage.type.asm.cpp"
294
},
295
"2": {
296
"name": "storage.modifier.cpp"
297
}
298
},
299
"endCaptures": {},
300
"name": "meta.asm.cpp",
301
"patterns": [
302
{
303
"match": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\n|$)",
304
"captures": {
305
"1": {
306
"patterns": [
307
{
308
"include": "#inline_comment"
309
}
310
]
311
},
312
"2": {
313
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
314
},
315
"3": {
316
"name": "comment.block.cpp"
317
},
318
"4": {
319
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
320
}
321
}
322
},
323
{
324
"include": "#comments"
325
},
326
{
327
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\(",
328
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
329
"beginCaptures": {
330
"0": {
331
"name": "punctuation.section.parens.begin.bracket.round.assembly.cpp"
332
},
333
"1": {
334
"patterns": [
335
{
336
"include": "#inline_comment"
337
}
338
]
339
},
340
"2": {
341
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
342
},
343
"3": {
344
"name": "comment.block.cpp"
345
},
346
"4": {
347
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
348
}
349
},
350
"endCaptures": {
351
"0": {
352
"name": "punctuation.section.parens.end.bracket.round.assembly.cpp"
353
}
354
},
355
"patterns": [
356
{
357
"begin": "(R?)(\")",
358
"end": "\"|(?=\\\\end\\{(?:minted|cppcode)\\})",
359
"beginCaptures": {
360
"1": {
361
"name": "meta.encoding.cpp"
362
},
363
"2": {
364
"name": "punctuation.definition.string.begin.assembly.cpp"
365
}
366
},
367
"endCaptures": {
368
"0": {
369
"name": "punctuation.definition.string.end.assembly.cpp"
370
}
371
},
372
"name": "string.quoted.double.cpp",
373
"contentName": "meta.embedded.assembly",
374
"patterns": [
375
{
376
"include": "source.asm"
377
},
378
{
379
"include": "source.x86"
380
},
381
{
382
"include": "source.x86_64"
383
},
384
{
385
"include": "source.arm"
386
},
387
{
388
"include": "#backslash_escapes"
389
},
390
{
391
"include": "#string_escaped_char"
392
}
393
]
394
},
395
{
396
"begin": "\\(",
397
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
398
"beginCaptures": {
399
"0": {
400
"name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"
401
}
402
},
403
"endCaptures": {
404
"0": {
405
"name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp"
406
}
407
},
408
"patterns": [
409
{
410
"include": "#evaluation_context"
411
}
412
]
413
},
414
{
415
"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))\\]",
416
"captures": {
417
"1": {
418
"patterns": [
419
{
420
"include": "#inline_comment"
421
}
422
]
423
},
424
"2": {
425
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
426
},
427
"3": {
428
"name": "comment.block.cpp"
429
},
430
"4": {
431
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
432
},
433
"5": {
434
"name": "variable.other.asm.label.cpp"
435
},
436
"6": {
437
"patterns": [
438
{
439
"include": "#inline_comment"
440
}
441
]
442
},
443
"7": {
444
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
445
},
446
"8": {
447
"name": "comment.block.cpp"
448
},
449
"9": {
450
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
451
}
452
}
453
},
454
{
455
"match": ":",
456
"name": "punctuation.separator.delimiter.colon.assembly.cpp"
457
},
458
{
459
"include": "#comments"
460
}
461
]
462
}
463
]
464
},
465
"assignment_operator": {
466
"match": "\\=",
467
"name": "keyword.operator.assignment.cpp"
468
},
469
"attributes_context": {
470
"patterns": [
471
{
472
"include": "#cpp_attributes"
473
},
474
{
475
"include": "#gcc_attributes"
476
},
477
{
478
"include": "#ms_attributes"
479
},
480
{
481
"include": "#alignas_attribute"
482
}
483
]
484
},
485
"backslash_escapes": {
486
"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} )",
487
"name": "constant.character.escape"
488
},
489
"block": {
490
"begin": "{",
491
"end": "}|(?=\\\\end\\{(?:minted|cppcode)\\})",
492
"beginCaptures": {
493
"0": {
494
"name": "punctuation.section.block.begin.bracket.curly.cpp"
495
}
496
},
497
"endCaptures": {
498
"0": {
499
"name": "punctuation.section.block.end.bracket.curly.cpp"
500
}
501
},
502
"name": "meta.block.cpp",
503
"patterns": [
504
{
505
"include": "#function_body_context"
506
}
507
]
508
},
509
"block_comment": {
510
"begin": "\\s*+(\\/\\*)",
511
"end": "\\*\\/|(?=\\\\end\\{(?:minted|cppcode)\\})",
512
"beginCaptures": {
513
"1": {
514
"name": "punctuation.definition.comment.begin.cpp"
515
}
516
},
517
"endCaptures": {
518
"0": {
519
"name": "punctuation.definition.comment.end.cpp"
520
}
521
},
522
"name": "comment.block.cpp",
523
"patterns": [
524
{
525
"match": "[^\\*]*\\n"
526
}
527
],
528
"applyEndPatternLast": 1
529
},
530
"builtin_storage_type_initilizer": {
531
"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)(\\()",
532
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
533
"beginCaptures": {
534
"1": {
535
"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
536
},
537
"2": {
538
"name": "storage.type.cpp storage.type.built-in.cpp"
539
},
540
"3": {
541
"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
542
},
543
"4": {
544
"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
545
},
546
"5": {
547
"name": "punctuation.section.arguments.begin.bracket.round.initializer.cpp"
548
}
549
},
550
"endCaptures": {
551
"0": {
552
"name": "punctuation.section.arguments.end.bracket.round.initializer.cpp"
553
}
554
},
555
"patterns": [
556
{
557
"include": "#evaluation_context"
558
}
559
]
560
},
561
"case_statement": {
562
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)case(?!\\w))",
563
"end": ":|(?=\\\\end\\{(?:minted|cppcode)\\})",
564
"beginCaptures": {
565
"1": {
566
"patterns": [
567
{
568
"include": "#inline_comment"
569
}
570
]
571
},
572
"2": {
573
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
574
},
575
"3": {
576
"name": "comment.block.cpp"
577
},
578
"4": {
579
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
580
},
581
"5": {
582
"name": "keyword.control.case.cpp"
583
}
584
},
585
"endCaptures": {
586
"0": {
587
"name": "punctuation.separator.colon.case.cpp"
588
}
589
},
590
"name": "meta.conditional.case.cpp",
591
"patterns": [
592
{
593
"include": "#evaluation_context"
594
}
595
]
596
},
597
"class_block": {
598
"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))(:(?!:)))?)",
599
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
600
"beginCaptures": {
601
"0": {
602
"name": "meta.head.class.cpp"
603
},
604
"1": {
605
"name": "storage.type.$1.cpp"
606
},
607
"2": {
608
"patterns": [
609
{
610
"include": "#inline_comment"
611
}
612
]
613
},
614
"3": {
615
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
616
},
617
"4": {
618
"name": "comment.block.cpp"
619
},
620
"5": {
621
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
622
},
623
"6": {
624
"patterns": [
625
{
626
"include": "#attributes_context"
627
},
628
{
629
"include": "#number_literal"
630
}
631
]
632
},
633
"7": {
634
"patterns": [
635
{
636
"include": "#inline_comment"
637
}
638
]
639
},
640
"8": {
641
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
642
},
643
"9": {
644
"name": "comment.block.cpp"
645
},
646
"10": {
647
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
648
},
649
"11": {
650
"patterns": [
651
{
652
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
653
"captures": {
654
"1": {
655
"name": "storage.type.modifier.final.cpp"
656
},
657
"2": {
658
"patterns": [
659
{
660
"include": "#inline_comment"
661
}
662
]
663
},
664
"3": {
665
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
666
},
667
"4": {
668
"name": "comment.block.cpp"
669
},
670
"5": {
671
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
672
}
673
}
674
},
675
{
676
"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)))?(?=:|{|$)",
677
"captures": {
678
"1": {
679
"name": "entity.name.type.class.cpp"
680
},
681
"2": {
682
"patterns": [
683
{
684
"include": "#inline_comment"
685
}
686
]
687
},
688
"3": {
689
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
690
},
691
"4": {
692
"name": "comment.block.cpp"
693
},
694
"5": {
695
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
696
},
697
"6": {
698
"name": "storage.type.modifier.final.cpp"
699
},
700
"7": {
701
"patterns": [
702
{
703
"include": "#inline_comment"
704
}
705
]
706
},
707
"8": {
708
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
709
},
710
"9": {
711
"name": "comment.block.cpp"
712
},
713
"10": {
714
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
715
}
716
}
717
},
718
{
719
"match": "DLLEXPORT",
720
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
721
},
722
{
723
"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}))*",
724
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
725
}
726
]
727
},
728
"12": {
729
"patterns": [
730
{
731
"include": "#inline_comment"
732
}
733
]
734
},
735
"13": {
736
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
737
},
738
"14": {
739
"name": "comment.block.cpp"
740
},
741
"15": {
742
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
743
},
744
"16": {
745
"patterns": [
746
{
747
"include": "#inline_comment"
748
}
749
]
750
},
751
"17": {
752
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
753
},
754
"18": {
755
"name": "comment.block.cpp"
756
},
757
"19": {
758
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
759
},
760
"20": {
761
"name": "punctuation.separator.colon.inheritance.cpp"
762
}
763
},
764
"endCaptures": {
765
"1": {
766
"name": "punctuation.terminator.statement.cpp"
767
},
768
"2": {
769
"name": "punctuation.terminator.statement.cpp"
770
}
771
},
772
"name": "meta.block.class.cpp",
773
"patterns": [
774
{
775
"begin": "\\G ?",
776
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
777
"beginCaptures": {},
778
"endCaptures": {
779
"0": {
780
"name": "punctuation.section.block.begin.bracket.curly.class.cpp"
781
}
782
},
783
"name": "meta.head.class.cpp",
784
"patterns": [
785
{
786
"include": "#ever_present_context"
787
},
788
{
789
"include": "#inheritance_context"
790
},
791
{
792
"include": "#template_call_range_helper"
793
}
794
]
795
},
796
{
797
"begin": "(?<=\\{|<%|\\?\\?<)",
798
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
799
"beginCaptures": {},
800
"endCaptures": {
801
"0": {
802
"name": "punctuation.section.block.end.bracket.curly.class.cpp"
803
}
804
},
805
"name": "meta.body.class.cpp",
806
"patterns": [
807
{
808
"include": "#function_pointer"
809
},
810
{
811
"include": "#static_assert"
812
},
813
{
814
"include": "#constructor_inline"
815
},
816
{
817
"include": "#destructor_inline"
818
},
819
{
820
"include": "#operator_overload"
821
},
822
{
823
"include": "#normal_variable_declaration"
824
},
825
{
826
"include": "#normal_variable_assignment"
827
},
828
{
829
"include": "$self"
830
}
831
]
832
},
833
{
834
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
835
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
836
"beginCaptures": {},
837
"endCaptures": {},
838
"name": "meta.tail.class.cpp",
839
"patterns": [
840
{
841
"include": "$self"
842
}
843
]
844
}
845
]
846
},
847
"class_declare": {
848
"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])",
849
"captures": {
850
"1": {
851
"name": "storage.type.class.declare.cpp"
852
},
853
"2": {
854
"patterns": [
855
{
856
"include": "#inline_comment"
857
}
858
]
859
},
860
"3": {
861
"patterns": [
862
{
863
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
864
"captures": {
865
"1": {
866
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
867
},
868
"2": {
869
"name": "comment.block.cpp"
870
},
871
"3": {
872
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
873
}
874
}
875
}
876
]
877
},
878
"4": {
879
"name": "entity.name.type.class.cpp"
880
},
881
"5": {
882
"patterns": [
883
{
884
"match": "\\*",
885
"name": "storage.modifier.pointer.cpp"
886
},
887
{
888
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
889
"captures": {
890
"1": {
891
"patterns": [
892
{
893
"include": "#inline_comment"
894
}
895
]
896
},
897
"2": {
898
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
899
},
900
"3": {
901
"name": "comment.block.cpp"
902
},
903
"4": {
904
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
905
}
906
},
907
"name": "invalid.illegal.reference-type.cpp"
908
},
909
{
910
"match": "\\&",
911
"name": "storage.modifier.reference.cpp"
912
}
913
]
914
},
915
"6": {
916
"patterns": [
917
{
918
"include": "#inline_comment"
919
}
920
]
921
},
922
"7": {
923
"patterns": [
924
{
925
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
926
"captures": {
927
"1": {
928
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
929
},
930
"2": {
931
"name": "comment.block.cpp"
932
},
933
"3": {
934
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
935
}
936
}
937
}
938
]
939
},
940
"8": {
941
"patterns": [
942
{
943
"include": "#inline_comment"
944
}
945
]
946
},
947
"9": {
948
"patterns": [
949
{
950
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
951
"captures": {
952
"1": {
953
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
954
},
955
"2": {
956
"name": "comment.block.cpp"
957
},
958
"3": {
959
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
960
}
961
}
962
}
963
]
964
},
965
"10": {
966
"patterns": [
967
{
968
"include": "#inline_comment"
969
}
970
]
971
},
972
"11": {
973
"patterns": [
974
{
975
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
976
"captures": {
977
"1": {
978
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
979
},
980
"2": {
981
"name": "comment.block.cpp"
982
},
983
"3": {
984
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
985
}
986
}
987
}
988
]
989
},
990
"12": {
991
"name": "variable.other.object.declare.cpp"
992
},
993
"13": {
994
"patterns": [
995
{
996
"include": "#inline_comment"
997
}
998
]
999
},
1000
"14": {
1001
"patterns": [
1002
{
1003
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
1004
"captures": {
1005
"1": {
1006
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1007
},
1008
"2": {
1009
"name": "comment.block.cpp"
1010
},
1011
"3": {
1012
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1013
}
1014
}
1015
}
1016
]
1017
}
1018
}
1019
},
1020
"comma": {
1021
"match": ",",
1022
"name": "punctuation.separator.delimiter.comma.cpp"
1023
},
1024
"comma_in_template_argument": {
1025
"match": ",",
1026
"name": "punctuation.separator.delimiter.comma.template.argument.cpp"
1027
},
1028
"comments": {
1029
"patterns": [
1030
{
1031
"begin": "^(?:\\s+)?+(\\/\\/[!\\/]+)",
1032
"end": "(?<=\\n)(?<!\\\\\\n)|(?=\\\\end\\{(?:minted|cppcode)\\})",
1033
"beginCaptures": {
1034
"1": {
1035
"name": "punctuation.definition.comment.documentation.cpp"
1036
}
1037
},
1038
"endCaptures": {},
1039
"name": "comment.line.double-slash.documentation.cpp",
1040
"patterns": [
1041
{
1042
"include": "#line_continuation_character"
1043
},
1044
{
1045
"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(?:\\{[^}]*\\})?",
1046
"name": "storage.type.class.doxygen.cpp"
1047
},
1048
{
1049
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
1050
"captures": {
1051
"1": {
1052
"name": "storage.type.class.doxygen.cpp"
1053
},
1054
"2": {
1055
"name": "markup.italic.doxygen.cpp"
1056
}
1057
}
1058
},
1059
{
1060
"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
1061
"captures": {
1062
"1": {
1063
"name": "storage.type.class.doxygen.cpp"
1064
},
1065
"2": {
1066
"name": "markup.bold.doxygen.cpp"
1067
}
1068
}
1069
},
1070
{
1071
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
1072
"captures": {
1073
"1": {
1074
"name": "storage.type.class.doxygen.cpp"
1075
},
1076
"2": {
1077
"name": "markup.inline.raw.string.cpp"
1078
}
1079
}
1080
},
1081
{
1082
"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(?:\\{[^}]*\\})?",
1083
"name": "storage.type.class.doxygen.cpp"
1084
},
1085
{
1086
"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(?:\\{[^}]*\\})?",
1087
"name": "storage.type.class.doxygen.cpp"
1088
},
1089
{
1090
"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)))*)",
1091
"captures": {
1092
"1": {
1093
"name": "storage.type.class.doxygen.cpp"
1094
},
1095
"2": {
1096
"patterns": [
1097
{
1098
"match": "in|out",
1099
"name": "keyword.other.parameter.direction.$0.cpp"
1100
}
1101
]
1102
},
1103
"3": {
1104
"patterns": [
1105
{
1106
"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)",
1107
"name": "variable.parameter.cpp"
1108
},
1109
{
1110
"match": ",",
1111
"name": "punctuation.cpp"
1112
}
1113
]
1114
},
1115
"4": {
1116
"name": "variable.parameter.cpp"
1117
},
1118
"5": {
1119
"name": "punctuation.cpp"
1120
},
1121
"6": {
1122
"name": "variable.parameter.cpp"
1123
}
1124
}
1125
},
1126
{
1127
"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(?:\\{[^}]*\\})?",
1128
"name": "storage.type.class.doxygen.cpp"
1129
},
1130
{
1131
"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(?:\\{[^}]*\\})?",
1132
"name": "storage.type.class.doxygen.cpp"
1133
},
1134
{
1135
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1136
"name": "storage.type.class.gtkdoc.cpp"
1137
}
1138
]
1139
},
1140
{
1141
"match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
1142
"captures": {
1143
"1": {
1144
"name": "punctuation.definition.comment.begin.documentation.cpp"
1145
},
1146
"2": {
1147
"patterns": [
1148
{
1149
"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(?:\\{[^}]*\\})?",
1150
"name": "storage.type.class.doxygen.cpp"
1151
},
1152
{
1153
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
1154
"captures": {
1155
"1": {
1156
"name": "storage.type.class.doxygen.cpp"
1157
},
1158
"2": {
1159
"name": "markup.italic.doxygen.cpp"
1160
}
1161
}
1162
},
1163
{
1164
"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
1165
"captures": {
1166
"1": {
1167
"name": "storage.type.class.doxygen.cpp"
1168
},
1169
"2": {
1170
"name": "markup.bold.doxygen.cpp"
1171
}
1172
}
1173
},
1174
{
1175
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
1176
"captures": {
1177
"1": {
1178
"name": "storage.type.class.doxygen.cpp"
1179
},
1180
"2": {
1181
"name": "markup.inline.raw.string.cpp"
1182
}
1183
}
1184
},
1185
{
1186
"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(?:\\{[^}]*\\})?",
1187
"name": "storage.type.class.doxygen.cpp"
1188
},
1189
{
1190
"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(?:\\{[^}]*\\})?",
1191
"name": "storage.type.class.doxygen.cpp"
1192
},
1193
{
1194
"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)))*)",
1195
"captures": {
1196
"1": {
1197
"name": "storage.type.class.doxygen.cpp"
1198
},
1199
"2": {
1200
"patterns": [
1201
{
1202
"match": "in|out",
1203
"name": "keyword.other.parameter.direction.$0.cpp"
1204
}
1205
]
1206
},
1207
"3": {
1208
"patterns": [
1209
{
1210
"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)",
1211
"name": "variable.parameter.cpp"
1212
},
1213
{
1214
"match": ",",
1215
"name": "punctuation.cpp"
1216
}
1217
]
1218
},
1219
"4": {
1220
"name": "variable.parameter.cpp"
1221
},
1222
"5": {
1223
"name": "punctuation.cpp"
1224
},
1225
"6": {
1226
"name": "variable.parameter.cpp"
1227
}
1228
}
1229
},
1230
{
1231
"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(?:\\{[^}]*\\})?",
1232
"name": "storage.type.class.doxygen.cpp"
1233
},
1234
{
1235
"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(?:\\{[^}]*\\})?",
1236
"name": "storage.type.class.doxygen.cpp"
1237
},
1238
{
1239
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1240
"name": "storage.type.class.gtkdoc.cpp"
1241
}
1242
]
1243
},
1244
"3": {
1245
"name": "punctuation.definition.comment.end.documentation.cpp"
1246
}
1247
},
1248
"name": "comment.block.documentation.cpp"
1249
},
1250
{
1251
"begin": "(?:\\s+)?+\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s))",
1252
"end": "[!*]*\\*\\/|(?=\\\\end\\{(?:minted|cppcode)\\})",
1253
"beginCaptures": {
1254
"0": {
1255
"name": "punctuation.definition.comment.begin.documentation.cpp"
1256
}
1257
},
1258
"endCaptures": {
1259
"0": {
1260
"name": "punctuation.definition.comment.end.documentation.cpp"
1261
}
1262
},
1263
"name": "comment.block.documentation.cpp",
1264
"patterns": [
1265
{
1266
"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(?:\\{[^}]*\\})?",
1267
"name": "storage.type.class.doxygen.cpp"
1268
},
1269
{
1270
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
1271
"captures": {
1272
"1": {
1273
"name": "storage.type.class.doxygen.cpp"
1274
},
1275
"2": {
1276
"name": "markup.italic.doxygen.cpp"
1277
}
1278
}
1279
},
1280
{
1281
"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
1282
"captures": {
1283
"1": {
1284
"name": "storage.type.class.doxygen.cpp"
1285
},
1286
"2": {
1287
"name": "markup.bold.doxygen.cpp"
1288
}
1289
}
1290
},
1291
{
1292
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
1293
"captures": {
1294
"1": {
1295
"name": "storage.type.class.doxygen.cpp"
1296
},
1297
"2": {
1298
"name": "markup.inline.raw.string.cpp"
1299
}
1300
}
1301
},
1302
{
1303
"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(?:\\{[^}]*\\})?",
1304
"name": "storage.type.class.doxygen.cpp"
1305
},
1306
{
1307
"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(?:\\{[^}]*\\})?",
1308
"name": "storage.type.class.doxygen.cpp"
1309
},
1310
{
1311
"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)))*)",
1312
"captures": {
1313
"1": {
1314
"name": "storage.type.class.doxygen.cpp"
1315
},
1316
"2": {
1317
"patterns": [
1318
{
1319
"match": "in|out",
1320
"name": "keyword.other.parameter.direction.$0.cpp"
1321
}
1322
]
1323
},
1324
"3": {
1325
"patterns": [
1326
{
1327
"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)",
1328
"name": "variable.parameter.cpp"
1329
},
1330
{
1331
"match": ",",
1332
"name": "punctuation.cpp"
1333
}
1334
]
1335
},
1336
"4": {
1337
"name": "variable.parameter.cpp"
1338
},
1339
"5": {
1340
"name": "punctuation.cpp"
1341
},
1342
"6": {
1343
"name": "variable.parameter.cpp"
1344
}
1345
}
1346
},
1347
{
1348
"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(?:\\{[^}]*\\})?",
1349
"name": "storage.type.class.doxygen.cpp"
1350
},
1351
{
1352
"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(?:\\{[^}]*\\})?",
1353
"name": "storage.type.class.doxygen.cpp"
1354
},
1355
{
1356
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1357
"name": "storage.type.class.gtkdoc.cpp"
1358
}
1359
]
1360
},
1361
{
1362
"include": "#emacs_file_banner"
1363
},
1364
{
1365
"include": "#block_comment"
1366
},
1367
{
1368
"include": "#line_comment"
1369
},
1370
{
1371
"include": "#invalid_comment_end"
1372
}
1373
]
1374
},
1375
"constructor_bracket_call": {
1376
"match": "(?!class|struct|union|enum|explicit|new|delete|operator|template|throw|decltype|typename|override|final)\\b(\\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))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\{)",
1377
"captures": {
1378
"1": {
1379
"name": "meta.qualified-type.cpp",
1380
"patterns": [
1381
{
1382
"match": "::",
1383
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
1384
},
1385
{
1386
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
1387
"name": "storage.type.$0.cpp"
1388
},
1389
{
1390
"include": "#attributes_context"
1391
},
1392
{
1393
"include": "#storage_types"
1394
},
1395
{
1396
"include": "#number_literal"
1397
},
1398
{
1399
"include": "#string_context"
1400
},
1401
{
1402
"include": "#comma"
1403
},
1404
{
1405
"include": "#scope_resolution_inner_generated"
1406
},
1407
{
1408
"include": "#template_call_range_helper"
1409
},
1410
{
1411
"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}))*",
1412
"name": "entity.name.type.cpp"
1413
}
1414
]
1415
},
1416
"2": {
1417
"patterns": [
1418
{
1419
"include": "#attributes_context"
1420
},
1421
{
1422
"include": "#number_literal"
1423
}
1424
]
1425
},
1426
"3": {
1427
"patterns": [
1428
{
1429
"include": "#inline_comment"
1430
}
1431
]
1432
},
1433
"4": {
1434
"patterns": [
1435
{
1436
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
1437
"captures": {
1438
"1": {
1439
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1440
},
1441
"2": {
1442
"name": "comment.block.cpp"
1443
},
1444
"3": {
1445
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1446
}
1447
}
1448
}
1449
]
1450
},
1451
"5": {
1452
"patterns": [
1453
{
1454
"include": "#inline_comment"
1455
}
1456
]
1457
},
1458
"6": {
1459
"patterns": [
1460
{
1461
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
1462
"captures": {
1463
"1": {
1464
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1465
},
1466
"2": {
1467
"name": "comment.block.cpp"
1468
},
1469
"3": {
1470
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1471
}
1472
}
1473
}
1474
]
1475
},
1476
"7": {
1477
"patterns": [
1478
{
1479
"match": "::",
1480
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
1481
},
1482
{
1483
"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)",
1484
"name": "entity.name.scope-resolution.type.cpp"
1485
},
1486
{
1487
"include": "#template_call_range_helper"
1488
}
1489
]
1490
},
1491
"8": {
1492
"patterns": [
1493
{
1494
"include": "#template_call_range_helper"
1495
}
1496
]
1497
},
1498
"9": {},
1499
"10": {
1500
"patterns": [
1501
{
1502
"include": "#inline_comment"
1503
}
1504
]
1505
},
1506
"11": {
1507
"patterns": [
1508
{
1509
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
1510
"captures": {
1511
"1": {
1512
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1513
},
1514
"2": {
1515
"name": "comment.block.cpp"
1516
},
1517
"3": {
1518
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1519
}
1520
}
1521
}
1522
]
1523
},
1524
"12": {},
1525
"13": {
1526
"patterns": [
1527
{
1528
"include": "#inline_comment"
1529
}
1530
]
1531
},
1532
"14": {
1533
"patterns": [
1534
{
1535
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
1536
"captures": {
1537
"1": {
1538
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1539
},
1540
"2": {
1541
"name": "comment.block.cpp"
1542
},
1543
"3": {
1544
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1545
}
1546
}
1547
}
1548
]
1549
},
1550
"15": {
1551
"name": "variable.lower-case.cpp variable.other.object.construction.cpp"
1552
},
1553
"16": {
1554
"name": "variable.snake-case.cpp variable.other.object.construction.cpp"
1555
},
1556
"17": {
1557
"name": "variable.camel-case.cpp variable.other.object.construction.cpp"
1558
},
1559
"18": {
1560
"name": "variable.upper-case.cpp variable.other.object.construction.cpp"
1561
},
1562
"19": {
1563
"name": "variable.other.unknown.$19.cpp"
1564
},
1565
"20": {
1566
"patterns": [
1567
{
1568
"include": "#inline_comment"
1569
}
1570
]
1571
},
1572
"21": {
1573
"patterns": [
1574
{
1575
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
1576
"captures": {
1577
"1": {
1578
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1579
},
1580
"2": {
1581
"name": "comment.block.cpp"
1582
},
1583
"3": {
1584
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1585
}
1586
}
1587
}
1588
]
1589
}
1590
}
1591
},
1592
"constructor_inline": {
1593
"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)(?=\\())",
1594
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
1595
"beginCaptures": {
1596
"0": {
1597
"name": "meta.head.function.definition.special.constructor.cpp"
1598
},
1599
"1": {
1600
"patterns": [
1601
{
1602
"include": "#inline_comment"
1603
}
1604
]
1605
},
1606
"2": {
1607
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1608
},
1609
"3": {
1610
"name": "comment.block.cpp"
1611
},
1612
"4": {
1613
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1614
},
1615
"5": {
1616
"patterns": [
1617
{
1618
"include": "#functional_specifiers_pre_parameters"
1619
}
1620
]
1621
},
1622
"6": {
1623
"patterns": [
1624
{
1625
"include": "#inline_comment"
1626
}
1627
]
1628
},
1629
"7": {
1630
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1631
},
1632
"8": {
1633
"name": "comment.block.cpp"
1634
},
1635
"9": {
1636
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1637
},
1638
"10": {
1639
"name": "storage.type.modifier.calling-convention.cpp"
1640
},
1641
"11": {
1642
"patterns": [
1643
{
1644
"include": "#inline_comment"
1645
}
1646
]
1647
},
1648
"12": {
1649
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1650
},
1651
"13": {
1652
"name": "comment.block.cpp"
1653
},
1654
"14": {
1655
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1656
},
1657
"15": {
1658
"name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"
1659
}
1660
},
1661
"endCaptures": {},
1662
"name": "meta.function.definition.special.constructor.cpp",
1663
"patterns": [
1664
{
1665
"begin": "\\G ?",
1666
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
1667
"beginCaptures": {},
1668
"endCaptures": {
1669
"0": {
1670
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
1671
}
1672
},
1673
"name": "meta.head.function.definition.special.constructor.cpp",
1674
"patterns": [
1675
{
1676
"include": "#ever_present_context"
1677
},
1678
{
1679
"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
1680
"captures": {
1681
"1": {
1682
"name": "keyword.operator.assignment.cpp"
1683
},
1684
"2": {
1685
"patterns": [
1686
{
1687
"include": "#inline_comment"
1688
}
1689
]
1690
},
1691
"3": {
1692
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1693
},
1694
"4": {
1695
"name": "comment.block.cpp"
1696
},
1697
"5": {
1698
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1699
},
1700
"6": {
1701
"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"
1702
},
1703
"7": {
1704
"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"
1705
}
1706
}
1707
},
1708
{
1709
"include": "#functional_specifiers_pre_parameters"
1710
},
1711
{
1712
"begin": ":",
1713
"end": "(?=\\{)|(?=\\\\end\\{(?:minted|cppcode)\\})",
1714
"beginCaptures": {
1715
"0": {
1716
"name": "punctuation.separator.initializers.cpp"
1717
}
1718
},
1719
"endCaptures": {},
1720
"patterns": [
1721
{
1722
"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*+)?(\\()",
1723
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
1724
"beginCaptures": {
1725
"1": {
1726
"name": "entity.name.function.call.initializer.cpp"
1727
},
1728
"2": {
1729
"name": "meta.template.call.cpp",
1730
"patterns": [
1731
{
1732
"include": "#template_call_range_helper"
1733
}
1734
]
1735
},
1736
"3": {},
1737
"4": {
1738
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1739
},
1740
"5": {
1741
"name": "comment.block.cpp"
1742
},
1743
"6": {
1744
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1745
},
1746
"7": {
1747
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1748
}
1749
},
1750
"endCaptures": {
1751
"0": {
1752
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1753
}
1754
},
1755
"contentName": "meta.parameter.initialization",
1756
"patterns": [
1757
{
1758
"include": "#evaluation_context"
1759
}
1760
]
1761
},
1762
{
1763
"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))(\\{)",
1764
"end": "\\}|(?=\\\\end\\{(?:minted|cppcode)\\})",
1765
"beginCaptures": {
1766
"1": {
1767
"name": "entity.name.function.call.initializer.cpp"
1768
},
1769
"2": {
1770
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1771
}
1772
},
1773
"endCaptures": {
1774
"0": {
1775
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1776
}
1777
},
1778
"contentName": "meta.parameter.initialization",
1779
"patterns": [
1780
{
1781
"include": "#evaluation_context"
1782
}
1783
]
1784
},
1785
{
1786
"match": ",",
1787
"name": "punctuation.separator.delimiter.comma.cpp"
1788
},
1789
{
1790
"include": "#comments"
1791
}
1792
]
1793
},
1794
{
1795
"begin": "\\(",
1796
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
1797
"beginCaptures": {
1798
"0": {
1799
"name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
1800
}
1801
},
1802
"endCaptures": {
1803
"0": {
1804
"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
1805
}
1806
},
1807
"contentName": "meta.function.definition.parameters.special.constructor",
1808
"patterns": [
1809
{
1810
"include": "#function_parameter_context"
1811
},
1812
{
1813
"include": "#evaluation_context"
1814
}
1815
]
1816
},
1817
{
1818
"include": "#qualifiers_and_specifiers_post_parameters"
1819
},
1820
{
1821
"include": "$self"
1822
}
1823
]
1824
},
1825
{
1826
"begin": "(?<=\\{|<%|\\?\\?<)",
1827
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
1828
"beginCaptures": {},
1829
"endCaptures": {
1830
"0": {
1831
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
1832
}
1833
},
1834
"name": "meta.body.function.definition.special.constructor.cpp",
1835
"patterns": [
1836
{
1837
"include": "#function_body_context"
1838
}
1839
]
1840
},
1841
{
1842
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
1843
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
1844
"beginCaptures": {},
1845
"endCaptures": {},
1846
"name": "meta.tail.function.definition.special.constructor.cpp",
1847
"patterns": [
1848
{
1849
"include": "$self"
1850
}
1851
]
1852
}
1853
]
1854
},
1855
"constructor_root": {
1856
"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))(?=\\())",
1857
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
1858
"beginCaptures": {
1859
"0": {
1860
"name": "meta.head.function.definition.special.constructor.cpp"
1861
},
1862
"1": {
1863
"name": "storage.type.modifier.calling-convention.cpp"
1864
},
1865
"2": {
1866
"patterns": [
1867
{
1868
"include": "#inline_comment"
1869
}
1870
]
1871
},
1872
"3": {
1873
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1874
},
1875
"4": {
1876
"name": "comment.block.cpp"
1877
},
1878
"5": {
1879
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1880
},
1881
"6": {
1882
"patterns": [
1883
{
1884
"match": "::",
1885
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
1886
},
1887
{
1888
"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)",
1889
"name": "entity.name.scope-resolution.constructor.cpp"
1890
},
1891
{
1892
"include": "#template_call_range_helper"
1893
}
1894
]
1895
},
1896
"7": {
1897
"patterns": [
1898
{
1899
"include": "#template_call_range_helper"
1900
}
1901
]
1902
},
1903
"8": {},
1904
"9": {
1905
"patterns": [
1906
{
1907
"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}))*(?=:)",
1908
"name": "entity.name.type.constructor.cpp"
1909
},
1910
{
1911
"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}))*",
1912
"name": "entity.name.function.definition.special.constructor.cpp"
1913
},
1914
{
1915
"match": "::",
1916
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
1917
}
1918
]
1919
},
1920
"10": {},
1921
"11": {
1922
"patterns": [
1923
{
1924
"include": "#inline_comment"
1925
}
1926
]
1927
},
1928
"12": {
1929
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1930
},
1931
"13": {
1932
"name": "comment.block.cpp"
1933
},
1934
"14": {
1935
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1936
},
1937
"15": {
1938
"patterns": [
1939
{
1940
"include": "#inline_comment"
1941
}
1942
]
1943
},
1944
"16": {
1945
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1946
},
1947
"17": {
1948
"name": "comment.block.cpp"
1949
},
1950
"18": {
1951
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1952
},
1953
"19": {
1954
"patterns": [
1955
{
1956
"include": "#inline_comment"
1957
}
1958
]
1959
},
1960
"20": {
1961
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1962
},
1963
"21": {
1964
"name": "comment.block.cpp"
1965
},
1966
"22": {
1967
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1968
}
1969
},
1970
"endCaptures": {},
1971
"name": "meta.function.definition.special.constructor.cpp",
1972
"patterns": [
1973
{
1974
"begin": "\\G ?",
1975
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
1976
"beginCaptures": {},
1977
"endCaptures": {
1978
"0": {
1979
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
1980
}
1981
},
1982
"name": "meta.head.function.definition.special.constructor.cpp",
1983
"patterns": [
1984
{
1985
"include": "#ever_present_context"
1986
},
1987
{
1988
"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
1989
"captures": {
1990
"1": {
1991
"name": "keyword.operator.assignment.cpp"
1992
},
1993
"2": {
1994
"patterns": [
1995
{
1996
"include": "#inline_comment"
1997
}
1998
]
1999
},
2000
"3": {
2001
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2002
},
2003
"4": {
2004
"name": "comment.block.cpp"
2005
},
2006
"5": {
2007
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2008
},
2009
"6": {
2010
"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"
2011
},
2012
"7": {
2013
"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"
2014
}
2015
}
2016
},
2017
{
2018
"include": "#functional_specifiers_pre_parameters"
2019
},
2020
{
2021
"begin": ":",
2022
"end": "(?=\\{)|(?=\\\\end\\{(?:minted|cppcode)\\})",
2023
"beginCaptures": {
2024
"0": {
2025
"name": "punctuation.separator.initializers.cpp"
2026
}
2027
},
2028
"endCaptures": {},
2029
"patterns": [
2030
{
2031
"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*+)?(\\()",
2032
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
2033
"beginCaptures": {
2034
"1": {
2035
"name": "entity.name.function.call.initializer.cpp"
2036
},
2037
"2": {
2038
"name": "meta.template.call.cpp",
2039
"patterns": [
2040
{
2041
"include": "#template_call_range_helper"
2042
}
2043
]
2044
},
2045
"3": {},
2046
"4": {
2047
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2048
},
2049
"5": {
2050
"name": "comment.block.cpp"
2051
},
2052
"6": {
2053
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2054
},
2055
"7": {
2056
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
2057
}
2058
},
2059
"endCaptures": {
2060
"0": {
2061
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
2062
}
2063
},
2064
"contentName": "meta.parameter.initialization",
2065
"patterns": [
2066
{
2067
"include": "#evaluation_context"
2068
}
2069
]
2070
},
2071
{
2072
"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))(\\{)",
2073
"end": "\\}|(?=\\\\end\\{(?:minted|cppcode)\\})",
2074
"beginCaptures": {
2075
"1": {
2076
"name": "entity.name.function.call.initializer.cpp"
2077
},
2078
"2": {
2079
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
2080
}
2081
},
2082
"endCaptures": {
2083
"0": {
2084
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
2085
}
2086
},
2087
"contentName": "meta.parameter.initialization",
2088
"patterns": [
2089
{
2090
"include": "#evaluation_context"
2091
}
2092
]
2093
},
2094
{
2095
"match": ",",
2096
"name": "punctuation.separator.delimiter.comma.cpp"
2097
},
2098
{
2099
"include": "#comments"
2100
}
2101
]
2102
},
2103
{
2104
"begin": "\\(",
2105
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
2106
"beginCaptures": {
2107
"0": {
2108
"name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
2109
}
2110
},
2111
"endCaptures": {
2112
"0": {
2113
"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
2114
}
2115
},
2116
"contentName": "meta.function.definition.parameters.special.constructor",
2117
"patterns": [
2118
{
2119
"include": "#function_parameter_context"
2120
},
2121
{
2122
"include": "#evaluation_context"
2123
}
2124
]
2125
},
2126
{
2127
"include": "#qualifiers_and_specifiers_post_parameters"
2128
},
2129
{
2130
"include": "$self"
2131
}
2132
]
2133
},
2134
{
2135
"begin": "(?<=\\{|<%|\\?\\?<)",
2136
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
2137
"beginCaptures": {},
2138
"endCaptures": {
2139
"0": {
2140
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
2141
}
2142
},
2143
"name": "meta.body.function.definition.special.constructor.cpp",
2144
"patterns": [
2145
{
2146
"include": "#function_body_context"
2147
}
2148
]
2149
},
2150
{
2151
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
2152
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
2153
"beginCaptures": {},
2154
"endCaptures": {},
2155
"name": "meta.tail.function.definition.special.constructor.cpp",
2156
"patterns": [
2157
{
2158
"include": "$self"
2159
}
2160
]
2161
}
2162
]
2163
},
2164
"control_flow_keywords": {
2165
"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))",
2166
"captures": {
2167
"1": {
2168
"patterns": [
2169
{
2170
"include": "#inline_comment"
2171
}
2172
]
2173
},
2174
"2": {
2175
"patterns": [
2176
{
2177
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2178
"captures": {
2179
"1": {
2180
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2181
},
2182
"2": {
2183
"name": "comment.block.cpp"
2184
},
2185
"3": {
2186
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2187
}
2188
}
2189
}
2190
]
2191
},
2192
"3": {
2193
"name": "keyword.control.$3.cpp"
2194
}
2195
}
2196
},
2197
"cpp_attributes": {
2198
"begin": "\\[\\[",
2199
"end": "\\]\\]|(?=\\\\end\\{(?:minted|cppcode)\\})",
2200
"beginCaptures": {
2201
"0": {
2202
"name": "punctuation.section.attribute.begin.cpp"
2203
}
2204
},
2205
"endCaptures": {
2206
"0": {
2207
"name": "punctuation.section.attribute.end.cpp"
2208
}
2209
},
2210
"name": "support.other.attribute.cpp",
2211
"patterns": [
2212
{
2213
"include": "#attributes_context"
2214
},
2215
{
2216
"begin": "\\(",
2217
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
2218
"beginCaptures": {},
2219
"endCaptures": {},
2220
"patterns": [
2221
{
2222
"include": "#attributes_context"
2223
},
2224
{
2225
"include": "#string_context"
2226
},
2227
{
2228
"include": "#ever_present_context"
2229
}
2230
]
2231
},
2232
{
2233
"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))",
2234
"captures": {
2235
"1": {
2236
"name": "keyword.other.using.directive.cpp"
2237
},
2238
"2": {
2239
"name": "entity.name.namespace.cpp"
2240
}
2241
}
2242
},
2243
{
2244
"match": ",",
2245
"name": "punctuation.separator.attribute.cpp"
2246
},
2247
{
2248
"match": ":",
2249
"name": "punctuation.accessor.attribute.cpp"
2250
},
2251
{
2252
"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)(?=::)",
2253
"name": "entity.name.namespace.cpp"
2254
},
2255
{
2256
"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)",
2257
"name": "entity.other.attribute.$0.cpp"
2258
},
2259
{
2260
"include": "#number_literal"
2261
},
2262
{
2263
"include": "#ever_present_context"
2264
}
2265
]
2266
},
2267
"curly_initializer": {
2268
"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))(\\{)",
2269
"end": "\\}|(?=\\\\end\\{(?:minted|cppcode)\\})",
2270
"beginCaptures": {
2271
"1": {
2272
"name": "meta.qualified-type.cpp",
2273
"patterns": [
2274
{
2275
"match": "::",
2276
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
2277
},
2278
{
2279
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
2280
"name": "storage.type.$0.cpp"
2281
},
2282
{
2283
"include": "#attributes_context"
2284
},
2285
{
2286
"include": "#storage_types"
2287
},
2288
{
2289
"include": "#number_literal"
2290
},
2291
{
2292
"include": "#string_context"
2293
},
2294
{
2295
"include": "#comma"
2296
},
2297
{
2298
"include": "#scope_resolution_inner_generated"
2299
},
2300
{
2301
"include": "#template_call_range_helper"
2302
},
2303
{
2304
"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}))*",
2305
"name": "entity.name.type.cpp"
2306
}
2307
]
2308
},
2309
"2": {
2310
"patterns": [
2311
{
2312
"include": "#attributes_context"
2313
},
2314
{
2315
"include": "#number_literal"
2316
}
2317
]
2318
},
2319
"3": {
2320
"patterns": [
2321
{
2322
"include": "#inline_comment"
2323
}
2324
]
2325
},
2326
"4": {
2327
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2328
},
2329
"5": {
2330
"name": "comment.block.cpp"
2331
},
2332
"6": {
2333
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2334
},
2335
"7": {
2336
"patterns": [
2337
{
2338
"include": "#inline_comment"
2339
}
2340
]
2341
},
2342
"8": {
2343
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2344
},
2345
"9": {
2346
"name": "comment.block.cpp"
2347
},
2348
"10": {
2349
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2350
},
2351
"11": {
2352
"patterns": [
2353
{
2354
"match": "::",
2355
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
2356
},
2357
{
2358
"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)",
2359
"name": "entity.name.scope-resolution.type.cpp"
2360
},
2361
{
2362
"include": "#template_call_range_helper"
2363
}
2364
]
2365
},
2366
"12": {
2367
"patterns": [
2368
{
2369
"include": "#template_call_range_helper"
2370
}
2371
]
2372
},
2373
"13": {},
2374
"14": {
2375
"patterns": [
2376
{
2377
"include": "#inline_comment"
2378
}
2379
]
2380
},
2381
"15": {
2382
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2383
},
2384
"16": {
2385
"name": "comment.block.cpp"
2386
},
2387
"17": {
2388
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2389
},
2390
"18": {},
2391
"19": {
2392
"patterns": [
2393
{
2394
"include": "#inline_comment"
2395
}
2396
]
2397
},
2398
"20": {
2399
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2400
},
2401
"21": {
2402
"name": "comment.block.cpp"
2403
},
2404
"22": {
2405
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2406
},
2407
"23": {
2408
"name": "punctuation.section.arguments.begin.bracket.curly.initializer.cpp"
2409
}
2410
},
2411
"endCaptures": {
2412
"0": {
2413
"name": "punctuation.section.arguments.end.bracket.curly.initializer.cpp"
2414
}
2415
},
2416
"name": "meta.initialization.cpp",
2417
"patterns": [
2418
{
2419
"begin": "(\\.)((?:[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}))*)",
2420
"end": "(?:(,)|(?=\\}))|(?=\\\\end\\{(?:minted|cppcode)\\})",
2421
"beginCaptures": {
2422
"1": {
2423
"name": "punctuation.accessor.initializer.cpp variable.parameter.initializer.cpp"
2424
},
2425
"2": {
2426
"name": "variable.parameter.initializer.cpp"
2427
}
2428
},
2429
"endCaptures": {
2430
"1": {
2431
"name": "punctuation.separator.delimiter.comma.cpp"
2432
}
2433
},
2434
"name": "meta.initialization.parameter.cpp",
2435
"patterns": [
2436
{
2437
"include": "#evaluation_context"
2438
}
2439
]
2440
},
2441
{
2442
"include": "#evaluation_context"
2443
},
2444
{
2445
"include": "#comma"
2446
}
2447
]
2448
},
2449
"d9bc4796b0b_module_import": {
2450
"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+)?(;?)",
2451
"captures": {
2452
"1": {
2453
"patterns": [
2454
{
2455
"include": "#inline_comment"
2456
}
2457
]
2458
},
2459
"2": {
2460
"patterns": [
2461
{
2462
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2463
"captures": {
2464
"1": {
2465
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2466
},
2467
"2": {
2468
"name": "comment.block.cpp"
2469
},
2470
"3": {
2471
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2472
}
2473
}
2474
}
2475
]
2476
},
2477
"3": {
2478
"name": "keyword.control.directive.import.cpp"
2479
},
2480
"5": {
2481
"name": "string.quoted.other.lt-gt.include.cpp"
2482
},
2483
"6": {
2484
"name": "punctuation.definition.string.begin.cpp"
2485
},
2486
"7": {
2487
"name": "punctuation.definition.string.end.cpp"
2488
},
2489
"8": {
2490
"patterns": [
2491
{
2492
"include": "#inline_comment"
2493
}
2494
]
2495
},
2496
"9": {
2497
"patterns": [
2498
{
2499
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2500
"captures": {
2501
"1": {
2502
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2503
},
2504
"2": {
2505
"name": "comment.block.cpp"
2506
},
2507
"3": {
2508
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2509
}
2510
}
2511
}
2512
]
2513
},
2514
"10": {
2515
"name": "string.quoted.double.include.cpp"
2516
},
2517
"11": {
2518
"name": "punctuation.definition.string.begin.cpp"
2519
},
2520
"12": {
2521
"name": "punctuation.definition.string.end.cpp"
2522
},
2523
"13": {
2524
"patterns": [
2525
{
2526
"include": "#inline_comment"
2527
}
2528
]
2529
},
2530
"14": {
2531
"patterns": [
2532
{
2533
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2534
"captures": {
2535
"1": {
2536
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2537
},
2538
"2": {
2539
"name": "comment.block.cpp"
2540
},
2541
"3": {
2542
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2543
}
2544
}
2545
}
2546
]
2547
},
2548
"15": {
2549
"name": "entity.name.other.preprocessor.macro.include.cpp"
2550
},
2551
"16": {
2552
"patterns": [
2553
{
2554
"include": "#inline_comment"
2555
}
2556
]
2557
},
2558
"17": {
2559
"patterns": [
2560
{
2561
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2562
"captures": {
2563
"1": {
2564
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2565
},
2566
"2": {
2567
"name": "comment.block.cpp"
2568
},
2569
"3": {
2570
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2571
}
2572
}
2573
}
2574
]
2575
},
2576
"18": {
2577
"patterns": [
2578
{
2579
"include": "#inline_comment"
2580
}
2581
]
2582
},
2583
"19": {
2584
"patterns": [
2585
{
2586
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2587
"captures": {
2588
"1": {
2589
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2590
},
2591
"2": {
2592
"name": "comment.block.cpp"
2593
},
2594
"3": {
2595
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2596
}
2597
}
2598
}
2599
]
2600
},
2601
"20": {
2602
"patterns": [
2603
{
2604
"include": "#inline_comment"
2605
}
2606
]
2607
},
2608
"21": {
2609
"patterns": [
2610
{
2611
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2612
"captures": {
2613
"1": {
2614
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2615
},
2616
"2": {
2617
"name": "comment.block.cpp"
2618
},
2619
"3": {
2620
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2621
}
2622
}
2623
}
2624
]
2625
},
2626
"22": {
2627
"name": "punctuation.terminator.statement.cpp"
2628
}
2629
},
2630
"name": "meta.preprocessor.import.cpp"
2631
},
2632
"decltype": {
2633
"begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
2634
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
2635
"beginCaptures": {
2636
"1": {
2637
"name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
2638
},
2639
"2": {
2640
"patterns": [
2641
{
2642
"include": "#inline_comment"
2643
}
2644
]
2645
},
2646
"3": {
2647
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2648
},
2649
"4": {
2650
"name": "comment.block.cpp"
2651
},
2652
"5": {
2653
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2654
},
2655
"6": {
2656
"name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
2657
}
2658
},
2659
"endCaptures": {
2660
"0": {
2661
"name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
2662
}
2663
},
2664
"contentName": "meta.arguments.decltype",
2665
"patterns": [
2666
{
2667
"include": "#evaluation_context"
2668
}
2669
]
2670
},
2671
"decltype_specifier": {
2672
"begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
2673
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
2674
"beginCaptures": {
2675
"1": {
2676
"name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
2677
},
2678
"2": {
2679
"patterns": [
2680
{
2681
"include": "#inline_comment"
2682
}
2683
]
2684
},
2685
"3": {
2686
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2687
},
2688
"4": {
2689
"name": "comment.block.cpp"
2690
},
2691
"5": {
2692
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2693
},
2694
"6": {
2695
"name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
2696
}
2697
},
2698
"endCaptures": {
2699
"0": {
2700
"name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
2701
}
2702
},
2703
"contentName": "meta.arguments.decltype",
2704
"patterns": [
2705
{
2706
"include": "#evaluation_context"
2707
}
2708
]
2709
},
2710
"default_statement": {
2711
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)default(?!\\w))",
2712
"end": ":|(?=\\\\end\\{(?:minted|cppcode)\\})",
2713
"beginCaptures": {
2714
"1": {
2715
"patterns": [
2716
{
2717
"include": "#inline_comment"
2718
}
2719
]
2720
},
2721
"2": {
2722
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2723
},
2724
"3": {
2725
"name": "comment.block.cpp"
2726
},
2727
"4": {
2728
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2729
},
2730
"5": {
2731
"name": "keyword.control.default.cpp"
2732
}
2733
},
2734
"endCaptures": {
2735
"0": {
2736
"name": "punctuation.separator.colon.case.default.cpp"
2737
}
2738
},
2739
"name": "meta.conditional.case.cpp",
2740
"patterns": [
2741
{
2742
"include": "#evaluation_context"
2743
}
2744
]
2745
},
2746
"destructor_inline": {
2747
"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)(?=\\())",
2748
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
2749
"beginCaptures": {
2750
"0": {
2751
"name": "meta.head.function.definition.special.member.destructor.cpp"
2752
},
2753
"1": {
2754
"patterns": [
2755
{
2756
"include": "#inline_comment"
2757
}
2758
]
2759
},
2760
"2": {
2761
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2762
},
2763
"3": {
2764
"name": "comment.block.cpp"
2765
},
2766
"4": {
2767
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2768
},
2769
"5": {
2770
"name": "storage.type.modifier.calling-convention.cpp"
2771
},
2772
"6": {
2773
"patterns": [
2774
{
2775
"include": "#inline_comment"
2776
}
2777
]
2778
},
2779
"7": {
2780
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2781
},
2782
"8": {
2783
"name": "comment.block.cpp"
2784
},
2785
"9": {
2786
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2787
},
2788
"10": {
2789
"patterns": [
2790
{
2791
"include": "#functional_specifiers_pre_parameters"
2792
}
2793
]
2794
},
2795
"11": {
2796
"patterns": [
2797
{
2798
"include": "#inline_comment"
2799
}
2800
]
2801
},
2802
"12": {
2803
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2804
},
2805
"13": {
2806
"name": "comment.block.cpp"
2807
},
2808
"14": {
2809
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2810
},
2811
"15": {
2812
"name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"
2813
}
2814
},
2815
"endCaptures": {},
2816
"name": "meta.function.definition.special.member.destructor.cpp",
2817
"patterns": [
2818
{
2819
"begin": "\\G ?",
2820
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
2821
"beginCaptures": {},
2822
"endCaptures": {
2823
"0": {
2824
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
2825
}
2826
},
2827
"name": "meta.head.function.definition.special.member.destructor.cpp",
2828
"patterns": [
2829
{
2830
"include": "#ever_present_context"
2831
},
2832
{
2833
"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
2834
"captures": {
2835
"1": {
2836
"name": "keyword.operator.assignment.cpp"
2837
},
2838
"2": {
2839
"patterns": [
2840
{
2841
"include": "#inline_comment"
2842
}
2843
]
2844
},
2845
"3": {
2846
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2847
},
2848
"4": {
2849
"name": "comment.block.cpp"
2850
},
2851
"5": {
2852
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2853
},
2854
"6": {
2855
"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"
2856
},
2857
"7": {
2858
"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"
2859
}
2860
}
2861
},
2862
{
2863
"begin": "\\(",
2864
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
2865
"beginCaptures": {
2866
"0": {
2867
"name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
2868
}
2869
},
2870
"endCaptures": {
2871
"0": {
2872
"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
2873
}
2874
},
2875
"contentName": "meta.function.definition.parameters.special.member.destructor",
2876
"patterns": []
2877
},
2878
{
2879
"include": "#qualifiers_and_specifiers_post_parameters"
2880
},
2881
{
2882
"include": "$self"
2883
}
2884
]
2885
},
2886
{
2887
"begin": "(?<=\\{|<%|\\?\\?<)",
2888
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
2889
"beginCaptures": {},
2890
"endCaptures": {
2891
"0": {
2892
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
2893
}
2894
},
2895
"name": "meta.body.function.definition.special.member.destructor.cpp",
2896
"patterns": [
2897
{
2898
"include": "#function_body_context"
2899
}
2900
]
2901
},
2902
{
2903
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
2904
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
2905
"beginCaptures": {},
2906
"endCaptures": {},
2907
"name": "meta.tail.function.definition.special.member.destructor.cpp",
2908
"patterns": [
2909
{
2910
"include": "$self"
2911
}
2912
]
2913
}
2914
]
2915
},
2916
"destructor_root": {
2917
"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))(?=\\())",
2918
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
2919
"beginCaptures": {
2920
"0": {
2921
"name": "meta.head.function.definition.special.member.destructor.cpp"
2922
},
2923
"1": {
2924
"patterns": [
2925
{
2926
"include": "#inline_comment"
2927
}
2928
]
2929
},
2930
"2": {
2931
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2932
},
2933
"3": {
2934
"name": "comment.block.cpp"
2935
},
2936
"4": {
2937
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2938
},
2939
"5": {
2940
"name": "storage.type.modifier.calling-convention.cpp"
2941
},
2942
"6": {
2943
"patterns": [
2944
{
2945
"include": "#inline_comment"
2946
}
2947
]
2948
},
2949
"7": {
2950
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2951
},
2952
"8": {
2953
"name": "comment.block.cpp"
2954
},
2955
"9": {
2956
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2957
},
2958
"10": {
2959
"patterns": [
2960
{
2961
"match": "::",
2962
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
2963
},
2964
{
2965
"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)",
2966
"name": "entity.name.scope-resolution.destructor.cpp"
2967
},
2968
{
2969
"include": "#template_call_range_helper"
2970
}
2971
]
2972
},
2973
"11": {
2974
"patterns": [
2975
{
2976
"include": "#template_call_range_helper"
2977
}
2978
]
2979
},
2980
"12": {},
2981
"13": {
2982
"patterns": [
2983
{
2984
"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}))*(?=:)",
2985
"name": "entity.name.type.destructor.cpp"
2986
},
2987
{
2988
"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}))*",
2989
"name": "entity.name.function.definition.special.member.destructor.cpp"
2990
},
2991
{
2992
"match": "::",
2993
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
2994
}
2995
]
2996
},
2997
"14": {},
2998
"15": {
2999
"patterns": [
3000
{
3001
"include": "#inline_comment"
3002
}
3003
]
3004
},
3005
"16": {
3006
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3007
},
3008
"17": {
3009
"name": "comment.block.cpp"
3010
},
3011
"18": {
3012
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3013
},
3014
"19": {
3015
"patterns": [
3016
{
3017
"include": "#inline_comment"
3018
}
3019
]
3020
},
3021
"20": {
3022
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3023
},
3024
"21": {
3025
"name": "comment.block.cpp"
3026
},
3027
"22": {
3028
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3029
},
3030
"23": {
3031
"patterns": [
3032
{
3033
"include": "#inline_comment"
3034
}
3035
]
3036
},
3037
"24": {
3038
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3039
},
3040
"25": {
3041
"name": "comment.block.cpp"
3042
},
3043
"26": {
3044
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3045
}
3046
},
3047
"endCaptures": {},
3048
"name": "meta.function.definition.special.member.destructor.cpp",
3049
"patterns": [
3050
{
3051
"begin": "\\G ?",
3052
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
3053
"beginCaptures": {},
3054
"endCaptures": {
3055
"0": {
3056
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
3057
}
3058
},
3059
"name": "meta.head.function.definition.special.member.destructor.cpp",
3060
"patterns": [
3061
{
3062
"include": "#ever_present_context"
3063
},
3064
{
3065
"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
3066
"captures": {
3067
"1": {
3068
"name": "keyword.operator.assignment.cpp"
3069
},
3070
"2": {
3071
"patterns": [
3072
{
3073
"include": "#inline_comment"
3074
}
3075
]
3076
},
3077
"3": {
3078
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3079
},
3080
"4": {
3081
"name": "comment.block.cpp"
3082
},
3083
"5": {
3084
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3085
},
3086
"6": {
3087
"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"
3088
},
3089
"7": {
3090
"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"
3091
}
3092
}
3093
},
3094
{
3095
"begin": "\\(",
3096
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
3097
"beginCaptures": {
3098
"0": {
3099
"name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
3100
}
3101
},
3102
"endCaptures": {
3103
"0": {
3104
"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
3105
}
3106
},
3107
"contentName": "meta.function.definition.parameters.special.member.destructor",
3108
"patterns": []
3109
},
3110
{
3111
"include": "#qualifiers_and_specifiers_post_parameters"
3112
},
3113
{
3114
"include": "$self"
3115
}
3116
]
3117
},
3118
{
3119
"begin": "(?<=\\{|<%|\\?\\?<)",
3120
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
3121
"beginCaptures": {},
3122
"endCaptures": {
3123
"0": {
3124
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
3125
}
3126
},
3127
"name": "meta.body.function.definition.special.member.destructor.cpp",
3128
"patterns": [
3129
{
3130
"include": "#function_body_context"
3131
}
3132
]
3133
},
3134
{
3135
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3136
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
3137
"beginCaptures": {},
3138
"endCaptures": {},
3139
"name": "meta.tail.function.definition.special.member.destructor.cpp",
3140
"patterns": [
3141
{
3142
"include": "$self"
3143
}
3144
]
3145
}
3146
]
3147
},
3148
"diagnostic": {
3149
"begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:error|warning)))\\b(?:\\s+)?",
3150
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=\\\\end\\{(?:minted|cppcode)\\})",
3151
"beginCaptures": {
3152
"1": {
3153
"name": "keyword.control.directive.diagnostic.$7.cpp"
3154
},
3155
"2": {
3156
"patterns": [
3157
{
3158
"include": "#inline_comment"
3159
}
3160
]
3161
},
3162
"3": {
3163
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3164
},
3165
"4": {
3166
"name": "comment.block.cpp"
3167
},
3168
"5": {
3169
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3170
},
3171
"6": {
3172
"name": "punctuation.definition.directive.cpp"
3173
},
3174
"7": {}
3175
},
3176
"endCaptures": {},
3177
"name": "meta.preprocessor.diagnostic.$reference(directive).cpp",
3178
"patterns": [
3179
{
3180
"include": "#comments"
3181
},
3182
{
3183
"begin": "\"",
3184
"end": "(?:(\")|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))|(?=\\\\end\\{(?:minted|cppcode)\\})",
3185
"beginCaptures": {
3186
"0": {
3187
"name": "punctuation.definition.string.begin.cpp"
3188
}
3189
},
3190
"endCaptures": {
3191
"1": {
3192
"name": "punctuation.definition.string.end.cpp"
3193
}
3194
},
3195
"name": "string.quoted.double.cpp",
3196
"patterns": [
3197
{
3198
"include": "#line_continuation_character"
3199
}
3200
]
3201
},
3202
{
3203
"begin": "'",
3204
"end": "(?:(')|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))|(?=\\\\end\\{(?:minted|cppcode)\\})",
3205
"beginCaptures": {
3206
"0": {
3207
"name": "punctuation.definition.string.begin.cpp"
3208
}
3209
},
3210
"endCaptures": {
3211
"1": {
3212
"name": "punctuation.definition.string.end.cpp"
3213
}
3214
},
3215
"name": "string.quoted.single.cpp",
3216
"patterns": [
3217
{
3218
"include": "#line_continuation_character"
3219
}
3220
]
3221
},
3222
{
3223
"begin": "[^'\"]",
3224
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=\\\\end\\{(?:minted|cppcode)\\})",
3225
"beginCaptures": {},
3226
"endCaptures": {},
3227
"name": "string.unquoted.cpp",
3228
"patterns": [
3229
{
3230
"include": "#line_continuation_character"
3231
},
3232
{
3233
"include": "#comments"
3234
}
3235
]
3236
}
3237
]
3238
},
3239
"emacs_file_banner": {
3240
"match": "(?:(^(?:\\s+)?((\\/\\/)(?:\\s+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:\\s+)?.+(?:\\s+)?(?:\\4)(?:\\s+)?(?:\\n|$)))|(^(?:\\s+)?((\\/\\*)(?:\\s+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:\\s+)?.+(?:\\s+)?(?:\\8)(?:\\s+)?\\*\\/)))",
3241
"captures": {
3242
"1": {
3243
"name": "meta.toc-list.banner.double-slash.cpp"
3244
},
3245
"2": {
3246
"name": "comment.line.double-slash.cpp"
3247
},
3248
"3": {
3249
"name": "punctuation.definition.comment.cpp"
3250
},
3251
"4": {
3252
"name": "meta.banner.character.cpp"
3253
},
3254
"5": {
3255
"name": "meta.toc-list.banner.block.cpp"
3256
},
3257
"6": {
3258
"name": "comment.line.banner.cpp"
3259
},
3260
"7": {
3261
"name": "punctuation.definition.comment.cpp"
3262
},
3263
"8": {
3264
"name": "meta.banner.character.cpp"
3265
}
3266
}
3267
},
3268
"empty_square_brackets": {
3269
"name": "storage.modifier.array.bracket.square",
3270
"match": "(?<!delete)\\[(?:\\s+)?\\]"
3271
},
3272
"enum_block": {
3273
"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)))?",
3274
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
3275
"beginCaptures": {
3276
"0": {
3277
"name": "meta.head.enum.cpp"
3278
},
3279
"1": {
3280
"name": "storage.type.enum.cpp"
3281
},
3282
"2": {
3283
"name": "storage.type.enum.enum-key.$2.cpp"
3284
},
3285
"3": {
3286
"patterns": [
3287
{
3288
"include": "#attributes_context"
3289
},
3290
{
3291
"include": "#number_literal"
3292
}
3293
]
3294
},
3295
"4": {
3296
"name": "entity.name.type.enum.cpp"
3297
},
3298
"5": {
3299
"name": "punctuation.separator.colon.type-specifier.cpp"
3300
},
3301
"6": {
3302
"patterns": [
3303
{
3304
"include": "#scope_resolution_inner_generated"
3305
}
3306
]
3307
},
3308
"7": {
3309
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3310
},
3311
"8": {
3312
"patterns": [
3313
{
3314
"include": "#template_call_range_helper"
3315
}
3316
]
3317
},
3318
"9": {},
3319
"10": {
3320
"name": "entity.name.scope-resolution.cpp"
3321
},
3322
"11": {
3323
"name": "meta.template.call.cpp",
3324
"patterns": [
3325
{
3326
"include": "#template_call_range_helper"
3327
}
3328
]
3329
},
3330
"12": {},
3331
"13": {
3332
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3333
},
3334
"14": {
3335
"name": "comment.block.cpp"
3336
},
3337
"15": {
3338
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3339
},
3340
"16": {
3341
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3342
},
3343
"17": {
3344
"name": "storage.type.integral.$17.cpp"
3345
}
3346
},
3347
"endCaptures": {
3348
"1": {
3349
"name": "punctuation.terminator.statement.cpp"
3350
},
3351
"2": {
3352
"name": "punctuation.terminator.statement.cpp"
3353
}
3354
},
3355
"name": "meta.block.enum.cpp",
3356
"patterns": [
3357
{
3358
"begin": "\\G ?",
3359
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
3360
"beginCaptures": {},
3361
"endCaptures": {
3362
"0": {
3363
"name": "punctuation.section.block.begin.bracket.curly.enum.cpp"
3364
}
3365
},
3366
"name": "meta.head.enum.cpp",
3367
"patterns": [
3368
{
3369
"include": "$self"
3370
}
3371
]
3372
},
3373
{
3374
"begin": "(?<=\\{|<%|\\?\\?<)",
3375
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
3376
"beginCaptures": {},
3377
"endCaptures": {
3378
"0": {
3379
"name": "punctuation.section.block.end.bracket.curly.enum.cpp"
3380
}
3381
},
3382
"name": "meta.body.enum.cpp",
3383
"patterns": [
3384
{
3385
"include": "#ever_present_context"
3386
},
3387
{
3388
"include": "#enumerator_list"
3389
},
3390
{
3391
"include": "#comments"
3392
},
3393
{
3394
"include": "#comma"
3395
},
3396
{
3397
"include": "#semicolon"
3398
}
3399
]
3400
},
3401
{
3402
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3403
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
3404
"beginCaptures": {},
3405
"endCaptures": {},
3406
"name": "meta.tail.enum.cpp",
3407
"patterns": [
3408
{
3409
"include": "$self"
3410
}
3411
]
3412
}
3413
]
3414
},
3415
"enum_declare": {
3416
"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])",
3417
"captures": {
3418
"1": {
3419
"name": "storage.type.enum.declare.cpp"
3420
},
3421
"2": {
3422
"patterns": [
3423
{
3424
"include": "#inline_comment"
3425
}
3426
]
3427
},
3428
"3": {
3429
"patterns": [
3430
{
3431
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3432
"captures": {
3433
"1": {
3434
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3435
},
3436
"2": {
3437
"name": "comment.block.cpp"
3438
},
3439
"3": {
3440
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3441
}
3442
}
3443
}
3444
]
3445
},
3446
"4": {
3447
"name": "entity.name.type.enum.cpp"
3448
},
3449
"5": {
3450
"patterns": [
3451
{
3452
"match": "\\*",
3453
"name": "storage.modifier.pointer.cpp"
3454
},
3455
{
3456
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
3457
"captures": {
3458
"1": {
3459
"patterns": [
3460
{
3461
"include": "#inline_comment"
3462
}
3463
]
3464
},
3465
"2": {
3466
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3467
},
3468
"3": {
3469
"name": "comment.block.cpp"
3470
},
3471
"4": {
3472
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3473
}
3474
},
3475
"name": "invalid.illegal.reference-type.cpp"
3476
},
3477
{
3478
"match": "\\&",
3479
"name": "storage.modifier.reference.cpp"
3480
}
3481
]
3482
},
3483
"6": {
3484
"patterns": [
3485
{
3486
"include": "#inline_comment"
3487
}
3488
]
3489
},
3490
"7": {
3491
"patterns": [
3492
{
3493
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3494
"captures": {
3495
"1": {
3496
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3497
},
3498
"2": {
3499
"name": "comment.block.cpp"
3500
},
3501
"3": {
3502
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3503
}
3504
}
3505
}
3506
]
3507
},
3508
"8": {
3509
"patterns": [
3510
{
3511
"include": "#inline_comment"
3512
}
3513
]
3514
},
3515
"9": {
3516
"patterns": [
3517
{
3518
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3519
"captures": {
3520
"1": {
3521
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3522
},
3523
"2": {
3524
"name": "comment.block.cpp"
3525
},
3526
"3": {
3527
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3528
}
3529
}
3530
}
3531
]
3532
},
3533
"10": {
3534
"patterns": [
3535
{
3536
"include": "#inline_comment"
3537
}
3538
]
3539
},
3540
"11": {
3541
"patterns": [
3542
{
3543
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3544
"captures": {
3545
"1": {
3546
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3547
},
3548
"2": {
3549
"name": "comment.block.cpp"
3550
},
3551
"3": {
3552
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3553
}
3554
}
3555
}
3556
]
3557
},
3558
"12": {
3559
"name": "variable.other.object.declare.cpp"
3560
},
3561
"13": {
3562
"patterns": [
3563
{
3564
"include": "#inline_comment"
3565
}
3566
]
3567
},
3568
"14": {
3569
"patterns": [
3570
{
3571
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3572
"captures": {
3573
"1": {
3574
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3575
},
3576
"2": {
3577
"name": "comment.block.cpp"
3578
},
3579
"3": {
3580
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3581
}
3582
}
3583
}
3584
]
3585
}
3586
}
3587
},
3588
"enumerator_list": {
3589
"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))|(?=\\}[^']))|(?=(?:\\/\\/|\\/\\*)))",
3590
"captures": {
3591
"1": {
3592
"name": "variable.other.enummember.cpp"
3593
},
3594
"2": {
3595
"patterns": [
3596
{
3597
"include": "#attributes_context"
3598
},
3599
{
3600
"include": "#number_literal"
3601
}
3602
]
3603
},
3604
"3": {
3605
"name": "keyword.operator.assignment.cpp"
3606
},
3607
"4": {
3608
"patterns": [
3609
{
3610
"include": "#evaluation_context"
3611
}
3612
]
3613
},
3614
"5": {
3615
"patterns": [
3616
{
3617
"include": "#comma"
3618
},
3619
{
3620
"include": "#semicolon"
3621
}
3622
]
3623
}
3624
},
3625
"name": "meta.enum.definition.cpp"
3626
},
3627
"evaluation_context": {
3628
"patterns": [
3629
{
3630
"include": "#ever_present_context"
3631
},
3632
{
3633
"include": "#string_context"
3634
},
3635
{
3636
"include": "#number_literal"
3637
},
3638
{
3639
"include": "#method_access"
3640
},
3641
{
3642
"include": "#member_access"
3643
},
3644
{
3645
"include": "#predefined_macros"
3646
},
3647
{
3648
"include": "#operators"
3649
},
3650
{
3651
"include": "#memory_operators"
3652
},
3653
{
3654
"include": "#wordlike_operators"
3655
},
3656
{
3657
"include": "#type_casting_operators"
3658
},
3659
{
3660
"include": "#control_flow_keywords"
3661
},
3662
{
3663
"include": "#exception_keywords"
3664
},
3665
{
3666
"include": "#the_this_keyword"
3667
},
3668
{
3669
"include": "#language_constants"
3670
},
3671
{
3672
"include": "#constructor_bracket_call"
3673
},
3674
{
3675
"include": "#simple_constructor_call"
3676
},
3677
{
3678
"include": "#simple_array_assignment"
3679
},
3680
{
3681
"include": "#builtin_storage_type_initilizer"
3682
},
3683
{
3684
"include": "#qualifiers_and_specifiers_post_parameters"
3685
},
3686
{
3687
"include": "#functional_specifiers_pre_parameters"
3688
},
3689
{
3690
"include": "#storage_types"
3691
},
3692
{
3693
"include": "#lambdas"
3694
},
3695
{
3696
"include": "#attributes_context"
3697
},
3698
{
3699
"include": "#parentheses"
3700
},
3701
{
3702
"include": "#function_call"
3703
},
3704
{
3705
"include": "#scope_resolution_inner_generated"
3706
},
3707
{
3708
"include": "#square_brackets"
3709
},
3710
{
3711
"include": "#semicolon"
3712
},
3713
{
3714
"include": "#comma"
3715
},
3716
{
3717
"include": "#unknown_variable"
3718
}
3719
]
3720
},
3721
"ever_present_context": {
3722
"patterns": [
3723
{
3724
"include": "#pragma_mark"
3725
},
3726
{
3727
"include": "#pragma"
3728
},
3729
{
3730
"include": "#include"
3731
},
3732
{
3733
"include": "#line"
3734
},
3735
{
3736
"include": "#diagnostic"
3737
},
3738
{
3739
"include": "#undef"
3740
},
3741
{
3742
"include": "#preprocessor_conditional_range"
3743
},
3744
{
3745
"include": "#macro"
3746
},
3747
{
3748
"include": "#preprocessor_conditional_standalone"
3749
},
3750
{
3751
"include": "#macro_argument"
3752
},
3753
{
3754
"include": "#comments"
3755
},
3756
{
3757
"include": "#line_continuation_character"
3758
}
3759
]
3760
},
3761
"exception_keywords": {
3762
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:throw|catch|try)(?!\\w))",
3763
"captures": {
3764
"1": {
3765
"patterns": [
3766
{
3767
"include": "#inline_comment"
3768
}
3769
]
3770
},
3771
"2": {
3772
"patterns": [
3773
{
3774
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3775
"captures": {
3776
"1": {
3777
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3778
},
3779
"2": {
3780
"name": "comment.block.cpp"
3781
},
3782
"3": {
3783
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3784
}
3785
}
3786
}
3787
]
3788
},
3789
"3": {
3790
"name": "keyword.control.exception.$3.cpp"
3791
}
3792
}
3793
},
3794
"extern_block": {
3795
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(extern)(?=\\s*\\\")",
3796
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
3797
"beginCaptures": {
3798
"0": {
3799
"name": "meta.head.extern.cpp"
3800
},
3801
"1": {
3802
"patterns": [
3803
{
3804
"include": "#inline_comment"
3805
}
3806
]
3807
},
3808
"2": {
3809
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3810
},
3811
"3": {
3812
"name": "comment.block.cpp"
3813
},
3814
"4": {
3815
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3816
},
3817
"5": {
3818
"name": "storage.type.extern.cpp"
3819
}
3820
},
3821
"endCaptures": {
3822
"1": {
3823
"name": "punctuation.terminator.statement.cpp"
3824
},
3825
"2": {
3826
"name": "punctuation.terminator.statement.cpp"
3827
}
3828
},
3829
"name": "meta.block.extern.cpp",
3830
"patterns": [
3831
{
3832
"begin": "\\G ?",
3833
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
3834
"beginCaptures": {},
3835
"endCaptures": {
3836
"0": {
3837
"name": "punctuation.section.block.begin.bracket.curly.extern.cpp"
3838
}
3839
},
3840
"name": "meta.head.extern.cpp",
3841
"patterns": [
3842
{
3843
"include": "$self"
3844
}
3845
]
3846
},
3847
{
3848
"begin": "(?<=\\{|<%|\\?\\?<)",
3849
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
3850
"beginCaptures": {},
3851
"endCaptures": {
3852
"0": {
3853
"name": "punctuation.section.block.end.bracket.curly.extern.cpp"
3854
}
3855
},
3856
"name": "meta.body.extern.cpp",
3857
"patterns": [
3858
{
3859
"include": "$self"
3860
}
3861
]
3862
},
3863
{
3864
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3865
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
3866
"beginCaptures": {},
3867
"endCaptures": {},
3868
"name": "meta.tail.extern.cpp",
3869
"patterns": [
3870
{
3871
"include": "$self"
3872
}
3873
]
3874
},
3875
{
3876
"include": "$self"
3877
}
3878
]
3879
},
3880
"function_body_context": {
3881
"patterns": [
3882
{
3883
"include": "#ever_present_context"
3884
},
3885
{
3886
"include": "#simple_array_assignment"
3887
},
3888
{
3889
"include": "#using_namespace"
3890
},
3891
{
3892
"include": "#type_alias"
3893
},
3894
{
3895
"include": "#using_name"
3896
},
3897
{
3898
"include": "#namespace_alias"
3899
},
3900
{
3901
"include": "#typedef_class"
3902
},
3903
{
3904
"include": "#typedef_struct"
3905
},
3906
{
3907
"include": "#typedef_union"
3908
},
3909
{
3910
"include": "#misc_keywords"
3911
},
3912
{
3913
"include": "#standard_declares"
3914
},
3915
{
3916
"include": "#class_block"
3917
},
3918
{
3919
"include": "#struct_block"
3920
},
3921
{
3922
"include": "#union_block"
3923
},
3924
{
3925
"include": "#enum_block"
3926
},
3927
{
3928
"include": "#access_control_keywords"
3929
},
3930
{
3931
"include": "#block"
3932
},
3933
{
3934
"include": "#static_assert"
3935
},
3936
{
3937
"include": "#assembly"
3938
},
3939
{
3940
"include": "#function_pointer"
3941
},
3942
{
3943
"include": "#over_qualified_types"
3944
},
3945
{
3946
"include": "#normal_variable_assignment"
3947
},
3948
{
3949
"include": "#normal_variable_declaration"
3950
},
3951
{
3952
"include": "#switch_statement"
3953
},
3954
{
3955
"include": "#goto_statement"
3956
},
3957
{
3958
"include": "#evaluation_context"
3959
},
3960
{
3961
"include": "#label"
3962
}
3963
]
3964
},
3965
"function_call": {
3966
"patterns": [
3967
{
3968
"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-Z][A-Z_0-9]*)\\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*+)?(\\()",
3969
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
3970
"beginCaptures": {
3971
"1": {
3972
"patterns": [
3973
{
3974
"include": "#scope_resolution_function_call_inner_generated"
3975
}
3976
]
3977
},
3978
"2": {
3979
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
3980
},
3981
"3": {
3982
"patterns": [
3983
{
3984
"include": "#template_call_range_helper"
3985
}
3986
]
3987
},
3988
"4": {},
3989
"5": {
3990
"name": "entity.name.function.call.upper-case.cpp entity.name.function.call.cpp"
3991
},
3992
"6": {
3993
"patterns": [
3994
{
3995
"include": "#inline_comment"
3996
}
3997
]
3998
},
3999
"7": {
4000
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4001
},
4002
"8": {
4003
"name": "comment.block.cpp"
4004
},
4005
"9": {
4006
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4007
},
4008
"10": {
4009
"name": "meta.template.call.cpp",
4010
"patterns": [
4011
{
4012
"include": "#template_call_range_helper"
4013
}
4014
]
4015
},
4016
"11": {},
4017
"12": {
4018
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4019
},
4020
"13": {
4021
"name": "comment.block.cpp"
4022
},
4023
"14": {
4024
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4025
},
4026
"15": {
4027
"name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"
4028
}
4029
},
4030
"endCaptures": {
4031
"0": {
4032
"name": "punctuation.section.arguments.end.bracket.round.function.call.cpp punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp"
4033
}
4034
},
4035
"patterns": [
4036
{
4037
"include": "#evaluation_context"
4038
}
4039
]
4040
},
4041
{
4042
"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*+)?(\\()",
4043
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
4044
"beginCaptures": {
4045
"1": {
4046
"patterns": [
4047
{
4048
"include": "#scope_resolution_function_call_inner_generated"
4049
}
4050
]
4051
},
4052
"2": {
4053
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
4054
},
4055
"3": {
4056
"patterns": [
4057
{
4058
"include": "#template_call_range_helper"
4059
}
4060
]
4061
},
4062
"4": {},
4063
"5": {
4064
"name": "entity.name.function.call.cpp"
4065
},
4066
"6": {
4067
"patterns": [
4068
{
4069
"include": "#inline_comment"
4070
}
4071
]
4072
},
4073
"7": {
4074
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4075
},
4076
"8": {
4077
"name": "comment.block.cpp"
4078
},
4079
"9": {
4080
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4081
},
4082
"10": {
4083
"name": "meta.template.call.cpp",
4084
"patterns": [
4085
{
4086
"include": "#template_call_range_helper"
4087
}
4088
]
4089
},
4090
"11": {},
4091
"12": {
4092
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4093
},
4094
"13": {
4095
"name": "comment.block.cpp"
4096
},
4097
"14": {
4098
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4099
},
4100
"15": {
4101
"name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp"
4102
}
4103
},
4104
"endCaptures": {
4105
"0": {
4106
"name": "punctuation.section.arguments.end.bracket.round.function.call.cpp"
4107
}
4108
},
4109
"patterns": [
4110
{
4111
"include": "#evaluation_context"
4112
}
4113
]
4114
}
4115
]
4116
},
4117
"function_definition": {
4118
"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))(?=\\()",
4119
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
4120
"beginCaptures": {
4121
"0": {
4122
"name": "meta.head.function.definition.cpp"
4123
},
4124
"1": {
4125
"name": "storage.type.template.cpp"
4126
},
4127
"2": {
4128
"patterns": [
4129
{
4130
"include": "#inline_comment"
4131
}
4132
]
4133
},
4134
"3": {
4135
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4136
},
4137
"4": {
4138
"name": "comment.block.cpp"
4139
},
4140
"5": {
4141
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4142
},
4143
"6": {
4144
"patterns": [
4145
{
4146
"include": "#attributes_context"
4147
},
4148
{
4149
"include": "#number_literal"
4150
}
4151
]
4152
},
4153
"7": {
4154
"patterns": [
4155
{
4156
"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))",
4157
"captures": {
4158
"1": {
4159
"name": "storage.modifier.$1.cpp"
4160
},
4161
"2": {
4162
"patterns": [
4163
{
4164
"include": "#inline_comment"
4165
}
4166
]
4167
},
4168
"3": {
4169
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4170
},
4171
"4": {
4172
"name": "comment.block.cpp"
4173
},
4174
"5": {
4175
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4176
}
4177
}
4178
}
4179
]
4180
},
4181
"8": {
4182
"name": "storage.modifier.$8.cpp"
4183
},
4184
"9": {
4185
"patterns": [
4186
{
4187
"include": "#inline_comment"
4188
}
4189
]
4190
},
4191
"10": {
4192
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4193
},
4194
"11": {
4195
"name": "comment.block.cpp"
4196
},
4197
"12": {
4198
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4199
},
4200
"13": {
4201
"name": "meta.qualified-type.cpp",
4202
"patterns": [
4203
{
4204
"match": "::",
4205
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4206
},
4207
{
4208
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
4209
"name": "storage.type.$0.cpp"
4210
},
4211
{
4212
"include": "#attributes_context"
4213
},
4214
{
4215
"include": "#storage_types"
4216
},
4217
{
4218
"include": "#number_literal"
4219
},
4220
{
4221
"include": "#string_context"
4222
},
4223
{
4224
"include": "#comma"
4225
},
4226
{
4227
"include": "#scope_resolution_inner_generated"
4228
},
4229
{
4230
"include": "#template_call_range_helper"
4231
},
4232
{
4233
"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}))*",
4234
"name": "entity.name.type.cpp"
4235
}
4236
]
4237
},
4238
"14": {
4239
"patterns": [
4240
{
4241
"include": "#attributes_context"
4242
},
4243
{
4244
"include": "#number_literal"
4245
}
4246
]
4247
},
4248
"15": {
4249
"patterns": [
4250
{
4251
"include": "#inline_comment"
4252
}
4253
]
4254
},
4255
"16": {
4256
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4257
},
4258
"17": {
4259
"name": "comment.block.cpp"
4260
},
4261
"18": {
4262
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4263
},
4264
"19": {
4265
"patterns": [
4266
{
4267
"include": "#inline_comment"
4268
}
4269
]
4270
},
4271
"20": {
4272
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4273
},
4274
"21": {
4275
"name": "comment.block.cpp"
4276
},
4277
"22": {
4278
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4279
},
4280
"23": {
4281
"patterns": [
4282
{
4283
"match": "::",
4284
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4285
},
4286
{
4287
"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)",
4288
"name": "entity.name.scope-resolution.type.cpp"
4289
},
4290
{
4291
"include": "#template_call_range_helper"
4292
}
4293
]
4294
},
4295
"24": {
4296
"patterns": [
4297
{
4298
"include": "#template_call_range_helper"
4299
}
4300
]
4301
},
4302
"25": {},
4303
"26": {
4304
"patterns": [
4305
{
4306
"include": "#inline_comment"
4307
}
4308
]
4309
},
4310
"27": {
4311
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4312
},
4313
"28": {
4314
"name": "comment.block.cpp"
4315
},
4316
"29": {
4317
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4318
},
4319
"30": {},
4320
"31": {
4321
"patterns": [
4322
{
4323
"match": "\\*",
4324
"name": "storage.modifier.pointer.cpp"
4325
},
4326
{
4327
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
4328
"captures": {
4329
"1": {
4330
"patterns": [
4331
{
4332
"include": "#inline_comment"
4333
}
4334
]
4335
},
4336
"2": {
4337
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4338
},
4339
"3": {
4340
"name": "comment.block.cpp"
4341
},
4342
"4": {
4343
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4344
}
4345
},
4346
"name": "invalid.illegal.reference-type.cpp"
4347
},
4348
{
4349
"match": "\\&",
4350
"name": "storage.modifier.reference.cpp"
4351
}
4352
]
4353
},
4354
"32": {
4355
"patterns": [
4356
{
4357
"include": "#inline_comment"
4358
}
4359
]
4360
},
4361
"33": {
4362
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4363
},
4364
"34": {
4365
"name": "comment.block.cpp"
4366
},
4367
"35": {
4368
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4369
},
4370
"36": {
4371
"patterns": [
4372
{
4373
"include": "#inline_comment"
4374
}
4375
]
4376
},
4377
"37": {
4378
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4379
},
4380
"38": {
4381
"name": "comment.block.cpp"
4382
},
4383
"39": {
4384
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4385
},
4386
"40": {
4387
"patterns": [
4388
{
4389
"include": "#inline_comment"
4390
}
4391
]
4392
},
4393
"41": {
4394
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4395
},
4396
"42": {
4397
"name": "comment.block.cpp"
4398
},
4399
"43": {
4400
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4401
},
4402
"44": {
4403
"name": "storage.type.modifier.calling-convention.cpp"
4404
},
4405
"45": {
4406
"patterns": [
4407
{
4408
"include": "#inline_comment"
4409
}
4410
]
4411
},
4412
"46": {
4413
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4414
},
4415
"47": {
4416
"name": "comment.block.cpp"
4417
},
4418
"48": {
4419
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4420
},
4421
"49": {
4422
"patterns": [
4423
{
4424
"include": "#scope_resolution_function_definition_inner_generated"
4425
}
4426
]
4427
},
4428
"50": {
4429
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
4430
},
4431
"51": {
4432
"patterns": [
4433
{
4434
"include": "#template_call_range_helper"
4435
}
4436
]
4437
},
4438
"52": {},
4439
"53": {
4440
"name": "entity.name.function.definition.cpp"
4441
},
4442
"54": {
4443
"patterns": [
4444
{
4445
"include": "#inline_comment"
4446
}
4447
]
4448
},
4449
"55": {
4450
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4451
},
4452
"56": {
4453
"name": "comment.block.cpp"
4454
},
4455
"57": {
4456
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4457
}
4458
},
4459
"endCaptures": {},
4460
"name": "meta.function.definition.cpp",
4461
"patterns": [
4462
{
4463
"begin": "\\G ?",
4464
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
4465
"beginCaptures": {},
4466
"endCaptures": {
4467
"0": {
4468
"name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp"
4469
}
4470
},
4471
"name": "meta.head.function.definition.cpp",
4472
"patterns": [
4473
{
4474
"include": "#ever_present_context"
4475
},
4476
{
4477
"begin": "\\(",
4478
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
4479
"beginCaptures": {
4480
"0": {
4481
"name": "punctuation.section.parameters.begin.bracket.round.cpp"
4482
}
4483
},
4484
"endCaptures": {
4485
"0": {
4486
"name": "punctuation.section.parameters.end.bracket.round.cpp"
4487
}
4488
},
4489
"contentName": "meta.function.definition.parameters",
4490
"patterns": [
4491
{
4492
"include": "#ever_present_context"
4493
},
4494
{
4495
"include": "#parameter_or_maybe_value"
4496
},
4497
{
4498
"include": "#comma"
4499
},
4500
{
4501
"include": "#evaluation_context"
4502
}
4503
]
4504
},
4505
{
4506
"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<:.]))",
4507
"captures": {
4508
"1": {
4509
"name": "punctuation.definition.function.return-type.cpp"
4510
},
4511
"2": {
4512
"patterns": [
4513
{
4514
"include": "#inline_comment"
4515
}
4516
]
4517
},
4518
"3": {
4519
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4520
},
4521
"4": {
4522
"name": "comment.block.cpp"
4523
},
4524
"5": {
4525
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4526
},
4527
"6": {
4528
"name": "meta.qualified-type.cpp",
4529
"patterns": [
4530
{
4531
"match": "::",
4532
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4533
},
4534
{
4535
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
4536
"name": "storage.type.$0.cpp"
4537
},
4538
{
4539
"include": "#attributes_context"
4540
},
4541
{
4542
"include": "#storage_types"
4543
},
4544
{
4545
"include": "#number_literal"
4546
},
4547
{
4548
"include": "#string_context"
4549
},
4550
{
4551
"include": "#comma"
4552
},
4553
{
4554
"include": "#scope_resolution_inner_generated"
4555
},
4556
{
4557
"include": "#template_call_range_helper"
4558
},
4559
{
4560
"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}))*",
4561
"name": "entity.name.type.cpp"
4562
}
4563
]
4564
},
4565
"7": {
4566
"patterns": [
4567
{
4568
"include": "#attributes_context"
4569
},
4570
{
4571
"include": "#number_literal"
4572
}
4573
]
4574
},
4575
"8": {
4576
"patterns": [
4577
{
4578
"include": "#inline_comment"
4579
}
4580
]
4581
},
4582
"9": {
4583
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4584
},
4585
"10": {
4586
"name": "comment.block.cpp"
4587
},
4588
"11": {
4589
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4590
},
4591
"12": {
4592
"patterns": [
4593
{
4594
"include": "#inline_comment"
4595
}
4596
]
4597
},
4598
"13": {
4599
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4600
},
4601
"14": {
4602
"name": "comment.block.cpp"
4603
},
4604
"15": {
4605
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4606
},
4607
"16": {
4608
"patterns": [
4609
{
4610
"match": "::",
4611
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4612
},
4613
{
4614
"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)",
4615
"name": "entity.name.scope-resolution.type.cpp"
4616
},
4617
{
4618
"include": "#template_call_range_helper"
4619
}
4620
]
4621
},
4622
"17": {
4623
"patterns": [
4624
{
4625
"include": "#template_call_range_helper"
4626
}
4627
]
4628
},
4629
"18": {},
4630
"19": {
4631
"patterns": [
4632
{
4633
"include": "#inline_comment"
4634
}
4635
]
4636
},
4637
"20": {
4638
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4639
},
4640
"21": {
4641
"name": "comment.block.cpp"
4642
},
4643
"22": {
4644
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4645
},
4646
"23": {}
4647
}
4648
},
4649
{
4650
"include": "$self"
4651
}
4652
]
4653
},
4654
{
4655
"begin": "(?<=\\{|<%|\\?\\?<)",
4656
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
4657
"beginCaptures": {},
4658
"endCaptures": {
4659
"0": {
4660
"name": "punctuation.section.block.end.bracket.curly.function.definition.cpp"
4661
}
4662
},
4663
"name": "meta.body.function.definition.cpp",
4664
"patterns": [
4665
{
4666
"include": "#function_body_context"
4667
}
4668
]
4669
},
4670
{
4671
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
4672
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
4673
"beginCaptures": {},
4674
"endCaptures": {},
4675
"name": "meta.tail.function.definition.cpp",
4676
"patterns": [
4677
{
4678
"include": "$self"
4679
}
4680
]
4681
}
4682
]
4683
},
4684
"function_parameter_context": {
4685
"patterns": [
4686
{
4687
"include": "#ever_present_context"
4688
},
4689
{
4690
"include": "#parameter"
4691
},
4692
{
4693
"include": "#comma"
4694
}
4695
]
4696
},
4697
"function_pointer": {
4698
"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+)?(\\()",
4699
"end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:override|volatile|noexcept|final|const)(?!\\w)))+(?=\\s*(?:\\{|;|\\n|\\r|=))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=[{=,);>]|\\n)(?!\\()|(?=\\\\end\\{(?:minted|cppcode)\\})",
4700
"beginCaptures": {
4701
"1": {
4702
"name": "meta.qualified-type.cpp",
4703
"patterns": [
4704
{
4705
"match": "::",
4706
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4707
},
4708
{
4709
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
4710
"name": "storage.type.$0.cpp"
4711
},
4712
{
4713
"include": "#attributes_context"
4714
},
4715
{
4716
"include": "#storage_types"
4717
},
4718
{
4719
"include": "#number_literal"
4720
},
4721
{
4722
"include": "#string_context"
4723
},
4724
{
4725
"include": "#comma"
4726
},
4727
{
4728
"include": "#scope_resolution_inner_generated"
4729
},
4730
{
4731
"include": "#template_call_range_helper"
4732
},
4733
{
4734
"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}))*",
4735
"name": "entity.name.type.cpp"
4736
}
4737
]
4738
},
4739
"2": {
4740
"patterns": [
4741
{
4742
"include": "#attributes_context"
4743
},
4744
{
4745
"include": "#number_literal"
4746
}
4747
]
4748
},
4749
"3": {
4750
"patterns": [
4751
{
4752
"include": "#inline_comment"
4753
}
4754
]
4755
},
4756
"4": {
4757
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4758
},
4759
"5": {
4760
"name": "comment.block.cpp"
4761
},
4762
"6": {
4763
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4764
},
4765
"7": {
4766
"patterns": [
4767
{
4768
"include": "#inline_comment"
4769
}
4770
]
4771
},
4772
"8": {
4773
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4774
},
4775
"9": {
4776
"name": "comment.block.cpp"
4777
},
4778
"10": {
4779
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4780
},
4781
"11": {
4782
"patterns": [
4783
{
4784
"match": "::",
4785
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4786
},
4787
{
4788
"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)",
4789
"name": "entity.name.scope-resolution.type.cpp"
4790
},
4791
{
4792
"include": "#template_call_range_helper"
4793
}
4794
]
4795
},
4796
"12": {
4797
"patterns": [
4798
{
4799
"include": "#template_call_range_helper"
4800
}
4801
]
4802
},
4803
"13": {},
4804
"14": {
4805
"patterns": [
4806
{
4807
"include": "#inline_comment"
4808
}
4809
]
4810
},
4811
"15": {
4812
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4813
},
4814
"16": {
4815
"name": "comment.block.cpp"
4816
},
4817
"17": {
4818
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4819
},
4820
"18": {},
4821
"19": {
4822
"patterns": [
4823
{
4824
"match": "\\*",
4825
"name": "storage.modifier.pointer.cpp"
4826
},
4827
{
4828
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
4829
"captures": {
4830
"1": {
4831
"patterns": [
4832
{
4833
"include": "#inline_comment"
4834
}
4835
]
4836
},
4837
"2": {
4838
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4839
},
4840
"3": {
4841
"name": "comment.block.cpp"
4842
},
4843
"4": {
4844
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4845
}
4846
},
4847
"name": "invalid.illegal.reference-type.cpp"
4848
},
4849
{
4850
"match": "\\&",
4851
"name": "storage.modifier.reference.cpp"
4852
}
4853
]
4854
},
4855
"20": {
4856
"patterns": [
4857
{
4858
"include": "#inline_comment"
4859
}
4860
]
4861
},
4862
"21": {
4863
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4864
},
4865
"22": {
4866
"name": "comment.block.cpp"
4867
},
4868
"23": {
4869
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4870
},
4871
"24": {
4872
"patterns": [
4873
{
4874
"include": "#inline_comment"
4875
}
4876
]
4877
},
4878
"25": {
4879
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4880
},
4881
"26": {
4882
"name": "comment.block.cpp"
4883
},
4884
"27": {
4885
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4886
},
4887
"28": {
4888
"patterns": [
4889
{
4890
"include": "#inline_comment"
4891
}
4892
]
4893
},
4894
"29": {
4895
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4896
},
4897
"30": {
4898
"name": "comment.block.cpp"
4899
},
4900
"31": {
4901
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4902
},
4903
"32": {
4904
"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
4905
},
4906
"33": {
4907
"name": "punctuation.definition.function.pointer.dereference.cpp"
4908
},
4909
"34": {
4910
"name": "variable.other.definition.pointer.function.cpp"
4911
},
4912
"35": {
4913
"name": "punctuation.definition.begin.bracket.square.cpp"
4914
},
4915
"36": {
4916
"patterns": [
4917
{
4918
"include": "#evaluation_context"
4919
}
4920
]
4921
},
4922
"37": {
4923
"name": "punctuation.definition.end.bracket.square.cpp"
4924
},
4925
"38": {
4926
"name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
4927
},
4928
"39": {
4929
"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
4930
}
4931
},
4932
"endCaptures": {
4933
"1": {
4934
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
4935
},
4936
"2": {
4937
"patterns": [
4938
{
4939
"include": "#inline_comment"
4940
}
4941
]
4942
},
4943
"3": {
4944
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4945
},
4946
"4": {
4947
"name": "comment.block.cpp"
4948
},
4949
"5": {
4950
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4951
},
4952
"6": {
4953
"patterns": [
4954
{
4955
"include": "#inline_comment"
4956
}
4957
]
4958
},
4959
"7": {
4960
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4961
},
4962
"8": {
4963
"name": "comment.block.cpp"
4964
},
4965
"9": {
4966
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4967
},
4968
"10": {
4969
"name": "storage.modifier.specifier.functional.post-parameters.$10.cpp"
4970
},
4971
"11": {
4972
"patterns": [
4973
{
4974
"include": "#inline_comment"
4975
}
4976
]
4977
},
4978
"12": {
4979
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4980
},
4981
"13": {
4982
"name": "comment.block.cpp"
4983
},
4984
"14": {
4985
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4986
}
4987
},
4988
"patterns": [
4989
{
4990
"include": "#function_parameter_context"
4991
}
4992
]
4993
},
4994
"function_pointer_parameter": {
4995
"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+)?(\\()",
4996
"end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:override|volatile|noexcept|final|const)(?!\\w)))+(?=\\s*(?:\\{|;|\\n|\\r|=))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=[{=,);>]|\\n)(?!\\()|(?=\\\\end\\{(?:minted|cppcode)\\})",
4997
"beginCaptures": {
4998
"1": {
4999
"name": "meta.qualified-type.cpp",
5000
"patterns": [
5001
{
5002
"match": "::",
5003
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
5004
},
5005
{
5006
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
5007
"name": "storage.type.$0.cpp"
5008
},
5009
{
5010
"include": "#attributes_context"
5011
},
5012
{
5013
"include": "#storage_types"
5014
},
5015
{
5016
"include": "#number_literal"
5017
},
5018
{
5019
"include": "#string_context"
5020
},
5021
{
5022
"include": "#comma"
5023
},
5024
{
5025
"include": "#scope_resolution_inner_generated"
5026
},
5027
{
5028
"include": "#template_call_range_helper"
5029
},
5030
{
5031
"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}))*",
5032
"name": "entity.name.type.cpp"
5033
}
5034
]
5035
},
5036
"2": {
5037
"patterns": [
5038
{
5039
"include": "#attributes_context"
5040
},
5041
{
5042
"include": "#number_literal"
5043
}
5044
]
5045
},
5046
"3": {
5047
"patterns": [
5048
{
5049
"include": "#inline_comment"
5050
}
5051
]
5052
},
5053
"4": {
5054
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5055
},
5056
"5": {
5057
"name": "comment.block.cpp"
5058
},
5059
"6": {
5060
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5061
},
5062
"7": {
5063
"patterns": [
5064
{
5065
"include": "#inline_comment"
5066
}
5067
]
5068
},
5069
"8": {
5070
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5071
},
5072
"9": {
5073
"name": "comment.block.cpp"
5074
},
5075
"10": {
5076
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5077
},
5078
"11": {
5079
"patterns": [
5080
{
5081
"match": "::",
5082
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
5083
},
5084
{
5085
"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)",
5086
"name": "entity.name.scope-resolution.type.cpp"
5087
},
5088
{
5089
"include": "#template_call_range_helper"
5090
}
5091
]
5092
},
5093
"12": {
5094
"patterns": [
5095
{
5096
"include": "#template_call_range_helper"
5097
}
5098
]
5099
},
5100
"13": {},
5101
"14": {
5102
"patterns": [
5103
{
5104
"include": "#inline_comment"
5105
}
5106
]
5107
},
5108
"15": {
5109
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5110
},
5111
"16": {
5112
"name": "comment.block.cpp"
5113
},
5114
"17": {
5115
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5116
},
5117
"18": {},
5118
"19": {
5119
"patterns": [
5120
{
5121
"match": "\\*",
5122
"name": "storage.modifier.pointer.cpp"
5123
},
5124
{
5125
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
5126
"captures": {
5127
"1": {
5128
"patterns": [
5129
{
5130
"include": "#inline_comment"
5131
}
5132
]
5133
},
5134
"2": {
5135
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5136
},
5137
"3": {
5138
"name": "comment.block.cpp"
5139
},
5140
"4": {
5141
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5142
}
5143
},
5144
"name": "invalid.illegal.reference-type.cpp"
5145
},
5146
{
5147
"match": "\\&",
5148
"name": "storage.modifier.reference.cpp"
5149
}
5150
]
5151
},
5152
"20": {
5153
"patterns": [
5154
{
5155
"include": "#inline_comment"
5156
}
5157
]
5158
},
5159
"21": {
5160
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5161
},
5162
"22": {
5163
"name": "comment.block.cpp"
5164
},
5165
"23": {
5166
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5167
},
5168
"24": {
5169
"patterns": [
5170
{
5171
"include": "#inline_comment"
5172
}
5173
]
5174
},
5175
"25": {
5176
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5177
},
5178
"26": {
5179
"name": "comment.block.cpp"
5180
},
5181
"27": {
5182
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5183
},
5184
"28": {
5185
"patterns": [
5186
{
5187
"include": "#inline_comment"
5188
}
5189
]
5190
},
5191
"29": {
5192
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5193
},
5194
"30": {
5195
"name": "comment.block.cpp"
5196
},
5197
"31": {
5198
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5199
},
5200
"32": {
5201
"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
5202
},
5203
"33": {
5204
"name": "punctuation.definition.function.pointer.dereference.cpp"
5205
},
5206
"34": {
5207
"name": "variable.parameter.pointer.function.cpp"
5208
},
5209
"35": {
5210
"name": "punctuation.definition.begin.bracket.square.cpp"
5211
},
5212
"36": {
5213
"patterns": [
5214
{
5215
"include": "#evaluation_context"
5216
}
5217
]
5218
},
5219
"37": {
5220
"name": "punctuation.definition.end.bracket.square.cpp"
5221
},
5222
"38": {
5223
"name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
5224
},
5225
"39": {
5226
"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
5227
}
5228
},
5229
"endCaptures": {
5230
"1": {
5231
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
5232
},
5233
"2": {
5234
"patterns": [
5235
{
5236
"include": "#inline_comment"
5237
}
5238
]
5239
},
5240
"3": {
5241
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5242
},
5243
"4": {
5244
"name": "comment.block.cpp"
5245
},
5246
"5": {
5247
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5248
},
5249
"6": {
5250
"patterns": [
5251
{
5252
"include": "#inline_comment"
5253
}
5254
]
5255
},
5256
"7": {
5257
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5258
},
5259
"8": {
5260
"name": "comment.block.cpp"
5261
},
5262
"9": {
5263
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5264
},
5265
"10": {
5266
"name": "storage.modifier.specifier.functional.post-parameters.$10.cpp"
5267
},
5268
"11": {
5269
"patterns": [
5270
{
5271
"include": "#inline_comment"
5272
}
5273
]
5274
},
5275
"12": {
5276
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5277
},
5278
"13": {
5279
"name": "comment.block.cpp"
5280
},
5281
"14": {
5282
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5283
}
5284
},
5285
"patterns": [
5286
{
5287
"include": "#function_parameter_context"
5288
}
5289
]
5290
},
5291
"functional_specifiers_pre_parameters": {
5292
"match": "(?<!\\w)(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)(?!\\w)",
5293
"name": "storage.modifier.specifier.functional.pre-parameters.$0.cpp"
5294
},
5295
"gcc_attributes": {
5296
"begin": "__attribute(?:__)?\\s*\\(\\s*\\(",
5297
"end": "\\)\\s*\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
5298
"beginCaptures": {
5299
"0": {
5300
"name": "punctuation.section.attribute.begin.cpp"
5301
}
5302
},
5303
"endCaptures": {
5304
"0": {
5305
"name": "punctuation.section.attribute.end.cpp"
5306
}
5307
},
5308
"name": "support.other.attribute.cpp",
5309
"patterns": [
5310
{
5311
"include": "#attributes_context"
5312
},
5313
{
5314
"begin": "\\(",
5315
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
5316
"beginCaptures": {},
5317
"endCaptures": {},
5318
"patterns": [
5319
{
5320
"include": "#attributes_context"
5321
},
5322
{
5323
"include": "#string_context"
5324
},
5325
{
5326
"include": "#ever_present_context"
5327
}
5328
]
5329
},
5330
{
5331
"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))",
5332
"captures": {
5333
"1": {
5334
"name": "keyword.other.using.directive.cpp"
5335
},
5336
"2": {
5337
"name": "entity.name.namespace.cpp"
5338
}
5339
}
5340
},
5341
{
5342
"match": ",",
5343
"name": "punctuation.separator.attribute.cpp"
5344
},
5345
{
5346
"match": ":",
5347
"name": "punctuation.accessor.attribute.cpp"
5348
},
5349
{
5350
"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)(?=::)",
5351
"name": "entity.name.namespace.cpp"
5352
},
5353
{
5354
"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)",
5355
"name": "entity.other.attribute.$0.cpp"
5356
},
5357
{
5358
"include": "#number_literal"
5359
},
5360
{
5361
"include": "#ever_present_context"
5362
}
5363
]
5364
},
5365
"goto_statement": {
5366
"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}))*)",
5367
"captures": {
5368
"1": {
5369
"patterns": [
5370
{
5371
"include": "#inline_comment"
5372
}
5373
]
5374
},
5375
"2": {
5376
"patterns": [
5377
{
5378
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5379
"captures": {
5380
"1": {
5381
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5382
},
5383
"2": {
5384
"name": "comment.block.cpp"
5385
},
5386
"3": {
5387
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5388
}
5389
}
5390
}
5391
]
5392
},
5393
"3": {
5394
"name": "keyword.control.goto.cpp"
5395
},
5396
"4": {
5397
"patterns": [
5398
{
5399
"include": "#inline_comment"
5400
}
5401
]
5402
},
5403
"5": {
5404
"patterns": [
5405
{
5406
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5407
"captures": {
5408
"1": {
5409
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5410
},
5411
"2": {
5412
"name": "comment.block.cpp"
5413
},
5414
"3": {
5415
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5416
}
5417
}
5418
}
5419
]
5420
},
5421
"6": {
5422
"name": "entity.name.label.call.cpp"
5423
}
5424
}
5425
},
5426
"identifier": {
5427
"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}))*"
5428
},
5429
"include": {
5430
"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|$)|(?=(?:\\/\\/|;))))",
5431
"captures": {
5432
"1": {
5433
"patterns": [
5434
{
5435
"include": "#inline_comment"
5436
}
5437
]
5438
},
5439
"2": {
5440
"patterns": [
5441
{
5442
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5443
"captures": {
5444
"1": {
5445
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5446
},
5447
"2": {
5448
"name": "comment.block.cpp"
5449
},
5450
"3": {
5451
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5452
}
5453
}
5454
}
5455
]
5456
},
5457
"3": {
5458
"name": "keyword.control.directive.$5.cpp"
5459
},
5460
"4": {
5461
"name": "punctuation.definition.directive.cpp"
5462
},
5463
"6": {
5464
"name": "string.quoted.other.lt-gt.include.cpp"
5465
},
5466
"7": {
5467
"name": "punctuation.definition.string.begin.cpp"
5468
},
5469
"8": {
5470
"name": "punctuation.definition.string.end.cpp"
5471
},
5472
"9": {
5473
"patterns": [
5474
{
5475
"include": "#inline_comment"
5476
}
5477
]
5478
},
5479
"10": {
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
"11": {
5498
"name": "string.quoted.double.include.cpp"
5499
},
5500
"12": {
5501
"name": "punctuation.definition.string.begin.cpp"
5502
},
5503
"13": {
5504
"name": "punctuation.definition.string.end.cpp"
5505
},
5506
"14": {
5507
"patterns": [
5508
{
5509
"include": "#inline_comment"
5510
}
5511
]
5512
},
5513
"15": {
5514
"patterns": [
5515
{
5516
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5517
"captures": {
5518
"1": {
5519
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5520
},
5521
"2": {
5522
"name": "comment.block.cpp"
5523
},
5524
"3": {
5525
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5526
}
5527
}
5528
}
5529
]
5530
},
5531
"16": {
5532
"name": "entity.name.other.preprocessor.macro.include.cpp"
5533
},
5534
"17": {
5535
"patterns": [
5536
{
5537
"include": "#inline_comment"
5538
}
5539
]
5540
},
5541
"18": {
5542
"patterns": [
5543
{
5544
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5545
"captures": {
5546
"1": {
5547
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5548
},
5549
"2": {
5550
"name": "comment.block.cpp"
5551
},
5552
"3": {
5553
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5554
}
5555
}
5556
}
5557
]
5558
},
5559
"19": {
5560
"patterns": [
5561
{
5562
"include": "#inline_comment"
5563
}
5564
]
5565
},
5566
"20": {
5567
"patterns": [
5568
{
5569
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5570
"captures": {
5571
"1": {
5572
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5573
},
5574
"2": {
5575
"name": "comment.block.cpp"
5576
},
5577
"3": {
5578
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5579
}
5580
}
5581
}
5582
]
5583
},
5584
"21": {
5585
"patterns": [
5586
{
5587
"include": "#inline_comment"
5588
}
5589
]
5590
},
5591
"22": {
5592
"patterns": [
5593
{
5594
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5595
"captures": {
5596
"1": {
5597
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5598
},
5599
"2": {
5600
"name": "comment.block.cpp"
5601
},
5602
"3": {
5603
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5604
}
5605
}
5606
}
5607
]
5608
}
5609
},
5610
"name": "meta.preprocessor.include.cpp"
5611
},
5612
"inheritance_context": {
5613
"patterns": [
5614
{
5615
"include": "#ever_present_context"
5616
},
5617
{
5618
"match": ",",
5619
"name": "punctuation.separator.delimiter.comma.inheritance.cpp"
5620
},
5621
{
5622
"match": "(?<!\\w)(?:protected|private|public)(?!\\w)",
5623
"name": "storage.type.modifier.access.$0.cpp"
5624
},
5625
{
5626
"match": "(?<!\\w)virtual(?!\\w)",
5627
"name": "storage.type.modifier.virtual.cpp"
5628
},
5629
{
5630
"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<:.]))",
5631
"captures": {
5632
"1": {
5633
"name": "meta.qualified-type.cpp",
5634
"patterns": [
5635
{
5636
"match": "::",
5637
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
5638
},
5639
{
5640
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
5641
"name": "storage.type.$0.cpp"
5642
},
5643
{
5644
"include": "#attributes_context"
5645
},
5646
{
5647
"include": "#storage_types"
5648
},
5649
{
5650
"include": "#number_literal"
5651
},
5652
{
5653
"include": "#string_context"
5654
},
5655
{
5656
"include": "#comma"
5657
},
5658
{
5659
"include": "#scope_resolution_inner_generated"
5660
},
5661
{
5662
"include": "#template_call_range_helper"
5663
},
5664
{
5665
"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}))*",
5666
"name": "entity.name.type.cpp"
5667
}
5668
]
5669
},
5670
"2": {
5671
"patterns": [
5672
{
5673
"include": "#attributes_context"
5674
},
5675
{
5676
"include": "#number_literal"
5677
}
5678
]
5679
},
5680
"3": {
5681
"patterns": [
5682
{
5683
"include": "#inline_comment"
5684
}
5685
]
5686
},
5687
"4": {
5688
"patterns": [
5689
{
5690
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5691
"captures": {
5692
"1": {
5693
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5694
},
5695
"2": {
5696
"name": "comment.block.cpp"
5697
},
5698
"3": {
5699
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5700
}
5701
}
5702
}
5703
]
5704
},
5705
"5": {
5706
"patterns": [
5707
{
5708
"include": "#inline_comment"
5709
}
5710
]
5711
},
5712
"6": {
5713
"patterns": [
5714
{
5715
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5716
"captures": {
5717
"1": {
5718
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5719
},
5720
"2": {
5721
"name": "comment.block.cpp"
5722
},
5723
"3": {
5724
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5725
}
5726
}
5727
}
5728
]
5729
},
5730
"7": {
5731
"patterns": [
5732
{
5733
"match": "::",
5734
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
5735
},
5736
{
5737
"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)",
5738
"name": "entity.name.scope-resolution.type.cpp"
5739
},
5740
{
5741
"include": "#template_call_range_helper"
5742
}
5743
]
5744
},
5745
"8": {
5746
"patterns": [
5747
{
5748
"include": "#template_call_range_helper"
5749
}
5750
]
5751
},
5752
"9": {},
5753
"10": {
5754
"patterns": [
5755
{
5756
"include": "#inline_comment"
5757
}
5758
]
5759
},
5760
"11": {
5761
"patterns": [
5762
{
5763
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5764
"captures": {
5765
"1": {
5766
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5767
},
5768
"2": {
5769
"name": "comment.block.cpp"
5770
},
5771
"3": {
5772
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5773
}
5774
}
5775
}
5776
]
5777
},
5778
"12": {}
5779
}
5780
}
5781
]
5782
},
5783
"inline_builtin_storage_type": {
5784
"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)",
5785
"captures": {
5786
"1": {
5787
"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
5788
},
5789
"2": {
5790
"name": "storage.type.cpp storage.type.built-in.cpp"
5791
},
5792
"3": {
5793
"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
5794
},
5795
"4": {
5796
"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
5797
}
5798
}
5799
},
5800
"inline_comment": {
5801
"match": "(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))",
5802
"captures": {
5803
"1": {
5804
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5805
},
5806
"2": {
5807
"name": "comment.block.cpp"
5808
},
5809
"3": {
5810
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5811
}
5812
}
5813
},
5814
"invalid_comment_end": {
5815
"match": "\\*\\/",
5816
"name": "invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"
5817
},
5818
"label": {
5819
"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))(:)(?!:)",
5820
"captures": {
5821
"1": {
5822
"patterns": [
5823
{
5824
"include": "#inline_comment"
5825
}
5826
]
5827
},
5828
"2": {
5829
"patterns": [
5830
{
5831
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5832
"captures": {
5833
"1": {
5834
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5835
},
5836
"2": {
5837
"name": "comment.block.cpp"
5838
},
5839
"3": {
5840
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5841
}
5842
}
5843
}
5844
]
5845
},
5846
"3": {
5847
"name": "entity.name.label.cpp"
5848
},
5849
"4": {
5850
"patterns": [
5851
{
5852
"include": "#inline_comment"
5853
}
5854
]
5855
},
5856
"5": {
5857
"patterns": [
5858
{
5859
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5860
"captures": {
5861
"1": {
5862
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5863
},
5864
"2": {
5865
"name": "comment.block.cpp"
5866
},
5867
"3": {
5868
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5869
}
5870
}
5871
}
5872
]
5873
},
5874
"6": {
5875
"name": "punctuation.separator.label.cpp"
5876
}
5877
}
5878
},
5879
"lambdas": {
5880
"begin": "(?:(?<=[^\\s]|^)(?<![\\w\\]\\)\\[\\*&\">])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:[^\\[\\]]*+\\g<3>?)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))",
5881
"end": "(?<=[;}])|(?=\\\\end\\{(?:minted|cppcode)\\})",
5882
"beginCaptures": {
5883
"1": {
5884
"name": "punctuation.definition.capture.begin.lambda.cpp"
5885
},
5886
"2": {
5887
"name": "meta.lambda.capture.cpp",
5888
"patterns": [
5889
{
5890
"include": "#the_this_keyword"
5891
},
5892
{
5893
"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|$)|(,))|(\\=))",
5894
"captures": {
5895
"1": {
5896
"name": "variable.parameter.capture.cpp"
5897
},
5898
"2": {
5899
"patterns": [
5900
{
5901
"include": "#inline_comment"
5902
}
5903
]
5904
},
5905
"3": {
5906
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5907
},
5908
"4": {
5909
"name": "comment.block.cpp"
5910
},
5911
"5": {
5912
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5913
},
5914
"6": {
5915
"name": "punctuation.separator.delimiter.comma.cpp"
5916
},
5917
"7": {
5918
"name": "keyword.operator.assignment.cpp"
5919
}
5920
}
5921
},
5922
{
5923
"include": "#evaluation_context"
5924
}
5925
]
5926
},
5927
"3": {},
5928
"4": {
5929
"name": "punctuation.definition.capture.end.lambda.cpp"
5930
},
5931
"5": {
5932
"patterns": [
5933
{
5934
"include": "#inline_comment"
5935
}
5936
]
5937
},
5938
"6": {
5939
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5940
},
5941
"7": {
5942
"name": "comment.block.cpp"
5943
},
5944
"8": {
5945
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5946
}
5947
},
5948
"endCaptures": {},
5949
"patterns": [
5950
{
5951
"begin": "\\(",
5952
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
5953
"beginCaptures": {
5954
"0": {
5955
"name": "punctuation.definition.parameters.begin.lambda.cpp"
5956
}
5957
},
5958
"endCaptures": {
5959
"0": {
5960
"name": "punctuation.definition.parameters.end.lambda.cpp"
5961
}
5962
},
5963
"name": "meta.function.definition.parameters.lambda.cpp",
5964
"patterns": [
5965
{
5966
"include": "#function_parameter_context"
5967
}
5968
]
5969
},
5970
{
5971
"match": "(?<!\\w)(?:constexpr|consteval|mutable)(?!\\w)",
5972
"name": "storage.modifier.lambda.$0.cpp"
5973
},
5974
{
5975
"begin": "->",
5976
"end": "(?=\\{)|(?=\\\\end\\{(?:minted|cppcode)\\})",
5977
"beginCaptures": {
5978
"0": {
5979
"name": "punctuation.definition.lambda.return-type.cpp"
5980
}
5981
},
5982
"endCaptures": {},
5983
"patterns": [
5984
{
5985
"include": "#comments"
5986
},
5987
{
5988
"match": "\\S+",
5989
"name": "storage.type.return-type.lambda.cpp"
5990
}
5991
]
5992
},
5993
{
5994
"begin": "\\{",
5995
"end": "\\}|(?=\\\\end\\{(?:minted|cppcode)\\})",
5996
"beginCaptures": {
5997
"0": {
5998
"name": "punctuation.section.block.begin.bracket.curly.lambda.cpp"
5999
}
6000
},
6001
"endCaptures": {
6002
"0": {
6003
"name": "punctuation.section.block.end.bracket.curly.lambda.cpp"
6004
}
6005
},
6006
"name": "meta.function.definition.body.lambda.cpp",
6007
"patterns": [
6008
{
6009
"include": "#function_body_context"
6010
}
6011
]
6012
}
6013
]
6014
},
6015
"language_constants": {
6016
"match": "(?<!\\w)(?:nullptr|false|NULL|true)(?!\\w)",
6017
"name": "constant.language.$0.cpp"
6018
},
6019
"line": {
6020
"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?line\\b",
6021
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=\\\\end\\{(?:minted|cppcode)\\})",
6022
"beginCaptures": {
6023
"0": {
6024
"name": "keyword.control.directive.line.cpp"
6025
},
6026
"1": {
6027
"patterns": [
6028
{
6029
"include": "#inline_comment"
6030
}
6031
]
6032
},
6033
"2": {
6034
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6035
},
6036
"3": {
6037
"name": "comment.block.cpp"
6038
},
6039
"4": {
6040
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6041
},
6042
"5": {
6043
"name": "punctuation.definition.directive.cpp"
6044
}
6045
},
6046
"endCaptures": {},
6047
"name": "meta.preprocessor.line.cpp",
6048
"patterns": [
6049
{
6050
"include": "#string_context"
6051
},
6052
{
6053
"include": "#preprocessor_number_literal"
6054
},
6055
{
6056
"include": "#line_continuation_character"
6057
}
6058
]
6059
},
6060
"line_comment": {
6061
"begin": "\\s*+(\\/\\/)",
6062
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=\\\\end\\{(?:minted|cppcode)\\})",
6063
"beginCaptures": {
6064
"1": {
6065
"name": "punctuation.definition.comment.cpp"
6066
}
6067
},
6068
"endCaptures": {},
6069
"name": "comment.line.double-slash.cpp",
6070
"patterns": [
6071
{
6072
"include": "#line_continuation_character"
6073
}
6074
]
6075
},
6076
"line_continuation_character": {
6077
"match": "\\\\\\n",
6078
"name": "constant.character.escape.line-continuation.cpp"
6079
},
6080
"macro": {
6081
"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))",
6082
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=\\\\end\\{(?:minted|cppcode)\\})",
6083
"beginCaptures": {
6084
"1": {
6085
"name": "keyword.control.directive.define.cpp"
6086
},
6087
"2": {
6088
"patterns": [
6089
{
6090
"include": "#inline_comment"
6091
}
6092
]
6093
},
6094
"3": {
6095
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6096
},
6097
"4": {
6098
"name": "comment.block.cpp"
6099
},
6100
"5": {
6101
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6102
},
6103
"6": {
6104
"name": "punctuation.definition.directive.cpp"
6105
},
6106
"7": {
6107
"name": "entity.name.function.preprocessor.cpp"
6108
}
6109
},
6110
"endCaptures": {},
6111
"name": "meta.preprocessor.macro.cpp",
6112
"patterns": [
6113
{
6114
"match": "\\G(?:\\s+)?(\\()([^\\(]*)(\\))",
6115
"captures": {
6116
"1": {
6117
"name": "punctuation.definition.parameters.begin.preprocessor.cpp"
6118
},
6119
"2": {
6120
"name": "meta.function.preprocessor.parameters.cpp",
6121
"patterns": [
6122
{
6123
"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+)?",
6124
"captures": {
6125
"1": {
6126
"name": "variable.parameter.preprocessor.cpp"
6127
}
6128
}
6129
},
6130
{
6131
"match": ",",
6132
"name": "punctuation.separator.parameters.cpp"
6133
},
6134
{
6135
"match": "\\.\\.\\.",
6136
"name": "punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"
6137
}
6138
]
6139
},
6140
"3": {
6141
"name": "punctuation.definition.parameters.end.preprocessor.cpp"
6142
}
6143
}
6144
},
6145
{
6146
"include": "#macro_context"
6147
},
6148
{
6149
"include": "#macro_argument"
6150
}
6151
]
6152
},
6153
"macro_argument": {
6154
"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)",
6155
"name": "variable.other.macro.argument.cpp"
6156
},
6157
"macro_context": {
6158
"patterns": [
6159
{
6160
"include": "source.cpp.embedded.macro"
6161
}
6162
]
6163
},
6164
"macro_name": {
6165
"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)",
6166
"name": "entity.name.function.preprocessor.cpp"
6167
},
6168
"member_access": {
6169
"match": "(?:((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|(?:(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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+)?)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[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(?!\\())",
6170
"captures": {
6171
"1": {
6172
"patterns": [
6173
{
6174
"include": "#inline_comment"
6175
}
6176
]
6177
},
6178
"2": {
6179
"patterns": [
6180
{
6181
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
6182
"captures": {
6183
"1": {
6184
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6185
},
6186
"2": {
6187
"name": "comment.block.cpp"
6188
},
6189
"3": {
6190
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6191
}
6192
}
6193
}
6194
]
6195
},
6196
"3": {
6197
"name": "variable.language.this.cpp"
6198
},
6199
"4": {
6200
"name": "variable.lower-case.cpp variable.other.object.access.$4.cpp"
6201
},
6202
"5": {
6203
"name": "variable.snake-case.cpp variable.other.object.access.$5.cpp"
6204
},
6205
"6": {
6206
"name": "variable.camel-case.cpp variable.other.object.access.$6.cpp"
6207
},
6208
"7": {
6209
"name": "variable.upper-case.cpp variable.other.object.access.$7.cpp"
6210
},
6211
"8": {
6212
"name": "variable.other.unknown.$8.cpp"
6213
},
6214
"9": {
6215
"name": "punctuation.separator.dot-access.cpp"
6216
},
6217
"10": {
6218
"name": "punctuation.separator.pointer-access.cpp"
6219
},
6220
"11": {
6221
"patterns": [
6222
{
6223
"match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|(?:(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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+)?)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6224
"captures": {
6225
"1": {
6226
"patterns": [
6227
{
6228
"include": "#inline_comment"
6229
}
6230
]
6231
},
6232
"2": {
6233
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6234
},
6235
"3": {
6236
"name": "comment.block.cpp"
6237
},
6238
"4": {
6239
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6240
},
6241
"5": {
6242
"name": "variable.language.this.cpp"
6243
},
6244
"6": {
6245
"name": "variable.lower-case.cpp variable.other.object.property.cpp"
6246
},
6247
"7": {
6248
"name": "variable.snake-case.cpp variable.other.object.property.cpp"
6249
},
6250
"8": {
6251
"name": "variable.camel-case.cpp variable.other.object.property.cpp"
6252
},
6253
"9": {
6254
"name": "variable.upper-case.cpp variable.other.object.property.cpp"
6255
},
6256
"10": {
6257
"name": "variable.other.unknown.$10.cpp"
6258
},
6259
"11": {
6260
"name": "punctuation.separator.dot-access.cpp"
6261
},
6262
"12": {
6263
"name": "punctuation.separator.pointer-access.cpp"
6264
}
6265
}
6266
},
6267
{
6268
"match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|(?:(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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+)?)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6269
"captures": {
6270
"1": {
6271
"patterns": [
6272
{
6273
"include": "#inline_comment"
6274
}
6275
]
6276
},
6277
"2": {
6278
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6279
},
6280
"3": {
6281
"name": "comment.block.cpp"
6282
},
6283
"4": {
6284
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6285
},
6286
"5": {
6287
"name": "variable.language.this.cpp"
6288
},
6289
"6": {
6290
"name": "variable.lower-case.cpp variable.other.object.access.$6.cpp"
6291
},
6292
"7": {
6293
"name": "variable.snake-case.cpp variable.other.object.access.$7.cpp"
6294
},
6295
"8": {
6296
"name": "variable.camel-case.cpp variable.other.object.access.$8.cpp"
6297
},
6298
"9": {
6299
"name": "variable.upper-case.cpp variable.other.object.access.$9.cpp"
6300
},
6301
"10": {
6302
"name": "variable.other.unknown.$10.cpp"
6303
},
6304
"11": {
6305
"name": "punctuation.separator.dot-access.cpp"
6306
},
6307
"12": {
6308
"name": "punctuation.separator.pointer-access.cpp"
6309
}
6310
}
6311
},
6312
{
6313
"include": "#member_access"
6314
},
6315
{
6316
"include": "#method_access"
6317
}
6318
]
6319
},
6320
"12": {
6321
"name": "variable.other.property.cpp"
6322
}
6323
}
6324
},
6325
"memory_operators": {
6326
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(delete)(?:\\s+)?(\\[\\])|(delete))|(new))(?!\\w))",
6327
"captures": {
6328
"1": {
6329
"patterns": [
6330
{
6331
"include": "#inline_comment"
6332
}
6333
]
6334
},
6335
"2": {
6336
"patterns": [
6337
{
6338
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
6339
"captures": {
6340
"1": {
6341
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6342
},
6343
"2": {
6344
"name": "comment.block.cpp"
6345
},
6346
"3": {
6347
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6348
}
6349
}
6350
}
6351
]
6352
},
6353
"3": {
6354
"name": "keyword.operator.wordlike.cpp"
6355
},
6356
"4": {
6357
"name": "keyword.operator.delete.array.cpp"
6358
},
6359
"5": {
6360
"name": "keyword.operator.delete.array.bracket.cpp"
6361
},
6362
"6": {
6363
"name": "keyword.operator.delete.cpp"
6364
},
6365
"7": {
6366
"name": "keyword.operator.new.cpp"
6367
}
6368
}
6369
},
6370
"method_access": {
6371
"begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|(?:(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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+)?)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[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+)?(\\()",
6372
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
6373
"beginCaptures": {
6374
"1": {
6375
"patterns": [
6376
{
6377
"include": "#inline_comment"
6378
}
6379
]
6380
},
6381
"2": {
6382
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6383
},
6384
"3": {
6385
"name": "comment.block.cpp"
6386
},
6387
"4": {
6388
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6389
},
6390
"5": {
6391
"name": "variable.language.this.cpp"
6392
},
6393
"6": {
6394
"name": "variable.lower-case.cpp variable.other.object.access.$6.cpp"
6395
},
6396
"7": {
6397
"name": "variable.snake-case.cpp variable.other.object.access.$7.cpp"
6398
},
6399
"8": {
6400
"name": "variable.camel-case.cpp variable.other.object.access.$8.cpp"
6401
},
6402
"9": {
6403
"name": "variable.upper-case.cpp variable.other.object.access.$9.cpp"
6404
},
6405
"10": {
6406
"name": "variable.other.unknown.$10.cpp"
6407
},
6408
"11": {
6409
"name": "punctuation.separator.dot-access.cpp"
6410
},
6411
"12": {
6412
"name": "punctuation.separator.pointer-access.cpp"
6413
},
6414
"13": {
6415
"patterns": [
6416
{
6417
"match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|(?:(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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+)?)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6418
"captures": {
6419
"1": {
6420
"patterns": [
6421
{
6422
"include": "#inline_comment"
6423
}
6424
]
6425
},
6426
"2": {
6427
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6428
},
6429
"3": {
6430
"name": "comment.block.cpp"
6431
},
6432
"4": {
6433
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6434
},
6435
"5": {
6436
"name": "variable.language.this.cpp"
6437
},
6438
"6": {
6439
"name": "variable.lower-case.cpp variable.other.object.property.cpp"
6440
},
6441
"7": {
6442
"name": "variable.snake-case.cpp variable.other.object.property.cpp"
6443
},
6444
"8": {
6445
"name": "variable.camel-case.cpp variable.other.object.property.cpp"
6446
},
6447
"9": {
6448
"name": "variable.upper-case.cpp variable.other.object.property.cpp"
6449
},
6450
"10": {
6451
"name": "variable.other.unknown.$10.cpp"
6452
},
6453
"11": {
6454
"name": "punctuation.separator.dot-access.cpp"
6455
},
6456
"12": {
6457
"name": "punctuation.separator.pointer-access.cpp"
6458
}
6459
}
6460
},
6461
{
6462
"match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|(?:(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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+)?)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6463
"captures": {
6464
"1": {
6465
"patterns": [
6466
{
6467
"include": "#inline_comment"
6468
}
6469
]
6470
},
6471
"2": {
6472
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6473
},
6474
"3": {
6475
"name": "comment.block.cpp"
6476
},
6477
"4": {
6478
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6479
},
6480
"5": {
6481
"name": "variable.language.this.cpp"
6482
},
6483
"6": {
6484
"name": "variable.lower-case.cpp variable.other.object.access.$6.cpp"
6485
},
6486
"7": {
6487
"name": "variable.snake-case.cpp variable.other.object.access.$7.cpp"
6488
},
6489
"8": {
6490
"name": "variable.camel-case.cpp variable.other.object.access.$8.cpp"
6491
},
6492
"9": {
6493
"name": "variable.upper-case.cpp variable.other.object.access.$9.cpp"
6494
},
6495
"10": {
6496
"name": "variable.other.unknown.$10.cpp"
6497
},
6498
"11": {
6499
"name": "punctuation.separator.dot-access.cpp"
6500
},
6501
"12": {
6502
"name": "punctuation.separator.pointer-access.cpp"
6503
}
6504
}
6505
},
6506
{
6507
"include": "#member_access"
6508
},
6509
{
6510
"include": "#method_access"
6511
}
6512
]
6513
},
6514
"14": {
6515
"name": "entity.name.function.member.cpp"
6516
},
6517
"15": {
6518
"name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp"
6519
}
6520
},
6521
"endCaptures": {
6522
"0": {
6523
"name": "punctuation.section.arguments.end.bracket.round.function.member.cpp"
6524
}
6525
},
6526
"patterns": [
6527
{
6528
"include": "#evaluation_context"
6529
}
6530
]
6531
},
6532
"misc_keywords": {
6533
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:constinit|typedef|concept|export|module)(?!\\w))",
6534
"captures": {
6535
"1": {
6536
"patterns": [
6537
{
6538
"include": "#inline_comment"
6539
}
6540
]
6541
},
6542
"2": {
6543
"patterns": [
6544
{
6545
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
6546
"captures": {
6547
"1": {
6548
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6549
},
6550
"2": {
6551
"name": "comment.block.cpp"
6552
},
6553
"3": {
6554
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6555
}
6556
}
6557
}
6558
]
6559
},
6560
"3": {
6561
"name": "keyword.other.$3.cpp"
6562
}
6563
}
6564
},
6565
"ms_attributes": {
6566
"begin": "__declspec\\(",
6567
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
6568
"beginCaptures": {
6569
"0": {
6570
"name": "punctuation.section.attribute.begin.cpp"
6571
}
6572
},
6573
"endCaptures": {
6574
"0": {
6575
"name": "punctuation.section.attribute.end.cpp"
6576
}
6577
},
6578
"name": "support.other.attribute.cpp",
6579
"patterns": [
6580
{
6581
"include": "#attributes_context"
6582
},
6583
{
6584
"begin": "\\(",
6585
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
6586
"beginCaptures": {},
6587
"endCaptures": {},
6588
"patterns": [
6589
{
6590
"include": "#attributes_context"
6591
},
6592
{
6593
"include": "#string_context"
6594
},
6595
{
6596
"include": "#ever_present_context"
6597
}
6598
]
6599
},
6600
{
6601
"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))",
6602
"captures": {
6603
"1": {
6604
"name": "keyword.other.using.directive.cpp"
6605
},
6606
"2": {
6607
"name": "entity.name.namespace.cpp"
6608
}
6609
}
6610
},
6611
{
6612
"match": ",",
6613
"name": "punctuation.separator.attribute.cpp"
6614
},
6615
{
6616
"match": ":",
6617
"name": "punctuation.accessor.attribute.cpp"
6618
},
6619
{
6620
"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)(?=::)",
6621
"name": "entity.name.namespace.cpp"
6622
},
6623
{
6624
"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)",
6625
"name": "entity.other.attribute.$0.cpp"
6626
},
6627
{
6628
"include": "#number_literal"
6629
},
6630
{
6631
"include": "#ever_present_context"
6632
}
6633
]
6634
},
6635
"namespace_alias": {
6636
"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))",
6637
"captures": {
6638
"1": {
6639
"name": "keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"
6640
},
6641
"2": {
6642
"name": "entity.name.namespace.alias.cpp"
6643
},
6644
"3": {
6645
"name": "keyword.operator.assignment.cpp"
6646
},
6647
"4": {
6648
"name": "meta.declaration.namespace.alias.value.cpp"
6649
},
6650
"5": {
6651
"patterns": [
6652
{
6653
"include": "#scope_resolution_namespace_alias_inner_generated"
6654
}
6655
]
6656
},
6657
"6": {
6658
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
6659
},
6660
"7": {
6661
"patterns": [
6662
{
6663
"include": "#template_call_range_helper"
6664
}
6665
]
6666
},
6667
"9": {
6668
"name": "entity.name.namespace.cpp"
6669
},
6670
"10": {
6671
"name": "punctuation.terminator.statement.cpp"
6672
}
6673
},
6674
"name": "meta.declaration.namespace.alias.cpp"
6675
},
6676
"namespace_block": {
6677
"begin": "((?<!\\w)namespace(?!\\w))",
6678
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
6679
"beginCaptures": {
6680
"0": {
6681
"name": "meta.head.namespace.cpp"
6682
},
6683
"1": {
6684
"name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"
6685
}
6686
},
6687
"endCaptures": {},
6688
"name": "meta.block.namespace.cpp",
6689
"patterns": [
6690
{
6691
"begin": "\\G ?",
6692
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
6693
"beginCaptures": {},
6694
"endCaptures": {
6695
"0": {
6696
"name": "punctuation.section.block.begin.bracket.curly.namespace.cpp"
6697
}
6698
},
6699
"name": "meta.head.namespace.cpp",
6700
"patterns": [
6701
{
6702
"include": "#ever_present_context"
6703
},
6704
{
6705
"include": "#attributes_context"
6706
},
6707
{
6708
"include": "#normal_variable_assignment"
6709
},
6710
{
6711
"include": "#normal_variable_declaration"
6712
},
6713
{
6714
"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))?",
6715
"captures": {
6716
"1": {
6717
"patterns": [
6718
{
6719
"include": "#scope_resolution_namespace_block_inner_generated"
6720
}
6721
]
6722
},
6723
"2": {
6724
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
6725
},
6726
"3": {
6727
"patterns": [
6728
{
6729
"include": "#template_call_range_helper"
6730
}
6731
]
6732
},
6733
"4": {},
6734
"5": {
6735
"name": "entity.name.namespace.cpp"
6736
},
6737
"6": {
6738
"name": "punctuation.separator.scope-resolution.namespace.block.cpp"
6739
},
6740
"7": {
6741
"name": "storage.modifier.inline.cpp"
6742
}
6743
}
6744
}
6745
]
6746
},
6747
{
6748
"begin": "(?<=\\{|<%|\\?\\?<)",
6749
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
6750
"beginCaptures": {},
6751
"endCaptures": {
6752
"0": {
6753
"name": "punctuation.section.block.end.bracket.curly.namespace.cpp"
6754
}
6755
},
6756
"name": "meta.body.namespace.cpp",
6757
"patterns": [
6758
{
6759
"include": "$self"
6760
}
6761
]
6762
},
6763
{
6764
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
6765
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
6766
"beginCaptures": {},
6767
"endCaptures": {},
6768
"name": "meta.tail.namespace.cpp",
6769
"patterns": [
6770
{
6771
"include": "$self"
6772
}
6773
]
6774
}
6775
]
6776
},
6777
"noexcept_operator": {
6778
"begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
6779
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
6780
"beginCaptures": {
6781
"1": {
6782
"name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
6783
},
6784
"2": {
6785
"patterns": [
6786
{
6787
"include": "#inline_comment"
6788
}
6789
]
6790
},
6791
"3": {
6792
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6793
},
6794
"4": {
6795
"name": "comment.block.cpp"
6796
},
6797
"5": {
6798
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6799
},
6800
"6": {
6801
"name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
6802
}
6803
},
6804
"endCaptures": {
6805
"0": {
6806
"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
6807
}
6808
},
6809
"contentName": "meta.arguments.operator.noexcept",
6810
"patterns": [
6811
{
6812
"include": "#evaluation_context"
6813
}
6814
]
6815
},
6816
"normal_variable_assignment": {
6817
"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\w)\\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<31>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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<31>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:%=|\\+=|-=|\\*=|(?<!\\()\\/=))|((?:&=|\\^=|<<=|>>=|\\|=))|(\\=)))",
6818
"end": "(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
6819
"beginCaptures": {
6820
"1": {
6821
"patterns": [
6822
{
6823
"include": "#inline_comment"
6824
}
6825
]
6826
},
6827
"2": {
6828
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6829
},
6830
"3": {
6831
"name": "comment.block.cpp"
6832
},
6833
"4": {
6834
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6835
},
6836
"5": {
6837
"name": "meta.assignment.cpp"
6838
},
6839
"6": {
6840
"patterns": [
6841
{
6842
"include": "#storage_specifiers"
6843
}
6844
]
6845
},
6846
"7": {
6847
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6848
},
6849
"8": {
6850
"name": "comment.block.cpp"
6851
},
6852
"9": {
6853
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6854
},
6855
"10": {
6856
"patterns": [
6857
{
6858
"include": "#inline_comment"
6859
}
6860
]
6861
},
6862
"11": {
6863
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6864
},
6865
"12": {
6866
"name": "comment.block.cpp"
6867
},
6868
"13": {
6869
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6870
},
6871
"14": {
6872
"name": "meta.qualified-type.cpp",
6873
"patterns": [
6874
{
6875
"match": "::",
6876
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
6877
},
6878
{
6879
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
6880
"name": "storage.type.$0.cpp"
6881
},
6882
{
6883
"include": "#attributes_context"
6884
},
6885
{
6886
"include": "#storage_types"
6887
},
6888
{
6889
"include": "#number_literal"
6890
},
6891
{
6892
"include": "#string_context"
6893
},
6894
{
6895
"include": "#comma"
6896
},
6897
{
6898
"include": "#scope_resolution_inner_generated"
6899
},
6900
{
6901
"include": "#template_call_range_helper"
6902
},
6903
{
6904
"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}))*",
6905
"name": "entity.name.type.cpp"
6906
}
6907
]
6908
},
6909
"15": {
6910
"patterns": [
6911
{
6912
"include": "#attributes_context"
6913
},
6914
{
6915
"include": "#number_literal"
6916
}
6917
]
6918
},
6919
"16": {
6920
"patterns": [
6921
{
6922
"include": "#inline_comment"
6923
}
6924
]
6925
},
6926
"17": {
6927
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6928
},
6929
"18": {
6930
"name": "comment.block.cpp"
6931
},
6932
"19": {
6933
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6934
},
6935
"20": {
6936
"patterns": [
6937
{
6938
"include": "#inline_comment"
6939
}
6940
]
6941
},
6942
"21": {
6943
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6944
},
6945
"22": {
6946
"name": "comment.block.cpp"
6947
},
6948
"23": {
6949
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6950
},
6951
"24": {
6952
"patterns": [
6953
{
6954
"match": "::",
6955
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
6956
},
6957
{
6958
"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)",
6959
"name": "entity.name.scope-resolution.type.cpp"
6960
},
6961
{
6962
"include": "#template_call_range_helper"
6963
}
6964
]
6965
},
6966
"25": {
6967
"patterns": [
6968
{
6969
"include": "#template_call_range_helper"
6970
}
6971
]
6972
},
6973
"26": {},
6974
"27": {
6975
"patterns": [
6976
{
6977
"include": "#inline_comment"
6978
}
6979
]
6980
},
6981
"28": {
6982
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6983
},
6984
"29": {
6985
"name": "comment.block.cpp"
6986
},
6987
"30": {
6988
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6989
},
6990
"31": {},
6991
"32": {
6992
"patterns": [
6993
{
6994
"match": "\\*",
6995
"name": "storage.modifier.pointer.cpp"
6996
},
6997
{
6998
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
6999
"captures": {
7000
"1": {
7001
"patterns": [
7002
{
7003
"include": "#inline_comment"
7004
}
7005
]
7006
},
7007
"2": {
7008
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7009
},
7010
"3": {
7011
"name": "comment.block.cpp"
7012
},
7013
"4": {
7014
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7015
}
7016
},
7017
"name": "invalid.illegal.reference-type.cpp"
7018
},
7019
{
7020
"match": "\\&",
7021
"name": "storage.modifier.reference.cpp"
7022
}
7023
]
7024
},
7025
"33": {
7026
"patterns": [
7027
{
7028
"include": "#inline_comment"
7029
}
7030
]
7031
},
7032
"34": {
7033
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7034
},
7035
"35": {
7036
"name": "comment.block.cpp"
7037
},
7038
"36": {
7039
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7040
},
7041
"37": {
7042
"patterns": [
7043
{
7044
"include": "#inline_comment"
7045
}
7046
]
7047
},
7048
"38": {
7049
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7050
},
7051
"39": {
7052
"name": "comment.block.cpp"
7053
},
7054
"40": {
7055
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7056
},
7057
"41": {
7058
"patterns": [
7059
{
7060
"include": "#inline_comment"
7061
}
7062
]
7063
},
7064
"42": {
7065
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7066
},
7067
"43": {
7068
"name": "comment.block.cpp"
7069
},
7070
"44": {
7071
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7072
},
7073
"45": {
7074
"name": "variable.lower-case.cpp variable.other.assignment.cpp"
7075
},
7076
"46": {
7077
"name": "variable.snake-case.cpp variable.other.assignment.cpp"
7078
},
7079
"47": {
7080
"name": "variable.camel-case.cpp variable.other.assignment.cpp"
7081
},
7082
"48": {
7083
"name": "variable.upper-case.cpp variable.other.assignment.cpp"
7084
},
7085
"49": {
7086
"name": "variable.other.unknown.$49.cpp"
7087
},
7088
"50": {
7089
"patterns": [
7090
{
7091
"include": "#inline_comment"
7092
}
7093
]
7094
},
7095
"51": {
7096
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7097
},
7098
"52": {
7099
"name": "comment.block.cpp"
7100
},
7101
"53": {
7102
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7103
},
7104
"54": {
7105
"name": "keyword.operator.assignment.compound.cpp"
7106
},
7107
"55": {
7108
"name": "keyword.operator.assignment.compound.bitwise.cpp"
7109
},
7110
"56": {
7111
"name": "keyword.operator.assignment.cpp"
7112
}
7113
},
7114
"endCaptures": {},
7115
"name": "meta.assignment.cpp",
7116
"patterns": [
7117
{
7118
"include": "#normal_variable_assignment"
7119
},
7120
{
7121
"include": "#variable_assignment"
7122
},
7123
{
7124
"include": "$self"
7125
}
7126
]
7127
},
7128
"normal_variable_declaration": {
7129
"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\w)\\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<31>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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<31>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,|\\[)(?![^=]++=))",
7130
"end": "(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
7131
"beginCaptures": {
7132
"1": {
7133
"patterns": [
7134
{
7135
"include": "#inline_comment"
7136
}
7137
]
7138
},
7139
"2": {
7140
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7141
},
7142
"3": {
7143
"name": "comment.block.cpp"
7144
},
7145
"4": {
7146
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7147
},
7148
"5": {
7149
"name": "meta.declaration.cpp"
7150
},
7151
"6": {
7152
"patterns": [
7153
{
7154
"include": "#storage_specifiers"
7155
}
7156
]
7157
},
7158
"7": {
7159
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7160
},
7161
"8": {
7162
"name": "comment.block.cpp"
7163
},
7164
"9": {
7165
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7166
},
7167
"10": {
7168
"patterns": [
7169
{
7170
"include": "#inline_comment"
7171
}
7172
]
7173
},
7174
"11": {
7175
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7176
},
7177
"12": {
7178
"name": "comment.block.cpp"
7179
},
7180
"13": {
7181
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7182
},
7183
"14": {
7184
"name": "meta.qualified-type.cpp",
7185
"patterns": [
7186
{
7187
"match": "::",
7188
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
7189
},
7190
{
7191
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
7192
"name": "storage.type.$0.cpp"
7193
},
7194
{
7195
"include": "#attributes_context"
7196
},
7197
{
7198
"include": "#storage_types"
7199
},
7200
{
7201
"include": "#number_literal"
7202
},
7203
{
7204
"include": "#string_context"
7205
},
7206
{
7207
"include": "#comma"
7208
},
7209
{
7210
"include": "#scope_resolution_inner_generated"
7211
},
7212
{
7213
"include": "#template_call_range_helper"
7214
},
7215
{
7216
"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}))*",
7217
"name": "entity.name.type.cpp"
7218
}
7219
]
7220
},
7221
"15": {
7222
"patterns": [
7223
{
7224
"include": "#attributes_context"
7225
},
7226
{
7227
"include": "#number_literal"
7228
}
7229
]
7230
},
7231
"16": {
7232
"patterns": [
7233
{
7234
"include": "#inline_comment"
7235
}
7236
]
7237
},
7238
"17": {
7239
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7240
},
7241
"18": {
7242
"name": "comment.block.cpp"
7243
},
7244
"19": {
7245
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7246
},
7247
"20": {
7248
"patterns": [
7249
{
7250
"include": "#inline_comment"
7251
}
7252
]
7253
},
7254
"21": {
7255
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7256
},
7257
"22": {
7258
"name": "comment.block.cpp"
7259
},
7260
"23": {
7261
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7262
},
7263
"24": {
7264
"patterns": [
7265
{
7266
"match": "::",
7267
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
7268
},
7269
{
7270
"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)",
7271
"name": "entity.name.scope-resolution.type.cpp"
7272
},
7273
{
7274
"include": "#template_call_range_helper"
7275
}
7276
]
7277
},
7278
"25": {
7279
"patterns": [
7280
{
7281
"include": "#template_call_range_helper"
7282
}
7283
]
7284
},
7285
"26": {},
7286
"27": {
7287
"patterns": [
7288
{
7289
"include": "#inline_comment"
7290
}
7291
]
7292
},
7293
"28": {
7294
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7295
},
7296
"29": {
7297
"name": "comment.block.cpp"
7298
},
7299
"30": {
7300
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7301
},
7302
"31": {},
7303
"32": {
7304
"patterns": [
7305
{
7306
"match": "\\*",
7307
"name": "storage.modifier.pointer.cpp"
7308
},
7309
{
7310
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
7311
"captures": {
7312
"1": {
7313
"patterns": [
7314
{
7315
"include": "#inline_comment"
7316
}
7317
]
7318
},
7319
"2": {
7320
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7321
},
7322
"3": {
7323
"name": "comment.block.cpp"
7324
},
7325
"4": {
7326
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7327
}
7328
},
7329
"name": "invalid.illegal.reference-type.cpp"
7330
},
7331
{
7332
"match": "\\&",
7333
"name": "storage.modifier.reference.cpp"
7334
}
7335
]
7336
},
7337
"33": {
7338
"patterns": [
7339
{
7340
"include": "#inline_comment"
7341
}
7342
]
7343
},
7344
"34": {
7345
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7346
},
7347
"35": {
7348
"name": "comment.block.cpp"
7349
},
7350
"36": {
7351
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7352
},
7353
"37": {
7354
"patterns": [
7355
{
7356
"include": "#inline_comment"
7357
}
7358
]
7359
},
7360
"38": {
7361
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7362
},
7363
"39": {
7364
"name": "comment.block.cpp"
7365
},
7366
"40": {
7367
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7368
},
7369
"41": {
7370
"patterns": [
7371
{
7372
"include": "#inline_comment"
7373
}
7374
]
7375
},
7376
"42": {
7377
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7378
},
7379
"43": {
7380
"name": "comment.block.cpp"
7381
},
7382
"44": {
7383
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7384
},
7385
"45": {
7386
"name": "variable.lower-case.cpp variable.other.declare.cpp"
7387
},
7388
"46": {
7389
"name": "variable.snake-case.cpp variable.other.declare.cpp"
7390
},
7391
"47": {
7392
"name": "variable.camel-case.cpp variable.other.declare.cpp"
7393
},
7394
"48": {
7395
"name": "variable.upper-case.cpp variable.other.declare.cpp"
7396
},
7397
"49": {
7398
"name": "variable.other.unknown.$49.cpp"
7399
},
7400
"50": {
7401
"patterns": [
7402
{
7403
"include": "#inline_comment"
7404
}
7405
]
7406
},
7407
"51": {
7408
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7409
},
7410
"52": {
7411
"name": "comment.block.cpp"
7412
},
7413
"53": {
7414
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7415
}
7416
},
7417
"endCaptures": {},
7418
"name": "meta.declaration.cpp",
7419
"patterns": [
7420
{
7421
"include": "#normal_variable_assignment"
7422
},
7423
{
7424
"include": "#variable_assignment"
7425
},
7426
{
7427
"include": "$self"
7428
}
7429
]
7430
},
7431
"number_literal": {
7432
"match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
7433
"captures": {
7434
"0": {
7435
"patterns": [
7436
{
7437
"begin": "(?=.)",
7438
"end": "$|(?=\\\\end\\{(?:minted|cppcode)\\})",
7439
"beginCaptures": {},
7440
"endCaptures": {},
7441
"patterns": [
7442
{
7443
"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*)?$)",
7444
"captures": {
7445
"1": {
7446
"name": "keyword.other.unit.hexadecimal.cpp"
7447
},
7448
"2": {
7449
"name": "constant.numeric.hexadecimal.cpp",
7450
"patterns": [
7451
{
7452
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7453
"name": "punctuation.separator.constant.numeric.cpp"
7454
}
7455
]
7456
},
7457
"3": {
7458
"name": "punctuation.separator.constant.numeric.cpp"
7459
},
7460
"4": {
7461
"name": "constant.numeric.hexadecimal.cpp"
7462
},
7463
"5": {
7464
"name": "constant.numeric.hexadecimal.cpp",
7465
"patterns": [
7466
{
7467
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7468
"name": "punctuation.separator.constant.numeric.cpp"
7469
}
7470
]
7471
},
7472
"6": {
7473
"name": "punctuation.separator.constant.numeric.cpp"
7474
},
7475
"7": {
7476
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
7477
},
7478
"8": {
7479
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
7480
},
7481
"9": {
7482
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
7483
},
7484
"10": {
7485
"name": "constant.numeric.exponent.hexadecimal.cpp",
7486
"patterns": [
7487
{
7488
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7489
"name": "punctuation.separator.constant.numeric.cpp"
7490
}
7491
]
7492
},
7493
"11": {
7494
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
7495
},
7496
"12": {
7497
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
7498
}
7499
}
7500
},
7501
{
7502
"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*)?$)",
7503
"captures": {
7504
"1": {
7505
"name": "constant.numeric.decimal.cpp",
7506
"patterns": [
7507
{
7508
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7509
"name": "punctuation.separator.constant.numeric.cpp"
7510
}
7511
]
7512
},
7513
"2": {
7514
"name": "punctuation.separator.constant.numeric.cpp"
7515
},
7516
"3": {
7517
"name": "constant.numeric.decimal.point.cpp"
7518
},
7519
"4": {
7520
"name": "constant.numeric.decimal.cpp",
7521
"patterns": [
7522
{
7523
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7524
"name": "punctuation.separator.constant.numeric.cpp"
7525
}
7526
]
7527
},
7528
"5": {
7529
"name": "punctuation.separator.constant.numeric.cpp"
7530
},
7531
"6": {
7532
"name": "keyword.other.unit.exponent.decimal.cpp"
7533
},
7534
"7": {
7535
"name": "keyword.operator.plus.exponent.decimal.cpp"
7536
},
7537
"8": {
7538
"name": "keyword.operator.minus.exponent.decimal.cpp"
7539
},
7540
"9": {
7541
"name": "constant.numeric.exponent.decimal.cpp",
7542
"patterns": [
7543
{
7544
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7545
"name": "punctuation.separator.constant.numeric.cpp"
7546
}
7547
]
7548
},
7549
"10": {
7550
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
7551
},
7552
"11": {
7553
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
7554
}
7555
}
7556
},
7557
{
7558
"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*)?$)",
7559
"captures": {
7560
"1": {
7561
"name": "keyword.other.unit.binary.cpp"
7562
},
7563
"2": {
7564
"name": "constant.numeric.binary.cpp",
7565
"patterns": [
7566
{
7567
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7568
"name": "punctuation.separator.constant.numeric.cpp"
7569
}
7570
]
7571
},
7572
"3": {
7573
"name": "punctuation.separator.constant.numeric.cpp"
7574
},
7575
"4": {
7576
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
7577
},
7578
"5": {
7579
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
7580
}
7581
}
7582
},
7583
{
7584
"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*)?$)",
7585
"captures": {
7586
"1": {
7587
"name": "keyword.other.unit.octal.cpp"
7588
},
7589
"2": {
7590
"name": "constant.numeric.octal.cpp",
7591
"patterns": [
7592
{
7593
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7594
"name": "punctuation.separator.constant.numeric.cpp"
7595
}
7596
]
7597
},
7598
"3": {
7599
"name": "punctuation.separator.constant.numeric.cpp"
7600
},
7601
"4": {
7602
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
7603
},
7604
"5": {
7605
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
7606
}
7607
}
7608
},
7609
{
7610
"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*)?$)",
7611
"captures": {
7612
"1": {
7613
"name": "keyword.other.unit.hexadecimal.cpp"
7614
},
7615
"2": {
7616
"name": "constant.numeric.hexadecimal.cpp",
7617
"patterns": [
7618
{
7619
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7620
"name": "punctuation.separator.constant.numeric.cpp"
7621
}
7622
]
7623
},
7624
"3": {
7625
"name": "punctuation.separator.constant.numeric.cpp"
7626
},
7627
"4": {
7628
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
7629
},
7630
"5": {
7631
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
7632
},
7633
"6": {
7634
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
7635
},
7636
"7": {
7637
"name": "constant.numeric.exponent.hexadecimal.cpp",
7638
"patterns": [
7639
{
7640
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7641
"name": "punctuation.separator.constant.numeric.cpp"
7642
}
7643
]
7644
},
7645
"8": {
7646
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
7647
},
7648
"9": {
7649
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
7650
}
7651
}
7652
},
7653
{
7654
"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*)?$)",
7655
"captures": {
7656
"1": {
7657
"name": "constant.numeric.decimal.cpp",
7658
"patterns": [
7659
{
7660
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7661
"name": "punctuation.separator.constant.numeric.cpp"
7662
}
7663
]
7664
},
7665
"2": {
7666
"name": "punctuation.separator.constant.numeric.cpp"
7667
},
7668
"3": {
7669
"name": "keyword.other.unit.exponent.decimal.cpp"
7670
},
7671
"4": {
7672
"name": "keyword.operator.plus.exponent.decimal.cpp"
7673
},
7674
"5": {
7675
"name": "keyword.operator.minus.exponent.decimal.cpp"
7676
},
7677
"6": {
7678
"name": "constant.numeric.exponent.decimal.cpp",
7679
"patterns": [
7680
{
7681
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7682
"name": "punctuation.separator.constant.numeric.cpp"
7683
}
7684
]
7685
},
7686
"7": {
7687
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
7688
},
7689
"8": {
7690
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
7691
}
7692
}
7693
},
7694
{
7695
"match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
7696
"name": "invalid.illegal.constant.numeric.cpp"
7697
}
7698
]
7699
}
7700
]
7701
}
7702
}
7703
},
7704
"operator_overload": {
7705
"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<60>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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<60>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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<60>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)const(?!\\w)))?((?:(?:(?:\\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<60>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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))(?=;|\\<|\\()",
7706
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
7707
"beginCaptures": {
7708
"0": {
7709
"name": "meta.head.function.definition.special.operator-overload.cpp"
7710
},
7711
"1": {
7712
"patterns": [
7713
{
7714
"include": "#inline_comment"
7715
}
7716
]
7717
},
7718
"2": {
7719
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7720
},
7721
"3": {
7722
"name": "comment.block.cpp"
7723
},
7724
"4": {
7725
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7726
},
7727
"5": {
7728
"name": "meta.qualified-type.cpp",
7729
"patterns": [
7730
{
7731
"match": "::",
7732
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
7733
},
7734
{
7735
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
7736
"name": "storage.type.$0.cpp"
7737
},
7738
{
7739
"include": "#attributes_context"
7740
},
7741
{
7742
"include": "#storage_types"
7743
},
7744
{
7745
"include": "#number_literal"
7746
},
7747
{
7748
"include": "#string_context"
7749
},
7750
{
7751
"include": "#comma"
7752
},
7753
{
7754
"include": "#scope_resolution_inner_generated"
7755
},
7756
{
7757
"include": "#template_call_range_helper"
7758
},
7759
{
7760
"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}))*",
7761
"name": "entity.name.type.cpp"
7762
}
7763
]
7764
},
7765
"6": {
7766
"patterns": [
7767
{
7768
"include": "#attributes_context"
7769
},
7770
{
7771
"include": "#number_literal"
7772
}
7773
]
7774
},
7775
"7": {
7776
"patterns": [
7777
{
7778
"include": "#inline_comment"
7779
}
7780
]
7781
},
7782
"8": {
7783
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7784
},
7785
"9": {
7786
"name": "comment.block.cpp"
7787
},
7788
"10": {
7789
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7790
},
7791
"11": {
7792
"patterns": [
7793
{
7794
"include": "#inline_comment"
7795
}
7796
]
7797
},
7798
"12": {
7799
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7800
},
7801
"13": {
7802
"name": "comment.block.cpp"
7803
},
7804
"14": {
7805
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7806
},
7807
"15": {
7808
"patterns": [
7809
{
7810
"match": "::",
7811
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
7812
},
7813
{
7814
"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)",
7815
"name": "entity.name.scope-resolution.type.cpp"
7816
},
7817
{
7818
"include": "#template_call_range_helper"
7819
}
7820
]
7821
},
7822
"16": {
7823
"patterns": [
7824
{
7825
"include": "#template_call_range_helper"
7826
}
7827
]
7828
},
7829
"17": {},
7830
"18": {
7831
"patterns": [
7832
{
7833
"include": "#inline_comment"
7834
}
7835
]
7836
},
7837
"19": {
7838
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7839
},
7840
"20": {
7841
"name": "comment.block.cpp"
7842
},
7843
"21": {
7844
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7845
},
7846
"22": {},
7847
"23": {
7848
"patterns": [
7849
{
7850
"match": "\\*",
7851
"name": "storage.modifier.pointer.cpp"
7852
},
7853
{
7854
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
7855
"captures": {
7856
"1": {
7857
"patterns": [
7858
{
7859
"include": "#inline_comment"
7860
}
7861
]
7862
},
7863
"2": {
7864
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7865
},
7866
"3": {
7867
"name": "comment.block.cpp"
7868
},
7869
"4": {
7870
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7871
}
7872
},
7873
"name": "invalid.illegal.reference-type.cpp"
7874
},
7875
{
7876
"match": "\\&",
7877
"name": "storage.modifier.reference.cpp"
7878
}
7879
]
7880
},
7881
"24": {
7882
"patterns": [
7883
{
7884
"include": "#inline_comment"
7885
}
7886
]
7887
},
7888
"25": {
7889
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7890
},
7891
"26": {
7892
"name": "comment.block.cpp"
7893
},
7894
"27": {
7895
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7896
},
7897
"28": {
7898
"patterns": [
7899
{
7900
"include": "#inline_comment"
7901
}
7902
]
7903
},
7904
"29": {
7905
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7906
},
7907
"30": {
7908
"name": "comment.block.cpp"
7909
},
7910
"31": {
7911
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7912
},
7913
"32": {
7914
"patterns": [
7915
{
7916
"include": "#inline_comment"
7917
}
7918
]
7919
},
7920
"33": {
7921
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7922
},
7923
"34": {
7924
"name": "comment.block.cpp"
7925
},
7926
"35": {
7927
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7928
},
7929
"36": {
7930
"name": "storage.type.modifier.calling-convention.cpp"
7931
},
7932
"37": {
7933
"patterns": [
7934
{
7935
"include": "#inline_comment"
7936
}
7937
]
7938
},
7939
"38": {
7940
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7941
},
7942
"39": {
7943
"name": "comment.block.cpp"
7944
},
7945
"40": {
7946
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7947
},
7948
"41": {
7949
"patterns": [
7950
{
7951
"include": "#inline_comment"
7952
}
7953
]
7954
},
7955
"42": {
7956
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7957
},
7958
"43": {
7959
"name": "comment.block.cpp"
7960
},
7961
"44": {
7962
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7963
},
7964
"45": {
7965
"patterns": [
7966
{
7967
"match": "::",
7968
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"
7969
},
7970
{
7971
"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)",
7972
"name": "entity.name.scope-resolution.operator.cpp"
7973
},
7974
{
7975
"include": "#template_call_range_helper"
7976
}
7977
]
7978
},
7979
"46": {
7980
"patterns": [
7981
{
7982
"include": "#template_call_range_helper"
7983
}
7984
]
7985
},
7986
"47": {},
7987
"48": {
7988
"name": "keyword.other.operator.overload.cpp"
7989
},
7990
"49": {
7991
"patterns": [
7992
{
7993
"include": "#inline_comment"
7994
}
7995
]
7996
},
7997
"50": {
7998
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7999
},
8000
"51": {
8001
"name": "comment.block.cpp"
8002
},
8003
"52": {
8004
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8005
},
8006
"53": {
8007
"name": "storage.modifier.const.cpp"
8008
},
8009
"54": {
8010
"patterns": [
8011
{
8012
"include": "#inline_comment"
8013
}
8014
]
8015
},
8016
"55": {
8017
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8018
},
8019
"56": {
8020
"name": "comment.block.cpp"
8021
},
8022
"57": {
8023
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8024
},
8025
"58": {
8026
"patterns": [
8027
{
8028
"match": "::",
8029
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"
8030
},
8031
{
8032
"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)",
8033
"name": "entity.name.scope-resolution.operator-overload.cpp"
8034
},
8035
{
8036
"include": "#template_call_range_helper"
8037
}
8038
]
8039
},
8040
"59": {
8041
"patterns": [
8042
{
8043
"include": "#template_call_range_helper"
8044
}
8045
]
8046
},
8047
"60": {},
8048
"61": {
8049
"name": "entity.name.operator.cpp"
8050
},
8051
"62": {
8052
"name": "entity.name.operator.type.cpp"
8053
},
8054
"63": {
8055
"patterns": [
8056
{
8057
"match": "\\*",
8058
"name": "entity.name.operator.type.pointer.cpp"
8059
},
8060
{
8061
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
8062
"captures": {
8063
"1": {
8064
"patterns": [
8065
{
8066
"include": "#inline_comment"
8067
}
8068
]
8069
},
8070
"2": {
8071
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8072
},
8073
"3": {
8074
"name": "comment.block.cpp"
8075
},
8076
"4": {
8077
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8078
}
8079
},
8080
"name": "invalid.illegal.reference-type.cpp"
8081
},
8082
{
8083
"match": "\\&",
8084
"name": "entity.name.operator.type.reference.cpp"
8085
}
8086
]
8087
},
8088
"64": {
8089
"patterns": [
8090
{
8091
"include": "#inline_comment"
8092
}
8093
]
8094
},
8095
"65": {
8096
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8097
},
8098
"66": {
8099
"name": "comment.block.cpp"
8100
},
8101
"67": {
8102
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8103
},
8104
"68": {
8105
"patterns": [
8106
{
8107
"include": "#inline_comment"
8108
}
8109
]
8110
},
8111
"69": {
8112
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8113
},
8114
"70": {
8115
"name": "comment.block.cpp"
8116
},
8117
"71": {
8118
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8119
},
8120
"72": {
8121
"patterns": [
8122
{
8123
"include": "#inline_comment"
8124
}
8125
]
8126
},
8127
"73": {
8128
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8129
},
8130
"74": {
8131
"name": "comment.block.cpp"
8132
},
8133
"75": {
8134
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8135
},
8136
"76": {
8137
"name": "entity.name.operator.type.array.cpp"
8138
},
8139
"77": {
8140
"name": "entity.name.operator.custom-literal.cpp"
8141
},
8142
"78": {
8143
"patterns": [
8144
{
8145
"include": "#inline_comment"
8146
}
8147
]
8148
},
8149
"79": {
8150
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8151
},
8152
"80": {
8153
"name": "comment.block.cpp"
8154
},
8155
"81": {
8156
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8157
},
8158
"82": {
8159
"name": "entity.name.operator.custom-literal.cpp"
8160
},
8161
"83": {
8162
"patterns": [
8163
{
8164
"include": "#inline_comment"
8165
}
8166
]
8167
},
8168
"84": {
8169
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8170
},
8171
"85": {
8172
"name": "comment.block.cpp"
8173
},
8174
"86": {
8175
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8176
}
8177
},
8178
"endCaptures": {},
8179
"name": "meta.function.definition.special.operator-overload.cpp",
8180
"patterns": [
8181
{
8182
"begin": "\\G ?",
8183
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
8184
"beginCaptures": {},
8185
"endCaptures": {
8186
"0": {
8187
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"
8188
}
8189
},
8190
"name": "meta.head.function.definition.special.operator-overload.cpp",
8191
"patterns": [
8192
{
8193
"include": "#ever_present_context"
8194
},
8195
{
8196
"include": "#template_call_range_helper"
8197
},
8198
{
8199
"begin": "\\(",
8200
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
8201
"beginCaptures": {
8202
"0": {
8203
"name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"
8204
}
8205
},
8206
"endCaptures": {
8207
"0": {
8208
"name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"
8209
}
8210
},
8211
"contentName": "meta.function.definition.parameters.special.operator-overload",
8212
"patterns": [
8213
{
8214
"include": "#function_parameter_context"
8215
},
8216
{
8217
"include": "#evaluation_context"
8218
}
8219
]
8220
},
8221
{
8222
"include": "#qualifiers_and_specifiers_post_parameters"
8223
},
8224
{
8225
"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
8226
"captures": {
8227
"1": {
8228
"name": "keyword.operator.assignment.cpp"
8229
},
8230
"2": {
8231
"patterns": [
8232
{
8233
"include": "#inline_comment"
8234
}
8235
]
8236
},
8237
"3": {
8238
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8239
},
8240
"4": {
8241
"name": "comment.block.cpp"
8242
},
8243
"5": {
8244
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8245
},
8246
"6": {
8247
"name": "keyword.other.default.function.cpp"
8248
},
8249
"7": {
8250
"name": "keyword.other.delete.function.cpp"
8251
}
8252
}
8253
},
8254
{
8255
"include": "$self"
8256
}
8257
]
8258
},
8259
{
8260
"begin": "(?<=\\{|<%|\\?\\?<)",
8261
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
8262
"beginCaptures": {},
8263
"endCaptures": {
8264
"0": {
8265
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"
8266
}
8267
},
8268
"name": "meta.body.function.definition.special.operator-overload.cpp",
8269
"patterns": [
8270
{
8271
"include": "#function_body_context"
8272
}
8273
]
8274
},
8275
{
8276
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
8277
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
8278
"beginCaptures": {},
8279
"endCaptures": {},
8280
"name": "meta.tail.function.definition.special.operator-overload.cpp",
8281
"patterns": [
8282
{
8283
"include": "$self"
8284
}
8285
]
8286
}
8287
]
8288
},
8289
"operators": {
8290
"patterns": [
8291
{
8292
"begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
8293
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
8294
"beginCaptures": {
8295
"1": {
8296
"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
8297
},
8298
"2": {
8299
"patterns": [
8300
{
8301
"include": "#inline_comment"
8302
}
8303
]
8304
},
8305
"3": {
8306
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8307
},
8308
"4": {
8309
"name": "comment.block.cpp"
8310
},
8311
"5": {
8312
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8313
},
8314
"6": {
8315
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
8316
}
8317
},
8318
"endCaptures": {
8319
"0": {
8320
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
8321
}
8322
},
8323
"contentName": "meta.arguments.operator.sizeof",
8324
"patterns": [
8325
{
8326
"include": "#evaluation_context"
8327
}
8328
]
8329
},
8330
{
8331
"begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
8332
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
8333
"beginCaptures": {
8334
"1": {
8335
"name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
8336
},
8337
"2": {
8338
"patterns": [
8339
{
8340
"include": "#inline_comment"
8341
}
8342
]
8343
},
8344
"3": {
8345
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8346
},
8347
"4": {
8348
"name": "comment.block.cpp"
8349
},
8350
"5": {
8351
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8352
},
8353
"6": {
8354
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
8355
}
8356
},
8357
"endCaptures": {
8358
"0": {
8359
"name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
8360
}
8361
},
8362
"contentName": "meta.arguments.operator.alignof",
8363
"patterns": [
8364
{
8365
"include": "#evaluation_context"
8366
}
8367
]
8368
},
8369
{
8370
"begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
8371
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
8372
"beginCaptures": {
8373
"1": {
8374
"name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
8375
},
8376
"2": {
8377
"patterns": [
8378
{
8379
"include": "#inline_comment"
8380
}
8381
]
8382
},
8383
"3": {
8384
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8385
},
8386
"4": {
8387
"name": "comment.block.cpp"
8388
},
8389
"5": {
8390
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8391
},
8392
"6": {
8393
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
8394
}
8395
},
8396
"endCaptures": {
8397
"0": {
8398
"name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
8399
}
8400
},
8401
"contentName": "meta.arguments.operator.alignas",
8402
"patterns": [
8403
{
8404
"include": "#evaluation_context"
8405
}
8406
]
8407
},
8408
{
8409
"begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
8410
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
8411
"beginCaptures": {
8412
"1": {
8413
"name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
8414
},
8415
"2": {
8416
"patterns": [
8417
{
8418
"include": "#inline_comment"
8419
}
8420
]
8421
},
8422
"3": {
8423
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8424
},
8425
"4": {
8426
"name": "comment.block.cpp"
8427
},
8428
"5": {
8429
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8430
},
8431
"6": {
8432
"name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
8433
}
8434
},
8435
"endCaptures": {
8436
"0": {
8437
"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
8438
}
8439
},
8440
"contentName": "meta.arguments.operator.typeid",
8441
"patterns": [
8442
{
8443
"include": "#evaluation_context"
8444
}
8445
]
8446
},
8447
{
8448
"begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
8449
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
8450
"beginCaptures": {
8451
"1": {
8452
"name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
8453
},
8454
"2": {
8455
"patterns": [
8456
{
8457
"include": "#inline_comment"
8458
}
8459
]
8460
},
8461
"3": {
8462
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8463
},
8464
"4": {
8465
"name": "comment.block.cpp"
8466
},
8467
"5": {
8468
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8469
},
8470
"6": {
8471
"name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
8472
}
8473
},
8474
"endCaptures": {
8475
"0": {
8476
"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
8477
}
8478
},
8479
"contentName": "meta.arguments.operator.noexcept",
8480
"patterns": [
8481
{
8482
"include": "#evaluation_context"
8483
}
8484
]
8485
},
8486
{
8487
"begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
8488
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
8489
"beginCaptures": {
8490
"1": {
8491
"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
8492
},
8493
"2": {
8494
"patterns": [
8495
{
8496
"include": "#inline_comment"
8497
}
8498
]
8499
},
8500
"3": {
8501
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8502
},
8503
"4": {
8504
"name": "comment.block.cpp"
8505
},
8506
"5": {
8507
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8508
},
8509
"6": {
8510
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
8511
}
8512
},
8513
"endCaptures": {
8514
"0": {
8515
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
8516
}
8517
},
8518
"contentName": "meta.arguments.operator.sizeof.variadic",
8519
"patterns": [
8520
{
8521
"include": "#evaluation_context"
8522
}
8523
]
8524
},
8525
{
8526
"match": "--",
8527
"name": "keyword.operator.decrement.cpp"
8528
},
8529
{
8530
"match": "\\+\\+",
8531
"name": "keyword.operator.increment.cpp"
8532
},
8533
{
8534
"match": "(?:<<|>>)",
8535
"name": "keyword.operator.bitwise.shift.cpp"
8536
},
8537
{
8538
"match": "(?:!=|<=|>=|==|<|>)",
8539
"name": "keyword.operator.comparison.cpp"
8540
},
8541
{
8542
"match": "(?:&&|!|\\|\\|)",
8543
"name": "keyword.operator.logical.cpp"
8544
},
8545
{
8546
"match": "(?:&|\\||\\^|~)",
8547
"name": "keyword.operator.bitwise.cpp"
8548
},
8549
{
8550
"match": "(?:((?:%=|\\+=|-=|\\*=|(?<!\\()\\/=))|((?:&=|\\^=|<<=|>>=|\\|=))|(\\=))",
8551
"captures": {
8552
"1": {
8553
"name": "keyword.operator.assignment.compound.cpp"
8554
},
8555
"2": {
8556
"name": "keyword.operator.assignment.compound.bitwise.cpp"
8557
},
8558
"3": {
8559
"name": "keyword.operator.assignment.cpp"
8560
}
8561
}
8562
},
8563
{
8564
"match": "(?:%|\\*|\\/|-|\\+)",
8565
"name": "keyword.operator.arithmetic.cpp"
8566
},
8567
{
8568
"include": "#ternary_operator"
8569
}
8570
]
8571
},
8572
"over_qualified_types": {
8573
"patterns": [
8574
{
8575
"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)",
8576
"captures": {
8577
"1": {
8578
"name": "storage.type.struct.parameter.cpp"
8579
},
8580
"2": {
8581
"patterns": [
8582
{
8583
"include": "#inline_comment"
8584
}
8585
]
8586
},
8587
"3": {
8588
"patterns": [
8589
{
8590
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8591
"captures": {
8592
"1": {
8593
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8594
},
8595
"2": {
8596
"name": "comment.block.cpp"
8597
},
8598
"3": {
8599
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8600
}
8601
}
8602
}
8603
]
8604
},
8605
"4": {
8606
"name": "entity.name.type.struct.parameter.cpp"
8607
},
8608
"5": {
8609
"patterns": [
8610
{
8611
"include": "#inline_comment"
8612
}
8613
]
8614
},
8615
"6": {
8616
"patterns": [
8617
{
8618
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8619
"captures": {
8620
"1": {
8621
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8622
},
8623
"2": {
8624
"name": "comment.block.cpp"
8625
},
8626
"3": {
8627
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8628
}
8629
}
8630
}
8631
]
8632
},
8633
"7": {
8634
"patterns": [
8635
{
8636
"match": "\\*",
8637
"name": "storage.modifier.pointer.cpp"
8638
},
8639
{
8640
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
8641
"captures": {
8642
"1": {
8643
"patterns": [
8644
{
8645
"include": "#inline_comment"
8646
}
8647
]
8648
},
8649
"2": {
8650
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8651
},
8652
"3": {
8653
"name": "comment.block.cpp"
8654
},
8655
"4": {
8656
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8657
}
8658
},
8659
"name": "invalid.illegal.reference-type.cpp"
8660
},
8661
{
8662
"match": "\\&",
8663
"name": "storage.modifier.reference.cpp"
8664
}
8665
]
8666
},
8667
"8": {
8668
"patterns": [
8669
{
8670
"include": "#inline_comment"
8671
}
8672
]
8673
},
8674
"9": {
8675
"patterns": [
8676
{
8677
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8678
"captures": {
8679
"1": {
8680
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8681
},
8682
"2": {
8683
"name": "comment.block.cpp"
8684
},
8685
"3": {
8686
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8687
}
8688
}
8689
}
8690
]
8691
},
8692
"10": {
8693
"patterns": [
8694
{
8695
"include": "#inline_comment"
8696
}
8697
]
8698
},
8699
"11": {
8700
"patterns": [
8701
{
8702
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8703
"captures": {
8704
"1": {
8705
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8706
},
8707
"2": {
8708
"name": "comment.block.cpp"
8709
},
8710
"3": {
8711
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8712
}
8713
}
8714
}
8715
]
8716
},
8717
"12": {
8718
"patterns": [
8719
{
8720
"include": "#inline_comment"
8721
}
8722
]
8723
},
8724
"13": {
8725
"patterns": [
8726
{
8727
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8728
"captures": {
8729
"1": {
8730
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8731
},
8732
"2": {
8733
"name": "comment.block.cpp"
8734
},
8735
"3": {
8736
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8737
}
8738
}
8739
}
8740
]
8741
},
8742
"14": {
8743
"name": "variable.other.object.declare.cpp"
8744
},
8745
"15": {
8746
"patterns": [
8747
{
8748
"include": "#inline_comment"
8749
}
8750
]
8751
},
8752
"16": {
8753
"patterns": [
8754
{
8755
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8756
"captures": {
8757
"1": {
8758
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8759
},
8760
"2": {
8761
"name": "comment.block.cpp"
8762
},
8763
"3": {
8764
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8765
}
8766
}
8767
}
8768
]
8769
},
8770
"17": {
8771
"patterns": [
8772
{
8773
"include": "#inline_comment"
8774
}
8775
]
8776
},
8777
"18": {
8778
"patterns": [
8779
{
8780
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8781
"captures": {
8782
"1": {
8783
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8784
},
8785
"2": {
8786
"name": "comment.block.cpp"
8787
},
8788
"3": {
8789
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8790
}
8791
}
8792
}
8793
]
8794
},
8795
"19": {
8796
"patterns": [
8797
{
8798
"include": "#inline_comment"
8799
}
8800
]
8801
},
8802
"20": {
8803
"patterns": [
8804
{
8805
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8806
"captures": {
8807
"1": {
8808
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8809
},
8810
"2": {
8811
"name": "comment.block.cpp"
8812
},
8813
"3": {
8814
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8815
}
8816
}
8817
}
8818
]
8819
}
8820
}
8821
},
8822
{
8823
"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)",
8824
"captures": {
8825
"1": {
8826
"name": "storage.type.enum.parameter.cpp"
8827
},
8828
"2": {
8829
"patterns": [
8830
{
8831
"include": "#inline_comment"
8832
}
8833
]
8834
},
8835
"3": {
8836
"patterns": [
8837
{
8838
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8839
"captures": {
8840
"1": {
8841
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8842
},
8843
"2": {
8844
"name": "comment.block.cpp"
8845
},
8846
"3": {
8847
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8848
}
8849
}
8850
}
8851
]
8852
},
8853
"4": {
8854
"name": "entity.name.type.enum.parameter.cpp"
8855
},
8856
"5": {
8857
"patterns": [
8858
{
8859
"include": "#inline_comment"
8860
}
8861
]
8862
},
8863
"6": {
8864
"patterns": [
8865
{
8866
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8867
"captures": {
8868
"1": {
8869
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8870
},
8871
"2": {
8872
"name": "comment.block.cpp"
8873
},
8874
"3": {
8875
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8876
}
8877
}
8878
}
8879
]
8880
},
8881
"7": {
8882
"patterns": [
8883
{
8884
"match": "\\*",
8885
"name": "storage.modifier.pointer.cpp"
8886
},
8887
{
8888
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
8889
"captures": {
8890
"1": {
8891
"patterns": [
8892
{
8893
"include": "#inline_comment"
8894
}
8895
]
8896
},
8897
"2": {
8898
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8899
},
8900
"3": {
8901
"name": "comment.block.cpp"
8902
},
8903
"4": {
8904
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8905
}
8906
},
8907
"name": "invalid.illegal.reference-type.cpp"
8908
},
8909
{
8910
"match": "\\&",
8911
"name": "storage.modifier.reference.cpp"
8912
}
8913
]
8914
},
8915
"8": {
8916
"patterns": [
8917
{
8918
"include": "#inline_comment"
8919
}
8920
]
8921
},
8922
"9": {
8923
"patterns": [
8924
{
8925
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8926
"captures": {
8927
"1": {
8928
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8929
},
8930
"2": {
8931
"name": "comment.block.cpp"
8932
},
8933
"3": {
8934
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8935
}
8936
}
8937
}
8938
]
8939
},
8940
"10": {
8941
"patterns": [
8942
{
8943
"include": "#inline_comment"
8944
}
8945
]
8946
},
8947
"11": {
8948
"patterns": [
8949
{
8950
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8951
"captures": {
8952
"1": {
8953
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8954
},
8955
"2": {
8956
"name": "comment.block.cpp"
8957
},
8958
"3": {
8959
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8960
}
8961
}
8962
}
8963
]
8964
},
8965
"12": {
8966
"patterns": [
8967
{
8968
"include": "#inline_comment"
8969
}
8970
]
8971
},
8972
"13": {
8973
"patterns": [
8974
{
8975
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8976
"captures": {
8977
"1": {
8978
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8979
},
8980
"2": {
8981
"name": "comment.block.cpp"
8982
},
8983
"3": {
8984
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8985
}
8986
}
8987
}
8988
]
8989
},
8990
"14": {
8991
"name": "variable.other.object.declare.cpp"
8992
},
8993
"15": {
8994
"patterns": [
8995
{
8996
"include": "#inline_comment"
8997
}
8998
]
8999
},
9000
"16": {
9001
"patterns": [
9002
{
9003
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9004
"captures": {
9005
"1": {
9006
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9007
},
9008
"2": {
9009
"name": "comment.block.cpp"
9010
},
9011
"3": {
9012
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9013
}
9014
}
9015
}
9016
]
9017
},
9018
"17": {
9019
"patterns": [
9020
{
9021
"include": "#inline_comment"
9022
}
9023
]
9024
},
9025
"18": {
9026
"patterns": [
9027
{
9028
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9029
"captures": {
9030
"1": {
9031
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9032
},
9033
"2": {
9034
"name": "comment.block.cpp"
9035
},
9036
"3": {
9037
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9038
}
9039
}
9040
}
9041
]
9042
},
9043
"19": {
9044
"patterns": [
9045
{
9046
"include": "#inline_comment"
9047
}
9048
]
9049
},
9050
"20": {
9051
"patterns": [
9052
{
9053
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9054
"captures": {
9055
"1": {
9056
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9057
},
9058
"2": {
9059
"name": "comment.block.cpp"
9060
},
9061
"3": {
9062
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9063
}
9064
}
9065
}
9066
]
9067
}
9068
}
9069
},
9070
{
9071
"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)",
9072
"captures": {
9073
"1": {
9074
"name": "storage.type.union.parameter.cpp"
9075
},
9076
"2": {
9077
"patterns": [
9078
{
9079
"include": "#inline_comment"
9080
}
9081
]
9082
},
9083
"3": {
9084
"patterns": [
9085
{
9086
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9087
"captures": {
9088
"1": {
9089
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9090
},
9091
"2": {
9092
"name": "comment.block.cpp"
9093
},
9094
"3": {
9095
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9096
}
9097
}
9098
}
9099
]
9100
},
9101
"4": {
9102
"name": "entity.name.type.union.parameter.cpp"
9103
},
9104
"5": {
9105
"patterns": [
9106
{
9107
"include": "#inline_comment"
9108
}
9109
]
9110
},
9111
"6": {
9112
"patterns": [
9113
{
9114
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9115
"captures": {
9116
"1": {
9117
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9118
},
9119
"2": {
9120
"name": "comment.block.cpp"
9121
},
9122
"3": {
9123
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9124
}
9125
}
9126
}
9127
]
9128
},
9129
"7": {
9130
"patterns": [
9131
{
9132
"match": "\\*",
9133
"name": "storage.modifier.pointer.cpp"
9134
},
9135
{
9136
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9137
"captures": {
9138
"1": {
9139
"patterns": [
9140
{
9141
"include": "#inline_comment"
9142
}
9143
]
9144
},
9145
"2": {
9146
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9147
},
9148
"3": {
9149
"name": "comment.block.cpp"
9150
},
9151
"4": {
9152
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9153
}
9154
},
9155
"name": "invalid.illegal.reference-type.cpp"
9156
},
9157
{
9158
"match": "\\&",
9159
"name": "storage.modifier.reference.cpp"
9160
}
9161
]
9162
},
9163
"8": {
9164
"patterns": [
9165
{
9166
"include": "#inline_comment"
9167
}
9168
]
9169
},
9170
"9": {
9171
"patterns": [
9172
{
9173
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9174
"captures": {
9175
"1": {
9176
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9177
},
9178
"2": {
9179
"name": "comment.block.cpp"
9180
},
9181
"3": {
9182
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9183
}
9184
}
9185
}
9186
]
9187
},
9188
"10": {
9189
"patterns": [
9190
{
9191
"include": "#inline_comment"
9192
}
9193
]
9194
},
9195
"11": {
9196
"patterns": [
9197
{
9198
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9199
"captures": {
9200
"1": {
9201
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9202
},
9203
"2": {
9204
"name": "comment.block.cpp"
9205
},
9206
"3": {
9207
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9208
}
9209
}
9210
}
9211
]
9212
},
9213
"12": {
9214
"patterns": [
9215
{
9216
"include": "#inline_comment"
9217
}
9218
]
9219
},
9220
"13": {
9221
"patterns": [
9222
{
9223
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9224
"captures": {
9225
"1": {
9226
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9227
},
9228
"2": {
9229
"name": "comment.block.cpp"
9230
},
9231
"3": {
9232
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9233
}
9234
}
9235
}
9236
]
9237
},
9238
"14": {
9239
"name": "variable.other.object.declare.cpp"
9240
},
9241
"15": {
9242
"patterns": [
9243
{
9244
"include": "#inline_comment"
9245
}
9246
]
9247
},
9248
"16": {
9249
"patterns": [
9250
{
9251
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9252
"captures": {
9253
"1": {
9254
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9255
},
9256
"2": {
9257
"name": "comment.block.cpp"
9258
},
9259
"3": {
9260
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9261
}
9262
}
9263
}
9264
]
9265
},
9266
"17": {
9267
"patterns": [
9268
{
9269
"include": "#inline_comment"
9270
}
9271
]
9272
},
9273
"18": {
9274
"patterns": [
9275
{
9276
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9277
"captures": {
9278
"1": {
9279
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9280
},
9281
"2": {
9282
"name": "comment.block.cpp"
9283
},
9284
"3": {
9285
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9286
}
9287
}
9288
}
9289
]
9290
},
9291
"19": {
9292
"patterns": [
9293
{
9294
"include": "#inline_comment"
9295
}
9296
]
9297
},
9298
"20": {
9299
"patterns": [
9300
{
9301
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9302
"captures": {
9303
"1": {
9304
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9305
},
9306
"2": {
9307
"name": "comment.block.cpp"
9308
},
9309
"3": {
9310
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9311
}
9312
}
9313
}
9314
]
9315
}
9316
}
9317
},
9318
{
9319
"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)",
9320
"captures": {
9321
"1": {
9322
"name": "storage.type.class.parameter.cpp"
9323
},
9324
"2": {
9325
"patterns": [
9326
{
9327
"include": "#inline_comment"
9328
}
9329
]
9330
},
9331
"3": {
9332
"patterns": [
9333
{
9334
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9335
"captures": {
9336
"1": {
9337
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9338
},
9339
"2": {
9340
"name": "comment.block.cpp"
9341
},
9342
"3": {
9343
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9344
}
9345
}
9346
}
9347
]
9348
},
9349
"4": {
9350
"name": "entity.name.type.class.parameter.cpp"
9351
},
9352
"5": {
9353
"patterns": [
9354
{
9355
"include": "#inline_comment"
9356
}
9357
]
9358
},
9359
"6": {
9360
"patterns": [
9361
{
9362
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9363
"captures": {
9364
"1": {
9365
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9366
},
9367
"2": {
9368
"name": "comment.block.cpp"
9369
},
9370
"3": {
9371
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9372
}
9373
}
9374
}
9375
]
9376
},
9377
"7": {
9378
"patterns": [
9379
{
9380
"match": "\\*",
9381
"name": "storage.modifier.pointer.cpp"
9382
},
9383
{
9384
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9385
"captures": {
9386
"1": {
9387
"patterns": [
9388
{
9389
"include": "#inline_comment"
9390
}
9391
]
9392
},
9393
"2": {
9394
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9395
},
9396
"3": {
9397
"name": "comment.block.cpp"
9398
},
9399
"4": {
9400
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9401
}
9402
},
9403
"name": "invalid.illegal.reference-type.cpp"
9404
},
9405
{
9406
"match": "\\&",
9407
"name": "storage.modifier.reference.cpp"
9408
}
9409
]
9410
},
9411
"8": {
9412
"patterns": [
9413
{
9414
"include": "#inline_comment"
9415
}
9416
]
9417
},
9418
"9": {
9419
"patterns": [
9420
{
9421
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9422
"captures": {
9423
"1": {
9424
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9425
},
9426
"2": {
9427
"name": "comment.block.cpp"
9428
},
9429
"3": {
9430
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9431
}
9432
}
9433
}
9434
]
9435
},
9436
"10": {
9437
"patterns": [
9438
{
9439
"include": "#inline_comment"
9440
}
9441
]
9442
},
9443
"11": {
9444
"patterns": [
9445
{
9446
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9447
"captures": {
9448
"1": {
9449
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9450
},
9451
"2": {
9452
"name": "comment.block.cpp"
9453
},
9454
"3": {
9455
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9456
}
9457
}
9458
}
9459
]
9460
},
9461
"12": {
9462
"patterns": [
9463
{
9464
"include": "#inline_comment"
9465
}
9466
]
9467
},
9468
"13": {
9469
"patterns": [
9470
{
9471
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9472
"captures": {
9473
"1": {
9474
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9475
},
9476
"2": {
9477
"name": "comment.block.cpp"
9478
},
9479
"3": {
9480
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9481
}
9482
}
9483
}
9484
]
9485
},
9486
"14": {
9487
"name": "variable.other.object.declare.cpp"
9488
},
9489
"15": {
9490
"patterns": [
9491
{
9492
"include": "#inline_comment"
9493
}
9494
]
9495
},
9496
"16": {
9497
"patterns": [
9498
{
9499
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9500
"captures": {
9501
"1": {
9502
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9503
},
9504
"2": {
9505
"name": "comment.block.cpp"
9506
},
9507
"3": {
9508
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9509
}
9510
}
9511
}
9512
]
9513
},
9514
"17": {
9515
"patterns": [
9516
{
9517
"include": "#inline_comment"
9518
}
9519
]
9520
},
9521
"18": {
9522
"patterns": [
9523
{
9524
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9525
"captures": {
9526
"1": {
9527
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9528
},
9529
"2": {
9530
"name": "comment.block.cpp"
9531
},
9532
"3": {
9533
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9534
}
9535
}
9536
}
9537
]
9538
},
9539
"19": {
9540
"patterns": [
9541
{
9542
"include": "#inline_comment"
9543
}
9544
]
9545
},
9546
"20": {
9547
"patterns": [
9548
{
9549
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9550
"captures": {
9551
"1": {
9552
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9553
},
9554
"2": {
9555
"name": "comment.block.cpp"
9556
},
9557
"3": {
9558
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9559
}
9560
}
9561
}
9562
]
9563
}
9564
}
9565
}
9566
]
9567
},
9568
"parameter": {
9569
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)",
9570
"end": "(?:(?=\\))|(,))|(?=\\\\end\\{(?:minted|cppcode)\\})",
9571
"beginCaptures": {
9572
"1": {
9573
"patterns": [
9574
{
9575
"include": "#inline_comment"
9576
}
9577
]
9578
},
9579
"2": {
9580
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9581
},
9582
"3": {
9583
"name": "comment.block.cpp"
9584
},
9585
"4": {
9586
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9587
}
9588
},
9589
"endCaptures": {
9590
"1": {
9591
"name": "punctuation.separator.delimiter.comma.cpp"
9592
}
9593
},
9594
"name": "meta.parameter.cpp",
9595
"patterns": [
9596
{
9597
"include": "#ever_present_context"
9598
},
9599
{
9600
"include": "#string_context"
9601
},
9602
{
9603
"include": "#function_pointer_parameter"
9604
},
9605
{
9606
"include": "#decltype"
9607
},
9608
{
9609
"include": "#vararg_ellipses"
9610
},
9611
{
9612
"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))(?=,|\\)|=)",
9613
"captures": {
9614
"1": {
9615
"patterns": [
9616
{
9617
"include": "#storage_types"
9618
}
9619
]
9620
},
9621
"2": {
9622
"name": "storage.modifier.specifier.parameter.cpp"
9623
},
9624
"3": {
9625
"patterns": [
9626
{
9627
"include": "#inline_comment"
9628
}
9629
]
9630
},
9631
"4": {
9632
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9633
},
9634
"5": {
9635
"name": "comment.block.cpp"
9636
},
9637
"6": {
9638
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9639
},
9640
"7": {
9641
"patterns": [
9642
{
9643
"include": "#inline_comment"
9644
}
9645
]
9646
},
9647
"8": {
9648
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9649
},
9650
"9": {
9651
"name": "comment.block.cpp"
9652
},
9653
"10": {
9654
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9655
},
9656
"11": {
9657
"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
9658
},
9659
"12": {
9660
"name": "storage.type.cpp storage.type.built-in.cpp"
9661
},
9662
"13": {
9663
"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
9664
},
9665
"14": {
9666
"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
9667
},
9668
"15": {
9669
"name": "entity.name.type.parameter.cpp"
9670
},
9671
"16": {
9672
"patterns": [
9673
{
9674
"include": "#inline_comment"
9675
}
9676
]
9677
},
9678
"17": {
9679
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9680
},
9681
"18": {
9682
"name": "comment.block.cpp"
9683
},
9684
"19": {
9685
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9686
}
9687
}
9688
},
9689
{
9690
"include": "#storage_types"
9691
},
9692
{
9693
"include": "#scope_resolution_parameter_inner_generated"
9694
},
9695
{
9696
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
9697
"name": "storage.type.$0.cpp"
9698
},
9699
{
9700
"begin": "(?<==)",
9701
"end": "(?:(?=\\))|(,))|(?=\\\\end\\{(?:minted|cppcode)\\})",
9702
"beginCaptures": {},
9703
"endCaptures": {
9704
"1": {
9705
"name": "punctuation.separator.delimiter.comma.cpp"
9706
}
9707
},
9708
"patterns": [
9709
{
9710
"include": "#evaluation_context"
9711
}
9712
]
9713
},
9714
{
9715
"match": "\\=",
9716
"name": "keyword.operator.assignment.cpp"
9717
},
9718
{
9719
"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)",
9720
"captures": {
9721
"1": {
9722
"patterns": [
9723
{
9724
"include": "#inline_comment"
9725
}
9726
]
9727
},
9728
"2": {
9729
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9730
},
9731
"3": {
9732
"name": "comment.block.cpp"
9733
},
9734
"4": {
9735
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9736
},
9737
"5": {
9738
"name": "variable.parameter.cpp"
9739
},
9740
"6": {
9741
"patterns": [
9742
{
9743
"include": "#inline_comment"
9744
}
9745
]
9746
},
9747
"7": {
9748
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9749
},
9750
"8": {
9751
"name": "comment.block.cpp"
9752
},
9753
"9": {
9754
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9755
}
9756
}
9757
},
9758
{
9759
"include": "#attributes_context"
9760
},
9761
{
9762
"begin": "\\[",
9763
"end": "\\]|(?=\\\\end\\{(?:minted|cppcode)\\})",
9764
"beginCaptures": {
9765
"0": {
9766
"name": "punctuation.definition.begin.bracket.square.array.type.cpp"
9767
}
9768
},
9769
"endCaptures": {
9770
"0": {
9771
"name": "punctuation.definition.end.bracket.square.array.type.cpp"
9772
}
9773
},
9774
"name": "meta.bracket.square.array.cpp",
9775
"patterns": [
9776
{
9777
"include": "#evaluation_context"
9778
}
9779
]
9780
},
9781
{
9782
"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)",
9783
"name": "entity.name.type.parameter.cpp"
9784
},
9785
{
9786
"include": "#template_call_range_helper"
9787
},
9788
{
9789
"match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)",
9790
"captures": {
9791
"0": {
9792
"patterns": [
9793
{
9794
"match": "\\*",
9795
"name": "storage.modifier.pointer.cpp"
9796
},
9797
{
9798
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9799
"captures": {
9800
"1": {
9801
"patterns": [
9802
{
9803
"include": "#inline_comment"
9804
}
9805
]
9806
},
9807
"2": {
9808
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9809
},
9810
"3": {
9811
"name": "comment.block.cpp"
9812
},
9813
"4": {
9814
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9815
}
9816
},
9817
"name": "invalid.illegal.reference-type.cpp"
9818
},
9819
{
9820
"match": "\\&",
9821
"name": "storage.modifier.reference.cpp"
9822
}
9823
]
9824
},
9825
"1": {
9826
"patterns": [
9827
{
9828
"include": "#inline_comment"
9829
}
9830
]
9831
},
9832
"2": {
9833
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9834
},
9835
"3": {
9836
"name": "comment.block.cpp"
9837
},
9838
"4": {
9839
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9840
},
9841
"5": {
9842
"patterns": [
9843
{
9844
"include": "#inline_comment"
9845
}
9846
]
9847
},
9848
"6": {
9849
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9850
},
9851
"7": {
9852
"name": "comment.block.cpp"
9853
},
9854
"8": {
9855
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9856
}
9857
}
9858
},
9859
{
9860
"include": "#ever_present_context"
9861
}
9862
]
9863
},
9864
"parameter_class": {
9865
"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)",
9866
"captures": {
9867
"1": {
9868
"name": "storage.type.class.parameter.cpp"
9869
},
9870
"2": {
9871
"patterns": [
9872
{
9873
"include": "#inline_comment"
9874
}
9875
]
9876
},
9877
"3": {
9878
"patterns": [
9879
{
9880
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9881
"captures": {
9882
"1": {
9883
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9884
},
9885
"2": {
9886
"name": "comment.block.cpp"
9887
},
9888
"3": {
9889
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9890
}
9891
}
9892
}
9893
]
9894
},
9895
"4": {
9896
"name": "entity.name.type.class.parameter.cpp"
9897
},
9898
"5": {
9899
"patterns": [
9900
{
9901
"include": "#inline_comment"
9902
}
9903
]
9904
},
9905
"6": {
9906
"patterns": [
9907
{
9908
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9909
"captures": {
9910
"1": {
9911
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9912
},
9913
"2": {
9914
"name": "comment.block.cpp"
9915
},
9916
"3": {
9917
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9918
}
9919
}
9920
}
9921
]
9922
},
9923
"7": {
9924
"patterns": [
9925
{
9926
"match": "\\*",
9927
"name": "storage.modifier.pointer.cpp"
9928
},
9929
{
9930
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9931
"captures": {
9932
"1": {
9933
"patterns": [
9934
{
9935
"include": "#inline_comment"
9936
}
9937
]
9938
},
9939
"2": {
9940
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9941
},
9942
"3": {
9943
"name": "comment.block.cpp"
9944
},
9945
"4": {
9946
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9947
}
9948
},
9949
"name": "invalid.illegal.reference-type.cpp"
9950
},
9951
{
9952
"match": "\\&",
9953
"name": "storage.modifier.reference.cpp"
9954
}
9955
]
9956
},
9957
"8": {
9958
"patterns": [
9959
{
9960
"include": "#inline_comment"
9961
}
9962
]
9963
},
9964
"9": {
9965
"patterns": [
9966
{
9967
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9968
"captures": {
9969
"1": {
9970
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9971
},
9972
"2": {
9973
"name": "comment.block.cpp"
9974
},
9975
"3": {
9976
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9977
}
9978
}
9979
}
9980
]
9981
},
9982
"10": {
9983
"patterns": [
9984
{
9985
"include": "#inline_comment"
9986
}
9987
]
9988
},
9989
"11": {
9990
"patterns": [
9991
{
9992
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9993
"captures": {
9994
"1": {
9995
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9996
},
9997
"2": {
9998
"name": "comment.block.cpp"
9999
},
10000
"3": {
10001
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10002
}
10003
}
10004
}
10005
]
10006
},
10007
"12": {
10008
"patterns": [
10009
{
10010
"include": "#inline_comment"
10011
}
10012
]
10013
},
10014
"13": {
10015
"patterns": [
10016
{
10017
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10018
"captures": {
10019
"1": {
10020
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10021
},
10022
"2": {
10023
"name": "comment.block.cpp"
10024
},
10025
"3": {
10026
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10027
}
10028
}
10029
}
10030
]
10031
},
10032
"14": {
10033
"name": "variable.other.object.declare.cpp"
10034
},
10035
"15": {
10036
"patterns": [
10037
{
10038
"include": "#inline_comment"
10039
}
10040
]
10041
},
10042
"16": {
10043
"patterns": [
10044
{
10045
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10046
"captures": {
10047
"1": {
10048
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10049
},
10050
"2": {
10051
"name": "comment.block.cpp"
10052
},
10053
"3": {
10054
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10055
}
10056
}
10057
}
10058
]
10059
},
10060
"17": {
10061
"patterns": [
10062
{
10063
"include": "#inline_comment"
10064
}
10065
]
10066
},
10067
"18": {
10068
"patterns": [
10069
{
10070
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10071
"captures": {
10072
"1": {
10073
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10074
},
10075
"2": {
10076
"name": "comment.block.cpp"
10077
},
10078
"3": {
10079
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10080
}
10081
}
10082
}
10083
]
10084
},
10085
"19": {
10086
"patterns": [
10087
{
10088
"include": "#inline_comment"
10089
}
10090
]
10091
},
10092
"20": {
10093
"patterns": [
10094
{
10095
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10096
"captures": {
10097
"1": {
10098
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10099
},
10100
"2": {
10101
"name": "comment.block.cpp"
10102
},
10103
"3": {
10104
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10105
}
10106
}
10107
}
10108
]
10109
}
10110
}
10111
},
10112
"parameter_enum": {
10113
"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)",
10114
"captures": {
10115
"1": {
10116
"name": "storage.type.enum.parameter.cpp"
10117
},
10118
"2": {
10119
"patterns": [
10120
{
10121
"include": "#inline_comment"
10122
}
10123
]
10124
},
10125
"3": {
10126
"patterns": [
10127
{
10128
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10129
"captures": {
10130
"1": {
10131
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10132
},
10133
"2": {
10134
"name": "comment.block.cpp"
10135
},
10136
"3": {
10137
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10138
}
10139
}
10140
}
10141
]
10142
},
10143
"4": {
10144
"name": "entity.name.type.enum.parameter.cpp"
10145
},
10146
"5": {
10147
"patterns": [
10148
{
10149
"include": "#inline_comment"
10150
}
10151
]
10152
},
10153
"6": {
10154
"patterns": [
10155
{
10156
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10157
"captures": {
10158
"1": {
10159
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10160
},
10161
"2": {
10162
"name": "comment.block.cpp"
10163
},
10164
"3": {
10165
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10166
}
10167
}
10168
}
10169
]
10170
},
10171
"7": {
10172
"patterns": [
10173
{
10174
"match": "\\*",
10175
"name": "storage.modifier.pointer.cpp"
10176
},
10177
{
10178
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
10179
"captures": {
10180
"1": {
10181
"patterns": [
10182
{
10183
"include": "#inline_comment"
10184
}
10185
]
10186
},
10187
"2": {
10188
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10189
},
10190
"3": {
10191
"name": "comment.block.cpp"
10192
},
10193
"4": {
10194
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10195
}
10196
},
10197
"name": "invalid.illegal.reference-type.cpp"
10198
},
10199
{
10200
"match": "\\&",
10201
"name": "storage.modifier.reference.cpp"
10202
}
10203
]
10204
},
10205
"8": {
10206
"patterns": [
10207
{
10208
"include": "#inline_comment"
10209
}
10210
]
10211
},
10212
"9": {
10213
"patterns": [
10214
{
10215
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10216
"captures": {
10217
"1": {
10218
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10219
},
10220
"2": {
10221
"name": "comment.block.cpp"
10222
},
10223
"3": {
10224
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10225
}
10226
}
10227
}
10228
]
10229
},
10230
"10": {
10231
"patterns": [
10232
{
10233
"include": "#inline_comment"
10234
}
10235
]
10236
},
10237
"11": {
10238
"patterns": [
10239
{
10240
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10241
"captures": {
10242
"1": {
10243
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10244
},
10245
"2": {
10246
"name": "comment.block.cpp"
10247
},
10248
"3": {
10249
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10250
}
10251
}
10252
}
10253
]
10254
},
10255
"12": {
10256
"patterns": [
10257
{
10258
"include": "#inline_comment"
10259
}
10260
]
10261
},
10262
"13": {
10263
"patterns": [
10264
{
10265
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10266
"captures": {
10267
"1": {
10268
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10269
},
10270
"2": {
10271
"name": "comment.block.cpp"
10272
},
10273
"3": {
10274
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10275
}
10276
}
10277
}
10278
]
10279
},
10280
"14": {
10281
"name": "variable.other.object.declare.cpp"
10282
},
10283
"15": {
10284
"patterns": [
10285
{
10286
"include": "#inline_comment"
10287
}
10288
]
10289
},
10290
"16": {
10291
"patterns": [
10292
{
10293
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10294
"captures": {
10295
"1": {
10296
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10297
},
10298
"2": {
10299
"name": "comment.block.cpp"
10300
},
10301
"3": {
10302
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10303
}
10304
}
10305
}
10306
]
10307
},
10308
"17": {
10309
"patterns": [
10310
{
10311
"include": "#inline_comment"
10312
}
10313
]
10314
},
10315
"18": {
10316
"patterns": [
10317
{
10318
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10319
"captures": {
10320
"1": {
10321
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10322
},
10323
"2": {
10324
"name": "comment.block.cpp"
10325
},
10326
"3": {
10327
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10328
}
10329
}
10330
}
10331
]
10332
},
10333
"19": {
10334
"patterns": [
10335
{
10336
"include": "#inline_comment"
10337
}
10338
]
10339
},
10340
"20": {
10341
"patterns": [
10342
{
10343
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10344
"captures": {
10345
"1": {
10346
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10347
},
10348
"2": {
10349
"name": "comment.block.cpp"
10350
},
10351
"3": {
10352
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10353
}
10354
}
10355
}
10356
]
10357
}
10358
}
10359
},
10360
"parameter_or_maybe_value": {
10361
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)",
10362
"end": "(?:(?=\\))|(,))|(?=\\\\end\\{(?:minted|cppcode)\\})",
10363
"beginCaptures": {
10364
"1": {
10365
"patterns": [
10366
{
10367
"include": "#inline_comment"
10368
}
10369
]
10370
},
10371
"2": {
10372
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10373
},
10374
"3": {
10375
"name": "comment.block.cpp"
10376
},
10377
"4": {
10378
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10379
}
10380
},
10381
"endCaptures": {
10382
"1": {
10383
"name": "punctuation.separator.delimiter.comma.cpp"
10384
}
10385
},
10386
"name": "meta.parameter.cpp",
10387
"patterns": [
10388
{
10389
"include": "#ever_present_context"
10390
},
10391
{
10392
"include": "#function_pointer_parameter"
10393
},
10394
{
10395
"include": "#memory_operators"
10396
},
10397
{
10398
"include": "#builtin_storage_type_initilizer"
10399
},
10400
{
10401
"include": "#curly_initializer"
10402
},
10403
{
10404
"include": "#decltype"
10405
},
10406
{
10407
"include": "#vararg_ellipses"
10408
},
10409
{
10410
"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))(?=,|\\)|=)",
10411
"captures": {
10412
"1": {
10413
"patterns": [
10414
{
10415
"include": "#storage_types"
10416
}
10417
]
10418
},
10419
"2": {
10420
"name": "storage.modifier.specifier.parameter.cpp"
10421
},
10422
"3": {
10423
"patterns": [
10424
{
10425
"include": "#inline_comment"
10426
}
10427
]
10428
},
10429
"4": {
10430
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10431
},
10432
"5": {
10433
"name": "comment.block.cpp"
10434
},
10435
"6": {
10436
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10437
},
10438
"7": {
10439
"patterns": [
10440
{
10441
"include": "#inline_comment"
10442
}
10443
]
10444
},
10445
"8": {
10446
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10447
},
10448
"9": {
10449
"name": "comment.block.cpp"
10450
},
10451
"10": {
10452
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10453
},
10454
"11": {
10455
"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
10456
},
10457
"12": {
10458
"name": "storage.type.cpp storage.type.built-in.cpp"
10459
},
10460
"13": {
10461
"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
10462
},
10463
"14": {
10464
"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
10465
},
10466
"15": {
10467
"name": "entity.name.type.parameter.cpp"
10468
},
10469
"16": {
10470
"patterns": [
10471
{
10472
"include": "#inline_comment"
10473
}
10474
]
10475
},
10476
"17": {
10477
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10478
},
10479
"18": {
10480
"name": "comment.block.cpp"
10481
},
10482
"19": {
10483
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10484
}
10485
}
10486
},
10487
{
10488
"include": "#storage_types"
10489
},
10490
{
10491
"include": "#function_call"
10492
},
10493
{
10494
"include": "#scope_resolution_parameter_inner_generated"
10495
},
10496
{
10497
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
10498
"name": "storage.type.$0.cpp"
10499
},
10500
{
10501
"begin": "(?<==)",
10502
"end": "(?:(?=\\))|(,))|(?=\\\\end\\{(?:minted|cppcode)\\})",
10503
"beginCaptures": {},
10504
"endCaptures": {
10505
"1": {
10506
"name": "punctuation.separator.delimiter.comma.cpp"
10507
}
10508
},
10509
"patterns": [
10510
{
10511
"include": "#evaluation_context"
10512
}
10513
]
10514
},
10515
{
10516
"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|$)))",
10517
"captures": {
10518
"1": {
10519
"patterns": [
10520
{
10521
"include": "#inline_comment"
10522
}
10523
]
10524
},
10525
"2": {
10526
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10527
},
10528
"3": {
10529
"name": "comment.block.cpp"
10530
},
10531
"4": {
10532
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10533
},
10534
"5": {
10535
"name": "variable.parameter.cpp"
10536
},
10537
"6": {
10538
"patterns": [
10539
{
10540
"include": "#inline_comment"
10541
}
10542
]
10543
},
10544
"7": {
10545
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10546
},
10547
"8": {
10548
"name": "comment.block.cpp"
10549
},
10550
"9": {
10551
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10552
}
10553
}
10554
},
10555
{
10556
"include": "#attributes_context"
10557
},
10558
{
10559
"begin": "\\[",
10560
"end": "\\]|(?=\\\\end\\{(?:minted|cppcode)\\})",
10561
"beginCaptures": {
10562
"0": {
10563
"name": "punctuation.definition.begin.bracket.square.array.type.cpp"
10564
}
10565
},
10566
"endCaptures": {
10567
"0": {
10568
"name": "punctuation.definition.end.bracket.square.array.type.cpp"
10569
}
10570
},
10571
"name": "meta.bracket.square.array.cpp",
10572
"patterns": [
10573
{
10574
"include": "#evaluation_context"
10575
}
10576
]
10577
},
10578
{
10579
"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)",
10580
"name": "entity.name.type.parameter.cpp"
10581
},
10582
{
10583
"include": "#template_call_range_helper"
10584
},
10585
{
10586
"match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)",
10587
"captures": {
10588
"0": {
10589
"patterns": [
10590
{
10591
"match": "\\*",
10592
"name": "storage.modifier.pointer.cpp"
10593
},
10594
{
10595
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
10596
"captures": {
10597
"1": {
10598
"patterns": [
10599
{
10600
"include": "#inline_comment"
10601
}
10602
]
10603
},
10604
"2": {
10605
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10606
},
10607
"3": {
10608
"name": "comment.block.cpp"
10609
},
10610
"4": {
10611
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10612
}
10613
},
10614
"name": "invalid.illegal.reference-type.cpp"
10615
},
10616
{
10617
"match": "\\&",
10618
"name": "storage.modifier.reference.cpp"
10619
}
10620
]
10621
},
10622
"1": {
10623
"patterns": [
10624
{
10625
"include": "#inline_comment"
10626
}
10627
]
10628
},
10629
"2": {
10630
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10631
},
10632
"3": {
10633
"name": "comment.block.cpp"
10634
},
10635
"4": {
10636
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10637
},
10638
"5": {
10639
"patterns": [
10640
{
10641
"include": "#inline_comment"
10642
}
10643
]
10644
},
10645
"6": {
10646
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10647
},
10648
"7": {
10649
"name": "comment.block.cpp"
10650
},
10651
"8": {
10652
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10653
}
10654
}
10655
},
10656
{
10657
"include": "#evaluation_context"
10658
},
10659
{
10660
"include": "#ever_present_context"
10661
}
10662
]
10663
},
10664
"parameter_struct": {
10665
"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)",
10666
"captures": {
10667
"1": {
10668
"name": "storage.type.struct.parameter.cpp"
10669
},
10670
"2": {
10671
"patterns": [
10672
{
10673
"include": "#inline_comment"
10674
}
10675
]
10676
},
10677
"3": {
10678
"patterns": [
10679
{
10680
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10681
"captures": {
10682
"1": {
10683
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10684
},
10685
"2": {
10686
"name": "comment.block.cpp"
10687
},
10688
"3": {
10689
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10690
}
10691
}
10692
}
10693
]
10694
},
10695
"4": {
10696
"name": "entity.name.type.struct.parameter.cpp"
10697
},
10698
"5": {
10699
"patterns": [
10700
{
10701
"include": "#inline_comment"
10702
}
10703
]
10704
},
10705
"6": {
10706
"patterns": [
10707
{
10708
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10709
"captures": {
10710
"1": {
10711
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10712
},
10713
"2": {
10714
"name": "comment.block.cpp"
10715
},
10716
"3": {
10717
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10718
}
10719
}
10720
}
10721
]
10722
},
10723
"7": {
10724
"patterns": [
10725
{
10726
"match": "\\*",
10727
"name": "storage.modifier.pointer.cpp"
10728
},
10729
{
10730
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
10731
"captures": {
10732
"1": {
10733
"patterns": [
10734
{
10735
"include": "#inline_comment"
10736
}
10737
]
10738
},
10739
"2": {
10740
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10741
},
10742
"3": {
10743
"name": "comment.block.cpp"
10744
},
10745
"4": {
10746
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10747
}
10748
},
10749
"name": "invalid.illegal.reference-type.cpp"
10750
},
10751
{
10752
"match": "\\&",
10753
"name": "storage.modifier.reference.cpp"
10754
}
10755
]
10756
},
10757
"8": {
10758
"patterns": [
10759
{
10760
"include": "#inline_comment"
10761
}
10762
]
10763
},
10764
"9": {
10765
"patterns": [
10766
{
10767
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10768
"captures": {
10769
"1": {
10770
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10771
},
10772
"2": {
10773
"name": "comment.block.cpp"
10774
},
10775
"3": {
10776
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10777
}
10778
}
10779
}
10780
]
10781
},
10782
"10": {
10783
"patterns": [
10784
{
10785
"include": "#inline_comment"
10786
}
10787
]
10788
},
10789
"11": {
10790
"patterns": [
10791
{
10792
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10793
"captures": {
10794
"1": {
10795
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10796
},
10797
"2": {
10798
"name": "comment.block.cpp"
10799
},
10800
"3": {
10801
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10802
}
10803
}
10804
}
10805
]
10806
},
10807
"12": {
10808
"patterns": [
10809
{
10810
"include": "#inline_comment"
10811
}
10812
]
10813
},
10814
"13": {
10815
"patterns": [
10816
{
10817
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10818
"captures": {
10819
"1": {
10820
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10821
},
10822
"2": {
10823
"name": "comment.block.cpp"
10824
},
10825
"3": {
10826
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10827
}
10828
}
10829
}
10830
]
10831
},
10832
"14": {
10833
"name": "variable.other.object.declare.cpp"
10834
},
10835
"15": {
10836
"patterns": [
10837
{
10838
"include": "#inline_comment"
10839
}
10840
]
10841
},
10842
"16": {
10843
"patterns": [
10844
{
10845
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10846
"captures": {
10847
"1": {
10848
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10849
},
10850
"2": {
10851
"name": "comment.block.cpp"
10852
},
10853
"3": {
10854
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10855
}
10856
}
10857
}
10858
]
10859
},
10860
"17": {
10861
"patterns": [
10862
{
10863
"include": "#inline_comment"
10864
}
10865
]
10866
},
10867
"18": {
10868
"patterns": [
10869
{
10870
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10871
"captures": {
10872
"1": {
10873
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10874
},
10875
"2": {
10876
"name": "comment.block.cpp"
10877
},
10878
"3": {
10879
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10880
}
10881
}
10882
}
10883
]
10884
},
10885
"19": {
10886
"patterns": [
10887
{
10888
"include": "#inline_comment"
10889
}
10890
]
10891
},
10892
"20": {
10893
"patterns": [
10894
{
10895
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10896
"captures": {
10897
"1": {
10898
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10899
},
10900
"2": {
10901
"name": "comment.block.cpp"
10902
},
10903
"3": {
10904
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10905
}
10906
}
10907
}
10908
]
10909
}
10910
}
10911
},
10912
"parameter_union": {
10913
"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)",
10914
"captures": {
10915
"1": {
10916
"name": "storage.type.union.parameter.cpp"
10917
},
10918
"2": {
10919
"patterns": [
10920
{
10921
"include": "#inline_comment"
10922
}
10923
]
10924
},
10925
"3": {
10926
"patterns": [
10927
{
10928
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10929
"captures": {
10930
"1": {
10931
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10932
},
10933
"2": {
10934
"name": "comment.block.cpp"
10935
},
10936
"3": {
10937
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10938
}
10939
}
10940
}
10941
]
10942
},
10943
"4": {
10944
"name": "entity.name.type.union.parameter.cpp"
10945
},
10946
"5": {
10947
"patterns": [
10948
{
10949
"include": "#inline_comment"
10950
}
10951
]
10952
},
10953
"6": {
10954
"patterns": [
10955
{
10956
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10957
"captures": {
10958
"1": {
10959
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10960
},
10961
"2": {
10962
"name": "comment.block.cpp"
10963
},
10964
"3": {
10965
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10966
}
10967
}
10968
}
10969
]
10970
},
10971
"7": {
10972
"patterns": [
10973
{
10974
"match": "\\*",
10975
"name": "storage.modifier.pointer.cpp"
10976
},
10977
{
10978
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
10979
"captures": {
10980
"1": {
10981
"patterns": [
10982
{
10983
"include": "#inline_comment"
10984
}
10985
]
10986
},
10987
"2": {
10988
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10989
},
10990
"3": {
10991
"name": "comment.block.cpp"
10992
},
10993
"4": {
10994
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10995
}
10996
},
10997
"name": "invalid.illegal.reference-type.cpp"
10998
},
10999
{
11000
"match": "\\&",
11001
"name": "storage.modifier.reference.cpp"
11002
}
11003
]
11004
},
11005
"8": {
11006
"patterns": [
11007
{
11008
"include": "#inline_comment"
11009
}
11010
]
11011
},
11012
"9": {
11013
"patterns": [
11014
{
11015
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11016
"captures": {
11017
"1": {
11018
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11019
},
11020
"2": {
11021
"name": "comment.block.cpp"
11022
},
11023
"3": {
11024
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11025
}
11026
}
11027
}
11028
]
11029
},
11030
"10": {
11031
"patterns": [
11032
{
11033
"include": "#inline_comment"
11034
}
11035
]
11036
},
11037
"11": {
11038
"patterns": [
11039
{
11040
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11041
"captures": {
11042
"1": {
11043
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11044
},
11045
"2": {
11046
"name": "comment.block.cpp"
11047
},
11048
"3": {
11049
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11050
}
11051
}
11052
}
11053
]
11054
},
11055
"12": {
11056
"patterns": [
11057
{
11058
"include": "#inline_comment"
11059
}
11060
]
11061
},
11062
"13": {
11063
"patterns": [
11064
{
11065
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11066
"captures": {
11067
"1": {
11068
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11069
},
11070
"2": {
11071
"name": "comment.block.cpp"
11072
},
11073
"3": {
11074
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11075
}
11076
}
11077
}
11078
]
11079
},
11080
"14": {
11081
"name": "variable.other.object.declare.cpp"
11082
},
11083
"15": {
11084
"patterns": [
11085
{
11086
"include": "#inline_comment"
11087
}
11088
]
11089
},
11090
"16": {
11091
"patterns": [
11092
{
11093
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11094
"captures": {
11095
"1": {
11096
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11097
},
11098
"2": {
11099
"name": "comment.block.cpp"
11100
},
11101
"3": {
11102
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11103
}
11104
}
11105
}
11106
]
11107
},
11108
"17": {
11109
"patterns": [
11110
{
11111
"include": "#inline_comment"
11112
}
11113
]
11114
},
11115
"18": {
11116
"patterns": [
11117
{
11118
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11119
"captures": {
11120
"1": {
11121
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11122
},
11123
"2": {
11124
"name": "comment.block.cpp"
11125
},
11126
"3": {
11127
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11128
}
11129
}
11130
}
11131
]
11132
},
11133
"19": {
11134
"patterns": [
11135
{
11136
"include": "#inline_comment"
11137
}
11138
]
11139
},
11140
"20": {
11141
"patterns": [
11142
{
11143
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11144
"captures": {
11145
"1": {
11146
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11147
},
11148
"2": {
11149
"name": "comment.block.cpp"
11150
},
11151
"3": {
11152
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11153
}
11154
}
11155
}
11156
]
11157
}
11158
}
11159
},
11160
"parentheses": {
11161
"begin": "\\(",
11162
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
11163
"beginCaptures": {
11164
"0": {
11165
"name": "punctuation.section.parens.begin.bracket.round.cpp"
11166
}
11167
},
11168
"endCaptures": {
11169
"0": {
11170
"name": "punctuation.section.parens.end.bracket.round.cpp"
11171
}
11172
},
11173
"name": "meta.parens.cpp",
11174
"patterns": [
11175
{
11176
"include": "#range_for_inner"
11177
},
11178
{
11179
"include": "#over_qualified_types"
11180
},
11181
{
11182
"match": "(?<!:):(?!:)",
11183
"name": "punctuation.separator.colon.range-based.cpp"
11184
},
11185
{
11186
"include": "#evaluation_context"
11187
}
11188
]
11189
},
11190
"pragma": {
11191
"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?pragma\\b",
11192
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=\\\\end\\{(?:minted|cppcode)\\})",
11193
"beginCaptures": {
11194
"0": {
11195
"name": "keyword.control.directive.pragma.cpp"
11196
},
11197
"1": {
11198
"patterns": [
11199
{
11200
"include": "#inline_comment"
11201
}
11202
]
11203
},
11204
"2": {
11205
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11206
},
11207
"3": {
11208
"name": "comment.block.cpp"
11209
},
11210
"4": {
11211
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11212
},
11213
"5": {
11214
"name": "punctuation.definition.directive.cpp"
11215
}
11216
},
11217
"endCaptures": {},
11218
"name": "meta.preprocessor.pragma.cpp",
11219
"patterns": [
11220
{
11221
"include": "#comments"
11222
},
11223
{
11224
"include": "#string_context"
11225
},
11226
{
11227
"match": "[a-zA-Z_$][\\w\\-$]*",
11228
"name": "entity.other.attribute-name.pragma.preprocessor.cpp"
11229
},
11230
{
11231
"include": "#preprocessor_number_literal"
11232
},
11233
{
11234
"include": "#line_continuation_character"
11235
}
11236
]
11237
},
11238
"pragma_mark": {
11239
"match": "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?pragma\\s+mark)\\s+(.*)",
11240
"captures": {
11241
"1": {
11242
"name": "keyword.control.directive.pragma.pragma-mark.cpp"
11243
},
11244
"2": {
11245
"patterns": [
11246
{
11247
"include": "#inline_comment"
11248
}
11249
]
11250
},
11251
"3": {
11252
"patterns": [
11253
{
11254
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11255
"captures": {
11256
"1": {
11257
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11258
},
11259
"2": {
11260
"name": "comment.block.cpp"
11261
},
11262
"3": {
11263
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11264
}
11265
}
11266
}
11267
]
11268
},
11269
"4": {
11270
"name": "punctuation.definition.directive.cpp"
11271
},
11272
"5": {
11273
"name": "entity.name.tag.pragma-mark.cpp"
11274
}
11275
},
11276
"name": "meta.preprocessor.pragma.cpp"
11277
},
11278
"predefined_macros": {
11279
"patterns": [
11280
{
11281
"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",
11282
"captures": {
11283
"1": {
11284
"name": "entity.name.other.preprocessor.macro.predefined.$1.cpp"
11285
}
11286
}
11287
},
11288
{
11289
"match": "\\b__([A-Z_]+)__\\b",
11290
"name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"
11291
}
11292
]
11293
},
11294
"preprocessor_conditional_context": {
11295
"patterns": [
11296
{
11297
"include": "#preprocessor_conditional_defined"
11298
},
11299
{
11300
"include": "#comments"
11301
},
11302
{
11303
"include": "#language_constants"
11304
},
11305
{
11306
"include": "#string_context"
11307
},
11308
{
11309
"include": "#preprocessor_number_literal"
11310
},
11311
{
11312
"include": "#operators"
11313
},
11314
{
11315
"include": "#predefined_macros"
11316
},
11317
{
11318
"include": "#macro_name"
11319
},
11320
{
11321
"include": "#line_continuation_character"
11322
}
11323
]
11324
},
11325
"preprocessor_conditional_defined": {
11326
"begin": "((?<!\\w)defined(?!\\w))(\\()",
11327
"end": "(?:\\)|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))|(?=\\\\end\\{(?:minted|cppcode)\\})",
11328
"beginCaptures": {
11329
"1": {
11330
"name": "keyword.control.directive.conditional.defined.cpp"
11331
},
11332
"2": {
11333
"name": "punctuation.section.parens.control.defined.cpp"
11334
}
11335
},
11336
"endCaptures": {
11337
"0": {
11338
"name": "punctuation.section.parens.control.defined.cpp"
11339
}
11340
},
11341
"patterns": [
11342
{
11343
"include": "#macro_name"
11344
}
11345
]
11346
},
11347
"preprocessor_conditional_parentheses": {
11348
"begin": "\\(",
11349
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
11350
"beginCaptures": {
11351
"0": {
11352
"name": "punctuation.section.parens.begin.bracket.round.cpp"
11353
}
11354
},
11355
"endCaptures": {
11356
"0": {
11357
"name": "punctuation.section.parens.end.bracket.round.cpp"
11358
}
11359
},
11360
"name": "meta.parens.preprocessor.conditional.cpp"
11361
},
11362
"preprocessor_conditional_range": {
11363
"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:(?:ifndef|ifdef)|if))",
11364
"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=\\\\end\\{(?:minted|cppcode)\\})",
11365
"beginCaptures": {
11366
"0": {
11367
"name": "keyword.control.directive.conditional.$6.cpp"
11368
},
11369
"1": {
11370
"patterns": [
11371
{
11372
"include": "#inline_comment"
11373
}
11374
]
11375
},
11376
"2": {
11377
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11378
},
11379
"3": {
11380
"name": "comment.block.cpp"
11381
},
11382
"4": {
11383
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11384
},
11385
"5": {
11386
"name": "punctuation.definition.directive.cpp"
11387
},
11388
"6": {}
11389
},
11390
"endCaptures": {},
11391
"contentName": "meta.preprocessor.conditional",
11392
"patterns": [
11393
{
11394
"include": "#preprocessor_conditional_context"
11395
}
11396
]
11397
},
11398
"preprocessor_conditional_standalone": {
11399
"match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?<!\\w)(?:endif|else|elif|elifdef|elifndef)(?!\\w))",
11400
"captures": {
11401
"1": {
11402
"patterns": [
11403
{
11404
"include": "#inline_comment"
11405
}
11406
]
11407
},
11408
"2": {
11409
"patterns": [
11410
{
11411
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11412
"captures": {
11413
"1": {
11414
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11415
},
11416
"2": {
11417
"name": "comment.block.cpp"
11418
},
11419
"3": {
11420
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11421
}
11422
}
11423
}
11424
]
11425
},
11426
"3": {
11427
"name": "punctuation.definition.directive.cpp"
11428
}
11429
},
11430
"name": "keyword.control.directive.$4.cpp"
11431
},
11432
"preprocessor_context": {
11433
"patterns": [
11434
{
11435
"include": "#pragma_mark"
11436
},
11437
{
11438
"include": "#pragma"
11439
},
11440
{
11441
"include": "#include"
11442
},
11443
{
11444
"include": "#line"
11445
},
11446
{
11447
"include": "#diagnostic"
11448
},
11449
{
11450
"include": "#undef"
11451
},
11452
{
11453
"include": "#preprocessor_conditional_range"
11454
},
11455
{
11456
"include": "#macro"
11457
},
11458
{
11459
"include": "#preprocessor_conditional_standalone"
11460
},
11461
{
11462
"include": "#macro_argument"
11463
}
11464
]
11465
},
11466
"preprocessor_number_literal": {
11467
"match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
11468
"captures": {
11469
"0": {
11470
"patterns": [
11471
{
11472
"begin": "(?=.)",
11473
"end": "$|(?=\\\\end\\{(?:minted|cppcode)\\})",
11474
"beginCaptures": {},
11475
"endCaptures": {},
11476
"patterns": [
11477
{
11478
"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))?$",
11479
"captures": {
11480
"1": {
11481
"name": "keyword.other.unit.hexadecimal.cpp"
11482
},
11483
"2": {
11484
"name": "constant.numeric.hexadecimal.cpp",
11485
"patterns": [
11486
{
11487
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
11488
"name": "punctuation.separator.constant.numeric.cpp"
11489
}
11490
]
11491
},
11492
"3": {
11493
"name": "punctuation.separator.constant.numeric.cpp"
11494
},
11495
"4": {
11496
"name": "constant.numeric.hexadecimal.cpp"
11497
},
11498
"5": {
11499
"name": "constant.numeric.hexadecimal.cpp",
11500
"patterns": [
11501
{
11502
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
11503
"name": "punctuation.separator.constant.numeric.cpp"
11504
}
11505
]
11506
},
11507
"6": {
11508
"name": "punctuation.separator.constant.numeric.cpp"
11509
},
11510
"7": {
11511
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
11512
},
11513
"8": {
11514
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
11515
},
11516
"9": {
11517
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
11518
},
11519
"10": {
11520
"name": "constant.numeric.exponent.hexadecimal.cpp",
11521
"patterns": [
11522
{
11523
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
11524
"name": "punctuation.separator.constant.numeric.cpp"
11525
}
11526
]
11527
},
11528
"11": {
11529
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
11530
}
11531
}
11532
},
11533
{
11534
"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))?$",
11535
"captures": {
11536
"1": {
11537
"name": "constant.numeric.decimal.cpp",
11538
"patterns": [
11539
{
11540
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
11541
"name": "punctuation.separator.constant.numeric.cpp"
11542
}
11543
]
11544
},
11545
"2": {
11546
"name": "punctuation.separator.constant.numeric.cpp"
11547
},
11548
"3": {
11549
"name": "constant.numeric.decimal.point.cpp"
11550
},
11551
"4": {
11552
"name": "constant.numeric.decimal.cpp",
11553
"patterns": [
11554
{
11555
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
11556
"name": "punctuation.separator.constant.numeric.cpp"
11557
}
11558
]
11559
},
11560
"5": {
11561
"name": "punctuation.separator.constant.numeric.cpp"
11562
},
11563
"6": {
11564
"name": "keyword.other.unit.exponent.decimal.cpp"
11565
},
11566
"7": {
11567
"name": "keyword.operator.plus.exponent.decimal.cpp"
11568
},
11569
"8": {
11570
"name": "keyword.operator.minus.exponent.decimal.cpp"
11571
},
11572
"9": {
11573
"name": "constant.numeric.exponent.decimal.cpp",
11574
"patterns": [
11575
{
11576
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
11577
"name": "punctuation.separator.constant.numeric.cpp"
11578
}
11579
]
11580
},
11581
"10": {
11582
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
11583
}
11584
}
11585
},
11586
{
11587
"match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
11588
"captures": {
11589
"1": {
11590
"name": "keyword.other.unit.binary.cpp"
11591
},
11592
"2": {
11593
"name": "constant.numeric.binary.cpp",
11594
"patterns": [
11595
{
11596
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
11597
"name": "punctuation.separator.constant.numeric.cpp"
11598
}
11599
]
11600
},
11601
"3": {
11602
"name": "punctuation.separator.constant.numeric.cpp"
11603
},
11604
"4": {
11605
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
11606
}
11607
}
11608
},
11609
{
11610
"match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
11611
"captures": {
11612
"1": {
11613
"name": "keyword.other.unit.octal.cpp"
11614
},
11615
"2": {
11616
"name": "constant.numeric.octal.cpp",
11617
"patterns": [
11618
{
11619
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
11620
"name": "punctuation.separator.constant.numeric.cpp"
11621
}
11622
]
11623
},
11624
"3": {
11625
"name": "punctuation.separator.constant.numeric.cpp"
11626
},
11627
"4": {
11628
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
11629
}
11630
}
11631
},
11632
{
11633
"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))?$",
11634
"captures": {
11635
"1": {
11636
"name": "keyword.other.unit.hexadecimal.cpp"
11637
},
11638
"2": {
11639
"name": "constant.numeric.hexadecimal.cpp",
11640
"patterns": [
11641
{
11642
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
11643
"name": "punctuation.separator.constant.numeric.cpp"
11644
}
11645
]
11646
},
11647
"3": {
11648
"name": "punctuation.separator.constant.numeric.cpp"
11649
},
11650
"4": {
11651
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
11652
},
11653
"5": {
11654
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
11655
},
11656
"6": {
11657
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
11658
},
11659
"7": {
11660
"name": "constant.numeric.exponent.hexadecimal.cpp",
11661
"patterns": [
11662
{
11663
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
11664
"name": "punctuation.separator.constant.numeric.cpp"
11665
}
11666
]
11667
},
11668
"8": {
11669
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
11670
}
11671
}
11672
},
11673
{
11674
"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))?$",
11675
"captures": {
11676
"1": {
11677
"name": "constant.numeric.decimal.cpp",
11678
"patterns": [
11679
{
11680
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
11681
"name": "punctuation.separator.constant.numeric.cpp"
11682
}
11683
]
11684
},
11685
"2": {
11686
"name": "punctuation.separator.constant.numeric.cpp"
11687
},
11688
"3": {
11689
"name": "keyword.other.unit.exponent.decimal.cpp"
11690
},
11691
"4": {
11692
"name": "keyword.operator.plus.exponent.decimal.cpp"
11693
},
11694
"5": {
11695
"name": "keyword.operator.minus.exponent.decimal.cpp"
11696
},
11697
"6": {
11698
"name": "constant.numeric.exponent.decimal.cpp",
11699
"patterns": [
11700
{
11701
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
11702
"name": "punctuation.separator.constant.numeric.cpp"
11703
}
11704
]
11705
},
11706
"7": {
11707
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
11708
}
11709
}
11710
},
11711
{
11712
"match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
11713
"name": "invalid.illegal.constant.numeric.cpp"
11714
}
11715
]
11716
}
11717
]
11718
}
11719
}
11720
},
11721
"qualified_type": {
11722
"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<:.])",
11723
"captures": {
11724
"0": {
11725
"patterns": [
11726
{
11727
"match": "::",
11728
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
11729
},
11730
{
11731
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
11732
"name": "storage.type.$0.cpp"
11733
},
11734
{
11735
"include": "#attributes_context"
11736
},
11737
{
11738
"include": "#storage_types"
11739
},
11740
{
11741
"include": "#number_literal"
11742
},
11743
{
11744
"include": "#string_context"
11745
},
11746
{
11747
"include": "#comma"
11748
},
11749
{
11750
"include": "#scope_resolution_inner_generated"
11751
},
11752
{
11753
"include": "#template_call_range_helper"
11754
},
11755
{
11756
"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}))*",
11757
"name": "entity.name.type.cpp"
11758
}
11759
]
11760
},
11761
"1": {
11762
"patterns": [
11763
{
11764
"include": "#attributes_context"
11765
},
11766
{
11767
"include": "#number_literal"
11768
}
11769
]
11770
},
11771
"2": {
11772
"patterns": [
11773
{
11774
"include": "#inline_comment"
11775
}
11776
]
11777
},
11778
"3": {
11779
"patterns": [
11780
{
11781
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11782
"captures": {
11783
"1": {
11784
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11785
},
11786
"2": {
11787
"name": "comment.block.cpp"
11788
},
11789
"3": {
11790
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11791
}
11792
}
11793
}
11794
]
11795
},
11796
"4": {
11797
"patterns": [
11798
{
11799
"include": "#inline_comment"
11800
}
11801
]
11802
},
11803
"5": {
11804
"patterns": [
11805
{
11806
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11807
"captures": {
11808
"1": {
11809
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11810
},
11811
"2": {
11812
"name": "comment.block.cpp"
11813
},
11814
"3": {
11815
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11816
}
11817
}
11818
}
11819
]
11820
},
11821
"6": {
11822
"patterns": [
11823
{
11824
"match": "::",
11825
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
11826
},
11827
{
11828
"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)",
11829
"name": "entity.name.scope-resolution.type.cpp"
11830
},
11831
{
11832
"include": "#template_call_range_helper"
11833
}
11834
]
11835
},
11836
"7": {
11837
"patterns": [
11838
{
11839
"include": "#template_call_range_helper"
11840
}
11841
]
11842
},
11843
"9": {
11844
"patterns": [
11845
{
11846
"include": "#inline_comment"
11847
}
11848
]
11849
},
11850
"10": {
11851
"patterns": [
11852
{
11853
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11854
"captures": {
11855
"1": {
11856
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11857
},
11858
"2": {
11859
"name": "comment.block.cpp"
11860
},
11861
"3": {
11862
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11863
}
11864
}
11865
}
11866
]
11867
}
11868
},
11869
"name": "meta.qualified-type.cpp"
11870
},
11871
"qualifiers_and_specifiers_post_parameters": {
11872
"patterns": [
11873
{
11874
"begin": "((?<!\\w)requires(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
11875
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
11876
"beginCaptures": {
11877
"1": {
11878
"name": "keyword.other.functionlike.cpp keyword.other.requires.cpp"
11879
},
11880
"2": {
11881
"patterns": [
11882
{
11883
"include": "#inline_comment"
11884
}
11885
]
11886
},
11887
"3": {
11888
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11889
},
11890
"4": {
11891
"name": "comment.block.cpp"
11892
},
11893
"5": {
11894
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11895
},
11896
"6": {
11897
"name": "punctuation.section.arguments.begin.bracket.round.requires.cpp"
11898
}
11899
},
11900
"endCaptures": {
11901
"0": {
11902
"name": "punctuation.section.arguments.end.bracket.round.requires.cpp"
11903
}
11904
},
11905
"contentName": "meta.arguments.requires",
11906
"patterns": [
11907
{
11908
"include": "#evaluation_context"
11909
}
11910
]
11911
},
11912
{
11913
"match": "((?:(?:(?:(?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:override|volatile|noexcept|final|const)(?!\\w))+)(?=\\s*(?:\\{|;|\\n|\\r|=))",
11914
"captures": {
11915
"1": {
11916
"patterns": [
11917
{
11918
"match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:override|volatile|noexcept|final|const)(?!\\w))",
11919
"captures": {
11920
"1": {
11921
"patterns": [
11922
{
11923
"include": "#inline_comment"
11924
}
11925
]
11926
},
11927
"2": {
11928
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11929
},
11930
"3": {
11931
"name": "comment.block.cpp"
11932
},
11933
"4": {
11934
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11935
},
11936
"5": {
11937
"name": "storage.modifier.specifier.functional.post-parameters.$5.cpp"
11938
}
11939
}
11940
}
11941
]
11942
}
11943
}
11944
}
11945
]
11946
},
11947
"qualifiers_and_specifiers_post_parameters_inline": {
11948
"match": "((?:(?:(?:(?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:override|volatile|noexcept|final|const)(?!\\w))+)(?=\\s*(?:\\{|;|\\n|\\r|=))",
11949
"captures": {
11950
"1": {
11951
"patterns": [
11952
{
11953
"match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:override|volatile|noexcept|final|const)(?!\\w))",
11954
"captures": {
11955
"1": {
11956
"patterns": [
11957
{
11958
"include": "#inline_comment"
11959
}
11960
]
11961
},
11962
"2": {
11963
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11964
},
11965
"3": {
11966
"name": "comment.block.cpp"
11967
},
11968
"4": {
11969
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11970
},
11971
"5": {
11972
"name": "storage.modifier.specifier.functional.post-parameters.$5.cpp"
11973
}
11974
}
11975
}
11976
]
11977
}
11978
}
11979
},
11980
"range_for_inner": {
11981
"begin": "(?<=\\Wfor \\(|^for \\(|\\Wfor\\(|^for\\()",
11982
"end": "(?=\\))|(?=\\\\end\\{(?:minted|cppcode)\\})",
11983
"beginCaptures": {},
11984
"endCaptures": {},
11985
"name": "meta.parens.control.for.cpp",
11986
"patterns": [
11987
{
11988
"match": "((?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\w)\\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<27>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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<27>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[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))(:)(?!:)",
11989
"captures": {
11990
"1": {
11991
"name": "meta.type.cpp"
11992
},
11993
"2": {
11994
"patterns": [
11995
{
11996
"include": "#storage_specifiers"
11997
}
11998
]
11999
},
12000
"3": {
12001
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12002
},
12003
"4": {
12004
"name": "comment.block.cpp"
12005
},
12006
"5": {
12007
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12008
},
12009
"6": {
12010
"patterns": [
12011
{
12012
"include": "#inline_comment"
12013
}
12014
]
12015
},
12016
"7": {
12017
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12018
},
12019
"8": {
12020
"name": "comment.block.cpp"
12021
},
12022
"9": {
12023
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12024
},
12025
"10": {
12026
"name": "meta.qualified-type.cpp",
12027
"patterns": [
12028
{
12029
"match": "::",
12030
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
12031
},
12032
{
12033
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
12034
"name": "storage.type.$0.cpp"
12035
},
12036
{
12037
"include": "#attributes_context"
12038
},
12039
{
12040
"include": "#storage_types"
12041
},
12042
{
12043
"include": "#number_literal"
12044
},
12045
{
12046
"include": "#string_context"
12047
},
12048
{
12049
"include": "#comma"
12050
},
12051
{
12052
"include": "#scope_resolution_inner_generated"
12053
},
12054
{
12055
"include": "#template_call_range_helper"
12056
},
12057
{
12058
"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}))*",
12059
"name": "entity.name.type.cpp"
12060
}
12061
]
12062
},
12063
"11": {
12064
"patterns": [
12065
{
12066
"include": "#attributes_context"
12067
},
12068
{
12069
"include": "#number_literal"
12070
}
12071
]
12072
},
12073
"12": {
12074
"patterns": [
12075
{
12076
"include": "#inline_comment"
12077
}
12078
]
12079
},
12080
"13": {
12081
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12082
},
12083
"14": {
12084
"name": "comment.block.cpp"
12085
},
12086
"15": {
12087
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12088
},
12089
"16": {
12090
"patterns": [
12091
{
12092
"include": "#inline_comment"
12093
}
12094
]
12095
},
12096
"17": {
12097
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12098
},
12099
"18": {
12100
"name": "comment.block.cpp"
12101
},
12102
"19": {
12103
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12104
},
12105
"20": {
12106
"patterns": [
12107
{
12108
"match": "::",
12109
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
12110
},
12111
{
12112
"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)",
12113
"name": "entity.name.scope-resolution.type.cpp"
12114
},
12115
{
12116
"include": "#template_call_range_helper"
12117
}
12118
]
12119
},
12120
"21": {
12121
"patterns": [
12122
{
12123
"include": "#template_call_range_helper"
12124
}
12125
]
12126
},
12127
"22": {},
12128
"23": {
12129
"patterns": [
12130
{
12131
"include": "#inline_comment"
12132
}
12133
]
12134
},
12135
"24": {
12136
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12137
},
12138
"25": {
12139
"name": "comment.block.cpp"
12140
},
12141
"26": {
12142
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12143
},
12144
"27": {},
12145
"28": {
12146
"patterns": [
12147
{
12148
"match": "\\*",
12149
"name": "storage.modifier.pointer.cpp"
12150
},
12151
{
12152
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
12153
"captures": {
12154
"1": {
12155
"patterns": [
12156
{
12157
"include": "#inline_comment"
12158
}
12159
]
12160
},
12161
"2": {
12162
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12163
},
12164
"3": {
12165
"name": "comment.block.cpp"
12166
},
12167
"4": {
12168
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12169
}
12170
},
12171
"name": "invalid.illegal.reference-type.cpp"
12172
},
12173
{
12174
"match": "\\&",
12175
"name": "storage.modifier.reference.cpp"
12176
}
12177
]
12178
},
12179
"29": {
12180
"patterns": [
12181
{
12182
"include": "#inline_comment"
12183
}
12184
]
12185
},
12186
"30": {
12187
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12188
},
12189
"31": {
12190
"name": "comment.block.cpp"
12191
},
12192
"32": {
12193
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12194
},
12195
"33": {
12196
"patterns": [
12197
{
12198
"include": "#inline_comment"
12199
}
12200
]
12201
},
12202
"34": {
12203
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12204
},
12205
"35": {
12206
"name": "comment.block.cpp"
12207
},
12208
"36": {
12209
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12210
},
12211
"37": {
12212
"patterns": [
12213
{
12214
"include": "#inline_comment"
12215
}
12216
]
12217
},
12218
"38": {
12219
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12220
},
12221
"39": {
12222
"name": "comment.block.cpp"
12223
},
12224
"40": {
12225
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12226
},
12227
"41": {
12228
"name": "variable.other.object.declare.for.cpp"
12229
},
12230
"42": {
12231
"patterns": [
12232
{
12233
"include": "#inline_comment"
12234
}
12235
]
12236
},
12237
"43": {
12238
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12239
},
12240
"44": {
12241
"name": "comment.block.cpp"
12242
},
12243
"45": {
12244
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12245
},
12246
"46": {
12247
"name": "punctuation.separator.colon.range-based.cpp"
12248
}
12249
}
12250
},
12251
{
12252
"match": "((?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\w)\\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<27>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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<27>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[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))(,)((?:(?:(?:\\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))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)",
12253
"captures": {
12254
"1": {
12255
"name": "meta.type.cpp"
12256
},
12257
"2": {
12258
"patterns": [
12259
{
12260
"include": "#storage_specifiers"
12261
}
12262
]
12263
},
12264
"3": {
12265
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12266
},
12267
"4": {
12268
"name": "comment.block.cpp"
12269
},
12270
"5": {
12271
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12272
},
12273
"6": {
12274
"patterns": [
12275
{
12276
"include": "#inline_comment"
12277
}
12278
]
12279
},
12280
"7": {
12281
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12282
},
12283
"8": {
12284
"name": "comment.block.cpp"
12285
},
12286
"9": {
12287
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12288
},
12289
"10": {
12290
"name": "meta.qualified-type.cpp",
12291
"patterns": [
12292
{
12293
"match": "::",
12294
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
12295
},
12296
{
12297
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
12298
"name": "storage.type.$0.cpp"
12299
},
12300
{
12301
"include": "#attributes_context"
12302
},
12303
{
12304
"include": "#storage_types"
12305
},
12306
{
12307
"include": "#number_literal"
12308
},
12309
{
12310
"include": "#string_context"
12311
},
12312
{
12313
"include": "#comma"
12314
},
12315
{
12316
"include": "#scope_resolution_inner_generated"
12317
},
12318
{
12319
"include": "#template_call_range_helper"
12320
},
12321
{
12322
"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}))*",
12323
"name": "entity.name.type.cpp"
12324
}
12325
]
12326
},
12327
"11": {
12328
"patterns": [
12329
{
12330
"include": "#attributes_context"
12331
},
12332
{
12333
"include": "#number_literal"
12334
}
12335
]
12336
},
12337
"12": {
12338
"patterns": [
12339
{
12340
"include": "#inline_comment"
12341
}
12342
]
12343
},
12344
"13": {
12345
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12346
},
12347
"14": {
12348
"name": "comment.block.cpp"
12349
},
12350
"15": {
12351
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12352
},
12353
"16": {
12354
"patterns": [
12355
{
12356
"include": "#inline_comment"
12357
}
12358
]
12359
},
12360
"17": {
12361
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12362
},
12363
"18": {
12364
"name": "comment.block.cpp"
12365
},
12366
"19": {
12367
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12368
},
12369
"20": {
12370
"patterns": [
12371
{
12372
"match": "::",
12373
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
12374
},
12375
{
12376
"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)",
12377
"name": "entity.name.scope-resolution.type.cpp"
12378
},
12379
{
12380
"include": "#template_call_range_helper"
12381
}
12382
]
12383
},
12384
"21": {
12385
"patterns": [
12386
{
12387
"include": "#template_call_range_helper"
12388
}
12389
]
12390
},
12391
"23": {
12392
"patterns": [
12393
{
12394
"include": "#inline_comment"
12395
}
12396
]
12397
},
12398
"24": {
12399
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12400
},
12401
"25": {
12402
"name": "comment.block.cpp"
12403
},
12404
"26": {
12405
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12406
},
12407
"28": {
12408
"patterns": [
12409
{
12410
"match": "\\*",
12411
"name": "storage.modifier.pointer.cpp"
12412
},
12413
{
12414
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
12415
"captures": {
12416
"1": {
12417
"patterns": [
12418
{
12419
"include": "#inline_comment"
12420
}
12421
]
12422
},
12423
"2": {
12424
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12425
},
12426
"3": {
12427
"name": "comment.block.cpp"
12428
},
12429
"4": {
12430
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12431
}
12432
},
12433
"name": "invalid.illegal.reference-type.cpp"
12434
},
12435
{
12436
"match": "\\&",
12437
"name": "storage.modifier.reference.cpp"
12438
}
12439
]
12440
},
12441
"29": {
12442
"patterns": [
12443
{
12444
"include": "#inline_comment"
12445
}
12446
]
12447
},
12448
"30": {
12449
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12450
},
12451
"31": {
12452
"name": "comment.block.cpp"
12453
},
12454
"32": {
12455
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12456
},
12457
"33": {
12458
"patterns": [
12459
{
12460
"include": "#inline_comment"
12461
}
12462
]
12463
},
12464
"34": {
12465
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12466
},
12467
"35": {
12468
"name": "comment.block.cpp"
12469
},
12470
"36": {
12471
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12472
},
12473
"37": {
12474
"patterns": [
12475
{
12476
"include": "#inline_comment"
12477
}
12478
]
12479
},
12480
"38": {
12481
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12482
},
12483
"39": {
12484
"name": "comment.block.cpp"
12485
},
12486
"40": {
12487
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12488
},
12489
"41": {
12490
"name": "punctuation.definition.begin.bracket.square.binding.cpp"
12491
},
12492
"42": {
12493
"patterns": [
12494
{
12495
"include": "#inline_comment"
12496
}
12497
]
12498
},
12499
"43": {
12500
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12501
},
12502
"44": {
12503
"name": "comment.block.cpp"
12504
},
12505
"45": {
12506
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12507
},
12508
"46": {
12509
"name": "variable.other.for.cpp"
12510
},
12511
"47": {
12512
"patterns": [
12513
{
12514
"include": "#inline_comment"
12515
}
12516
]
12517
},
12518
"48": {
12519
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12520
},
12521
"49": {
12522
"name": "comment.block.cpp"
12523
},
12524
"50": {
12525
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12526
},
12527
"51": {
12528
"name": "punctuation.separator.delimiter.comma.cpp"
12529
},
12530
"52": {
12531
"patterns": [
12532
{
12533
"include": "#inline_comment"
12534
}
12535
]
12536
},
12537
"53": {
12538
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12539
},
12540
"54": {
12541
"name": "comment.block.cpp"
12542
},
12543
"55": {
12544
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12545
},
12546
"56": {
12547
"name": "variable.other.for.cpp"
12548
},
12549
"57": {
12550
"patterns": [
12551
{
12552
"include": "#inline_comment"
12553
}
12554
]
12555
},
12556
"58": {
12557
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12558
},
12559
"59": {
12560
"name": "comment.block.cpp"
12561
},
12562
"60": {
12563
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12564
},
12565
"61": {
12566
"name": "punctuation.definition.end.bracket.square.binding.cpp"
12567
},
12568
"62": {
12569
"patterns": [
12570
{
12571
"include": "#inline_comment"
12572
}
12573
]
12574
},
12575
"63": {
12576
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12577
},
12578
"64": {
12579
"name": "comment.block.cpp"
12580
},
12581
"65": {
12582
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12583
},
12584
"66": {
12585
"name": "punctuation.separator.colon.range-based.cpp"
12586
}
12587
},
12588
"name": "meta.binding.cpp"
12589
},
12590
{
12591
"include": "#evaluation_context"
12592
}
12593
]
12594
},
12595
"requires_keyword": {
12596
"begin": "((?<!\\w)requires(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
12597
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
12598
"beginCaptures": {
12599
"1": {
12600
"name": "keyword.other.functionlike.cpp keyword.other.requires.cpp"
12601
},
12602
"2": {
12603
"patterns": [
12604
{
12605
"include": "#inline_comment"
12606
}
12607
]
12608
},
12609
"3": {
12610
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12611
},
12612
"4": {
12613
"name": "comment.block.cpp"
12614
},
12615
"5": {
12616
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12617
},
12618
"6": {
12619
"name": "punctuation.section.arguments.begin.bracket.round.requires.cpp"
12620
}
12621
},
12622
"endCaptures": {
12623
"0": {
12624
"name": "punctuation.section.arguments.end.bracket.round.requires.cpp"
12625
}
12626
},
12627
"contentName": "meta.arguments.requires",
12628
"patterns": [
12629
{
12630
"include": "#evaluation_context"
12631
}
12632
]
12633
},
12634
"scope_resolution": {
12635
"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*+",
12636
"captures": {
12637
"0": {
12638
"patterns": [
12639
{
12640
"include": "#scope_resolution_inner_generated"
12641
}
12642
]
12643
},
12644
"1": {
12645
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
12646
},
12647
"2": {
12648
"patterns": [
12649
{
12650
"include": "#template_call_range_helper"
12651
}
12652
]
12653
}
12654
}
12655
},
12656
"scope_resolution_function_call": {
12657
"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*+",
12658
"captures": {
12659
"0": {
12660
"patterns": [
12661
{
12662
"include": "#scope_resolution_function_call_inner_generated"
12663
}
12664
]
12665
},
12666
"1": {
12667
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
12668
},
12669
"2": {
12670
"patterns": [
12671
{
12672
"include": "#template_call_range_helper"
12673
}
12674
]
12675
}
12676
}
12677
},
12678
"scope_resolution_function_call_inner_generated": {
12679
"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*+)?(::)",
12680
"captures": {
12681
"1": {
12682
"patterns": [
12683
{
12684
"include": "#scope_resolution_function_call_inner_generated"
12685
}
12686
]
12687
},
12688
"2": {
12689
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
12690
},
12691
"3": {
12692
"patterns": [
12693
{
12694
"include": "#template_call_range_helper"
12695
}
12696
]
12697
},
12698
"4": {},
12699
"5": {
12700
"name": "entity.name.scope-resolution.function.call.cpp"
12701
},
12702
"6": {
12703
"name": "meta.template.call.cpp",
12704
"patterns": [
12705
{
12706
"include": "#template_call_range_helper"
12707
}
12708
]
12709
},
12710
"7": {},
12711
"8": {
12712
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12713
},
12714
"9": {
12715
"name": "comment.block.cpp"
12716
},
12717
"10": {
12718
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12719
},
12720
"11": {
12721
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
12722
}
12723
}
12724
},
12725
"scope_resolution_function_definition": {
12726
"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*+",
12727
"captures": {
12728
"0": {
12729
"patterns": [
12730
{
12731
"include": "#scope_resolution_function_definition_inner_generated"
12732
}
12733
]
12734
},
12735
"1": {
12736
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
12737
},
12738
"2": {
12739
"patterns": [
12740
{
12741
"include": "#template_call_range_helper"
12742
}
12743
]
12744
}
12745
}
12746
},
12747
"scope_resolution_function_definition_inner_generated": {
12748
"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*+)?(::)",
12749
"captures": {
12750
"1": {
12751
"patterns": [
12752
{
12753
"include": "#scope_resolution_function_definition_inner_generated"
12754
}
12755
]
12756
},
12757
"2": {
12758
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
12759
},
12760
"3": {
12761
"patterns": [
12762
{
12763
"include": "#template_call_range_helper"
12764
}
12765
]
12766
},
12767
"4": {},
12768
"5": {
12769
"name": "entity.name.scope-resolution.function.definition.cpp"
12770
},
12771
"6": {
12772
"name": "meta.template.call.cpp",
12773
"patterns": [
12774
{
12775
"include": "#template_call_range_helper"
12776
}
12777
]
12778
},
12779
"7": {},
12780
"8": {
12781
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12782
},
12783
"9": {
12784
"name": "comment.block.cpp"
12785
},
12786
"10": {
12787
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12788
},
12789
"11": {
12790
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
12791
}
12792
}
12793
},
12794
"scope_resolution_function_definition_operator_overload": {
12795
"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*+",
12796
"captures": {
12797
"0": {
12798
"patterns": [
12799
{
12800
"include": "#scope_resolution_function_definition_operator_overload_inner_generated"
12801
}
12802
]
12803
},
12804
"1": {
12805
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
12806
},
12807
"2": {
12808
"patterns": [
12809
{
12810
"include": "#template_call_range_helper"
12811
}
12812
]
12813
}
12814
}
12815
},
12816
"scope_resolution_function_definition_operator_overload_inner_generated": {
12817
"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*+)?(::)",
12818
"captures": {
12819
"1": {
12820
"patterns": [
12821
{
12822
"include": "#scope_resolution_function_definition_operator_overload_inner_generated"
12823
}
12824
]
12825
},
12826
"2": {
12827
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
12828
},
12829
"3": {
12830
"patterns": [
12831
{
12832
"include": "#template_call_range_helper"
12833
}
12834
]
12835
},
12836
"4": {},
12837
"5": {
12838
"name": "entity.name.scope-resolution.function.definition.operator-overload.cpp"
12839
},
12840
"6": {
12841
"name": "meta.template.call.cpp",
12842
"patterns": [
12843
{
12844
"include": "#template_call_range_helper"
12845
}
12846
]
12847
},
12848
"7": {},
12849
"8": {
12850
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12851
},
12852
"9": {
12853
"name": "comment.block.cpp"
12854
},
12855
"10": {
12856
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12857
},
12858
"11": {
12859
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
12860
}
12861
}
12862
},
12863
"scope_resolution_inner_generated": {
12864
"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*+)?(::)",
12865
"captures": {
12866
"1": {
12867
"patterns": [
12868
{
12869
"include": "#scope_resolution_inner_generated"
12870
}
12871
]
12872
},
12873
"2": {
12874
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
12875
},
12876
"3": {
12877
"patterns": [
12878
{
12879
"include": "#template_call_range_helper"
12880
}
12881
]
12882
},
12883
"4": {},
12884
"5": {
12885
"name": "entity.name.scope-resolution.cpp"
12886
},
12887
"6": {
12888
"name": "meta.template.call.cpp",
12889
"patterns": [
12890
{
12891
"include": "#template_call_range_helper"
12892
}
12893
]
12894
},
12895
"7": {},
12896
"8": {
12897
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12898
},
12899
"9": {
12900
"name": "comment.block.cpp"
12901
},
12902
"10": {
12903
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12904
},
12905
"11": {
12906
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
12907
}
12908
}
12909
},
12910
"scope_resolution_namespace_alias": {
12911
"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*+",
12912
"captures": {
12913
"0": {
12914
"patterns": [
12915
{
12916
"include": "#scope_resolution_namespace_alias_inner_generated"
12917
}
12918
]
12919
},
12920
"1": {
12921
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
12922
},
12923
"2": {
12924
"patterns": [
12925
{
12926
"include": "#template_call_range_helper"
12927
}
12928
]
12929
}
12930
}
12931
},
12932
"scope_resolution_namespace_alias_inner_generated": {
12933
"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*+)?(::)",
12934
"captures": {
12935
"1": {
12936
"patterns": [
12937
{
12938
"include": "#scope_resolution_namespace_alias_inner_generated"
12939
}
12940
]
12941
},
12942
"2": {
12943
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
12944
},
12945
"3": {
12946
"patterns": [
12947
{
12948
"include": "#template_call_range_helper"
12949
}
12950
]
12951
},
12952
"4": {},
12953
"5": {
12954
"name": "entity.name.scope-resolution.namespace.alias.cpp"
12955
},
12956
"6": {
12957
"name": "meta.template.call.cpp",
12958
"patterns": [
12959
{
12960
"include": "#template_call_range_helper"
12961
}
12962
]
12963
},
12964
"7": {},
12965
"8": {
12966
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12967
},
12968
"9": {
12969
"name": "comment.block.cpp"
12970
},
12971
"10": {
12972
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12973
},
12974
"11": {
12975
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
12976
}
12977
}
12978
},
12979
"scope_resolution_namespace_block": {
12980
"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*+",
12981
"captures": {
12982
"0": {
12983
"patterns": [
12984
{
12985
"include": "#scope_resolution_namespace_block_inner_generated"
12986
}
12987
]
12988
},
12989
"1": {
12990
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
12991
},
12992
"2": {
12993
"patterns": [
12994
{
12995
"include": "#template_call_range_helper"
12996
}
12997
]
12998
}
12999
}
13000
},
13001
"scope_resolution_namespace_block_inner_generated": {
13002
"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*+)?(::)",
13003
"captures": {
13004
"1": {
13005
"patterns": [
13006
{
13007
"include": "#scope_resolution_namespace_block_inner_generated"
13008
}
13009
]
13010
},
13011
"2": {
13012
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
13013
},
13014
"3": {
13015
"patterns": [
13016
{
13017
"include": "#template_call_range_helper"
13018
}
13019
]
13020
},
13021
"4": {},
13022
"5": {
13023
"name": "entity.name.scope-resolution.namespace.block.cpp"
13024
},
13025
"6": {
13026
"name": "meta.template.call.cpp",
13027
"patterns": [
13028
{
13029
"include": "#template_call_range_helper"
13030
}
13031
]
13032
},
13033
"7": {},
13034
"8": {
13035
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13036
},
13037
"9": {
13038
"name": "comment.block.cpp"
13039
},
13040
"10": {
13041
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13042
},
13043
"11": {
13044
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
13045
}
13046
}
13047
},
13048
"scope_resolution_namespace_using": {
13049
"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*+",
13050
"captures": {
13051
"0": {
13052
"patterns": [
13053
{
13054
"include": "#scope_resolution_namespace_using_inner_generated"
13055
}
13056
]
13057
},
13058
"1": {
13059
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
13060
},
13061
"2": {
13062
"patterns": [
13063
{
13064
"include": "#template_call_range_helper"
13065
}
13066
]
13067
}
13068
}
13069
},
13070
"scope_resolution_namespace_using_inner_generated": {
13071
"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*+)?(::)",
13072
"captures": {
13073
"1": {
13074
"patterns": [
13075
{
13076
"include": "#scope_resolution_namespace_using_inner_generated"
13077
}
13078
]
13079
},
13080
"2": {
13081
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
13082
},
13083
"3": {
13084
"patterns": [
13085
{
13086
"include": "#template_call_range_helper"
13087
}
13088
]
13089
},
13090
"4": {},
13091
"5": {
13092
"name": "entity.name.scope-resolution.namespace.using.cpp"
13093
},
13094
"6": {
13095
"name": "meta.template.call.cpp",
13096
"patterns": [
13097
{
13098
"include": "#template_call_range_helper"
13099
}
13100
]
13101
},
13102
"7": {},
13103
"8": {
13104
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13105
},
13106
"9": {
13107
"name": "comment.block.cpp"
13108
},
13109
"10": {
13110
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13111
},
13112
"11": {
13113
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
13114
}
13115
}
13116
},
13117
"scope_resolution_parameter": {
13118
"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*+",
13119
"captures": {
13120
"0": {
13121
"patterns": [
13122
{
13123
"include": "#scope_resolution_parameter_inner_generated"
13124
}
13125
]
13126
},
13127
"1": {
13128
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
13129
},
13130
"2": {
13131
"patterns": [
13132
{
13133
"include": "#template_call_range_helper"
13134
}
13135
]
13136
}
13137
}
13138
},
13139
"scope_resolution_parameter_inner_generated": {
13140
"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*+)?(::)",
13141
"captures": {
13142
"1": {
13143
"patterns": [
13144
{
13145
"include": "#scope_resolution_parameter_inner_generated"
13146
}
13147
]
13148
},
13149
"2": {
13150
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
13151
},
13152
"3": {
13153
"patterns": [
13154
{
13155
"include": "#template_call_range_helper"
13156
}
13157
]
13158
},
13159
"4": {},
13160
"5": {
13161
"name": "entity.name.scope-resolution.parameter.cpp"
13162
},
13163
"6": {
13164
"name": "meta.template.call.cpp",
13165
"patterns": [
13166
{
13167
"include": "#template_call_range_helper"
13168
}
13169
]
13170
},
13171
"7": {},
13172
"8": {
13173
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13174
},
13175
"9": {
13176
"name": "comment.block.cpp"
13177
},
13178
"10": {
13179
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13180
},
13181
"11": {
13182
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
13183
}
13184
}
13185
},
13186
"scope_resolution_template_call": {
13187
"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*+",
13188
"captures": {
13189
"0": {
13190
"patterns": [
13191
{
13192
"include": "#scope_resolution_template_call_inner_generated"
13193
}
13194
]
13195
},
13196
"1": {
13197
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
13198
},
13199
"2": {
13200
"patterns": [
13201
{
13202
"include": "#template_call_range_helper"
13203
}
13204
]
13205
}
13206
}
13207
},
13208
"scope_resolution_template_call_inner_generated": {
13209
"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*+)?(::)",
13210
"captures": {
13211
"1": {
13212
"patterns": [
13213
{
13214
"include": "#scope_resolution_template_call_inner_generated"
13215
}
13216
]
13217
},
13218
"2": {
13219
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
13220
},
13221
"3": {
13222
"patterns": [
13223
{
13224
"include": "#template_call_range_helper"
13225
}
13226
]
13227
},
13228
"4": {},
13229
"5": {
13230
"name": "entity.name.scope-resolution.template.call.cpp"
13231
},
13232
"6": {
13233
"name": "meta.template.call.cpp",
13234
"patterns": [
13235
{
13236
"include": "#template_call_range_helper"
13237
}
13238
]
13239
},
13240
"7": {},
13241
"8": {
13242
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13243
},
13244
"9": {
13245
"name": "comment.block.cpp"
13246
},
13247
"10": {
13248
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13249
},
13250
"11": {
13251
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
13252
}
13253
}
13254
},
13255
"scope_resolution_template_definition": {
13256
"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*+",
13257
"captures": {
13258
"0": {
13259
"patterns": [
13260
{
13261
"include": "#scope_resolution_template_definition_inner_generated"
13262
}
13263
]
13264
},
13265
"1": {
13266
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
13267
},
13268
"2": {
13269
"patterns": [
13270
{
13271
"include": "#template_call_range_helper"
13272
}
13273
]
13274
}
13275
}
13276
},
13277
"scope_resolution_template_definition_inner_generated": {
13278
"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*+)?(::)",
13279
"captures": {
13280
"1": {
13281
"patterns": [
13282
{
13283
"include": "#scope_resolution_template_definition_inner_generated"
13284
}
13285
]
13286
},
13287
"2": {
13288
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
13289
},
13290
"3": {
13291
"patterns": [
13292
{
13293
"include": "#template_call_range_helper"
13294
}
13295
]
13296
},
13297
"4": {},
13298
"5": {
13299
"name": "entity.name.scope-resolution.template.definition.cpp"
13300
},
13301
"6": {
13302
"name": "meta.template.call.cpp",
13303
"patterns": [
13304
{
13305
"include": "#template_call_range_helper"
13306
}
13307
]
13308
},
13309
"7": {},
13310
"8": {
13311
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13312
},
13313
"9": {
13314
"name": "comment.block.cpp"
13315
},
13316
"10": {
13317
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13318
},
13319
"11": {
13320
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
13321
}
13322
}
13323
},
13324
"semicolon": {
13325
"match": ";",
13326
"name": "punctuation.terminator.statement.cpp"
13327
},
13328
"simple_array_assignment": {
13329
"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)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:%=|\\+=|-=|\\*=|(?<!\\()\\/=))|((?:&=|\\^=|<<=|>>=|\\|=))|(\\=))",
13330
"captures": {
13331
"1": {
13332
"name": "meta.qualified-type.cpp",
13333
"patterns": [
13334
{
13335
"match": "::",
13336
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
13337
},
13338
{
13339
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
13340
"name": "storage.type.$0.cpp"
13341
},
13342
{
13343
"include": "#attributes_context"
13344
},
13345
{
13346
"include": "#storage_types"
13347
},
13348
{
13349
"include": "#number_literal"
13350
},
13351
{
13352
"include": "#string_context"
13353
},
13354
{
13355
"include": "#comma"
13356
},
13357
{
13358
"include": "#scope_resolution_inner_generated"
13359
},
13360
{
13361
"include": "#template_call_range_helper"
13362
},
13363
{
13364
"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}))*",
13365
"name": "entity.name.type.cpp"
13366
}
13367
]
13368
},
13369
"2": {
13370
"patterns": [
13371
{
13372
"include": "#attributes_context"
13373
},
13374
{
13375
"include": "#number_literal"
13376
}
13377
]
13378
},
13379
"3": {
13380
"patterns": [
13381
{
13382
"include": "#inline_comment"
13383
}
13384
]
13385
},
13386
"4": {
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
"5": {
13405
"patterns": [
13406
{
13407
"include": "#inline_comment"
13408
}
13409
]
13410
},
13411
"6": {
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
"7": {
13430
"patterns": [
13431
{
13432
"match": "::",
13433
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
13434
},
13435
{
13436
"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)",
13437
"name": "entity.name.scope-resolution.type.cpp"
13438
},
13439
{
13440
"include": "#template_call_range_helper"
13441
}
13442
]
13443
},
13444
"8": {
13445
"patterns": [
13446
{
13447
"include": "#template_call_range_helper"
13448
}
13449
]
13450
},
13451
"9": {},
13452
"10": {
13453
"patterns": [
13454
{
13455
"include": "#inline_comment"
13456
}
13457
]
13458
},
13459
"11": {
13460
"patterns": [
13461
{
13462
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13463
"captures": {
13464
"1": {
13465
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13466
},
13467
"2": {
13468
"name": "comment.block.cpp"
13469
},
13470
"3": {
13471
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13472
}
13473
}
13474
}
13475
]
13476
},
13477
"12": {},
13478
"13": {
13479
"patterns": [
13480
{
13481
"match": "\\*",
13482
"name": "storage.modifier.pointer.cpp"
13483
},
13484
{
13485
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
13486
"captures": {
13487
"1": {
13488
"patterns": [
13489
{
13490
"include": "#inline_comment"
13491
}
13492
]
13493
},
13494
"2": {
13495
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13496
},
13497
"3": {
13498
"name": "comment.block.cpp"
13499
},
13500
"4": {
13501
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13502
}
13503
},
13504
"name": "invalid.illegal.reference-type.cpp"
13505
},
13506
{
13507
"match": "\\&",
13508
"name": "storage.modifier.reference.cpp"
13509
}
13510
]
13511
},
13512
"14": {
13513
"patterns": [
13514
{
13515
"include": "#inline_comment"
13516
}
13517
]
13518
},
13519
"15": {
13520
"patterns": [
13521
{
13522
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13523
"captures": {
13524
"1": {
13525
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13526
},
13527
"2": {
13528
"name": "comment.block.cpp"
13529
},
13530
"3": {
13531
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13532
}
13533
}
13534
}
13535
]
13536
},
13537
"16": {
13538
"patterns": [
13539
{
13540
"include": "#inline_comment"
13541
}
13542
]
13543
},
13544
"17": {
13545
"patterns": [
13546
{
13547
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13548
"captures": {
13549
"1": {
13550
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13551
},
13552
"2": {
13553
"name": "comment.block.cpp"
13554
},
13555
"3": {
13556
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13557
}
13558
}
13559
}
13560
]
13561
},
13562
"18": {
13563
"patterns": [
13564
{
13565
"include": "#inline_comment"
13566
}
13567
]
13568
},
13569
"19": {
13570
"patterns": [
13571
{
13572
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13573
"captures": {
13574
"1": {
13575
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13576
},
13577
"2": {
13578
"name": "comment.block.cpp"
13579
},
13580
"3": {
13581
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13582
}
13583
}
13584
}
13585
]
13586
},
13587
"20": {
13588
"name": "variable.lower-case.cpp variable.other.assignment.cpp"
13589
},
13590
"21": {
13591
"name": "variable.snake-case.cpp variable.other.assignment.cpp"
13592
},
13593
"22": {
13594
"name": "variable.camel-case.cpp variable.other.assignment.cpp"
13595
},
13596
"23": {
13597
"name": "variable.upper-case.cpp variable.other.assignment.cpp"
13598
},
13599
"24": {
13600
"name": "variable.other.unknown.$24.cpp"
13601
},
13602
"25": {
13603
"name": "punctuation.definition.begin.bracket.square.array.type.cpp"
13604
},
13605
"26": {
13606
"name": "punctuation.definition.end.bracket.square.array.type.cpp"
13607
},
13608
"27": {
13609
"patterns": [
13610
{
13611
"include": "#inline_comment"
13612
}
13613
]
13614
},
13615
"28": {
13616
"patterns": [
13617
{
13618
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13619
"captures": {
13620
"1": {
13621
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13622
},
13623
"2": {
13624
"name": "comment.block.cpp"
13625
},
13626
"3": {
13627
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13628
}
13629
}
13630
}
13631
]
13632
},
13633
"29": {
13634
"name": "keyword.operator.assignment.compound.cpp"
13635
},
13636
"30": {
13637
"name": "keyword.operator.assignment.compound.bitwise.cpp"
13638
},
13639
"31": {
13640
"name": "keyword.operator.assignment.cpp"
13641
}
13642
}
13643
},
13644
"simple_constructor_call": {
13645
"match": "(?!class|struct|union|enum|explicit|new|delete|operator|template|throw|decltype|typename|override|final)\\b(\\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))(?=(?<!\\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))(?=(?:\\{|\\()))))",
13646
"captures": {
13647
"1": {
13648
"name": "meta.qualified-type.cpp",
13649
"patterns": [
13650
{
13651
"match": "::",
13652
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
13653
},
13654
{
13655
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
13656
"name": "storage.type.$0.cpp"
13657
},
13658
{
13659
"include": "#attributes_context"
13660
},
13661
{
13662
"include": "#storage_types"
13663
},
13664
{
13665
"include": "#number_literal"
13666
},
13667
{
13668
"include": "#string_context"
13669
},
13670
{
13671
"include": "#comma"
13672
},
13673
{
13674
"include": "#scope_resolution_inner_generated"
13675
},
13676
{
13677
"include": "#template_call_range_helper"
13678
},
13679
{
13680
"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}))*",
13681
"name": "entity.name.type.cpp"
13682
}
13683
]
13684
},
13685
"2": {
13686
"patterns": [
13687
{
13688
"include": "#attributes_context"
13689
},
13690
{
13691
"include": "#number_literal"
13692
}
13693
]
13694
},
13695
"3": {
13696
"patterns": [
13697
{
13698
"include": "#inline_comment"
13699
}
13700
]
13701
},
13702
"4": {
13703
"patterns": [
13704
{
13705
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13706
"captures": {
13707
"1": {
13708
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13709
},
13710
"2": {
13711
"name": "comment.block.cpp"
13712
},
13713
"3": {
13714
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13715
}
13716
}
13717
}
13718
]
13719
},
13720
"5": {
13721
"patterns": [
13722
{
13723
"include": "#inline_comment"
13724
}
13725
]
13726
},
13727
"6": {
13728
"patterns": [
13729
{
13730
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13731
"captures": {
13732
"1": {
13733
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13734
},
13735
"2": {
13736
"name": "comment.block.cpp"
13737
},
13738
"3": {
13739
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13740
}
13741
}
13742
}
13743
]
13744
},
13745
"7": {
13746
"patterns": [
13747
{
13748
"match": "::",
13749
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
13750
},
13751
{
13752
"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)",
13753
"name": "entity.name.scope-resolution.type.cpp"
13754
},
13755
{
13756
"include": "#template_call_range_helper"
13757
}
13758
]
13759
},
13760
"8": {
13761
"patterns": [
13762
{
13763
"include": "#template_call_range_helper"
13764
}
13765
]
13766
},
13767
"9": {},
13768
"10": {
13769
"patterns": [
13770
{
13771
"include": "#inline_comment"
13772
}
13773
]
13774
},
13775
"11": {
13776
"patterns": [
13777
{
13778
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13779
"captures": {
13780
"1": {
13781
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13782
},
13783
"2": {
13784
"name": "comment.block.cpp"
13785
},
13786
"3": {
13787
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13788
}
13789
}
13790
}
13791
]
13792
},
13793
"12": {},
13794
"13": {
13795
"patterns": [
13796
{
13797
"include": "#inline_comment"
13798
}
13799
]
13800
},
13801
"14": {
13802
"patterns": [
13803
{
13804
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13805
"captures": {
13806
"1": {
13807
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13808
},
13809
"2": {
13810
"name": "comment.block.cpp"
13811
},
13812
"3": {
13813
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13814
}
13815
}
13816
}
13817
]
13818
},
13819
"15": {
13820
"patterns": [
13821
{
13822
"include": "#inline_comment"
13823
}
13824
]
13825
},
13826
"16": {
13827
"patterns": [
13828
{
13829
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13830
"captures": {
13831
"1": {
13832
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13833
},
13834
"2": {
13835
"name": "comment.block.cpp"
13836
},
13837
"3": {
13838
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13839
}
13840
}
13841
}
13842
]
13843
}
13844
}
13845
},
13846
"simple_type": {
13847
"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)))*(?:&|\\*))?",
13848
"captures": {
13849
"1": {
13850
"name": "meta.qualified-type.cpp",
13851
"patterns": [
13852
{
13853
"match": "::",
13854
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
13855
},
13856
{
13857
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
13858
"name": "storage.type.$0.cpp"
13859
},
13860
{
13861
"include": "#attributes_context"
13862
},
13863
{
13864
"include": "#storage_types"
13865
},
13866
{
13867
"include": "#number_literal"
13868
},
13869
{
13870
"include": "#string_context"
13871
},
13872
{
13873
"include": "#comma"
13874
},
13875
{
13876
"include": "#scope_resolution_inner_generated"
13877
},
13878
{
13879
"include": "#template_call_range_helper"
13880
},
13881
{
13882
"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}))*",
13883
"name": "entity.name.type.cpp"
13884
}
13885
]
13886
},
13887
"2": {
13888
"patterns": [
13889
{
13890
"include": "#attributes_context"
13891
},
13892
{
13893
"include": "#number_literal"
13894
}
13895
]
13896
},
13897
"3": {
13898
"patterns": [
13899
{
13900
"include": "#inline_comment"
13901
}
13902
]
13903
},
13904
"4": {
13905
"patterns": [
13906
{
13907
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13908
"captures": {
13909
"1": {
13910
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13911
},
13912
"2": {
13913
"name": "comment.block.cpp"
13914
},
13915
"3": {
13916
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13917
}
13918
}
13919
}
13920
]
13921
},
13922
"5": {
13923
"patterns": [
13924
{
13925
"include": "#inline_comment"
13926
}
13927
]
13928
},
13929
"6": {
13930
"patterns": [
13931
{
13932
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13933
"captures": {
13934
"1": {
13935
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13936
},
13937
"2": {
13938
"name": "comment.block.cpp"
13939
},
13940
"3": {
13941
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13942
}
13943
}
13944
}
13945
]
13946
},
13947
"7": {
13948
"patterns": [
13949
{
13950
"match": "::",
13951
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
13952
},
13953
{
13954
"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)",
13955
"name": "entity.name.scope-resolution.type.cpp"
13956
},
13957
{
13958
"include": "#template_call_range_helper"
13959
}
13960
]
13961
},
13962
"8": {
13963
"patterns": [
13964
{
13965
"include": "#template_call_range_helper"
13966
}
13967
]
13968
},
13969
"9": {},
13970
"10": {
13971
"patterns": [
13972
{
13973
"include": "#inline_comment"
13974
}
13975
]
13976
},
13977
"11": {
13978
"patterns": [
13979
{
13980
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13981
"captures": {
13982
"1": {
13983
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13984
},
13985
"2": {
13986
"name": "comment.block.cpp"
13987
},
13988
"3": {
13989
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13990
}
13991
}
13992
}
13993
]
13994
},
13995
"12": {},
13996
"13": {
13997
"patterns": [
13998
{
13999
"match": "\\*",
14000
"name": "storage.modifier.pointer.cpp"
14001
},
14002
{
14003
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
14004
"captures": {
14005
"1": {
14006
"patterns": [
14007
{
14008
"include": "#inline_comment"
14009
}
14010
]
14011
},
14012
"2": {
14013
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14014
},
14015
"3": {
14016
"name": "comment.block.cpp"
14017
},
14018
"4": {
14019
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14020
}
14021
},
14022
"name": "invalid.illegal.reference-type.cpp"
14023
},
14024
{
14025
"match": "\\&",
14026
"name": "storage.modifier.reference.cpp"
14027
}
14028
]
14029
},
14030
"14": {
14031
"patterns": [
14032
{
14033
"include": "#inline_comment"
14034
}
14035
]
14036
},
14037
"15": {
14038
"patterns": [
14039
{
14040
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14041
"captures": {
14042
"1": {
14043
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14044
},
14045
"2": {
14046
"name": "comment.block.cpp"
14047
},
14048
"3": {
14049
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14050
}
14051
}
14052
}
14053
]
14054
},
14055
"16": {
14056
"patterns": [
14057
{
14058
"include": "#inline_comment"
14059
}
14060
]
14061
},
14062
"17": {
14063
"patterns": [
14064
{
14065
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14066
"captures": {
14067
"1": {
14068
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14069
},
14070
"2": {
14071
"name": "comment.block.cpp"
14072
},
14073
"3": {
14074
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14075
}
14076
}
14077
}
14078
]
14079
}
14080
}
14081
},
14082
"sizeof_operator": {
14083
"begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
14084
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
14085
"beginCaptures": {
14086
"1": {
14087
"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
14088
},
14089
"2": {
14090
"patterns": [
14091
{
14092
"include": "#inline_comment"
14093
}
14094
]
14095
},
14096
"3": {
14097
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14098
},
14099
"4": {
14100
"name": "comment.block.cpp"
14101
},
14102
"5": {
14103
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14104
},
14105
"6": {
14106
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
14107
}
14108
},
14109
"endCaptures": {
14110
"0": {
14111
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
14112
}
14113
},
14114
"contentName": "meta.arguments.operator.sizeof",
14115
"patterns": [
14116
{
14117
"include": "#evaluation_context"
14118
}
14119
]
14120
},
14121
"sizeof_variadic_operator": {
14122
"begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
14123
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
14124
"beginCaptures": {
14125
"1": {
14126
"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
14127
},
14128
"2": {
14129
"patterns": [
14130
{
14131
"include": "#inline_comment"
14132
}
14133
]
14134
},
14135
"3": {
14136
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14137
},
14138
"4": {
14139
"name": "comment.block.cpp"
14140
},
14141
"5": {
14142
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14143
},
14144
"6": {
14145
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
14146
}
14147
},
14148
"endCaptures": {
14149
"0": {
14150
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
14151
}
14152
},
14153
"contentName": "meta.arguments.operator.sizeof.variadic",
14154
"patterns": [
14155
{
14156
"include": "#evaluation_context"
14157
}
14158
]
14159
},
14160
"square_brackets": {
14161
"name": "meta.bracket.square.access",
14162
"begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",
14163
"beginCaptures": {
14164
"1": {
14165
"name": "variable.other.object"
14166
},
14167
"2": {
14168
"name": "punctuation.definition.begin.bracket.square"
14169
}
14170
},
14171
"end": "\\]|(?=\\\\end\\{(?:minted|cppcode)\\})",
14172
"endCaptures": {
14173
"0": {
14174
"name": "punctuation.definition.end.bracket.square"
14175
}
14176
},
14177
"patterns": [
14178
{
14179
"include": "#evaluation_context"
14180
}
14181
]
14182
},
14183
"standard_declares": {
14184
"patterns": [
14185
{
14186
"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])",
14187
"captures": {
14188
"1": {
14189
"name": "storage.type.struct.declare.cpp"
14190
},
14191
"2": {
14192
"patterns": [
14193
{
14194
"include": "#inline_comment"
14195
}
14196
]
14197
},
14198
"3": {
14199
"patterns": [
14200
{
14201
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14202
"captures": {
14203
"1": {
14204
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14205
},
14206
"2": {
14207
"name": "comment.block.cpp"
14208
},
14209
"3": {
14210
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14211
}
14212
}
14213
}
14214
]
14215
},
14216
"4": {
14217
"name": "entity.name.type.struct.cpp"
14218
},
14219
"5": {
14220
"patterns": [
14221
{
14222
"match": "\\*",
14223
"name": "storage.modifier.pointer.cpp"
14224
},
14225
{
14226
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
14227
"captures": {
14228
"1": {
14229
"patterns": [
14230
{
14231
"include": "#inline_comment"
14232
}
14233
]
14234
},
14235
"2": {
14236
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14237
},
14238
"3": {
14239
"name": "comment.block.cpp"
14240
},
14241
"4": {
14242
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14243
}
14244
},
14245
"name": "invalid.illegal.reference-type.cpp"
14246
},
14247
{
14248
"match": "\\&",
14249
"name": "storage.modifier.reference.cpp"
14250
}
14251
]
14252
},
14253
"6": {
14254
"patterns": [
14255
{
14256
"include": "#inline_comment"
14257
}
14258
]
14259
},
14260
"7": {
14261
"patterns": [
14262
{
14263
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14264
"captures": {
14265
"1": {
14266
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14267
},
14268
"2": {
14269
"name": "comment.block.cpp"
14270
},
14271
"3": {
14272
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14273
}
14274
}
14275
}
14276
]
14277
},
14278
"8": {
14279
"patterns": [
14280
{
14281
"include": "#inline_comment"
14282
}
14283
]
14284
},
14285
"9": {
14286
"patterns": [
14287
{
14288
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14289
"captures": {
14290
"1": {
14291
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14292
},
14293
"2": {
14294
"name": "comment.block.cpp"
14295
},
14296
"3": {
14297
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14298
}
14299
}
14300
}
14301
]
14302
},
14303
"10": {
14304
"patterns": [
14305
{
14306
"include": "#inline_comment"
14307
}
14308
]
14309
},
14310
"11": {
14311
"patterns": [
14312
{
14313
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14314
"captures": {
14315
"1": {
14316
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14317
},
14318
"2": {
14319
"name": "comment.block.cpp"
14320
},
14321
"3": {
14322
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14323
}
14324
}
14325
}
14326
]
14327
},
14328
"12": {
14329
"name": "variable.other.object.declare.cpp"
14330
},
14331
"13": {
14332
"patterns": [
14333
{
14334
"include": "#inline_comment"
14335
}
14336
]
14337
},
14338
"14": {
14339
"patterns": [
14340
{
14341
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14342
"captures": {
14343
"1": {
14344
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14345
},
14346
"2": {
14347
"name": "comment.block.cpp"
14348
},
14349
"3": {
14350
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14351
}
14352
}
14353
}
14354
]
14355
}
14356
}
14357
},
14358
{
14359
"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])",
14360
"captures": {
14361
"1": {
14362
"name": "storage.type.union.declare.cpp"
14363
},
14364
"2": {
14365
"patterns": [
14366
{
14367
"include": "#inline_comment"
14368
}
14369
]
14370
},
14371
"3": {
14372
"patterns": [
14373
{
14374
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14375
"captures": {
14376
"1": {
14377
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14378
},
14379
"2": {
14380
"name": "comment.block.cpp"
14381
},
14382
"3": {
14383
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14384
}
14385
}
14386
}
14387
]
14388
},
14389
"4": {
14390
"name": "entity.name.type.union.cpp"
14391
},
14392
"5": {
14393
"patterns": [
14394
{
14395
"match": "\\*",
14396
"name": "storage.modifier.pointer.cpp"
14397
},
14398
{
14399
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
14400
"captures": {
14401
"1": {
14402
"patterns": [
14403
{
14404
"include": "#inline_comment"
14405
}
14406
]
14407
},
14408
"2": {
14409
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14410
},
14411
"3": {
14412
"name": "comment.block.cpp"
14413
},
14414
"4": {
14415
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14416
}
14417
},
14418
"name": "invalid.illegal.reference-type.cpp"
14419
},
14420
{
14421
"match": "\\&",
14422
"name": "storage.modifier.reference.cpp"
14423
}
14424
]
14425
},
14426
"6": {
14427
"patterns": [
14428
{
14429
"include": "#inline_comment"
14430
}
14431
]
14432
},
14433
"7": {
14434
"patterns": [
14435
{
14436
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14437
"captures": {
14438
"1": {
14439
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14440
},
14441
"2": {
14442
"name": "comment.block.cpp"
14443
},
14444
"3": {
14445
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14446
}
14447
}
14448
}
14449
]
14450
},
14451
"8": {
14452
"patterns": [
14453
{
14454
"include": "#inline_comment"
14455
}
14456
]
14457
},
14458
"9": {
14459
"patterns": [
14460
{
14461
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14462
"captures": {
14463
"1": {
14464
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14465
},
14466
"2": {
14467
"name": "comment.block.cpp"
14468
},
14469
"3": {
14470
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14471
}
14472
}
14473
}
14474
]
14475
},
14476
"10": {
14477
"patterns": [
14478
{
14479
"include": "#inline_comment"
14480
}
14481
]
14482
},
14483
"11": {
14484
"patterns": [
14485
{
14486
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14487
"captures": {
14488
"1": {
14489
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14490
},
14491
"2": {
14492
"name": "comment.block.cpp"
14493
},
14494
"3": {
14495
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14496
}
14497
}
14498
}
14499
]
14500
},
14501
"12": {
14502
"name": "variable.other.object.declare.cpp"
14503
},
14504
"13": {
14505
"patterns": [
14506
{
14507
"include": "#inline_comment"
14508
}
14509
]
14510
},
14511
"14": {
14512
"patterns": [
14513
{
14514
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14515
"captures": {
14516
"1": {
14517
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14518
},
14519
"2": {
14520
"name": "comment.block.cpp"
14521
},
14522
"3": {
14523
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14524
}
14525
}
14526
}
14527
]
14528
}
14529
}
14530
},
14531
{
14532
"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])",
14533
"captures": {
14534
"1": {
14535
"name": "storage.type.enum.declare.cpp"
14536
},
14537
"2": {
14538
"patterns": [
14539
{
14540
"include": "#inline_comment"
14541
}
14542
]
14543
},
14544
"3": {
14545
"patterns": [
14546
{
14547
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14548
"captures": {
14549
"1": {
14550
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14551
},
14552
"2": {
14553
"name": "comment.block.cpp"
14554
},
14555
"3": {
14556
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14557
}
14558
}
14559
}
14560
]
14561
},
14562
"4": {
14563
"name": "entity.name.type.enum.cpp"
14564
},
14565
"5": {
14566
"patterns": [
14567
{
14568
"match": "\\*",
14569
"name": "storage.modifier.pointer.cpp"
14570
},
14571
{
14572
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
14573
"captures": {
14574
"1": {
14575
"patterns": [
14576
{
14577
"include": "#inline_comment"
14578
}
14579
]
14580
},
14581
"2": {
14582
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14583
},
14584
"3": {
14585
"name": "comment.block.cpp"
14586
},
14587
"4": {
14588
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14589
}
14590
},
14591
"name": "invalid.illegal.reference-type.cpp"
14592
},
14593
{
14594
"match": "\\&",
14595
"name": "storage.modifier.reference.cpp"
14596
}
14597
]
14598
},
14599
"6": {
14600
"patterns": [
14601
{
14602
"include": "#inline_comment"
14603
}
14604
]
14605
},
14606
"7": {
14607
"patterns": [
14608
{
14609
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14610
"captures": {
14611
"1": {
14612
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14613
},
14614
"2": {
14615
"name": "comment.block.cpp"
14616
},
14617
"3": {
14618
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14619
}
14620
}
14621
}
14622
]
14623
},
14624
"8": {
14625
"patterns": [
14626
{
14627
"include": "#inline_comment"
14628
}
14629
]
14630
},
14631
"9": {
14632
"patterns": [
14633
{
14634
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14635
"captures": {
14636
"1": {
14637
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14638
},
14639
"2": {
14640
"name": "comment.block.cpp"
14641
},
14642
"3": {
14643
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14644
}
14645
}
14646
}
14647
]
14648
},
14649
"10": {
14650
"patterns": [
14651
{
14652
"include": "#inline_comment"
14653
}
14654
]
14655
},
14656
"11": {
14657
"patterns": [
14658
{
14659
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14660
"captures": {
14661
"1": {
14662
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14663
},
14664
"2": {
14665
"name": "comment.block.cpp"
14666
},
14667
"3": {
14668
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14669
}
14670
}
14671
}
14672
]
14673
},
14674
"12": {
14675
"name": "variable.other.object.declare.cpp"
14676
},
14677
"13": {
14678
"patterns": [
14679
{
14680
"include": "#inline_comment"
14681
}
14682
]
14683
},
14684
"14": {
14685
"patterns": [
14686
{
14687
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14688
"captures": {
14689
"1": {
14690
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14691
},
14692
"2": {
14693
"name": "comment.block.cpp"
14694
},
14695
"3": {
14696
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14697
}
14698
}
14699
}
14700
]
14701
}
14702
}
14703
},
14704
{
14705
"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])",
14706
"captures": {
14707
"1": {
14708
"name": "storage.type.class.declare.cpp"
14709
},
14710
"2": {
14711
"patterns": [
14712
{
14713
"include": "#inline_comment"
14714
}
14715
]
14716
},
14717
"3": {
14718
"patterns": [
14719
{
14720
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14721
"captures": {
14722
"1": {
14723
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14724
},
14725
"2": {
14726
"name": "comment.block.cpp"
14727
},
14728
"3": {
14729
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14730
}
14731
}
14732
}
14733
]
14734
},
14735
"4": {
14736
"name": "entity.name.type.class.cpp"
14737
},
14738
"5": {
14739
"patterns": [
14740
{
14741
"match": "\\*",
14742
"name": "storage.modifier.pointer.cpp"
14743
},
14744
{
14745
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
14746
"captures": {
14747
"1": {
14748
"patterns": [
14749
{
14750
"include": "#inline_comment"
14751
}
14752
]
14753
},
14754
"2": {
14755
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14756
},
14757
"3": {
14758
"name": "comment.block.cpp"
14759
},
14760
"4": {
14761
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14762
}
14763
},
14764
"name": "invalid.illegal.reference-type.cpp"
14765
},
14766
{
14767
"match": "\\&",
14768
"name": "storage.modifier.reference.cpp"
14769
}
14770
]
14771
},
14772
"6": {
14773
"patterns": [
14774
{
14775
"include": "#inline_comment"
14776
}
14777
]
14778
},
14779
"7": {
14780
"patterns": [
14781
{
14782
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14783
"captures": {
14784
"1": {
14785
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14786
},
14787
"2": {
14788
"name": "comment.block.cpp"
14789
},
14790
"3": {
14791
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14792
}
14793
}
14794
}
14795
]
14796
},
14797
"8": {
14798
"patterns": [
14799
{
14800
"include": "#inline_comment"
14801
}
14802
]
14803
},
14804
"9": {
14805
"patterns": [
14806
{
14807
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14808
"captures": {
14809
"1": {
14810
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14811
},
14812
"2": {
14813
"name": "comment.block.cpp"
14814
},
14815
"3": {
14816
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14817
}
14818
}
14819
}
14820
]
14821
},
14822
"10": {
14823
"patterns": [
14824
{
14825
"include": "#inline_comment"
14826
}
14827
]
14828
},
14829
"11": {
14830
"patterns": [
14831
{
14832
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14833
"captures": {
14834
"1": {
14835
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14836
},
14837
"2": {
14838
"name": "comment.block.cpp"
14839
},
14840
"3": {
14841
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14842
}
14843
}
14844
}
14845
]
14846
},
14847
"12": {
14848
"name": "variable.other.object.declare.cpp"
14849
},
14850
"13": {
14851
"patterns": [
14852
{
14853
"include": "#inline_comment"
14854
}
14855
]
14856
},
14857
"14": {
14858
"patterns": [
14859
{
14860
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14861
"captures": {
14862
"1": {
14863
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14864
},
14865
"2": {
14866
"name": "comment.block.cpp"
14867
},
14868
"3": {
14869
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14870
}
14871
}
14872
}
14873
]
14874
}
14875
}
14876
}
14877
]
14878
},
14879
"static_assert": {
14880
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)static_assert|_Static_assert(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
14881
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
14882
"beginCaptures": {
14883
"1": {
14884
"patterns": [
14885
{
14886
"include": "#inline_comment"
14887
}
14888
]
14889
},
14890
"2": {
14891
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14892
},
14893
"3": {
14894
"name": "comment.block.cpp"
14895
},
14896
"4": {
14897
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14898
},
14899
"5": {
14900
"name": "keyword.other.static-assert.cpp"
14901
},
14902
"6": {
14903
"patterns": [
14904
{
14905
"include": "#inline_comment"
14906
}
14907
]
14908
},
14909
"7": {
14910
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14911
},
14912
"8": {
14913
"name": "comment.block.cpp"
14914
},
14915
"9": {
14916
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14917
},
14918
"10": {
14919
"name": "punctuation.section.arguments.begin.bracket.round.static-assert.cpp"
14920
}
14921
},
14922
"endCaptures": {
14923
"0": {
14924
"name": "punctuation.section.arguments.end.bracket.round.static-assert.cpp"
14925
}
14926
},
14927
"patterns": [
14928
{
14929
"begin": "(,)(?:\\s+)?(?=(?:L|u8|u|U(?:\\s+)?\\\")?)",
14930
"end": "(?=\\))|(?=\\\\end\\{(?:minted|cppcode)\\})",
14931
"beginCaptures": {
14932
"1": {
14933
"name": "punctuation.separator.delimiter.comma.cpp"
14934
}
14935
},
14936
"endCaptures": {},
14937
"name": "meta.static-assert.message.cpp",
14938
"patterns": [
14939
{
14940
"include": "#string_context"
14941
}
14942
]
14943
},
14944
{
14945
"include": "#evaluation_context"
14946
}
14947
]
14948
},
14949
"std_space": {
14950
"match": "(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)",
14951
"captures": {
14952
"0": {
14953
"patterns": [
14954
{
14955
"include": "#inline_comment"
14956
}
14957
]
14958
},
14959
"1": {
14960
"patterns": [
14961
{
14962
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14963
"captures": {
14964
"1": {
14965
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14966
},
14967
"2": {
14968
"name": "comment.block.cpp"
14969
},
14970
"3": {
14971
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14972
}
14973
}
14974
}
14975
]
14976
}
14977
}
14978
},
14979
"storage_specifiers": {
14980
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\w))",
14981
"captures": {
14982
"1": {
14983
"patterns": [
14984
{
14985
"include": "#inline_comment"
14986
}
14987
]
14988
},
14989
"2": {
14990
"patterns": [
14991
{
14992
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14993
"captures": {
14994
"1": {
14995
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14996
},
14997
"2": {
14998
"name": "comment.block.cpp"
14999
},
15000
"3": {
15001
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15002
}
15003
}
15004
}
15005
]
15006
},
15007
"3": {
15008
"name": "storage.modifier.specifier.$3.cpp"
15009
}
15010
}
15011
},
15012
"storage_types": {
15013
"patterns": [
15014
{
15015
"include": "#storage_specifiers"
15016
},
15017
{
15018
"include": "#inline_builtin_storage_type"
15019
},
15020
{
15021
"include": "#decltype"
15022
},
15023
{
15024
"include": "#typename"
15025
}
15026
]
15027
},
15028
"string_context": {
15029
"patterns": [
15030
{
15031
"begin": "((?:u|u8|U|L)?)\"",
15032
"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}))*))?|(?=\\\\end\\{(?:minted|cppcode)\\})",
15033
"beginCaptures": {
15034
"0": {
15035
"name": "punctuation.definition.string.begin.cpp"
15036
},
15037
"1": {
15038
"name": "meta.encoding.cpp"
15039
}
15040
},
15041
"endCaptures": {
15042
"1": {
15043
"name": "punctuation.definition.string.end.cpp"
15044
},
15045
"2": {
15046
"name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp"
15047
},
15048
"3": {
15049
"name": "keyword.other.suffix.literal.user-defined.string.cpp"
15050
}
15051
},
15052
"name": "string.quoted.double.cpp",
15053
"patterns": [
15054
{
15055
"match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})",
15056
"name": "constant.character.escape.cpp"
15057
},
15058
{
15059
"match": "\\\\['\"?\\\\abfnrtv]",
15060
"name": "constant.character.escape.cpp"
15061
},
15062
{
15063
"match": "\\\\[0-7]{1,3}",
15064
"name": "constant.character.escape.cpp"
15065
},
15066
{
15067
"match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
15068
"captures": {
15069
"1": {
15070
"name": "constant.character.escape.cpp"
15071
},
15072
"2": {
15073
"name": "invalid.illegal.unknown-escape.cpp"
15074
}
15075
}
15076
},
15077
{
15078
"include": "#string_escapes_context_c"
15079
}
15080
]
15081
},
15082
{
15083
"begin": "(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'",
15084
"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}))*))?|(?=\\\\end\\{(?:minted|cppcode)\\})",
15085
"beginCaptures": {
15086
"0": {
15087
"name": "punctuation.definition.string.begin.cpp"
15088
},
15089
"1": {
15090
"name": "meta.encoding.cpp"
15091
}
15092
},
15093
"endCaptures": {
15094
"1": {
15095
"name": "punctuation.definition.string.end.cpp"
15096
},
15097
"2": {
15098
"name": "keyword.other.suffix.literal.user-defined.reserved.character.cpp"
15099
},
15100
"3": {
15101
"name": "keyword.other.suffix.literal.user-defined.character.cpp"
15102
}
15103
},
15104
"name": "string.quoted.single.cpp",
15105
"patterns": [
15106
{
15107
"match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
15108
"captures": {
15109
"1": {
15110
"name": "constant.character.escape.cpp"
15111
},
15112
"2": {
15113
"name": "invalid.illegal.unknown-escape.cpp"
15114
}
15115
}
15116
},
15117
{
15118
"include": "#string_escapes_context_c"
15119
},
15120
{
15121
"include": "#line_continuation_character"
15122
}
15123
]
15124
},
15125
{
15126
"begin": "((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\(",
15127
"end": "\\)(?:(?:_r|re)|regex)\\\"|(?=\\\\end\\{(?:minted|cppcode)\\})",
15128
"beginCaptures": {
15129
"0": {
15130
"name": "punctuation.definition.string.begin.cpp"
15131
},
15132
"1": {
15133
"name": "meta.encoding.cpp"
15134
}
15135
},
15136
"endCaptures": {
15137
"0": {
15138
"name": "punctuation.definition.string.end.cpp"
15139
}
15140
},
15141
"name": "string.quoted.double.raw.regex.cpp",
15142
"patterns": [
15143
{
15144
"include": "source.regexp.python"
15145
}
15146
]
15147
},
15148
{
15149
"begin": "((?:[uUL]8?)?R)\\\"(?:glsl|GLSL)\\(",
15150
"end": "\\)(?:glsl|GLSL)\\\"|(?=\\\\end\\{(?:minted|cppcode)\\})",
15151
"beginCaptures": {
15152
"0": {
15153
"name": "punctuation.definition.string.begin.cpp"
15154
},
15155
"1": {
15156
"name": "meta.encoding.cpp"
15157
}
15158
},
15159
"endCaptures": {
15160
"0": {
15161
"name": "punctuation.definition.string.end.cpp"
15162
}
15163
},
15164
"name": "meta.string.quoted.double.raw.glsl.cpp",
15165
"patterns": [
15166
{
15167
"include": "source.glsl"
15168
}
15169
]
15170
},
15171
{
15172
"begin": "((?:[uUL]8?)?R)\\\"\\(",
15173
"end": "\\)\\\"|(?=\\\\end\\{(?:minted|cppcode)\\})",
15174
"beginCaptures": {
15175
"0": {
15176
"name": "punctuation.definition.string.begin.cpp"
15177
},
15178
"1": {
15179
"name": "meta.encoding.cpp"
15180
}
15181
},
15182
"endCaptures": {
15183
"0": {
15184
"name": "punctuation.definition.string.end.cpp"
15185
}
15186
},
15187
"name": "string.quoted.double.raw.cpp",
15188
"patterns": [
15189
{}
15190
]
15191
},
15192
{
15193
"begin": "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(",
15194
"beginCaptures": {
15195
"0": {
15196
"name": "punctuation.definition.string.$2.begin"
15197
},
15198
"1": {
15199
"name": "meta.encoding"
15200
},
15201
"3": {
15202
"name": "invalid.illegal.delimiter-too-long"
15203
}
15204
},
15205
"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}))*))?|(?=\\\\end\\{(?:minted|cppcode)\\})",
15206
"endCaptures": {
15207
"1": {
15208
"name": "punctuation.definition.string.$2.end"
15209
},
15210
"3": {
15211
"name": "invalid.illegal.delimiter-too-long"
15212
},
15213
"4": {
15214
"name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp"
15215
},
15216
"5": {
15217
"name": "keyword.other.suffix.literal.user-defined.string.cpp"
15218
}
15219
},
15220
"name": "string.quoted.double.raw.$2"
15221
}
15222
]
15223
},
15224
"string_escaped_char": {
15225
"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} )",
15226
"name": "constant.character.escape"
15227
},
15228
"string_escapes_context_c": {
15229
"patterns": [
15230
{
15231
"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} )",
15232
"name": "constant.character.escape"
15233
},
15234
{
15235
"match": "\\\\.",
15236
"name": "invalid.illegal.unknown-escape"
15237
},
15238
{
15239
"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",
15240
"name": "constant.other.placeholder"
15241
}
15242
]
15243
},
15244
"struct_block": {
15245
"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))(:(?!:)))?)",
15246
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
15247
"beginCaptures": {
15248
"0": {
15249
"name": "meta.head.struct.cpp"
15250
},
15251
"1": {
15252
"name": "storage.type.$1.cpp"
15253
},
15254
"2": {
15255
"patterns": [
15256
{
15257
"include": "#inline_comment"
15258
}
15259
]
15260
},
15261
"3": {
15262
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15263
},
15264
"4": {
15265
"name": "comment.block.cpp"
15266
},
15267
"5": {
15268
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15269
},
15270
"6": {
15271
"patterns": [
15272
{
15273
"include": "#attributes_context"
15274
},
15275
{
15276
"include": "#number_literal"
15277
}
15278
]
15279
},
15280
"7": {
15281
"patterns": [
15282
{
15283
"include": "#inline_comment"
15284
}
15285
]
15286
},
15287
"8": {
15288
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15289
},
15290
"9": {
15291
"name": "comment.block.cpp"
15292
},
15293
"10": {
15294
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15295
},
15296
"11": {
15297
"patterns": [
15298
{
15299
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
15300
"captures": {
15301
"1": {
15302
"name": "storage.type.modifier.final.cpp"
15303
},
15304
"2": {
15305
"patterns": [
15306
{
15307
"include": "#inline_comment"
15308
}
15309
]
15310
},
15311
"3": {
15312
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15313
},
15314
"4": {
15315
"name": "comment.block.cpp"
15316
},
15317
"5": {
15318
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15319
}
15320
}
15321
},
15322
{
15323
"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)))?(?=:|{|$)",
15324
"captures": {
15325
"1": {
15326
"name": "entity.name.type.struct.cpp"
15327
},
15328
"2": {
15329
"patterns": [
15330
{
15331
"include": "#inline_comment"
15332
}
15333
]
15334
},
15335
"3": {
15336
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15337
},
15338
"4": {
15339
"name": "comment.block.cpp"
15340
},
15341
"5": {
15342
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15343
},
15344
"6": {
15345
"name": "storage.type.modifier.final.cpp"
15346
},
15347
"7": {
15348
"patterns": [
15349
{
15350
"include": "#inline_comment"
15351
}
15352
]
15353
},
15354
"8": {
15355
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15356
},
15357
"9": {
15358
"name": "comment.block.cpp"
15359
},
15360
"10": {
15361
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15362
}
15363
}
15364
},
15365
{
15366
"match": "DLLEXPORT",
15367
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
15368
},
15369
{
15370
"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}))*",
15371
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
15372
}
15373
]
15374
},
15375
"12": {
15376
"patterns": [
15377
{
15378
"include": "#inline_comment"
15379
}
15380
]
15381
},
15382
"13": {
15383
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15384
},
15385
"14": {
15386
"name": "comment.block.cpp"
15387
},
15388
"15": {
15389
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15390
},
15391
"16": {
15392
"patterns": [
15393
{
15394
"include": "#inline_comment"
15395
}
15396
]
15397
},
15398
"17": {
15399
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15400
},
15401
"18": {
15402
"name": "comment.block.cpp"
15403
},
15404
"19": {
15405
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15406
},
15407
"20": {
15408
"name": "punctuation.separator.colon.inheritance.cpp"
15409
}
15410
},
15411
"endCaptures": {
15412
"1": {
15413
"name": "punctuation.terminator.statement.cpp"
15414
},
15415
"2": {
15416
"name": "punctuation.terminator.statement.cpp"
15417
}
15418
},
15419
"name": "meta.block.struct.cpp",
15420
"patterns": [
15421
{
15422
"begin": "\\G ?",
15423
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
15424
"beginCaptures": {},
15425
"endCaptures": {
15426
"0": {
15427
"name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
15428
}
15429
},
15430
"name": "meta.head.struct.cpp",
15431
"patterns": [
15432
{
15433
"include": "#ever_present_context"
15434
},
15435
{
15436
"include": "#inheritance_context"
15437
},
15438
{
15439
"include": "#template_call_range_helper"
15440
}
15441
]
15442
},
15443
{
15444
"begin": "(?<=\\{|<%|\\?\\?<)",
15445
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
15446
"beginCaptures": {},
15447
"endCaptures": {
15448
"0": {
15449
"name": "punctuation.section.block.end.bracket.curly.struct.cpp"
15450
}
15451
},
15452
"name": "meta.body.struct.cpp",
15453
"patterns": [
15454
{
15455
"include": "#function_pointer"
15456
},
15457
{
15458
"include": "#static_assert"
15459
},
15460
{
15461
"include": "#constructor_inline"
15462
},
15463
{
15464
"include": "#destructor_inline"
15465
},
15466
{
15467
"include": "#operator_overload"
15468
},
15469
{
15470
"include": "#normal_variable_declaration"
15471
},
15472
{
15473
"include": "#normal_variable_assignment"
15474
},
15475
{
15476
"include": "$self"
15477
}
15478
]
15479
},
15480
{
15481
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
15482
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
15483
"beginCaptures": {},
15484
"endCaptures": {},
15485
"name": "meta.tail.struct.cpp",
15486
"patterns": [
15487
{
15488
"include": "$self"
15489
}
15490
]
15491
}
15492
]
15493
},
15494
"struct_declare": {
15495
"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])",
15496
"captures": {
15497
"1": {
15498
"name": "storage.type.struct.declare.cpp"
15499
},
15500
"2": {
15501
"patterns": [
15502
{
15503
"include": "#inline_comment"
15504
}
15505
]
15506
},
15507
"3": {
15508
"patterns": [
15509
{
15510
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15511
"captures": {
15512
"1": {
15513
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15514
},
15515
"2": {
15516
"name": "comment.block.cpp"
15517
},
15518
"3": {
15519
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15520
}
15521
}
15522
}
15523
]
15524
},
15525
"4": {
15526
"name": "entity.name.type.struct.cpp"
15527
},
15528
"5": {
15529
"patterns": [
15530
{
15531
"match": "\\*",
15532
"name": "storage.modifier.pointer.cpp"
15533
},
15534
{
15535
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
15536
"captures": {
15537
"1": {
15538
"patterns": [
15539
{
15540
"include": "#inline_comment"
15541
}
15542
]
15543
},
15544
"2": {
15545
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15546
},
15547
"3": {
15548
"name": "comment.block.cpp"
15549
},
15550
"4": {
15551
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15552
}
15553
},
15554
"name": "invalid.illegal.reference-type.cpp"
15555
},
15556
{
15557
"match": "\\&",
15558
"name": "storage.modifier.reference.cpp"
15559
}
15560
]
15561
},
15562
"6": {
15563
"patterns": [
15564
{
15565
"include": "#inline_comment"
15566
}
15567
]
15568
},
15569
"7": {
15570
"patterns": [
15571
{
15572
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15573
"captures": {
15574
"1": {
15575
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15576
},
15577
"2": {
15578
"name": "comment.block.cpp"
15579
},
15580
"3": {
15581
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15582
}
15583
}
15584
}
15585
]
15586
},
15587
"8": {
15588
"patterns": [
15589
{
15590
"include": "#inline_comment"
15591
}
15592
]
15593
},
15594
"9": {
15595
"patterns": [
15596
{
15597
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15598
"captures": {
15599
"1": {
15600
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15601
},
15602
"2": {
15603
"name": "comment.block.cpp"
15604
},
15605
"3": {
15606
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15607
}
15608
}
15609
}
15610
]
15611
},
15612
"10": {
15613
"patterns": [
15614
{
15615
"include": "#inline_comment"
15616
}
15617
]
15618
},
15619
"11": {
15620
"patterns": [
15621
{
15622
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15623
"captures": {
15624
"1": {
15625
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15626
},
15627
"2": {
15628
"name": "comment.block.cpp"
15629
},
15630
"3": {
15631
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15632
}
15633
}
15634
}
15635
]
15636
},
15637
"12": {
15638
"name": "variable.other.object.declare.cpp"
15639
},
15640
"13": {
15641
"patterns": [
15642
{
15643
"include": "#inline_comment"
15644
}
15645
]
15646
},
15647
"14": {
15648
"patterns": [
15649
{
15650
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15651
"captures": {
15652
"1": {
15653
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15654
},
15655
"2": {
15656
"name": "comment.block.cpp"
15657
},
15658
"3": {
15659
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15660
}
15661
}
15662
}
15663
]
15664
}
15665
}
15666
},
15667
"switch_conditional_parentheses": {
15668
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
15669
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
15670
"beginCaptures": {
15671
"1": {
15672
"patterns": [
15673
{
15674
"include": "#inline_comment"
15675
}
15676
]
15677
},
15678
"2": {
15679
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15680
},
15681
"3": {
15682
"name": "comment.block.cpp"
15683
},
15684
"4": {
15685
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15686
},
15687
"5": {
15688
"name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"
15689
}
15690
},
15691
"endCaptures": {
15692
"0": {
15693
"name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp"
15694
}
15695
},
15696
"name": "meta.conditional.switch.cpp",
15697
"patterns": [
15698
{
15699
"include": "#range_for_inner"
15700
},
15701
{
15702
"include": "#evaluation_context"
15703
}
15704
]
15705
},
15706
"switch_statement": {
15707
"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)switch(?!\\w))",
15708
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
15709
"beginCaptures": {
15710
"0": {
15711
"name": "meta.head.switch.cpp"
15712
},
15713
"1": {
15714
"patterns": [
15715
{
15716
"include": "#inline_comment"
15717
}
15718
]
15719
},
15720
"2": {
15721
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15722
},
15723
"3": {
15724
"name": "comment.block.cpp"
15725
},
15726
"4": {
15727
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15728
},
15729
"5": {
15730
"name": "keyword.control.switch.cpp"
15731
}
15732
},
15733
"endCaptures": {},
15734
"name": "meta.block.switch.cpp",
15735
"patterns": [
15736
{
15737
"begin": "\\G ?",
15738
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
15739
"beginCaptures": {},
15740
"endCaptures": {
15741
"0": {
15742
"name": "punctuation.section.block.begin.bracket.curly.switch.cpp"
15743
}
15744
},
15745
"name": "meta.head.switch.cpp",
15746
"patterns": [
15747
{
15748
"include": "#switch_conditional_parentheses"
15749
},
15750
{
15751
"include": "$self"
15752
}
15753
]
15754
},
15755
{
15756
"begin": "(?<=\\{|<%|\\?\\?<)",
15757
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
15758
"beginCaptures": {},
15759
"endCaptures": {
15760
"0": {
15761
"name": "punctuation.section.block.end.bracket.curly.switch.cpp"
15762
}
15763
},
15764
"name": "meta.body.switch.cpp",
15765
"patterns": [
15766
{
15767
"include": "#default_statement"
15768
},
15769
{
15770
"include": "#case_statement"
15771
},
15772
{
15773
"include": "$self"
15774
}
15775
]
15776
},
15777
{
15778
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
15779
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
15780
"beginCaptures": {},
15781
"endCaptures": {},
15782
"name": "meta.tail.switch.cpp",
15783
"patterns": [
15784
{
15785
"include": "$self"
15786
}
15787
]
15788
}
15789
]
15790
},
15791
"template_argument_defaulted": {
15792
"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+)?(\\=)",
15793
"captures": {
15794
"1": {
15795
"name": "storage.type.template.argument.$1.cpp"
15796
},
15797
"2": {
15798
"name": "entity.name.type.template.cpp"
15799
},
15800
"3": {
15801
"name": "keyword.operator.assignment.cpp"
15802
}
15803
}
15804
},
15805
"template_call_context": {
15806
"patterns": [
15807
{
15808
"include": "#ever_present_context"
15809
},
15810
{
15811
"include": "#template_call_range_helper"
15812
},
15813
{
15814
"include": "#storage_types"
15815
},
15816
{
15817
"include": "#language_constants"
15818
},
15819
{
15820
"include": "#scope_resolution_template_call_inner_generated"
15821
},
15822
{
15823
"include": "#operators"
15824
},
15825
{
15826
"include": "#number_literal"
15827
},
15828
{
15829
"include": "#string_context"
15830
},
15831
{
15832
"include": "#comma_in_template_argument"
15833
},
15834
{
15835
"include": "#qualified_type"
15836
}
15837
]
15838
},
15839
"template_call_innards": {
15840
"match": "((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<1>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+",
15841
"captures": {
15842
"0": {
15843
"patterns": [
15844
{
15845
"include": "#template_call_range_helper"
15846
}
15847
]
15848
},
15849
"2": {
15850
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15851
},
15852
"3": {
15853
"name": "comment.block.cpp"
15854
},
15855
"4": {
15856
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15857
}
15858
},
15859
"name": "meta.template.call.cpp"
15860
},
15861
"template_call_range": {
15862
"begin": "<",
15863
"end": ">|(?=\\\\end\\{(?:minted|cppcode)\\})",
15864
"beginCaptures": {
15865
"0": {
15866
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
15867
}
15868
},
15869
"endCaptures": {
15870
"0": {
15871
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
15872
}
15873
},
15874
"name": "meta.template.call.cpp",
15875
"patterns": [
15876
{
15877
"include": "#template_call_context"
15878
}
15879
]
15880
},
15881
"template_call_range_helper": {
15882
"patterns": [
15883
{
15884
"match": "\\b((?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(<<)",
15885
"captures": {
15886
"1": {
15887
"patterns": [
15888
{
15889
"begin": "(?=.)",
15890
"end": "$|(?=\\\\end\\{(?:minted|cppcode)\\})",
15891
"beginCaptures": {},
15892
"endCaptures": {},
15893
"patterns": [
15894
{
15895
"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*)?$)",
15896
"captures": {
15897
"1": {
15898
"name": "keyword.other.unit.hexadecimal.cpp"
15899
},
15900
"2": {
15901
"name": "constant.numeric.hexadecimal.cpp",
15902
"patterns": [
15903
{
15904
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
15905
"name": "punctuation.separator.constant.numeric.cpp"
15906
}
15907
]
15908
},
15909
"3": {
15910
"name": "punctuation.separator.constant.numeric.cpp"
15911
},
15912
"4": {
15913
"name": "constant.numeric.hexadecimal.cpp"
15914
},
15915
"5": {
15916
"name": "constant.numeric.hexadecimal.cpp",
15917
"patterns": [
15918
{
15919
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
15920
"name": "punctuation.separator.constant.numeric.cpp"
15921
}
15922
]
15923
},
15924
"6": {
15925
"name": "punctuation.separator.constant.numeric.cpp"
15926
},
15927
"7": {
15928
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
15929
},
15930
"8": {
15931
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
15932
},
15933
"9": {
15934
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
15935
},
15936
"10": {
15937
"name": "constant.numeric.exponent.hexadecimal.cpp",
15938
"patterns": [
15939
{
15940
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
15941
"name": "punctuation.separator.constant.numeric.cpp"
15942
}
15943
]
15944
},
15945
"11": {
15946
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
15947
},
15948
"12": {
15949
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
15950
}
15951
}
15952
},
15953
{
15954
"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*)?$)",
15955
"captures": {
15956
"1": {
15957
"name": "constant.numeric.decimal.cpp",
15958
"patterns": [
15959
{
15960
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
15961
"name": "punctuation.separator.constant.numeric.cpp"
15962
}
15963
]
15964
},
15965
"2": {
15966
"name": "punctuation.separator.constant.numeric.cpp"
15967
},
15968
"3": {
15969
"name": "constant.numeric.decimal.point.cpp"
15970
},
15971
"4": {
15972
"name": "constant.numeric.decimal.cpp",
15973
"patterns": [
15974
{
15975
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
15976
"name": "punctuation.separator.constant.numeric.cpp"
15977
}
15978
]
15979
},
15980
"5": {
15981
"name": "punctuation.separator.constant.numeric.cpp"
15982
},
15983
"6": {
15984
"name": "keyword.other.unit.exponent.decimal.cpp"
15985
},
15986
"7": {
15987
"name": "keyword.operator.plus.exponent.decimal.cpp"
15988
},
15989
"8": {
15990
"name": "keyword.operator.minus.exponent.decimal.cpp"
15991
},
15992
"9": {
15993
"name": "constant.numeric.exponent.decimal.cpp",
15994
"patterns": [
15995
{
15996
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
15997
"name": "punctuation.separator.constant.numeric.cpp"
15998
}
15999
]
16000
},
16001
"10": {
16002
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
16003
},
16004
"11": {
16005
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
16006
}
16007
}
16008
},
16009
{
16010
"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*)?$)",
16011
"captures": {
16012
"1": {
16013
"name": "keyword.other.unit.binary.cpp"
16014
},
16015
"2": {
16016
"name": "constant.numeric.binary.cpp",
16017
"patterns": [
16018
{
16019
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16020
"name": "punctuation.separator.constant.numeric.cpp"
16021
}
16022
]
16023
},
16024
"3": {
16025
"name": "punctuation.separator.constant.numeric.cpp"
16026
},
16027
"4": {
16028
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
16029
},
16030
"5": {
16031
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
16032
}
16033
}
16034
},
16035
{
16036
"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*)?$)",
16037
"captures": {
16038
"1": {
16039
"name": "keyword.other.unit.octal.cpp"
16040
},
16041
"2": {
16042
"name": "constant.numeric.octal.cpp",
16043
"patterns": [
16044
{
16045
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16046
"name": "punctuation.separator.constant.numeric.cpp"
16047
}
16048
]
16049
},
16050
"3": {
16051
"name": "punctuation.separator.constant.numeric.cpp"
16052
},
16053
"4": {
16054
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
16055
},
16056
"5": {
16057
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
16058
}
16059
}
16060
},
16061
{
16062
"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*)?$)",
16063
"captures": {
16064
"1": {
16065
"name": "keyword.other.unit.hexadecimal.cpp"
16066
},
16067
"2": {
16068
"name": "constant.numeric.hexadecimal.cpp",
16069
"patterns": [
16070
{
16071
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16072
"name": "punctuation.separator.constant.numeric.cpp"
16073
}
16074
]
16075
},
16076
"3": {
16077
"name": "punctuation.separator.constant.numeric.cpp"
16078
},
16079
"4": {
16080
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
16081
},
16082
"5": {
16083
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
16084
},
16085
"6": {
16086
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
16087
},
16088
"7": {
16089
"name": "constant.numeric.exponent.hexadecimal.cpp",
16090
"patterns": [
16091
{
16092
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16093
"name": "punctuation.separator.constant.numeric.cpp"
16094
}
16095
]
16096
},
16097
"8": {
16098
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
16099
},
16100
"9": {
16101
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
16102
}
16103
}
16104
},
16105
{
16106
"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*)?$)",
16107
"captures": {
16108
"1": {
16109
"name": "constant.numeric.decimal.cpp",
16110
"patterns": [
16111
{
16112
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16113
"name": "punctuation.separator.constant.numeric.cpp"
16114
}
16115
]
16116
},
16117
"2": {
16118
"name": "punctuation.separator.constant.numeric.cpp"
16119
},
16120
"3": {
16121
"name": "keyword.other.unit.exponent.decimal.cpp"
16122
},
16123
"4": {
16124
"name": "keyword.operator.plus.exponent.decimal.cpp"
16125
},
16126
"5": {
16127
"name": "keyword.operator.minus.exponent.decimal.cpp"
16128
},
16129
"6": {
16130
"name": "constant.numeric.exponent.decimal.cpp",
16131
"patterns": [
16132
{
16133
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16134
"name": "punctuation.separator.constant.numeric.cpp"
16135
}
16136
]
16137
},
16138
"7": {
16139
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
16140
},
16141
"8": {
16142
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
16143
}
16144
}
16145
},
16146
{
16147
"match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
16148
"name": "invalid.illegal.constant.numeric.cpp"
16149
}
16150
]
16151
}
16152
]
16153
},
16154
"2": {
16155
"patterns": [
16156
{
16157
"include": "#inline_comment"
16158
}
16159
]
16160
},
16161
"3": {
16162
"patterns": [
16163
{
16164
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16165
"captures": {
16166
"1": {
16167
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16168
},
16169
"2": {
16170
"name": "comment.block.cpp"
16171
},
16172
"3": {
16173
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16174
}
16175
}
16176
}
16177
]
16178
},
16179
"4": {
16180
"name": "keyword.operator.bitwise.shift.cpp"
16181
}
16182
}
16183
},
16184
{
16185
"match": "\\b((?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(<)",
16186
"captures": {
16187
"1": {
16188
"patterns": [
16189
{
16190
"begin": "(?=.)",
16191
"end": "$|(?=\\\\end\\{(?:minted|cppcode)\\})",
16192
"beginCaptures": {},
16193
"endCaptures": {},
16194
"patterns": [
16195
{
16196
"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*)?$)",
16197
"captures": {
16198
"1": {
16199
"name": "keyword.other.unit.hexadecimal.cpp"
16200
},
16201
"2": {
16202
"name": "constant.numeric.hexadecimal.cpp",
16203
"patterns": [
16204
{
16205
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16206
"name": "punctuation.separator.constant.numeric.cpp"
16207
}
16208
]
16209
},
16210
"3": {
16211
"name": "punctuation.separator.constant.numeric.cpp"
16212
},
16213
"4": {
16214
"name": "constant.numeric.hexadecimal.cpp"
16215
},
16216
"5": {
16217
"name": "constant.numeric.hexadecimal.cpp",
16218
"patterns": [
16219
{
16220
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16221
"name": "punctuation.separator.constant.numeric.cpp"
16222
}
16223
]
16224
},
16225
"6": {
16226
"name": "punctuation.separator.constant.numeric.cpp"
16227
},
16228
"7": {
16229
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
16230
},
16231
"8": {
16232
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
16233
},
16234
"9": {
16235
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
16236
},
16237
"10": {
16238
"name": "constant.numeric.exponent.hexadecimal.cpp",
16239
"patterns": [
16240
{
16241
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16242
"name": "punctuation.separator.constant.numeric.cpp"
16243
}
16244
]
16245
},
16246
"11": {
16247
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
16248
},
16249
"12": {
16250
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
16251
}
16252
}
16253
},
16254
{
16255
"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*)?$)",
16256
"captures": {
16257
"1": {
16258
"name": "constant.numeric.decimal.cpp",
16259
"patterns": [
16260
{
16261
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16262
"name": "punctuation.separator.constant.numeric.cpp"
16263
}
16264
]
16265
},
16266
"2": {
16267
"name": "punctuation.separator.constant.numeric.cpp"
16268
},
16269
"3": {
16270
"name": "constant.numeric.decimal.point.cpp"
16271
},
16272
"4": {
16273
"name": "constant.numeric.decimal.cpp",
16274
"patterns": [
16275
{
16276
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16277
"name": "punctuation.separator.constant.numeric.cpp"
16278
}
16279
]
16280
},
16281
"5": {
16282
"name": "punctuation.separator.constant.numeric.cpp"
16283
},
16284
"6": {
16285
"name": "keyword.other.unit.exponent.decimal.cpp"
16286
},
16287
"7": {
16288
"name": "keyword.operator.plus.exponent.decimal.cpp"
16289
},
16290
"8": {
16291
"name": "keyword.operator.minus.exponent.decimal.cpp"
16292
},
16293
"9": {
16294
"name": "constant.numeric.exponent.decimal.cpp",
16295
"patterns": [
16296
{
16297
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16298
"name": "punctuation.separator.constant.numeric.cpp"
16299
}
16300
]
16301
},
16302
"10": {
16303
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
16304
},
16305
"11": {
16306
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
16307
}
16308
}
16309
},
16310
{
16311
"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*)?$)",
16312
"captures": {
16313
"1": {
16314
"name": "keyword.other.unit.binary.cpp"
16315
},
16316
"2": {
16317
"name": "constant.numeric.binary.cpp",
16318
"patterns": [
16319
{
16320
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16321
"name": "punctuation.separator.constant.numeric.cpp"
16322
}
16323
]
16324
},
16325
"3": {
16326
"name": "punctuation.separator.constant.numeric.cpp"
16327
},
16328
"4": {
16329
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
16330
},
16331
"5": {
16332
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
16333
}
16334
}
16335
},
16336
{
16337
"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*)?$)",
16338
"captures": {
16339
"1": {
16340
"name": "keyword.other.unit.octal.cpp"
16341
},
16342
"2": {
16343
"name": "constant.numeric.octal.cpp",
16344
"patterns": [
16345
{
16346
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16347
"name": "punctuation.separator.constant.numeric.cpp"
16348
}
16349
]
16350
},
16351
"3": {
16352
"name": "punctuation.separator.constant.numeric.cpp"
16353
},
16354
"4": {
16355
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
16356
},
16357
"5": {
16358
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
16359
}
16360
}
16361
},
16362
{
16363
"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*)?$)",
16364
"captures": {
16365
"1": {
16366
"name": "keyword.other.unit.hexadecimal.cpp"
16367
},
16368
"2": {
16369
"name": "constant.numeric.hexadecimal.cpp",
16370
"patterns": [
16371
{
16372
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16373
"name": "punctuation.separator.constant.numeric.cpp"
16374
}
16375
]
16376
},
16377
"3": {
16378
"name": "punctuation.separator.constant.numeric.cpp"
16379
},
16380
"4": {
16381
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
16382
},
16383
"5": {
16384
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
16385
},
16386
"6": {
16387
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
16388
},
16389
"7": {
16390
"name": "constant.numeric.exponent.hexadecimal.cpp",
16391
"patterns": [
16392
{
16393
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16394
"name": "punctuation.separator.constant.numeric.cpp"
16395
}
16396
]
16397
},
16398
"8": {
16399
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
16400
},
16401
"9": {
16402
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
16403
}
16404
}
16405
},
16406
{
16407
"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*)?$)",
16408
"captures": {
16409
"1": {
16410
"name": "constant.numeric.decimal.cpp",
16411
"patterns": [
16412
{
16413
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16414
"name": "punctuation.separator.constant.numeric.cpp"
16415
}
16416
]
16417
},
16418
"2": {
16419
"name": "punctuation.separator.constant.numeric.cpp"
16420
},
16421
"3": {
16422
"name": "keyword.other.unit.exponent.decimal.cpp"
16423
},
16424
"4": {
16425
"name": "keyword.operator.plus.exponent.decimal.cpp"
16426
},
16427
"5": {
16428
"name": "keyword.operator.minus.exponent.decimal.cpp"
16429
},
16430
"6": {
16431
"name": "constant.numeric.exponent.decimal.cpp",
16432
"patterns": [
16433
{
16434
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
16435
"name": "punctuation.separator.constant.numeric.cpp"
16436
}
16437
]
16438
},
16439
"7": {
16440
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
16441
},
16442
"8": {
16443
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
16444
}
16445
}
16446
},
16447
{
16448
"match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
16449
"name": "invalid.illegal.constant.numeric.cpp"
16450
}
16451
]
16452
}
16453
]
16454
},
16455
"2": {
16456
"patterns": [
16457
{
16458
"include": "#inline_comment"
16459
}
16460
]
16461
},
16462
"3": {
16463
"patterns": [
16464
{
16465
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16466
"captures": {
16467
"1": {
16468
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16469
},
16470
"2": {
16471
"name": "comment.block.cpp"
16472
},
16473
"3": {
16474
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16475
}
16476
}
16477
}
16478
]
16479
},
16480
"4": {
16481
"name": "keyword.operator.comparison.cpp"
16482
}
16483
}
16484
},
16485
{
16486
"include": "#template_call_range"
16487
}
16488
]
16489
},
16490
"template_definition": {
16491
"begin": "(?<!\\w)(template)(?:\\s+)?(<)",
16492
"end": ">|(?=\\\\end\\{(?:minted|cppcode)\\})",
16493
"beginCaptures": {
16494
"1": {
16495
"name": "storage.type.template.cpp"
16496
},
16497
"2": {
16498
"name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
16499
}
16500
},
16501
"endCaptures": {
16502
"0": {
16503
"name": "punctuation.section.angle-brackets.end.template.definition.cpp"
16504
}
16505
},
16506
"name": "meta.template.definition.cpp",
16507
"patterns": [
16508
{
16509
"begin": "(?<=\\w)(?:\\s+)?<",
16510
"end": ">|(?=\\\\end\\{(?:minted|cppcode)\\})",
16511
"beginCaptures": {
16512
"0": {
16513
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
16514
}
16515
},
16516
"endCaptures": {
16517
"0": {
16518
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
16519
}
16520
},
16521
"patterns": [
16522
{
16523
"include": "#template_call_context"
16524
}
16525
]
16526
},
16527
{
16528
"include": "#template_definition_context"
16529
}
16530
]
16531
},
16532
"template_definition_argument": {
16533
"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}))*)?(?:(,)|(?=>|$))",
16534
"captures": {
16535
"1": {
16536
"patterns": [
16537
{
16538
"include": "#inline_comment"
16539
}
16540
]
16541
},
16542
"2": {
16543
"patterns": [
16544
{
16545
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16546
"captures": {
16547
"1": {
16548
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16549
},
16550
"2": {
16551
"name": "comment.block.cpp"
16552
},
16553
"3": {
16554
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16555
}
16556
}
16557
}
16558
]
16559
},
16560
"3": {
16561
"name": "storage.type.template.argument.$3.cpp"
16562
},
16563
"4": {
16564
"patterns": [
16565
{
16566
"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}))*",
16567
"name": "storage.type.template.argument.$0.cpp"
16568
}
16569
]
16570
},
16571
"5": {
16572
"name": "entity.name.type.template.cpp"
16573
},
16574
"6": {
16575
"name": "storage.type.template.argument.$6.cpp"
16576
},
16577
"7": {
16578
"name": "punctuation.vararg-ellipses.template.definition.cpp"
16579
},
16580
"8": {
16581
"name": "entity.name.type.template.cpp"
16582
},
16583
"9": {
16584
"name": "storage.type.template.cpp"
16585
},
16586
"10": {
16587
"name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
16588
},
16589
"11": {
16590
"name": "storage.type.template.argument.$11.cpp"
16591
},
16592
"12": {
16593
"name": "entity.name.type.template.cpp"
16594
},
16595
"13": {
16596
"name": "punctuation.section.angle-brackets.end.template.definition.cpp"
16597
},
16598
"14": {
16599
"name": "storage.type.template.argument.$14.cpp"
16600
},
16601
"15": {
16602
"name": "entity.name.type.template.cpp"
16603
},
16604
"16": {
16605
"name": "keyword.operator.assignment.cpp"
16606
},
16607
"17": {
16608
"name": "punctuation.separator.delimiter.comma.template.argument.cpp"
16609
}
16610
}
16611
},
16612
"template_definition_context": {
16613
"patterns": [
16614
{
16615
"include": "#scope_resolution_template_definition_inner_generated"
16616
},
16617
{
16618
"include": "#template_definition_argument"
16619
},
16620
{
16621
"include": "#template_argument_defaulted"
16622
},
16623
{
16624
"include": "#template_call_innards"
16625
},
16626
{
16627
"include": "#evaluation_context"
16628
}
16629
]
16630
},
16631
"template_explicit_instantiation": {
16632
"match": "(?<!\\w)(?:(extern)\\s+)?(template)\\s+",
16633
"captures": {
16634
"1": {
16635
"name": "storage.modifier.specifier.extern.cpp"
16636
},
16637
"2": {
16638
"name": "storage.type.template.cpp"
16639
}
16640
},
16641
"name": "meta.template.explicit-instantiation.cpp"
16642
},
16643
"template_isolated_definition": {
16644
"match": "(?<!\\w)(template)(?:\\s+)?(<)(.*)(>)(?:\\s+)?$",
16645
"captures": {
16646
"1": {
16647
"name": "storage.type.template.cpp"
16648
},
16649
"2": {
16650
"name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
16651
},
16652
"3": {
16653
"name": "meta.template.definition.cpp",
16654
"patterns": [
16655
{
16656
"include": "#template_definition_context"
16657
}
16658
]
16659
},
16660
"4": {
16661
"name": "punctuation.section.angle-brackets.end.template.definition.cpp"
16662
}
16663
}
16664
},
16665
"ternary_operator": {
16666
"begin": "\\?",
16667
"end": ":|(?=\\\\end\\{(?:minted|cppcode)\\})",
16668
"beginCaptures": {
16669
"0": {
16670
"name": "keyword.operator.ternary.cpp"
16671
}
16672
},
16673
"endCaptures": {
16674
"0": {
16675
"name": "keyword.operator.ternary.cpp"
16676
}
16677
},
16678
"patterns": [
16679
{
16680
"include": "#ever_present_context"
16681
},
16682
{
16683
"include": "#string_context"
16684
},
16685
{
16686
"include": "#number_literal"
16687
},
16688
{
16689
"include": "#method_access"
16690
},
16691
{
16692
"include": "#member_access"
16693
},
16694
{
16695
"include": "#predefined_macros"
16696
},
16697
{
16698
"include": "#operators"
16699
},
16700
{
16701
"include": "#memory_operators"
16702
},
16703
{
16704
"include": "#wordlike_operators"
16705
},
16706
{
16707
"include": "#type_casting_operators"
16708
},
16709
{
16710
"include": "#control_flow_keywords"
16711
},
16712
{
16713
"include": "#exception_keywords"
16714
},
16715
{
16716
"include": "#the_this_keyword"
16717
},
16718
{
16719
"include": "#language_constants"
16720
},
16721
{
16722
"include": "#constructor_bracket_call"
16723
},
16724
{
16725
"include": "#simple_constructor_call"
16726
},
16727
{
16728
"include": "#simple_array_assignment"
16729
},
16730
{
16731
"include": "#builtin_storage_type_initilizer"
16732
},
16733
{
16734
"include": "#qualifiers_and_specifiers_post_parameters"
16735
},
16736
{
16737
"include": "#functional_specifiers_pre_parameters"
16738
},
16739
{
16740
"include": "#storage_types"
16741
},
16742
{
16743
"include": "#lambdas"
16744
},
16745
{
16746
"include": "#attributes_context"
16747
},
16748
{
16749
"include": "#parentheses"
16750
},
16751
{
16752
"include": "#function_call"
16753
},
16754
{
16755
"include": "#scope_resolution_inner_generated"
16756
},
16757
{
16758
"include": "#square_brackets"
16759
},
16760
{
16761
"include": "#semicolon"
16762
},
16763
{
16764
"include": "#comma"
16765
},
16766
{
16767
"include": "#unknown_variable"
16768
}
16769
],
16770
"applyEndPatternLast": 1
16771
},
16772
"the_this_keyword": {
16773
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))",
16774
"captures": {
16775
"1": {
16776
"patterns": [
16777
{
16778
"include": "#inline_comment"
16779
}
16780
]
16781
},
16782
"2": {
16783
"patterns": [
16784
{
16785
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16786
"captures": {
16787
"1": {
16788
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16789
},
16790
"2": {
16791
"name": "comment.block.cpp"
16792
},
16793
"3": {
16794
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16795
}
16796
}
16797
}
16798
]
16799
},
16800
"3": {
16801
"name": "variable.language.this.cpp"
16802
}
16803
}
16804
},
16805
"type_alias": {
16806
"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)",
16807
"captures": {
16808
"1": {
16809
"name": "keyword.other.using.directive.cpp"
16810
},
16811
"2": {
16812
"name": "entity.name.type.cpp"
16813
},
16814
"3": {
16815
"patterns": [
16816
{
16817
"include": "#attributes_context"
16818
},
16819
{
16820
"include": "#number_literal"
16821
}
16822
]
16823
},
16824
"4": {
16825
"name": "keyword.operator.assignment.cpp"
16826
},
16827
"5": {
16828
"name": "keyword.other.typename.cpp"
16829
},
16830
"6": {
16831
"patterns": [
16832
{
16833
"include": "#storage_specifiers"
16834
}
16835
]
16836
},
16837
"7": {
16838
"patterns": [
16839
{
16840
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16841
"captures": {
16842
"1": {
16843
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16844
},
16845
"2": {
16846
"name": "comment.block.cpp"
16847
},
16848
"3": {
16849
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16850
}
16851
}
16852
}
16853
]
16854
},
16855
"8": {
16856
"name": "meta.qualified-type.cpp",
16857
"patterns": [
16858
{
16859
"match": "::",
16860
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
16861
},
16862
{
16863
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
16864
"name": "storage.type.$0.cpp"
16865
},
16866
{
16867
"include": "#attributes_context"
16868
},
16869
{
16870
"include": "#storage_types"
16871
},
16872
{
16873
"include": "#number_literal"
16874
},
16875
{
16876
"include": "#string_context"
16877
},
16878
{
16879
"include": "#comma"
16880
},
16881
{
16882
"include": "#scope_resolution_inner_generated"
16883
},
16884
{
16885
"include": "#template_call_range_helper"
16886
},
16887
{
16888
"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}))*",
16889
"name": "entity.name.type.cpp"
16890
}
16891
]
16892
},
16893
"9": {
16894
"patterns": [
16895
{
16896
"include": "#attributes_context"
16897
},
16898
{
16899
"include": "#number_literal"
16900
}
16901
]
16902
},
16903
"10": {
16904
"patterns": [
16905
{
16906
"include": "#inline_comment"
16907
}
16908
]
16909
},
16910
"11": {
16911
"patterns": [
16912
{
16913
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16914
"captures": {
16915
"1": {
16916
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16917
},
16918
"2": {
16919
"name": "comment.block.cpp"
16920
},
16921
"3": {
16922
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16923
}
16924
}
16925
}
16926
]
16927
},
16928
"12": {
16929
"patterns": [
16930
{
16931
"include": "#inline_comment"
16932
}
16933
]
16934
},
16935
"13": {
16936
"patterns": [
16937
{
16938
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16939
"captures": {
16940
"1": {
16941
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16942
},
16943
"2": {
16944
"name": "comment.block.cpp"
16945
},
16946
"3": {
16947
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16948
}
16949
}
16950
}
16951
]
16952
},
16953
"14": {
16954
"patterns": [
16955
{
16956
"match": "::",
16957
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
16958
},
16959
{
16960
"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)",
16961
"name": "entity.name.scope-resolution.type.cpp"
16962
},
16963
{
16964
"include": "#template_call_range_helper"
16965
}
16966
]
16967
},
16968
"15": {
16969
"patterns": [
16970
{
16971
"include": "#template_call_range_helper"
16972
}
16973
]
16974
},
16975
"17": {
16976
"patterns": [
16977
{
16978
"include": "#inline_comment"
16979
}
16980
]
16981
},
16982
"18": {
16983
"patterns": [
16984
{
16985
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16986
"captures": {
16987
"1": {
16988
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16989
},
16990
"2": {
16991
"name": "comment.block.cpp"
16992
},
16993
"3": {
16994
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16995
}
16996
}
16997
}
16998
]
16999
},
17000
"20": {
17001
"name": "meta.declaration.type.alias.value.unknown.cpp",
17002
"patterns": [
17003
{
17004
"include": "#evaluation_context"
17005
}
17006
]
17007
},
17008
"21": {
17009
"patterns": [
17010
{
17011
"match": "\\*",
17012
"name": "storage.modifier.pointer.cpp"
17013
},
17014
{
17015
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
17016
"captures": {
17017
"1": {
17018
"patterns": [
17019
{
17020
"include": "#inline_comment"
17021
}
17022
]
17023
},
17024
"2": {
17025
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17026
},
17027
"3": {
17028
"name": "comment.block.cpp"
17029
},
17030
"4": {
17031
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17032
}
17033
},
17034
"name": "invalid.illegal.reference-type.cpp"
17035
},
17036
{
17037
"match": "\\&",
17038
"name": "storage.modifier.reference.cpp"
17039
}
17040
]
17041
},
17042
"22": {
17043
"patterns": [
17044
{
17045
"include": "#inline_comment"
17046
}
17047
]
17048
},
17049
"23": {
17050
"patterns": [
17051
{
17052
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
17053
"captures": {
17054
"1": {
17055
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17056
},
17057
"2": {
17058
"name": "comment.block.cpp"
17059
},
17060
"3": {
17061
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17062
}
17063
}
17064
}
17065
]
17066
},
17067
"24": {
17068
"patterns": [
17069
{
17070
"include": "#inline_comment"
17071
}
17072
]
17073
},
17074
"25": {
17075
"patterns": [
17076
{
17077
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
17078
"captures": {
17079
"1": {
17080
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17081
},
17082
"2": {
17083
"name": "comment.block.cpp"
17084
},
17085
"3": {
17086
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17087
}
17088
}
17089
}
17090
]
17091
},
17092
"26": {
17093
"patterns": [
17094
{
17095
"include": "#inline_comment"
17096
}
17097
]
17098
},
17099
"27": {
17100
"patterns": [
17101
{
17102
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
17103
"captures": {
17104
"1": {
17105
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17106
},
17107
"2": {
17108
"name": "comment.block.cpp"
17109
},
17110
"3": {
17111
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17112
}
17113
}
17114
}
17115
]
17116
},
17117
"28": {
17118
"name": "punctuation.definition.begin.bracket.square.cpp"
17119
},
17120
"29": {
17121
"patterns": [
17122
{
17123
"include": "#evaluation_context"
17124
}
17125
]
17126
},
17127
"30": {
17128
"name": "punctuation.definition.end.bracket.square.cpp"
17129
},
17130
"31": {
17131
"name": "punctuation.terminator.statement.cpp"
17132
}
17133
},
17134
"name": "meta.declaration.type.alias.cpp"
17135
},
17136
"type_casting_operators": {
17137
"match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:reinterpret_cast|dynamic_cast|static_cast|const_cast)(?!\\w))",
17138
"captures": {
17139
"1": {
17140
"patterns": [
17141
{
17142
"include": "#inline_comment"
17143
}
17144
]
17145
},
17146
"2": {
17147
"patterns": [
17148
{
17149
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
17150
"captures": {
17151
"1": {
17152
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17153
},
17154
"2": {
17155
"name": "comment.block.cpp"
17156
},
17157
"3": {
17158
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17159
}
17160
}
17161
}
17162
]
17163
},
17164
"3": {
17165
"name": "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"
17166
}
17167
}
17168
},
17169
"typedef_class": {
17170
"begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)class(?!\\w))",
17171
"end": "(?<=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
17172
"beginCaptures": {
17173
"1": {
17174
"name": "keyword.other.typedef.cpp"
17175
}
17176
},
17177
"endCaptures": {},
17178
"patterns": [
17179
{
17180
"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))(:(?!:)))?)",
17181
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
17182
"beginCaptures": {
17183
"0": {
17184
"name": "meta.head.class.cpp"
17185
},
17186
"1": {
17187
"name": "storage.type.$1.cpp"
17188
},
17189
"2": {
17190
"patterns": [
17191
{
17192
"include": "#inline_comment"
17193
}
17194
]
17195
},
17196
"3": {
17197
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17198
},
17199
"4": {
17200
"name": "comment.block.cpp"
17201
},
17202
"5": {
17203
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17204
},
17205
"6": {
17206
"patterns": [
17207
{
17208
"include": "#attributes_context"
17209
},
17210
{
17211
"include": "#number_literal"
17212
}
17213
]
17214
},
17215
"7": {
17216
"patterns": [
17217
{
17218
"include": "#inline_comment"
17219
}
17220
]
17221
},
17222
"8": {
17223
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17224
},
17225
"9": {
17226
"name": "comment.block.cpp"
17227
},
17228
"10": {
17229
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17230
},
17231
"11": {
17232
"patterns": [
17233
{
17234
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
17235
"captures": {
17236
"1": {
17237
"name": "storage.type.modifier.final.cpp"
17238
},
17239
"2": {
17240
"patterns": [
17241
{
17242
"include": "#inline_comment"
17243
}
17244
]
17245
},
17246
"3": {
17247
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17248
},
17249
"4": {
17250
"name": "comment.block.cpp"
17251
},
17252
"5": {
17253
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17254
}
17255
}
17256
},
17257
{
17258
"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)))?(?=:|{|$)",
17259
"captures": {
17260
"1": {
17261
"name": "entity.name.type.class.cpp"
17262
},
17263
"2": {
17264
"patterns": [
17265
{
17266
"include": "#inline_comment"
17267
}
17268
]
17269
},
17270
"3": {
17271
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17272
},
17273
"4": {
17274
"name": "comment.block.cpp"
17275
},
17276
"5": {
17277
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17278
},
17279
"6": {
17280
"name": "storage.type.modifier.final.cpp"
17281
},
17282
"7": {
17283
"patterns": [
17284
{
17285
"include": "#inline_comment"
17286
}
17287
]
17288
},
17289
"8": {
17290
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17291
},
17292
"9": {
17293
"name": "comment.block.cpp"
17294
},
17295
"10": {
17296
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17297
}
17298
}
17299
},
17300
{
17301
"match": "DLLEXPORT",
17302
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
17303
},
17304
{
17305
"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}))*",
17306
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
17307
}
17308
]
17309
},
17310
"12": {
17311
"patterns": [
17312
{
17313
"include": "#inline_comment"
17314
}
17315
]
17316
},
17317
"13": {
17318
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17319
},
17320
"14": {
17321
"name": "comment.block.cpp"
17322
},
17323
"15": {
17324
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17325
},
17326
"16": {
17327
"patterns": [
17328
{
17329
"include": "#inline_comment"
17330
}
17331
]
17332
},
17333
"17": {
17334
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17335
},
17336
"18": {
17337
"name": "comment.block.cpp"
17338
},
17339
"19": {
17340
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17341
},
17342
"20": {
17343
"name": "punctuation.separator.colon.inheritance.cpp"
17344
}
17345
},
17346
"endCaptures": {
17347
"1": {
17348
"name": "punctuation.terminator.statement.cpp"
17349
},
17350
"2": {
17351
"name": "punctuation.terminator.statement.cpp"
17352
}
17353
},
17354
"name": "meta.block.class.cpp",
17355
"patterns": [
17356
{
17357
"begin": "\\G ?",
17358
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
17359
"beginCaptures": {},
17360
"endCaptures": {
17361
"0": {
17362
"name": "punctuation.section.block.begin.bracket.curly.class.cpp"
17363
}
17364
},
17365
"name": "meta.head.class.cpp",
17366
"patterns": [
17367
{
17368
"include": "#ever_present_context"
17369
},
17370
{
17371
"include": "#inheritance_context"
17372
},
17373
{
17374
"include": "#template_call_range_helper"
17375
}
17376
]
17377
},
17378
{
17379
"begin": "(?<=\\{|<%|\\?\\?<)",
17380
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
17381
"beginCaptures": {},
17382
"endCaptures": {
17383
"0": {
17384
"name": "punctuation.section.block.end.bracket.curly.class.cpp"
17385
}
17386
},
17387
"name": "meta.body.class.cpp",
17388
"patterns": [
17389
{
17390
"include": "#function_pointer"
17391
},
17392
{
17393
"include": "#static_assert"
17394
},
17395
{
17396
"include": "#constructor_inline"
17397
},
17398
{
17399
"include": "#destructor_inline"
17400
},
17401
{
17402
"include": "#operator_overload"
17403
},
17404
{
17405
"include": "#normal_variable_declaration"
17406
},
17407
{
17408
"include": "#normal_variable_assignment"
17409
},
17410
{
17411
"include": "$self"
17412
}
17413
]
17414
},
17415
{
17416
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
17417
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
17418
"beginCaptures": {},
17419
"endCaptures": {},
17420
"name": "meta.tail.class.cpp",
17421
"patterns": [
17422
{
17423
"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))",
17424
"captures": {
17425
"1": {
17426
"patterns": [
17427
{
17428
"match": "\\*",
17429
"name": "storage.modifier.pointer.cpp"
17430
},
17431
{
17432
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
17433
"captures": {
17434
"1": {
17435
"patterns": [
17436
{
17437
"include": "#inline_comment"
17438
}
17439
]
17440
},
17441
"2": {
17442
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17443
},
17444
"3": {
17445
"name": "comment.block.cpp"
17446
},
17447
"4": {
17448
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17449
}
17450
},
17451
"name": "invalid.illegal.reference-type.cpp"
17452
},
17453
{
17454
"match": "\\&",
17455
"name": "storage.modifier.reference.cpp"
17456
}
17457
]
17458
},
17459
"2": {
17460
"patterns": [
17461
{
17462
"include": "#inline_comment"
17463
}
17464
]
17465
},
17466
"3": {
17467
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17468
},
17469
"4": {
17470
"name": "comment.block.cpp"
17471
},
17472
"5": {
17473
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17474
},
17475
"6": {
17476
"patterns": [
17477
{
17478
"include": "#inline_comment"
17479
}
17480
]
17481
},
17482
"7": {
17483
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17484
},
17485
"8": {
17486
"name": "comment.block.cpp"
17487
},
17488
"9": {
17489
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17490
},
17491
"10": {
17492
"patterns": [
17493
{
17494
"include": "#inline_comment"
17495
}
17496
]
17497
},
17498
"11": {
17499
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17500
},
17501
"12": {
17502
"name": "comment.block.cpp"
17503
},
17504
"13": {
17505
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17506
},
17507
"14": {
17508
"name": "entity.name.type.alias.cpp"
17509
}
17510
}
17511
},
17512
{
17513
"match": ","
17514
}
17515
]
17516
}
17517
]
17518
}
17519
]
17520
},
17521
"typedef_function_pointer": {
17522
"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*\\))",
17523
"end": "(?<=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
17524
"beginCaptures": {
17525
"1": {
17526
"name": "keyword.other.typedef.cpp"
17527
}
17528
},
17529
"endCaptures": {},
17530
"patterns": [
17531
{
17532
"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+)?(\\()",
17533
"end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:override|volatile|noexcept|final|const)(?!\\w)))+(?=\\s*(?:\\{|;|\\n|\\r|=))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=[{=,);>]|\\n)(?!\\()|(?=\\\\end\\{(?:minted|cppcode)\\})",
17534
"beginCaptures": {
17535
"1": {
17536
"name": "meta.qualified-type.cpp",
17537
"patterns": [
17538
{
17539
"match": "::",
17540
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
17541
},
17542
{
17543
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
17544
"name": "storage.type.$0.cpp"
17545
},
17546
{
17547
"include": "#attributes_context"
17548
},
17549
{
17550
"include": "#storage_types"
17551
},
17552
{
17553
"include": "#number_literal"
17554
},
17555
{
17556
"include": "#string_context"
17557
},
17558
{
17559
"include": "#comma"
17560
},
17561
{
17562
"include": "#scope_resolution_inner_generated"
17563
},
17564
{
17565
"include": "#template_call_range_helper"
17566
},
17567
{
17568
"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}))*",
17569
"name": "entity.name.type.cpp"
17570
}
17571
]
17572
},
17573
"2": {
17574
"patterns": [
17575
{
17576
"include": "#attributes_context"
17577
},
17578
{
17579
"include": "#number_literal"
17580
}
17581
]
17582
},
17583
"3": {
17584
"patterns": [
17585
{
17586
"include": "#inline_comment"
17587
}
17588
]
17589
},
17590
"4": {
17591
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17592
},
17593
"5": {
17594
"name": "comment.block.cpp"
17595
},
17596
"6": {
17597
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17598
},
17599
"7": {
17600
"patterns": [
17601
{
17602
"include": "#inline_comment"
17603
}
17604
]
17605
},
17606
"8": {
17607
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17608
},
17609
"9": {
17610
"name": "comment.block.cpp"
17611
},
17612
"10": {
17613
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17614
},
17615
"11": {
17616
"patterns": [
17617
{
17618
"match": "::",
17619
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
17620
},
17621
{
17622
"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)",
17623
"name": "entity.name.scope-resolution.type.cpp"
17624
},
17625
{
17626
"include": "#template_call_range_helper"
17627
}
17628
]
17629
},
17630
"12": {
17631
"patterns": [
17632
{
17633
"include": "#template_call_range_helper"
17634
}
17635
]
17636
},
17637
"13": {},
17638
"14": {
17639
"patterns": [
17640
{
17641
"include": "#inline_comment"
17642
}
17643
]
17644
},
17645
"15": {
17646
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17647
},
17648
"16": {
17649
"name": "comment.block.cpp"
17650
},
17651
"17": {
17652
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17653
},
17654
"18": {},
17655
"19": {
17656
"patterns": [
17657
{
17658
"match": "\\*",
17659
"name": "storage.modifier.pointer.cpp"
17660
},
17661
{
17662
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
17663
"captures": {
17664
"1": {
17665
"patterns": [
17666
{
17667
"include": "#inline_comment"
17668
}
17669
]
17670
},
17671
"2": {
17672
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17673
},
17674
"3": {
17675
"name": "comment.block.cpp"
17676
},
17677
"4": {
17678
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17679
}
17680
},
17681
"name": "invalid.illegal.reference-type.cpp"
17682
},
17683
{
17684
"match": "\\&",
17685
"name": "storage.modifier.reference.cpp"
17686
}
17687
]
17688
},
17689
"20": {
17690
"patterns": [
17691
{
17692
"include": "#inline_comment"
17693
}
17694
]
17695
},
17696
"21": {
17697
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17698
},
17699
"22": {
17700
"name": "comment.block.cpp"
17701
},
17702
"23": {
17703
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17704
},
17705
"24": {
17706
"patterns": [
17707
{
17708
"include": "#inline_comment"
17709
}
17710
]
17711
},
17712
"25": {
17713
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17714
},
17715
"26": {
17716
"name": "comment.block.cpp"
17717
},
17718
"27": {
17719
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17720
},
17721
"28": {
17722
"patterns": [
17723
{
17724
"include": "#inline_comment"
17725
}
17726
]
17727
},
17728
"29": {
17729
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17730
},
17731
"30": {
17732
"name": "comment.block.cpp"
17733
},
17734
"31": {
17735
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17736
},
17737
"32": {
17738
"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
17739
},
17740
"33": {
17741
"name": "punctuation.definition.function.pointer.dereference.cpp"
17742
},
17743
"34": {
17744
"name": "entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"
17745
},
17746
"35": {
17747
"name": "punctuation.definition.begin.bracket.square.cpp"
17748
},
17749
"36": {
17750
"patterns": [
17751
{
17752
"include": "#evaluation_context"
17753
}
17754
]
17755
},
17756
"37": {
17757
"name": "punctuation.definition.end.bracket.square.cpp"
17758
},
17759
"38": {
17760
"name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
17761
},
17762
"39": {
17763
"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
17764
}
17765
},
17766
"endCaptures": {
17767
"1": {
17768
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
17769
},
17770
"2": {
17771
"patterns": [
17772
{
17773
"include": "#inline_comment"
17774
}
17775
]
17776
},
17777
"3": {
17778
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17779
},
17780
"4": {
17781
"name": "comment.block.cpp"
17782
},
17783
"5": {
17784
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17785
},
17786
"6": {
17787
"patterns": [
17788
{
17789
"include": "#inline_comment"
17790
}
17791
]
17792
},
17793
"7": {
17794
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17795
},
17796
"8": {
17797
"name": "comment.block.cpp"
17798
},
17799
"9": {
17800
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17801
},
17802
"10": {
17803
"name": "storage.modifier.specifier.functional.post-parameters.$10.cpp"
17804
},
17805
"11": {
17806
"patterns": [
17807
{
17808
"include": "#inline_comment"
17809
}
17810
]
17811
},
17812
"12": {
17813
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17814
},
17815
"13": {
17816
"name": "comment.block.cpp"
17817
},
17818
"14": {
17819
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17820
}
17821
},
17822
"patterns": [
17823
{
17824
"include": "#function_parameter_context"
17825
}
17826
]
17827
}
17828
]
17829
},
17830
"typedef_struct": {
17831
"begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)struct(?!\\w))",
17832
"end": "(?<=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
17833
"beginCaptures": {
17834
"1": {
17835
"name": "keyword.other.typedef.cpp"
17836
}
17837
},
17838
"endCaptures": {},
17839
"patterns": [
17840
{
17841
"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))(:(?!:)))?)",
17842
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
17843
"beginCaptures": {
17844
"0": {
17845
"name": "meta.head.struct.cpp"
17846
},
17847
"1": {
17848
"name": "storage.type.$1.cpp"
17849
},
17850
"2": {
17851
"patterns": [
17852
{
17853
"include": "#inline_comment"
17854
}
17855
]
17856
},
17857
"3": {
17858
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17859
},
17860
"4": {
17861
"name": "comment.block.cpp"
17862
},
17863
"5": {
17864
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17865
},
17866
"6": {
17867
"patterns": [
17868
{
17869
"include": "#attributes_context"
17870
},
17871
{
17872
"include": "#number_literal"
17873
}
17874
]
17875
},
17876
"7": {
17877
"patterns": [
17878
{
17879
"include": "#inline_comment"
17880
}
17881
]
17882
},
17883
"8": {
17884
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17885
},
17886
"9": {
17887
"name": "comment.block.cpp"
17888
},
17889
"10": {
17890
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17891
},
17892
"11": {
17893
"patterns": [
17894
{
17895
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
17896
"captures": {
17897
"1": {
17898
"name": "storage.type.modifier.final.cpp"
17899
},
17900
"2": {
17901
"patterns": [
17902
{
17903
"include": "#inline_comment"
17904
}
17905
]
17906
},
17907
"3": {
17908
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17909
},
17910
"4": {
17911
"name": "comment.block.cpp"
17912
},
17913
"5": {
17914
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17915
}
17916
}
17917
},
17918
{
17919
"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)))?(?=:|{|$)",
17920
"captures": {
17921
"1": {
17922
"name": "entity.name.type.struct.cpp"
17923
},
17924
"2": {
17925
"patterns": [
17926
{
17927
"include": "#inline_comment"
17928
}
17929
]
17930
},
17931
"3": {
17932
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17933
},
17934
"4": {
17935
"name": "comment.block.cpp"
17936
},
17937
"5": {
17938
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17939
},
17940
"6": {
17941
"name": "storage.type.modifier.final.cpp"
17942
},
17943
"7": {
17944
"patterns": [
17945
{
17946
"include": "#inline_comment"
17947
}
17948
]
17949
},
17950
"8": {
17951
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17952
},
17953
"9": {
17954
"name": "comment.block.cpp"
17955
},
17956
"10": {
17957
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17958
}
17959
}
17960
},
17961
{
17962
"match": "DLLEXPORT",
17963
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
17964
},
17965
{
17966
"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}))*",
17967
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
17968
}
17969
]
17970
},
17971
"12": {
17972
"patterns": [
17973
{
17974
"include": "#inline_comment"
17975
}
17976
]
17977
},
17978
"13": {
17979
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17980
},
17981
"14": {
17982
"name": "comment.block.cpp"
17983
},
17984
"15": {
17985
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17986
},
17987
"16": {
17988
"patterns": [
17989
{
17990
"include": "#inline_comment"
17991
}
17992
]
17993
},
17994
"17": {
17995
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17996
},
17997
"18": {
17998
"name": "comment.block.cpp"
17999
},
18000
"19": {
18001
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18002
},
18003
"20": {
18004
"name": "punctuation.separator.colon.inheritance.cpp"
18005
}
18006
},
18007
"endCaptures": {
18008
"1": {
18009
"name": "punctuation.terminator.statement.cpp"
18010
},
18011
"2": {
18012
"name": "punctuation.terminator.statement.cpp"
18013
}
18014
},
18015
"name": "meta.block.struct.cpp",
18016
"patterns": [
18017
{
18018
"begin": "\\G ?",
18019
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
18020
"beginCaptures": {},
18021
"endCaptures": {
18022
"0": {
18023
"name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
18024
}
18025
},
18026
"name": "meta.head.struct.cpp",
18027
"patterns": [
18028
{
18029
"include": "#ever_present_context"
18030
},
18031
{
18032
"include": "#inheritance_context"
18033
},
18034
{
18035
"include": "#template_call_range_helper"
18036
}
18037
]
18038
},
18039
{
18040
"begin": "(?<=\\{|<%|\\?\\?<)",
18041
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
18042
"beginCaptures": {},
18043
"endCaptures": {
18044
"0": {
18045
"name": "punctuation.section.block.end.bracket.curly.struct.cpp"
18046
}
18047
},
18048
"name": "meta.body.struct.cpp",
18049
"patterns": [
18050
{
18051
"include": "#function_pointer"
18052
},
18053
{
18054
"include": "#static_assert"
18055
},
18056
{
18057
"include": "#constructor_inline"
18058
},
18059
{
18060
"include": "#destructor_inline"
18061
},
18062
{
18063
"include": "#operator_overload"
18064
},
18065
{
18066
"include": "#normal_variable_declaration"
18067
},
18068
{
18069
"include": "#normal_variable_assignment"
18070
},
18071
{
18072
"include": "$self"
18073
}
18074
]
18075
},
18076
{
18077
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
18078
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
18079
"beginCaptures": {},
18080
"endCaptures": {},
18081
"name": "meta.tail.struct.cpp",
18082
"patterns": [
18083
{
18084
"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))",
18085
"captures": {
18086
"1": {
18087
"patterns": [
18088
{
18089
"match": "\\*",
18090
"name": "storage.modifier.pointer.cpp"
18091
},
18092
{
18093
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
18094
"captures": {
18095
"1": {
18096
"patterns": [
18097
{
18098
"include": "#inline_comment"
18099
}
18100
]
18101
},
18102
"2": {
18103
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18104
},
18105
"3": {
18106
"name": "comment.block.cpp"
18107
},
18108
"4": {
18109
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18110
}
18111
},
18112
"name": "invalid.illegal.reference-type.cpp"
18113
},
18114
{
18115
"match": "\\&",
18116
"name": "storage.modifier.reference.cpp"
18117
}
18118
]
18119
},
18120
"2": {
18121
"patterns": [
18122
{
18123
"include": "#inline_comment"
18124
}
18125
]
18126
},
18127
"3": {
18128
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18129
},
18130
"4": {
18131
"name": "comment.block.cpp"
18132
},
18133
"5": {
18134
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18135
},
18136
"6": {
18137
"patterns": [
18138
{
18139
"include": "#inline_comment"
18140
}
18141
]
18142
},
18143
"7": {
18144
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18145
},
18146
"8": {
18147
"name": "comment.block.cpp"
18148
},
18149
"9": {
18150
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18151
},
18152
"10": {
18153
"patterns": [
18154
{
18155
"include": "#inline_comment"
18156
}
18157
]
18158
},
18159
"11": {
18160
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18161
},
18162
"12": {
18163
"name": "comment.block.cpp"
18164
},
18165
"13": {
18166
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18167
},
18168
"14": {
18169
"name": "entity.name.type.alias.cpp"
18170
}
18171
}
18172
},
18173
{
18174
"match": ","
18175
}
18176
]
18177
}
18178
]
18179
}
18180
]
18181
},
18182
"typedef_union": {
18183
"begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)union(?!\\w))",
18184
"end": "(?<=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
18185
"beginCaptures": {
18186
"1": {
18187
"name": "keyword.other.typedef.cpp"
18188
}
18189
},
18190
"endCaptures": {},
18191
"patterns": [
18192
{
18193
"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))(:(?!:)))?)",
18194
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
18195
"beginCaptures": {
18196
"0": {
18197
"name": "meta.head.union.cpp"
18198
},
18199
"1": {
18200
"name": "storage.type.$1.cpp"
18201
},
18202
"2": {
18203
"patterns": [
18204
{
18205
"include": "#inline_comment"
18206
}
18207
]
18208
},
18209
"3": {
18210
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18211
},
18212
"4": {
18213
"name": "comment.block.cpp"
18214
},
18215
"5": {
18216
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18217
},
18218
"6": {
18219
"patterns": [
18220
{
18221
"include": "#attributes_context"
18222
},
18223
{
18224
"include": "#number_literal"
18225
}
18226
]
18227
},
18228
"7": {
18229
"patterns": [
18230
{
18231
"include": "#inline_comment"
18232
}
18233
]
18234
},
18235
"8": {
18236
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18237
},
18238
"9": {
18239
"name": "comment.block.cpp"
18240
},
18241
"10": {
18242
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18243
},
18244
"11": {
18245
"patterns": [
18246
{
18247
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
18248
"captures": {
18249
"1": {
18250
"name": "storage.type.modifier.final.cpp"
18251
},
18252
"2": {
18253
"patterns": [
18254
{
18255
"include": "#inline_comment"
18256
}
18257
]
18258
},
18259
"3": {
18260
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18261
},
18262
"4": {
18263
"name": "comment.block.cpp"
18264
},
18265
"5": {
18266
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18267
}
18268
}
18269
},
18270
{
18271
"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)))?(?=:|{|$)",
18272
"captures": {
18273
"1": {
18274
"name": "entity.name.type.union.cpp"
18275
},
18276
"2": {
18277
"patterns": [
18278
{
18279
"include": "#inline_comment"
18280
}
18281
]
18282
},
18283
"3": {
18284
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18285
},
18286
"4": {
18287
"name": "comment.block.cpp"
18288
},
18289
"5": {
18290
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18291
},
18292
"6": {
18293
"name": "storage.type.modifier.final.cpp"
18294
},
18295
"7": {
18296
"patterns": [
18297
{
18298
"include": "#inline_comment"
18299
}
18300
]
18301
},
18302
"8": {
18303
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18304
},
18305
"9": {
18306
"name": "comment.block.cpp"
18307
},
18308
"10": {
18309
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18310
}
18311
}
18312
},
18313
{
18314
"match": "DLLEXPORT",
18315
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
18316
},
18317
{
18318
"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}))*",
18319
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
18320
}
18321
]
18322
},
18323
"12": {
18324
"patterns": [
18325
{
18326
"include": "#inline_comment"
18327
}
18328
]
18329
},
18330
"13": {
18331
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18332
},
18333
"14": {
18334
"name": "comment.block.cpp"
18335
},
18336
"15": {
18337
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18338
},
18339
"16": {
18340
"patterns": [
18341
{
18342
"include": "#inline_comment"
18343
}
18344
]
18345
},
18346
"17": {
18347
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18348
},
18349
"18": {
18350
"name": "comment.block.cpp"
18351
},
18352
"19": {
18353
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18354
},
18355
"20": {
18356
"name": "punctuation.separator.colon.inheritance.cpp"
18357
}
18358
},
18359
"endCaptures": {
18360
"1": {
18361
"name": "punctuation.terminator.statement.cpp"
18362
},
18363
"2": {
18364
"name": "punctuation.terminator.statement.cpp"
18365
}
18366
},
18367
"name": "meta.block.union.cpp",
18368
"patterns": [
18369
{
18370
"begin": "\\G ?",
18371
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
18372
"beginCaptures": {},
18373
"endCaptures": {
18374
"0": {
18375
"name": "punctuation.section.block.begin.bracket.curly.union.cpp"
18376
}
18377
},
18378
"name": "meta.head.union.cpp",
18379
"patterns": [
18380
{
18381
"include": "#ever_present_context"
18382
},
18383
{
18384
"include": "#inheritance_context"
18385
},
18386
{
18387
"include": "#template_call_range_helper"
18388
}
18389
]
18390
},
18391
{
18392
"begin": "(?<=\\{|<%|\\?\\?<)",
18393
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
18394
"beginCaptures": {},
18395
"endCaptures": {
18396
"0": {
18397
"name": "punctuation.section.block.end.bracket.curly.union.cpp"
18398
}
18399
},
18400
"name": "meta.body.union.cpp",
18401
"patterns": [
18402
{
18403
"include": "#function_pointer"
18404
},
18405
{
18406
"include": "#static_assert"
18407
},
18408
{
18409
"include": "#constructor_inline"
18410
},
18411
{
18412
"include": "#destructor_inline"
18413
},
18414
{
18415
"include": "#operator_overload"
18416
},
18417
{
18418
"include": "#normal_variable_declaration"
18419
},
18420
{
18421
"include": "#normal_variable_assignment"
18422
},
18423
{
18424
"include": "$self"
18425
}
18426
]
18427
},
18428
{
18429
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
18430
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
18431
"beginCaptures": {},
18432
"endCaptures": {},
18433
"name": "meta.tail.union.cpp",
18434
"patterns": [
18435
{
18436
"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))",
18437
"captures": {
18438
"1": {
18439
"patterns": [
18440
{
18441
"match": "\\*",
18442
"name": "storage.modifier.pointer.cpp"
18443
},
18444
{
18445
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
18446
"captures": {
18447
"1": {
18448
"patterns": [
18449
{
18450
"include": "#inline_comment"
18451
}
18452
]
18453
},
18454
"2": {
18455
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18456
},
18457
"3": {
18458
"name": "comment.block.cpp"
18459
},
18460
"4": {
18461
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18462
}
18463
},
18464
"name": "invalid.illegal.reference-type.cpp"
18465
},
18466
{
18467
"match": "\\&",
18468
"name": "storage.modifier.reference.cpp"
18469
}
18470
]
18471
},
18472
"2": {
18473
"patterns": [
18474
{
18475
"include": "#inline_comment"
18476
}
18477
]
18478
},
18479
"3": {
18480
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18481
},
18482
"4": {
18483
"name": "comment.block.cpp"
18484
},
18485
"5": {
18486
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18487
},
18488
"6": {
18489
"patterns": [
18490
{
18491
"include": "#inline_comment"
18492
}
18493
]
18494
},
18495
"7": {
18496
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18497
},
18498
"8": {
18499
"name": "comment.block.cpp"
18500
},
18501
"9": {
18502
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18503
},
18504
"10": {
18505
"patterns": [
18506
{
18507
"include": "#inline_comment"
18508
}
18509
]
18510
},
18511
"11": {
18512
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18513
},
18514
"12": {
18515
"name": "comment.block.cpp"
18516
},
18517
"13": {
18518
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18519
},
18520
"14": {
18521
"name": "entity.name.type.alias.cpp"
18522
}
18523
}
18524
},
18525
{
18526
"match": ","
18527
}
18528
]
18529
}
18530
]
18531
}
18532
]
18533
},
18534
"typeid_operator": {
18535
"begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
18536
"end": "\\)|(?=\\\\end\\{(?:minted|cppcode)\\})",
18537
"beginCaptures": {
18538
"1": {
18539
"name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
18540
},
18541
"2": {
18542
"patterns": [
18543
{
18544
"include": "#inline_comment"
18545
}
18546
]
18547
},
18548
"3": {
18549
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18550
},
18551
"4": {
18552
"name": "comment.block.cpp"
18553
},
18554
"5": {
18555
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18556
},
18557
"6": {
18558
"name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
18559
}
18560
},
18561
"endCaptures": {
18562
"0": {
18563
"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
18564
}
18565
},
18566
"contentName": "meta.arguments.operator.typeid",
18567
"patterns": [
18568
{
18569
"include": "#evaluation_context"
18570
}
18571
]
18572
},
18573
"typename": {
18574
"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<:.]))",
18575
"captures": {
18576
"1": {
18577
"name": "storage.modifier.cpp"
18578
},
18579
"2": {
18580
"patterns": [
18581
{
18582
"include": "#inline_comment"
18583
}
18584
]
18585
},
18586
"3": {
18587
"patterns": [
18588
{
18589
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
18590
"captures": {
18591
"1": {
18592
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18593
},
18594
"2": {
18595
"name": "comment.block.cpp"
18596
},
18597
"3": {
18598
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18599
}
18600
}
18601
}
18602
]
18603
},
18604
"4": {
18605
"patterns": [
18606
{
18607
"include": "#inline_comment"
18608
}
18609
]
18610
},
18611
"5": {
18612
"patterns": [
18613
{
18614
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
18615
"captures": {
18616
"1": {
18617
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18618
},
18619
"2": {
18620
"name": "comment.block.cpp"
18621
},
18622
"3": {
18623
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18624
}
18625
}
18626
}
18627
]
18628
},
18629
"6": {
18630
"name": "meta.qualified-type.cpp",
18631
"patterns": [
18632
{
18633
"match": "::",
18634
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
18635
},
18636
{
18637
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
18638
"name": "storage.type.$0.cpp"
18639
},
18640
{
18641
"include": "#attributes_context"
18642
},
18643
{
18644
"include": "#storage_types"
18645
},
18646
{
18647
"include": "#number_literal"
18648
},
18649
{
18650
"include": "#string_context"
18651
},
18652
{
18653
"include": "#comma"
18654
},
18655
{
18656
"include": "#scope_resolution_inner_generated"
18657
},
18658
{
18659
"include": "#template_call_range_helper"
18660
},
18661
{
18662
"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}))*",
18663
"name": "entity.name.type.cpp"
18664
}
18665
]
18666
},
18667
"7": {
18668
"patterns": [
18669
{
18670
"include": "#attributes_context"
18671
},
18672
{
18673
"include": "#number_literal"
18674
}
18675
]
18676
},
18677
"8": {
18678
"patterns": [
18679
{
18680
"include": "#inline_comment"
18681
}
18682
]
18683
},
18684
"9": {
18685
"patterns": [
18686
{
18687
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
18688
"captures": {
18689
"1": {
18690
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18691
},
18692
"2": {
18693
"name": "comment.block.cpp"
18694
},
18695
"3": {
18696
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18697
}
18698
}
18699
}
18700
]
18701
},
18702
"10": {
18703
"patterns": [
18704
{
18705
"include": "#inline_comment"
18706
}
18707
]
18708
},
18709
"11": {
18710
"patterns": [
18711
{
18712
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
18713
"captures": {
18714
"1": {
18715
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18716
},
18717
"2": {
18718
"name": "comment.block.cpp"
18719
},
18720
"3": {
18721
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18722
}
18723
}
18724
}
18725
]
18726
},
18727
"12": {
18728
"patterns": [
18729
{
18730
"match": "::",
18731
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
18732
},
18733
{
18734
"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)",
18735
"name": "entity.name.scope-resolution.type.cpp"
18736
},
18737
{
18738
"include": "#template_call_range_helper"
18739
}
18740
]
18741
},
18742
"13": {
18743
"patterns": [
18744
{
18745
"include": "#template_call_range_helper"
18746
}
18747
]
18748
},
18749
"14": {},
18750
"15": {
18751
"patterns": [
18752
{
18753
"include": "#inline_comment"
18754
}
18755
]
18756
},
18757
"16": {
18758
"patterns": [
18759
{
18760
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
18761
"captures": {
18762
"1": {
18763
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18764
},
18765
"2": {
18766
"name": "comment.block.cpp"
18767
},
18768
"3": {
18769
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18770
}
18771
}
18772
}
18773
]
18774
},
18775
"17": {}
18776
}
18777
},
18778
"undef": {
18779
"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))",
18780
"captures": {
18781
"1": {
18782
"name": "keyword.control.directive.undef.cpp"
18783
},
18784
"2": {
18785
"patterns": [
18786
{
18787
"include": "#inline_comment"
18788
}
18789
]
18790
},
18791
"3": {
18792
"patterns": [
18793
{
18794
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
18795
"captures": {
18796
"1": {
18797
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18798
},
18799
"2": {
18800
"name": "comment.block.cpp"
18801
},
18802
"3": {
18803
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18804
}
18805
}
18806
}
18807
]
18808
},
18809
"4": {
18810
"name": "punctuation.definition.directive.cpp"
18811
},
18812
"5": {
18813
"patterns": [
18814
{
18815
"include": "#inline_comment"
18816
}
18817
]
18818
},
18819
"6": {
18820
"patterns": [
18821
{
18822
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
18823
"captures": {
18824
"1": {
18825
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18826
},
18827
"2": {
18828
"name": "comment.block.cpp"
18829
},
18830
"3": {
18831
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18832
}
18833
}
18834
}
18835
]
18836
},
18837
"7": {
18838
"name": "entity.name.function.preprocessor.cpp"
18839
}
18840
},
18841
"name": "meta.preprocessor.undef.cpp"
18842
},
18843
"union_block": {
18844
"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))(:(?!:)))?)",
18845
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=\\\\end\\{(?:minted|cppcode)\\})",
18846
"beginCaptures": {
18847
"0": {
18848
"name": "meta.head.union.cpp"
18849
},
18850
"1": {
18851
"name": "storage.type.$1.cpp"
18852
},
18853
"2": {
18854
"patterns": [
18855
{
18856
"include": "#inline_comment"
18857
}
18858
]
18859
},
18860
"3": {
18861
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18862
},
18863
"4": {
18864
"name": "comment.block.cpp"
18865
},
18866
"5": {
18867
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18868
},
18869
"6": {
18870
"patterns": [
18871
{
18872
"include": "#attributes_context"
18873
},
18874
{
18875
"include": "#number_literal"
18876
}
18877
]
18878
},
18879
"7": {
18880
"patterns": [
18881
{
18882
"include": "#inline_comment"
18883
}
18884
]
18885
},
18886
"8": {
18887
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18888
},
18889
"9": {
18890
"name": "comment.block.cpp"
18891
},
18892
"10": {
18893
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18894
},
18895
"11": {
18896
"patterns": [
18897
{
18898
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
18899
"captures": {
18900
"1": {
18901
"name": "storage.type.modifier.final.cpp"
18902
},
18903
"2": {
18904
"patterns": [
18905
{
18906
"include": "#inline_comment"
18907
}
18908
]
18909
},
18910
"3": {
18911
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18912
},
18913
"4": {
18914
"name": "comment.block.cpp"
18915
},
18916
"5": {
18917
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18918
}
18919
}
18920
},
18921
{
18922
"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)))?(?=:|{|$)",
18923
"captures": {
18924
"1": {
18925
"name": "entity.name.type.union.cpp"
18926
},
18927
"2": {
18928
"patterns": [
18929
{
18930
"include": "#inline_comment"
18931
}
18932
]
18933
},
18934
"3": {
18935
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18936
},
18937
"4": {
18938
"name": "comment.block.cpp"
18939
},
18940
"5": {
18941
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18942
},
18943
"6": {
18944
"name": "storage.type.modifier.final.cpp"
18945
},
18946
"7": {
18947
"patterns": [
18948
{
18949
"include": "#inline_comment"
18950
}
18951
]
18952
},
18953
"8": {
18954
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18955
},
18956
"9": {
18957
"name": "comment.block.cpp"
18958
},
18959
"10": {
18960
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18961
}
18962
}
18963
},
18964
{
18965
"match": "DLLEXPORT",
18966
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
18967
},
18968
{
18969
"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}))*",
18970
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
18971
}
18972
]
18973
},
18974
"12": {
18975
"patterns": [
18976
{
18977
"include": "#inline_comment"
18978
}
18979
]
18980
},
18981
"13": {
18982
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18983
},
18984
"14": {
18985
"name": "comment.block.cpp"
18986
},
18987
"15": {
18988
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18989
},
18990
"16": {
18991
"patterns": [
18992
{
18993
"include": "#inline_comment"
18994
}
18995
]
18996
},
18997
"17": {
18998
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18999
},
19000
"18": {
19001
"name": "comment.block.cpp"
19002
},
19003
"19": {
19004
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19005
},
19006
"20": {
19007
"name": "punctuation.separator.colon.inheritance.cpp"
19008
}
19009
},
19010
"endCaptures": {
19011
"1": {
19012
"name": "punctuation.terminator.statement.cpp"
19013
},
19014
"2": {
19015
"name": "punctuation.terminator.statement.cpp"
19016
}
19017
},
19018
"name": "meta.block.union.cpp",
19019
"patterns": [
19020
{
19021
"begin": "\\G ?",
19022
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=\\\\end\\{(?:minted|cppcode)\\})",
19023
"beginCaptures": {},
19024
"endCaptures": {
19025
"0": {
19026
"name": "punctuation.section.block.begin.bracket.curly.union.cpp"
19027
}
19028
},
19029
"name": "meta.head.union.cpp",
19030
"patterns": [
19031
{
19032
"include": "#ever_present_context"
19033
},
19034
{
19035
"include": "#inheritance_context"
19036
},
19037
{
19038
"include": "#template_call_range_helper"
19039
}
19040
]
19041
},
19042
{
19043
"begin": "(?<=\\{|<%|\\?\\?<)",
19044
"end": "\\}|%>|\\?\\?>|(?=\\\\end\\{(?:minted|cppcode)\\})",
19045
"beginCaptures": {},
19046
"endCaptures": {
19047
"0": {
19048
"name": "punctuation.section.block.end.bracket.curly.union.cpp"
19049
}
19050
},
19051
"name": "meta.body.union.cpp",
19052
"patterns": [
19053
{
19054
"include": "#function_pointer"
19055
},
19056
{
19057
"include": "#static_assert"
19058
},
19059
{
19060
"include": "#constructor_inline"
19061
},
19062
{
19063
"include": "#destructor_inline"
19064
},
19065
{
19066
"include": "#operator_overload"
19067
},
19068
{
19069
"include": "#normal_variable_declaration"
19070
},
19071
{
19072
"include": "#normal_variable_assignment"
19073
},
19074
{
19075
"include": "$self"
19076
}
19077
]
19078
},
19079
{
19080
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
19081
"end": "[\\s]*(?=;)|(?=\\\\end\\{(?:minted|cppcode)\\})",
19082
"beginCaptures": {},
19083
"endCaptures": {},
19084
"name": "meta.tail.union.cpp",
19085
"patterns": [
19086
{
19087
"include": "$self"
19088
}
19089
]
19090
}
19091
]
19092
},
19093
"union_declare": {
19094
"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])",
19095
"captures": {
19096
"1": {
19097
"name": "storage.type.union.declare.cpp"
19098
},
19099
"2": {
19100
"patterns": [
19101
{
19102
"include": "#inline_comment"
19103
}
19104
]
19105
},
19106
"3": {
19107
"patterns": [
19108
{
19109
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19110
"captures": {
19111
"1": {
19112
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19113
},
19114
"2": {
19115
"name": "comment.block.cpp"
19116
},
19117
"3": {
19118
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19119
}
19120
}
19121
}
19122
]
19123
},
19124
"4": {
19125
"name": "entity.name.type.union.cpp"
19126
},
19127
"5": {
19128
"patterns": [
19129
{
19130
"match": "\\*",
19131
"name": "storage.modifier.pointer.cpp"
19132
},
19133
{
19134
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
19135
"captures": {
19136
"1": {
19137
"patterns": [
19138
{
19139
"include": "#inline_comment"
19140
}
19141
]
19142
},
19143
"2": {
19144
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19145
},
19146
"3": {
19147
"name": "comment.block.cpp"
19148
},
19149
"4": {
19150
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19151
}
19152
},
19153
"name": "invalid.illegal.reference-type.cpp"
19154
},
19155
{
19156
"match": "\\&",
19157
"name": "storage.modifier.reference.cpp"
19158
}
19159
]
19160
},
19161
"6": {
19162
"patterns": [
19163
{
19164
"include": "#inline_comment"
19165
}
19166
]
19167
},
19168
"7": {
19169
"patterns": [
19170
{
19171
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19172
"captures": {
19173
"1": {
19174
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19175
},
19176
"2": {
19177
"name": "comment.block.cpp"
19178
},
19179
"3": {
19180
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19181
}
19182
}
19183
}
19184
]
19185
},
19186
"8": {
19187
"patterns": [
19188
{
19189
"include": "#inline_comment"
19190
}
19191
]
19192
},
19193
"9": {
19194
"patterns": [
19195
{
19196
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19197
"captures": {
19198
"1": {
19199
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19200
},
19201
"2": {
19202
"name": "comment.block.cpp"
19203
},
19204
"3": {
19205
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19206
}
19207
}
19208
}
19209
]
19210
},
19211
"10": {
19212
"patterns": [
19213
{
19214
"include": "#inline_comment"
19215
}
19216
]
19217
},
19218
"11": {
19219
"patterns": [
19220
{
19221
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19222
"captures": {
19223
"1": {
19224
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19225
},
19226
"2": {
19227
"name": "comment.block.cpp"
19228
},
19229
"3": {
19230
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19231
}
19232
}
19233
}
19234
]
19235
},
19236
"12": {
19237
"name": "variable.other.object.declare.cpp"
19238
},
19239
"13": {
19240
"patterns": [
19241
{
19242
"include": "#inline_comment"
19243
}
19244
]
19245
},
19246
"14": {
19247
"patterns": [
19248
{
19249
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19250
"captures": {
19251
"1": {
19252
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19253
},
19254
"2": {
19255
"name": "comment.block.cpp"
19256
},
19257
"3": {
19258
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19259
}
19260
}
19261
}
19262
]
19263
}
19264
}
19265
},
19266
"unknown_variable": {
19267
"match": "(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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)))",
19268
"captures": {
19269
"1": {
19270
"name": "variable.lower-case.cpp variable.other.unknown.$1.cpp"
19271
},
19272
"2": {
19273
"name": "variable.snake-case.cpp variable.other.unknown.$2.cpp"
19274
},
19275
"3": {
19276
"name": "variable.camel-case.cpp variable.other.unknown.$3.cpp"
19277
},
19278
"4": {
19279
"name": "variable.upper-case.cpp variable.other.unknown.$4.cpp"
19280
},
19281
"5": {
19282
"name": "variable.other.unknown.$5.cpp"
19283
}
19284
}
19285
},
19286
"using_name": {
19287
"match": "(using)\\s+(?!namespace\\b)",
19288
"captures": {
19289
"1": {
19290
"name": "keyword.other.using.directive.cpp"
19291
}
19292
}
19293
},
19294
"using_namespace": {
19295
"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)",
19296
"end": ";|(?=\\\\end\\{(?:minted|cppcode)\\})",
19297
"beginCaptures": {
19298
"1": {
19299
"name": "keyword.other.using.directive.cpp"
19300
},
19301
"2": {
19302
"name": "keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"
19303
},
19304
"3": {
19305
"patterns": [
19306
{
19307
"include": "#scope_resolution_namespace_using_inner_generated"
19308
}
19309
]
19310
},
19311
"4": {
19312
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
19313
},
19314
"5": {
19315
"patterns": [
19316
{
19317
"include": "#template_call_range_helper"
19318
}
19319
]
19320
},
19321
"6": {},
19322
"7": {
19323
"name": "entity.name.namespace.cpp"
19324
}
19325
},
19326
"endCaptures": {
19327
"0": {
19328
"name": "punctuation.terminator.statement.cpp"
19329
}
19330
},
19331
"name": "meta.using-namespace.cpp"
19332
},
19333
"vararg_ellipses": {
19334
"match": "(?<!\\.)\\.\\.\\.(?!\\.)",
19335
"name": "punctuation.vararg-ellipses.cpp"
19336
},
19337
"variable_assignment": {
19338
"match": "(?:((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\w)\\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<16>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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<16>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:%=|\\+=|-=|\\*=|(?<!\\()\\/=))|((?:&=|\\^=|<<=|>>=|\\|=))|(\\=))",
19339
"captures": {
19340
"1": {
19341
"patterns": [
19342
{
19343
"include": "#storage_specifiers"
19344
}
19345
]
19346
},
19347
"2": {
19348
"patterns": [
19349
{
19350
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19351
"captures": {
19352
"1": {
19353
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19354
},
19355
"2": {
19356
"name": "comment.block.cpp"
19357
},
19358
"3": {
19359
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19360
}
19361
}
19362
}
19363
]
19364
},
19365
"3": {
19366
"patterns": [
19367
{
19368
"include": "#inline_comment"
19369
}
19370
]
19371
},
19372
"4": {
19373
"patterns": [
19374
{
19375
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19376
"captures": {
19377
"1": {
19378
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19379
},
19380
"2": {
19381
"name": "comment.block.cpp"
19382
},
19383
"3": {
19384
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19385
}
19386
}
19387
}
19388
]
19389
},
19390
"5": {
19391
"name": "meta.qualified-type.cpp",
19392
"patterns": [
19393
{
19394
"match": "::",
19395
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
19396
},
19397
{
19398
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
19399
"name": "storage.type.$0.cpp"
19400
},
19401
{
19402
"include": "#attributes_context"
19403
},
19404
{
19405
"include": "#storage_types"
19406
},
19407
{
19408
"include": "#number_literal"
19409
},
19410
{
19411
"include": "#string_context"
19412
},
19413
{
19414
"include": "#comma"
19415
},
19416
{
19417
"include": "#scope_resolution_inner_generated"
19418
},
19419
{
19420
"include": "#template_call_range_helper"
19421
},
19422
{
19423
"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}))*",
19424
"name": "entity.name.type.cpp"
19425
}
19426
]
19427
},
19428
"6": {
19429
"patterns": [
19430
{
19431
"include": "#attributes_context"
19432
},
19433
{
19434
"include": "#number_literal"
19435
}
19436
]
19437
},
19438
"7": {
19439
"patterns": [
19440
{
19441
"include": "#inline_comment"
19442
}
19443
]
19444
},
19445
"8": {
19446
"patterns": [
19447
{
19448
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19449
"captures": {
19450
"1": {
19451
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19452
},
19453
"2": {
19454
"name": "comment.block.cpp"
19455
},
19456
"3": {
19457
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19458
}
19459
}
19460
}
19461
]
19462
},
19463
"9": {
19464
"patterns": [
19465
{
19466
"include": "#inline_comment"
19467
}
19468
]
19469
},
19470
"10": {
19471
"patterns": [
19472
{
19473
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19474
"captures": {
19475
"1": {
19476
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19477
},
19478
"2": {
19479
"name": "comment.block.cpp"
19480
},
19481
"3": {
19482
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19483
}
19484
}
19485
}
19486
]
19487
},
19488
"11": {
19489
"patterns": [
19490
{
19491
"match": "::",
19492
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
19493
},
19494
{
19495
"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)",
19496
"name": "entity.name.scope-resolution.type.cpp"
19497
},
19498
{
19499
"include": "#template_call_range_helper"
19500
}
19501
]
19502
},
19503
"12": {
19504
"patterns": [
19505
{
19506
"include": "#template_call_range_helper"
19507
}
19508
]
19509
},
19510
"14": {
19511
"patterns": [
19512
{
19513
"include": "#inline_comment"
19514
}
19515
]
19516
},
19517
"15": {
19518
"patterns": [
19519
{
19520
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19521
"captures": {
19522
"1": {
19523
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19524
},
19525
"2": {
19526
"name": "comment.block.cpp"
19527
},
19528
"3": {
19529
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19530
}
19531
}
19532
}
19533
]
19534
},
19535
"17": {
19536
"patterns": [
19537
{
19538
"match": "\\*",
19539
"name": "storage.modifier.pointer.cpp"
19540
},
19541
{
19542
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
19543
"captures": {
19544
"1": {
19545
"patterns": [
19546
{
19547
"include": "#inline_comment"
19548
}
19549
]
19550
},
19551
"2": {
19552
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19553
},
19554
"3": {
19555
"name": "comment.block.cpp"
19556
},
19557
"4": {
19558
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19559
}
19560
},
19561
"name": "invalid.illegal.reference-type.cpp"
19562
},
19563
{
19564
"match": "\\&",
19565
"name": "storage.modifier.reference.cpp"
19566
}
19567
]
19568
},
19569
"18": {
19570
"patterns": [
19571
{
19572
"include": "#inline_comment"
19573
}
19574
]
19575
},
19576
"19": {
19577
"patterns": [
19578
{
19579
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19580
"captures": {
19581
"1": {
19582
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19583
},
19584
"2": {
19585
"name": "comment.block.cpp"
19586
},
19587
"3": {
19588
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19589
}
19590
}
19591
}
19592
]
19593
},
19594
"20": {
19595
"patterns": [
19596
{
19597
"include": "#inline_comment"
19598
}
19599
]
19600
},
19601
"21": {
19602
"patterns": [
19603
{
19604
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19605
"captures": {
19606
"1": {
19607
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19608
},
19609
"2": {
19610
"name": "comment.block.cpp"
19611
},
19612
"3": {
19613
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19614
}
19615
}
19616
}
19617
]
19618
},
19619
"22": {
19620
"patterns": [
19621
{
19622
"include": "#inline_comment"
19623
}
19624
]
19625
},
19626
"23": {
19627
"patterns": [
19628
{
19629
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19630
"captures": {
19631
"1": {
19632
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19633
},
19634
"2": {
19635
"name": "comment.block.cpp"
19636
},
19637
"3": {
19638
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19639
}
19640
}
19641
}
19642
]
19643
},
19644
"24": {
19645
"name": "variable.lower-case.cpp variable.other.assignment.cpp"
19646
},
19647
"25": {
19648
"name": "variable.snake-case.cpp variable.other.assignment.cpp"
19649
},
19650
"26": {
19651
"name": "variable.camel-case.cpp variable.other.assignment.cpp"
19652
},
19653
"27": {
19654
"name": "variable.upper-case.cpp variable.other.assignment.cpp"
19655
},
19656
"28": {
19657
"name": "variable.other.unknown.$28.cpp"
19658
},
19659
"29": {
19660
"patterns": [
19661
{
19662
"include": "#inline_comment"
19663
}
19664
]
19665
},
19666
"30": {
19667
"patterns": [
19668
{
19669
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19670
"captures": {
19671
"1": {
19672
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19673
},
19674
"2": {
19675
"name": "comment.block.cpp"
19676
},
19677
"3": {
19678
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19679
}
19680
}
19681
}
19682
]
19683
},
19684
"31": {
19685
"name": "keyword.operator.assignment.compound.cpp"
19686
},
19687
"32": {
19688
"name": "keyword.operator.assignment.compound.bitwise.cpp"
19689
},
19690
"33": {
19691
"name": "keyword.operator.assignment.cpp"
19692
}
19693
},
19694
"name": "meta.assignment.cpp"
19695
},
19696
"variable_declare": {
19697
"match": "(?:((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\w)\\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<16>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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<16>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\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*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,|\\[)(?![^=]++=)",
19698
"captures": {
19699
"1": {
19700
"patterns": [
19701
{
19702
"include": "#storage_specifiers"
19703
}
19704
]
19705
},
19706
"2": {
19707
"patterns": [
19708
{
19709
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19710
"captures": {
19711
"1": {
19712
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19713
},
19714
"2": {
19715
"name": "comment.block.cpp"
19716
},
19717
"3": {
19718
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19719
}
19720
}
19721
}
19722
]
19723
},
19724
"3": {
19725
"patterns": [
19726
{
19727
"include": "#inline_comment"
19728
}
19729
]
19730
},
19731
"4": {
19732
"patterns": [
19733
{
19734
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19735
"captures": {
19736
"1": {
19737
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19738
},
19739
"2": {
19740
"name": "comment.block.cpp"
19741
},
19742
"3": {
19743
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19744
}
19745
}
19746
}
19747
]
19748
},
19749
"5": {
19750
"name": "meta.qualified-type.cpp",
19751
"patterns": [
19752
{
19753
"match": "::",
19754
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
19755
},
19756
{
19757
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
19758
"name": "storage.type.$0.cpp"
19759
},
19760
{
19761
"include": "#attributes_context"
19762
},
19763
{
19764
"include": "#storage_types"
19765
},
19766
{
19767
"include": "#number_literal"
19768
},
19769
{
19770
"include": "#string_context"
19771
},
19772
{
19773
"include": "#comma"
19774
},
19775
{
19776
"include": "#scope_resolution_inner_generated"
19777
},
19778
{
19779
"include": "#template_call_range_helper"
19780
},
19781
{
19782
"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}))*",
19783
"name": "entity.name.type.cpp"
19784
}
19785
]
19786
},
19787
"6": {
19788
"patterns": [
19789
{
19790
"include": "#attributes_context"
19791
},
19792
{
19793
"include": "#number_literal"
19794
}
19795
]
19796
},
19797
"7": {
19798
"patterns": [
19799
{
19800
"include": "#inline_comment"
19801
}
19802
]
19803
},
19804
"8": {
19805
"patterns": [
19806
{
19807
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19808
"captures": {
19809
"1": {
19810
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19811
},
19812
"2": {
19813
"name": "comment.block.cpp"
19814
},
19815
"3": {
19816
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19817
}
19818
}
19819
}
19820
]
19821
},
19822
"9": {
19823
"patterns": [
19824
{
19825
"include": "#inline_comment"
19826
}
19827
]
19828
},
19829
"10": {
19830
"patterns": [
19831
{
19832
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19833
"captures": {
19834
"1": {
19835
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19836
},
19837
"2": {
19838
"name": "comment.block.cpp"
19839
},
19840
"3": {
19841
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19842
}
19843
}
19844
}
19845
]
19846
},
19847
"11": {
19848
"patterns": [
19849
{
19850
"match": "::",
19851
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
19852
},
19853
{
19854
"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)",
19855
"name": "entity.name.scope-resolution.type.cpp"
19856
},
19857
{
19858
"include": "#template_call_range_helper"
19859
}
19860
]
19861
},
19862
"12": {
19863
"patterns": [
19864
{
19865
"include": "#template_call_range_helper"
19866
}
19867
]
19868
},
19869
"14": {
19870
"patterns": [
19871
{
19872
"include": "#inline_comment"
19873
}
19874
]
19875
},
19876
"15": {
19877
"patterns": [
19878
{
19879
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19880
"captures": {
19881
"1": {
19882
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19883
},
19884
"2": {
19885
"name": "comment.block.cpp"
19886
},
19887
"3": {
19888
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19889
}
19890
}
19891
}
19892
]
19893
},
19894
"17": {
19895
"patterns": [
19896
{
19897
"match": "\\*",
19898
"name": "storage.modifier.pointer.cpp"
19899
},
19900
{
19901
"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
19902
"captures": {
19903
"1": {
19904
"patterns": [
19905
{
19906
"include": "#inline_comment"
19907
}
19908
]
19909
},
19910
"2": {
19911
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19912
},
19913
"3": {
19914
"name": "comment.block.cpp"
19915
},
19916
"4": {
19917
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19918
}
19919
},
19920
"name": "invalid.illegal.reference-type.cpp"
19921
},
19922
{
19923
"match": "\\&",
19924
"name": "storage.modifier.reference.cpp"
19925
}
19926
]
19927
},
19928
"18": {
19929
"patterns": [
19930
{
19931
"include": "#inline_comment"
19932
}
19933
]
19934
},
19935
"19": {
19936
"patterns": [
19937
{
19938
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19939
"captures": {
19940
"1": {
19941
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19942
},
19943
"2": {
19944
"name": "comment.block.cpp"
19945
},
19946
"3": {
19947
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19948
}
19949
}
19950
}
19951
]
19952
},
19953
"20": {
19954
"patterns": [
19955
{
19956
"include": "#inline_comment"
19957
}
19958
]
19959
},
19960
"21": {
19961
"patterns": [
19962
{
19963
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19964
"captures": {
19965
"1": {
19966
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19967
},
19968
"2": {
19969
"name": "comment.block.cpp"
19970
},
19971
"3": {
19972
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19973
}
19974
}
19975
}
19976
]
19977
},
19978
"22": {
19979
"patterns": [
19980
{
19981
"include": "#inline_comment"
19982
}
19983
]
19984
},
19985
"23": {
19986
"patterns": [
19987
{
19988
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
19989
"captures": {
19990
"1": {
19991
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19992
},
19993
"2": {
19994
"name": "comment.block.cpp"
19995
},
19996
"3": {
19997
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19998
}
19999
}
20000
}
20001
]
20002
},
20003
"24": {
20004
"name": "variable.lower-case.cpp variable.other.declare.cpp"
20005
},
20006
"25": {
20007
"name": "variable.snake-case.cpp variable.other.declare.cpp"
20008
},
20009
"26": {
20010
"name": "variable.camel-case.cpp variable.other.declare.cpp"
20011
},
20012
"27": {
20013
"name": "variable.upper-case.cpp variable.other.declare.cpp"
20014
},
20015
"28": {
20016
"name": "variable.other.unknown.$28.cpp"
20017
},
20018
"29": {
20019
"patterns": [
20020
{
20021
"include": "#inline_comment"
20022
}
20023
]
20024
},
20025
"30": {
20026
"patterns": [
20027
{
20028
"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
20029
"captures": {
20030
"1": {
20031
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
20032
},
20033
"2": {
20034
"name": "comment.block.cpp"
20035
},
20036
"3": {
20037
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
20038
}
20039
}
20040
}
20041
]
20042
}
20043
},
20044
"name": "meta.declaration.cpp"
20045
},
20046
"wordlike_operators": {
20047
"patterns": [
20048
{
20049
"match": "(?<!\\w)(?:noexcept|xor_eq|and_eq|delete|not_eq|bitand|bitor|compl|or_eq|not|xor|new|and|or)(?!\\w)",
20050
"name": "keyword.operator.wordlike.cpp keyword.operator.$0.cpp"
20051
}
20052
]
20053
}
20054
}
20055
}
20056