PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.27.2
Code Block Pro – Beautiful Syntax Highlighting v1.27.2
1.27.1 1.27.2 1.27.3 1.27.4 1.27.5 1.27.6 1.27.7 1.28.0 1.3.0 1.4.0 1.5.0 1.5.1 1.5.2 1.6.0 1.7.0 1.8.0 1.9.0 1.9.1 1.9.2 1.9.3 trunk 1.1.0 1.10.0 1.11.0 1.11.1 All 63 releases
code-block-pro / build / shiki / languages / cpp.tmLanguage.json

cpp.tmLanguage.json in Code Block Pro – Beautiful Syntax Highlighting 1.27.2, at build/shiki/languages/cpp.tmLanguage.json

16,475 lines 641.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 {
2 "information_for_contributors": [
3 "This file has been converted from https://github.com/jeff-hykin/better-cpp-syntax/blob/master/autogenerated/cpp.tmLanguage.json",
4 "If you want to provide a fix or improvement, please create a pull request against the original repository.",
5 "Once accepted there, we are happy to receive an update request."
6 ],
7 "version": "https://github.com/jeff-hykin/better-cpp-syntax/commit/f1d127a8af2b184db570345f0bb179503c47fdf6",
8 "name": "cpp",
9 "scopeName": "source.cpp",
10 "patterns": [
11 {
12 "include": "#ever_present_context"
13 },
14 {
15 "include": "#constructor_root"
16 },
17 {
18 "include": "#destructor_root"
19 },
20 {
21 "include": "#function_definition"
22 },
23 {
24 "include": "#operator_overload"
25 },
26 {
27 "include": "#using_namespace"
28 },
29 {
30 "include": "#type_alias"
31 },
32 {
33 "include": "#using_name"
34 },
35 {
36 "include": "#namespace_alias"
37 },
38 {
39 "include": "#namespace_block"
40 },
41 {
42 "include": "#extern_block"
43 },
44 {
45 "include": "#typedef_class"
46 },
47 {
48 "include": "#typedef_struct"
49 },
50 {
51 "include": "#typedef_union"
52 },
53 {
54 "include": "#misc_keywords"
55 },
56 {
57 "include": "#standard_declares"
58 },
59 {
60 "include": "#class_block"
61 },
62 {
63 "include": "#struct_block"
64 },
65 {
66 "include": "#union_block"
67 },
68 {
69 "include": "#enum_block"
70 },
71 {
72 "include": "#template_isolated_definition"
73 },
74 {
75 "include": "#template_definition"
76 },
77 {
78 "include": "#template_explicit_instantiation"
79 },
80 {
81 "include": "#access_control_keywords"
82 },
83 {
84 "include": "#block"
85 },
86 {
87 "include": "#static_assert"
88 },
89 {
90 "include": "#assembly"
91 },
92 {
93 "include": "#function_pointer"
94 },
95 {
96 "include": "#evaluation_context"
97 }
98 ],
99 "repository": {
100 "access_control_keywords": {
101 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(((?:(?:protected)|(?:private)|(?:public)))(?:\\s+)?(:))",
102 "captures": {
103 "1": {
104 "patterns": [
105 {
106 "include": "#inline_comment"
107 }
108 ]
109 },
110 "2": {
111 "patterns": [
112 {
113 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
114 "captures": {
115 "1": {
116 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
117 },
118 "2": {
119 "name": "comment.block.cpp"
120 },
121 "3": {
122 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
123 }
124 }
125 }
126 ]
127 },
128 "3": {
129 "name": "storage.type.modifier.access.control.$4.cpp"
130 },
131 "4": {},
132 "5": {
133 "name": "punctuation.separator.colon.access.control.cpp"
134 }
135 }
136 },
137 "alignas_attribute": {
138 "begin": "alignas\\(",
139 "end": "\\)",
140 "beginCaptures": {
141 "0": {
142 "name": "punctuation.section.attribute.begin.cpp"
143 }
144 },
145 "endCaptures": {
146 "0": {
147 "name": "punctuation.section.attribute.end.cpp"
148 }
149 },
150 "name": "support.other.attribute.cpp",
151 "patterns": [
152 {
153 "include": "#attributes_context"
154 },
155 {
156 "begin": "\\(",
157 "end": "\\)",
158 "beginCaptures": {},
159 "endCaptures": {},
160 "patterns": [
161 {
162 "include": "#attributes_context"
163 },
164 {
165 "include": "#string_context"
166 },
167 {
168 "include": "#ever_present_context"
169 }
170 ]
171 },
172 {
173 "match": "(using)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
174 "captures": {
175 "1": {
176 "name": "keyword.other.using.directive.cpp"
177 },
178 "2": {
179 "name": "entity.name.namespace.cpp"
180 }
181 }
182 },
183 {
184 "match": ",",
185 "name": "punctuation.separator.attribute.cpp"
186 },
187 {
188 "match": ":",
189 "name": "punctuation.accessor.attribute.cpp"
190 },
191 {
192 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
193 "name": "entity.name.namespace.cpp"
194 },
195 {
196 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
197 "name": "entity.other.attribute.$0.cpp"
198 },
199 {
200 "include": "#number_literal"
201 },
202 {
203 "include": "#ever_present_context"
204 }
205 ]
206 },
207 "alignas_operator": {
208 "begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
209 "end": "\\)",
210 "beginCaptures": {
211 "1": {
212 "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
213 },
214 "2": {
215 "patterns": [
216 {
217 "include": "#inline_comment"
218 }
219 ]
220 },
221 "3": {
222 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
223 },
224 "4": {
225 "name": "comment.block.cpp"
226 },
227 "5": {
228 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
229 },
230 "6": {
231 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
232 }
233 },
234 "endCaptures": {
235 "0": {
236 "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
237 }
238 },
239 "contentName": "meta.arguments.operator.alignas",
240 "patterns": [
241 {
242 "include": "#evaluation_context"
243 }
244 ]
245 },
246 "alignof_operator": {
247 "begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
248 "end": "\\)",
249 "beginCaptures": {
250 "1": {
251 "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
252 },
253 "2": {
254 "patterns": [
255 {
256 "include": "#inline_comment"
257 }
258 ]
259 },
260 "3": {
261 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
262 },
263 "4": {
264 "name": "comment.block.cpp"
265 },
266 "5": {
267 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
268 },
269 "6": {
270 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
271 }
272 },
273 "endCaptures": {
274 "0": {
275 "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
276 }
277 },
278 "contentName": "meta.arguments.operator.alignof",
279 "patterns": [
280 {
281 "include": "#evaluation_context"
282 }
283 ]
284 },
285 "assembly": {
286 "begin": "(\\b(?:__asm__|asm)\\b)(?:\\s+)?((?:volatile)?)",
287 "end": "(?!\\G)",
288 "beginCaptures": {
289 "1": {
290 "name": "storage.type.asm.cpp"
291 },
292 "2": {
293 "name": "storage.modifier.cpp"
294 }
295 },
296 "endCaptures": {},
297 "name": "meta.asm.cpp",
298 "patterns": [
299 {
300 "match": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\n|$)",
301 "captures": {
302 "1": {
303 "patterns": [
304 {
305 "include": "#inline_comment"
306 }
307 ]
308 },
309 "2": {
310 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
311 },
312 "3": {
313 "name": "comment.block.cpp"
314 },
315 "4": {
316 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
317 }
318 }
319 },
320 {
321 "include": "#comments"
322 },
323 {
324 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\(",
325 "end": "\\)",
326 "beginCaptures": {
327 "0": {
328 "name": "punctuation.section.parens.begin.bracket.round.assembly.cpp"
329 },
330 "1": {
331 "patterns": [
332 {
333 "include": "#inline_comment"
334 }
335 ]
336 },
337 "2": {
338 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
339 },
340 "3": {
341 "name": "comment.block.cpp"
342 },
343 "4": {
344 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
345 }
346 },
347 "endCaptures": {
348 "0": {
349 "name": "punctuation.section.parens.end.bracket.round.assembly.cpp"
350 }
351 },
352 "patterns": [
353 {
354 "begin": "(R?)(\")",
355 "end": "\"",
356 "beginCaptures": {
357 "1": {
358 "name": "meta.encoding.cpp"
359 },
360 "2": {
361 "name": "punctuation.definition.string.begin.assembly.cpp"
362 }
363 },
364 "endCaptures": {
365 "0": {
366 "name": "punctuation.definition.string.end.assembly.cpp"
367 }
368 },
369 "name": "string.quoted.double.cpp",
370 "contentName": "meta.embedded.assembly",
371 "patterns": [
372 {
373 "include": "source.asm"
374 },
375 {
376 "include": "source.x86"
377 },
378 {
379 "include": "source.x86_64"
380 },
381 {
382 "include": "source.arm"
383 },
384 {
385 "include": "#backslash_escapes"
386 },
387 {
388 "include": "#string_escaped_char"
389 }
390 ]
391 },
392 {
393 "begin": "\\(",
394 "end": "\\)",
395 "beginCaptures": {
396 "0": {
397 "name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"
398 }
399 },
400 "endCaptures": {
401 "0": {
402 "name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp"
403 }
404 },
405 "patterns": [
406 {
407 "include": "#evaluation_context"
408 }
409 ]
410 },
411 {
412 "match": "\\[((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]",
413 "captures": {
414 "1": {
415 "patterns": [
416 {
417 "include": "#inline_comment"
418 }
419 ]
420 },
421 "2": {
422 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
423 },
424 "3": {
425 "name": "comment.block.cpp"
426 },
427 "4": {
428 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
429 },
430 "5": {
431 "name": "variable.other.asm.label.cpp"
432 },
433 "6": {
434 "patterns": [
435 {
436 "include": "#inline_comment"
437 }
438 ]
439 },
440 "7": {
441 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
442 },
443 "8": {
444 "name": "comment.block.cpp"
445 },
446 "9": {
447 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
448 }
449 }
450 },
451 {
452 "match": ":",
453 "name": "punctuation.separator.delimiter.colon.assembly.cpp"
454 },
455 {
456 "include": "#comments"
457 }
458 ]
459 }
460 ]
461 },
462 "assignment_operator": {
463 "match": "\\=",
464 "name": "keyword.operator.assignment.cpp"
465 },
466 "attributes_context": {
467 "patterns": [
468 {
469 "include": "#cpp_attributes"
470 },
471 {
472 "include": "#gcc_attributes"
473 },
474 {
475 "include": "#ms_attributes"
476 },
477 {
478 "include": "#alignas_attribute"
479 }
480 ]
481 },
482 "backslash_escapes": {
483 "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
484 "name": "constant.character.escape"
485 },
486 "block": {
487 "begin": "{",
488 "end": "}",
489 "beginCaptures": {
490 "0": {
491 "name": "punctuation.section.block.begin.bracket.curly.cpp"
492 }
493 },
494 "endCaptures": {
495 "0": {
496 "name": "punctuation.section.block.end.bracket.curly.cpp"
497 }
498 },
499 "name": "meta.block.cpp",
500 "patterns": [
501 {
502 "include": "#function_body_context"
503 }
504 ]
505 },
506 "block_comment": {
507 "begin": "\\s*+(\\/\\*)",
508 "end": "\\*\\/",
509 "beginCaptures": {
510 "1": {
511 "name": "punctuation.definition.comment.begin.cpp"
512 }
513 },
514 "endCaptures": {
515 "0": {
516 "name": "punctuation.definition.comment.end.cpp"
517 }
518 },
519 "name": "comment.block.cpp"
520 },
521 "builtin_storage_type_initilizer": {
522 "begin": "\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)\\s*+(?<!\\w)(\\()",
523 "end": "\\)",
524 "beginCaptures": {
525 "1": {
526 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
527 },
528 "2": {
529 "name": "storage.type.cpp storage.type.built-in.cpp"
530 },
531 "3": {
532 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
533 },
534 "4": {
535 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
536 },
537 "5": {
538 "name": "punctuation.section.arguments.begin.bracket.round.initializer.cpp"
539 }
540 },
541 "endCaptures": {
542 "0": {
543 "name": "punctuation.section.arguments.end.bracket.round.initializer.cpp"
544 }
545 },
546 "patterns": [
547 {
548 "include": "#evaluation_context"
549 }
550 ]
551 },
552 "case_statement": {
553 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)case(?!\\w))",
554 "end": ":",
555 "beginCaptures": {
556 "1": {
557 "patterns": [
558 {
559 "include": "#inline_comment"
560 }
561 ]
562 },
563 "2": {
564 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
565 },
566 "3": {
567 "name": "comment.block.cpp"
568 },
569 "4": {
570 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
571 },
572 "5": {
573 "name": "keyword.control.case.cpp"
574 }
575 },
576 "endCaptures": {
577 "0": {
578 "name": "punctuation.separator.colon.case.cpp"
579 }
580 },
581 "name": "meta.conditional.case.cpp",
582 "patterns": [
583 {
584 "include": "#evaluation_context"
585 }
586 ]
587 },
588 "class_block": {
589 "begin": "((?<!\\w)class(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",
590 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
591 "beginCaptures": {
592 "0": {
593 "name": "meta.head.class.cpp"
594 },
595 "1": {
596 "name": "storage.type.$1.cpp"
597 },
598 "2": {
599 "patterns": [
600 {
601 "include": "#inline_comment"
602 }
603 ]
604 },
605 "3": {
606 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
607 },
608 "4": {
609 "name": "comment.block.cpp"
610 },
611 "5": {
612 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
613 },
614 "6": {
615 "patterns": [
616 {
617 "include": "#attributes_context"
618 },
619 {
620 "include": "#number_literal"
621 }
622 ]
623 },
624 "7": {
625 "patterns": [
626 {
627 "include": "#inline_comment"
628 }
629 ]
630 },
631 "8": {
632 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
633 },
634 "9": {
635 "name": "comment.block.cpp"
636 },
637 "10": {
638 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
639 },
640 "11": {
641 "patterns": [
642 {
643 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
644 "captures": {
645 "1": {
646 "name": "storage.type.modifier.final.cpp"
647 },
648 "2": {
649 "patterns": [
650 {
651 "include": "#inline_comment"
652 }
653 ]
654 },
655 "3": {
656 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
657 },
658 "4": {
659 "name": "comment.block.cpp"
660 },
661 "5": {
662 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
663 }
664 }
665 },
666 {
667 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",
668 "captures": {
669 "1": {
670 "name": "entity.name.type.class.cpp"
671 },
672 "2": {
673 "patterns": [
674 {
675 "include": "#inline_comment"
676 }
677 ]
678 },
679 "3": {
680 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
681 },
682 "4": {
683 "name": "comment.block.cpp"
684 },
685 "5": {
686 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
687 },
688 "6": {
689 "name": "storage.type.modifier.final.cpp"
690 },
691 "7": {
692 "patterns": [
693 {
694 "include": "#inline_comment"
695 }
696 ]
697 },
698 "8": {
699 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
700 },
701 "9": {
702 "name": "comment.block.cpp"
703 },
704 "10": {
705 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
706 }
707 }
708 },
709 {
710 "match": "DLLEXPORT",
711 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
712 },
713 {
714 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
715 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
716 }
717 ]
718 },
719 "12": {
720 "patterns": [
721 {
722 "include": "#inline_comment"
723 }
724 ]
725 },
726 "13": {
727 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
728 },
729 "14": {
730 "name": "comment.block.cpp"
731 },
732 "15": {
733 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
734 },
735 "16": {
736 "patterns": [
737 {
738 "include": "#inline_comment"
739 }
740 ]
741 },
742 "17": {
743 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
744 },
745 "18": {
746 "name": "comment.block.cpp"
747 },
748 "19": {
749 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
750 },
751 "20": {
752 "name": "punctuation.separator.colon.inheritance.cpp"
753 }
754 },
755 "endCaptures": {
756 "1": {
757 "name": "punctuation.terminator.statement.cpp"
758 },
759 "2": {
760 "name": "punctuation.terminator.statement.cpp"
761 }
762 },
763 "name": "meta.block.class.cpp",
764 "patterns": [
765 {
766 "begin": "\\G ?",
767 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
768 "beginCaptures": {},
769 "endCaptures": {
770 "0": {
771 "name": "punctuation.section.block.begin.bracket.curly.class.cpp"
772 }
773 },
774 "name": "meta.head.class.cpp",
775 "patterns": [
776 {
777 "include": "#ever_present_context"
778 },
779 {
780 "include": "#inheritance_context"
781 },
782 {
783 "include": "#template_call_range"
784 }
785 ]
786 },
787 {
788 "begin": "(?<=\\{|<%|\\?\\?<)",
789 "end": "\\}|%>|\\?\\?>",
790 "beginCaptures": {},
791 "endCaptures": {
792 "0": {
793 "name": "punctuation.section.block.end.bracket.curly.class.cpp"
794 }
795 },
796 "name": "meta.body.class.cpp",
797 "patterns": [
798 {
799 "include": "#function_pointer"
800 },
801 {
802 "include": "#static_assert"
803 },
804 {
805 "include": "#constructor_inline"
806 },
807 {
808 "include": "#destructor_inline"
809 },
810 {
811 "include": "$self"
812 }
813 ]
814 },
815 {
816 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
817 "end": "[\\s]*(?=;)",
818 "beginCaptures": {},
819 "endCaptures": {},
820 "name": "meta.tail.class.cpp",
821 "patterns": [
822 {
823 "include": "$self"
824 }
825 ]
826 }
827 ]
828 },
829 "class_declare": {
830 "match": "((?<!\\w)class(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
831 "captures": {
832 "1": {
833 "name": "storage.type.class.declare.cpp"
834 },
835 "2": {
836 "patterns": [
837 {
838 "include": "#inline_comment"
839 }
840 ]
841 },
842 "3": {
843 "patterns": [
844 {
845 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
846 "captures": {
847 "1": {
848 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
849 },
850 "2": {
851 "name": "comment.block.cpp"
852 },
853 "3": {
854 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
855 }
856 }
857 }
858 ]
859 },
860 "4": {
861 "name": "entity.name.type.class.cpp"
862 },
863 "5": {
864 "patterns": [
865 {
866 "match": "\\*",
867 "name": "storage.modifier.pointer.cpp"
868 },
869 {
870 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
871 "captures": {
872 "1": {
873 "patterns": [
874 {
875 "include": "#inline_comment"
876 }
877 ]
878 },
879 "2": {
880 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
881 },
882 "3": {
883 "name": "comment.block.cpp"
884 },
885 "4": {
886 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
887 }
888 },
889 "name": "invalid.illegal.reference-type.cpp"
890 },
891 {
892 "match": "\\&",
893 "name": "storage.modifier.reference.cpp"
894 }
895 ]
896 },
897 "6": {
898 "patterns": [
899 {
900 "include": "#inline_comment"
901 }
902 ]
903 },
904 "7": {
905 "patterns": [
906 {
907 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
908 "captures": {
909 "1": {
910 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
911 },
912 "2": {
913 "name": "comment.block.cpp"
914 },
915 "3": {
916 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
917 }
918 }
919 }
920 ]
921 },
922 "8": {
923 "patterns": [
924 {
925 "include": "#inline_comment"
926 }
927 ]
928 },
929 "9": {
930 "patterns": [
931 {
932 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
933 "captures": {
934 "1": {
935 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
936 },
937 "2": {
938 "name": "comment.block.cpp"
939 },
940 "3": {
941 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
942 }
943 }
944 }
945 ]
946 },
947 "10": {
948 "patterns": [
949 {
950 "include": "#inline_comment"
951 }
952 ]
953 },
954 "11": {
955 "patterns": [
956 {
957 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
958 "captures": {
959 "1": {
960 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
961 },
962 "2": {
963 "name": "comment.block.cpp"
964 },
965 "3": {
966 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
967 }
968 }
969 }
970 ]
971 },
972 "12": {
973 "name": "variable.other.object.declare.cpp"
974 },
975 "13": {
976 "patterns": [
977 {
978 "include": "#inline_comment"
979 }
980 ]
981 },
982 "14": {
983 "patterns": [
984 {
985 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
986 "captures": {
987 "1": {
988 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
989 },
990 "2": {
991 "name": "comment.block.cpp"
992 },
993 "3": {
994 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
995 }
996 }
997 }
998 ]
999 }
1000 }
1001 },
1002 "comma": {
1003 "match": ",",
1004 "name": "punctuation.separator.delimiter.comma.cpp"
1005 },
1006 "comma_in_template_argument": {
1007 "match": ",",
1008 "name": "punctuation.separator.delimiter.comma.template.argument.cpp"
1009 },
1010 "comments": {
1011 "patterns": [
1012 {
1013 "begin": "^(?:\\s+)?+(\\/\\/[!\\/]+)",
1014 "end": "(?<=\\n)(?<!\\\\\\n)",
1015 "beginCaptures": {
1016 "1": {
1017 "name": "punctuation.definition.comment.documentation.cpp"
1018 }
1019 },
1020 "endCaptures": {},
1021 "name": "comment.line.double-slash.documentation.cpp",
1022 "patterns": [
1023 {
1024 "include": "#line_continuation_character"
1025 },
1026 {
1027 "match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
1028 "name": "storage.type.class.doxygen.cpp"
1029 },
1030 {
1031 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
1032 "captures": {
1033 "1": {
1034 "name": "storage.type.class.doxygen.cpp"
1035 },
1036 "2": {
1037 "name": "markup.italic.doxygen.cpp"
1038 }
1039 }
1040 },
1041 {
1042 "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
1043 "captures": {
1044 "1": {
1045 "name": "storage.type.class.doxygen.cpp"
1046 },
1047 "2": {
1048 "name": "markup.bold.doxygen.cpp"
1049 }
1050 }
1051 },
1052 {
1053 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
1054 "captures": {
1055 "1": {
1056 "name": "storage.type.class.doxygen.cpp"
1057 },
1058 "2": {
1059 "name": "markup.inline.raw.string.cpp"
1060 }
1061 }
1062 },
1063 {
1064 "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
1065 "name": "storage.type.class.doxygen.cpp"
1066 },
1067 {
1068 "match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
1069 "name": "storage.type.class.doxygen.cpp"
1070 },
1071 {
1072 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)",
1073 "captures": {
1074 "1": {
1075 "name": "storage.type.class.doxygen.cpp"
1076 },
1077 "2": {
1078 "patterns": [
1079 {
1080 "match": "in|out",
1081 "name": "keyword.other.parameter.direction.$0.cpp"
1082 }
1083 ]
1084 },
1085 "3": {
1086 "patterns": [
1087 {
1088 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
1089 "name": "variable.parameter.cpp"
1090 },
1091 {
1092 "match": ",",
1093 "name": "punctuation.cpp"
1094 }
1095 ]
1096 },
1097 "4": {
1098 "name": "variable.parameter.cpp"
1099 },
1100 "5": {
1101 "name": "punctuation.cpp"
1102 },
1103 "6": {
1104 "name": "variable.parameter.cpp"
1105 }
1106 }
1107 },
1108 {
1109 "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
1110 "name": "storage.type.class.doxygen.cpp"
1111 },
1112 {
1113 "match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
1114 "name": "storage.type.class.doxygen.cpp"
1115 },
1116 {
1117 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1118 "name": "storage.type.class.gtkdoc.cpp"
1119 }
1120 ]
1121 },
1122 {
1123 "match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
1124 "captures": {
1125 "1": {
1126 "name": "punctuation.definition.comment.begin.documentation.cpp"
1127 },
1128 "2": {
1129 "patterns": [
1130 {
1131 "match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
1132 "name": "storage.type.class.doxygen.cpp"
1133 },
1134 {
1135 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
1136 "captures": {
1137 "1": {
1138 "name": "storage.type.class.doxygen.cpp"
1139 },
1140 "2": {
1141 "name": "markup.italic.doxygen.cpp"
1142 }
1143 }
1144 },
1145 {
1146 "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
1147 "captures": {
1148 "1": {
1149 "name": "storage.type.class.doxygen.cpp"
1150 },
1151 "2": {
1152 "name": "markup.bold.doxygen.cpp"
1153 }
1154 }
1155 },
1156 {
1157 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
1158 "captures": {
1159 "1": {
1160 "name": "storage.type.class.doxygen.cpp"
1161 },
1162 "2": {
1163 "name": "markup.inline.raw.string.cpp"
1164 }
1165 }
1166 },
1167 {
1168 "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
1169 "name": "storage.type.class.doxygen.cpp"
1170 },
1171 {
1172 "match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
1173 "name": "storage.type.class.doxygen.cpp"
1174 },
1175 {
1176 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)",
1177 "captures": {
1178 "1": {
1179 "name": "storage.type.class.doxygen.cpp"
1180 },
1181 "2": {
1182 "patterns": [
1183 {
1184 "match": "in|out",
1185 "name": "keyword.other.parameter.direction.$0.cpp"
1186 }
1187 ]
1188 },
1189 "3": {
1190 "patterns": [
1191 {
1192 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
1193 "name": "variable.parameter.cpp"
1194 },
1195 {
1196 "match": ",",
1197 "name": "punctuation.cpp"
1198 }
1199 ]
1200 },
1201 "4": {
1202 "name": "variable.parameter.cpp"
1203 },
1204 "5": {
1205 "name": "punctuation.cpp"
1206 },
1207 "6": {
1208 "name": "variable.parameter.cpp"
1209 }
1210 }
1211 },
1212 {
1213 "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
1214 "name": "storage.type.class.doxygen.cpp"
1215 },
1216 {
1217 "match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
1218 "name": "storage.type.class.doxygen.cpp"
1219 },
1220 {
1221 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1222 "name": "storage.type.class.gtkdoc.cpp"
1223 }
1224 ]
1225 },
1226 "3": {
1227 "name": "punctuation.definition.comment.end.documentation.cpp"
1228 }
1229 },
1230 "name": "comment.block.documentation.cpp"
1231 },
1232 {
1233 "begin": "(?:\\s+)?+\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s))",
1234 "end": "[!*]*\\*\\/",
1235 "beginCaptures": {
1236 "0": {
1237 "name": "punctuation.definition.comment.begin.documentation.cpp"
1238 }
1239 },
1240 "endCaptures": {
1241 "0": {
1242 "name": "punctuation.definition.comment.end.documentation.cpp"
1243 }
1244 },
1245 "name": "comment.block.documentation.cpp",
1246 "patterns": [
1247 {
1248 "match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
1249 "name": "storage.type.class.doxygen.cpp"
1250 },
1251 {
1252 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
1253 "captures": {
1254 "1": {
1255 "name": "storage.type.class.doxygen.cpp"
1256 },
1257 "2": {
1258 "name": "markup.italic.doxygen.cpp"
1259 }
1260 }
1261 },
1262 {
1263 "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
1264 "captures": {
1265 "1": {
1266 "name": "storage.type.class.doxygen.cpp"
1267 },
1268 "2": {
1269 "name": "markup.bold.doxygen.cpp"
1270 }
1271 }
1272 },
1273 {
1274 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
1275 "captures": {
1276 "1": {
1277 "name": "storage.type.class.doxygen.cpp"
1278 },
1279 "2": {
1280 "name": "markup.inline.raw.string.cpp"
1281 }
1282 }
1283 },
1284 {
1285 "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
1286 "name": "storage.type.class.doxygen.cpp"
1287 },
1288 {
1289 "match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
1290 "name": "storage.type.class.doxygen.cpp"
1291 },
1292 {
1293 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)",
1294 "captures": {
1295 "1": {
1296 "name": "storage.type.class.doxygen.cpp"
1297 },
1298 "2": {
1299 "patterns": [
1300 {
1301 "match": "in|out",
1302 "name": "keyword.other.parameter.direction.$0.cpp"
1303 }
1304 ]
1305 },
1306 "3": {
1307 "patterns": [
1308 {
1309 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
1310 "name": "variable.parameter.cpp"
1311 },
1312 {
1313 "match": ",",
1314 "name": "punctuation.cpp"
1315 }
1316 ]
1317 },
1318 "4": {
1319 "name": "variable.parameter.cpp"
1320 },
1321 "5": {
1322 "name": "punctuation.cpp"
1323 },
1324 "6": {
1325 "name": "variable.parameter.cpp"
1326 }
1327 }
1328 },
1329 {
1330 "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
1331 "name": "storage.type.class.doxygen.cpp"
1332 },
1333 {
1334 "match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
1335 "name": "storage.type.class.doxygen.cpp"
1336 },
1337 {
1338 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1339 "name": "storage.type.class.gtkdoc.cpp"
1340 }
1341 ]
1342 },
1343 {
1344 "include": "#emacs_file_banner"
1345 },
1346 {
1347 "include": "#block_comment"
1348 },
1349 {
1350 "include": "#line_comment"
1351 },
1352 {
1353 "include": "#invalid_comment_end"
1354 }
1355 ]
1356 },
1357 "constructor_inline": {
1358 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())",
1359 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
1360 "beginCaptures": {
1361 "0": {
1362 "name": "meta.head.function.definition.special.constructor.cpp"
1363 },
1364 "1": {
1365 "patterns": [
1366 {
1367 "include": "#inline_comment"
1368 }
1369 ]
1370 },
1371 "2": {
1372 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1373 },
1374 "3": {
1375 "name": "comment.block.cpp"
1376 },
1377 "4": {
1378 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1379 },
1380 "5": {
1381 "patterns": [
1382 {
1383 "include": "#functional_specifiers_pre_parameters"
1384 }
1385 ]
1386 },
1387 "6": {
1388 "patterns": [
1389 {
1390 "include": "#inline_comment"
1391 }
1392 ]
1393 },
1394 "7": {
1395 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1396 },
1397 "8": {
1398 "name": "comment.block.cpp"
1399 },
1400 "9": {
1401 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1402 },
1403 "10": {
1404 "name": "storage.type.modifier.calling-convention.cpp"
1405 },
1406 "11": {
1407 "patterns": [
1408 {
1409 "include": "#inline_comment"
1410 }
1411 ]
1412 },
1413 "12": {
1414 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1415 },
1416 "13": {
1417 "name": "comment.block.cpp"
1418 },
1419 "14": {
1420 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1421 },
1422 "15": {
1423 "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"
1424 }
1425 },
1426 "endCaptures": {},
1427 "name": "meta.function.definition.special.constructor.cpp",
1428 "patterns": [
1429 {
1430 "begin": "\\G ?",
1431 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
1432 "beginCaptures": {},
1433 "endCaptures": {
1434 "0": {
1435 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
1436 }
1437 },
1438 "name": "meta.head.function.definition.special.constructor.cpp",
1439 "patterns": [
1440 {
1441 "include": "#ever_present_context"
1442 },
1443 {
1444 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
1445 "captures": {
1446 "1": {
1447 "name": "keyword.operator.assignment.cpp"
1448 },
1449 "2": {
1450 "patterns": [
1451 {
1452 "include": "#inline_comment"
1453 }
1454 ]
1455 },
1456 "3": {
1457 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1458 },
1459 "4": {
1460 "name": "comment.block.cpp"
1461 },
1462 "5": {
1463 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1464 },
1465 "6": {
1466 "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"
1467 },
1468 "7": {
1469 "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"
1470 }
1471 }
1472 },
1473 {
1474 "include": "#functional_specifiers_pre_parameters"
1475 },
1476 {
1477 "begin": ":",
1478 "end": "(?=\\{)",
1479 "beginCaptures": {
1480 "0": {
1481 "name": "punctuation.separator.initializers.cpp"
1482 }
1483 },
1484 "endCaptures": {},
1485 "patterns": [
1486 {
1487 "begin": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()",
1488 "end": "\\)",
1489 "beginCaptures": {
1490 "1": {
1491 "name": "entity.name.function.call.initializer.cpp"
1492 },
1493 "2": {
1494 "name": "meta.template.call.cpp",
1495 "patterns": [
1496 {
1497 "include": "#template_call_range"
1498 }
1499 ]
1500 },
1501 "3": {},
1502 "4": {
1503 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1504 },
1505 "5": {
1506 "name": "comment.block.cpp"
1507 },
1508 "6": {
1509 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1510 },
1511 "7": {
1512 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1513 }
1514 },
1515 "endCaptures": {
1516 "0": {
1517 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1518 }
1519 },
1520 "contentName": "meta.parameter.initialization",
1521 "patterns": [
1522 {
1523 "include": "#evaluation_context"
1524 }
1525 ]
1526 },
1527 {
1528 "begin": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(\\{)",
1529 "end": "\\}",
1530 "beginCaptures": {
1531 "1": {
1532 "name": "entity.name.function.call.initializer.cpp"
1533 },
1534 "2": {
1535 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1536 }
1537 },
1538 "endCaptures": {
1539 "0": {
1540 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1541 }
1542 },
1543 "contentName": "meta.parameter.initialization",
1544 "patterns": [
1545 {
1546 "include": "#evaluation_context"
1547 }
1548 ]
1549 },
1550 {
1551 "match": ",",
1552 "name": "punctuation.separator.delimiter.comma.cpp"
1553 },
1554 {
1555 "include": "#comments"
1556 }
1557 ]
1558 },
1559 {
1560 "begin": "\\(",
1561 "end": "\\)",
1562 "beginCaptures": {
1563 "0": {
1564 "name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
1565 }
1566 },
1567 "endCaptures": {
1568 "0": {
1569 "name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
1570 }
1571 },
1572 "contentName": "meta.function.definition.parameters.special.constructor",
1573 "patterns": [
1574 {
1575 "include": "#function_parameter_context"
1576 },
1577 {
1578 "include": "#evaluation_context"
1579 }
1580 ]
1581 },
1582 {
1583 "include": "#qualifiers_and_specifiers_post_parameters"
1584 },
1585 {
1586 "include": "$self"
1587 }
1588 ]
1589 },
1590 {
1591 "begin": "(?<=\\{|<%|\\?\\?<)",
1592 "end": "\\}|%>|\\?\\?>",
1593 "beginCaptures": {},
1594 "endCaptures": {
1595 "0": {
1596 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
1597 }
1598 },
1599 "name": "meta.body.function.definition.special.constructor.cpp",
1600 "patterns": [
1601 {
1602 "include": "#function_body_context"
1603 }
1604 ]
1605 },
1606 {
1607 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
1608 "end": "[\\s]*(?=;)",
1609 "beginCaptures": {},
1610 "endCaptures": {},
1611 "name": "meta.tail.function.definition.special.constructor.cpp",
1612 "patterns": [
1613 {
1614 "include": "$self"
1615 }
1616 ]
1617 }
1618 ]
1619 },
1620 "constructor_root": {
1621 "begin": "\\s*+((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<8>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\10)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\())",
1622 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
1623 "beginCaptures": {
1624 "0": {
1625 "name": "meta.head.function.definition.special.constructor.cpp"
1626 },
1627 "1": {
1628 "name": "storage.type.modifier.calling-convention.cpp"
1629 },
1630 "2": {
1631 "patterns": [
1632 {
1633 "include": "#inline_comment"
1634 }
1635 ]
1636 },
1637 "3": {
1638 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1639 },
1640 "4": {
1641 "name": "comment.block.cpp"
1642 },
1643 "5": {
1644 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1645 },
1646 "6": {
1647 "patterns": [
1648 {
1649 "match": "::",
1650 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
1651 },
1652 {
1653 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
1654 "name": "entity.name.scope-resolution.constructor.cpp"
1655 },
1656 {
1657 "include": "#template_call_range"
1658 }
1659 ]
1660 },
1661 "7": {
1662 "patterns": [
1663 {
1664 "include": "#template_call_range"
1665 }
1666 ]
1667 },
1668 "8": {},
1669 "9": {
1670 "patterns": [
1671 {
1672 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?=:)",
1673 "name": "entity.name.type.constructor.cpp"
1674 },
1675 {
1676 "match": "(?<=:)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
1677 "name": "entity.name.function.definition.special.constructor.cpp"
1678 },
1679 {
1680 "match": "::",
1681 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
1682 }
1683 ]
1684 },
1685 "10": {},
1686 "11": {
1687 "patterns": [
1688 {
1689 "include": "#inline_comment"
1690 }
1691 ]
1692 },
1693 "12": {
1694 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1695 },
1696 "13": {
1697 "name": "comment.block.cpp"
1698 },
1699 "14": {
1700 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1701 },
1702 "15": {
1703 "patterns": [
1704 {
1705 "include": "#inline_comment"
1706 }
1707 ]
1708 },
1709 "16": {
1710 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1711 },
1712 "17": {
1713 "name": "comment.block.cpp"
1714 },
1715 "18": {
1716 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1717 },
1718 "19": {
1719 "patterns": [
1720 {
1721 "include": "#inline_comment"
1722 }
1723 ]
1724 },
1725 "20": {
1726 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1727 },
1728 "21": {
1729 "name": "comment.block.cpp"
1730 },
1731 "22": {
1732 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1733 }
1734 },
1735 "endCaptures": {},
1736 "name": "meta.function.definition.special.constructor.cpp",
1737 "patterns": [
1738 {
1739 "begin": "\\G ?",
1740 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
1741 "beginCaptures": {},
1742 "endCaptures": {
1743 "0": {
1744 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
1745 }
1746 },
1747 "name": "meta.head.function.definition.special.constructor.cpp",
1748 "patterns": [
1749 {
1750 "include": "#ever_present_context"
1751 },
1752 {
1753 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
1754 "captures": {
1755 "1": {
1756 "name": "keyword.operator.assignment.cpp"
1757 },
1758 "2": {
1759 "patterns": [
1760 {
1761 "include": "#inline_comment"
1762 }
1763 ]
1764 },
1765 "3": {
1766 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1767 },
1768 "4": {
1769 "name": "comment.block.cpp"
1770 },
1771 "5": {
1772 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1773 },
1774 "6": {
1775 "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"
1776 },
1777 "7": {
1778 "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"
1779 }
1780 }
1781 },
1782 {
1783 "include": "#functional_specifiers_pre_parameters"
1784 },
1785 {
1786 "begin": ":",
1787 "end": "(?=\\{)",
1788 "beginCaptures": {
1789 "0": {
1790 "name": "punctuation.separator.initializers.cpp"
1791 }
1792 },
1793 "endCaptures": {},
1794 "patterns": [
1795 {
1796 "begin": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()",
1797 "end": "\\)",
1798 "beginCaptures": {
1799 "1": {
1800 "name": "entity.name.function.call.initializer.cpp"
1801 },
1802 "2": {
1803 "name": "meta.template.call.cpp",
1804 "patterns": [
1805 {
1806 "include": "#template_call_range"
1807 }
1808 ]
1809 },
1810 "3": {},
1811 "4": {
1812 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1813 },
1814 "5": {
1815 "name": "comment.block.cpp"
1816 },
1817 "6": {
1818 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1819 },
1820 "7": {
1821 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1822 }
1823 },
1824 "endCaptures": {
1825 "0": {
1826 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1827 }
1828 },
1829 "contentName": "meta.parameter.initialization",
1830 "patterns": [
1831 {
1832 "include": "#evaluation_context"
1833 }
1834 ]
1835 },
1836 {
1837 "begin": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(\\{)",
1838 "end": "\\}",
1839 "beginCaptures": {
1840 "1": {
1841 "name": "entity.name.function.call.initializer.cpp"
1842 },
1843 "2": {
1844 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1845 }
1846 },
1847 "endCaptures": {
1848 "0": {
1849 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1850 }
1851 },
1852 "contentName": "meta.parameter.initialization",
1853 "patterns": [
1854 {
1855 "include": "#evaluation_context"
1856 }
1857 ]
1858 },
1859 {
1860 "match": ",",
1861 "name": "punctuation.separator.delimiter.comma.cpp"
1862 },
1863 {
1864 "include": "#comments"
1865 }
1866 ]
1867 },
1868 {
1869 "begin": "\\(",
1870 "end": "\\)",
1871 "beginCaptures": {
1872 "0": {
1873 "name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
1874 }
1875 },
1876 "endCaptures": {
1877 "0": {
1878 "name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
1879 }
1880 },
1881 "contentName": "meta.function.definition.parameters.special.constructor",
1882 "patterns": [
1883 {
1884 "include": "#function_parameter_context"
1885 },
1886 {
1887 "include": "#evaluation_context"
1888 }
1889 ]
1890 },
1891 {
1892 "include": "#qualifiers_and_specifiers_post_parameters"
1893 },
1894 {
1895 "include": "$self"
1896 }
1897 ]
1898 },
1899 {
1900 "begin": "(?<=\\{|<%|\\?\\?<)",
1901 "end": "\\}|%>|\\?\\?>",
1902 "beginCaptures": {},
1903 "endCaptures": {
1904 "0": {
1905 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
1906 }
1907 },
1908 "name": "meta.body.function.definition.special.constructor.cpp",
1909 "patterns": [
1910 {
1911 "include": "#function_body_context"
1912 }
1913 ]
1914 },
1915 {
1916 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
1917 "end": "[\\s]*(?=;)",
1918 "beginCaptures": {},
1919 "endCaptures": {},
1920 "name": "meta.tail.function.definition.special.constructor.cpp",
1921 "patterns": [
1922 {
1923 "include": "$self"
1924 }
1925 ]
1926 }
1927 ]
1928 },
1929 "control_flow_keywords": {
1930 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:co_return)|(?:co_yield)|(?:co_await)|(?:continue)|(?:default)|(?:switch)|(?:return)|(?:catch)|(?:while)|(?:throw)|(?:break)|(?:case)|(?:goto)|(?:else)|(?:for)|(?:try)|(?:if)|(?:do))(?!\\w))",
1931 "captures": {
1932 "1": {
1933 "patterns": [
1934 {
1935 "include": "#inline_comment"
1936 }
1937 ]
1938 },
1939 "2": {
1940 "patterns": [
1941 {
1942 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
1943 "captures": {
1944 "1": {
1945 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1946 },
1947 "2": {
1948 "name": "comment.block.cpp"
1949 },
1950 "3": {
1951 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1952 }
1953 }
1954 }
1955 ]
1956 },
1957 "3": {
1958 "name": "keyword.control.$3.cpp"
1959 }
1960 }
1961 },
1962 "cpp_attributes": {
1963 "begin": "\\[\\[",
1964 "end": "\\]\\]",
1965 "beginCaptures": {
1966 "0": {
1967 "name": "punctuation.section.attribute.begin.cpp"
1968 }
1969 },
1970 "endCaptures": {
1971 "0": {
1972 "name": "punctuation.section.attribute.end.cpp"
1973 }
1974 },
1975 "name": "support.other.attribute.cpp",
1976 "patterns": [
1977 {
1978 "include": "#attributes_context"
1979 },
1980 {
1981 "begin": "\\(",
1982 "end": "\\)",
1983 "beginCaptures": {},
1984 "endCaptures": {},
1985 "patterns": [
1986 {
1987 "include": "#attributes_context"
1988 },
1989 {
1990 "include": "#string_context"
1991 },
1992 {
1993 "include": "#ever_present_context"
1994 }
1995 ]
1996 },
1997 {
1998 "match": "(using)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
1999 "captures": {
2000 "1": {
2001 "name": "keyword.other.using.directive.cpp"
2002 },
2003 "2": {
2004 "name": "entity.name.namespace.cpp"
2005 }
2006 }
2007 },
2008 {
2009 "match": ",",
2010 "name": "punctuation.separator.attribute.cpp"
2011 },
2012 {
2013 "match": ":",
2014 "name": "punctuation.accessor.attribute.cpp"
2015 },
2016 {
2017 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
2018 "name": "entity.name.namespace.cpp"
2019 },
2020 {
2021 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
2022 "name": "entity.other.attribute.$0.cpp"
2023 },
2024 {
2025 "include": "#number_literal"
2026 },
2027 {
2028 "include": "#ever_present_context"
2029 }
2030 ]
2031 },
2032 "curly_initializer": {
2033 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)",
2034 "end": "\\}",
2035 "beginCaptures": {
2036 "1": {
2037 "name": "meta.qualified_type.cpp",
2038 "patterns": [
2039 {
2040 "match": "::",
2041 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
2042 },
2043 {
2044 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
2045 "name": "storage.type.$0.cpp"
2046 },
2047 {
2048 "include": "#attributes_context"
2049 },
2050 {
2051 "include": "#storage_types"
2052 },
2053 {
2054 "include": "#number_literal"
2055 },
2056 {
2057 "include": "#string_context"
2058 },
2059 {
2060 "include": "#comma"
2061 },
2062 {
2063 "include": "#scope_resolution_inner_generated"
2064 },
2065 {
2066 "begin": "<",
2067 "end": ">",
2068 "beginCaptures": {
2069 "0": {
2070 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
2071 }
2072 },
2073 "endCaptures": {
2074 "0": {
2075 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
2076 }
2077 },
2078 "name": "meta.template.call.cpp",
2079 "patterns": [
2080 {
2081 "include": "#template_call_context"
2082 }
2083 ]
2084 },
2085 {
2086 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
2087 "name": "entity.name.type.cpp"
2088 }
2089 ]
2090 },
2091 "2": {
2092 "patterns": [
2093 {
2094 "include": "#attributes_context"
2095 },
2096 {
2097 "include": "#number_literal"
2098 }
2099 ]
2100 },
2101 "3": {
2102 "patterns": [
2103 {
2104 "include": "#inline_comment"
2105 }
2106 ]
2107 },
2108 "4": {
2109 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2110 },
2111 "5": {
2112 "name": "comment.block.cpp"
2113 },
2114 "6": {
2115 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2116 },
2117 "7": {
2118 "patterns": [
2119 {
2120 "include": "#inline_comment"
2121 }
2122 ]
2123 },
2124 "8": {
2125 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2126 },
2127 "9": {
2128 "name": "comment.block.cpp"
2129 },
2130 "10": {
2131 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2132 },
2133 "11": {
2134 "patterns": [
2135 {
2136 "match": "::",
2137 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
2138 },
2139 {
2140 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
2141 "name": "entity.name.scope-resolution.type.cpp"
2142 },
2143 {
2144 "include": "#template_call_range"
2145 }
2146 ]
2147 },
2148 "12": {
2149 "patterns": [
2150 {
2151 "include": "#template_call_range"
2152 }
2153 ]
2154 },
2155 "13": {},
2156 "14": {
2157 "patterns": [
2158 {
2159 "include": "#inline_comment"
2160 }
2161 ]
2162 },
2163 "15": {
2164 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2165 },
2166 "16": {
2167 "name": "comment.block.cpp"
2168 },
2169 "17": {
2170 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2171 },
2172 "18": {},
2173 "19": {
2174 "patterns": [
2175 {
2176 "include": "#inline_comment"
2177 }
2178 ]
2179 },
2180 "20": {
2181 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2182 },
2183 "21": {
2184 "name": "comment.block.cpp"
2185 },
2186 "22": {
2187 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2188 },
2189 "23": {
2190 "name": "punctuation.section.arguments.begin.bracket.curly.initializer.cpp"
2191 }
2192 },
2193 "endCaptures": {
2194 "0": {
2195 "name": "punctuation.section.arguments.end.bracket.curly.initializer.cpp"
2196 }
2197 },
2198 "name": "meta.initialization.cpp",
2199 "patterns": [
2200 {
2201 "include": "#evaluation_context"
2202 },
2203 {
2204 "include": "#comma"
2205 }
2206 ]
2207 },
2208 "d9bc4796b0b_module_import": {
2209 "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((import))(?:\\s+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\\")[^\\\"]*(\\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))(?:\\s+)?(;?)",
2210 "captures": {
2211 "1": {
2212 "patterns": [
2213 {
2214 "include": "#inline_comment"
2215 }
2216 ]
2217 },
2218 "2": {
2219 "patterns": [
2220 {
2221 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2222 "captures": {
2223 "1": {
2224 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2225 },
2226 "2": {
2227 "name": "comment.block.cpp"
2228 },
2229 "3": {
2230 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2231 }
2232 }
2233 }
2234 ]
2235 },
2236 "3": {
2237 "name": "keyword.control.directive.import.cpp"
2238 },
2239 "5": {
2240 "name": "string.quoted.other.lt-gt.include.cpp"
2241 },
2242 "6": {
2243 "name": "punctuation.definition.string.begin.cpp"
2244 },
2245 "7": {
2246 "name": "punctuation.definition.string.end.cpp"
2247 },
2248 "8": {
2249 "patterns": [
2250 {
2251 "include": "#inline_comment"
2252 }
2253 ]
2254 },
2255 "9": {
2256 "patterns": [
2257 {
2258 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2259 "captures": {
2260 "1": {
2261 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2262 },
2263 "2": {
2264 "name": "comment.block.cpp"
2265 },
2266 "3": {
2267 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2268 }
2269 }
2270 }
2271 ]
2272 },
2273 "10": {
2274 "name": "string.quoted.double.include.cpp"
2275 },
2276 "11": {
2277 "name": "punctuation.definition.string.begin.cpp"
2278 },
2279 "12": {
2280 "name": "punctuation.definition.string.end.cpp"
2281 },
2282 "13": {
2283 "patterns": [
2284 {
2285 "include": "#inline_comment"
2286 }
2287 ]
2288 },
2289 "14": {
2290 "patterns": [
2291 {
2292 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2293 "captures": {
2294 "1": {
2295 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2296 },
2297 "2": {
2298 "name": "comment.block.cpp"
2299 },
2300 "3": {
2301 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2302 }
2303 }
2304 }
2305 ]
2306 },
2307 "15": {
2308 "name": "entity.name.other.preprocessor.macro.include.cpp"
2309 },
2310 "16": {
2311 "patterns": [
2312 {
2313 "include": "#inline_comment"
2314 }
2315 ]
2316 },
2317 "17": {
2318 "patterns": [
2319 {
2320 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2321 "captures": {
2322 "1": {
2323 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2324 },
2325 "2": {
2326 "name": "comment.block.cpp"
2327 },
2328 "3": {
2329 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2330 }
2331 }
2332 }
2333 ]
2334 },
2335 "18": {
2336 "patterns": [
2337 {
2338 "include": "#inline_comment"
2339 }
2340 ]
2341 },
2342 "19": {
2343 "patterns": [
2344 {
2345 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2346 "captures": {
2347 "1": {
2348 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2349 },
2350 "2": {
2351 "name": "comment.block.cpp"
2352 },
2353 "3": {
2354 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2355 }
2356 }
2357 }
2358 ]
2359 },
2360 "20": {
2361 "patterns": [
2362 {
2363 "include": "#inline_comment"
2364 }
2365 ]
2366 },
2367 "21": {
2368 "patterns": [
2369 {
2370 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2371 "captures": {
2372 "1": {
2373 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2374 },
2375 "2": {
2376 "name": "comment.block.cpp"
2377 },
2378 "3": {
2379 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2380 }
2381 }
2382 }
2383 ]
2384 },
2385 "22": {
2386 "name": "punctuation.terminator.statement.cpp"
2387 }
2388 },
2389 "name": "meta.preprocessor.import.cpp"
2390 },
2391 "d9bc4796b0b_preprocessor_number_literal": {
2392 "match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
2393 "captures": {
2394 "0": {
2395 "patterns": [
2396 {
2397 "begin": "(?=.)",
2398 "end": "$",
2399 "beginCaptures": {},
2400 "endCaptures": {},
2401 "patterns": [
2402 {
2403 "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?$",
2404 "captures": {
2405 "1": {
2406 "name": "keyword.other.unit.hexadecimal.cpp"
2407 },
2408 "2": {
2409 "name": "constant.numeric.hexadecimal.cpp",
2410 "patterns": [
2411 {
2412 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2413 "name": "punctuation.separator.constant.numeric.cpp"
2414 }
2415 ]
2416 },
2417 "3": {
2418 "name": "punctuation.separator.constant.numeric.cpp"
2419 },
2420 "4": {
2421 "name": "constant.numeric.hexadecimal.cpp"
2422 },
2423 "5": {
2424 "name": "constant.numeric.hexadecimal.cpp",
2425 "patterns": [
2426 {
2427 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2428 "name": "punctuation.separator.constant.numeric.cpp"
2429 }
2430 ]
2431 },
2432 "6": {
2433 "name": "punctuation.separator.constant.numeric.cpp"
2434 },
2435 "7": {
2436 "name": "keyword.other.unit.exponent.hexadecimal.cpp"
2437 },
2438 "8": {
2439 "name": "keyword.operator.plus.exponent.hexadecimal.cpp"
2440 },
2441 "9": {
2442 "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
2443 },
2444 "10": {
2445 "name": "constant.numeric.exponent.hexadecimal.cpp",
2446 "patterns": [
2447 {
2448 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2449 "name": "punctuation.separator.constant.numeric.cpp"
2450 }
2451 ]
2452 },
2453 "11": {
2454 "name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
2455 }
2456 }
2457 },
2458 {
2459 "match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?$",
2460 "captures": {
2461 "1": {
2462 "name": "constant.numeric.decimal.cpp",
2463 "patterns": [
2464 {
2465 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2466 "name": "punctuation.separator.constant.numeric.cpp"
2467 }
2468 ]
2469 },
2470 "2": {
2471 "name": "punctuation.separator.constant.numeric.cpp"
2472 },
2473 "3": {
2474 "name": "constant.numeric.decimal.point.cpp"
2475 },
2476 "4": {
2477 "name": "constant.numeric.decimal.cpp",
2478 "patterns": [
2479 {
2480 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2481 "name": "punctuation.separator.constant.numeric.cpp"
2482 }
2483 ]
2484 },
2485 "5": {
2486 "name": "punctuation.separator.constant.numeric.cpp"
2487 },
2488 "6": {
2489 "name": "keyword.other.unit.exponent.decimal.cpp"
2490 },
2491 "7": {
2492 "name": "keyword.operator.plus.exponent.decimal.cpp"
2493 },
2494 "8": {
2495 "name": "keyword.operator.minus.exponent.decimal.cpp"
2496 },
2497 "9": {
2498 "name": "constant.numeric.exponent.decimal.cpp",
2499 "patterns": [
2500 {
2501 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2502 "name": "punctuation.separator.constant.numeric.cpp"
2503 }
2504 ]
2505 },
2506 "10": {
2507 "name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
2508 }
2509 }
2510 },
2511 {
2512 "match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2513 "captures": {
2514 "1": {
2515 "name": "keyword.other.unit.binary.cpp"
2516 },
2517 "2": {
2518 "name": "constant.numeric.binary.cpp",
2519 "patterns": [
2520 {
2521 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2522 "name": "punctuation.separator.constant.numeric.cpp"
2523 }
2524 ]
2525 },
2526 "3": {
2527 "name": "punctuation.separator.constant.numeric.cpp"
2528 },
2529 "4": {
2530 "name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
2531 }
2532 }
2533 },
2534 {
2535 "match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2536 "captures": {
2537 "1": {
2538 "name": "keyword.other.unit.octal.cpp"
2539 },
2540 "2": {
2541 "name": "constant.numeric.octal.cpp",
2542 "patterns": [
2543 {
2544 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2545 "name": "punctuation.separator.constant.numeric.cpp"
2546 }
2547 ]
2548 },
2549 "3": {
2550 "name": "punctuation.separator.constant.numeric.cpp"
2551 },
2552 "4": {
2553 "name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
2554 }
2555 }
2556 },
2557 {
2558 "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2559 "captures": {
2560 "1": {
2561 "name": "keyword.other.unit.hexadecimal.cpp"
2562 },
2563 "2": {
2564 "name": "constant.numeric.hexadecimal.cpp",
2565 "patterns": [
2566 {
2567 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2568 "name": "punctuation.separator.constant.numeric.cpp"
2569 }
2570 ]
2571 },
2572 "3": {
2573 "name": "punctuation.separator.constant.numeric.cpp"
2574 },
2575 "4": {
2576 "name": "keyword.other.unit.exponent.hexadecimal.cpp"
2577 },
2578 "5": {
2579 "name": "keyword.operator.plus.exponent.hexadecimal.cpp"
2580 },
2581 "6": {
2582 "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
2583 },
2584 "7": {
2585 "name": "constant.numeric.exponent.hexadecimal.cpp",
2586 "patterns": [
2587 {
2588 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2589 "name": "punctuation.separator.constant.numeric.cpp"
2590 }
2591 ]
2592 },
2593 "8": {
2594 "name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
2595 }
2596 }
2597 },
2598 {
2599 "match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2600 "captures": {
2601 "1": {
2602 "name": "constant.numeric.decimal.cpp",
2603 "patterns": [
2604 {
2605 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2606 "name": "punctuation.separator.constant.numeric.cpp"
2607 }
2608 ]
2609 },
2610 "2": {
2611 "name": "punctuation.separator.constant.numeric.cpp"
2612 },
2613 "3": {
2614 "name": "keyword.other.unit.exponent.decimal.cpp"
2615 },
2616 "4": {
2617 "name": "keyword.operator.plus.exponent.decimal.cpp"
2618 },
2619 "5": {
2620 "name": "keyword.operator.minus.exponent.decimal.cpp"
2621 },
2622 "6": {
2623 "name": "constant.numeric.exponent.decimal.cpp",
2624 "patterns": [
2625 {
2626 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2627 "name": "punctuation.separator.constant.numeric.cpp"
2628 }
2629 ]
2630 },
2631 "7": {
2632 "name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
2633 }
2634 }
2635 },
2636 {
2637 "match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
2638 "name": "invalid.illegal.constant.numeric.cpp"
2639 }
2640 ]
2641 }
2642 ]
2643 }
2644 }
2645 },
2646 "decltype": {
2647 "begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
2648 "end": "\\)",
2649 "beginCaptures": {
2650 "1": {
2651 "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
2652 },
2653 "2": {
2654 "patterns": [
2655 {
2656 "include": "#inline_comment"
2657 }
2658 ]
2659 },
2660 "3": {
2661 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2662 },
2663 "4": {
2664 "name": "comment.block.cpp"
2665 },
2666 "5": {
2667 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2668 },
2669 "6": {
2670 "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
2671 }
2672 },
2673 "endCaptures": {
2674 "0": {
2675 "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
2676 }
2677 },
2678 "contentName": "meta.arguments.decltype",
2679 "patterns": [
2680 {
2681 "include": "#evaluation_context"
2682 }
2683 ]
2684 },
2685 "decltype_specifier": {
2686 "begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
2687 "end": "\\)",
2688 "beginCaptures": {
2689 "1": {
2690 "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
2691 },
2692 "2": {
2693 "patterns": [
2694 {
2695 "include": "#inline_comment"
2696 }
2697 ]
2698 },
2699 "3": {
2700 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2701 },
2702 "4": {
2703 "name": "comment.block.cpp"
2704 },
2705 "5": {
2706 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2707 },
2708 "6": {
2709 "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
2710 }
2711 },
2712 "endCaptures": {
2713 "0": {
2714 "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
2715 }
2716 },
2717 "contentName": "meta.arguments.decltype",
2718 "patterns": [
2719 {
2720 "include": "#evaluation_context"
2721 }
2722 ]
2723 },
2724 "default_statement": {
2725 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)default(?!\\w))",
2726 "end": ":",
2727 "beginCaptures": {
2728 "1": {
2729 "patterns": [
2730 {
2731 "include": "#inline_comment"
2732 }
2733 ]
2734 },
2735 "2": {
2736 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2737 },
2738 "3": {
2739 "name": "comment.block.cpp"
2740 },
2741 "4": {
2742 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2743 },
2744 "5": {
2745 "name": "keyword.control.default.cpp"
2746 }
2747 },
2748 "endCaptures": {
2749 "0": {
2750 "name": "punctuation.separator.colon.case.default.cpp"
2751 }
2752 },
2753 "name": "meta.conditional.case.cpp",
2754 "patterns": [
2755 {
2756 "include": "#evaluation_context"
2757 }
2758 ]
2759 },
2760 "destructor_inline": {
2761 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)(~(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())",
2762 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
2763 "beginCaptures": {
2764 "0": {
2765 "name": "meta.head.function.definition.special.member.destructor.cpp"
2766 },
2767 "1": {
2768 "patterns": [
2769 {
2770 "include": "#inline_comment"
2771 }
2772 ]
2773 },
2774 "2": {
2775 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2776 },
2777 "3": {
2778 "name": "comment.block.cpp"
2779 },
2780 "4": {
2781 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2782 },
2783 "5": {
2784 "name": "storage.type.modifier.calling-convention.cpp"
2785 },
2786 "6": {
2787 "patterns": [
2788 {
2789 "include": "#inline_comment"
2790 }
2791 ]
2792 },
2793 "7": {
2794 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2795 },
2796 "8": {
2797 "name": "comment.block.cpp"
2798 },
2799 "9": {
2800 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2801 },
2802 "10": {
2803 "patterns": [
2804 {
2805 "include": "#functional_specifiers_pre_parameters"
2806 }
2807 ]
2808 },
2809 "11": {
2810 "patterns": [
2811 {
2812 "include": "#inline_comment"
2813 }
2814 ]
2815 },
2816 "12": {
2817 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2818 },
2819 "13": {
2820 "name": "comment.block.cpp"
2821 },
2822 "14": {
2823 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2824 },
2825 "15": {
2826 "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"
2827 }
2828 },
2829 "endCaptures": {},
2830 "name": "meta.function.definition.special.member.destructor.cpp",
2831 "patterns": [
2832 {
2833 "begin": "\\G ?",
2834 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
2835 "beginCaptures": {},
2836 "endCaptures": {
2837 "0": {
2838 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
2839 }
2840 },
2841 "name": "meta.head.function.definition.special.member.destructor.cpp",
2842 "patterns": [
2843 {
2844 "include": "#ever_present_context"
2845 },
2846 {
2847 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
2848 "captures": {
2849 "1": {
2850 "name": "keyword.operator.assignment.cpp"
2851 },
2852 "2": {
2853 "patterns": [
2854 {
2855 "include": "#inline_comment"
2856 }
2857 ]
2858 },
2859 "3": {
2860 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2861 },
2862 "4": {
2863 "name": "comment.block.cpp"
2864 },
2865 "5": {
2866 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2867 },
2868 "6": {
2869 "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"
2870 },
2871 "7": {
2872 "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"
2873 }
2874 }
2875 },
2876 {
2877 "begin": "\\(",
2878 "end": "\\)",
2879 "beginCaptures": {
2880 "0": {
2881 "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
2882 }
2883 },
2884 "endCaptures": {
2885 "0": {
2886 "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
2887 }
2888 },
2889 "contentName": "meta.function.definition.parameters.special.member.destructor",
2890 "patterns": []
2891 },
2892 {
2893 "include": "#qualifiers_and_specifiers_post_parameters"
2894 },
2895 {
2896 "include": "$self"
2897 }
2898 ]
2899 },
2900 {
2901 "begin": "(?<=\\{|<%|\\?\\?<)",
2902 "end": "\\}|%>|\\?\\?>",
2903 "beginCaptures": {},
2904 "endCaptures": {
2905 "0": {
2906 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
2907 }
2908 },
2909 "name": "meta.body.function.definition.special.member.destructor.cpp",
2910 "patterns": [
2911 {
2912 "include": "#function_body_context"
2913 }
2914 ]
2915 },
2916 {
2917 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
2918 "end": "[\\s]*(?=;)",
2919 "beginCaptures": {},
2920 "endCaptures": {},
2921 "name": "meta.tail.function.definition.special.member.destructor.cpp",
2922 "patterns": [
2923 {
2924 "include": "$self"
2925 }
2926 ]
2927 }
2928 ]
2929 },
2930 "destructor_root": {
2931 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))~(?:\\14)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\())",
2932 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
2933 "beginCaptures": {
2934 "0": {
2935 "name": "meta.head.function.definition.special.member.destructor.cpp"
2936 },
2937 "1": {
2938 "patterns": [
2939 {
2940 "include": "#inline_comment"
2941 }
2942 ]
2943 },
2944 "2": {
2945 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2946 },
2947 "3": {
2948 "name": "comment.block.cpp"
2949 },
2950 "4": {
2951 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2952 },
2953 "5": {
2954 "name": "storage.type.modifier.calling-convention.cpp"
2955 },
2956 "6": {
2957 "patterns": [
2958 {
2959 "include": "#inline_comment"
2960 }
2961 ]
2962 },
2963 "7": {
2964 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2965 },
2966 "8": {
2967 "name": "comment.block.cpp"
2968 },
2969 "9": {
2970 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2971 },
2972 "10": {
2973 "patterns": [
2974 {
2975 "match": "::",
2976 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
2977 },
2978 {
2979 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
2980 "name": "entity.name.scope-resolution.destructor.cpp"
2981 },
2982 {
2983 "include": "#template_call_range"
2984 }
2985 ]
2986 },
2987 "11": {
2988 "patterns": [
2989 {
2990 "include": "#template_call_range"
2991 }
2992 ]
2993 },
2994 "12": {},
2995 "13": {
2996 "patterns": [
2997 {
2998 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?=:)",
2999 "name": "entity.name.type.destructor.cpp"
3000 },
3001 {
3002 "match": "(?<=:)~(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
3003 "name": "entity.name.function.definition.special.member.destructor.cpp"
3004 },
3005 {
3006 "match": "::",
3007 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
3008 }
3009 ]
3010 },
3011 "14": {},
3012 "15": {
3013 "patterns": [
3014 {
3015 "include": "#inline_comment"
3016 }
3017 ]
3018 },
3019 "16": {
3020 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3021 },
3022 "17": {
3023 "name": "comment.block.cpp"
3024 },
3025 "18": {
3026 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3027 },
3028 "19": {
3029 "patterns": [
3030 {
3031 "include": "#inline_comment"
3032 }
3033 ]
3034 },
3035 "20": {
3036 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3037 },
3038 "21": {
3039 "name": "comment.block.cpp"
3040 },
3041 "22": {
3042 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3043 },
3044 "23": {
3045 "patterns": [
3046 {
3047 "include": "#inline_comment"
3048 }
3049 ]
3050 },
3051 "24": {
3052 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3053 },
3054 "25": {
3055 "name": "comment.block.cpp"
3056 },
3057 "26": {
3058 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3059 }
3060 },
3061 "endCaptures": {},
3062 "name": "meta.function.definition.special.member.destructor.cpp",
3063 "patterns": [
3064 {
3065 "begin": "\\G ?",
3066 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
3067 "beginCaptures": {},
3068 "endCaptures": {
3069 "0": {
3070 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
3071 }
3072 },
3073 "name": "meta.head.function.definition.special.member.destructor.cpp",
3074 "patterns": [
3075 {
3076 "include": "#ever_present_context"
3077 },
3078 {
3079 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
3080 "captures": {
3081 "1": {
3082 "name": "keyword.operator.assignment.cpp"
3083 },
3084 "2": {
3085 "patterns": [
3086 {
3087 "include": "#inline_comment"
3088 }
3089 ]
3090 },
3091 "3": {
3092 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3093 },
3094 "4": {
3095 "name": "comment.block.cpp"
3096 },
3097 "5": {
3098 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3099 },
3100 "6": {
3101 "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"
3102 },
3103 "7": {
3104 "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"
3105 }
3106 }
3107 },
3108 {
3109 "begin": "\\(",
3110 "end": "\\)",
3111 "beginCaptures": {
3112 "0": {
3113 "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
3114 }
3115 },
3116 "endCaptures": {
3117 "0": {
3118 "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
3119 }
3120 },
3121 "contentName": "meta.function.definition.parameters.special.member.destructor",
3122 "patterns": []
3123 },
3124 {
3125 "include": "#qualifiers_and_specifiers_post_parameters"
3126 },
3127 {
3128 "include": "$self"
3129 }
3130 ]
3131 },
3132 {
3133 "begin": "(?<=\\{|<%|\\?\\?<)",
3134 "end": "\\}|%>|\\?\\?>",
3135 "beginCaptures": {},
3136 "endCaptures": {
3137 "0": {
3138 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
3139 }
3140 },
3141 "name": "meta.body.function.definition.special.member.destructor.cpp",
3142 "patterns": [
3143 {
3144 "include": "#function_body_context"
3145 }
3146 ]
3147 },
3148 {
3149 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3150 "end": "[\\s]*(?=;)",
3151 "beginCaptures": {},
3152 "endCaptures": {},
3153 "name": "meta.tail.function.definition.special.member.destructor.cpp",
3154 "patterns": [
3155 {
3156 "include": "$self"
3157 }
3158 ]
3159 }
3160 ]
3161 },
3162 "diagnostic": {
3163 "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:error|warning)))\\b(?:\\s+)?",
3164 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
3165 "beginCaptures": {
3166 "1": {
3167 "name": "keyword.control.directive.diagnostic.$7.cpp"
3168 },
3169 "2": {
3170 "patterns": [
3171 {
3172 "include": "#inline_comment"
3173 }
3174 ]
3175 },
3176 "3": {
3177 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3178 },
3179 "4": {
3180 "name": "comment.block.cpp"
3181 },
3182 "5": {
3183 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3184 },
3185 "6": {
3186 "name": "punctuation.definition.directive.cpp"
3187 },
3188 "7": {}
3189 },
3190 "endCaptures": {},
3191 "name": "meta.preprocessor.diagnostic.$reference(directive).cpp",
3192 "patterns": [
3193 {
3194 "include": "#comments"
3195 },
3196 {
3197 "begin": "\"",
3198 "end": "(?:(\")|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))",
3199 "beginCaptures": {
3200 "0": {
3201 "name": "punctuation.definition.string.begin.cpp"
3202 }
3203 },
3204 "endCaptures": {
3205 "1": {
3206 "name": "punctuation.definition.string.end.cpp"
3207 }
3208 },
3209 "name": "string.quoted.double.cpp",
3210 "patterns": [
3211 {
3212 "include": "#line_continuation_character"
3213 }
3214 ]
3215 },
3216 {
3217 "begin": "'",
3218 "end": "(?:(')|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))",
3219 "beginCaptures": {
3220 "0": {
3221 "name": "punctuation.definition.string.begin.cpp"
3222 }
3223 },
3224 "endCaptures": {
3225 "1": {
3226 "name": "punctuation.definition.string.end.cpp"
3227 }
3228 },
3229 "name": "string.quoted.single.cpp",
3230 "patterns": [
3231 {
3232 "include": "#line_continuation_character"
3233 }
3234 ]
3235 },
3236 {
3237 "begin": "[^'\"]",
3238 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
3239 "beginCaptures": {},
3240 "endCaptures": {},
3241 "name": "string.unquoted.cpp",
3242 "patterns": [
3243 {
3244 "include": "#line_continuation_character"
3245 },
3246 {
3247 "include": "#comments"
3248 }
3249 ]
3250 }
3251 ]
3252 },
3253 "emacs_file_banner": {
3254 "match": "(?:(^(?:\\s+)?((\\/\\/)(?:\\s+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:\\s+)?.+(?:\\s+)?(?:\\4)(?:\\s+)?(?:\\n|$)))|(^(?:\\s+)?((\\/\\*)(?:\\s+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:\\s+)?.+(?:\\s+)?(?:\\8)(?:\\s+)?\\*\\/)))",
3255 "captures": {
3256 "1": {
3257 "name": "meta.toc-list.banner.double-slash.cpp"
3258 },
3259 "2": {
3260 "name": "comment.line.double-slash.cpp"
3261 },
3262 "3": {
3263 "name": "punctuation.definition.comment.cpp"
3264 },
3265 "4": {
3266 "name": "meta.banner.character.cpp"
3267 },
3268 "5": {
3269 "name": "meta.toc-list.banner.block.cpp"
3270 },
3271 "6": {
3272 "name": "comment.line.banner.cpp"
3273 },
3274 "7": {
3275 "name": "punctuation.definition.comment.cpp"
3276 },
3277 "8": {
3278 "name": "meta.banner.character.cpp"
3279 }
3280 }
3281 },
3282 "empty_square_brackets": {
3283 "name": "storage.modifier.array.bracket.square",
3284 "match": "(?<!delete)\\[(?:\\s+)?\\]"
3285 },
3286 "enum_block": {
3287 "begin": "((?<!\\w)enum(?!\\w))(?:\\s+(class|struct))?(?:(?:\\s+|((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\))))|(?={))(?:\\s+)?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)(?:(?:\\s+)?(:)(?:\\s+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))?",
3288 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
3289 "beginCaptures": {
3290 "0": {
3291 "name": "meta.head.enum.cpp"
3292 },
3293 "1": {
3294 "name": "storage.type.enum.cpp"
3295 },
3296 "2": {
3297 "name": "storage.type.enum.enum-key.$2.cpp"
3298 },
3299 "3": {
3300 "patterns": [
3301 {
3302 "include": "#attributes_context"
3303 },
3304 {
3305 "include": "#number_literal"
3306 }
3307 ]
3308 },
3309 "4": {
3310 "name": "entity.name.type.enum.cpp"
3311 },
3312 "5": {
3313 "name": "punctuation.separator.colon.type-specifier.cpp"
3314 },
3315 "6": {
3316 "patterns": [
3317 {
3318 "include": "#scope_resolution_inner_generated"
3319 }
3320 ]
3321 },
3322 "7": {
3323 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3324 },
3325 "8": {
3326 "patterns": [
3327 {
3328 "include": "#template_call_range"
3329 }
3330 ]
3331 },
3332 "9": {},
3333 "10": {
3334 "name": "entity.name.scope-resolution.cpp"
3335 },
3336 "11": {
3337 "name": "meta.template.call.cpp",
3338 "patterns": [
3339 {
3340 "include": "#template_call_range"
3341 }
3342 ]
3343 },
3344 "12": {},
3345 "13": {
3346 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3347 },
3348 "14": {
3349 "name": "comment.block.cpp"
3350 },
3351 "15": {
3352 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3353 },
3354 "16": {
3355 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3356 },
3357 "17": {
3358 "name": "storage.type.integral.$17.cpp"
3359 }
3360 },
3361 "endCaptures": {
3362 "1": {
3363 "name": "punctuation.terminator.statement.cpp"
3364 },
3365 "2": {
3366 "name": "punctuation.terminator.statement.cpp"
3367 }
3368 },
3369 "name": "meta.block.enum.cpp",
3370 "patterns": [
3371 {
3372 "begin": "\\G ?",
3373 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
3374 "beginCaptures": {},
3375 "endCaptures": {
3376 "0": {
3377 "name": "punctuation.section.block.begin.bracket.curly.enum.cpp"
3378 }
3379 },
3380 "name": "meta.head.enum.cpp",
3381 "patterns": [
3382 {
3383 "include": "$self"
3384 }
3385 ]
3386 },
3387 {
3388 "begin": "(?<=\\{|<%|\\?\\?<)",
3389 "end": "\\}|%>|\\?\\?>",
3390 "beginCaptures": {},
3391 "endCaptures": {
3392 "0": {
3393 "name": "punctuation.section.block.end.bracket.curly.enum.cpp"
3394 }
3395 },
3396 "name": "meta.body.enum.cpp",
3397 "patterns": [
3398 {
3399 "include": "#ever_present_context"
3400 },
3401 {
3402 "include": "#enumerator_list"
3403 },
3404 {
3405 "include": "#comments"
3406 },
3407 {
3408 "include": "#comma"
3409 },
3410 {
3411 "include": "#semicolon"
3412 }
3413 ]
3414 },
3415 {
3416 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3417 "end": "[\\s]*(?=;)",
3418 "beginCaptures": {},
3419 "endCaptures": {},
3420 "name": "meta.tail.enum.cpp",
3421 "patterns": [
3422 {
3423 "include": "$self"
3424 }
3425 ]
3426 }
3427 ]
3428 },
3429 "enum_declare": {
3430 "match": "((?<!\\w)enum(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
3431 "captures": {
3432 "1": {
3433 "name": "storage.type.enum.declare.cpp"
3434 },
3435 "2": {
3436 "patterns": [
3437 {
3438 "include": "#inline_comment"
3439 }
3440 ]
3441 },
3442 "3": {
3443 "patterns": [
3444 {
3445 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3446 "captures": {
3447 "1": {
3448 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3449 },
3450 "2": {
3451 "name": "comment.block.cpp"
3452 },
3453 "3": {
3454 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3455 }
3456 }
3457 }
3458 ]
3459 },
3460 "4": {
3461 "name": "entity.name.type.enum.cpp"
3462 },
3463 "5": {
3464 "patterns": [
3465 {
3466 "match": "\\*",
3467 "name": "storage.modifier.pointer.cpp"
3468 },
3469 {
3470 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
3471 "captures": {
3472 "1": {
3473 "patterns": [
3474 {
3475 "include": "#inline_comment"
3476 }
3477 ]
3478 },
3479 "2": {
3480 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3481 },
3482 "3": {
3483 "name": "comment.block.cpp"
3484 },
3485 "4": {
3486 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3487 }
3488 },
3489 "name": "invalid.illegal.reference-type.cpp"
3490 },
3491 {
3492 "match": "\\&",
3493 "name": "storage.modifier.reference.cpp"
3494 }
3495 ]
3496 },
3497 "6": {
3498 "patterns": [
3499 {
3500 "include": "#inline_comment"
3501 }
3502 ]
3503 },
3504 "7": {
3505 "patterns": [
3506 {
3507 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3508 "captures": {
3509 "1": {
3510 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3511 },
3512 "2": {
3513 "name": "comment.block.cpp"
3514 },
3515 "3": {
3516 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3517 }
3518 }
3519 }
3520 ]
3521 },
3522 "8": {
3523 "patterns": [
3524 {
3525 "include": "#inline_comment"
3526 }
3527 ]
3528 },
3529 "9": {
3530 "patterns": [
3531 {
3532 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3533 "captures": {
3534 "1": {
3535 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3536 },
3537 "2": {
3538 "name": "comment.block.cpp"
3539 },
3540 "3": {
3541 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3542 }
3543 }
3544 }
3545 ]
3546 },
3547 "10": {
3548 "patterns": [
3549 {
3550 "include": "#inline_comment"
3551 }
3552 ]
3553 },
3554 "11": {
3555 "patterns": [
3556 {
3557 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3558 "captures": {
3559 "1": {
3560 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3561 },
3562 "2": {
3563 "name": "comment.block.cpp"
3564 },
3565 "3": {
3566 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3567 }
3568 }
3569 }
3570 ]
3571 },
3572 "12": {
3573 "name": "variable.other.object.declare.cpp"
3574 },
3575 "13": {
3576 "patterns": [
3577 {
3578 "include": "#inline_comment"
3579 }
3580 ]
3581 },
3582 "14": {
3583 "patterns": [
3584 {
3585 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3586 "captures": {
3587 "1": {
3588 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3589 },
3590 "2": {
3591 "name": "comment.block.cpp"
3592 },
3593 "3": {
3594 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3595 }
3596 }
3597 }
3598 ]
3599 }
3600 }
3601 },
3602 "enumerator_list": {
3603 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:\\s+)?(?:(\\=)(?:\\s+)?(.+?)(?:\\s+)?)?(?:(?:((?:[,;](?!')|\\n))|(?=\\}[^']))|(?=(?:\\/\\/|\\/\\*)))",
3604 "captures": {
3605 "1": {
3606 "name": "variable.other.enummember.cpp"
3607 },
3608 "2": {
3609 "patterns": [
3610 {
3611 "include": "#attributes_context"
3612 },
3613 {
3614 "include": "#number_literal"
3615 }
3616 ]
3617 },
3618 "3": {
3619 "name": "keyword.operator.assignment.cpp"
3620 },
3621 "4": {
3622 "patterns": [
3623 {
3624 "include": "#evaluation_context"
3625 }
3626 ]
3627 },
3628 "5": {
3629 "patterns": [
3630 {
3631 "include": "#comma"
3632 },
3633 {
3634 "include": "#semicolon"
3635 }
3636 ]
3637 }
3638 },
3639 "name": "meta.enum.definition.cpp"
3640 },
3641 "evaluation_context": {
3642 "patterns": [
3643 {
3644 "include": "#ever_present_context"
3645 },
3646 {
3647 "include": "#string_context"
3648 },
3649 {
3650 "include": "#number_literal"
3651 },
3652 {
3653 "include": "#method_access"
3654 },
3655 {
3656 "include": "#member_access"
3657 },
3658 {
3659 "include": "#predefined_macros"
3660 },
3661 {
3662 "include": "#operators"
3663 },
3664 {
3665 "include": "#memory_operators"
3666 },
3667 {
3668 "include": "#wordlike_operators"
3669 },
3670 {
3671 "include": "#type_casting_operators"
3672 },
3673 {
3674 "include": "#control_flow_keywords"
3675 },
3676 {
3677 "include": "#exception_keywords"
3678 },
3679 {
3680 "include": "#the_this_keyword"
3681 },
3682 {
3683 "include": "#language_constants"
3684 },
3685 {
3686 "include": "#builtin_storage_type_initilizer"
3687 },
3688 {
3689 "include": "#qualifiers_and_specifiers_post_parameters"
3690 },
3691 {
3692 "include": "#functional_specifiers_pre_parameters"
3693 },
3694 {
3695 "include": "#storage_types"
3696 },
3697 {
3698 "include": "#lambdas"
3699 },
3700 {
3701 "include": "#attributes_context"
3702 },
3703 {
3704 "include": "#parentheses"
3705 },
3706 {
3707 "include": "#function_call"
3708 },
3709 {
3710 "include": "#scope_resolution_inner_generated"
3711 },
3712 {
3713 "include": "#square_brackets"
3714 },
3715 {
3716 "include": "#semicolon"
3717 },
3718 {
3719 "include": "#comma"
3720 }
3721 ]
3722 },
3723 "ever_present_context": {
3724 "patterns": [
3725 {
3726 "include": "#pragma_mark"
3727 },
3728 {
3729 "include": "#pragma"
3730 },
3731 {
3732 "include": "#include"
3733 },
3734 {
3735 "include": "#line"
3736 },
3737 {
3738 "include": "#diagnostic"
3739 },
3740 {
3741 "include": "#undef"
3742 },
3743 {
3744 "include": "#preprocessor_conditional_range"
3745 },
3746 {
3747 "include": "#single_line_macro"
3748 },
3749 {
3750 "include": "#macro"
3751 },
3752 {
3753 "include": "#preprocessor_conditional_standalone"
3754 },
3755 {
3756 "include": "#macro_argument"
3757 },
3758 {
3759 "include": "#comments"
3760 },
3761 {
3762 "include": "#line_continuation_character"
3763 }
3764 ]
3765 },
3766 "exception_keywords": {
3767 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:throw)|(?:catch)|(?:try))(?!\\w))",
3768 "captures": {
3769 "1": {
3770 "patterns": [
3771 {
3772 "include": "#inline_comment"
3773 }
3774 ]
3775 },
3776 "2": {
3777 "patterns": [
3778 {
3779 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3780 "captures": {
3781 "1": {
3782 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3783 },
3784 "2": {
3785 "name": "comment.block.cpp"
3786 },
3787 "3": {
3788 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3789 }
3790 }
3791 }
3792 ]
3793 },
3794 "3": {
3795 "name": "keyword.control.exception.$3.cpp"
3796 }
3797 }
3798 },
3799 "extern_block": {
3800 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(extern)(?=\\s*\\\")",
3801 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
3802 "beginCaptures": {
3803 "0": {
3804 "name": "meta.head.extern.cpp"
3805 },
3806 "1": {
3807 "patterns": [
3808 {
3809 "include": "#inline_comment"
3810 }
3811 ]
3812 },
3813 "2": {
3814 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3815 },
3816 "3": {
3817 "name": "comment.block.cpp"
3818 },
3819 "4": {
3820 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3821 },
3822 "5": {
3823 "name": "storage.type.extern.cpp"
3824 }
3825 },
3826 "endCaptures": {
3827 "1": {
3828 "name": "punctuation.terminator.statement.cpp"
3829 },
3830 "2": {
3831 "name": "punctuation.terminator.statement.cpp"
3832 }
3833 },
3834 "name": "meta.block.extern.cpp",
3835 "patterns": [
3836 {
3837 "begin": "\\G ?",
3838 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
3839 "beginCaptures": {},
3840 "endCaptures": {
3841 "0": {
3842 "name": "punctuation.section.block.begin.bracket.curly.extern.cpp"
3843 }
3844 },
3845 "name": "meta.head.extern.cpp",
3846 "patterns": [
3847 {
3848 "include": "$self"
3849 }
3850 ]
3851 },
3852 {
3853 "begin": "(?<=\\{|<%|\\?\\?<)",
3854 "end": "\\}|%>|\\?\\?>",
3855 "beginCaptures": {},
3856 "endCaptures": {
3857 "0": {
3858 "name": "punctuation.section.block.end.bracket.curly.extern.cpp"
3859 }
3860 },
3861 "name": "meta.body.extern.cpp",
3862 "patterns": [
3863 {
3864 "include": "$self"
3865 }
3866 ]
3867 },
3868 {
3869 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3870 "end": "[\\s]*(?=;)",
3871 "beginCaptures": {},
3872 "endCaptures": {},
3873 "name": "meta.tail.extern.cpp",
3874 "patterns": [
3875 {
3876 "include": "$self"
3877 }
3878 ]
3879 },
3880 {
3881 "include": "$self"
3882 }
3883 ]
3884 },
3885 "function_body_context": {
3886 "patterns": [
3887 {
3888 "include": "#ever_present_context"
3889 },
3890 {
3891 "include": "#using_namespace"
3892 },
3893 {
3894 "include": "#type_alias"
3895 },
3896 {
3897 "include": "#using_name"
3898 },
3899 {
3900 "include": "#namespace_alias"
3901 },
3902 {
3903 "include": "#typedef_class"
3904 },
3905 {
3906 "include": "#typedef_struct"
3907 },
3908 {
3909 "include": "#typedef_union"
3910 },
3911 {
3912 "include": "#misc_keywords"
3913 },
3914 {
3915 "include": "#standard_declares"
3916 },
3917 {
3918 "include": "#class_block"
3919 },
3920 {
3921 "include": "#struct_block"
3922 },
3923 {
3924 "include": "#union_block"
3925 },
3926 {
3927 "include": "#enum_block"
3928 },
3929 {
3930 "include": "#access_control_keywords"
3931 },
3932 {
3933 "include": "#block"
3934 },
3935 {
3936 "include": "#static_assert"
3937 },
3938 {
3939 "include": "#assembly"
3940 },
3941 {
3942 "include": "#function_pointer"
3943 },
3944 {
3945 "include": "#switch_statement"
3946 },
3947 {
3948 "include": "#goto_statement"
3949 },
3950 {
3951 "include": "#evaluation_context"
3952 },
3953 {
3954 "include": "#label"
3955 }
3956 ]
3957 },
3958 "function_call": {
3959 "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()",
3960 "end": "\\)",
3961 "beginCaptures": {
3962 "1": {
3963 "patterns": [
3964 {
3965 "include": "#scope_resolution_function_call_inner_generated"
3966 }
3967 ]
3968 },
3969 "2": {
3970 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
3971 },
3972 "3": {
3973 "patterns": [
3974 {
3975 "include": "#template_call_range"
3976 }
3977 ]
3978 },
3979 "4": {},
3980 "5": {
3981 "name": "entity.name.function.call.cpp"
3982 },
3983 "6": {
3984 "patterns": [
3985 {
3986 "include": "#inline_comment"
3987 }
3988 ]
3989 },
3990 "7": {
3991 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3992 },
3993 "8": {
3994 "name": "comment.block.cpp"
3995 },
3996 "9": {
3997 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3998 },
3999 "10": {
4000 "name": "meta.template.call.cpp",
4001 "patterns": [
4002 {
4003 "include": "#template_call_range"
4004 }
4005 ]
4006 },
4007 "11": {},
4008 "12": {
4009 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4010 },
4011 "13": {
4012 "name": "comment.block.cpp"
4013 },
4014 "14": {
4015 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4016 },
4017 "15": {
4018 "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp"
4019 }
4020 },
4021 "endCaptures": {
4022 "0": {
4023 "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp"
4024 }
4025 },
4026 "patterns": [
4027 {
4028 "include": "#evaluation_context"
4029 }
4030 ]
4031 },
4032 "function_definition": {
4033 "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?<!\\w)template(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\()",
4034 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
4035 "beginCaptures": {
4036 "0": {
4037 "name": "meta.head.function.definition.cpp"
4038 },
4039 "1": {
4040 "name": "storage.type.template.cpp"
4041 },
4042 "2": {
4043 "patterns": [
4044 {
4045 "include": "#inline_comment"
4046 }
4047 ]
4048 },
4049 "3": {
4050 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4051 },
4052 "4": {
4053 "name": "comment.block.cpp"
4054 },
4055 "5": {
4056 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4057 },
4058 "6": {
4059 "patterns": [
4060 {
4061 "include": "#attributes_context"
4062 },
4063 {
4064 "include": "#number_literal"
4065 }
4066 ]
4067 },
4068 "7": {
4069 "patterns": [
4070 {
4071 "match": "((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
4072 "captures": {
4073 "1": {
4074 "name": "storage.modifier.$1.cpp"
4075 },
4076 "2": {
4077 "patterns": [
4078 {
4079 "include": "#inline_comment"
4080 }
4081 ]
4082 },
4083 "3": {
4084 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4085 },
4086 "4": {
4087 "name": "comment.block.cpp"
4088 },
4089 "5": {
4090 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4091 }
4092 }
4093 }
4094 ]
4095 },
4096 "8": {
4097 "name": "storage.modifier.$8.cpp"
4098 },
4099 "9": {
4100 "patterns": [
4101 {
4102 "include": "#inline_comment"
4103 }
4104 ]
4105 },
4106 "10": {
4107 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4108 },
4109 "11": {
4110 "name": "comment.block.cpp"
4111 },
4112 "12": {
4113 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4114 },
4115 "13": {
4116 "name": "meta.qualified_type.cpp",
4117 "patterns": [
4118 {
4119 "match": "::",
4120 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4121 },
4122 {
4123 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4124 "name": "storage.type.$0.cpp"
4125 },
4126 {
4127 "include": "#attributes_context"
4128 },
4129 {
4130 "include": "#storage_types"
4131 },
4132 {
4133 "include": "#number_literal"
4134 },
4135 {
4136 "include": "#string_context"
4137 },
4138 {
4139 "include": "#comma"
4140 },
4141 {
4142 "include": "#scope_resolution_inner_generated"
4143 },
4144 {
4145 "begin": "<",
4146 "end": ">",
4147 "beginCaptures": {
4148 "0": {
4149 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4150 }
4151 },
4152 "endCaptures": {
4153 "0": {
4154 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
4155 }
4156 },
4157 "name": "meta.template.call.cpp",
4158 "patterns": [
4159 {
4160 "include": "#template_call_context"
4161 }
4162 ]
4163 },
4164 {
4165 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
4166 "name": "entity.name.type.cpp"
4167 }
4168 ]
4169 },
4170 "14": {
4171 "patterns": [
4172 {
4173 "include": "#attributes_context"
4174 },
4175 {
4176 "include": "#number_literal"
4177 }
4178 ]
4179 },
4180 "15": {
4181 "patterns": [
4182 {
4183 "include": "#inline_comment"
4184 }
4185 ]
4186 },
4187 "16": {
4188 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4189 },
4190 "17": {
4191 "name": "comment.block.cpp"
4192 },
4193 "18": {
4194 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4195 },
4196 "19": {
4197 "patterns": [
4198 {
4199 "include": "#inline_comment"
4200 }
4201 ]
4202 },
4203 "20": {
4204 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4205 },
4206 "21": {
4207 "name": "comment.block.cpp"
4208 },
4209 "22": {
4210 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4211 },
4212 "23": {
4213 "patterns": [
4214 {
4215 "match": "::",
4216 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4217 },
4218 {
4219 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
4220 "name": "entity.name.scope-resolution.type.cpp"
4221 },
4222 {
4223 "include": "#template_call_range"
4224 }
4225 ]
4226 },
4227 "24": {
4228 "patterns": [
4229 {
4230 "include": "#template_call_range"
4231 }
4232 ]
4233 },
4234 "25": {},
4235 "26": {
4236 "patterns": [
4237 {
4238 "include": "#inline_comment"
4239 }
4240 ]
4241 },
4242 "27": {
4243 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4244 },
4245 "28": {
4246 "name": "comment.block.cpp"
4247 },
4248 "29": {
4249 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4250 },
4251 "30": {},
4252 "31": {
4253 "patterns": [
4254 {
4255 "match": "\\*",
4256 "name": "storage.modifier.pointer.cpp"
4257 },
4258 {
4259 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
4260 "captures": {
4261 "1": {
4262 "patterns": [
4263 {
4264 "include": "#inline_comment"
4265 }
4266 ]
4267 },
4268 "2": {
4269 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4270 },
4271 "3": {
4272 "name": "comment.block.cpp"
4273 },
4274 "4": {
4275 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4276 }
4277 },
4278 "name": "invalid.illegal.reference-type.cpp"
4279 },
4280 {
4281 "match": "\\&",
4282 "name": "storage.modifier.reference.cpp"
4283 }
4284 ]
4285 },
4286 "32": {
4287 "patterns": [
4288 {
4289 "include": "#inline_comment"
4290 }
4291 ]
4292 },
4293 "33": {
4294 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4295 },
4296 "34": {
4297 "name": "comment.block.cpp"
4298 },
4299 "35": {
4300 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4301 },
4302 "36": {
4303 "patterns": [
4304 {
4305 "include": "#inline_comment"
4306 }
4307 ]
4308 },
4309 "37": {
4310 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4311 },
4312 "38": {
4313 "name": "comment.block.cpp"
4314 },
4315 "39": {
4316 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4317 },
4318 "40": {
4319 "patterns": [
4320 {
4321 "include": "#inline_comment"
4322 }
4323 ]
4324 },
4325 "41": {
4326 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4327 },
4328 "42": {
4329 "name": "comment.block.cpp"
4330 },
4331 "43": {
4332 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4333 },
4334 "44": {
4335 "name": "storage.type.modifier.calling-convention.cpp"
4336 },
4337 "45": {
4338 "patterns": [
4339 {
4340 "include": "#inline_comment"
4341 }
4342 ]
4343 },
4344 "46": {
4345 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4346 },
4347 "47": {
4348 "name": "comment.block.cpp"
4349 },
4350 "48": {
4351 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4352 },
4353 "49": {
4354 "patterns": [
4355 {
4356 "include": "#scope_resolution_function_definition_inner_generated"
4357 }
4358 ]
4359 },
4360 "50": {
4361 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
4362 },
4363 "51": {
4364 "patterns": [
4365 {
4366 "include": "#template_call_range"
4367 }
4368 ]
4369 },
4370 "52": {},
4371 "53": {
4372 "name": "entity.name.function.definition.cpp"
4373 },
4374 "54": {
4375 "patterns": [
4376 {
4377 "include": "#inline_comment"
4378 }
4379 ]
4380 },
4381 "55": {
4382 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4383 },
4384 "56": {
4385 "name": "comment.block.cpp"
4386 },
4387 "57": {
4388 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4389 }
4390 },
4391 "endCaptures": {},
4392 "name": "meta.function.definition.cpp",
4393 "patterns": [
4394 {
4395 "begin": "\\G ?",
4396 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
4397 "beginCaptures": {},
4398 "endCaptures": {
4399 "0": {
4400 "name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp"
4401 }
4402 },
4403 "name": "meta.head.function.definition.cpp",
4404 "patterns": [
4405 {
4406 "include": "#ever_present_context"
4407 },
4408 {
4409 "begin": "\\(",
4410 "end": "\\)",
4411 "beginCaptures": {
4412 "0": {
4413 "name": "punctuation.section.parameters.begin.bracket.round.cpp"
4414 }
4415 },
4416 "endCaptures": {
4417 "0": {
4418 "name": "punctuation.section.parameters.end.bracket.round.cpp"
4419 }
4420 },
4421 "contentName": "meta.function.definition.parameters",
4422 "patterns": [
4423 {
4424 "include": "#ever_present_context"
4425 },
4426 {
4427 "include": "#parameter_or_maybe_value"
4428 },
4429 {
4430 "include": "#comma"
4431 },
4432 {
4433 "include": "#evaluation_context"
4434 }
4435 ]
4436 },
4437 {
4438 "match": "(?<=^|\\))(?:\\s+)?(->)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<23>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<23>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))",
4439 "captures": {
4440 "1": {
4441 "name": "punctuation.definition.function.return-type.cpp"
4442 },
4443 "2": {
4444 "patterns": [
4445 {
4446 "include": "#inline_comment"
4447 }
4448 ]
4449 },
4450 "3": {
4451 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4452 },
4453 "4": {
4454 "name": "comment.block.cpp"
4455 },
4456 "5": {
4457 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4458 },
4459 "6": {
4460 "name": "meta.qualified_type.cpp",
4461 "patterns": [
4462 {
4463 "match": "::",
4464 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4465 },
4466 {
4467 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4468 "name": "storage.type.$0.cpp"
4469 },
4470 {
4471 "include": "#attributes_context"
4472 },
4473 {
4474 "include": "#storage_types"
4475 },
4476 {
4477 "include": "#number_literal"
4478 },
4479 {
4480 "include": "#string_context"
4481 },
4482 {
4483 "include": "#comma"
4484 },
4485 {
4486 "include": "#scope_resolution_inner_generated"
4487 },
4488 {
4489 "begin": "<",
4490 "end": ">",
4491 "beginCaptures": {
4492 "0": {
4493 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4494 }
4495 },
4496 "endCaptures": {
4497 "0": {
4498 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
4499 }
4500 },
4501 "name": "meta.template.call.cpp",
4502 "patterns": [
4503 {
4504 "include": "#template_call_context"
4505 }
4506 ]
4507 },
4508 {
4509 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
4510 "name": "entity.name.type.cpp"
4511 }
4512 ]
4513 },
4514 "7": {
4515 "patterns": [
4516 {
4517 "include": "#attributes_context"
4518 },
4519 {
4520 "include": "#number_literal"
4521 }
4522 ]
4523 },
4524 "8": {
4525 "patterns": [
4526 {
4527 "include": "#inline_comment"
4528 }
4529 ]
4530 },
4531 "9": {
4532 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4533 },
4534 "10": {
4535 "name": "comment.block.cpp"
4536 },
4537 "11": {
4538 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4539 },
4540 "12": {
4541 "patterns": [
4542 {
4543 "include": "#inline_comment"
4544 }
4545 ]
4546 },
4547 "13": {
4548 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4549 },
4550 "14": {
4551 "name": "comment.block.cpp"
4552 },
4553 "15": {
4554 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4555 },
4556 "16": {
4557 "patterns": [
4558 {
4559 "match": "::",
4560 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4561 },
4562 {
4563 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
4564 "name": "entity.name.scope-resolution.type.cpp"
4565 },
4566 {
4567 "include": "#template_call_range"
4568 }
4569 ]
4570 },
4571 "17": {
4572 "patterns": [
4573 {
4574 "include": "#template_call_range"
4575 }
4576 ]
4577 },
4578 "18": {},
4579 "19": {
4580 "patterns": [
4581 {
4582 "include": "#inline_comment"
4583 }
4584 ]
4585 },
4586 "20": {
4587 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4588 },
4589 "21": {
4590 "name": "comment.block.cpp"
4591 },
4592 "22": {
4593 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4594 },
4595 "23": {}
4596 }
4597 },
4598 {
4599 "include": "$self"
4600 }
4601 ]
4602 },
4603 {
4604 "begin": "(?<=\\{|<%|\\?\\?<)",
4605 "end": "\\}|%>|\\?\\?>",
4606 "beginCaptures": {},
4607 "endCaptures": {
4608 "0": {
4609 "name": "punctuation.section.block.end.bracket.curly.function.definition.cpp"
4610 }
4611 },
4612 "name": "meta.body.function.definition.cpp",
4613 "patterns": [
4614 {
4615 "include": "#function_body_context"
4616 }
4617 ]
4618 },
4619 {
4620 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
4621 "end": "[\\s]*(?=;)",
4622 "beginCaptures": {},
4623 "endCaptures": {},
4624 "name": "meta.tail.function.definition.cpp",
4625 "patterns": [
4626 {
4627 "include": "$self"
4628 }
4629 ]
4630 }
4631 ]
4632 },
4633 "function_parameter_context": {
4634 "patterns": [
4635 {
4636 "include": "#ever_present_context"
4637 },
4638 {
4639 "include": "#parameter"
4640 },
4641 {
4642 "include": "#comma"
4643 }
4644 ]
4645 },
4646 "function_pointer": {
4647 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()",
4648 "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()",
4649 "beginCaptures": {
4650 "1": {
4651 "name": "meta.qualified_type.cpp",
4652 "patterns": [
4653 {
4654 "match": "::",
4655 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4656 },
4657 {
4658 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4659 "name": "storage.type.$0.cpp"
4660 },
4661 {
4662 "include": "#attributes_context"
4663 },
4664 {
4665 "include": "#storage_types"
4666 },
4667 {
4668 "include": "#number_literal"
4669 },
4670 {
4671 "include": "#string_context"
4672 },
4673 {
4674 "include": "#comma"
4675 },
4676 {
4677 "include": "#scope_resolution_inner_generated"
4678 },
4679 {
4680 "begin": "<",
4681 "end": ">",
4682 "beginCaptures": {
4683 "0": {
4684 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4685 }
4686 },
4687 "endCaptures": {
4688 "0": {
4689 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
4690 }
4691 },
4692 "name": "meta.template.call.cpp",
4693 "patterns": [
4694 {
4695 "include": "#template_call_context"
4696 }
4697 ]
4698 },
4699 {
4700 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
4701 "name": "entity.name.type.cpp"
4702 }
4703 ]
4704 },
4705 "2": {
4706 "patterns": [
4707 {
4708 "include": "#attributes_context"
4709 },
4710 {
4711 "include": "#number_literal"
4712 }
4713 ]
4714 },
4715 "3": {
4716 "patterns": [
4717 {
4718 "include": "#inline_comment"
4719 }
4720 ]
4721 },
4722 "4": {
4723 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4724 },
4725 "5": {
4726 "name": "comment.block.cpp"
4727 },
4728 "6": {
4729 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4730 },
4731 "7": {
4732 "patterns": [
4733 {
4734 "include": "#inline_comment"
4735 }
4736 ]
4737 },
4738 "8": {
4739 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4740 },
4741 "9": {
4742 "name": "comment.block.cpp"
4743 },
4744 "10": {
4745 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4746 },
4747 "11": {
4748 "patterns": [
4749 {
4750 "match": "::",
4751 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4752 },
4753 {
4754 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
4755 "name": "entity.name.scope-resolution.type.cpp"
4756 },
4757 {
4758 "include": "#template_call_range"
4759 }
4760 ]
4761 },
4762 "12": {
4763 "patterns": [
4764 {
4765 "include": "#template_call_range"
4766 }
4767 ]
4768 },
4769 "13": {},
4770 "14": {
4771 "patterns": [
4772 {
4773 "include": "#inline_comment"
4774 }
4775 ]
4776 },
4777 "15": {
4778 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4779 },
4780 "16": {
4781 "name": "comment.block.cpp"
4782 },
4783 "17": {
4784 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4785 },
4786 "18": {},
4787 "19": {
4788 "patterns": [
4789 {
4790 "match": "\\*",
4791 "name": "storage.modifier.pointer.cpp"
4792 },
4793 {
4794 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
4795 "captures": {
4796 "1": {
4797 "patterns": [
4798 {
4799 "include": "#inline_comment"
4800 }
4801 ]
4802 },
4803 "2": {
4804 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4805 },
4806 "3": {
4807 "name": "comment.block.cpp"
4808 },
4809 "4": {
4810 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4811 }
4812 },
4813 "name": "invalid.illegal.reference-type.cpp"
4814 },
4815 {
4816 "match": "\\&",
4817 "name": "storage.modifier.reference.cpp"
4818 }
4819 ]
4820 },
4821 "20": {
4822 "patterns": [
4823 {
4824 "include": "#inline_comment"
4825 }
4826 ]
4827 },
4828 "21": {
4829 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4830 },
4831 "22": {
4832 "name": "comment.block.cpp"
4833 },
4834 "23": {
4835 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4836 },
4837 "24": {
4838 "patterns": [
4839 {
4840 "include": "#inline_comment"
4841 }
4842 ]
4843 },
4844 "25": {
4845 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4846 },
4847 "26": {
4848 "name": "comment.block.cpp"
4849 },
4850 "27": {
4851 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4852 },
4853 "28": {
4854 "patterns": [
4855 {
4856 "include": "#inline_comment"
4857 }
4858 ]
4859 },
4860 "29": {
4861 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4862 },
4863 "30": {
4864 "name": "comment.block.cpp"
4865 },
4866 "31": {
4867 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4868 },
4869 "32": {
4870 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
4871 },
4872 "33": {
4873 "name": "punctuation.definition.function.pointer.dereference.cpp"
4874 },
4875 "34": {
4876 "name": "variable.other.definition.pointer.function.cpp"
4877 },
4878 "35": {
4879 "name": "punctuation.definition.begin.bracket.square.cpp"
4880 },
4881 "36": {
4882 "patterns": [
4883 {
4884 "include": "#evaluation_context"
4885 }
4886 ]
4887 },
4888 "37": {
4889 "name": "punctuation.definition.end.bracket.square.cpp"
4890 },
4891 "38": {
4892 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
4893 },
4894 "39": {
4895 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
4896 }
4897 },
4898 "endCaptures": {
4899 "1": {
4900 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
4901 },
4902 "2": {
4903 "patterns": [
4904 {
4905 "include": "#inline_comment"
4906 }
4907 ]
4908 },
4909 "3": {
4910 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4911 },
4912 "4": {
4913 "name": "comment.block.cpp"
4914 },
4915 "5": {
4916 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4917 }
4918 },
4919 "patterns": [
4920 {
4921 "include": "#function_parameter_context"
4922 }
4923 ]
4924 },
4925 "function_pointer_parameter": {
4926 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()",
4927 "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()",
4928 "beginCaptures": {
4929 "1": {
4930 "name": "meta.qualified_type.cpp",
4931 "patterns": [
4932 {
4933 "match": "::",
4934 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4935 },
4936 {
4937 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4938 "name": "storage.type.$0.cpp"
4939 },
4940 {
4941 "include": "#attributes_context"
4942 },
4943 {
4944 "include": "#storage_types"
4945 },
4946 {
4947 "include": "#number_literal"
4948 },
4949 {
4950 "include": "#string_context"
4951 },
4952 {
4953 "include": "#comma"
4954 },
4955 {
4956 "include": "#scope_resolution_inner_generated"
4957 },
4958 {
4959 "begin": "<",
4960 "end": ">",
4961 "beginCaptures": {
4962 "0": {
4963 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4964 }
4965 },
4966 "endCaptures": {
4967 "0": {
4968 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
4969 }
4970 },
4971 "name": "meta.template.call.cpp",
4972 "patterns": [
4973 {
4974 "include": "#template_call_context"
4975 }
4976 ]
4977 },
4978 {
4979 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
4980 "name": "entity.name.type.cpp"
4981 }
4982 ]
4983 },
4984 "2": {
4985 "patterns": [
4986 {
4987 "include": "#attributes_context"
4988 },
4989 {
4990 "include": "#number_literal"
4991 }
4992 ]
4993 },
4994 "3": {
4995 "patterns": [
4996 {
4997 "include": "#inline_comment"
4998 }
4999 ]
5000 },
5001 "4": {
5002 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5003 },
5004 "5": {
5005 "name": "comment.block.cpp"
5006 },
5007 "6": {
5008 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5009 },
5010 "7": {
5011 "patterns": [
5012 {
5013 "include": "#inline_comment"
5014 }
5015 ]
5016 },
5017 "8": {
5018 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5019 },
5020 "9": {
5021 "name": "comment.block.cpp"
5022 },
5023 "10": {
5024 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5025 },
5026 "11": {
5027 "patterns": [
5028 {
5029 "match": "::",
5030 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
5031 },
5032 {
5033 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
5034 "name": "entity.name.scope-resolution.type.cpp"
5035 },
5036 {
5037 "include": "#template_call_range"
5038 }
5039 ]
5040 },
5041 "12": {
5042 "patterns": [
5043 {
5044 "include": "#template_call_range"
5045 }
5046 ]
5047 },
5048 "13": {},
5049 "14": {
5050 "patterns": [
5051 {
5052 "include": "#inline_comment"
5053 }
5054 ]
5055 },
5056 "15": {
5057 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5058 },
5059 "16": {
5060 "name": "comment.block.cpp"
5061 },
5062 "17": {
5063 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5064 },
5065 "18": {},
5066 "19": {
5067 "patterns": [
5068 {
5069 "match": "\\*",
5070 "name": "storage.modifier.pointer.cpp"
5071 },
5072 {
5073 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
5074 "captures": {
5075 "1": {
5076 "patterns": [
5077 {
5078 "include": "#inline_comment"
5079 }
5080 ]
5081 },
5082 "2": {
5083 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5084 },
5085 "3": {
5086 "name": "comment.block.cpp"
5087 },
5088 "4": {
5089 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5090 }
5091 },
5092 "name": "invalid.illegal.reference-type.cpp"
5093 },
5094 {
5095 "match": "\\&",
5096 "name": "storage.modifier.reference.cpp"
5097 }
5098 ]
5099 },
5100 "20": {
5101 "patterns": [
5102 {
5103 "include": "#inline_comment"
5104 }
5105 ]
5106 },
5107 "21": {
5108 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5109 },
5110 "22": {
5111 "name": "comment.block.cpp"
5112 },
5113 "23": {
5114 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5115 },
5116 "24": {
5117 "patterns": [
5118 {
5119 "include": "#inline_comment"
5120 }
5121 ]
5122 },
5123 "25": {
5124 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5125 },
5126 "26": {
5127 "name": "comment.block.cpp"
5128 },
5129 "27": {
5130 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5131 },
5132 "28": {
5133 "patterns": [
5134 {
5135 "include": "#inline_comment"
5136 }
5137 ]
5138 },
5139 "29": {
5140 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5141 },
5142 "30": {
5143 "name": "comment.block.cpp"
5144 },
5145 "31": {
5146 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5147 },
5148 "32": {
5149 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
5150 },
5151 "33": {
5152 "name": "punctuation.definition.function.pointer.dereference.cpp"
5153 },
5154 "34": {
5155 "name": "variable.parameter.pointer.function.cpp"
5156 },
5157 "35": {
5158 "name": "punctuation.definition.begin.bracket.square.cpp"
5159 },
5160 "36": {
5161 "patterns": [
5162 {
5163 "include": "#evaluation_context"
5164 }
5165 ]
5166 },
5167 "37": {
5168 "name": "punctuation.definition.end.bracket.square.cpp"
5169 },
5170 "38": {
5171 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
5172 },
5173 "39": {
5174 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
5175 }
5176 },
5177 "endCaptures": {
5178 "1": {
5179 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
5180 },
5181 "2": {
5182 "patterns": [
5183 {
5184 "include": "#inline_comment"
5185 }
5186 ]
5187 },
5188 "3": {
5189 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5190 },
5191 "4": {
5192 "name": "comment.block.cpp"
5193 },
5194 "5": {
5195 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5196 }
5197 },
5198 "patterns": [
5199 {
5200 "include": "#function_parameter_context"
5201 }
5202 ]
5203 },
5204 "functional_specifiers_pre_parameters": {
5205 "match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))(?!\\w)",
5206 "name": "storage.modifier.specifier.functional.pre-parameters.$0.cpp"
5207 },
5208 "gcc_attributes": {
5209 "begin": "__attribute(?:__)?\\s*\\(\\s*\\(",
5210 "end": "\\)\\s*\\)",
5211 "beginCaptures": {
5212 "0": {
5213 "name": "punctuation.section.attribute.begin.cpp"
5214 }
5215 },
5216 "endCaptures": {
5217 "0": {
5218 "name": "punctuation.section.attribute.end.cpp"
5219 }
5220 },
5221 "name": "support.other.attribute.cpp",
5222 "patterns": [
5223 {
5224 "include": "#attributes_context"
5225 },
5226 {
5227 "begin": "\\(",
5228 "end": "\\)",
5229 "beginCaptures": {},
5230 "endCaptures": {},
5231 "patterns": [
5232 {
5233 "include": "#attributes_context"
5234 },
5235 {
5236 "include": "#string_context"
5237 },
5238 {
5239 "include": "#ever_present_context"
5240 }
5241 ]
5242 },
5243 {
5244 "match": "(using)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
5245 "captures": {
5246 "1": {
5247 "name": "keyword.other.using.directive.cpp"
5248 },
5249 "2": {
5250 "name": "entity.name.namespace.cpp"
5251 }
5252 }
5253 },
5254 {
5255 "match": ",",
5256 "name": "punctuation.separator.attribute.cpp"
5257 },
5258 {
5259 "match": ":",
5260 "name": "punctuation.accessor.attribute.cpp"
5261 },
5262 {
5263 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
5264 "name": "entity.name.namespace.cpp"
5265 },
5266 {
5267 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
5268 "name": "entity.other.attribute.$0.cpp"
5269 },
5270 {
5271 "include": "#number_literal"
5272 },
5273 {
5274 "include": "#ever_present_context"
5275 }
5276 ]
5277 },
5278 "goto_statement": {
5279 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)goto(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)",
5280 "captures": {
5281 "1": {
5282 "patterns": [
5283 {
5284 "include": "#inline_comment"
5285 }
5286 ]
5287 },
5288 "2": {
5289 "patterns": [
5290 {
5291 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5292 "captures": {
5293 "1": {
5294 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5295 },
5296 "2": {
5297 "name": "comment.block.cpp"
5298 },
5299 "3": {
5300 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5301 }
5302 }
5303 }
5304 ]
5305 },
5306 "3": {
5307 "name": "keyword.control.goto.cpp"
5308 },
5309 "4": {
5310 "patterns": [
5311 {
5312 "include": "#inline_comment"
5313 }
5314 ]
5315 },
5316 "5": {
5317 "patterns": [
5318 {
5319 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5320 "captures": {
5321 "1": {
5322 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5323 },
5324 "2": {
5325 "name": "comment.block.cpp"
5326 },
5327 "3": {
5328 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5329 }
5330 }
5331 }
5332 ]
5333 },
5334 "6": {
5335 "name": "entity.name.label.call.cpp"
5336 }
5337 }
5338 },
5339 "identifier": {
5340 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*"
5341 },
5342 "include": {
5343 "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((#)(?:\\s+)?((?:include|include_next))\\b)(?:\\s+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\\")[^\\\"]*(\\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))",
5344 "captures": {
5345 "1": {
5346 "patterns": [
5347 {
5348 "include": "#inline_comment"
5349 }
5350 ]
5351 },
5352 "2": {
5353 "patterns": [
5354 {
5355 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5356 "captures": {
5357 "1": {
5358 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5359 },
5360 "2": {
5361 "name": "comment.block.cpp"
5362 },
5363 "3": {
5364 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5365 }
5366 }
5367 }
5368 ]
5369 },
5370 "3": {
5371 "name": "keyword.control.directive.$5.cpp"
5372 },
5373 "4": {
5374 "name": "punctuation.definition.directive.cpp"
5375 },
5376 "6": {
5377 "name": "string.quoted.other.lt-gt.include.cpp"
5378 },
5379 "7": {
5380 "name": "punctuation.definition.string.begin.cpp"
5381 },
5382 "8": {
5383 "name": "punctuation.definition.string.end.cpp"
5384 },
5385 "9": {
5386 "patterns": [
5387 {
5388 "include": "#inline_comment"
5389 }
5390 ]
5391 },
5392 "10": {
5393 "patterns": [
5394 {
5395 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5396 "captures": {
5397 "1": {
5398 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5399 },
5400 "2": {
5401 "name": "comment.block.cpp"
5402 },
5403 "3": {
5404 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5405 }
5406 }
5407 }
5408 ]
5409 },
5410 "11": {
5411 "name": "string.quoted.double.include.cpp"
5412 },
5413 "12": {
5414 "name": "punctuation.definition.string.begin.cpp"
5415 },
5416 "13": {
5417 "name": "punctuation.definition.string.end.cpp"
5418 },
5419 "14": {
5420 "patterns": [
5421 {
5422 "include": "#inline_comment"
5423 }
5424 ]
5425 },
5426 "15": {
5427 "patterns": [
5428 {
5429 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5430 "captures": {
5431 "1": {
5432 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5433 },
5434 "2": {
5435 "name": "comment.block.cpp"
5436 },
5437 "3": {
5438 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5439 }
5440 }
5441 }
5442 ]
5443 },
5444 "16": {
5445 "name": "entity.name.other.preprocessor.macro.include.cpp"
5446 },
5447 "17": {
5448 "patterns": [
5449 {
5450 "include": "#inline_comment"
5451 }
5452 ]
5453 },
5454 "18": {
5455 "patterns": [
5456 {
5457 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5458 "captures": {
5459 "1": {
5460 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5461 },
5462 "2": {
5463 "name": "comment.block.cpp"
5464 },
5465 "3": {
5466 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5467 }
5468 }
5469 }
5470 ]
5471 },
5472 "19": {
5473 "patterns": [
5474 {
5475 "include": "#inline_comment"
5476 }
5477 ]
5478 },
5479 "20": {
5480 "patterns": [
5481 {
5482 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5483 "captures": {
5484 "1": {
5485 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5486 },
5487 "2": {
5488 "name": "comment.block.cpp"
5489 },
5490 "3": {
5491 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5492 }
5493 }
5494 }
5495 ]
5496 },
5497 "21": {
5498 "patterns": [
5499 {
5500 "include": "#inline_comment"
5501 }
5502 ]
5503 },
5504 "22": {
5505 "patterns": [
5506 {
5507 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5508 "captures": {
5509 "1": {
5510 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5511 },
5512 "2": {
5513 "name": "comment.block.cpp"
5514 },
5515 "3": {
5516 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5517 }
5518 }
5519 }
5520 ]
5521 }
5522 },
5523 "name": "meta.preprocessor.include.cpp"
5524 },
5525 "inheritance_context": {
5526 "patterns": [
5527 {
5528 "include": "#ever_present_context"
5529 },
5530 {
5531 "match": ",",
5532 "name": "punctuation.separator.delimiter.comma.inheritance.cpp"
5533 },
5534 {
5535 "match": "(?<!\\w)(?:(?:protected)|(?:private)|(?:public))(?!\\w)",
5536 "name": "storage.type.modifier.access.$0.cpp"
5537 },
5538 {
5539 "match": "(?<!\\w)virtual(?!\\w)",
5540 "name": "storage.type.modifier.virtual.cpp"
5541 },
5542 {
5543 "match": "(?<=protected|virtual|private|public|,|:)(?:\\s+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|virtual))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))",
5544 "captures": {
5545 "1": {
5546 "name": "meta.qualified_type.cpp",
5547 "patterns": [
5548 {
5549 "match": "::",
5550 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
5551 },
5552 {
5553 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
5554 "name": "storage.type.$0.cpp"
5555 },
5556 {
5557 "include": "#attributes_context"
5558 },
5559 {
5560 "include": "#storage_types"
5561 },
5562 {
5563 "include": "#number_literal"
5564 },
5565 {
5566 "include": "#string_context"
5567 },
5568 {
5569 "include": "#comma"
5570 },
5571 {
5572 "include": "#scope_resolution_inner_generated"
5573 },
5574 {
5575 "begin": "<",
5576 "end": ">",
5577 "beginCaptures": {
5578 "0": {
5579 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
5580 }
5581 },
5582 "endCaptures": {
5583 "0": {
5584 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
5585 }
5586 },
5587 "name": "meta.template.call.cpp",
5588 "patterns": [
5589 {
5590 "include": "#template_call_context"
5591 }
5592 ]
5593 },
5594 {
5595 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
5596 "name": "entity.name.type.cpp"
5597 }
5598 ]
5599 },
5600 "2": {
5601 "patterns": [
5602 {
5603 "include": "#attributes_context"
5604 },
5605 {
5606 "include": "#number_literal"
5607 }
5608 ]
5609 },
5610 "3": {
5611 "patterns": [
5612 {
5613 "include": "#inline_comment"
5614 }
5615 ]
5616 },
5617 "4": {
5618 "patterns": [
5619 {
5620 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5621 "captures": {
5622 "1": {
5623 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5624 },
5625 "2": {
5626 "name": "comment.block.cpp"
5627 },
5628 "3": {
5629 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5630 }
5631 }
5632 }
5633 ]
5634 },
5635 "5": {
5636 "patterns": [
5637 {
5638 "include": "#inline_comment"
5639 }
5640 ]
5641 },
5642 "6": {
5643 "patterns": [
5644 {
5645 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5646 "captures": {
5647 "1": {
5648 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5649 },
5650 "2": {
5651 "name": "comment.block.cpp"
5652 },
5653 "3": {
5654 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5655 }
5656 }
5657 }
5658 ]
5659 },
5660 "7": {
5661 "patterns": [
5662 {
5663 "match": "::",
5664 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
5665 },
5666 {
5667 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
5668 "name": "entity.name.scope-resolution.type.cpp"
5669 },
5670 {
5671 "include": "#template_call_range"
5672 }
5673 ]
5674 },
5675 "8": {
5676 "patterns": [
5677 {
5678 "include": "#template_call_range"
5679 }
5680 ]
5681 },
5682 "9": {},
5683 "10": {
5684 "patterns": [
5685 {
5686 "include": "#inline_comment"
5687 }
5688 ]
5689 },
5690 "11": {
5691 "patterns": [
5692 {
5693 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5694 "captures": {
5695 "1": {
5696 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5697 },
5698 "2": {
5699 "name": "comment.block.cpp"
5700 },
5701 "3": {
5702 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5703 }
5704 }
5705 }
5706 ]
5707 },
5708 "12": {}
5709 }
5710 }
5711 ]
5712 },
5713 "inline_builtin_storage_type": {
5714 "match": "\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)",
5715 "captures": {
5716 "1": {
5717 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
5718 },
5719 "2": {
5720 "name": "storage.type.cpp storage.type.built-in.cpp"
5721 },
5722 "3": {
5723 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
5724 },
5725 "4": {
5726 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
5727 }
5728 }
5729 },
5730 "inline_comment": {
5731 "match": "(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))",
5732 "captures": {
5733 "1": {
5734 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5735 },
5736 "2": {
5737 "name": "comment.block.cpp"
5738 },
5739 "3": {
5740 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5741 }
5742 }
5743 },
5744 "invalid_comment_end": {
5745 "match": "\\*\\/",
5746 "name": "invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"
5747 },
5748 "label": {
5749 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\b(?<!case|default)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)",
5750 "captures": {
5751 "1": {
5752 "patterns": [
5753 {
5754 "include": "#inline_comment"
5755 }
5756 ]
5757 },
5758 "2": {
5759 "patterns": [
5760 {
5761 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5762 "captures": {
5763 "1": {
5764 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5765 },
5766 "2": {
5767 "name": "comment.block.cpp"
5768 },
5769 "3": {
5770 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5771 }
5772 }
5773 }
5774 ]
5775 },
5776 "3": {
5777 "name": "entity.name.label.cpp"
5778 },
5779 "4": {
5780 "patterns": [
5781 {
5782 "include": "#inline_comment"
5783 }
5784 ]
5785 },
5786 "5": {
5787 "patterns": [
5788 {
5789 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5790 "captures": {
5791 "1": {
5792 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5793 },
5794 "2": {
5795 "name": "comment.block.cpp"
5796 },
5797 "3": {
5798 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5799 }
5800 }
5801 }
5802 ]
5803 },
5804 "6": {
5805 "name": "punctuation.separator.label.cpp"
5806 }
5807 }
5808 },
5809 "lambdas": {
5810 "begin": "(?:(?<=[^\\s]|^)(?<![\\w\\]\\)\\[\\*&\">])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:[^\\[\\]]*+\\g<3>?)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))",
5811 "end": "(?<=[;}])",
5812 "beginCaptures": {
5813 "1": {
5814 "name": "punctuation.definition.capture.begin.lambda.cpp"
5815 },
5816 "2": {
5817 "name": "meta.lambda.capture.cpp",
5818 "patterns": [
5819 {
5820 "include": "#the_this_keyword"
5821 },
5822 {
5823 "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))",
5824 "captures": {
5825 "1": {
5826 "name": "variable.parameter.capture.cpp"
5827 },
5828 "2": {
5829 "patterns": [
5830 {
5831 "include": "#inline_comment"
5832 }
5833 ]
5834 },
5835 "3": {
5836 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5837 },
5838 "4": {
5839 "name": "comment.block.cpp"
5840 },
5841 "5": {
5842 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5843 },
5844 "6": {
5845 "name": "punctuation.separator.delimiter.comma.cpp"
5846 },
5847 "7": {
5848 "name": "keyword.operator.assignment.cpp"
5849 }
5850 }
5851 },
5852 {
5853 "include": "#evaluation_context"
5854 }
5855 ]
5856 },
5857 "3": {},
5858 "4": {
5859 "name": "punctuation.definition.capture.end.lambda.cpp"
5860 },
5861 "5": {
5862 "patterns": [
5863 {
5864 "include": "#inline_comment"
5865 }
5866 ]
5867 },
5868 "6": {
5869 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5870 },
5871 "7": {
5872 "name": "comment.block.cpp"
5873 },
5874 "8": {
5875 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5876 }
5877 },
5878 "endCaptures": {},
5879 "patterns": [
5880 {
5881 "begin": "\\(",
5882 "end": "\\)",
5883 "beginCaptures": {
5884 "0": {
5885 "name": "punctuation.definition.parameters.begin.lambda.cpp"
5886 }
5887 },
5888 "endCaptures": {
5889 "0": {
5890 "name": "punctuation.definition.parameters.end.lambda.cpp"
5891 }
5892 },
5893 "name": "meta.function.definition.parameters.lambda.cpp",
5894 "patterns": [
5895 {
5896 "include": "#function_parameter_context"
5897 }
5898 ]
5899 },
5900 {
5901 "match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:mutable))(?!\\w)",
5902 "name": "storage.modifier.lambda.$0.cpp"
5903 },
5904 {
5905 "begin": "->",
5906 "end": "(?=\\{)",
5907 "beginCaptures": {
5908 "0": {
5909 "name": "punctuation.definition.lambda.return-type.cpp"
5910 }
5911 },
5912 "endCaptures": {},
5913 "patterns": [
5914 {
5915 "include": "#comments"
5916 },
5917 {
5918 "match": "\\S+",
5919 "name": "storage.type.return-type.lambda.cpp"
5920 }
5921 ]
5922 },
5923 {
5924 "begin": "\\{",
5925 "end": "\\}",
5926 "beginCaptures": {
5927 "0": {
5928 "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp"
5929 }
5930 },
5931 "endCaptures": {
5932 "0": {
5933 "name": "punctuation.section.block.end.bracket.curly.lambda.cpp"
5934 }
5935 },
5936 "name": "meta.function.definition.body.lambda.cpp",
5937 "patterns": [
5938 {
5939 "include": "$self"
5940 }
5941 ]
5942 }
5943 ]
5944 },
5945 "language_constants": {
5946 "match": "(?<!\\w)(?:(?:nullptr)|(?:false)|(?:NULL)|(?:true))(?!\\w)",
5947 "name": "constant.language.$0.cpp"
5948 },
5949 "line": {
5950 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?line\\b",
5951 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
5952 "beginCaptures": {
5953 "0": {
5954 "name": "keyword.control.directive.line.cpp"
5955 },
5956 "1": {
5957 "patterns": [
5958 {
5959 "include": "#inline_comment"
5960 }
5961 ]
5962 },
5963 "2": {
5964 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5965 },
5966 "3": {
5967 "name": "comment.block.cpp"
5968 },
5969 "4": {
5970 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5971 },
5972 "5": {
5973 "name": "punctuation.definition.directive.cpp"
5974 }
5975 },
5976 "endCaptures": {},
5977 "name": "meta.preprocessor.line.cpp",
5978 "patterns": [
5979 {
5980 "include": "#string_context"
5981 },
5982 {
5983 "include": "#preprocessor_number_literal"
5984 },
5985 {
5986 "include": "#line_continuation_character"
5987 }
5988 ]
5989 },
5990 "line_comment": {
5991 "begin": "\\s*+(\\/\\/)",
5992 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
5993 "beginCaptures": {
5994 "1": {
5995 "name": "punctuation.definition.comment.cpp"
5996 }
5997 },
5998 "endCaptures": {},
5999 "name": "comment.line.double-slash.cpp",
6000 "patterns": [
6001 {
6002 "include": "#line_continuation_character"
6003 }
6004 ]
6005 },
6006 "line_continuation_character": {
6007 "match": "\\\\\\n",
6008 "name": "constant.character.escape.line-continuation.cpp"
6009 },
6010 "macro": {
6011 "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?define\\b)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
6012 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
6013 "beginCaptures": {
6014 "1": {
6015 "name": "keyword.control.directive.define.cpp"
6016 },
6017 "2": {
6018 "patterns": [
6019 {
6020 "include": "#inline_comment"
6021 }
6022 ]
6023 },
6024 "3": {
6025 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6026 },
6027 "4": {
6028 "name": "comment.block.cpp"
6029 },
6030 "5": {
6031 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6032 },
6033 "6": {
6034 "name": "punctuation.definition.directive.cpp"
6035 },
6036 "7": {
6037 "name": "entity.name.function.preprocessor.cpp"
6038 }
6039 },
6040 "endCaptures": {},
6041 "name": "meta.preprocessor.macro.cpp",
6042 "patterns": [
6043 {
6044 "match": "\\G(?:\\s+)?(\\()([^\\(]*)(\\))",
6045 "captures": {
6046 "1": {
6047 "name": "punctuation.definition.parameters.begin.preprocessor.cpp"
6048 },
6049 "2": {
6050 "name": "meta.function.preprocessor.parameters.cpp",
6051 "patterns": [
6052 {
6053 "match": "(?<=[(,])(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?",
6054 "captures": {
6055 "1": {
6056 "name": "variable.parameter.preprocessor.cpp"
6057 }
6058 }
6059 },
6060 {
6061 "match": ",",
6062 "name": "punctuation.separator.parameters.cpp"
6063 },
6064 {
6065 "match": "\\.\\.\\.",
6066 "name": "punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"
6067 }
6068 ]
6069 },
6070 "3": {
6071 "name": "punctuation.definition.parameters.end.preprocessor.cpp"
6072 }
6073 }
6074 },
6075 {
6076 "include": "#macro_context"
6077 },
6078 {
6079 "include": "#macro_argument"
6080 }
6081 ]
6082 },
6083 "macro_argument": {
6084 "match": "##?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
6085 "name": "variable.other.macro.argument.cpp"
6086 },
6087 "macro_context": {
6088 "patterns": [
6089 {
6090 "include": "source.cpp.embedded.macro"
6091 }
6092 ]
6093 },
6094 "macro_name": {
6095 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
6096 "name": "entity.name.function.preprocessor.cpp"
6097 },
6098 "member_access": {
6099 "match": "(?:((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())",
6100 "captures": {
6101 "1": {
6102 "patterns": [
6103 {
6104 "include": "#inline_comment"
6105 }
6106 ]
6107 },
6108 "2": {
6109 "patterns": [
6110 {
6111 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
6112 "captures": {
6113 "1": {
6114 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6115 },
6116 "2": {
6117 "name": "comment.block.cpp"
6118 },
6119 "3": {
6120 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6121 }
6122 }
6123 }
6124 ]
6125 },
6126 "3": {
6127 "name": "variable.language.this.cpp"
6128 },
6129 "4": {
6130 "name": "variable.other.object.access.cpp"
6131 },
6132 "5": {
6133 "name": "punctuation.separator.dot-access.cpp"
6134 },
6135 "6": {
6136 "name": "punctuation.separator.pointer-access.cpp"
6137 },
6138 "7": {
6139 "patterns": [
6140 {
6141 "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6142 "captures": {
6143 "1": {
6144 "patterns": [
6145 {
6146 "include": "#inline_comment"
6147 }
6148 ]
6149 },
6150 "2": {
6151 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6152 },
6153 "3": {
6154 "name": "comment.block.cpp"
6155 },
6156 "4": {
6157 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6158 },
6159 "5": {
6160 "name": "variable.language.this.cpp"
6161 },
6162 "6": {
6163 "name": "variable.other.object.property.cpp"
6164 },
6165 "7": {
6166 "name": "punctuation.separator.dot-access.cpp"
6167 },
6168 "8": {
6169 "name": "punctuation.separator.pointer-access.cpp"
6170 }
6171 }
6172 },
6173 {
6174 "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6175 "captures": {
6176 "1": {
6177 "patterns": [
6178 {
6179 "include": "#inline_comment"
6180 }
6181 ]
6182 },
6183 "2": {
6184 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6185 },
6186 "3": {
6187 "name": "comment.block.cpp"
6188 },
6189 "4": {
6190 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6191 },
6192 "5": {
6193 "name": "variable.language.this.cpp"
6194 },
6195 "6": {
6196 "name": "variable.other.object.access.cpp"
6197 },
6198 "7": {
6199 "name": "punctuation.separator.dot-access.cpp"
6200 },
6201 "8": {
6202 "name": "punctuation.separator.pointer-access.cpp"
6203 }
6204 }
6205 },
6206 {
6207 "include": "#member_access"
6208 },
6209 {
6210 "include": "#method_access"
6211 }
6212 ]
6213 },
6214 "8": {
6215 "name": "variable.other.property.cpp"
6216 }
6217 }
6218 },
6219 "memory_operators": {
6220 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(delete)(?:\\s+)?(\\[\\])|(delete))|(new))(?!\\w))",
6221 "captures": {
6222 "1": {
6223 "patterns": [
6224 {
6225 "include": "#inline_comment"
6226 }
6227 ]
6228 },
6229 "2": {
6230 "patterns": [
6231 {
6232 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
6233 "captures": {
6234 "1": {
6235 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6236 },
6237 "2": {
6238 "name": "comment.block.cpp"
6239 },
6240 "3": {
6241 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6242 }
6243 }
6244 }
6245 ]
6246 },
6247 "3": {
6248 "name": "keyword.operator.wordlike.cpp"
6249 },
6250 "4": {
6251 "name": "keyword.operator.delete.array.cpp"
6252 },
6253 "5": {
6254 "name": "keyword.operator.delete.array.bracket.cpp"
6255 },
6256 "6": {
6257 "name": "keyword.operator.delete.cpp"
6258 },
6259 "7": {
6260 "name": "keyword.operator.new.cpp"
6261 }
6262 }
6263 },
6264 "method_access": {
6265 "begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()",
6266 "end": "\\)",
6267 "beginCaptures": {
6268 "1": {
6269 "patterns": [
6270 {
6271 "include": "#inline_comment"
6272 }
6273 ]
6274 },
6275 "2": {
6276 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6277 },
6278 "3": {
6279 "name": "comment.block.cpp"
6280 },
6281 "4": {
6282 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6283 },
6284 "5": {
6285 "name": "variable.language.this.cpp"
6286 },
6287 "6": {
6288 "name": "variable.other.object.access.cpp"
6289 },
6290 "7": {
6291 "name": "punctuation.separator.dot-access.cpp"
6292 },
6293 "8": {
6294 "name": "punctuation.separator.pointer-access.cpp"
6295 },
6296 "9": {
6297 "patterns": [
6298 {
6299 "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6300 "captures": {
6301 "1": {
6302 "patterns": [
6303 {
6304 "include": "#inline_comment"
6305 }
6306 ]
6307 },
6308 "2": {
6309 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6310 },
6311 "3": {
6312 "name": "comment.block.cpp"
6313 },
6314 "4": {
6315 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6316 },
6317 "5": {
6318 "name": "variable.language.this.cpp"
6319 },
6320 "6": {
6321 "name": "variable.other.object.property.cpp"
6322 },
6323 "7": {
6324 "name": "punctuation.separator.dot-access.cpp"
6325 },
6326 "8": {
6327 "name": "punctuation.separator.pointer-access.cpp"
6328 }
6329 }
6330 },
6331 {
6332 "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6333 "captures": {
6334 "1": {
6335 "patterns": [
6336 {
6337 "include": "#inline_comment"
6338 }
6339 ]
6340 },
6341 "2": {
6342 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6343 },
6344 "3": {
6345 "name": "comment.block.cpp"
6346 },
6347 "4": {
6348 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6349 },
6350 "5": {
6351 "name": "variable.language.this.cpp"
6352 },
6353 "6": {
6354 "name": "variable.other.object.access.cpp"
6355 },
6356 "7": {
6357 "name": "punctuation.separator.dot-access.cpp"
6358 },
6359 "8": {
6360 "name": "punctuation.separator.pointer-access.cpp"
6361 }
6362 }
6363 },
6364 {
6365 "include": "#member_access"
6366 },
6367 {
6368 "include": "#method_access"
6369 }
6370 ]
6371 },
6372 "10": {
6373 "name": "entity.name.function.member.cpp"
6374 },
6375 "11": {
6376 "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp"
6377 }
6378 },
6379 "endCaptures": {
6380 "0": {
6381 "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp"
6382 }
6383 },
6384 "patterns": [
6385 {
6386 "include": "#evaluation_context"
6387 }
6388 ]
6389 },
6390 "misc_keywords": {
6391 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:constinit)|(?:requires)|(?:typedef)|(?:concept)|(?:export)|(?:module))(?!\\w))",
6392 "captures": {
6393 "1": {
6394 "patterns": [
6395 {
6396 "include": "#inline_comment"
6397 }
6398 ]
6399 },
6400 "2": {
6401 "patterns": [
6402 {
6403 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
6404 "captures": {
6405 "1": {
6406 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6407 },
6408 "2": {
6409 "name": "comment.block.cpp"
6410 },
6411 "3": {
6412 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6413 }
6414 }
6415 }
6416 ]
6417 },
6418 "3": {
6419 "name": "keyword.other.$3.cpp"
6420 }
6421 }
6422 },
6423 "ms_attributes": {
6424 "begin": "__declspec\\(",
6425 "end": "\\)",
6426 "beginCaptures": {
6427 "0": {
6428 "name": "punctuation.section.attribute.begin.cpp"
6429 }
6430 },
6431 "endCaptures": {
6432 "0": {
6433 "name": "punctuation.section.attribute.end.cpp"
6434 }
6435 },
6436 "name": "support.other.attribute.cpp",
6437 "patterns": [
6438 {
6439 "include": "#attributes_context"
6440 },
6441 {
6442 "begin": "\\(",
6443 "end": "\\)",
6444 "beginCaptures": {},
6445 "endCaptures": {},
6446 "patterns": [
6447 {
6448 "include": "#attributes_context"
6449 },
6450 {
6451 "include": "#string_context"
6452 },
6453 {
6454 "include": "#ever_present_context"
6455 }
6456 ]
6457 },
6458 {
6459 "match": "(using)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
6460 "captures": {
6461 "1": {
6462 "name": "keyword.other.using.directive.cpp"
6463 },
6464 "2": {
6465 "name": "entity.name.namespace.cpp"
6466 }
6467 }
6468 },
6469 {
6470 "match": ",",
6471 "name": "punctuation.separator.attribute.cpp"
6472 },
6473 {
6474 "match": ":",
6475 "name": "punctuation.accessor.attribute.cpp"
6476 },
6477 {
6478 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
6479 "name": "entity.name.namespace.cpp"
6480 },
6481 {
6482 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
6483 "name": "entity.other.attribute.$0.cpp"
6484 },
6485 {
6486 "include": "#number_literal"
6487 },
6488 {
6489 "include": "#ever_present_context"
6490 }
6491 ]
6492 },
6493 "namespace_alias": {
6494 "match": "(?<!\\w)(namespace)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?(\\=)(?:\\s+)?(((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<8>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?(?:(;)|\\n))",
6495 "captures": {
6496 "1": {
6497 "name": "keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"
6498 },
6499 "2": {
6500 "name": "entity.name.namespace.alias.cpp"
6501 },
6502 "3": {
6503 "name": "keyword.operator.assignment.cpp"
6504 },
6505 "4": {
6506 "name": "meta.declaration.namespace.alias.value.cpp"
6507 },
6508 "5": {
6509 "patterns": [
6510 {
6511 "include": "#scope_resolution_namespace_alias_inner_generated"
6512 }
6513 ]
6514 },
6515 "6": {
6516 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
6517 },
6518 "7": {
6519 "patterns": [
6520 {
6521 "include": "#template_call_range"
6522 }
6523 ]
6524 },
6525 "9": {
6526 "name": "entity.name.namespace.cpp"
6527 },
6528 "10": {
6529 "name": "punctuation.terminator.statement.cpp"
6530 }
6531 },
6532 "name": "meta.declaration.namespace.alias.cpp"
6533 },
6534 "namespace_block": {
6535 "begin": "((?<!\\w)namespace(?!\\w))",
6536 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
6537 "beginCaptures": {
6538 "0": {
6539 "name": "meta.head.namespace.cpp"
6540 },
6541 "1": {
6542 "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"
6543 }
6544 },
6545 "endCaptures": {},
6546 "name": "meta.block.namespace.cpp",
6547 "patterns": [
6548 {
6549 "begin": "\\G ?",
6550 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
6551 "beginCaptures": {},
6552 "endCaptures": {
6553 "0": {
6554 "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp"
6555 }
6556 },
6557 "name": "meta.head.namespace.cpp",
6558 "patterns": [
6559 {
6560 "include": "#ever_present_context"
6561 },
6562 {
6563 "include": "#attributes_context"
6564 },
6565 {
6566 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<4>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?(?:(::)(?:\\s+)?(inline))?",
6567 "captures": {
6568 "1": {
6569 "patterns": [
6570 {
6571 "include": "#scope_resolution_namespace_block_inner_generated"
6572 }
6573 ]
6574 },
6575 "2": {
6576 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
6577 },
6578 "3": {
6579 "patterns": [
6580 {
6581 "include": "#template_call_range"
6582 }
6583 ]
6584 },
6585 "4": {},
6586 "5": {
6587 "name": "entity.name.namespace.cpp"
6588 },
6589 "6": {
6590 "name": "punctuation.separator.scope-resolution.namespace.block.cpp"
6591 },
6592 "7": {
6593 "name": "storage.modifier.inline.cpp"
6594 }
6595 }
6596 }
6597 ]
6598 },
6599 {
6600 "begin": "(?<=\\{|<%|\\?\\?<)",
6601 "end": "\\}|%>|\\?\\?>",
6602 "beginCaptures": {},
6603 "endCaptures": {
6604 "0": {
6605 "name": "punctuation.section.block.end.bracket.curly.namespace.cpp"
6606 }
6607 },
6608 "name": "meta.body.namespace.cpp",
6609 "patterns": [
6610 {
6611 "include": "$self"
6612 }
6613 ]
6614 },
6615 {
6616 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
6617 "end": "[\\s]*(?=;)",
6618 "beginCaptures": {},
6619 "endCaptures": {},
6620 "name": "meta.tail.namespace.cpp",
6621 "patterns": [
6622 {
6623 "include": "$self"
6624 }
6625 ]
6626 }
6627 ]
6628 },
6629 "noexcept_operator": {
6630 "begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
6631 "end": "\\)",
6632 "beginCaptures": {
6633 "1": {
6634 "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
6635 },
6636 "2": {
6637 "patterns": [
6638 {
6639 "include": "#inline_comment"
6640 }
6641 ]
6642 },
6643 "3": {
6644 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6645 },
6646 "4": {
6647 "name": "comment.block.cpp"
6648 },
6649 "5": {
6650 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6651 },
6652 "6": {
6653 "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
6654 }
6655 },
6656 "endCaptures": {
6657 "0": {
6658 "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
6659 }
6660 },
6661 "contentName": "meta.arguments.operator.noexcept",
6662 "patterns": [
6663 {
6664 "include": "#evaluation_context"
6665 }
6666 ]
6667 },
6668 "number_literal": {
6669 "match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
6670 "captures": {
6671 "0": {
6672 "patterns": [
6673 {
6674 "begin": "(?=.)",
6675 "end": "$",
6676 "beginCaptures": {},
6677 "endCaptures": {},
6678 "patterns": [
6679 {
6680 "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)",
6681 "captures": {
6682 "1": {
6683 "name": "keyword.other.unit.hexadecimal.cpp"
6684 },
6685 "2": {
6686 "name": "constant.numeric.hexadecimal.cpp",
6687 "patterns": [
6688 {
6689 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6690 "name": "punctuation.separator.constant.numeric.cpp"
6691 }
6692 ]
6693 },
6694 "3": {
6695 "name": "punctuation.separator.constant.numeric.cpp"
6696 },
6697 "4": {
6698 "name": "constant.numeric.hexadecimal.cpp"
6699 },
6700 "5": {
6701 "name": "constant.numeric.hexadecimal.cpp",
6702 "patterns": [
6703 {
6704 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6705 "name": "punctuation.separator.constant.numeric.cpp"
6706 }
6707 ]
6708 },
6709 "6": {
6710 "name": "punctuation.separator.constant.numeric.cpp"
6711 },
6712 "7": {
6713 "name": "keyword.other.unit.exponent.hexadecimal.cpp"
6714 },
6715 "8": {
6716 "name": "keyword.operator.plus.exponent.hexadecimal.cpp"
6717 },
6718 "9": {
6719 "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
6720 },
6721 "10": {
6722 "name": "constant.numeric.exponent.hexadecimal.cpp",
6723 "patterns": [
6724 {
6725 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6726 "name": "punctuation.separator.constant.numeric.cpp"
6727 }
6728 ]
6729 },
6730 "11": {
6731 "name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
6732 },
6733 "12": {
6734 "name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
6735 }
6736 }
6737 },
6738 {
6739 "match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)",
6740 "captures": {
6741 "1": {
6742 "name": "constant.numeric.decimal.cpp",
6743 "patterns": [
6744 {
6745 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6746 "name": "punctuation.separator.constant.numeric.cpp"
6747 }
6748 ]
6749 },
6750 "2": {
6751 "name": "punctuation.separator.constant.numeric.cpp"
6752 },
6753 "3": {
6754 "name": "constant.numeric.decimal.point.cpp"
6755 },
6756 "4": {
6757 "name": "constant.numeric.decimal.cpp",
6758 "patterns": [
6759 {
6760 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6761 "name": "punctuation.separator.constant.numeric.cpp"
6762 }
6763 ]
6764 },
6765 "5": {
6766 "name": "punctuation.separator.constant.numeric.cpp"
6767 },
6768 "6": {
6769 "name": "keyword.other.unit.exponent.decimal.cpp"
6770 },
6771 "7": {
6772 "name": "keyword.operator.plus.exponent.decimal.cpp"
6773 },
6774 "8": {
6775 "name": "keyword.operator.minus.exponent.decimal.cpp"
6776 },
6777 "9": {
6778 "name": "constant.numeric.exponent.decimal.cpp",
6779 "patterns": [
6780 {
6781 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6782 "name": "punctuation.separator.constant.numeric.cpp"
6783 }
6784 ]
6785 },
6786 "10": {
6787 "name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
6788 },
6789 "11": {
6790 "name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
6791 }
6792 }
6793 },
6794 {
6795 "match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)",
6796 "captures": {
6797 "1": {
6798 "name": "keyword.other.unit.binary.cpp"
6799 },
6800 "2": {
6801 "name": "constant.numeric.binary.cpp",
6802 "patterns": [
6803 {
6804 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6805 "name": "punctuation.separator.constant.numeric.cpp"
6806 }
6807 ]
6808 },
6809 "3": {
6810 "name": "punctuation.separator.constant.numeric.cpp"
6811 },
6812 "4": {
6813 "name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
6814 },
6815 "5": {
6816 "name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
6817 }
6818 }
6819 },
6820 {
6821 "match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)",
6822 "captures": {
6823 "1": {
6824 "name": "keyword.other.unit.octal.cpp"
6825 },
6826 "2": {
6827 "name": "constant.numeric.octal.cpp",
6828 "patterns": [
6829 {
6830 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6831 "name": "punctuation.separator.constant.numeric.cpp"
6832 }
6833 ]
6834 },
6835 "3": {
6836 "name": "punctuation.separator.constant.numeric.cpp"
6837 },
6838 "4": {
6839 "name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
6840 },
6841 "5": {
6842 "name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
6843 }
6844 }
6845 },
6846 {
6847 "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)",
6848 "captures": {
6849 "1": {
6850 "name": "keyword.other.unit.hexadecimal.cpp"
6851 },
6852 "2": {
6853 "name": "constant.numeric.hexadecimal.cpp",
6854 "patterns": [
6855 {
6856 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6857 "name": "punctuation.separator.constant.numeric.cpp"
6858 }
6859 ]
6860 },
6861 "3": {
6862 "name": "punctuation.separator.constant.numeric.cpp"
6863 },
6864 "4": {
6865 "name": "keyword.other.unit.exponent.hexadecimal.cpp"
6866 },
6867 "5": {
6868 "name": "keyword.operator.plus.exponent.hexadecimal.cpp"
6869 },
6870 "6": {
6871 "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
6872 },
6873 "7": {
6874 "name": "constant.numeric.exponent.hexadecimal.cpp",
6875 "patterns": [
6876 {
6877 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6878 "name": "punctuation.separator.constant.numeric.cpp"
6879 }
6880 ]
6881 },
6882 "8": {
6883 "name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
6884 },
6885 "9": {
6886 "name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
6887 }
6888 }
6889 },
6890 {
6891 "match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)",
6892 "captures": {
6893 "1": {
6894 "name": "constant.numeric.decimal.cpp",
6895 "patterns": [
6896 {
6897 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6898 "name": "punctuation.separator.constant.numeric.cpp"
6899 }
6900 ]
6901 },
6902 "2": {
6903 "name": "punctuation.separator.constant.numeric.cpp"
6904 },
6905 "3": {
6906 "name": "keyword.other.unit.exponent.decimal.cpp"
6907 },
6908 "4": {
6909 "name": "keyword.operator.plus.exponent.decimal.cpp"
6910 },
6911 "5": {
6912 "name": "keyword.operator.minus.exponent.decimal.cpp"
6913 },
6914 "6": {
6915 "name": "constant.numeric.exponent.decimal.cpp",
6916 "patterns": [
6917 {
6918 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6919 "name": "punctuation.separator.constant.numeric.cpp"
6920 }
6921 ]
6922 },
6923 "7": {
6924 "name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
6925 },
6926 "8": {
6927 "name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
6928 }
6929 }
6930 },
6931 {
6932 "match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
6933 "name": "invalid.illegal.constant.numeric.cpp"
6934 }
6935 ]
6936 }
6937 ]
6938 }
6939 }
6940 },
6941 "operator_overload": {
6942 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:\\[\\])?)))|(\"\")((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\<|\\()",
6943 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
6944 "beginCaptures": {
6945 "0": {
6946 "name": "meta.head.function.definition.special.operator-overload.cpp"
6947 },
6948 "1": {
6949 "patterns": [
6950 {
6951 "include": "#inline_comment"
6952 }
6953 ]
6954 },
6955 "2": {
6956 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6957 },
6958 "3": {
6959 "name": "comment.block.cpp"
6960 },
6961 "4": {
6962 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6963 },
6964 "5": {
6965 "name": "meta.qualified_type.cpp",
6966 "patterns": [
6967 {
6968 "match": "::",
6969 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
6970 },
6971 {
6972 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
6973 "name": "storage.type.$0.cpp"
6974 },
6975 {
6976 "include": "#attributes_context"
6977 },
6978 {
6979 "include": "#storage_types"
6980 },
6981 {
6982 "include": "#number_literal"
6983 },
6984 {
6985 "include": "#string_context"
6986 },
6987 {
6988 "include": "#comma"
6989 },
6990 {
6991 "include": "#scope_resolution_inner_generated"
6992 },
6993 {
6994 "begin": "<",
6995 "end": ">",
6996 "beginCaptures": {
6997 "0": {
6998 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
6999 }
7000 },
7001 "endCaptures": {
7002 "0": {
7003 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
7004 }
7005 },
7006 "name": "meta.template.call.cpp",
7007 "patterns": [
7008 {
7009 "include": "#template_call_context"
7010 }
7011 ]
7012 },
7013 {
7014 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
7015 "name": "entity.name.type.cpp"
7016 }
7017 ]
7018 },
7019 "6": {
7020 "patterns": [
7021 {
7022 "include": "#attributes_context"
7023 },
7024 {
7025 "include": "#number_literal"
7026 }
7027 ]
7028 },
7029 "7": {
7030 "patterns": [
7031 {
7032 "include": "#inline_comment"
7033 }
7034 ]
7035 },
7036 "8": {
7037 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7038 },
7039 "9": {
7040 "name": "comment.block.cpp"
7041 },
7042 "10": {
7043 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7044 },
7045 "11": {
7046 "patterns": [
7047 {
7048 "include": "#inline_comment"
7049 }
7050 ]
7051 },
7052 "12": {
7053 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7054 },
7055 "13": {
7056 "name": "comment.block.cpp"
7057 },
7058 "14": {
7059 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7060 },
7061 "15": {
7062 "patterns": [
7063 {
7064 "match": "::",
7065 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
7066 },
7067 {
7068 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
7069 "name": "entity.name.scope-resolution.type.cpp"
7070 },
7071 {
7072 "include": "#template_call_range"
7073 }
7074 ]
7075 },
7076 "16": {
7077 "patterns": [
7078 {
7079 "include": "#template_call_range"
7080 }
7081 ]
7082 },
7083 "17": {},
7084 "18": {
7085 "patterns": [
7086 {
7087 "include": "#inline_comment"
7088 }
7089 ]
7090 },
7091 "19": {
7092 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7093 },
7094 "20": {
7095 "name": "comment.block.cpp"
7096 },
7097 "21": {
7098 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7099 },
7100 "22": {},
7101 "23": {
7102 "patterns": [
7103 {
7104 "match": "\\*",
7105 "name": "storage.modifier.pointer.cpp"
7106 },
7107 {
7108 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
7109 "captures": {
7110 "1": {
7111 "patterns": [
7112 {
7113 "include": "#inline_comment"
7114 }
7115 ]
7116 },
7117 "2": {
7118 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7119 },
7120 "3": {
7121 "name": "comment.block.cpp"
7122 },
7123 "4": {
7124 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7125 }
7126 },
7127 "name": "invalid.illegal.reference-type.cpp"
7128 },
7129 {
7130 "match": "\\&",
7131 "name": "storage.modifier.reference.cpp"
7132 }
7133 ]
7134 },
7135 "24": {
7136 "patterns": [
7137 {
7138 "include": "#inline_comment"
7139 }
7140 ]
7141 },
7142 "25": {
7143 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7144 },
7145 "26": {
7146 "name": "comment.block.cpp"
7147 },
7148 "27": {
7149 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7150 },
7151 "28": {
7152 "patterns": [
7153 {
7154 "include": "#inline_comment"
7155 }
7156 ]
7157 },
7158 "29": {
7159 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7160 },
7161 "30": {
7162 "name": "comment.block.cpp"
7163 },
7164 "31": {
7165 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7166 },
7167 "32": {
7168 "patterns": [
7169 {
7170 "include": "#inline_comment"
7171 }
7172 ]
7173 },
7174 "33": {
7175 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7176 },
7177 "34": {
7178 "name": "comment.block.cpp"
7179 },
7180 "35": {
7181 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7182 },
7183 "36": {
7184 "name": "storage.type.modifier.calling-convention.cpp"
7185 },
7186 "37": {
7187 "patterns": [
7188 {
7189 "include": "#inline_comment"
7190 }
7191 ]
7192 },
7193 "38": {
7194 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7195 },
7196 "39": {
7197 "name": "comment.block.cpp"
7198 },
7199 "40": {
7200 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7201 },
7202 "41": {
7203 "patterns": [
7204 {
7205 "include": "#inline_comment"
7206 }
7207 ]
7208 },
7209 "42": {
7210 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7211 },
7212 "43": {
7213 "name": "comment.block.cpp"
7214 },
7215 "44": {
7216 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7217 },
7218 "45": {
7219 "patterns": [
7220 {
7221 "match": "::",
7222 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"
7223 },
7224 {
7225 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
7226 "name": "entity.name.scope-resolution.operator.cpp"
7227 },
7228 {
7229 "include": "#template_call_range"
7230 }
7231 ]
7232 },
7233 "46": {
7234 "patterns": [
7235 {
7236 "include": "#template_call_range"
7237 }
7238 ]
7239 },
7240 "47": {},
7241 "48": {
7242 "name": "keyword.other.operator.overload.cpp"
7243 },
7244 "49": {
7245 "patterns": [
7246 {
7247 "include": "#inline_comment"
7248 }
7249 ]
7250 },
7251 "50": {
7252 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7253 },
7254 "51": {
7255 "name": "comment.block.cpp"
7256 },
7257 "52": {
7258 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7259 },
7260 "53": {
7261 "patterns": [
7262 {
7263 "match": "::",
7264 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"
7265 },
7266 {
7267 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
7268 "name": "entity.name.scope-resolution.operator-overload.cpp"
7269 },
7270 {
7271 "include": "#template_call_range"
7272 }
7273 ]
7274 },
7275 "54": {
7276 "patterns": [
7277 {
7278 "include": "#template_call_range"
7279 }
7280 ]
7281 },
7282 "55": {},
7283 "56": {
7284 "name": "entity.name.operator.cpp"
7285 },
7286 "57": {
7287 "name": "entity.name.operator.type.cpp"
7288 },
7289 "58": {
7290 "patterns": [
7291 {
7292 "match": "\\*",
7293 "name": "entity.name.operator.type.pointer.cpp"
7294 },
7295 {
7296 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
7297 "captures": {
7298 "1": {
7299 "patterns": [
7300 {
7301 "include": "#inline_comment"
7302 }
7303 ]
7304 },
7305 "2": {
7306 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7307 },
7308 "3": {
7309 "name": "comment.block.cpp"
7310 },
7311 "4": {
7312 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7313 }
7314 },
7315 "name": "invalid.illegal.reference-type.cpp"
7316 },
7317 {
7318 "match": "\\&",
7319 "name": "entity.name.operator.type.reference.cpp"
7320 }
7321 ]
7322 },
7323 "59": {
7324 "patterns": [
7325 {
7326 "include": "#inline_comment"
7327 }
7328 ]
7329 },
7330 "60": {
7331 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7332 },
7333 "61": {
7334 "name": "comment.block.cpp"
7335 },
7336 "62": {
7337 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7338 },
7339 "63": {
7340 "patterns": [
7341 {
7342 "include": "#inline_comment"
7343 }
7344 ]
7345 },
7346 "64": {
7347 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7348 },
7349 "65": {
7350 "name": "comment.block.cpp"
7351 },
7352 "66": {
7353 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7354 },
7355 "67": {
7356 "patterns": [
7357 {
7358 "include": "#inline_comment"
7359 }
7360 ]
7361 },
7362 "68": {
7363 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7364 },
7365 "69": {
7366 "name": "comment.block.cpp"
7367 },
7368 "70": {
7369 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7370 },
7371 "71": {
7372 "name": "entity.name.operator.type.array.cpp"
7373 },
7374 "72": {
7375 "name": "entity.name.operator.custom-literal.cpp"
7376 },
7377 "73": {
7378 "patterns": [
7379 {
7380 "include": "#inline_comment"
7381 }
7382 ]
7383 },
7384 "74": {
7385 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7386 },
7387 "75": {
7388 "name": "comment.block.cpp"
7389 },
7390 "76": {
7391 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7392 },
7393 "77": {
7394 "name": "entity.name.operator.custom-literal.cpp"
7395 },
7396 "78": {
7397 "patterns": [
7398 {
7399 "include": "#inline_comment"
7400 }
7401 ]
7402 },
7403 "79": {
7404 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7405 },
7406 "80": {
7407 "name": "comment.block.cpp"
7408 },
7409 "81": {
7410 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7411 }
7412 },
7413 "endCaptures": {},
7414 "name": "meta.function.definition.special.operator-overload.cpp",
7415 "patterns": [
7416 {
7417 "begin": "\\G ?",
7418 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
7419 "beginCaptures": {},
7420 "endCaptures": {
7421 "0": {
7422 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"
7423 }
7424 },
7425 "name": "meta.head.function.definition.special.operator-overload.cpp",
7426 "patterns": [
7427 {
7428 "include": "#ever_present_context"
7429 },
7430 {
7431 "include": "#template_call_range"
7432 },
7433 {
7434 "begin": "\\(",
7435 "end": "\\)",
7436 "beginCaptures": {
7437 "0": {
7438 "name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"
7439 }
7440 },
7441 "endCaptures": {
7442 "0": {
7443 "name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"
7444 }
7445 },
7446 "contentName": "meta.function.definition.parameters.special.operator-overload",
7447 "patterns": [
7448 {
7449 "include": "#function_parameter_context"
7450 },
7451 {
7452 "include": "#evaluation_context"
7453 }
7454 ]
7455 },
7456 {
7457 "include": "#qualifiers_and_specifiers_post_parameters"
7458 },
7459 {
7460 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
7461 "captures": {
7462 "1": {
7463 "name": "keyword.operator.assignment.cpp"
7464 },
7465 "2": {
7466 "patterns": [
7467 {
7468 "include": "#inline_comment"
7469 }
7470 ]
7471 },
7472 "3": {
7473 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7474 },
7475 "4": {
7476 "name": "comment.block.cpp"
7477 },
7478 "5": {
7479 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7480 },
7481 "6": {
7482 "name": "keyword.other.default.function.cpp"
7483 },
7484 "7": {
7485 "name": "keyword.other.delete.function.cpp"
7486 }
7487 }
7488 },
7489 {
7490 "include": "$self"
7491 }
7492 ]
7493 },
7494 {
7495 "begin": "(?<=\\{|<%|\\?\\?<)",
7496 "end": "\\}|%>|\\?\\?>",
7497 "beginCaptures": {},
7498 "endCaptures": {
7499 "0": {
7500 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"
7501 }
7502 },
7503 "name": "meta.body.function.definition.special.operator-overload.cpp",
7504 "patterns": [
7505 {
7506 "include": "#function_body_context"
7507 }
7508 ]
7509 },
7510 {
7511 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
7512 "end": "[\\s]*(?=;)",
7513 "beginCaptures": {},
7514 "endCaptures": {},
7515 "name": "meta.tail.function.definition.special.operator-overload.cpp",
7516 "patterns": [
7517 {
7518 "include": "$self"
7519 }
7520 ]
7521 }
7522 ]
7523 },
7524 "operators": {
7525 "patterns": [
7526 {
7527 "begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7528 "end": "\\)",
7529 "beginCaptures": {
7530 "1": {
7531 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
7532 },
7533 "2": {
7534 "patterns": [
7535 {
7536 "include": "#inline_comment"
7537 }
7538 ]
7539 },
7540 "3": {
7541 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7542 },
7543 "4": {
7544 "name": "comment.block.cpp"
7545 },
7546 "5": {
7547 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7548 },
7549 "6": {
7550 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
7551 }
7552 },
7553 "endCaptures": {
7554 "0": {
7555 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
7556 }
7557 },
7558 "contentName": "meta.arguments.operator.sizeof",
7559 "patterns": [
7560 {
7561 "include": "#evaluation_context"
7562 }
7563 ]
7564 },
7565 {
7566 "begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7567 "end": "\\)",
7568 "beginCaptures": {
7569 "1": {
7570 "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
7571 },
7572 "2": {
7573 "patterns": [
7574 {
7575 "include": "#inline_comment"
7576 }
7577 ]
7578 },
7579 "3": {
7580 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7581 },
7582 "4": {
7583 "name": "comment.block.cpp"
7584 },
7585 "5": {
7586 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7587 },
7588 "6": {
7589 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
7590 }
7591 },
7592 "endCaptures": {
7593 "0": {
7594 "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
7595 }
7596 },
7597 "contentName": "meta.arguments.operator.alignof",
7598 "patterns": [
7599 {
7600 "include": "#evaluation_context"
7601 }
7602 ]
7603 },
7604 {
7605 "begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7606 "end": "\\)",
7607 "beginCaptures": {
7608 "1": {
7609 "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
7610 },
7611 "2": {
7612 "patterns": [
7613 {
7614 "include": "#inline_comment"
7615 }
7616 ]
7617 },
7618 "3": {
7619 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7620 },
7621 "4": {
7622 "name": "comment.block.cpp"
7623 },
7624 "5": {
7625 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7626 },
7627 "6": {
7628 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
7629 }
7630 },
7631 "endCaptures": {
7632 "0": {
7633 "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
7634 }
7635 },
7636 "contentName": "meta.arguments.operator.alignas",
7637 "patterns": [
7638 {
7639 "include": "#evaluation_context"
7640 }
7641 ]
7642 },
7643 {
7644 "begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7645 "end": "\\)",
7646 "beginCaptures": {
7647 "1": {
7648 "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
7649 },
7650 "2": {
7651 "patterns": [
7652 {
7653 "include": "#inline_comment"
7654 }
7655 ]
7656 },
7657 "3": {
7658 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7659 },
7660 "4": {
7661 "name": "comment.block.cpp"
7662 },
7663 "5": {
7664 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7665 },
7666 "6": {
7667 "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
7668 }
7669 },
7670 "endCaptures": {
7671 "0": {
7672 "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
7673 }
7674 },
7675 "contentName": "meta.arguments.operator.typeid",
7676 "patterns": [
7677 {
7678 "include": "#evaluation_context"
7679 }
7680 ]
7681 },
7682 {
7683 "begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7684 "end": "\\)",
7685 "beginCaptures": {
7686 "1": {
7687 "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
7688 },
7689 "2": {
7690 "patterns": [
7691 {
7692 "include": "#inline_comment"
7693 }
7694 ]
7695 },
7696 "3": {
7697 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7698 },
7699 "4": {
7700 "name": "comment.block.cpp"
7701 },
7702 "5": {
7703 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7704 },
7705 "6": {
7706 "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
7707 }
7708 },
7709 "endCaptures": {
7710 "0": {
7711 "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
7712 }
7713 },
7714 "contentName": "meta.arguments.operator.noexcept",
7715 "patterns": [
7716 {
7717 "include": "#evaluation_context"
7718 }
7719 ]
7720 },
7721 {
7722 "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7723 "end": "\\)",
7724 "beginCaptures": {
7725 "1": {
7726 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
7727 },
7728 "2": {
7729 "patterns": [
7730 {
7731 "include": "#inline_comment"
7732 }
7733 ]
7734 },
7735 "3": {
7736 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7737 },
7738 "4": {
7739 "name": "comment.block.cpp"
7740 },
7741 "5": {
7742 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7743 },
7744 "6": {
7745 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
7746 }
7747 },
7748 "endCaptures": {
7749 "0": {
7750 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
7751 }
7752 },
7753 "contentName": "meta.arguments.operator.sizeof.variadic",
7754 "patterns": [
7755 {
7756 "include": "#evaluation_context"
7757 }
7758 ]
7759 },
7760 {
7761 "match": "--",
7762 "name": "keyword.operator.decrement.cpp"
7763 },
7764 {
7765 "match": "\\+\\+",
7766 "name": "keyword.operator.increment.cpp"
7767 },
7768 {
7769 "match": "%=|\\+=|-=|\\*=|(?<!\\()\\/=",
7770 "name": "keyword.operator.assignment.compound.cpp"
7771 },
7772 {
7773 "match": "&=|\\^=|<<=|>>=|\\|=",
7774 "name": "keyword.operator.assignment.compound.bitwise.cpp"
7775 },
7776 {
7777 "match": "<<|>>",
7778 "name": "keyword.operator.bitwise.shift.cpp"
7779 },
7780 {
7781 "match": "!=|<=|>=|==|<|>",
7782 "name": "keyword.operator.comparison.cpp"
7783 },
7784 {
7785 "match": "&&|!|\\|\\|",
7786 "name": "keyword.operator.logical.cpp"
7787 },
7788 {
7789 "match": "&|\\||\\^|~",
7790 "name": "keyword.operator.bitwise.cpp"
7791 },
7792 {
7793 "include": "#assignment_operator"
7794 },
7795 {
7796 "match": "%|\\*|\\/|-|\\+",
7797 "name": "keyword.operator.arithmetic.cpp"
7798 },
7799 {
7800 "include": "#ternary_operator"
7801 }
7802 ]
7803 },
7804 "over_qualified_types": {
7805 "patterns": [
7806 {
7807 "match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
7808 "captures": {
7809 "1": {
7810 "name": "storage.type.struct.parameter.cpp"
7811 },
7812 "2": {
7813 "patterns": [
7814 {
7815 "include": "#inline_comment"
7816 }
7817 ]
7818 },
7819 "3": {
7820 "patterns": [
7821 {
7822 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7823 "captures": {
7824 "1": {
7825 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7826 },
7827 "2": {
7828 "name": "comment.block.cpp"
7829 },
7830 "3": {
7831 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7832 }
7833 }
7834 }
7835 ]
7836 },
7837 "4": {
7838 "name": "entity.name.type.struct.parameter.cpp"
7839 },
7840 "5": {
7841 "patterns": [
7842 {
7843 "include": "#inline_comment"
7844 }
7845 ]
7846 },
7847 "6": {
7848 "patterns": [
7849 {
7850 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7851 "captures": {
7852 "1": {
7853 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7854 },
7855 "2": {
7856 "name": "comment.block.cpp"
7857 },
7858 "3": {
7859 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7860 }
7861 }
7862 }
7863 ]
7864 },
7865 "7": {
7866 "patterns": [
7867 {
7868 "match": "\\*",
7869 "name": "storage.modifier.pointer.cpp"
7870 },
7871 {
7872 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
7873 "captures": {
7874 "1": {
7875 "patterns": [
7876 {
7877 "include": "#inline_comment"
7878 }
7879 ]
7880 },
7881 "2": {
7882 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7883 },
7884 "3": {
7885 "name": "comment.block.cpp"
7886 },
7887 "4": {
7888 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7889 }
7890 },
7891 "name": "invalid.illegal.reference-type.cpp"
7892 },
7893 {
7894 "match": "\\&",
7895 "name": "storage.modifier.reference.cpp"
7896 }
7897 ]
7898 },
7899 "8": {
7900 "patterns": [
7901 {
7902 "include": "#inline_comment"
7903 }
7904 ]
7905 },
7906 "9": {
7907 "patterns": [
7908 {
7909 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7910 "captures": {
7911 "1": {
7912 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7913 },
7914 "2": {
7915 "name": "comment.block.cpp"
7916 },
7917 "3": {
7918 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7919 }
7920 }
7921 }
7922 ]
7923 },
7924 "10": {
7925 "patterns": [
7926 {
7927 "include": "#inline_comment"
7928 }
7929 ]
7930 },
7931 "11": {
7932 "patterns": [
7933 {
7934 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7935 "captures": {
7936 "1": {
7937 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7938 },
7939 "2": {
7940 "name": "comment.block.cpp"
7941 },
7942 "3": {
7943 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7944 }
7945 }
7946 }
7947 ]
7948 },
7949 "12": {
7950 "patterns": [
7951 {
7952 "include": "#inline_comment"
7953 }
7954 ]
7955 },
7956 "13": {
7957 "patterns": [
7958 {
7959 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7960 "captures": {
7961 "1": {
7962 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7963 },
7964 "2": {
7965 "name": "comment.block.cpp"
7966 },
7967 "3": {
7968 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7969 }
7970 }
7971 }
7972 ]
7973 },
7974 "14": {
7975 "name": "variable.other.object.declare.cpp"
7976 },
7977 "15": {
7978 "patterns": [
7979 {
7980 "include": "#inline_comment"
7981 }
7982 ]
7983 },
7984 "16": {
7985 "patterns": [
7986 {
7987 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7988 "captures": {
7989 "1": {
7990 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7991 },
7992 "2": {
7993 "name": "comment.block.cpp"
7994 },
7995 "3": {
7996 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7997 }
7998 }
7999 }
8000 ]
8001 },
8002 "17": {
8003 "patterns": [
8004 {
8005 "include": "#inline_comment"
8006 }
8007 ]
8008 },
8009 "18": {
8010 "patterns": [
8011 {
8012 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8013 "captures": {
8014 "1": {
8015 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8016 },
8017 "2": {
8018 "name": "comment.block.cpp"
8019 },
8020 "3": {
8021 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8022 }
8023 }
8024 }
8025 ]
8026 },
8027 "19": {
8028 "patterns": [
8029 {
8030 "include": "#inline_comment"
8031 }
8032 ]
8033 },
8034 "20": {
8035 "patterns": [
8036 {
8037 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8038 "captures": {
8039 "1": {
8040 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8041 },
8042 "2": {
8043 "name": "comment.block.cpp"
8044 },
8045 "3": {
8046 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8047 }
8048 }
8049 }
8050 ]
8051 }
8052 }
8053 },
8054 {
8055 "match": "(\\benum)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
8056 "captures": {
8057 "1": {
8058 "name": "storage.type.enum.parameter.cpp"
8059 },
8060 "2": {
8061 "patterns": [
8062 {
8063 "include": "#inline_comment"
8064 }
8065 ]
8066 },
8067 "3": {
8068 "patterns": [
8069 {
8070 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8071 "captures": {
8072 "1": {
8073 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8074 },
8075 "2": {
8076 "name": "comment.block.cpp"
8077 },
8078 "3": {
8079 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8080 }
8081 }
8082 }
8083 ]
8084 },
8085 "4": {
8086 "name": "entity.name.type.enum.parameter.cpp"
8087 },
8088 "5": {
8089 "patterns": [
8090 {
8091 "include": "#inline_comment"
8092 }
8093 ]
8094 },
8095 "6": {
8096 "patterns": [
8097 {
8098 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8099 "captures": {
8100 "1": {
8101 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8102 },
8103 "2": {
8104 "name": "comment.block.cpp"
8105 },
8106 "3": {
8107 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8108 }
8109 }
8110 }
8111 ]
8112 },
8113 "7": {
8114 "patterns": [
8115 {
8116 "match": "\\*",
8117 "name": "storage.modifier.pointer.cpp"
8118 },
8119 {
8120 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
8121 "captures": {
8122 "1": {
8123 "patterns": [
8124 {
8125 "include": "#inline_comment"
8126 }
8127 ]
8128 },
8129 "2": {
8130 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8131 },
8132 "3": {
8133 "name": "comment.block.cpp"
8134 },
8135 "4": {
8136 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8137 }
8138 },
8139 "name": "invalid.illegal.reference-type.cpp"
8140 },
8141 {
8142 "match": "\\&",
8143 "name": "storage.modifier.reference.cpp"
8144 }
8145 ]
8146 },
8147 "8": {
8148 "patterns": [
8149 {
8150 "include": "#inline_comment"
8151 }
8152 ]
8153 },
8154 "9": {
8155 "patterns": [
8156 {
8157 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8158 "captures": {
8159 "1": {
8160 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8161 },
8162 "2": {
8163 "name": "comment.block.cpp"
8164 },
8165 "3": {
8166 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8167 }
8168 }
8169 }
8170 ]
8171 },
8172 "10": {
8173 "patterns": [
8174 {
8175 "include": "#inline_comment"
8176 }
8177 ]
8178 },
8179 "11": {
8180 "patterns": [
8181 {
8182 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8183 "captures": {
8184 "1": {
8185 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8186 },
8187 "2": {
8188 "name": "comment.block.cpp"
8189 },
8190 "3": {
8191 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8192 }
8193 }
8194 }
8195 ]
8196 },
8197 "12": {
8198 "patterns": [
8199 {
8200 "include": "#inline_comment"
8201 }
8202 ]
8203 },
8204 "13": {
8205 "patterns": [
8206 {
8207 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8208 "captures": {
8209 "1": {
8210 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8211 },
8212 "2": {
8213 "name": "comment.block.cpp"
8214 },
8215 "3": {
8216 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8217 }
8218 }
8219 }
8220 ]
8221 },
8222 "14": {
8223 "name": "variable.other.object.declare.cpp"
8224 },
8225 "15": {
8226 "patterns": [
8227 {
8228 "include": "#inline_comment"
8229 }
8230 ]
8231 },
8232 "16": {
8233 "patterns": [
8234 {
8235 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8236 "captures": {
8237 "1": {
8238 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8239 },
8240 "2": {
8241 "name": "comment.block.cpp"
8242 },
8243 "3": {
8244 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8245 }
8246 }
8247 }
8248 ]
8249 },
8250 "17": {
8251 "patterns": [
8252 {
8253 "include": "#inline_comment"
8254 }
8255 ]
8256 },
8257 "18": {
8258 "patterns": [
8259 {
8260 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8261 "captures": {
8262 "1": {
8263 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8264 },
8265 "2": {
8266 "name": "comment.block.cpp"
8267 },
8268 "3": {
8269 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8270 }
8271 }
8272 }
8273 ]
8274 },
8275 "19": {
8276 "patterns": [
8277 {
8278 "include": "#inline_comment"
8279 }
8280 ]
8281 },
8282 "20": {
8283 "patterns": [
8284 {
8285 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8286 "captures": {
8287 "1": {
8288 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8289 },
8290 "2": {
8291 "name": "comment.block.cpp"
8292 },
8293 "3": {
8294 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8295 }
8296 }
8297 }
8298 ]
8299 }
8300 }
8301 },
8302 {
8303 "match": "(\\bunion)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
8304 "captures": {
8305 "1": {
8306 "name": "storage.type.union.parameter.cpp"
8307 },
8308 "2": {
8309 "patterns": [
8310 {
8311 "include": "#inline_comment"
8312 }
8313 ]
8314 },
8315 "3": {
8316 "patterns": [
8317 {
8318 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8319 "captures": {
8320 "1": {
8321 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8322 },
8323 "2": {
8324 "name": "comment.block.cpp"
8325 },
8326 "3": {
8327 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8328 }
8329 }
8330 }
8331 ]
8332 },
8333 "4": {
8334 "name": "entity.name.type.union.parameter.cpp"
8335 },
8336 "5": {
8337 "patterns": [
8338 {
8339 "include": "#inline_comment"
8340 }
8341 ]
8342 },
8343 "6": {
8344 "patterns": [
8345 {
8346 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8347 "captures": {
8348 "1": {
8349 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8350 },
8351 "2": {
8352 "name": "comment.block.cpp"
8353 },
8354 "3": {
8355 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8356 }
8357 }
8358 }
8359 ]
8360 },
8361 "7": {
8362 "patterns": [
8363 {
8364 "match": "\\*",
8365 "name": "storage.modifier.pointer.cpp"
8366 },
8367 {
8368 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
8369 "captures": {
8370 "1": {
8371 "patterns": [
8372 {
8373 "include": "#inline_comment"
8374 }
8375 ]
8376 },
8377 "2": {
8378 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8379 },
8380 "3": {
8381 "name": "comment.block.cpp"
8382 },
8383 "4": {
8384 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8385 }
8386 },
8387 "name": "invalid.illegal.reference-type.cpp"
8388 },
8389 {
8390 "match": "\\&",
8391 "name": "storage.modifier.reference.cpp"
8392 }
8393 ]
8394 },
8395 "8": {
8396 "patterns": [
8397 {
8398 "include": "#inline_comment"
8399 }
8400 ]
8401 },
8402 "9": {
8403 "patterns": [
8404 {
8405 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8406 "captures": {
8407 "1": {
8408 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8409 },
8410 "2": {
8411 "name": "comment.block.cpp"
8412 },
8413 "3": {
8414 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8415 }
8416 }
8417 }
8418 ]
8419 },
8420 "10": {
8421 "patterns": [
8422 {
8423 "include": "#inline_comment"
8424 }
8425 ]
8426 },
8427 "11": {
8428 "patterns": [
8429 {
8430 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8431 "captures": {
8432 "1": {
8433 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8434 },
8435 "2": {
8436 "name": "comment.block.cpp"
8437 },
8438 "3": {
8439 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8440 }
8441 }
8442 }
8443 ]
8444 },
8445 "12": {
8446 "patterns": [
8447 {
8448 "include": "#inline_comment"
8449 }
8450 ]
8451 },
8452 "13": {
8453 "patterns": [
8454 {
8455 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8456 "captures": {
8457 "1": {
8458 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8459 },
8460 "2": {
8461 "name": "comment.block.cpp"
8462 },
8463 "3": {
8464 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8465 }
8466 }
8467 }
8468 ]
8469 },
8470 "14": {
8471 "name": "variable.other.object.declare.cpp"
8472 },
8473 "15": {
8474 "patterns": [
8475 {
8476 "include": "#inline_comment"
8477 }
8478 ]
8479 },
8480 "16": {
8481 "patterns": [
8482 {
8483 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8484 "captures": {
8485 "1": {
8486 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8487 },
8488 "2": {
8489 "name": "comment.block.cpp"
8490 },
8491 "3": {
8492 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8493 }
8494 }
8495 }
8496 ]
8497 },
8498 "17": {
8499 "patterns": [
8500 {
8501 "include": "#inline_comment"
8502 }
8503 ]
8504 },
8505 "18": {
8506 "patterns": [
8507 {
8508 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8509 "captures": {
8510 "1": {
8511 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8512 },
8513 "2": {
8514 "name": "comment.block.cpp"
8515 },
8516 "3": {
8517 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8518 }
8519 }
8520 }
8521 ]
8522 },
8523 "19": {
8524 "patterns": [
8525 {
8526 "include": "#inline_comment"
8527 }
8528 ]
8529 },
8530 "20": {
8531 "patterns": [
8532 {
8533 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8534 "captures": {
8535 "1": {
8536 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8537 },
8538 "2": {
8539 "name": "comment.block.cpp"
8540 },
8541 "3": {
8542 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8543 }
8544 }
8545 }
8546 ]
8547 }
8548 }
8549 },
8550 {
8551 "match": "(\\bclass)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
8552 "captures": {
8553 "1": {
8554 "name": "storage.type.class.parameter.cpp"
8555 },
8556 "2": {
8557 "patterns": [
8558 {
8559 "include": "#inline_comment"
8560 }
8561 ]
8562 },
8563 "3": {
8564 "patterns": [
8565 {
8566 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8567 "captures": {
8568 "1": {
8569 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8570 },
8571 "2": {
8572 "name": "comment.block.cpp"
8573 },
8574 "3": {
8575 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8576 }
8577 }
8578 }
8579 ]
8580 },
8581 "4": {
8582 "name": "entity.name.type.class.parameter.cpp"
8583 },
8584 "5": {
8585 "patterns": [
8586 {
8587 "include": "#inline_comment"
8588 }
8589 ]
8590 },
8591 "6": {
8592 "patterns": [
8593 {
8594 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8595 "captures": {
8596 "1": {
8597 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8598 },
8599 "2": {
8600 "name": "comment.block.cpp"
8601 },
8602 "3": {
8603 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8604 }
8605 }
8606 }
8607 ]
8608 },
8609 "7": {
8610 "patterns": [
8611 {
8612 "match": "\\*",
8613 "name": "storage.modifier.pointer.cpp"
8614 },
8615 {
8616 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
8617 "captures": {
8618 "1": {
8619 "patterns": [
8620 {
8621 "include": "#inline_comment"
8622 }
8623 ]
8624 },
8625 "2": {
8626 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8627 },
8628 "3": {
8629 "name": "comment.block.cpp"
8630 },
8631 "4": {
8632 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8633 }
8634 },
8635 "name": "invalid.illegal.reference-type.cpp"
8636 },
8637 {
8638 "match": "\\&",
8639 "name": "storage.modifier.reference.cpp"
8640 }
8641 ]
8642 },
8643 "8": {
8644 "patterns": [
8645 {
8646 "include": "#inline_comment"
8647 }
8648 ]
8649 },
8650 "9": {
8651 "patterns": [
8652 {
8653 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8654 "captures": {
8655 "1": {
8656 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8657 },
8658 "2": {
8659 "name": "comment.block.cpp"
8660 },
8661 "3": {
8662 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8663 }
8664 }
8665 }
8666 ]
8667 },
8668 "10": {
8669 "patterns": [
8670 {
8671 "include": "#inline_comment"
8672 }
8673 ]
8674 },
8675 "11": {
8676 "patterns": [
8677 {
8678 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8679 "captures": {
8680 "1": {
8681 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8682 },
8683 "2": {
8684 "name": "comment.block.cpp"
8685 },
8686 "3": {
8687 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8688 }
8689 }
8690 }
8691 ]
8692 },
8693 "12": {
8694 "patterns": [
8695 {
8696 "include": "#inline_comment"
8697 }
8698 ]
8699 },
8700 "13": {
8701 "patterns": [
8702 {
8703 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8704 "captures": {
8705 "1": {
8706 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8707 },
8708 "2": {
8709 "name": "comment.block.cpp"
8710 },
8711 "3": {
8712 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8713 }
8714 }
8715 }
8716 ]
8717 },
8718 "14": {
8719 "name": "variable.other.object.declare.cpp"
8720 },
8721 "15": {
8722 "patterns": [
8723 {
8724 "include": "#inline_comment"
8725 }
8726 ]
8727 },
8728 "16": {
8729 "patterns": [
8730 {
8731 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8732 "captures": {
8733 "1": {
8734 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8735 },
8736 "2": {
8737 "name": "comment.block.cpp"
8738 },
8739 "3": {
8740 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8741 }
8742 }
8743 }
8744 ]
8745 },
8746 "17": {
8747 "patterns": [
8748 {
8749 "include": "#inline_comment"
8750 }
8751 ]
8752 },
8753 "18": {
8754 "patterns": [
8755 {
8756 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8757 "captures": {
8758 "1": {
8759 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8760 },
8761 "2": {
8762 "name": "comment.block.cpp"
8763 },
8764 "3": {
8765 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8766 }
8767 }
8768 }
8769 ]
8770 },
8771 "19": {
8772 "patterns": [
8773 {
8774 "include": "#inline_comment"
8775 }
8776 ]
8777 },
8778 "20": {
8779 "patterns": [
8780 {
8781 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8782 "captures": {
8783 "1": {
8784 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8785 },
8786 "2": {
8787 "name": "comment.block.cpp"
8788 },
8789 "3": {
8790 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8791 }
8792 }
8793 }
8794 ]
8795 }
8796 }
8797 }
8798 ]
8799 },
8800 "parameter": {
8801 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)",
8802 "end": "(?:(?=\\))|(,))",
8803 "beginCaptures": {
8804 "1": {
8805 "patterns": [
8806 {
8807 "include": "#inline_comment"
8808 }
8809 ]
8810 },
8811 "2": {
8812 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8813 },
8814 "3": {
8815 "name": "comment.block.cpp"
8816 },
8817 "4": {
8818 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8819 }
8820 },
8821 "endCaptures": {
8822 "1": {
8823 "name": "punctuation.separator.delimiter.comma.cpp"
8824 }
8825 },
8826 "name": "meta.parameter.cpp",
8827 "patterns": [
8828 {
8829 "include": "#ever_present_context"
8830 },
8831 {
8832 "include": "#string_context"
8833 },
8834 {
8835 "include": "#function_pointer_parameter"
8836 },
8837 {
8838 "include": "#decltype"
8839 },
8840 {
8841 "include": "#vararg_ellipses"
8842 },
8843 {
8844 "match": "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\Wthread_local|^thread_local|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=,|\\)|=)",
8845 "captures": {
8846 "1": {
8847 "patterns": [
8848 {
8849 "include": "#storage_types"
8850 }
8851 ]
8852 },
8853 "2": {
8854 "name": "storage.modifier.specifier.parameter.cpp"
8855 },
8856 "3": {
8857 "patterns": [
8858 {
8859 "include": "#inline_comment"
8860 }
8861 ]
8862 },
8863 "4": {
8864 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8865 },
8866 "5": {
8867 "name": "comment.block.cpp"
8868 },
8869 "6": {
8870 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8871 },
8872 "7": {
8873 "patterns": [
8874 {
8875 "include": "#inline_comment"
8876 }
8877 ]
8878 },
8879 "8": {
8880 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8881 },
8882 "9": {
8883 "name": "comment.block.cpp"
8884 },
8885 "10": {
8886 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8887 },
8888 "11": {
8889 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
8890 },
8891 "12": {
8892 "name": "storage.type.cpp storage.type.built-in.cpp"
8893 },
8894 "13": {
8895 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
8896 },
8897 "14": {
8898 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
8899 },
8900 "15": {
8901 "name": "entity.name.type.parameter.cpp"
8902 },
8903 "16": {
8904 "patterns": [
8905 {
8906 "include": "#inline_comment"
8907 }
8908 ]
8909 },
8910 "17": {
8911 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8912 },
8913 "18": {
8914 "name": "comment.block.cpp"
8915 },
8916 "19": {
8917 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8918 }
8919 }
8920 },
8921 {
8922 "include": "#storage_types"
8923 },
8924 {
8925 "include": "#scope_resolution_parameter_inner_generated"
8926 },
8927 {
8928 "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
8929 "name": "storage.type.$0.cpp"
8930 },
8931 {
8932 "begin": "(?<==)",
8933 "end": "(?:(?=\\))|(,))",
8934 "beginCaptures": {},
8935 "endCaptures": {
8936 "1": {
8937 "name": "punctuation.separator.delimiter.comma.cpp"
8938 }
8939 },
8940 "patterns": [
8941 {
8942 "include": "#evaluation_context"
8943 }
8944 ]
8945 },
8946 {
8947 "match": "\\=",
8948 "name": "keyword.operator.assignment.cpp"
8949 },
8950 {
8951 "match": "(?<!\\s|\\(|,|:)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\)|,|\\[|=|\\n)",
8952 "captures": {
8953 "1": {
8954 "patterns": [
8955 {
8956 "include": "#inline_comment"
8957 }
8958 ]
8959 },
8960 "2": {
8961 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8962 },
8963 "3": {
8964 "name": "comment.block.cpp"
8965 },
8966 "4": {
8967 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8968 },
8969 "5": {
8970 "name": "variable.parameter.cpp"
8971 },
8972 "6": {
8973 "patterns": [
8974 {
8975 "include": "#inline_comment"
8976 }
8977 ]
8978 },
8979 "7": {
8980 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8981 },
8982 "8": {
8983 "name": "comment.block.cpp"
8984 },
8985 "9": {
8986 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8987 }
8988 }
8989 },
8990 {
8991 "include": "#attributes_context"
8992 },
8993 {
8994 "begin": "\\[",
8995 "end": "\\]",
8996 "beginCaptures": {
8997 "0": {
8998 "name": "punctuation.definition.begin.bracket.square.array.type.cpp"
8999 }
9000 },
9001 "endCaptures": {
9002 "0": {
9003 "name": "punctuation.definition.end.bracket.square.array.type.cpp"
9004 }
9005 },
9006 "name": "meta.bracket.square.array.cpp",
9007 "patterns": [
9008 {
9009 "include": "#evaluation_context"
9010 }
9011 ]
9012 },
9013 {
9014 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?<!\\Wstruct|^struct|\\Wclass|^class|\\Wunion|^union|\\Wenum|^enum)",
9015 "name": "entity.name.type.parameter.cpp"
9016 },
9017 {
9018 "include": "#template_call_range"
9019 },
9020 {
9021 "match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)",
9022 "captures": {
9023 "0": {
9024 "patterns": [
9025 {
9026 "match": "\\*",
9027 "name": "storage.modifier.pointer.cpp"
9028 },
9029 {
9030 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9031 "captures": {
9032 "1": {
9033 "patterns": [
9034 {
9035 "include": "#inline_comment"
9036 }
9037 ]
9038 },
9039 "2": {
9040 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9041 },
9042 "3": {
9043 "name": "comment.block.cpp"
9044 },
9045 "4": {
9046 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9047 }
9048 },
9049 "name": "invalid.illegal.reference-type.cpp"
9050 },
9051 {
9052 "match": "\\&",
9053 "name": "storage.modifier.reference.cpp"
9054 }
9055 ]
9056 },
9057 "1": {
9058 "patterns": [
9059 {
9060 "include": "#inline_comment"
9061 }
9062 ]
9063 },
9064 "2": {
9065 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9066 },
9067 "3": {
9068 "name": "comment.block.cpp"
9069 },
9070 "4": {
9071 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9072 },
9073 "5": {
9074 "patterns": [
9075 {
9076 "include": "#inline_comment"
9077 }
9078 ]
9079 },
9080 "6": {
9081 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9082 },
9083 "7": {
9084 "name": "comment.block.cpp"
9085 },
9086 "8": {
9087 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9088 }
9089 }
9090 },
9091 {
9092 "include": "#ever_present_context"
9093 }
9094 ]
9095 },
9096 "parameter_class": {
9097 "match": "(\\bclass)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
9098 "captures": {
9099 "1": {
9100 "name": "storage.type.class.parameter.cpp"
9101 },
9102 "2": {
9103 "patterns": [
9104 {
9105 "include": "#inline_comment"
9106 }
9107 ]
9108 },
9109 "3": {
9110 "patterns": [
9111 {
9112 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9113 "captures": {
9114 "1": {
9115 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9116 },
9117 "2": {
9118 "name": "comment.block.cpp"
9119 },
9120 "3": {
9121 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9122 }
9123 }
9124 }
9125 ]
9126 },
9127 "4": {
9128 "name": "entity.name.type.class.parameter.cpp"
9129 },
9130 "5": {
9131 "patterns": [
9132 {
9133 "include": "#inline_comment"
9134 }
9135 ]
9136 },
9137 "6": {
9138 "patterns": [
9139 {
9140 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9141 "captures": {
9142 "1": {
9143 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9144 },
9145 "2": {
9146 "name": "comment.block.cpp"
9147 },
9148 "3": {
9149 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9150 }
9151 }
9152 }
9153 ]
9154 },
9155 "7": {
9156 "patterns": [
9157 {
9158 "match": "\\*",
9159 "name": "storage.modifier.pointer.cpp"
9160 },
9161 {
9162 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9163 "captures": {
9164 "1": {
9165 "patterns": [
9166 {
9167 "include": "#inline_comment"
9168 }
9169 ]
9170 },
9171 "2": {
9172 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9173 },
9174 "3": {
9175 "name": "comment.block.cpp"
9176 },
9177 "4": {
9178 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9179 }
9180 },
9181 "name": "invalid.illegal.reference-type.cpp"
9182 },
9183 {
9184 "match": "\\&",
9185 "name": "storage.modifier.reference.cpp"
9186 }
9187 ]
9188 },
9189 "8": {
9190 "patterns": [
9191 {
9192 "include": "#inline_comment"
9193 }
9194 ]
9195 },
9196 "9": {
9197 "patterns": [
9198 {
9199 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9200 "captures": {
9201 "1": {
9202 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9203 },
9204 "2": {
9205 "name": "comment.block.cpp"
9206 },
9207 "3": {
9208 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9209 }
9210 }
9211 }
9212 ]
9213 },
9214 "10": {
9215 "patterns": [
9216 {
9217 "include": "#inline_comment"
9218 }
9219 ]
9220 },
9221 "11": {
9222 "patterns": [
9223 {
9224 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9225 "captures": {
9226 "1": {
9227 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9228 },
9229 "2": {
9230 "name": "comment.block.cpp"
9231 },
9232 "3": {
9233 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9234 }
9235 }
9236 }
9237 ]
9238 },
9239 "12": {
9240 "patterns": [
9241 {
9242 "include": "#inline_comment"
9243 }
9244 ]
9245 },
9246 "13": {
9247 "patterns": [
9248 {
9249 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9250 "captures": {
9251 "1": {
9252 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9253 },
9254 "2": {
9255 "name": "comment.block.cpp"
9256 },
9257 "3": {
9258 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9259 }
9260 }
9261 }
9262 ]
9263 },
9264 "14": {
9265 "name": "variable.other.object.declare.cpp"
9266 },
9267 "15": {
9268 "patterns": [
9269 {
9270 "include": "#inline_comment"
9271 }
9272 ]
9273 },
9274 "16": {
9275 "patterns": [
9276 {
9277 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9278 "captures": {
9279 "1": {
9280 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9281 },
9282 "2": {
9283 "name": "comment.block.cpp"
9284 },
9285 "3": {
9286 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9287 }
9288 }
9289 }
9290 ]
9291 },
9292 "17": {
9293 "patterns": [
9294 {
9295 "include": "#inline_comment"
9296 }
9297 ]
9298 },
9299 "18": {
9300 "patterns": [
9301 {
9302 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9303 "captures": {
9304 "1": {
9305 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9306 },
9307 "2": {
9308 "name": "comment.block.cpp"
9309 },
9310 "3": {
9311 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9312 }
9313 }
9314 }
9315 ]
9316 },
9317 "19": {
9318 "patterns": [
9319 {
9320 "include": "#inline_comment"
9321 }
9322 ]
9323 },
9324 "20": {
9325 "patterns": [
9326 {
9327 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9328 "captures": {
9329 "1": {
9330 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9331 },
9332 "2": {
9333 "name": "comment.block.cpp"
9334 },
9335 "3": {
9336 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9337 }
9338 }
9339 }
9340 ]
9341 }
9342 }
9343 },
9344 "parameter_enum": {
9345 "match": "(\\benum)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
9346 "captures": {
9347 "1": {
9348 "name": "storage.type.enum.parameter.cpp"
9349 },
9350 "2": {
9351 "patterns": [
9352 {
9353 "include": "#inline_comment"
9354 }
9355 ]
9356 },
9357 "3": {
9358 "patterns": [
9359 {
9360 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9361 "captures": {
9362 "1": {
9363 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9364 },
9365 "2": {
9366 "name": "comment.block.cpp"
9367 },
9368 "3": {
9369 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9370 }
9371 }
9372 }
9373 ]
9374 },
9375 "4": {
9376 "name": "entity.name.type.enum.parameter.cpp"
9377 },
9378 "5": {
9379 "patterns": [
9380 {
9381 "include": "#inline_comment"
9382 }
9383 ]
9384 },
9385 "6": {
9386 "patterns": [
9387 {
9388 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9389 "captures": {
9390 "1": {
9391 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9392 },
9393 "2": {
9394 "name": "comment.block.cpp"
9395 },
9396 "3": {
9397 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9398 }
9399 }
9400 }
9401 ]
9402 },
9403 "7": {
9404 "patterns": [
9405 {
9406 "match": "\\*",
9407 "name": "storage.modifier.pointer.cpp"
9408 },
9409 {
9410 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9411 "captures": {
9412 "1": {
9413 "patterns": [
9414 {
9415 "include": "#inline_comment"
9416 }
9417 ]
9418 },
9419 "2": {
9420 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9421 },
9422 "3": {
9423 "name": "comment.block.cpp"
9424 },
9425 "4": {
9426 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9427 }
9428 },
9429 "name": "invalid.illegal.reference-type.cpp"
9430 },
9431 {
9432 "match": "\\&",
9433 "name": "storage.modifier.reference.cpp"
9434 }
9435 ]
9436 },
9437 "8": {
9438 "patterns": [
9439 {
9440 "include": "#inline_comment"
9441 }
9442 ]
9443 },
9444 "9": {
9445 "patterns": [
9446 {
9447 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9448 "captures": {
9449 "1": {
9450 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9451 },
9452 "2": {
9453 "name": "comment.block.cpp"
9454 },
9455 "3": {
9456 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9457 }
9458 }
9459 }
9460 ]
9461 },
9462 "10": {
9463 "patterns": [
9464 {
9465 "include": "#inline_comment"
9466 }
9467 ]
9468 },
9469 "11": {
9470 "patterns": [
9471 {
9472 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9473 "captures": {
9474 "1": {
9475 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9476 },
9477 "2": {
9478 "name": "comment.block.cpp"
9479 },
9480 "3": {
9481 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9482 }
9483 }
9484 }
9485 ]
9486 },
9487 "12": {
9488 "patterns": [
9489 {
9490 "include": "#inline_comment"
9491 }
9492 ]
9493 },
9494 "13": {
9495 "patterns": [
9496 {
9497 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9498 "captures": {
9499 "1": {
9500 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9501 },
9502 "2": {
9503 "name": "comment.block.cpp"
9504 },
9505 "3": {
9506 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9507 }
9508 }
9509 }
9510 ]
9511 },
9512 "14": {
9513 "name": "variable.other.object.declare.cpp"
9514 },
9515 "15": {
9516 "patterns": [
9517 {
9518 "include": "#inline_comment"
9519 }
9520 ]
9521 },
9522 "16": {
9523 "patterns": [
9524 {
9525 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9526 "captures": {
9527 "1": {
9528 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9529 },
9530 "2": {
9531 "name": "comment.block.cpp"
9532 },
9533 "3": {
9534 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9535 }
9536 }
9537 }
9538 ]
9539 },
9540 "17": {
9541 "patterns": [
9542 {
9543 "include": "#inline_comment"
9544 }
9545 ]
9546 },
9547 "18": {
9548 "patterns": [
9549 {
9550 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9551 "captures": {
9552 "1": {
9553 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9554 },
9555 "2": {
9556 "name": "comment.block.cpp"
9557 },
9558 "3": {
9559 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9560 }
9561 }
9562 }
9563 ]
9564 },
9565 "19": {
9566 "patterns": [
9567 {
9568 "include": "#inline_comment"
9569 }
9570 ]
9571 },
9572 "20": {
9573 "patterns": [
9574 {
9575 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9576 "captures": {
9577 "1": {
9578 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9579 },
9580 "2": {
9581 "name": "comment.block.cpp"
9582 },
9583 "3": {
9584 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9585 }
9586 }
9587 }
9588 ]
9589 }
9590 }
9591 },
9592 "parameter_or_maybe_value": {
9593 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)",
9594 "end": "(?:(?=\\))|(,))",
9595 "beginCaptures": {
9596 "1": {
9597 "patterns": [
9598 {
9599 "include": "#inline_comment"
9600 }
9601 ]
9602 },
9603 "2": {
9604 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9605 },
9606 "3": {
9607 "name": "comment.block.cpp"
9608 },
9609 "4": {
9610 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9611 }
9612 },
9613 "endCaptures": {
9614 "1": {
9615 "name": "punctuation.separator.delimiter.comma.cpp"
9616 }
9617 },
9618 "name": "meta.parameter.cpp",
9619 "patterns": [
9620 {
9621 "include": "#ever_present_context"
9622 },
9623 {
9624 "include": "#function_pointer_parameter"
9625 },
9626 {
9627 "include": "#memory_operators"
9628 },
9629 {
9630 "include": "#builtin_storage_type_initilizer"
9631 },
9632 {
9633 "include": "#curly_initializer"
9634 },
9635 {
9636 "include": "#decltype"
9637 },
9638 {
9639 "include": "#vararg_ellipses"
9640 },
9641 {
9642 "match": "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\Wthread_local|^thread_local|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=,|\\)|=)",
9643 "captures": {
9644 "1": {
9645 "patterns": [
9646 {
9647 "include": "#storage_types"
9648 }
9649 ]
9650 },
9651 "2": {
9652 "name": "storage.modifier.specifier.parameter.cpp"
9653 },
9654 "3": {
9655 "patterns": [
9656 {
9657 "include": "#inline_comment"
9658 }
9659 ]
9660 },
9661 "4": {
9662 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9663 },
9664 "5": {
9665 "name": "comment.block.cpp"
9666 },
9667 "6": {
9668 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9669 },
9670 "7": {
9671 "patterns": [
9672 {
9673 "include": "#inline_comment"
9674 }
9675 ]
9676 },
9677 "8": {
9678 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9679 },
9680 "9": {
9681 "name": "comment.block.cpp"
9682 },
9683 "10": {
9684 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9685 },
9686 "11": {
9687 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
9688 },
9689 "12": {
9690 "name": "storage.type.cpp storage.type.built-in.cpp"
9691 },
9692 "13": {
9693 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
9694 },
9695 "14": {
9696 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
9697 },
9698 "15": {
9699 "name": "entity.name.type.parameter.cpp"
9700 },
9701 "16": {
9702 "patterns": [
9703 {
9704 "include": "#inline_comment"
9705 }
9706 ]
9707 },
9708 "17": {
9709 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9710 },
9711 "18": {
9712 "name": "comment.block.cpp"
9713 },
9714 "19": {
9715 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9716 }
9717 }
9718 },
9719 {
9720 "include": "#storage_types"
9721 },
9722 {
9723 "include": "#function_call"
9724 },
9725 {
9726 "include": "#scope_resolution_parameter_inner_generated"
9727 },
9728 {
9729 "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
9730 "name": "storage.type.$0.cpp"
9731 },
9732 {
9733 "begin": "(?<==)",
9734 "end": "(?:(?=\\))|(,))",
9735 "beginCaptures": {},
9736 "endCaptures": {
9737 "1": {
9738 "name": "punctuation.separator.delimiter.comma.cpp"
9739 }
9740 },
9741 "patterns": [
9742 {
9743 "include": "#evaluation_context"
9744 }
9745 ]
9746 },
9747 {
9748 "match": "(?<!\\s|\\(|,|:)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=(?:\\)|,|\\[|=|\\/\\/|(?:\\n|$)))",
9749 "captures": {
9750 "1": {
9751 "patterns": [
9752 {
9753 "include": "#inline_comment"
9754 }
9755 ]
9756 },
9757 "2": {
9758 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9759 },
9760 "3": {
9761 "name": "comment.block.cpp"
9762 },
9763 "4": {
9764 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9765 },
9766 "5": {
9767 "name": "variable.parameter.cpp"
9768 },
9769 "6": {
9770 "patterns": [
9771 {
9772 "include": "#inline_comment"
9773 }
9774 ]
9775 },
9776 "7": {
9777 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9778 },
9779 "8": {
9780 "name": "comment.block.cpp"
9781 },
9782 "9": {
9783 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9784 }
9785 }
9786 },
9787 {
9788 "include": "#attributes_context"
9789 },
9790 {
9791 "begin": "\\[",
9792 "end": "\\]",
9793 "beginCaptures": {
9794 "0": {
9795 "name": "punctuation.definition.begin.bracket.square.array.type.cpp"
9796 }
9797 },
9798 "endCaptures": {
9799 "0": {
9800 "name": "punctuation.definition.end.bracket.square.array.type.cpp"
9801 }
9802 },
9803 "name": "meta.bracket.square.array.cpp",
9804 "patterns": [
9805 {
9806 "include": "#evaluation_context"
9807 }
9808 ]
9809 },
9810 {
9811 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?<!\\Wstruct|^struct|\\Wclass|^class|\\Wunion|^union|\\Wenum|^enum)",
9812 "name": "entity.name.type.parameter.cpp"
9813 },
9814 {
9815 "include": "#template_call_range"
9816 },
9817 {
9818 "match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)",
9819 "captures": {
9820 "0": {
9821 "patterns": [
9822 {
9823 "match": "\\*",
9824 "name": "storage.modifier.pointer.cpp"
9825 },
9826 {
9827 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9828 "captures": {
9829 "1": {
9830 "patterns": [
9831 {
9832 "include": "#inline_comment"
9833 }
9834 ]
9835 },
9836 "2": {
9837 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9838 },
9839 "3": {
9840 "name": "comment.block.cpp"
9841 },
9842 "4": {
9843 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9844 }
9845 },
9846 "name": "invalid.illegal.reference-type.cpp"
9847 },
9848 {
9849 "match": "\\&",
9850 "name": "storage.modifier.reference.cpp"
9851 }
9852 ]
9853 },
9854 "1": {
9855 "patterns": [
9856 {
9857 "include": "#inline_comment"
9858 }
9859 ]
9860 },
9861 "2": {
9862 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9863 },
9864 "3": {
9865 "name": "comment.block.cpp"
9866 },
9867 "4": {
9868 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9869 },
9870 "5": {
9871 "patterns": [
9872 {
9873 "include": "#inline_comment"
9874 }
9875 ]
9876 },
9877 "6": {
9878 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9879 },
9880 "7": {
9881 "name": "comment.block.cpp"
9882 },
9883 "8": {
9884 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9885 }
9886 }
9887 },
9888 {
9889 "include": "#evaluation_context"
9890 },
9891 {
9892 "include": "#ever_present_context"
9893 }
9894 ]
9895 },
9896 "parameter_struct": {
9897 "match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
9898 "captures": {
9899 "1": {
9900 "name": "storage.type.struct.parameter.cpp"
9901 },
9902 "2": {
9903 "patterns": [
9904 {
9905 "include": "#inline_comment"
9906 }
9907 ]
9908 },
9909 "3": {
9910 "patterns": [
9911 {
9912 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9913 "captures": {
9914 "1": {
9915 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9916 },
9917 "2": {
9918 "name": "comment.block.cpp"
9919 },
9920 "3": {
9921 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9922 }
9923 }
9924 }
9925 ]
9926 },
9927 "4": {
9928 "name": "entity.name.type.struct.parameter.cpp"
9929 },
9930 "5": {
9931 "patterns": [
9932 {
9933 "include": "#inline_comment"
9934 }
9935 ]
9936 },
9937 "6": {
9938 "patterns": [
9939 {
9940 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9941 "captures": {
9942 "1": {
9943 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9944 },
9945 "2": {
9946 "name": "comment.block.cpp"
9947 },
9948 "3": {
9949 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9950 }
9951 }
9952 }
9953 ]
9954 },
9955 "7": {
9956 "patterns": [
9957 {
9958 "match": "\\*",
9959 "name": "storage.modifier.pointer.cpp"
9960 },
9961 {
9962 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
9963 "captures": {
9964 "1": {
9965 "patterns": [
9966 {
9967 "include": "#inline_comment"
9968 }
9969 ]
9970 },
9971 "2": {
9972 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9973 },
9974 "3": {
9975 "name": "comment.block.cpp"
9976 },
9977 "4": {
9978 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9979 }
9980 },
9981 "name": "invalid.illegal.reference-type.cpp"
9982 },
9983 {
9984 "match": "\\&",
9985 "name": "storage.modifier.reference.cpp"
9986 }
9987 ]
9988 },
9989 "8": {
9990 "patterns": [
9991 {
9992 "include": "#inline_comment"
9993 }
9994 ]
9995 },
9996 "9": {
9997 "patterns": [
9998 {
9999 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10000 "captures": {
10001 "1": {
10002 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10003 },
10004 "2": {
10005 "name": "comment.block.cpp"
10006 },
10007 "3": {
10008 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10009 }
10010 }
10011 }
10012 ]
10013 },
10014 "10": {
10015 "patterns": [
10016 {
10017 "include": "#inline_comment"
10018 }
10019 ]
10020 },
10021 "11": {
10022 "patterns": [
10023 {
10024 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10025 "captures": {
10026 "1": {
10027 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10028 },
10029 "2": {
10030 "name": "comment.block.cpp"
10031 },
10032 "3": {
10033 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10034 }
10035 }
10036 }
10037 ]
10038 },
10039 "12": {
10040 "patterns": [
10041 {
10042 "include": "#inline_comment"
10043 }
10044 ]
10045 },
10046 "13": {
10047 "patterns": [
10048 {
10049 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10050 "captures": {
10051 "1": {
10052 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10053 },
10054 "2": {
10055 "name": "comment.block.cpp"
10056 },
10057 "3": {
10058 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10059 }
10060 }
10061 }
10062 ]
10063 },
10064 "14": {
10065 "name": "variable.other.object.declare.cpp"
10066 },
10067 "15": {
10068 "patterns": [
10069 {
10070 "include": "#inline_comment"
10071 }
10072 ]
10073 },
10074 "16": {
10075 "patterns": [
10076 {
10077 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10078 "captures": {
10079 "1": {
10080 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10081 },
10082 "2": {
10083 "name": "comment.block.cpp"
10084 },
10085 "3": {
10086 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10087 }
10088 }
10089 }
10090 ]
10091 },
10092 "17": {
10093 "patterns": [
10094 {
10095 "include": "#inline_comment"
10096 }
10097 ]
10098 },
10099 "18": {
10100 "patterns": [
10101 {
10102 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10103 "captures": {
10104 "1": {
10105 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10106 },
10107 "2": {
10108 "name": "comment.block.cpp"
10109 },
10110 "3": {
10111 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10112 }
10113 }
10114 }
10115 ]
10116 },
10117 "19": {
10118 "patterns": [
10119 {
10120 "include": "#inline_comment"
10121 }
10122 ]
10123 },
10124 "20": {
10125 "patterns": [
10126 {
10127 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10128 "captures": {
10129 "1": {
10130 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10131 },
10132 "2": {
10133 "name": "comment.block.cpp"
10134 },
10135 "3": {
10136 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10137 }
10138 }
10139 }
10140 ]
10141 }
10142 }
10143 },
10144 "parameter_union": {
10145 "match": "(\\bunion)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=,|\\)|\\n)",
10146 "captures": {
10147 "1": {
10148 "name": "storage.type.union.parameter.cpp"
10149 },
10150 "2": {
10151 "patterns": [
10152 {
10153 "include": "#inline_comment"
10154 }
10155 ]
10156 },
10157 "3": {
10158 "patterns": [
10159 {
10160 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10161 "captures": {
10162 "1": {
10163 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10164 },
10165 "2": {
10166 "name": "comment.block.cpp"
10167 },
10168 "3": {
10169 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10170 }
10171 }
10172 }
10173 ]
10174 },
10175 "4": {
10176 "name": "entity.name.type.union.parameter.cpp"
10177 },
10178 "5": {
10179 "patterns": [
10180 {
10181 "include": "#inline_comment"
10182 }
10183 ]
10184 },
10185 "6": {
10186 "patterns": [
10187 {
10188 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10189 "captures": {
10190 "1": {
10191 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10192 },
10193 "2": {
10194 "name": "comment.block.cpp"
10195 },
10196 "3": {
10197 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10198 }
10199 }
10200 }
10201 ]
10202 },
10203 "7": {
10204 "patterns": [
10205 {
10206 "match": "\\*",
10207 "name": "storage.modifier.pointer.cpp"
10208 },
10209 {
10210 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
10211 "captures": {
10212 "1": {
10213 "patterns": [
10214 {
10215 "include": "#inline_comment"
10216 }
10217 ]
10218 },
10219 "2": {
10220 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10221 },
10222 "3": {
10223 "name": "comment.block.cpp"
10224 },
10225 "4": {
10226 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10227 }
10228 },
10229 "name": "invalid.illegal.reference-type.cpp"
10230 },
10231 {
10232 "match": "\\&",
10233 "name": "storage.modifier.reference.cpp"
10234 }
10235 ]
10236 },
10237 "8": {
10238 "patterns": [
10239 {
10240 "include": "#inline_comment"
10241 }
10242 ]
10243 },
10244 "9": {
10245 "patterns": [
10246 {
10247 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10248 "captures": {
10249 "1": {
10250 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10251 },
10252 "2": {
10253 "name": "comment.block.cpp"
10254 },
10255 "3": {
10256 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10257 }
10258 }
10259 }
10260 ]
10261 },
10262 "10": {
10263 "patterns": [
10264 {
10265 "include": "#inline_comment"
10266 }
10267 ]
10268 },
10269 "11": {
10270 "patterns": [
10271 {
10272 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10273 "captures": {
10274 "1": {
10275 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10276 },
10277 "2": {
10278 "name": "comment.block.cpp"
10279 },
10280 "3": {
10281 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10282 }
10283 }
10284 }
10285 ]
10286 },
10287 "12": {
10288 "patterns": [
10289 {
10290 "include": "#inline_comment"
10291 }
10292 ]
10293 },
10294 "13": {
10295 "patterns": [
10296 {
10297 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10298 "captures": {
10299 "1": {
10300 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10301 },
10302 "2": {
10303 "name": "comment.block.cpp"
10304 },
10305 "3": {
10306 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10307 }
10308 }
10309 }
10310 ]
10311 },
10312 "14": {
10313 "name": "variable.other.object.declare.cpp"
10314 },
10315 "15": {
10316 "patterns": [
10317 {
10318 "include": "#inline_comment"
10319 }
10320 ]
10321 },
10322 "16": {
10323 "patterns": [
10324 {
10325 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10326 "captures": {
10327 "1": {
10328 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10329 },
10330 "2": {
10331 "name": "comment.block.cpp"
10332 },
10333 "3": {
10334 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10335 }
10336 }
10337 }
10338 ]
10339 },
10340 "17": {
10341 "patterns": [
10342 {
10343 "include": "#inline_comment"
10344 }
10345 ]
10346 },
10347 "18": {
10348 "patterns": [
10349 {
10350 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10351 "captures": {
10352 "1": {
10353 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10354 },
10355 "2": {
10356 "name": "comment.block.cpp"
10357 },
10358 "3": {
10359 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10360 }
10361 }
10362 }
10363 ]
10364 },
10365 "19": {
10366 "patterns": [
10367 {
10368 "include": "#inline_comment"
10369 }
10370 ]
10371 },
10372 "20": {
10373 "patterns": [
10374 {
10375 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10376 "captures": {
10377 "1": {
10378 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10379 },
10380 "2": {
10381 "name": "comment.block.cpp"
10382 },
10383 "3": {
10384 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10385 }
10386 }
10387 }
10388 ]
10389 }
10390 }
10391 },
10392 "parentheses": {
10393 "begin": "\\(",
10394 "end": "\\)",
10395 "beginCaptures": {
10396 "0": {
10397 "name": "punctuation.section.parens.begin.bracket.round.cpp"
10398 }
10399 },
10400 "endCaptures": {
10401 "0": {
10402 "name": "punctuation.section.parens.end.bracket.round.cpp"
10403 }
10404 },
10405 "name": "meta.parens.cpp",
10406 "patterns": [
10407 {
10408 "include": "#over_qualified_types"
10409 },
10410 {
10411 "match": "(?<!:):(?!:)",
10412 "name": "punctuation.separator.colon.range-based.cpp"
10413 },
10414 {
10415 "include": "#evaluation_context"
10416 }
10417 ]
10418 },
10419 "pragma": {
10420 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?pragma\\b",
10421 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
10422 "beginCaptures": {
10423 "0": {
10424 "name": "keyword.control.directive.pragma.cpp"
10425 },
10426 "1": {
10427 "patterns": [
10428 {
10429 "include": "#inline_comment"
10430 }
10431 ]
10432 },
10433 "2": {
10434 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10435 },
10436 "3": {
10437 "name": "comment.block.cpp"
10438 },
10439 "4": {
10440 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10441 },
10442 "5": {
10443 "name": "punctuation.definition.directive.cpp"
10444 }
10445 },
10446 "endCaptures": {},
10447 "name": "meta.preprocessor.pragma.cpp",
10448 "patterns": [
10449 {
10450 "include": "#comments"
10451 },
10452 {
10453 "include": "#string_context"
10454 },
10455 {
10456 "match": "[a-zA-Z_$][\\w\\-$]*",
10457 "name": "entity.other.attribute-name.pragma.preprocessor.cpp"
10458 },
10459 {
10460 "include": "#preprocessor_number_literal"
10461 },
10462 {
10463 "include": "#line_continuation_character"
10464 }
10465 ]
10466 },
10467 "pragma_mark": {
10468 "match": "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?pragma\\s+mark)\\s+(.*)",
10469 "captures": {
10470 "1": {
10471 "name": "keyword.control.directive.pragma.pragma-mark.cpp"
10472 },
10473 "2": {
10474 "patterns": [
10475 {
10476 "include": "#inline_comment"
10477 }
10478 ]
10479 },
10480 "3": {
10481 "patterns": [
10482 {
10483 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10484 "captures": {
10485 "1": {
10486 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10487 },
10488 "2": {
10489 "name": "comment.block.cpp"
10490 },
10491 "3": {
10492 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10493 }
10494 }
10495 }
10496 ]
10497 },
10498 "4": {
10499 "name": "punctuation.definition.directive.cpp"
10500 },
10501 "5": {
10502 "name": "entity.name.tag.pragma-mark.cpp"
10503 }
10504 },
10505 "name": "meta.preprocessor.pragma.cpp"
10506 },
10507 "predefined_macros": {
10508 "patterns": [
10509 {
10510 "match": "\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b",
10511 "captures": {
10512 "1": {
10513 "name": "entity.name.other.preprocessor.macro.predefined.$1.cpp"
10514 }
10515 }
10516 },
10517 {
10518 "match": "\\b__([A-Z_]+)__\\b",
10519 "name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"
10520 }
10521 ]
10522 },
10523 "preprocessor_conditional_context": {
10524 "patterns": [
10525 {
10526 "include": "#preprocessor_conditional_defined"
10527 },
10528 {
10529 "include": "#comments"
10530 },
10531 {
10532 "include": "#language_constants"
10533 },
10534 {
10535 "include": "#string_context"
10536 },
10537 {
10538 "include": "#d9bc4796b0b_preprocessor_number_literal"
10539 },
10540 {
10541 "include": "#operators"
10542 },
10543 {
10544 "include": "#predefined_macros"
10545 },
10546 {
10547 "include": "#macro_name"
10548 },
10549 {
10550 "include": "#line_continuation_character"
10551 }
10552 ]
10553 },
10554 "preprocessor_conditional_defined": {
10555 "begin": "((?<!\\w)defined(?!\\w))(\\()",
10556 "end": "(?:\\)|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))",
10557 "beginCaptures": {
10558 "1": {
10559 "name": "keyword.control.directive.conditional.defined.cpp"
10560 },
10561 "2": {
10562 "name": "punctuation.section.parens.control.defined.cpp"
10563 }
10564 },
10565 "endCaptures": {
10566 "0": {
10567 "name": "punctuation.section.parens.control.defined.cpp"
10568 }
10569 },
10570 "patterns": [
10571 {
10572 "include": "#macro_name"
10573 }
10574 ]
10575 },
10576 "preprocessor_conditional_parentheses": {
10577 "begin": "\\(",
10578 "end": "\\)",
10579 "beginCaptures": {
10580 "0": {
10581 "name": "punctuation.section.parens.begin.bracket.round.cpp"
10582 }
10583 },
10584 "endCaptures": {
10585 "0": {
10586 "name": "punctuation.section.parens.end.bracket.round.cpp"
10587 }
10588 },
10589 "name": "meta.parens.preprocessor.conditional.cpp"
10590 },
10591 "preprocessor_conditional_range": {
10592 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:(?:ifndef|ifdef)|if))",
10593 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
10594 "beginCaptures": {
10595 "0": {
10596 "name": "keyword.control.directive.conditional.$6.cpp"
10597 },
10598 "1": {
10599 "patterns": [
10600 {
10601 "include": "#inline_comment"
10602 }
10603 ]
10604 },
10605 "2": {
10606 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10607 },
10608 "3": {
10609 "name": "comment.block.cpp"
10610 },
10611 "4": {
10612 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10613 },
10614 "5": {
10615 "name": "punctuation.definition.directive.cpp"
10616 },
10617 "6": {}
10618 },
10619 "endCaptures": {},
10620 "contentName": "meta.preprocessor.conditional",
10621 "patterns": [
10622 {
10623 "include": "#preprocessor_conditional_context"
10624 }
10625 ]
10626 },
10627 "preprocessor_conditional_standalone": {
10628 "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?<!\\w)(?:endif|else|elif)(?!\\w))",
10629 "captures": {
10630 "1": {
10631 "patterns": [
10632 {
10633 "include": "#inline_comment"
10634 }
10635 ]
10636 },
10637 "2": {
10638 "patterns": [
10639 {
10640 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10641 "captures": {
10642 "1": {
10643 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10644 },
10645 "2": {
10646 "name": "comment.block.cpp"
10647 },
10648 "3": {
10649 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10650 }
10651 }
10652 }
10653 ]
10654 },
10655 "3": {
10656 "name": "punctuation.definition.directive.cpp"
10657 }
10658 },
10659 "name": "keyword.control.directive.$4.cpp"
10660 },
10661 "preprocessor_context": {
10662 "patterns": [
10663 {
10664 "include": "#pragma_mark"
10665 },
10666 {
10667 "include": "#pragma"
10668 },
10669 {
10670 "include": "#include"
10671 },
10672 {
10673 "include": "#line"
10674 },
10675 {
10676 "include": "#diagnostic"
10677 },
10678 {
10679 "include": "#undef"
10680 },
10681 {
10682 "include": "#preprocessor_conditional_range"
10683 },
10684 {
10685 "include": "#single_line_macro"
10686 },
10687 {
10688 "include": "#macro"
10689 },
10690 {
10691 "include": "#preprocessor_conditional_standalone"
10692 },
10693 {
10694 "include": "#macro_argument"
10695 }
10696 ]
10697 },
10698 "qualified_type": {
10699 "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])",
10700 "captures": {
10701 "0": {
10702 "patterns": [
10703 {
10704 "match": "::",
10705 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
10706 },
10707 {
10708 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
10709 "name": "storage.type.$0.cpp"
10710 },
10711 {
10712 "include": "#attributes_context"
10713 },
10714 {
10715 "include": "#storage_types"
10716 },
10717 {
10718 "include": "#number_literal"
10719 },
10720 {
10721 "include": "#string_context"
10722 },
10723 {
10724 "include": "#comma"
10725 },
10726 {
10727 "include": "#scope_resolution_inner_generated"
10728 },
10729 {
10730 "begin": "<",
10731 "end": ">",
10732 "beginCaptures": {
10733 "0": {
10734 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
10735 }
10736 },
10737 "endCaptures": {
10738 "0": {
10739 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
10740 }
10741 },
10742 "name": "meta.template.call.cpp",
10743 "patterns": [
10744 {
10745 "include": "#template_call_context"
10746 }
10747 ]
10748 },
10749 {
10750 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
10751 "name": "entity.name.type.cpp"
10752 }
10753 ]
10754 },
10755 "1": {
10756 "patterns": [
10757 {
10758 "include": "#attributes_context"
10759 },
10760 {
10761 "include": "#number_literal"
10762 }
10763 ]
10764 },
10765 "2": {
10766 "patterns": [
10767 {
10768 "include": "#inline_comment"
10769 }
10770 ]
10771 },
10772 "3": {
10773 "patterns": [
10774 {
10775 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10776 "captures": {
10777 "1": {
10778 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10779 },
10780 "2": {
10781 "name": "comment.block.cpp"
10782 },
10783 "3": {
10784 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10785 }
10786 }
10787 }
10788 ]
10789 },
10790 "4": {
10791 "patterns": [
10792 {
10793 "include": "#inline_comment"
10794 }
10795 ]
10796 },
10797 "5": {
10798 "patterns": [
10799 {
10800 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10801 "captures": {
10802 "1": {
10803 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10804 },
10805 "2": {
10806 "name": "comment.block.cpp"
10807 },
10808 "3": {
10809 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10810 }
10811 }
10812 }
10813 ]
10814 },
10815 "6": {
10816 "patterns": [
10817 {
10818 "match": "::",
10819 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
10820 },
10821 {
10822 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
10823 "name": "entity.name.scope-resolution.type.cpp"
10824 },
10825 {
10826 "include": "#template_call_range"
10827 }
10828 ]
10829 },
10830 "7": {
10831 "patterns": [
10832 {
10833 "include": "#template_call_range"
10834 }
10835 ]
10836 },
10837 "9": {
10838 "patterns": [
10839 {
10840 "include": "#inline_comment"
10841 }
10842 ]
10843 },
10844 "10": {
10845 "patterns": [
10846 {
10847 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10848 "captures": {
10849 "1": {
10850 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10851 },
10852 "2": {
10853 "name": "comment.block.cpp"
10854 },
10855 "3": {
10856 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10857 }
10858 }
10859 }
10860 ]
10861 }
10862 },
10863 "name": "meta.qualified_type.cpp"
10864 },
10865 "qualifiers_and_specifiers_post_parameters": {
10866 "match": "((?:(?:(?:(?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\w))+)(?=\\s*(?:\\{|;|\\n|\\r|=))",
10867 "captures": {
10868 "1": {
10869 "patterns": [
10870 {
10871 "match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\w))",
10872 "captures": {
10873 "1": {
10874 "patterns": [
10875 {
10876 "include": "#inline_comment"
10877 }
10878 ]
10879 },
10880 "2": {
10881 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10882 },
10883 "3": {
10884 "name": "comment.block.cpp"
10885 },
10886 "4": {
10887 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10888 },
10889 "5": {
10890 "name": "storage.modifier.specifier.functional.post-parameters.$5.cpp"
10891 }
10892 }
10893 }
10894 ]
10895 }
10896 }
10897 },
10898 "scope_resolution": {
10899 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
10900 "captures": {
10901 "0": {
10902 "patterns": [
10903 {
10904 "include": "#scope_resolution_inner_generated"
10905 }
10906 ]
10907 },
10908 "1": {
10909 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
10910 },
10911 "2": {
10912 "patterns": [
10913 {
10914 "include": "#template_call_range"
10915 }
10916 ]
10917 }
10918 }
10919 },
10920 "scope_resolution_function_call": {
10921 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
10922 "captures": {
10923 "0": {
10924 "patterns": [
10925 {
10926 "include": "#scope_resolution_function_call_inner_generated"
10927 }
10928 ]
10929 },
10930 "1": {
10931 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
10932 },
10933 "2": {
10934 "patterns": [
10935 {
10936 "include": "#template_call_range"
10937 }
10938 ]
10939 }
10940 }
10941 },
10942 "scope_resolution_function_call_inner_generated": {
10943 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
10944 "captures": {
10945 "1": {
10946 "patterns": [
10947 {
10948 "include": "#scope_resolution_function_call_inner_generated"
10949 }
10950 ]
10951 },
10952 "2": {
10953 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
10954 },
10955 "3": {
10956 "patterns": [
10957 {
10958 "include": "#template_call_range"
10959 }
10960 ]
10961 },
10962 "4": {},
10963 "5": {
10964 "name": "entity.name.scope-resolution.function.call.cpp"
10965 },
10966 "6": {
10967 "name": "meta.template.call.cpp",
10968 "patterns": [
10969 {
10970 "include": "#template_call_range"
10971 }
10972 ]
10973 },
10974 "7": {},
10975 "8": {
10976 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10977 },
10978 "9": {
10979 "name": "comment.block.cpp"
10980 },
10981 "10": {
10982 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10983 },
10984 "11": {
10985 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
10986 }
10987 }
10988 },
10989 "scope_resolution_function_definition": {
10990 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
10991 "captures": {
10992 "0": {
10993 "patterns": [
10994 {
10995 "include": "#scope_resolution_function_definition_inner_generated"
10996 }
10997 ]
10998 },
10999 "1": {
11000 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
11001 },
11002 "2": {
11003 "patterns": [
11004 {
11005 "include": "#template_call_range"
11006 }
11007 ]
11008 }
11009 }
11010 },
11011 "scope_resolution_function_definition_inner_generated": {
11012 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11013 "captures": {
11014 "1": {
11015 "patterns": [
11016 {
11017 "include": "#scope_resolution_function_definition_inner_generated"
11018 }
11019 ]
11020 },
11021 "2": {
11022 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
11023 },
11024 "3": {
11025 "patterns": [
11026 {
11027 "include": "#template_call_range"
11028 }
11029 ]
11030 },
11031 "4": {},
11032 "5": {
11033 "name": "entity.name.scope-resolution.function.definition.cpp"
11034 },
11035 "6": {
11036 "name": "meta.template.call.cpp",
11037 "patterns": [
11038 {
11039 "include": "#template_call_range"
11040 }
11041 ]
11042 },
11043 "7": {},
11044 "8": {
11045 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11046 },
11047 "9": {
11048 "name": "comment.block.cpp"
11049 },
11050 "10": {
11051 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11052 },
11053 "11": {
11054 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
11055 }
11056 }
11057 },
11058 "scope_resolution_function_definition_operator_overload": {
11059 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11060 "captures": {
11061 "0": {
11062 "patterns": [
11063 {
11064 "include": "#scope_resolution_function_definition_operator_overload_inner_generated"
11065 }
11066 ]
11067 },
11068 "1": {
11069 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
11070 },
11071 "2": {
11072 "patterns": [
11073 {
11074 "include": "#template_call_range"
11075 }
11076 ]
11077 }
11078 }
11079 },
11080 "scope_resolution_function_definition_operator_overload_inner_generated": {
11081 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11082 "captures": {
11083 "1": {
11084 "patterns": [
11085 {
11086 "include": "#scope_resolution_function_definition_operator_overload_inner_generated"
11087 }
11088 ]
11089 },
11090 "2": {
11091 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
11092 },
11093 "3": {
11094 "patterns": [
11095 {
11096 "include": "#template_call_range"
11097 }
11098 ]
11099 },
11100 "4": {},
11101 "5": {
11102 "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp"
11103 },
11104 "6": {
11105 "name": "meta.template.call.cpp",
11106 "patterns": [
11107 {
11108 "include": "#template_call_range"
11109 }
11110 ]
11111 },
11112 "7": {},
11113 "8": {
11114 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11115 },
11116 "9": {
11117 "name": "comment.block.cpp"
11118 },
11119 "10": {
11120 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11121 },
11122 "11": {
11123 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
11124 }
11125 }
11126 },
11127 "scope_resolution_inner_generated": {
11128 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11129 "captures": {
11130 "1": {
11131 "patterns": [
11132 {
11133 "include": "#scope_resolution_inner_generated"
11134 }
11135 ]
11136 },
11137 "2": {
11138 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
11139 },
11140 "3": {
11141 "patterns": [
11142 {
11143 "include": "#template_call_range"
11144 }
11145 ]
11146 },
11147 "4": {},
11148 "5": {
11149 "name": "entity.name.scope-resolution.cpp"
11150 },
11151 "6": {
11152 "name": "meta.template.call.cpp",
11153 "patterns": [
11154 {
11155 "include": "#template_call_range"
11156 }
11157 ]
11158 },
11159 "7": {},
11160 "8": {
11161 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11162 },
11163 "9": {
11164 "name": "comment.block.cpp"
11165 },
11166 "10": {
11167 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11168 },
11169 "11": {
11170 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
11171 }
11172 }
11173 },
11174 "scope_resolution_namespace_alias": {
11175 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11176 "captures": {
11177 "0": {
11178 "patterns": [
11179 {
11180 "include": "#scope_resolution_namespace_alias_inner_generated"
11181 }
11182 ]
11183 },
11184 "1": {
11185 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
11186 },
11187 "2": {
11188 "patterns": [
11189 {
11190 "include": "#template_call_range"
11191 }
11192 ]
11193 }
11194 }
11195 },
11196 "scope_resolution_namespace_alias_inner_generated": {
11197 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11198 "captures": {
11199 "1": {
11200 "patterns": [
11201 {
11202 "include": "#scope_resolution_namespace_alias_inner_generated"
11203 }
11204 ]
11205 },
11206 "2": {
11207 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
11208 },
11209 "3": {
11210 "patterns": [
11211 {
11212 "include": "#template_call_range"
11213 }
11214 ]
11215 },
11216 "4": {},
11217 "5": {
11218 "name": "entity.name.scope-resolution.namespace.alias.cpp"
11219 },
11220 "6": {
11221 "name": "meta.template.call.cpp",
11222 "patterns": [
11223 {
11224 "include": "#template_call_range"
11225 }
11226 ]
11227 },
11228 "7": {},
11229 "8": {
11230 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11231 },
11232 "9": {
11233 "name": "comment.block.cpp"
11234 },
11235 "10": {
11236 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11237 },
11238 "11": {
11239 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
11240 }
11241 }
11242 },
11243 "scope_resolution_namespace_block": {
11244 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11245 "captures": {
11246 "0": {
11247 "patterns": [
11248 {
11249 "include": "#scope_resolution_namespace_block_inner_generated"
11250 }
11251 ]
11252 },
11253 "1": {
11254 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
11255 },
11256 "2": {
11257 "patterns": [
11258 {
11259 "include": "#template_call_range"
11260 }
11261 ]
11262 }
11263 }
11264 },
11265 "scope_resolution_namespace_block_inner_generated": {
11266 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11267 "captures": {
11268 "1": {
11269 "patterns": [
11270 {
11271 "include": "#scope_resolution_namespace_block_inner_generated"
11272 }
11273 ]
11274 },
11275 "2": {
11276 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
11277 },
11278 "3": {
11279 "patterns": [
11280 {
11281 "include": "#template_call_range"
11282 }
11283 ]
11284 },
11285 "4": {},
11286 "5": {
11287 "name": "entity.name.scope-resolution.namespace.block.cpp"
11288 },
11289 "6": {
11290 "name": "meta.template.call.cpp",
11291 "patterns": [
11292 {
11293 "include": "#template_call_range"
11294 }
11295 ]
11296 },
11297 "7": {},
11298 "8": {
11299 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11300 },
11301 "9": {
11302 "name": "comment.block.cpp"
11303 },
11304 "10": {
11305 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11306 },
11307 "11": {
11308 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
11309 }
11310 }
11311 },
11312 "scope_resolution_namespace_using": {
11313 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11314 "captures": {
11315 "0": {
11316 "patterns": [
11317 {
11318 "include": "#scope_resolution_namespace_using_inner_generated"
11319 }
11320 ]
11321 },
11322 "1": {
11323 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
11324 },
11325 "2": {
11326 "patterns": [
11327 {
11328 "include": "#template_call_range"
11329 }
11330 ]
11331 }
11332 }
11333 },
11334 "scope_resolution_namespace_using_inner_generated": {
11335 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11336 "captures": {
11337 "1": {
11338 "patterns": [
11339 {
11340 "include": "#scope_resolution_namespace_using_inner_generated"
11341 }
11342 ]
11343 },
11344 "2": {
11345 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
11346 },
11347 "3": {
11348 "patterns": [
11349 {
11350 "include": "#template_call_range"
11351 }
11352 ]
11353 },
11354 "4": {},
11355 "5": {
11356 "name": "entity.name.scope-resolution.namespace.using.cpp"
11357 },
11358 "6": {
11359 "name": "meta.template.call.cpp",
11360 "patterns": [
11361 {
11362 "include": "#template_call_range"
11363 }
11364 ]
11365 },
11366 "7": {},
11367 "8": {
11368 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11369 },
11370 "9": {
11371 "name": "comment.block.cpp"
11372 },
11373 "10": {
11374 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11375 },
11376 "11": {
11377 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
11378 }
11379 }
11380 },
11381 "scope_resolution_parameter": {
11382 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11383 "captures": {
11384 "0": {
11385 "patterns": [
11386 {
11387 "include": "#scope_resolution_parameter_inner_generated"
11388 }
11389 ]
11390 },
11391 "1": {
11392 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
11393 },
11394 "2": {
11395 "patterns": [
11396 {
11397 "include": "#template_call_range"
11398 }
11399 ]
11400 }
11401 }
11402 },
11403 "scope_resolution_parameter_inner_generated": {
11404 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11405 "captures": {
11406 "1": {
11407 "patterns": [
11408 {
11409 "include": "#scope_resolution_parameter_inner_generated"
11410 }
11411 ]
11412 },
11413 "2": {
11414 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
11415 },
11416 "3": {
11417 "patterns": [
11418 {
11419 "include": "#template_call_range"
11420 }
11421 ]
11422 },
11423 "4": {},
11424 "5": {
11425 "name": "entity.name.scope-resolution.parameter.cpp"
11426 },
11427 "6": {
11428 "name": "meta.template.call.cpp",
11429 "patterns": [
11430 {
11431 "include": "#template_call_range"
11432 }
11433 ]
11434 },
11435 "7": {},
11436 "8": {
11437 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11438 },
11439 "9": {
11440 "name": "comment.block.cpp"
11441 },
11442 "10": {
11443 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11444 },
11445 "11": {
11446 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
11447 }
11448 }
11449 },
11450 "scope_resolution_template_call": {
11451 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11452 "captures": {
11453 "0": {
11454 "patterns": [
11455 {
11456 "include": "#scope_resolution_template_call_inner_generated"
11457 }
11458 ]
11459 },
11460 "1": {
11461 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
11462 },
11463 "2": {
11464 "patterns": [
11465 {
11466 "include": "#template_call_range"
11467 }
11468 ]
11469 }
11470 }
11471 },
11472 "scope_resolution_template_call_inner_generated": {
11473 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11474 "captures": {
11475 "1": {
11476 "patterns": [
11477 {
11478 "include": "#scope_resolution_template_call_inner_generated"
11479 }
11480 ]
11481 },
11482 "2": {
11483 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
11484 },
11485 "3": {
11486 "patterns": [
11487 {
11488 "include": "#template_call_range"
11489 }
11490 ]
11491 },
11492 "4": {},
11493 "5": {
11494 "name": "entity.name.scope-resolution.template.call.cpp"
11495 },
11496 "6": {
11497 "name": "meta.template.call.cpp",
11498 "patterns": [
11499 {
11500 "include": "#template_call_range"
11501 }
11502 ]
11503 },
11504 "7": {},
11505 "8": {
11506 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11507 },
11508 "9": {
11509 "name": "comment.block.cpp"
11510 },
11511 "10": {
11512 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11513 },
11514 "11": {
11515 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
11516 }
11517 }
11518 },
11519 "scope_resolution_template_definition": {
11520 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+",
11521 "captures": {
11522 "0": {
11523 "patterns": [
11524 {
11525 "include": "#scope_resolution_template_definition_inner_generated"
11526 }
11527 ]
11528 },
11529 "1": {
11530 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
11531 },
11532 "2": {
11533 "patterns": [
11534 {
11535 "include": "#template_call_range"
11536 }
11537 ]
11538 }
11539 }
11540 },
11541 "scope_resolution_template_definition_inner_generated": {
11542 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)",
11543 "captures": {
11544 "1": {
11545 "patterns": [
11546 {
11547 "include": "#scope_resolution_template_definition_inner_generated"
11548 }
11549 ]
11550 },
11551 "2": {
11552 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
11553 },
11554 "3": {
11555 "patterns": [
11556 {
11557 "include": "#template_call_range"
11558 }
11559 ]
11560 },
11561 "4": {},
11562 "5": {
11563 "name": "entity.name.scope-resolution.template.definition.cpp"
11564 },
11565 "6": {
11566 "name": "meta.template.call.cpp",
11567 "patterns": [
11568 {
11569 "include": "#template_call_range"
11570 }
11571 ]
11572 },
11573 "7": {},
11574 "8": {
11575 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11576 },
11577 "9": {
11578 "name": "comment.block.cpp"
11579 },
11580 "10": {
11581 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11582 },
11583 "11": {
11584 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
11585 }
11586 }
11587 },
11588 "semicolon": {
11589 "match": ";",
11590 "name": "punctuation.terminator.statement.cpp"
11591 },
11592 "simple_type": {
11593 "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?",
11594 "captures": {
11595 "1": {
11596 "name": "meta.qualified_type.cpp",
11597 "patterns": [
11598 {
11599 "match": "::",
11600 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
11601 },
11602 {
11603 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
11604 "name": "storage.type.$0.cpp"
11605 },
11606 {
11607 "include": "#attributes_context"
11608 },
11609 {
11610 "include": "#storage_types"
11611 },
11612 {
11613 "include": "#number_literal"
11614 },
11615 {
11616 "include": "#string_context"
11617 },
11618 {
11619 "include": "#comma"
11620 },
11621 {
11622 "include": "#scope_resolution_inner_generated"
11623 },
11624 {
11625 "begin": "<",
11626 "end": ">",
11627 "beginCaptures": {
11628 "0": {
11629 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
11630 }
11631 },
11632 "endCaptures": {
11633 "0": {
11634 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
11635 }
11636 },
11637 "name": "meta.template.call.cpp",
11638 "patterns": [
11639 {
11640 "include": "#template_call_context"
11641 }
11642 ]
11643 },
11644 {
11645 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
11646 "name": "entity.name.type.cpp"
11647 }
11648 ]
11649 },
11650 "2": {
11651 "patterns": [
11652 {
11653 "include": "#attributes_context"
11654 },
11655 {
11656 "include": "#number_literal"
11657 }
11658 ]
11659 },
11660 "3": {
11661 "patterns": [
11662 {
11663 "include": "#inline_comment"
11664 }
11665 ]
11666 },
11667 "4": {
11668 "patterns": [
11669 {
11670 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11671 "captures": {
11672 "1": {
11673 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11674 },
11675 "2": {
11676 "name": "comment.block.cpp"
11677 },
11678 "3": {
11679 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11680 }
11681 }
11682 }
11683 ]
11684 },
11685 "5": {
11686 "patterns": [
11687 {
11688 "include": "#inline_comment"
11689 }
11690 ]
11691 },
11692 "6": {
11693 "patterns": [
11694 {
11695 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11696 "captures": {
11697 "1": {
11698 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11699 },
11700 "2": {
11701 "name": "comment.block.cpp"
11702 },
11703 "3": {
11704 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11705 }
11706 }
11707 }
11708 ]
11709 },
11710 "7": {
11711 "patterns": [
11712 {
11713 "match": "::",
11714 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
11715 },
11716 {
11717 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
11718 "name": "entity.name.scope-resolution.type.cpp"
11719 },
11720 {
11721 "include": "#template_call_range"
11722 }
11723 ]
11724 },
11725 "8": {
11726 "patterns": [
11727 {
11728 "include": "#template_call_range"
11729 }
11730 ]
11731 },
11732 "9": {},
11733 "10": {
11734 "patterns": [
11735 {
11736 "include": "#inline_comment"
11737 }
11738 ]
11739 },
11740 "11": {
11741 "patterns": [
11742 {
11743 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11744 "captures": {
11745 "1": {
11746 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11747 },
11748 "2": {
11749 "name": "comment.block.cpp"
11750 },
11751 "3": {
11752 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11753 }
11754 }
11755 }
11756 ]
11757 },
11758 "12": {},
11759 "13": {
11760 "patterns": [
11761 {
11762 "match": "\\*",
11763 "name": "storage.modifier.pointer.cpp"
11764 },
11765 {
11766 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
11767 "captures": {
11768 "1": {
11769 "patterns": [
11770 {
11771 "include": "#inline_comment"
11772 }
11773 ]
11774 },
11775 "2": {
11776 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11777 },
11778 "3": {
11779 "name": "comment.block.cpp"
11780 },
11781 "4": {
11782 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11783 }
11784 },
11785 "name": "invalid.illegal.reference-type.cpp"
11786 },
11787 {
11788 "match": "\\&",
11789 "name": "storage.modifier.reference.cpp"
11790 }
11791 ]
11792 },
11793 "14": {
11794 "patterns": [
11795 {
11796 "include": "#inline_comment"
11797 }
11798 ]
11799 },
11800 "15": {
11801 "patterns": [
11802 {
11803 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11804 "captures": {
11805 "1": {
11806 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11807 },
11808 "2": {
11809 "name": "comment.block.cpp"
11810 },
11811 "3": {
11812 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11813 }
11814 }
11815 }
11816 ]
11817 },
11818 "16": {
11819 "patterns": [
11820 {
11821 "include": "#inline_comment"
11822 }
11823 ]
11824 },
11825 "17": {
11826 "patterns": [
11827 {
11828 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11829 "captures": {
11830 "1": {
11831 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11832 },
11833 "2": {
11834 "name": "comment.block.cpp"
11835 },
11836 "3": {
11837 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11838 }
11839 }
11840 }
11841 ]
11842 }
11843 }
11844 },
11845 "single_line_macro": {
11846 "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))#define.*(?<![\\\\])(?:\\n|$)",
11847 "captures": {
11848 "0": {
11849 "patterns": [
11850 {
11851 "include": "#macro"
11852 },
11853 {
11854 "include": "#comments"
11855 }
11856 ]
11857 },
11858 "1": {
11859 "patterns": [
11860 {
11861 "include": "#inline_comment"
11862 }
11863 ]
11864 },
11865 "2": {
11866 "patterns": [
11867 {
11868 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11869 "captures": {
11870 "1": {
11871 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11872 },
11873 "2": {
11874 "name": "comment.block.cpp"
11875 },
11876 "3": {
11877 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11878 }
11879 }
11880 }
11881 ]
11882 }
11883 }
11884 },
11885 "sizeof_operator": {
11886 "begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
11887 "end": "\\)",
11888 "beginCaptures": {
11889 "1": {
11890 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
11891 },
11892 "2": {
11893 "patterns": [
11894 {
11895 "include": "#inline_comment"
11896 }
11897 ]
11898 },
11899 "3": {
11900 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11901 },
11902 "4": {
11903 "name": "comment.block.cpp"
11904 },
11905 "5": {
11906 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11907 },
11908 "6": {
11909 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
11910 }
11911 },
11912 "endCaptures": {
11913 "0": {
11914 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
11915 }
11916 },
11917 "contentName": "meta.arguments.operator.sizeof",
11918 "patterns": [
11919 {
11920 "include": "#evaluation_context"
11921 }
11922 ]
11923 },
11924 "sizeof_variadic_operator": {
11925 "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
11926 "end": "\\)",
11927 "beginCaptures": {
11928 "1": {
11929 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
11930 },
11931 "2": {
11932 "patterns": [
11933 {
11934 "include": "#inline_comment"
11935 }
11936 ]
11937 },
11938 "3": {
11939 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11940 },
11941 "4": {
11942 "name": "comment.block.cpp"
11943 },
11944 "5": {
11945 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11946 },
11947 "6": {
11948 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
11949 }
11950 },
11951 "endCaptures": {
11952 "0": {
11953 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
11954 }
11955 },
11956 "contentName": "meta.arguments.operator.sizeof.variadic",
11957 "patterns": [
11958 {
11959 "include": "#evaluation_context"
11960 }
11961 ]
11962 },
11963 "square_brackets": {
11964 "name": "meta.bracket.square.access",
11965 "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",
11966 "beginCaptures": {
11967 "1": {
11968 "name": "variable.other.object"
11969 },
11970 "2": {
11971 "name": "punctuation.definition.begin.bracket.square"
11972 }
11973 },
11974 "end": "\\]",
11975 "endCaptures": {
11976 "0": {
11977 "name": "punctuation.definition.end.bracket.square"
11978 }
11979 },
11980 "patterns": [
11981 {
11982 "include": "#evaluation_context"
11983 }
11984 ]
11985 },
11986 "standard_declares": {
11987 "patterns": [
11988 {
11989 "match": "((?<!\\w)struct(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
11990 "captures": {
11991 "1": {
11992 "name": "storage.type.struct.declare.cpp"
11993 },
11994 "2": {
11995 "patterns": [
11996 {
11997 "include": "#inline_comment"
11998 }
11999 ]
12000 },
12001 "3": {
12002 "patterns": [
12003 {
12004 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12005 "captures": {
12006 "1": {
12007 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12008 },
12009 "2": {
12010 "name": "comment.block.cpp"
12011 },
12012 "3": {
12013 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12014 }
12015 }
12016 }
12017 ]
12018 },
12019 "4": {
12020 "name": "entity.name.type.struct.cpp"
12021 },
12022 "5": {
12023 "patterns": [
12024 {
12025 "match": "\\*",
12026 "name": "storage.modifier.pointer.cpp"
12027 },
12028 {
12029 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
12030 "captures": {
12031 "1": {
12032 "patterns": [
12033 {
12034 "include": "#inline_comment"
12035 }
12036 ]
12037 },
12038 "2": {
12039 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12040 },
12041 "3": {
12042 "name": "comment.block.cpp"
12043 },
12044 "4": {
12045 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12046 }
12047 },
12048 "name": "invalid.illegal.reference-type.cpp"
12049 },
12050 {
12051 "match": "\\&",
12052 "name": "storage.modifier.reference.cpp"
12053 }
12054 ]
12055 },
12056 "6": {
12057 "patterns": [
12058 {
12059 "include": "#inline_comment"
12060 }
12061 ]
12062 },
12063 "7": {
12064 "patterns": [
12065 {
12066 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12067 "captures": {
12068 "1": {
12069 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12070 },
12071 "2": {
12072 "name": "comment.block.cpp"
12073 },
12074 "3": {
12075 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12076 }
12077 }
12078 }
12079 ]
12080 },
12081 "8": {
12082 "patterns": [
12083 {
12084 "include": "#inline_comment"
12085 }
12086 ]
12087 },
12088 "9": {
12089 "patterns": [
12090 {
12091 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12092 "captures": {
12093 "1": {
12094 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12095 },
12096 "2": {
12097 "name": "comment.block.cpp"
12098 },
12099 "3": {
12100 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12101 }
12102 }
12103 }
12104 ]
12105 },
12106 "10": {
12107 "patterns": [
12108 {
12109 "include": "#inline_comment"
12110 }
12111 ]
12112 },
12113 "11": {
12114 "patterns": [
12115 {
12116 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12117 "captures": {
12118 "1": {
12119 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12120 },
12121 "2": {
12122 "name": "comment.block.cpp"
12123 },
12124 "3": {
12125 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12126 }
12127 }
12128 }
12129 ]
12130 },
12131 "12": {
12132 "name": "variable.other.object.declare.cpp"
12133 },
12134 "13": {
12135 "patterns": [
12136 {
12137 "include": "#inline_comment"
12138 }
12139 ]
12140 },
12141 "14": {
12142 "patterns": [
12143 {
12144 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12145 "captures": {
12146 "1": {
12147 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12148 },
12149 "2": {
12150 "name": "comment.block.cpp"
12151 },
12152 "3": {
12153 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12154 }
12155 }
12156 }
12157 ]
12158 }
12159 }
12160 },
12161 {
12162 "match": "((?<!\\w)union(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
12163 "captures": {
12164 "1": {
12165 "name": "storage.type.union.declare.cpp"
12166 },
12167 "2": {
12168 "patterns": [
12169 {
12170 "include": "#inline_comment"
12171 }
12172 ]
12173 },
12174 "3": {
12175 "patterns": [
12176 {
12177 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12178 "captures": {
12179 "1": {
12180 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12181 },
12182 "2": {
12183 "name": "comment.block.cpp"
12184 },
12185 "3": {
12186 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12187 }
12188 }
12189 }
12190 ]
12191 },
12192 "4": {
12193 "name": "entity.name.type.union.cpp"
12194 },
12195 "5": {
12196 "patterns": [
12197 {
12198 "match": "\\*",
12199 "name": "storage.modifier.pointer.cpp"
12200 },
12201 {
12202 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
12203 "captures": {
12204 "1": {
12205 "patterns": [
12206 {
12207 "include": "#inline_comment"
12208 }
12209 ]
12210 },
12211 "2": {
12212 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12213 },
12214 "3": {
12215 "name": "comment.block.cpp"
12216 },
12217 "4": {
12218 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12219 }
12220 },
12221 "name": "invalid.illegal.reference-type.cpp"
12222 },
12223 {
12224 "match": "\\&",
12225 "name": "storage.modifier.reference.cpp"
12226 }
12227 ]
12228 },
12229 "6": {
12230 "patterns": [
12231 {
12232 "include": "#inline_comment"
12233 }
12234 ]
12235 },
12236 "7": {
12237 "patterns": [
12238 {
12239 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12240 "captures": {
12241 "1": {
12242 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12243 },
12244 "2": {
12245 "name": "comment.block.cpp"
12246 },
12247 "3": {
12248 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12249 }
12250 }
12251 }
12252 ]
12253 },
12254 "8": {
12255 "patterns": [
12256 {
12257 "include": "#inline_comment"
12258 }
12259 ]
12260 },
12261 "9": {
12262 "patterns": [
12263 {
12264 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12265 "captures": {
12266 "1": {
12267 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12268 },
12269 "2": {
12270 "name": "comment.block.cpp"
12271 },
12272 "3": {
12273 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12274 }
12275 }
12276 }
12277 ]
12278 },
12279 "10": {
12280 "patterns": [
12281 {
12282 "include": "#inline_comment"
12283 }
12284 ]
12285 },
12286 "11": {
12287 "patterns": [
12288 {
12289 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12290 "captures": {
12291 "1": {
12292 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12293 },
12294 "2": {
12295 "name": "comment.block.cpp"
12296 },
12297 "3": {
12298 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12299 }
12300 }
12301 }
12302 ]
12303 },
12304 "12": {
12305 "name": "variable.other.object.declare.cpp"
12306 },
12307 "13": {
12308 "patterns": [
12309 {
12310 "include": "#inline_comment"
12311 }
12312 ]
12313 },
12314 "14": {
12315 "patterns": [
12316 {
12317 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12318 "captures": {
12319 "1": {
12320 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12321 },
12322 "2": {
12323 "name": "comment.block.cpp"
12324 },
12325 "3": {
12326 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12327 }
12328 }
12329 }
12330 ]
12331 }
12332 }
12333 },
12334 {
12335 "match": "((?<!\\w)enum(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
12336 "captures": {
12337 "1": {
12338 "name": "storage.type.enum.declare.cpp"
12339 },
12340 "2": {
12341 "patterns": [
12342 {
12343 "include": "#inline_comment"
12344 }
12345 ]
12346 },
12347 "3": {
12348 "patterns": [
12349 {
12350 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12351 "captures": {
12352 "1": {
12353 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12354 },
12355 "2": {
12356 "name": "comment.block.cpp"
12357 },
12358 "3": {
12359 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12360 }
12361 }
12362 }
12363 ]
12364 },
12365 "4": {
12366 "name": "entity.name.type.enum.cpp"
12367 },
12368 "5": {
12369 "patterns": [
12370 {
12371 "match": "\\*",
12372 "name": "storage.modifier.pointer.cpp"
12373 },
12374 {
12375 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
12376 "captures": {
12377 "1": {
12378 "patterns": [
12379 {
12380 "include": "#inline_comment"
12381 }
12382 ]
12383 },
12384 "2": {
12385 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12386 },
12387 "3": {
12388 "name": "comment.block.cpp"
12389 },
12390 "4": {
12391 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12392 }
12393 },
12394 "name": "invalid.illegal.reference-type.cpp"
12395 },
12396 {
12397 "match": "\\&",
12398 "name": "storage.modifier.reference.cpp"
12399 }
12400 ]
12401 },
12402 "6": {
12403 "patterns": [
12404 {
12405 "include": "#inline_comment"
12406 }
12407 ]
12408 },
12409 "7": {
12410 "patterns": [
12411 {
12412 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12413 "captures": {
12414 "1": {
12415 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12416 },
12417 "2": {
12418 "name": "comment.block.cpp"
12419 },
12420 "3": {
12421 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12422 }
12423 }
12424 }
12425 ]
12426 },
12427 "8": {
12428 "patterns": [
12429 {
12430 "include": "#inline_comment"
12431 }
12432 ]
12433 },
12434 "9": {
12435 "patterns": [
12436 {
12437 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12438 "captures": {
12439 "1": {
12440 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12441 },
12442 "2": {
12443 "name": "comment.block.cpp"
12444 },
12445 "3": {
12446 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12447 }
12448 }
12449 }
12450 ]
12451 },
12452 "10": {
12453 "patterns": [
12454 {
12455 "include": "#inline_comment"
12456 }
12457 ]
12458 },
12459 "11": {
12460 "patterns": [
12461 {
12462 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12463 "captures": {
12464 "1": {
12465 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12466 },
12467 "2": {
12468 "name": "comment.block.cpp"
12469 },
12470 "3": {
12471 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12472 }
12473 }
12474 }
12475 ]
12476 },
12477 "12": {
12478 "name": "variable.other.object.declare.cpp"
12479 },
12480 "13": {
12481 "patterns": [
12482 {
12483 "include": "#inline_comment"
12484 }
12485 ]
12486 },
12487 "14": {
12488 "patterns": [
12489 {
12490 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12491 "captures": {
12492 "1": {
12493 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12494 },
12495 "2": {
12496 "name": "comment.block.cpp"
12497 },
12498 "3": {
12499 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12500 }
12501 }
12502 }
12503 ]
12504 }
12505 }
12506 },
12507 {
12508 "match": "((?<!\\w)class(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
12509 "captures": {
12510 "1": {
12511 "name": "storage.type.class.declare.cpp"
12512 },
12513 "2": {
12514 "patterns": [
12515 {
12516 "include": "#inline_comment"
12517 }
12518 ]
12519 },
12520 "3": {
12521 "patterns": [
12522 {
12523 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12524 "captures": {
12525 "1": {
12526 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12527 },
12528 "2": {
12529 "name": "comment.block.cpp"
12530 },
12531 "3": {
12532 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12533 }
12534 }
12535 }
12536 ]
12537 },
12538 "4": {
12539 "name": "entity.name.type.class.cpp"
12540 },
12541 "5": {
12542 "patterns": [
12543 {
12544 "match": "\\*",
12545 "name": "storage.modifier.pointer.cpp"
12546 },
12547 {
12548 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
12549 "captures": {
12550 "1": {
12551 "patterns": [
12552 {
12553 "include": "#inline_comment"
12554 }
12555 ]
12556 },
12557 "2": {
12558 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12559 },
12560 "3": {
12561 "name": "comment.block.cpp"
12562 },
12563 "4": {
12564 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12565 }
12566 },
12567 "name": "invalid.illegal.reference-type.cpp"
12568 },
12569 {
12570 "match": "\\&",
12571 "name": "storage.modifier.reference.cpp"
12572 }
12573 ]
12574 },
12575 "6": {
12576 "patterns": [
12577 {
12578 "include": "#inline_comment"
12579 }
12580 ]
12581 },
12582 "7": {
12583 "patterns": [
12584 {
12585 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12586 "captures": {
12587 "1": {
12588 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12589 },
12590 "2": {
12591 "name": "comment.block.cpp"
12592 },
12593 "3": {
12594 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12595 }
12596 }
12597 }
12598 ]
12599 },
12600 "8": {
12601 "patterns": [
12602 {
12603 "include": "#inline_comment"
12604 }
12605 ]
12606 },
12607 "9": {
12608 "patterns": [
12609 {
12610 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12611 "captures": {
12612 "1": {
12613 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12614 },
12615 "2": {
12616 "name": "comment.block.cpp"
12617 },
12618 "3": {
12619 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12620 }
12621 }
12622 }
12623 ]
12624 },
12625 "10": {
12626 "patterns": [
12627 {
12628 "include": "#inline_comment"
12629 }
12630 ]
12631 },
12632 "11": {
12633 "patterns": [
12634 {
12635 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12636 "captures": {
12637 "1": {
12638 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12639 },
12640 "2": {
12641 "name": "comment.block.cpp"
12642 },
12643 "3": {
12644 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12645 }
12646 }
12647 }
12648 ]
12649 },
12650 "12": {
12651 "name": "variable.other.object.declare.cpp"
12652 },
12653 "13": {
12654 "patterns": [
12655 {
12656 "include": "#inline_comment"
12657 }
12658 ]
12659 },
12660 "14": {
12661 "patterns": [
12662 {
12663 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12664 "captures": {
12665 "1": {
12666 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12667 },
12668 "2": {
12669 "name": "comment.block.cpp"
12670 },
12671 "3": {
12672 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12673 }
12674 }
12675 }
12676 ]
12677 }
12678 }
12679 }
12680 ]
12681 },
12682 "static_assert": {
12683 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)static_assert|_Static_assert(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
12684 "end": "\\)",
12685 "beginCaptures": {
12686 "1": {
12687 "patterns": [
12688 {
12689 "include": "#inline_comment"
12690 }
12691 ]
12692 },
12693 "2": {
12694 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12695 },
12696 "3": {
12697 "name": "comment.block.cpp"
12698 },
12699 "4": {
12700 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12701 },
12702 "5": {
12703 "name": "keyword.other.static_assert.cpp"
12704 },
12705 "6": {
12706 "patterns": [
12707 {
12708 "include": "#inline_comment"
12709 }
12710 ]
12711 },
12712 "7": {
12713 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12714 },
12715 "8": {
12716 "name": "comment.block.cpp"
12717 },
12718 "9": {
12719 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12720 },
12721 "10": {
12722 "name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp"
12723 }
12724 },
12725 "endCaptures": {
12726 "0": {
12727 "name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp"
12728 }
12729 },
12730 "patterns": [
12731 {
12732 "begin": "(,)(?:\\s+)?(?=(?:L|u8|u|U(?:\\s+)?\\\")?)",
12733 "end": "(?=\\))",
12734 "beginCaptures": {
12735 "1": {
12736 "name": "punctuation.separator.delimiter.comma.cpp"
12737 }
12738 },
12739 "endCaptures": {},
12740 "name": "meta.static_assert.message.cpp",
12741 "patterns": [
12742 {
12743 "include": "#string_context"
12744 }
12745 ]
12746 },
12747 {
12748 "include": "#evaluation_context"
12749 }
12750 ]
12751 },
12752 "std_space": {
12753 "match": "(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)",
12754 "captures": {
12755 "0": {
12756 "patterns": [
12757 {
12758 "include": "#inline_comment"
12759 }
12760 ]
12761 },
12762 "1": {
12763 "patterns": [
12764 {
12765 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12766 "captures": {
12767 "1": {
12768 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12769 },
12770 "2": {
12771 "name": "comment.block.cpp"
12772 },
12773 "3": {
12774 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12775 }
12776 }
12777 }
12778 ]
12779 }
12780 }
12781 },
12782 "storage_specifiers": {
12783 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w))",
12784 "captures": {
12785 "1": {
12786 "patterns": [
12787 {
12788 "include": "#inline_comment"
12789 }
12790 ]
12791 },
12792 "2": {
12793 "patterns": [
12794 {
12795 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12796 "captures": {
12797 "1": {
12798 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12799 },
12800 "2": {
12801 "name": "comment.block.cpp"
12802 },
12803 "3": {
12804 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12805 }
12806 }
12807 }
12808 ]
12809 },
12810 "3": {
12811 "name": "storage.modifier.specifier.$3.cpp"
12812 }
12813 }
12814 },
12815 "storage_types": {
12816 "patterns": [
12817 {
12818 "include": "#storage_specifiers"
12819 },
12820 {
12821 "include": "#inline_builtin_storage_type"
12822 },
12823 {
12824 "include": "#decltype"
12825 },
12826 {
12827 "include": "#typename"
12828 }
12829 ]
12830 },
12831 "string_context": {
12832 "patterns": [
12833 {
12834 "begin": "((?:u|u8|U|L)?)\"",
12835 "end": "(\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?",
12836 "beginCaptures": {
12837 "0": {
12838 "name": "punctuation.definition.string.begin.cpp"
12839 },
12840 "1": {
12841 "name": "meta.encoding.cpp"
12842 }
12843 },
12844 "endCaptures": {
12845 "1": {
12846 "name": "punctuation.definition.string.end.cpp"
12847 },
12848 "2": {
12849 "name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp"
12850 },
12851 "3": {
12852 "name": "keyword.other.suffix.literal.user-defined.string.cpp"
12853 }
12854 },
12855 "name": "string.quoted.double.cpp",
12856 "patterns": [
12857 {
12858 "match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})",
12859 "name": "constant.character.escape.cpp"
12860 },
12861 {
12862 "match": "\\\\['\"?\\\\abfnrtv]",
12863 "name": "constant.character.escape.cpp"
12864 },
12865 {
12866 "match": "\\\\[0-7]{1,3}",
12867 "name": "constant.character.escape.cpp"
12868 },
12869 {
12870 "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
12871 "captures": {
12872 "1": {
12873 "name": "constant.character.escape.cpp"
12874 },
12875 "2": {
12876 "name": "invalid.illegal.unknown-escape.cpp"
12877 }
12878 }
12879 },
12880 {
12881 "include": "#string_escapes_context_c"
12882 }
12883 ]
12884 },
12885 {
12886 "begin": "(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'",
12887 "end": "(')(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?",
12888 "beginCaptures": {
12889 "0": {
12890 "name": "punctuation.definition.string.begin.cpp"
12891 },
12892 "1": {
12893 "name": "meta.encoding.cpp"
12894 }
12895 },
12896 "endCaptures": {
12897 "1": {
12898 "name": "punctuation.definition.string.end.cpp"
12899 },
12900 "2": {
12901 "name": "keyword.other.suffix.literal.user-defined.reserved.character.cpp"
12902 },
12903 "3": {
12904 "name": "keyword.other.suffix.literal.user-defined.character.cpp"
12905 }
12906 },
12907 "name": "string.quoted.single.cpp",
12908 "patterns": [
12909 {
12910 "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
12911 "captures": {
12912 "1": {
12913 "name": "constant.character.escape.cpp"
12914 },
12915 "2": {
12916 "name": "invalid.illegal.unknown-escape.cpp"
12917 }
12918 }
12919 },
12920 {
12921 "include": "#string_escapes_context_c"
12922 },
12923 {
12924 "include": "#line_continuation_character"
12925 }
12926 ]
12927 },
12928 {
12929 "begin": "((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\(",
12930 "end": "\\)(?:(?:_r|re)|regex)\\\"",
12931 "beginCaptures": {
12932 "0": {
12933 "name": "punctuation.definition.string.begin.cpp"
12934 },
12935 "1": {
12936 "name": "meta.encoding.cpp"
12937 }
12938 },
12939 "endCaptures": {
12940 "0": {
12941 "name": "punctuation.definition.string.end.cpp"
12942 }
12943 },
12944 "name": "string.quoted.double.raw.regex.cpp",
12945 "patterns": [
12946 {
12947 "include": "source.regexp.python"
12948 }
12949 ]
12950 },
12951 {
12952 "begin": "((?:[uUL]8?)?R)\\\"(?:glsl|GLSL)\\(",
12953 "end": "\\)(?:glsl|GLSL)\\\"",
12954 "beginCaptures": {
12955 "0": {
12956 "name": "punctuation.definition.string.begin.cpp"
12957 },
12958 "1": {
12959 "name": "meta.encoding.cpp"
12960 }
12961 },
12962 "endCaptures": {
12963 "0": {
12964 "name": "punctuation.definition.string.end.cpp"
12965 }
12966 },
12967 "name": "meta.string.quoted.double.raw.glsl.cpp",
12968 "patterns": [
12969 {
12970 "include": "source.glsl"
12971 }
12972 ]
12973 },
12974 {
12975 "begin": "((?:[uUL]8?)?R)\\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(",
12976 "end": "\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\\"",
12977 "beginCaptures": {
12978 "0": {
12979 "name": "punctuation.definition.string.begin.cpp"
12980 },
12981 "1": {
12982 "name": "meta.encoding.cpp"
12983 }
12984 },
12985 "endCaptures": {
12986 "0": {
12987 "name": "punctuation.definition.string.end.cpp"
12988 }
12989 },
12990 "name": "meta.string.quoted.double.raw.sql.cpp",
12991 "patterns": [
12992 {
12993 "include": "source.sql"
12994 }
12995 ]
12996 },
12997 {
12998 "begin": "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(",
12999 "beginCaptures": {
13000 "0": {
13001 "name": "punctuation.definition.string.begin"
13002 },
13003 "1": {
13004 "name": "meta.encoding"
13005 },
13006 "3": {
13007 "name": "invalid.illegal.delimiter-too-long"
13008 }
13009 },
13010 "end": "(\\)\\2(\\3)\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?",
13011 "endCaptures": {
13012 "1": {
13013 "name": "punctuation.definition.string.end"
13014 },
13015 "2": {
13016 "name": "invalid.illegal.delimiter-too-long"
13017 },
13018 "3": {
13019 "name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp"
13020 },
13021 "4": {
13022 "name": "keyword.other.suffix.literal.user-defined.string.cpp"
13023 }
13024 },
13025 "name": "string.quoted.double.raw"
13026 }
13027 ]
13028 },
13029 "string_escapes_context_c": {
13030 "patterns": [
13031 {
13032 "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
13033 "name": "constant.character.escape"
13034 },
13035 {
13036 "match": "\\\\.",
13037 "name": "invalid.illegal.unknown-escape"
13038 },
13039 {
13040 "match": "(?x) (?!%')(?!%\")%\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type",
13041 "name": "constant.other.placeholder"
13042 }
13043 ]
13044 },
13045 "struct_block": {
13046 "begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",
13047 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
13048 "beginCaptures": {
13049 "0": {
13050 "name": "meta.head.struct.cpp"
13051 },
13052 "1": {
13053 "name": "storage.type.$1.cpp"
13054 },
13055 "2": {
13056 "patterns": [
13057 {
13058 "include": "#inline_comment"
13059 }
13060 ]
13061 },
13062 "3": {
13063 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13064 },
13065 "4": {
13066 "name": "comment.block.cpp"
13067 },
13068 "5": {
13069 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13070 },
13071 "6": {
13072 "patterns": [
13073 {
13074 "include": "#attributes_context"
13075 },
13076 {
13077 "include": "#number_literal"
13078 }
13079 ]
13080 },
13081 "7": {
13082 "patterns": [
13083 {
13084 "include": "#inline_comment"
13085 }
13086 ]
13087 },
13088 "8": {
13089 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13090 },
13091 "9": {
13092 "name": "comment.block.cpp"
13093 },
13094 "10": {
13095 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13096 },
13097 "11": {
13098 "patterns": [
13099 {
13100 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
13101 "captures": {
13102 "1": {
13103 "name": "storage.type.modifier.final.cpp"
13104 },
13105 "2": {
13106 "patterns": [
13107 {
13108 "include": "#inline_comment"
13109 }
13110 ]
13111 },
13112 "3": {
13113 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13114 },
13115 "4": {
13116 "name": "comment.block.cpp"
13117 },
13118 "5": {
13119 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13120 }
13121 }
13122 },
13123 {
13124 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",
13125 "captures": {
13126 "1": {
13127 "name": "entity.name.type.struct.cpp"
13128 },
13129 "2": {
13130 "patterns": [
13131 {
13132 "include": "#inline_comment"
13133 }
13134 ]
13135 },
13136 "3": {
13137 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13138 },
13139 "4": {
13140 "name": "comment.block.cpp"
13141 },
13142 "5": {
13143 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13144 },
13145 "6": {
13146 "name": "storage.type.modifier.final.cpp"
13147 },
13148 "7": {
13149 "patterns": [
13150 {
13151 "include": "#inline_comment"
13152 }
13153 ]
13154 },
13155 "8": {
13156 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13157 },
13158 "9": {
13159 "name": "comment.block.cpp"
13160 },
13161 "10": {
13162 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13163 }
13164 }
13165 },
13166 {
13167 "match": "DLLEXPORT",
13168 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
13169 },
13170 {
13171 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
13172 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
13173 }
13174 ]
13175 },
13176 "12": {
13177 "patterns": [
13178 {
13179 "include": "#inline_comment"
13180 }
13181 ]
13182 },
13183 "13": {
13184 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13185 },
13186 "14": {
13187 "name": "comment.block.cpp"
13188 },
13189 "15": {
13190 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13191 },
13192 "16": {
13193 "patterns": [
13194 {
13195 "include": "#inline_comment"
13196 }
13197 ]
13198 },
13199 "17": {
13200 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13201 },
13202 "18": {
13203 "name": "comment.block.cpp"
13204 },
13205 "19": {
13206 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13207 },
13208 "20": {
13209 "name": "punctuation.separator.colon.inheritance.cpp"
13210 }
13211 },
13212 "endCaptures": {
13213 "1": {
13214 "name": "punctuation.terminator.statement.cpp"
13215 },
13216 "2": {
13217 "name": "punctuation.terminator.statement.cpp"
13218 }
13219 },
13220 "name": "meta.block.struct.cpp",
13221 "patterns": [
13222 {
13223 "begin": "\\G ?",
13224 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
13225 "beginCaptures": {},
13226 "endCaptures": {
13227 "0": {
13228 "name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
13229 }
13230 },
13231 "name": "meta.head.struct.cpp",
13232 "patterns": [
13233 {
13234 "include": "#ever_present_context"
13235 },
13236 {
13237 "include": "#inheritance_context"
13238 },
13239 {
13240 "include": "#template_call_range"
13241 }
13242 ]
13243 },
13244 {
13245 "begin": "(?<=\\{|<%|\\?\\?<)",
13246 "end": "\\}|%>|\\?\\?>",
13247 "beginCaptures": {},
13248 "endCaptures": {
13249 "0": {
13250 "name": "punctuation.section.block.end.bracket.curly.struct.cpp"
13251 }
13252 },
13253 "name": "meta.body.struct.cpp",
13254 "patterns": [
13255 {
13256 "include": "#function_pointer"
13257 },
13258 {
13259 "include": "#static_assert"
13260 },
13261 {
13262 "include": "#constructor_inline"
13263 },
13264 {
13265 "include": "#destructor_inline"
13266 },
13267 {
13268 "include": "$self"
13269 }
13270 ]
13271 },
13272 {
13273 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
13274 "end": "[\\s]*(?=;)",
13275 "beginCaptures": {},
13276 "endCaptures": {},
13277 "name": "meta.tail.struct.cpp",
13278 "patterns": [
13279 {
13280 "include": "$self"
13281 }
13282 ]
13283 }
13284 ]
13285 },
13286 "struct_declare": {
13287 "match": "((?<!\\w)struct(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
13288 "captures": {
13289 "1": {
13290 "name": "storage.type.struct.declare.cpp"
13291 },
13292 "2": {
13293 "patterns": [
13294 {
13295 "include": "#inline_comment"
13296 }
13297 ]
13298 },
13299 "3": {
13300 "patterns": [
13301 {
13302 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13303 "captures": {
13304 "1": {
13305 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13306 },
13307 "2": {
13308 "name": "comment.block.cpp"
13309 },
13310 "3": {
13311 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13312 }
13313 }
13314 }
13315 ]
13316 },
13317 "4": {
13318 "name": "entity.name.type.struct.cpp"
13319 },
13320 "5": {
13321 "patterns": [
13322 {
13323 "match": "\\*",
13324 "name": "storage.modifier.pointer.cpp"
13325 },
13326 {
13327 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
13328 "captures": {
13329 "1": {
13330 "patterns": [
13331 {
13332 "include": "#inline_comment"
13333 }
13334 ]
13335 },
13336 "2": {
13337 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13338 },
13339 "3": {
13340 "name": "comment.block.cpp"
13341 },
13342 "4": {
13343 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13344 }
13345 },
13346 "name": "invalid.illegal.reference-type.cpp"
13347 },
13348 {
13349 "match": "\\&",
13350 "name": "storage.modifier.reference.cpp"
13351 }
13352 ]
13353 },
13354 "6": {
13355 "patterns": [
13356 {
13357 "include": "#inline_comment"
13358 }
13359 ]
13360 },
13361 "7": {
13362 "patterns": [
13363 {
13364 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13365 "captures": {
13366 "1": {
13367 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13368 },
13369 "2": {
13370 "name": "comment.block.cpp"
13371 },
13372 "3": {
13373 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13374 }
13375 }
13376 }
13377 ]
13378 },
13379 "8": {
13380 "patterns": [
13381 {
13382 "include": "#inline_comment"
13383 }
13384 ]
13385 },
13386 "9": {
13387 "patterns": [
13388 {
13389 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13390 "captures": {
13391 "1": {
13392 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13393 },
13394 "2": {
13395 "name": "comment.block.cpp"
13396 },
13397 "3": {
13398 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13399 }
13400 }
13401 }
13402 ]
13403 },
13404 "10": {
13405 "patterns": [
13406 {
13407 "include": "#inline_comment"
13408 }
13409 ]
13410 },
13411 "11": {
13412 "patterns": [
13413 {
13414 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13415 "captures": {
13416 "1": {
13417 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13418 },
13419 "2": {
13420 "name": "comment.block.cpp"
13421 },
13422 "3": {
13423 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13424 }
13425 }
13426 }
13427 ]
13428 },
13429 "12": {
13430 "name": "variable.other.object.declare.cpp"
13431 },
13432 "13": {
13433 "patterns": [
13434 {
13435 "include": "#inline_comment"
13436 }
13437 ]
13438 },
13439 "14": {
13440 "patterns": [
13441 {
13442 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13443 "captures": {
13444 "1": {
13445 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13446 },
13447 "2": {
13448 "name": "comment.block.cpp"
13449 },
13450 "3": {
13451 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13452 }
13453 }
13454 }
13455 ]
13456 }
13457 }
13458 },
13459 "switch_conditional_parentheses": {
13460 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
13461 "end": "\\)",
13462 "beginCaptures": {
13463 "1": {
13464 "patterns": [
13465 {
13466 "include": "#inline_comment"
13467 }
13468 ]
13469 },
13470 "2": {
13471 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13472 },
13473 "3": {
13474 "name": "comment.block.cpp"
13475 },
13476 "4": {
13477 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13478 },
13479 "5": {
13480 "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"
13481 }
13482 },
13483 "endCaptures": {
13484 "0": {
13485 "name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp"
13486 }
13487 },
13488 "name": "meta.conditional.switch.cpp",
13489 "patterns": [
13490 {
13491 "include": "#evaluation_context"
13492 }
13493 ]
13494 },
13495 "switch_statement": {
13496 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)switch(?!\\w))",
13497 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
13498 "beginCaptures": {
13499 "0": {
13500 "name": "meta.head.switch.cpp"
13501 },
13502 "1": {
13503 "patterns": [
13504 {
13505 "include": "#inline_comment"
13506 }
13507 ]
13508 },
13509 "2": {
13510 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13511 },
13512 "3": {
13513 "name": "comment.block.cpp"
13514 },
13515 "4": {
13516 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13517 },
13518 "5": {
13519 "name": "keyword.control.switch.cpp"
13520 }
13521 },
13522 "endCaptures": {},
13523 "name": "meta.block.switch.cpp",
13524 "patterns": [
13525 {
13526 "begin": "\\G ?",
13527 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
13528 "beginCaptures": {},
13529 "endCaptures": {
13530 "0": {
13531 "name": "punctuation.section.block.begin.bracket.curly.switch.cpp"
13532 }
13533 },
13534 "name": "meta.head.switch.cpp",
13535 "patterns": [
13536 {
13537 "include": "#switch_conditional_parentheses"
13538 },
13539 {
13540 "include": "$self"
13541 }
13542 ]
13543 },
13544 {
13545 "begin": "(?<=\\{|<%|\\?\\?<)",
13546 "end": "\\}|%>|\\?\\?>",
13547 "beginCaptures": {},
13548 "endCaptures": {
13549 "0": {
13550 "name": "punctuation.section.block.end.bracket.curly.switch.cpp"
13551 }
13552 },
13553 "name": "meta.body.switch.cpp",
13554 "patterns": [
13555 {
13556 "include": "#default_statement"
13557 },
13558 {
13559 "include": "#case_statement"
13560 },
13561 {
13562 "include": "$self"
13563 }
13564 ]
13565 },
13566 {
13567 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
13568 "end": "[\\s]*(?=;)",
13569 "beginCaptures": {},
13570 "endCaptures": {},
13571 "name": "meta.tail.switch.cpp",
13572 "patterns": [
13573 {
13574 "include": "$self"
13575 }
13576 ]
13577 }
13578 ]
13579 },
13580 "template_argument_defaulted": {
13581 "match": "(?<=<|,)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\s+((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(\\=)",
13582 "captures": {
13583 "1": {
13584 "name": "storage.type.template.argument.$1.cpp"
13585 },
13586 "2": {
13587 "name": "entity.name.type.template.cpp"
13588 },
13589 "3": {
13590 "name": "keyword.operator.assignment.cpp"
13591 }
13592 }
13593 },
13594 "template_call_context": {
13595 "patterns": [
13596 {
13597 "include": "#ever_present_context"
13598 },
13599 {
13600 "include": "#template_call_range"
13601 },
13602 {
13603 "include": "#storage_types"
13604 },
13605 {
13606 "include": "#language_constants"
13607 },
13608 {
13609 "include": "#scope_resolution_template_call_inner_generated"
13610 },
13611 {
13612 "include": "#operators"
13613 },
13614 {
13615 "include": "#number_literal"
13616 },
13617 {
13618 "include": "#string_context"
13619 },
13620 {
13621 "include": "#comma_in_template_argument"
13622 },
13623 {
13624 "include": "#qualified_type"
13625 }
13626 ]
13627 },
13628 "template_call_innards": {
13629 "match": "((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<1>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+",
13630 "captures": {
13631 "0": {
13632 "patterns": [
13633 {
13634 "include": "#template_call_range"
13635 }
13636 ]
13637 },
13638 "2": {
13639 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13640 },
13641 "3": {
13642 "name": "comment.block.cpp"
13643 },
13644 "4": {
13645 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13646 }
13647 },
13648 "name": "meta.template.call.cpp"
13649 },
13650 "template_call_range": {
13651 "begin": "<",
13652 "end": ">",
13653 "beginCaptures": {
13654 "0": {
13655 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
13656 }
13657 },
13658 "endCaptures": {
13659 "0": {
13660 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
13661 }
13662 },
13663 "name": "meta.template.call.cpp",
13664 "patterns": [
13665 {
13666 "include": "#template_call_context"
13667 }
13668 ]
13669 },
13670 "template_definition": {
13671 "begin": "(?<!\\w)(template)(?:\\s+)?(<)",
13672 "end": ">",
13673 "beginCaptures": {
13674 "1": {
13675 "name": "storage.type.template.cpp"
13676 },
13677 "2": {
13678 "name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
13679 }
13680 },
13681 "endCaptures": {
13682 "0": {
13683 "name": "punctuation.section.angle-brackets.end.template.definition.cpp"
13684 }
13685 },
13686 "name": "meta.template.definition.cpp",
13687 "patterns": [
13688 {
13689 "begin": "(?<=\\w)(?:\\s+)?<",
13690 "end": ">",
13691 "beginCaptures": {
13692 "0": {
13693 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
13694 }
13695 },
13696 "endCaptures": {
13697 "0": {
13698 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
13699 }
13700 },
13701 "patterns": [
13702 {
13703 "include": "#template_call_context"
13704 }
13705 ]
13706 },
13707 {
13708 "include": "#template_definition_context"
13709 }
13710 ]
13711 },
13712 "template_definition_argument": {
13713 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\s+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\.\\.\\.)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|(?<!\\w)(template)(?:\\s+)?(<)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(>)(?:\\s+)?(class|typename)(?:\\s+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:\\s+)?(?:(\\=)(?:\\s+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))",
13714 "captures": {
13715 "1": {
13716 "patterns": [
13717 {
13718 "include": "#inline_comment"
13719 }
13720 ]
13721 },
13722 "2": {
13723 "patterns": [
13724 {
13725 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13726 "captures": {
13727 "1": {
13728 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13729 },
13730 "2": {
13731 "name": "comment.block.cpp"
13732 },
13733 "3": {
13734 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13735 }
13736 }
13737 }
13738 ]
13739 },
13740 "3": {
13741 "name": "storage.type.template.argument.$3.cpp"
13742 },
13743 "4": {
13744 "patterns": [
13745 {
13746 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
13747 "name": "storage.type.template.argument.$0.cpp"
13748 }
13749 ]
13750 },
13751 "5": {
13752 "name": "entity.name.type.template.cpp"
13753 },
13754 "6": {
13755 "name": "storage.type.template.argument.$6.cpp"
13756 },
13757 "7": {
13758 "name": "punctuation.vararg-ellipses.template.definition.cpp"
13759 },
13760 "8": {
13761 "name": "entity.name.type.template.cpp"
13762 },
13763 "9": {
13764 "name": "storage.type.template.cpp"
13765 },
13766 "10": {
13767 "name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
13768 },
13769 "11": {
13770 "name": "storage.type.template.argument.$11.cpp"
13771 },
13772 "12": {
13773 "name": "entity.name.type.template.cpp"
13774 },
13775 "13": {
13776 "name": "punctuation.section.angle-brackets.end.template.definition.cpp"
13777 },
13778 "14": {
13779 "name": "storage.type.template.argument.$14.cpp"
13780 },
13781 "15": {
13782 "name": "entity.name.type.template.cpp"
13783 },
13784 "16": {
13785 "name": "keyword.operator.assignment.cpp"
13786 },
13787 "17": {
13788 "name": "punctuation.separator.delimiter.comma.template.argument.cpp"
13789 }
13790 }
13791 },
13792 "template_definition_context": {
13793 "patterns": [
13794 {
13795 "include": "#scope_resolution_template_definition_inner_generated"
13796 },
13797 {
13798 "include": "#template_definition_argument"
13799 },
13800 {
13801 "include": "#template_argument_defaulted"
13802 },
13803 {
13804 "include": "#template_call_innards"
13805 },
13806 {
13807 "include": "#evaluation_context"
13808 }
13809 ]
13810 },
13811 "template_explicit_instantiation": {
13812 "match": "(?<!\\w)(?:(extern)\\s+)?(template)\\s+",
13813 "captures": {
13814 "1": {
13815 "name": "storage.modifier.specifier.extern.cpp"
13816 },
13817 "2": {
13818 "name": "storage.type.template.cpp"
13819 }
13820 },
13821 "name": "meta.template.explicit-instantiation.cpp"
13822 },
13823 "template_isolated_definition": {
13824 "match": "(?<!\\w)(template)(?:\\s+)?(<)(.*)(>)(?:\\s+)?$",
13825 "captures": {
13826 "1": {
13827 "name": "storage.type.template.cpp"
13828 },
13829 "2": {
13830 "name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
13831 },
13832 "3": {
13833 "name": "meta.template.definition.cpp",
13834 "patterns": [
13835 {
13836 "include": "#template_definition_context"
13837 }
13838 ]
13839 },
13840 "4": {
13841 "name": "punctuation.section.angle-brackets.end.template.definition.cpp"
13842 }
13843 }
13844 },
13845 "ternary_operator": {
13846 "begin": "\\?",
13847 "end": ":",
13848 "beginCaptures": {
13849 "0": {
13850 "name": "keyword.operator.ternary.cpp"
13851 }
13852 },
13853 "endCaptures": {
13854 "0": {
13855 "name": "keyword.operator.ternary.cpp"
13856 }
13857 },
13858 "patterns": [
13859 {
13860 "include": "#ever_present_context"
13861 },
13862 {
13863 "include": "#string_context"
13864 },
13865 {
13866 "include": "#number_literal"
13867 },
13868 {
13869 "include": "#method_access"
13870 },
13871 {
13872 "include": "#member_access"
13873 },
13874 {
13875 "include": "#predefined_macros"
13876 },
13877 {
13878 "include": "#operators"
13879 },
13880 {
13881 "include": "#memory_operators"
13882 },
13883 {
13884 "include": "#wordlike_operators"
13885 },
13886 {
13887 "include": "#type_casting_operators"
13888 },
13889 {
13890 "include": "#control_flow_keywords"
13891 },
13892 {
13893 "include": "#exception_keywords"
13894 },
13895 {
13896 "include": "#the_this_keyword"
13897 },
13898 {
13899 "include": "#language_constants"
13900 },
13901 {
13902 "include": "#builtin_storage_type_initilizer"
13903 },
13904 {
13905 "include": "#qualifiers_and_specifiers_post_parameters"
13906 },
13907 {
13908 "include": "#functional_specifiers_pre_parameters"
13909 },
13910 {
13911 "include": "#storage_types"
13912 },
13913 {
13914 "include": "#lambdas"
13915 },
13916 {
13917 "include": "#attributes_context"
13918 },
13919 {
13920 "include": "#parentheses"
13921 },
13922 {
13923 "include": "#function_call"
13924 },
13925 {
13926 "include": "#scope_resolution_inner_generated"
13927 },
13928 {
13929 "include": "#square_brackets"
13930 },
13931 {
13932 "include": "#semicolon"
13933 },
13934 {
13935 "include": "#comma"
13936 }
13937 ],
13938 "applyEndPatternLast": 1
13939 },
13940 "the_this_keyword": {
13941 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))",
13942 "captures": {
13943 "1": {
13944 "patterns": [
13945 {
13946 "include": "#inline_comment"
13947 }
13948 ]
13949 },
13950 "2": {
13951 "patterns": [
13952 {
13953 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13954 "captures": {
13955 "1": {
13956 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13957 },
13958 "2": {
13959 "name": "comment.block.cpp"
13960 },
13961 "3": {
13962 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13963 }
13964 }
13965 }
13966 ]
13967 },
13968 "3": {
13969 "name": "variable.language.this.cpp"
13970 }
13971 }
13972 },
13973 "type_alias": {
13974 "match": "(using)\\s+(?!namespace)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:\\s+)?(\\=)(?:\\s+)?((?:typename)?)(?:\\s+)?((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w)\\s+)+)?(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<19>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<19>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?<!;)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?:(\\[)(\\w*)(\\])(?:\\s+)?)?(?:\\s+)?(?:(;)|\\n)",
13975 "captures": {
13976 "1": {
13977 "name": "keyword.other.using.directive.cpp"
13978 },
13979 "2": {
13980 "name": "entity.name.type.cpp"
13981 },
13982 "3": {
13983 "patterns": [
13984 {
13985 "include": "#attributes_context"
13986 },
13987 {
13988 "include": "#number_literal"
13989 }
13990 ]
13991 },
13992 "4": {
13993 "name": "keyword.operator.assignment.cpp"
13994 },
13995 "5": {
13996 "name": "keyword.other.typename.cpp"
13997 },
13998 "6": {
13999 "patterns": [
14000 {
14001 "include": "#storage_specifiers"
14002 }
14003 ]
14004 },
14005 "7": {
14006 "patterns": [
14007 {
14008 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14009 "captures": {
14010 "1": {
14011 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14012 },
14013 "2": {
14014 "name": "comment.block.cpp"
14015 },
14016 "3": {
14017 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14018 }
14019 }
14020 }
14021 ]
14022 },
14023 "8": {
14024 "name": "meta.qualified_type.cpp",
14025 "patterns": [
14026 {
14027 "match": "::",
14028 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
14029 },
14030 {
14031 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
14032 "name": "storage.type.$0.cpp"
14033 },
14034 {
14035 "include": "#attributes_context"
14036 },
14037 {
14038 "include": "#storage_types"
14039 },
14040 {
14041 "include": "#number_literal"
14042 },
14043 {
14044 "include": "#string_context"
14045 },
14046 {
14047 "include": "#comma"
14048 },
14049 {
14050 "include": "#scope_resolution_inner_generated"
14051 },
14052 {
14053 "begin": "<",
14054 "end": ">",
14055 "beginCaptures": {
14056 "0": {
14057 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
14058 }
14059 },
14060 "endCaptures": {
14061 "0": {
14062 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
14063 }
14064 },
14065 "name": "meta.template.call.cpp",
14066 "patterns": [
14067 {
14068 "include": "#template_call_context"
14069 }
14070 ]
14071 },
14072 {
14073 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
14074 "name": "entity.name.type.cpp"
14075 }
14076 ]
14077 },
14078 "9": {
14079 "patterns": [
14080 {
14081 "include": "#attributes_context"
14082 },
14083 {
14084 "include": "#number_literal"
14085 }
14086 ]
14087 },
14088 "10": {
14089 "patterns": [
14090 {
14091 "include": "#inline_comment"
14092 }
14093 ]
14094 },
14095 "11": {
14096 "patterns": [
14097 {
14098 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14099 "captures": {
14100 "1": {
14101 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14102 },
14103 "2": {
14104 "name": "comment.block.cpp"
14105 },
14106 "3": {
14107 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14108 }
14109 }
14110 }
14111 ]
14112 },
14113 "12": {
14114 "patterns": [
14115 {
14116 "include": "#inline_comment"
14117 }
14118 ]
14119 },
14120 "13": {
14121 "patterns": [
14122 {
14123 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14124 "captures": {
14125 "1": {
14126 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14127 },
14128 "2": {
14129 "name": "comment.block.cpp"
14130 },
14131 "3": {
14132 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14133 }
14134 }
14135 }
14136 ]
14137 },
14138 "14": {
14139 "patterns": [
14140 {
14141 "match": "::",
14142 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
14143 },
14144 {
14145 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
14146 "name": "entity.name.scope-resolution.type.cpp"
14147 },
14148 {
14149 "include": "#template_call_range"
14150 }
14151 ]
14152 },
14153 "15": {
14154 "patterns": [
14155 {
14156 "include": "#template_call_range"
14157 }
14158 ]
14159 },
14160 "17": {
14161 "patterns": [
14162 {
14163 "include": "#inline_comment"
14164 }
14165 ]
14166 },
14167 "18": {
14168 "patterns": [
14169 {
14170 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14171 "captures": {
14172 "1": {
14173 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14174 },
14175 "2": {
14176 "name": "comment.block.cpp"
14177 },
14178 "3": {
14179 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14180 }
14181 }
14182 }
14183 ]
14184 },
14185 "20": {
14186 "name": "meta.declaration.type.alias.value.unknown.cpp",
14187 "patterns": [
14188 {
14189 "include": "#evaluation_context"
14190 }
14191 ]
14192 },
14193 "21": {
14194 "patterns": [
14195 {
14196 "match": "\\*",
14197 "name": "storage.modifier.pointer.cpp"
14198 },
14199 {
14200 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
14201 "captures": {
14202 "1": {
14203 "patterns": [
14204 {
14205 "include": "#inline_comment"
14206 }
14207 ]
14208 },
14209 "2": {
14210 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14211 },
14212 "3": {
14213 "name": "comment.block.cpp"
14214 },
14215 "4": {
14216 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14217 }
14218 },
14219 "name": "invalid.illegal.reference-type.cpp"
14220 },
14221 {
14222 "match": "\\&",
14223 "name": "storage.modifier.reference.cpp"
14224 }
14225 ]
14226 },
14227 "22": {
14228 "patterns": [
14229 {
14230 "include": "#inline_comment"
14231 }
14232 ]
14233 },
14234 "23": {
14235 "patterns": [
14236 {
14237 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14238 "captures": {
14239 "1": {
14240 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14241 },
14242 "2": {
14243 "name": "comment.block.cpp"
14244 },
14245 "3": {
14246 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14247 }
14248 }
14249 }
14250 ]
14251 },
14252 "24": {
14253 "patterns": [
14254 {
14255 "include": "#inline_comment"
14256 }
14257 ]
14258 },
14259 "25": {
14260 "patterns": [
14261 {
14262 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14263 "captures": {
14264 "1": {
14265 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14266 },
14267 "2": {
14268 "name": "comment.block.cpp"
14269 },
14270 "3": {
14271 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14272 }
14273 }
14274 }
14275 ]
14276 },
14277 "26": {
14278 "patterns": [
14279 {
14280 "include": "#inline_comment"
14281 }
14282 ]
14283 },
14284 "27": {
14285 "patterns": [
14286 {
14287 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14288 "captures": {
14289 "1": {
14290 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14291 },
14292 "2": {
14293 "name": "comment.block.cpp"
14294 },
14295 "3": {
14296 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14297 }
14298 }
14299 }
14300 ]
14301 },
14302 "28": {
14303 "name": "punctuation.definition.begin.bracket.square.cpp"
14304 },
14305 "29": {
14306 "patterns": [
14307 {
14308 "include": "#evaluation_context"
14309 }
14310 ]
14311 },
14312 "30": {
14313 "name": "punctuation.definition.end.bracket.square.cpp"
14314 },
14315 "31": {
14316 "name": "punctuation.terminator.statement.cpp"
14317 }
14318 },
14319 "name": "meta.declaration.type.alias.cpp"
14320 },
14321 "type_casting_operators": {
14322 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:reinterpret_cast)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast))(?!\\w))",
14323 "captures": {
14324 "1": {
14325 "patterns": [
14326 {
14327 "include": "#inline_comment"
14328 }
14329 ]
14330 },
14331 "2": {
14332 "patterns": [
14333 {
14334 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14335 "captures": {
14336 "1": {
14337 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14338 },
14339 "2": {
14340 "name": "comment.block.cpp"
14341 },
14342 "3": {
14343 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14344 }
14345 }
14346 }
14347 ]
14348 },
14349 "3": {
14350 "name": "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"
14351 }
14352 }
14353 },
14354 "typedef_class": {
14355 "begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)class(?!\\w))",
14356 "end": "(?<=;)",
14357 "beginCaptures": {
14358 "1": {
14359 "name": "keyword.other.typedef.cpp"
14360 }
14361 },
14362 "endCaptures": {},
14363 "patterns": [
14364 {
14365 "begin": "((?<!\\w)class(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",
14366 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
14367 "beginCaptures": {
14368 "0": {
14369 "name": "meta.head.class.cpp"
14370 },
14371 "1": {
14372 "name": "storage.type.$1.cpp"
14373 },
14374 "2": {
14375 "patterns": [
14376 {
14377 "include": "#inline_comment"
14378 }
14379 ]
14380 },
14381 "3": {
14382 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14383 },
14384 "4": {
14385 "name": "comment.block.cpp"
14386 },
14387 "5": {
14388 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14389 },
14390 "6": {
14391 "patterns": [
14392 {
14393 "include": "#attributes_context"
14394 },
14395 {
14396 "include": "#number_literal"
14397 }
14398 ]
14399 },
14400 "7": {
14401 "patterns": [
14402 {
14403 "include": "#inline_comment"
14404 }
14405 ]
14406 },
14407 "8": {
14408 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14409 },
14410 "9": {
14411 "name": "comment.block.cpp"
14412 },
14413 "10": {
14414 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14415 },
14416 "11": {
14417 "patterns": [
14418 {
14419 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
14420 "captures": {
14421 "1": {
14422 "name": "storage.type.modifier.final.cpp"
14423 },
14424 "2": {
14425 "patterns": [
14426 {
14427 "include": "#inline_comment"
14428 }
14429 ]
14430 },
14431 "3": {
14432 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14433 },
14434 "4": {
14435 "name": "comment.block.cpp"
14436 },
14437 "5": {
14438 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14439 }
14440 }
14441 },
14442 {
14443 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",
14444 "captures": {
14445 "1": {
14446 "name": "entity.name.type.class.cpp"
14447 },
14448 "2": {
14449 "patterns": [
14450 {
14451 "include": "#inline_comment"
14452 }
14453 ]
14454 },
14455 "3": {
14456 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14457 },
14458 "4": {
14459 "name": "comment.block.cpp"
14460 },
14461 "5": {
14462 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14463 },
14464 "6": {
14465 "name": "storage.type.modifier.final.cpp"
14466 },
14467 "7": {
14468 "patterns": [
14469 {
14470 "include": "#inline_comment"
14471 }
14472 ]
14473 },
14474 "8": {
14475 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14476 },
14477 "9": {
14478 "name": "comment.block.cpp"
14479 },
14480 "10": {
14481 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14482 }
14483 }
14484 },
14485 {
14486 "match": "DLLEXPORT",
14487 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
14488 },
14489 {
14490 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
14491 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
14492 }
14493 ]
14494 },
14495 "12": {
14496 "patterns": [
14497 {
14498 "include": "#inline_comment"
14499 }
14500 ]
14501 },
14502 "13": {
14503 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14504 },
14505 "14": {
14506 "name": "comment.block.cpp"
14507 },
14508 "15": {
14509 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14510 },
14511 "16": {
14512 "patterns": [
14513 {
14514 "include": "#inline_comment"
14515 }
14516 ]
14517 },
14518 "17": {
14519 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14520 },
14521 "18": {
14522 "name": "comment.block.cpp"
14523 },
14524 "19": {
14525 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14526 },
14527 "20": {
14528 "name": "punctuation.separator.colon.inheritance.cpp"
14529 }
14530 },
14531 "endCaptures": {
14532 "1": {
14533 "name": "punctuation.terminator.statement.cpp"
14534 },
14535 "2": {
14536 "name": "punctuation.terminator.statement.cpp"
14537 }
14538 },
14539 "name": "meta.block.class.cpp",
14540 "patterns": [
14541 {
14542 "begin": "\\G ?",
14543 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
14544 "beginCaptures": {},
14545 "endCaptures": {
14546 "0": {
14547 "name": "punctuation.section.block.begin.bracket.curly.class.cpp"
14548 }
14549 },
14550 "name": "meta.head.class.cpp",
14551 "patterns": [
14552 {
14553 "include": "#ever_present_context"
14554 },
14555 {
14556 "include": "#inheritance_context"
14557 },
14558 {
14559 "include": "#template_call_range"
14560 }
14561 ]
14562 },
14563 {
14564 "begin": "(?<=\\{|<%|\\?\\?<)",
14565 "end": "\\}|%>|\\?\\?>",
14566 "beginCaptures": {},
14567 "endCaptures": {
14568 "0": {
14569 "name": "punctuation.section.block.end.bracket.curly.class.cpp"
14570 }
14571 },
14572 "name": "meta.body.class.cpp",
14573 "patterns": [
14574 {
14575 "include": "#function_pointer"
14576 },
14577 {
14578 "include": "#static_assert"
14579 },
14580 {
14581 "include": "#constructor_inline"
14582 },
14583 {
14584 "include": "#destructor_inline"
14585 },
14586 {
14587 "include": "$self"
14588 }
14589 ]
14590 },
14591 {
14592 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
14593 "end": "[\\s]*(?=;)",
14594 "beginCaptures": {},
14595 "endCaptures": {},
14596 "name": "meta.tail.class.cpp",
14597 "patterns": [
14598 {
14599 "match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
14600 "captures": {
14601 "1": {
14602 "patterns": [
14603 {
14604 "match": "\\*",
14605 "name": "storage.modifier.pointer.cpp"
14606 },
14607 {
14608 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
14609 "captures": {
14610 "1": {
14611 "patterns": [
14612 {
14613 "include": "#inline_comment"
14614 }
14615 ]
14616 },
14617 "2": {
14618 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14619 },
14620 "3": {
14621 "name": "comment.block.cpp"
14622 },
14623 "4": {
14624 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14625 }
14626 },
14627 "name": "invalid.illegal.reference-type.cpp"
14628 },
14629 {
14630 "match": "\\&",
14631 "name": "storage.modifier.reference.cpp"
14632 }
14633 ]
14634 },
14635 "2": {
14636 "patterns": [
14637 {
14638 "include": "#inline_comment"
14639 }
14640 ]
14641 },
14642 "3": {
14643 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14644 },
14645 "4": {
14646 "name": "comment.block.cpp"
14647 },
14648 "5": {
14649 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14650 },
14651 "6": {
14652 "patterns": [
14653 {
14654 "include": "#inline_comment"
14655 }
14656 ]
14657 },
14658 "7": {
14659 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14660 },
14661 "8": {
14662 "name": "comment.block.cpp"
14663 },
14664 "9": {
14665 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14666 },
14667 "10": {
14668 "patterns": [
14669 {
14670 "include": "#inline_comment"
14671 }
14672 ]
14673 },
14674 "11": {
14675 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14676 },
14677 "12": {
14678 "name": "comment.block.cpp"
14679 },
14680 "13": {
14681 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14682 },
14683 "14": {
14684 "name": "entity.name.type.alias.cpp"
14685 }
14686 }
14687 },
14688 {
14689 "match": ","
14690 }
14691 ]
14692 }
14693 ]
14694 }
14695 ]
14696 },
14697 "typedef_function_pointer": {
14698 "begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=.*\\(\\*\\s*(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\s*\\))",
14699 "end": "(?<=;)",
14700 "beginCaptures": {
14701 "1": {
14702 "name": "keyword.other.typedef.cpp"
14703 }
14704 },
14705 "endCaptures": {},
14706 "patterns": [
14707 {
14708 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()",
14709 "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()",
14710 "beginCaptures": {
14711 "1": {
14712 "name": "meta.qualified_type.cpp",
14713 "patterns": [
14714 {
14715 "match": "::",
14716 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
14717 },
14718 {
14719 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
14720 "name": "storage.type.$0.cpp"
14721 },
14722 {
14723 "include": "#attributes_context"
14724 },
14725 {
14726 "include": "#storage_types"
14727 },
14728 {
14729 "include": "#number_literal"
14730 },
14731 {
14732 "include": "#string_context"
14733 },
14734 {
14735 "include": "#comma"
14736 },
14737 {
14738 "include": "#scope_resolution_inner_generated"
14739 },
14740 {
14741 "begin": "<",
14742 "end": ">",
14743 "beginCaptures": {
14744 "0": {
14745 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
14746 }
14747 },
14748 "endCaptures": {
14749 "0": {
14750 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
14751 }
14752 },
14753 "name": "meta.template.call.cpp",
14754 "patterns": [
14755 {
14756 "include": "#template_call_context"
14757 }
14758 ]
14759 },
14760 {
14761 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
14762 "name": "entity.name.type.cpp"
14763 }
14764 ]
14765 },
14766 "2": {
14767 "patterns": [
14768 {
14769 "include": "#attributes_context"
14770 },
14771 {
14772 "include": "#number_literal"
14773 }
14774 ]
14775 },
14776 "3": {
14777 "patterns": [
14778 {
14779 "include": "#inline_comment"
14780 }
14781 ]
14782 },
14783 "4": {
14784 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14785 },
14786 "5": {
14787 "name": "comment.block.cpp"
14788 },
14789 "6": {
14790 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14791 },
14792 "7": {
14793 "patterns": [
14794 {
14795 "include": "#inline_comment"
14796 }
14797 ]
14798 },
14799 "8": {
14800 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14801 },
14802 "9": {
14803 "name": "comment.block.cpp"
14804 },
14805 "10": {
14806 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14807 },
14808 "11": {
14809 "patterns": [
14810 {
14811 "match": "::",
14812 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
14813 },
14814 {
14815 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
14816 "name": "entity.name.scope-resolution.type.cpp"
14817 },
14818 {
14819 "include": "#template_call_range"
14820 }
14821 ]
14822 },
14823 "12": {
14824 "patterns": [
14825 {
14826 "include": "#template_call_range"
14827 }
14828 ]
14829 },
14830 "13": {},
14831 "14": {
14832 "patterns": [
14833 {
14834 "include": "#inline_comment"
14835 }
14836 ]
14837 },
14838 "15": {
14839 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14840 },
14841 "16": {
14842 "name": "comment.block.cpp"
14843 },
14844 "17": {
14845 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14846 },
14847 "18": {},
14848 "19": {
14849 "patterns": [
14850 {
14851 "match": "\\*",
14852 "name": "storage.modifier.pointer.cpp"
14853 },
14854 {
14855 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
14856 "captures": {
14857 "1": {
14858 "patterns": [
14859 {
14860 "include": "#inline_comment"
14861 }
14862 ]
14863 },
14864 "2": {
14865 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14866 },
14867 "3": {
14868 "name": "comment.block.cpp"
14869 },
14870 "4": {
14871 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14872 }
14873 },
14874 "name": "invalid.illegal.reference-type.cpp"
14875 },
14876 {
14877 "match": "\\&",
14878 "name": "storage.modifier.reference.cpp"
14879 }
14880 ]
14881 },
14882 "20": {
14883 "patterns": [
14884 {
14885 "include": "#inline_comment"
14886 }
14887 ]
14888 },
14889 "21": {
14890 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14891 },
14892 "22": {
14893 "name": "comment.block.cpp"
14894 },
14895 "23": {
14896 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14897 },
14898 "24": {
14899 "patterns": [
14900 {
14901 "include": "#inline_comment"
14902 }
14903 ]
14904 },
14905 "25": {
14906 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14907 },
14908 "26": {
14909 "name": "comment.block.cpp"
14910 },
14911 "27": {
14912 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14913 },
14914 "28": {
14915 "patterns": [
14916 {
14917 "include": "#inline_comment"
14918 }
14919 ]
14920 },
14921 "29": {
14922 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14923 },
14924 "30": {
14925 "name": "comment.block.cpp"
14926 },
14927 "31": {
14928 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14929 },
14930 "32": {
14931 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
14932 },
14933 "33": {
14934 "name": "punctuation.definition.function.pointer.dereference.cpp"
14935 },
14936 "34": {
14937 "name": "entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"
14938 },
14939 "35": {
14940 "name": "punctuation.definition.begin.bracket.square.cpp"
14941 },
14942 "36": {
14943 "patterns": [
14944 {
14945 "include": "#evaluation_context"
14946 }
14947 ]
14948 },
14949 "37": {
14950 "name": "punctuation.definition.end.bracket.square.cpp"
14951 },
14952 "38": {
14953 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
14954 },
14955 "39": {
14956 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
14957 }
14958 },
14959 "endCaptures": {
14960 "1": {
14961 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
14962 },
14963 "2": {
14964 "patterns": [
14965 {
14966 "include": "#inline_comment"
14967 }
14968 ]
14969 },
14970 "3": {
14971 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14972 },
14973 "4": {
14974 "name": "comment.block.cpp"
14975 },
14976 "5": {
14977 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14978 }
14979 },
14980 "patterns": [
14981 {
14982 "include": "#function_parameter_context"
14983 }
14984 ]
14985 }
14986 ]
14987 },
14988 "typedef_struct": {
14989 "begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)struct(?!\\w))",
14990 "end": "(?<=;)",
14991 "beginCaptures": {
14992 "1": {
14993 "name": "keyword.other.typedef.cpp"
14994 }
14995 },
14996 "endCaptures": {},
14997 "patterns": [
14998 {
14999 "begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",
15000 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
15001 "beginCaptures": {
15002 "0": {
15003 "name": "meta.head.struct.cpp"
15004 },
15005 "1": {
15006 "name": "storage.type.$1.cpp"
15007 },
15008 "2": {
15009 "patterns": [
15010 {
15011 "include": "#inline_comment"
15012 }
15013 ]
15014 },
15015 "3": {
15016 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15017 },
15018 "4": {
15019 "name": "comment.block.cpp"
15020 },
15021 "5": {
15022 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15023 },
15024 "6": {
15025 "patterns": [
15026 {
15027 "include": "#attributes_context"
15028 },
15029 {
15030 "include": "#number_literal"
15031 }
15032 ]
15033 },
15034 "7": {
15035 "patterns": [
15036 {
15037 "include": "#inline_comment"
15038 }
15039 ]
15040 },
15041 "8": {
15042 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15043 },
15044 "9": {
15045 "name": "comment.block.cpp"
15046 },
15047 "10": {
15048 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15049 },
15050 "11": {
15051 "patterns": [
15052 {
15053 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
15054 "captures": {
15055 "1": {
15056 "name": "storage.type.modifier.final.cpp"
15057 },
15058 "2": {
15059 "patterns": [
15060 {
15061 "include": "#inline_comment"
15062 }
15063 ]
15064 },
15065 "3": {
15066 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15067 },
15068 "4": {
15069 "name": "comment.block.cpp"
15070 },
15071 "5": {
15072 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15073 }
15074 }
15075 },
15076 {
15077 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",
15078 "captures": {
15079 "1": {
15080 "name": "entity.name.type.struct.cpp"
15081 },
15082 "2": {
15083 "patterns": [
15084 {
15085 "include": "#inline_comment"
15086 }
15087 ]
15088 },
15089 "3": {
15090 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15091 },
15092 "4": {
15093 "name": "comment.block.cpp"
15094 },
15095 "5": {
15096 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15097 },
15098 "6": {
15099 "name": "storage.type.modifier.final.cpp"
15100 },
15101 "7": {
15102 "patterns": [
15103 {
15104 "include": "#inline_comment"
15105 }
15106 ]
15107 },
15108 "8": {
15109 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15110 },
15111 "9": {
15112 "name": "comment.block.cpp"
15113 },
15114 "10": {
15115 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15116 }
15117 }
15118 },
15119 {
15120 "match": "DLLEXPORT",
15121 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
15122 },
15123 {
15124 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
15125 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
15126 }
15127 ]
15128 },
15129 "12": {
15130 "patterns": [
15131 {
15132 "include": "#inline_comment"
15133 }
15134 ]
15135 },
15136 "13": {
15137 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15138 },
15139 "14": {
15140 "name": "comment.block.cpp"
15141 },
15142 "15": {
15143 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15144 },
15145 "16": {
15146 "patterns": [
15147 {
15148 "include": "#inline_comment"
15149 }
15150 ]
15151 },
15152 "17": {
15153 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15154 },
15155 "18": {
15156 "name": "comment.block.cpp"
15157 },
15158 "19": {
15159 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15160 },
15161 "20": {
15162 "name": "punctuation.separator.colon.inheritance.cpp"
15163 }
15164 },
15165 "endCaptures": {
15166 "1": {
15167 "name": "punctuation.terminator.statement.cpp"
15168 },
15169 "2": {
15170 "name": "punctuation.terminator.statement.cpp"
15171 }
15172 },
15173 "name": "meta.block.struct.cpp",
15174 "patterns": [
15175 {
15176 "begin": "\\G ?",
15177 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
15178 "beginCaptures": {},
15179 "endCaptures": {
15180 "0": {
15181 "name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
15182 }
15183 },
15184 "name": "meta.head.struct.cpp",
15185 "patterns": [
15186 {
15187 "include": "#ever_present_context"
15188 },
15189 {
15190 "include": "#inheritance_context"
15191 },
15192 {
15193 "include": "#template_call_range"
15194 }
15195 ]
15196 },
15197 {
15198 "begin": "(?<=\\{|<%|\\?\\?<)",
15199 "end": "\\}|%>|\\?\\?>",
15200 "beginCaptures": {},
15201 "endCaptures": {
15202 "0": {
15203 "name": "punctuation.section.block.end.bracket.curly.struct.cpp"
15204 }
15205 },
15206 "name": "meta.body.struct.cpp",
15207 "patterns": [
15208 {
15209 "include": "#function_pointer"
15210 },
15211 {
15212 "include": "#static_assert"
15213 },
15214 {
15215 "include": "#constructor_inline"
15216 },
15217 {
15218 "include": "#destructor_inline"
15219 },
15220 {
15221 "include": "$self"
15222 }
15223 ]
15224 },
15225 {
15226 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
15227 "end": "[\\s]*(?=;)",
15228 "beginCaptures": {},
15229 "endCaptures": {},
15230 "name": "meta.tail.struct.cpp",
15231 "patterns": [
15232 {
15233 "match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
15234 "captures": {
15235 "1": {
15236 "patterns": [
15237 {
15238 "match": "\\*",
15239 "name": "storage.modifier.pointer.cpp"
15240 },
15241 {
15242 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
15243 "captures": {
15244 "1": {
15245 "patterns": [
15246 {
15247 "include": "#inline_comment"
15248 }
15249 ]
15250 },
15251 "2": {
15252 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15253 },
15254 "3": {
15255 "name": "comment.block.cpp"
15256 },
15257 "4": {
15258 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15259 }
15260 },
15261 "name": "invalid.illegal.reference-type.cpp"
15262 },
15263 {
15264 "match": "\\&",
15265 "name": "storage.modifier.reference.cpp"
15266 }
15267 ]
15268 },
15269 "2": {
15270 "patterns": [
15271 {
15272 "include": "#inline_comment"
15273 }
15274 ]
15275 },
15276 "3": {
15277 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15278 },
15279 "4": {
15280 "name": "comment.block.cpp"
15281 },
15282 "5": {
15283 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15284 },
15285 "6": {
15286 "patterns": [
15287 {
15288 "include": "#inline_comment"
15289 }
15290 ]
15291 },
15292 "7": {
15293 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15294 },
15295 "8": {
15296 "name": "comment.block.cpp"
15297 },
15298 "9": {
15299 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15300 },
15301 "10": {
15302 "patterns": [
15303 {
15304 "include": "#inline_comment"
15305 }
15306 ]
15307 },
15308 "11": {
15309 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15310 },
15311 "12": {
15312 "name": "comment.block.cpp"
15313 },
15314 "13": {
15315 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15316 },
15317 "14": {
15318 "name": "entity.name.type.alias.cpp"
15319 }
15320 }
15321 },
15322 {
15323 "match": ","
15324 }
15325 ]
15326 }
15327 ]
15328 }
15329 ]
15330 },
15331 "typedef_union": {
15332 "begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)union(?!\\w))",
15333 "end": "(?<=;)",
15334 "beginCaptures": {
15335 "1": {
15336 "name": "keyword.other.typedef.cpp"
15337 }
15338 },
15339 "endCaptures": {},
15340 "patterns": [
15341 {
15342 "begin": "((?<!\\w)union(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",
15343 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
15344 "beginCaptures": {
15345 "0": {
15346 "name": "meta.head.union.cpp"
15347 },
15348 "1": {
15349 "name": "storage.type.$1.cpp"
15350 },
15351 "2": {
15352 "patterns": [
15353 {
15354 "include": "#inline_comment"
15355 }
15356 ]
15357 },
15358 "3": {
15359 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15360 },
15361 "4": {
15362 "name": "comment.block.cpp"
15363 },
15364 "5": {
15365 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15366 },
15367 "6": {
15368 "patterns": [
15369 {
15370 "include": "#attributes_context"
15371 },
15372 {
15373 "include": "#number_literal"
15374 }
15375 ]
15376 },
15377 "7": {
15378 "patterns": [
15379 {
15380 "include": "#inline_comment"
15381 }
15382 ]
15383 },
15384 "8": {
15385 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15386 },
15387 "9": {
15388 "name": "comment.block.cpp"
15389 },
15390 "10": {
15391 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15392 },
15393 "11": {
15394 "patterns": [
15395 {
15396 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
15397 "captures": {
15398 "1": {
15399 "name": "storage.type.modifier.final.cpp"
15400 },
15401 "2": {
15402 "patterns": [
15403 {
15404 "include": "#inline_comment"
15405 }
15406 ]
15407 },
15408 "3": {
15409 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15410 },
15411 "4": {
15412 "name": "comment.block.cpp"
15413 },
15414 "5": {
15415 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15416 }
15417 }
15418 },
15419 {
15420 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",
15421 "captures": {
15422 "1": {
15423 "name": "entity.name.type.union.cpp"
15424 },
15425 "2": {
15426 "patterns": [
15427 {
15428 "include": "#inline_comment"
15429 }
15430 ]
15431 },
15432 "3": {
15433 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15434 },
15435 "4": {
15436 "name": "comment.block.cpp"
15437 },
15438 "5": {
15439 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15440 },
15441 "6": {
15442 "name": "storage.type.modifier.final.cpp"
15443 },
15444 "7": {
15445 "patterns": [
15446 {
15447 "include": "#inline_comment"
15448 }
15449 ]
15450 },
15451 "8": {
15452 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15453 },
15454 "9": {
15455 "name": "comment.block.cpp"
15456 },
15457 "10": {
15458 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15459 }
15460 }
15461 },
15462 {
15463 "match": "DLLEXPORT",
15464 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
15465 },
15466 {
15467 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
15468 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
15469 }
15470 ]
15471 },
15472 "12": {
15473 "patterns": [
15474 {
15475 "include": "#inline_comment"
15476 }
15477 ]
15478 },
15479 "13": {
15480 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15481 },
15482 "14": {
15483 "name": "comment.block.cpp"
15484 },
15485 "15": {
15486 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15487 },
15488 "16": {
15489 "patterns": [
15490 {
15491 "include": "#inline_comment"
15492 }
15493 ]
15494 },
15495 "17": {
15496 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15497 },
15498 "18": {
15499 "name": "comment.block.cpp"
15500 },
15501 "19": {
15502 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15503 },
15504 "20": {
15505 "name": "punctuation.separator.colon.inheritance.cpp"
15506 }
15507 },
15508 "endCaptures": {
15509 "1": {
15510 "name": "punctuation.terminator.statement.cpp"
15511 },
15512 "2": {
15513 "name": "punctuation.terminator.statement.cpp"
15514 }
15515 },
15516 "name": "meta.block.union.cpp",
15517 "patterns": [
15518 {
15519 "begin": "\\G ?",
15520 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
15521 "beginCaptures": {},
15522 "endCaptures": {
15523 "0": {
15524 "name": "punctuation.section.block.begin.bracket.curly.union.cpp"
15525 }
15526 },
15527 "name": "meta.head.union.cpp",
15528 "patterns": [
15529 {
15530 "include": "#ever_present_context"
15531 },
15532 {
15533 "include": "#inheritance_context"
15534 },
15535 {
15536 "include": "#template_call_range"
15537 }
15538 ]
15539 },
15540 {
15541 "begin": "(?<=\\{|<%|\\?\\?<)",
15542 "end": "\\}|%>|\\?\\?>",
15543 "beginCaptures": {},
15544 "endCaptures": {
15545 "0": {
15546 "name": "punctuation.section.block.end.bracket.curly.union.cpp"
15547 }
15548 },
15549 "name": "meta.body.union.cpp",
15550 "patterns": [
15551 {
15552 "include": "#function_pointer"
15553 },
15554 {
15555 "include": "#static_assert"
15556 },
15557 {
15558 "include": "#constructor_inline"
15559 },
15560 {
15561 "include": "#destructor_inline"
15562 },
15563 {
15564 "include": "$self"
15565 }
15566 ]
15567 },
15568 {
15569 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
15570 "end": "[\\s]*(?=;)",
15571 "beginCaptures": {},
15572 "endCaptures": {},
15573 "name": "meta.tail.union.cpp",
15574 "patterns": [
15575 {
15576 "match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
15577 "captures": {
15578 "1": {
15579 "patterns": [
15580 {
15581 "match": "\\*",
15582 "name": "storage.modifier.pointer.cpp"
15583 },
15584 {
15585 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
15586 "captures": {
15587 "1": {
15588 "patterns": [
15589 {
15590 "include": "#inline_comment"
15591 }
15592 ]
15593 },
15594 "2": {
15595 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15596 },
15597 "3": {
15598 "name": "comment.block.cpp"
15599 },
15600 "4": {
15601 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15602 }
15603 },
15604 "name": "invalid.illegal.reference-type.cpp"
15605 },
15606 {
15607 "match": "\\&",
15608 "name": "storage.modifier.reference.cpp"
15609 }
15610 ]
15611 },
15612 "2": {
15613 "patterns": [
15614 {
15615 "include": "#inline_comment"
15616 }
15617 ]
15618 },
15619 "3": {
15620 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15621 },
15622 "4": {
15623 "name": "comment.block.cpp"
15624 },
15625 "5": {
15626 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15627 },
15628 "6": {
15629 "patterns": [
15630 {
15631 "include": "#inline_comment"
15632 }
15633 ]
15634 },
15635 "7": {
15636 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15637 },
15638 "8": {
15639 "name": "comment.block.cpp"
15640 },
15641 "9": {
15642 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15643 },
15644 "10": {
15645 "patterns": [
15646 {
15647 "include": "#inline_comment"
15648 }
15649 ]
15650 },
15651 "11": {
15652 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15653 },
15654 "12": {
15655 "name": "comment.block.cpp"
15656 },
15657 "13": {
15658 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15659 },
15660 "14": {
15661 "name": "entity.name.type.alias.cpp"
15662 }
15663 }
15664 },
15665 {
15666 "match": ","
15667 }
15668 ]
15669 }
15670 ]
15671 }
15672 ]
15673 },
15674 "typeid_operator": {
15675 "begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
15676 "end": "\\)",
15677 "beginCaptures": {
15678 "1": {
15679 "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
15680 },
15681 "2": {
15682 "patterns": [
15683 {
15684 "include": "#inline_comment"
15685 }
15686 ]
15687 },
15688 "3": {
15689 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15690 },
15691 "4": {
15692 "name": "comment.block.cpp"
15693 },
15694 "5": {
15695 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15696 },
15697 "6": {
15698 "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
15699 }
15700 },
15701 "endCaptures": {
15702 "0": {
15703 "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
15704 }
15705 },
15706 "contentName": "meta.arguments.operator.typeid",
15707 "patterns": [
15708 {
15709 "include": "#evaluation_context"
15710 }
15711 ]
15712 },
15713 "typename": {
15714 "match": "(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?<!\\w)typename(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<17>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<17>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))",
15715 "captures": {
15716 "1": {
15717 "name": "storage.modifier.cpp"
15718 },
15719 "2": {
15720 "patterns": [
15721 {
15722 "include": "#inline_comment"
15723 }
15724 ]
15725 },
15726 "3": {
15727 "patterns": [
15728 {
15729 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15730 "captures": {
15731 "1": {
15732 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15733 },
15734 "2": {
15735 "name": "comment.block.cpp"
15736 },
15737 "3": {
15738 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15739 }
15740 }
15741 }
15742 ]
15743 },
15744 "4": {
15745 "patterns": [
15746 {
15747 "include": "#inline_comment"
15748 }
15749 ]
15750 },
15751 "5": {
15752 "patterns": [
15753 {
15754 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15755 "captures": {
15756 "1": {
15757 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15758 },
15759 "2": {
15760 "name": "comment.block.cpp"
15761 },
15762 "3": {
15763 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15764 }
15765 }
15766 }
15767 ]
15768 },
15769 "6": {
15770 "name": "meta.qualified_type.cpp",
15771 "patterns": [
15772 {
15773 "match": "::",
15774 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
15775 },
15776 {
15777 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
15778 "name": "storage.type.$0.cpp"
15779 },
15780 {
15781 "include": "#attributes_context"
15782 },
15783 {
15784 "include": "#storage_types"
15785 },
15786 {
15787 "include": "#number_literal"
15788 },
15789 {
15790 "include": "#string_context"
15791 },
15792 {
15793 "include": "#comma"
15794 },
15795 {
15796 "include": "#scope_resolution_inner_generated"
15797 },
15798 {
15799 "begin": "<",
15800 "end": ">",
15801 "beginCaptures": {
15802 "0": {
15803 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
15804 }
15805 },
15806 "endCaptures": {
15807 "0": {
15808 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
15809 }
15810 },
15811 "name": "meta.template.call.cpp",
15812 "patterns": [
15813 {
15814 "include": "#template_call_context"
15815 }
15816 ]
15817 },
15818 {
15819 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
15820 "name": "entity.name.type.cpp"
15821 }
15822 ]
15823 },
15824 "7": {
15825 "patterns": [
15826 {
15827 "include": "#attributes_context"
15828 },
15829 {
15830 "include": "#number_literal"
15831 }
15832 ]
15833 },
15834 "8": {
15835 "patterns": [
15836 {
15837 "include": "#inline_comment"
15838 }
15839 ]
15840 },
15841 "9": {
15842 "patterns": [
15843 {
15844 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15845 "captures": {
15846 "1": {
15847 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15848 },
15849 "2": {
15850 "name": "comment.block.cpp"
15851 },
15852 "3": {
15853 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15854 }
15855 }
15856 }
15857 ]
15858 },
15859 "10": {
15860 "patterns": [
15861 {
15862 "include": "#inline_comment"
15863 }
15864 ]
15865 },
15866 "11": {
15867 "patterns": [
15868 {
15869 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15870 "captures": {
15871 "1": {
15872 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15873 },
15874 "2": {
15875 "name": "comment.block.cpp"
15876 },
15877 "3": {
15878 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15879 }
15880 }
15881 }
15882 ]
15883 },
15884 "12": {
15885 "patterns": [
15886 {
15887 "match": "::",
15888 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
15889 },
15890 {
15891 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
15892 "name": "entity.name.scope-resolution.type.cpp"
15893 },
15894 {
15895 "include": "#template_call_range"
15896 }
15897 ]
15898 },
15899 "13": {
15900 "patterns": [
15901 {
15902 "include": "#template_call_range"
15903 }
15904 ]
15905 },
15906 "14": {},
15907 "15": {
15908 "patterns": [
15909 {
15910 "include": "#inline_comment"
15911 }
15912 ]
15913 },
15914 "16": {
15915 "patterns": [
15916 {
15917 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15918 "captures": {
15919 "1": {
15920 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15921 },
15922 "2": {
15923 "name": "comment.block.cpp"
15924 },
15925 "3": {
15926 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15927 }
15928 }
15929 }
15930 ]
15931 },
15932 "17": {}
15933 }
15934 },
15935 "undef": {
15936 "match": "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?undef\\b)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
15937 "captures": {
15938 "1": {
15939 "name": "keyword.control.directive.undef.cpp"
15940 },
15941 "2": {
15942 "patterns": [
15943 {
15944 "include": "#inline_comment"
15945 }
15946 ]
15947 },
15948 "3": {
15949 "patterns": [
15950 {
15951 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15952 "captures": {
15953 "1": {
15954 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15955 },
15956 "2": {
15957 "name": "comment.block.cpp"
15958 },
15959 "3": {
15960 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15961 }
15962 }
15963 }
15964 ]
15965 },
15966 "4": {
15967 "name": "punctuation.definition.directive.cpp"
15968 },
15969 "5": {
15970 "patterns": [
15971 {
15972 "include": "#inline_comment"
15973 }
15974 ]
15975 },
15976 "6": {
15977 "patterns": [
15978 {
15979 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15980 "captures": {
15981 "1": {
15982 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15983 },
15984 "2": {
15985 "name": "comment.block.cpp"
15986 },
15987 "3": {
15988 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15989 }
15990 }
15991 }
15992 ]
15993 },
15994 "7": {
15995 "name": "entity.name.function.preprocessor.cpp"
15996 }
15997 },
15998 "name": "meta.preprocessor.undef.cpp"
15999 },
16000 "union_block": {
16001 "begin": "((?<!\\w)union(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",
16002 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))",
16003 "beginCaptures": {
16004 "0": {
16005 "name": "meta.head.union.cpp"
16006 },
16007 "1": {
16008 "name": "storage.type.$1.cpp"
16009 },
16010 "2": {
16011 "patterns": [
16012 {
16013 "include": "#inline_comment"
16014 }
16015 ]
16016 },
16017 "3": {
16018 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16019 },
16020 "4": {
16021 "name": "comment.block.cpp"
16022 },
16023 "5": {
16024 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16025 },
16026 "6": {
16027 "patterns": [
16028 {
16029 "include": "#attributes_context"
16030 },
16031 {
16032 "include": "#number_literal"
16033 }
16034 ]
16035 },
16036 "7": {
16037 "patterns": [
16038 {
16039 "include": "#inline_comment"
16040 }
16041 ]
16042 },
16043 "8": {
16044 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16045 },
16046 "9": {
16047 "name": "comment.block.cpp"
16048 },
16049 "10": {
16050 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16051 },
16052 "11": {
16053 "patterns": [
16054 {
16055 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
16056 "captures": {
16057 "1": {
16058 "name": "storage.type.modifier.final.cpp"
16059 },
16060 "2": {
16061 "patterns": [
16062 {
16063 "include": "#inline_comment"
16064 }
16065 ]
16066 },
16067 "3": {
16068 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16069 },
16070 "4": {
16071 "name": "comment.block.cpp"
16072 },
16073 "5": {
16074 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16075 }
16076 }
16077 },
16078 {
16079 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",
16080 "captures": {
16081 "1": {
16082 "name": "entity.name.type.union.cpp"
16083 },
16084 "2": {
16085 "patterns": [
16086 {
16087 "include": "#inline_comment"
16088 }
16089 ]
16090 },
16091 "3": {
16092 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16093 },
16094 "4": {
16095 "name": "comment.block.cpp"
16096 },
16097 "5": {
16098 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16099 },
16100 "6": {
16101 "name": "storage.type.modifier.final.cpp"
16102 },
16103 "7": {
16104 "patterns": [
16105 {
16106 "include": "#inline_comment"
16107 }
16108 ]
16109 },
16110 "8": {
16111 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16112 },
16113 "9": {
16114 "name": "comment.block.cpp"
16115 },
16116 "10": {
16117 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16118 }
16119 }
16120 },
16121 {
16122 "match": "DLLEXPORT",
16123 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
16124 },
16125 {
16126 "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
16127 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
16128 }
16129 ]
16130 },
16131 "12": {
16132 "patterns": [
16133 {
16134 "include": "#inline_comment"
16135 }
16136 ]
16137 },
16138 "13": {
16139 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16140 },
16141 "14": {
16142 "name": "comment.block.cpp"
16143 },
16144 "15": {
16145 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16146 },
16147 "16": {
16148 "patterns": [
16149 {
16150 "include": "#inline_comment"
16151 }
16152 ]
16153 },
16154 "17": {
16155 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16156 },
16157 "18": {
16158 "name": "comment.block.cpp"
16159 },
16160 "19": {
16161 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16162 },
16163 "20": {
16164 "name": "punctuation.separator.colon.inheritance.cpp"
16165 }
16166 },
16167 "endCaptures": {
16168 "1": {
16169 "name": "punctuation.terminator.statement.cpp"
16170 },
16171 "2": {
16172 "name": "punctuation.terminator.statement.cpp"
16173 }
16174 },
16175 "name": "meta.block.union.cpp",
16176 "patterns": [
16177 {
16178 "begin": "\\G ?",
16179 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
16180 "beginCaptures": {},
16181 "endCaptures": {
16182 "0": {
16183 "name": "punctuation.section.block.begin.bracket.curly.union.cpp"
16184 }
16185 },
16186 "name": "meta.head.union.cpp",
16187 "patterns": [
16188 {
16189 "include": "#ever_present_context"
16190 },
16191 {
16192 "include": "#inheritance_context"
16193 },
16194 {
16195 "include": "#template_call_range"
16196 }
16197 ]
16198 },
16199 {
16200 "begin": "(?<=\\{|<%|\\?\\?<)",
16201 "end": "\\}|%>|\\?\\?>",
16202 "beginCaptures": {},
16203 "endCaptures": {
16204 "0": {
16205 "name": "punctuation.section.block.end.bracket.curly.union.cpp"
16206 }
16207 },
16208 "name": "meta.body.union.cpp",
16209 "patterns": [
16210 {
16211 "include": "#function_pointer"
16212 },
16213 {
16214 "include": "#static_assert"
16215 },
16216 {
16217 "include": "#constructor_inline"
16218 },
16219 {
16220 "include": "#destructor_inline"
16221 },
16222 {
16223 "include": "$self"
16224 }
16225 ]
16226 },
16227 {
16228 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
16229 "end": "[\\s]*(?=;)",
16230 "beginCaptures": {},
16231 "endCaptures": {},
16232 "name": "meta.tail.union.cpp",
16233 "patterns": [
16234 {
16235 "include": "$self"
16236 }
16237 ]
16238 }
16239 ]
16240 },
16241 "union_declare": {
16242 "match": "((?<!\\w)union(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])",
16243 "captures": {
16244 "1": {
16245 "name": "storage.type.union.declare.cpp"
16246 },
16247 "2": {
16248 "patterns": [
16249 {
16250 "include": "#inline_comment"
16251 }
16252 ]
16253 },
16254 "3": {
16255 "patterns": [
16256 {
16257 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16258 "captures": {
16259 "1": {
16260 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16261 },
16262 "2": {
16263 "name": "comment.block.cpp"
16264 },
16265 "3": {
16266 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16267 }
16268 }
16269 }
16270 ]
16271 },
16272 "4": {
16273 "name": "entity.name.type.union.cpp"
16274 },
16275 "5": {
16276 "patterns": [
16277 {
16278 "match": "\\*",
16279 "name": "storage.modifier.pointer.cpp"
16280 },
16281 {
16282 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
16283 "captures": {
16284 "1": {
16285 "patterns": [
16286 {
16287 "include": "#inline_comment"
16288 }
16289 ]
16290 },
16291 "2": {
16292 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16293 },
16294 "3": {
16295 "name": "comment.block.cpp"
16296 },
16297 "4": {
16298 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16299 }
16300 },
16301 "name": "invalid.illegal.reference-type.cpp"
16302 },
16303 {
16304 "match": "\\&",
16305 "name": "storage.modifier.reference.cpp"
16306 }
16307 ]
16308 },
16309 "6": {
16310 "patterns": [
16311 {
16312 "include": "#inline_comment"
16313 }
16314 ]
16315 },
16316 "7": {
16317 "patterns": [
16318 {
16319 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16320 "captures": {
16321 "1": {
16322 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16323 },
16324 "2": {
16325 "name": "comment.block.cpp"
16326 },
16327 "3": {
16328 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16329 }
16330 }
16331 }
16332 ]
16333 },
16334 "8": {
16335 "patterns": [
16336 {
16337 "include": "#inline_comment"
16338 }
16339 ]
16340 },
16341 "9": {
16342 "patterns": [
16343 {
16344 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16345 "captures": {
16346 "1": {
16347 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16348 },
16349 "2": {
16350 "name": "comment.block.cpp"
16351 },
16352 "3": {
16353 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16354 }
16355 }
16356 }
16357 ]
16358 },
16359 "10": {
16360 "patterns": [
16361 {
16362 "include": "#inline_comment"
16363 }
16364 ]
16365 },
16366 "11": {
16367 "patterns": [
16368 {
16369 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16370 "captures": {
16371 "1": {
16372 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16373 },
16374 "2": {
16375 "name": "comment.block.cpp"
16376 },
16377 "3": {
16378 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16379 }
16380 }
16381 }
16382 ]
16383 },
16384 "12": {
16385 "name": "variable.other.object.declare.cpp"
16386 },
16387 "13": {
16388 "patterns": [
16389 {
16390 "include": "#inline_comment"
16391 }
16392 ]
16393 },
16394 "14": {
16395 "patterns": [
16396 {
16397 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16398 "captures": {
16399 "1": {
16400 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16401 },
16402 "2": {
16403 "name": "comment.block.cpp"
16404 },
16405 "3": {
16406 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16407 }
16408 }
16409 }
16410 ]
16411 }
16412 }
16413 },
16414 "using_name": {
16415 "match": "(using)\\s+(?!namespace\\b)",
16416 "captures": {
16417 "1": {
16418 "name": "keyword.other.using.directive.cpp"
16419 }
16420 }
16421 },
16422 "using_namespace": {
16423 "begin": "(?<!\\w)(using)\\s+(namespace)\\s+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<6>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?=;|\\n)",
16424 "end": ";",
16425 "beginCaptures": {
16426 "1": {
16427 "name": "keyword.other.using.directive.cpp"
16428 },
16429 "2": {
16430 "name": "keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"
16431 },
16432 "3": {
16433 "patterns": [
16434 {
16435 "include": "#scope_resolution_namespace_using_inner_generated"
16436 }
16437 ]
16438 },
16439 "4": {
16440 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
16441 },
16442 "5": {
16443 "patterns": [
16444 {
16445 "include": "#template_call_range"
16446 }
16447 ]
16448 },
16449 "6": {},
16450 "7": {
16451 "name": "entity.name.namespace.cpp"
16452 }
16453 },
16454 "endCaptures": {
16455 "0": {
16456 "name": "punctuation.terminator.statement.cpp"
16457 }
16458 },
16459 "name": "meta.using-namespace.cpp"
16460 },
16461 "vararg_ellipses": {
16462 "match": "(?<!\\.)\\.\\.\\.(?!\\.)",
16463 "name": "punctuation.vararg-ellipses.cpp"
16464 },
16465 "wordlike_operators": {
16466 "patterns": [
16467 {
16468 "match": "(?<!\\w)(?:(?:noexcept)|(?:xor_eq)|(?:and_eq)|(?:delete)|(?:not_eq)|(?:bitand)|(?:bitor)|(?:compl)|(?:or_eq)|(?:not)|(?:xor)|(?:new)|(?:and)|(?:or))(?!\\w)",
16469 "name": "keyword.operator.wordlike.cpp keyword.operator.$0.cpp"
16470 }
16471 ]
16472 }
16473 }
16474 }
16475