PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.8.0
Code Block Pro – Beautiful Syntax Highlighting v1.8.0
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.8.0, at build/shiki/languages/cpp.tmLanguage.json

19,845 lines 736.5 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/924295fc44bde1a00fab60da3a2caca4509adb25",
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": "#access_control_keywords"
79 },
80 {
81 "include": "#block"
82 },
83 {
84 "include": "#static_assert"
85 },
86 {
87 "include": "#assembly"
88 },
89 {
90 "include": "#function_pointer"
91 },
92 {
93 "include": "#evaluation_context"
94 }
95 ],
96 "repository": {
97 "access_control_keywords": {
98 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\s)+)?(:))",
99 "captures": {
100 "1": {
101 "patterns": [
102 {
103 "include": "#inline_comment"
104 }
105 ]
106 },
107 "2": {
108 "patterns": [
109 {
110 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
111 "captures": {
112 "1": {
113 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
114 },
115 "2": {
116 "name": "comment.block.cpp"
117 },
118 "3": {
119 "patterns": [
120 {
121 "match": "\\*\\/",
122 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
123 },
124 {
125 "match": "\\*",
126 "name": "comment.block.cpp"
127 }
128 ]
129 }
130 }
131 }
132 ]
133 },
134 "3": {
135 "name": "storage.type.modifier.access.control.$4.cpp"
136 },
137 "4": {},
138 "5": {
139 "name": "punctuation.separator.colon.access.control.cpp"
140 }
141 }
142 },
143 "alignas_attribute": {
144 "begin": "alignas\\(",
145 "end": "\\)",
146 "beginCaptures": {
147 "0": {
148 "name": "punctuation.section.attribute.begin.cpp"
149 }
150 },
151 "endCaptures": {
152 "0": {
153 "name": "punctuation.section.attribute.end.cpp"
154 }
155 },
156 "name": "support.other.attribute.cpp",
157 "patterns": [
158 {
159 "include": "#attributes_context"
160 },
161 {
162 "begin": "\\(",
163 "end": "\\)",
164 "beginCaptures": {},
165 "endCaptures": {},
166 "patterns": [
167 {
168 "include": "#attributes_context"
169 },
170 {
171 "include": "#string_context"
172 }
173 ]
174 },
175 {
176 "match": "(using)(?:\\s)+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
177 "captures": {
178 "1": {
179 "name": "keyword.other.using.directive.cpp"
180 },
181 "2": {
182 "name": "entity.name.namespace.cpp"
183 }
184 }
185 },
186 {
187 "match": ",",
188 "name": "punctuation.separator.attribute.cpp"
189 },
190 {
191 "match": ":",
192 "name": "punctuation.accessor.attribute.cpp"
193 },
194 {
195 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
196 "name": "entity.name.namespace.cpp"
197 },
198 {
199 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
200 "name": "entity.other.attribute.$0.cpp"
201 },
202 {
203 "include": "#number_literal"
204 }
205 ]
206 },
207 "alignas_operator": {
208 "begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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 "patterns": [
229 {
230 "match": "\\*\\/",
231 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
232 },
233 {
234 "match": "\\*",
235 "name": "comment.block.cpp"
236 }
237 ]
238 },
239 "6": {
240 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
241 }
242 },
243 "endCaptures": {
244 "0": {
245 "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
246 }
247 },
248 "contentName": "meta.arguments.operator.alignas",
249 "patterns": [
250 {
251 "include": "#evaluation_context"
252 }
253 ]
254 },
255 "alignof_operator": {
256 "begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
257 "end": "\\)",
258 "beginCaptures": {
259 "1": {
260 "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
261 },
262 "2": {
263 "patterns": [
264 {
265 "include": "#inline_comment"
266 }
267 ]
268 },
269 "3": {
270 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
271 },
272 "4": {
273 "name": "comment.block.cpp"
274 },
275 "5": {
276 "patterns": [
277 {
278 "match": "\\*\\/",
279 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
280 },
281 {
282 "match": "\\*",
283 "name": "comment.block.cpp"
284 }
285 ]
286 },
287 "6": {
288 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
289 }
290 },
291 "endCaptures": {
292 "0": {
293 "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
294 }
295 },
296 "contentName": "meta.arguments.operator.alignof",
297 "patterns": [
298 {
299 "include": "#evaluation_context"
300 }
301 ]
302 },
303 "assembly": {
304 "begin": "(\\b(?:__asm__|asm)\\b)(?:(?:\\s)+)?((?:volatile)?)",
305 "end": "(?!\\G)",
306 "beginCaptures": {
307 "1": {
308 "name": "storage.type.asm.cpp"
309 },
310 "2": {
311 "name": "storage.modifier.cpp"
312 }
313 },
314 "endCaptures": {},
315 "name": "meta.asm.cpp",
316 "patterns": [
317 {
318 "match": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\n)|$)",
319 "captures": {
320 "1": {
321 "patterns": [
322 {
323 "include": "#inline_comment"
324 }
325 ]
326 },
327 "2": {
328 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
329 },
330 "3": {
331 "name": "comment.block.cpp"
332 },
333 "4": {
334 "patterns": [
335 {
336 "match": "\\*\\/",
337 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
338 },
339 {
340 "match": "\\*",
341 "name": "comment.block.cpp"
342 }
343 ]
344 }
345 }
346 },
347 {
348 "include": "#comments"
349 },
350 {
351 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\(",
352 "end": "\\)",
353 "beginCaptures": {
354 "0": {
355 "name": "punctuation.section.parens.begin.bracket.round.assembly.cpp"
356 },
357 "1": {
358 "patterns": [
359 {
360 "include": "#inline_comment"
361 }
362 ]
363 },
364 "2": {
365 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
366 },
367 "3": {
368 "name": "comment.block.cpp"
369 },
370 "4": {
371 "patterns": [
372 {
373 "match": "\\*\\/",
374 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
375 },
376 {
377 "match": "\\*",
378 "name": "comment.block.cpp"
379 }
380 ]
381 }
382 },
383 "endCaptures": {
384 "0": {
385 "name": "punctuation.section.parens.end.bracket.round.assembly.cpp"
386 }
387 },
388 "patterns": [
389 {
390 "begin": "(R?)(\")",
391 "end": "\"",
392 "beginCaptures": {
393 "1": {
394 "name": "meta.encoding.cpp"
395 },
396 "2": {
397 "name": "punctuation.definition.string.begin.assembly.cpp"
398 }
399 },
400 "endCaptures": {
401 "0": {
402 "name": "punctuation.definition.string.end.assembly.cpp"
403 }
404 },
405 "name": "string.quoted.double.cpp",
406 "contentName": "meta.embedded.assembly",
407 "patterns": [
408 {
409 "include": "source.asm"
410 },
411 {
412 "include": "source.x86"
413 },
414 {
415 "include": "source.x86_64"
416 },
417 {
418 "include": "source.arm"
419 },
420 {
421 "include": "#backslash_escapes"
422 },
423 {
424 "include": "#string_escaped_char"
425 }
426 ]
427 },
428 {
429 "begin": "\\(",
430 "end": "\\)",
431 "beginCaptures": {
432 "0": {
433 "name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"
434 }
435 },
436 "endCaptures": {
437 "0": {
438 "name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp"
439 }
440 },
441 "patterns": [
442 {
443 "include": "#evaluation_context"
444 }
445 ]
446 },
447 {
448 "match": "\\[((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]",
449 "captures": {
450 "1": {
451 "patterns": [
452 {
453 "include": "#inline_comment"
454 }
455 ]
456 },
457 "2": {
458 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
459 },
460 "3": {
461 "name": "comment.block.cpp"
462 },
463 "4": {
464 "patterns": [
465 {
466 "match": "\\*\\/",
467 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
468 },
469 {
470 "match": "\\*",
471 "name": "comment.block.cpp"
472 }
473 ]
474 },
475 "5": {
476 "name": "variable.other.asm.label.cpp"
477 },
478 "6": {
479 "patterns": [
480 {
481 "include": "#inline_comment"
482 }
483 ]
484 },
485 "7": {
486 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
487 },
488 "8": {
489 "name": "comment.block.cpp"
490 },
491 "9": {
492 "patterns": [
493 {
494 "match": "\\*\\/",
495 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
496 },
497 {
498 "match": "\\*",
499 "name": "comment.block.cpp"
500 }
501 ]
502 }
503 }
504 },
505 {
506 "match": ":",
507 "name": "punctuation.separator.delimiter.colon.assembly.cpp"
508 },
509 {
510 "include": "#comments"
511 }
512 ]
513 }
514 ]
515 },
516 "assignment_operator": {
517 "match": "\\=",
518 "name": "keyword.operator.assignment.cpp"
519 },
520 "attributes_context": {
521 "patterns": [
522 {
523 "include": "#cpp_attributes"
524 },
525 {
526 "include": "#gcc_attributes"
527 },
528 {
529 "include": "#ms_attributes"
530 },
531 {
532 "include": "#alignas_attribute"
533 }
534 ]
535 },
536 "backslash_escapes": {
537 "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} )",
538 "name": "constant.character.escape"
539 },
540 "block": {
541 "begin": "{",
542 "end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",
543 "beginCaptures": {
544 "0": {
545 "name": "punctuation.section.block.begin.bracket.curly.cpp"
546 }
547 },
548 "endCaptures": {
549 "0": {
550 "name": "punctuation.section.block.end.bracket.curly.cpp"
551 }
552 },
553 "name": "meta.block.cpp",
554 "patterns": [
555 {
556 "include": "#function_body_context"
557 }
558 ]
559 },
560 "block_comment": {
561 "begin": "\\s*+(\\/\\*)",
562 "end": "\\*\\/",
563 "beginCaptures": {
564 "1": {
565 "name": "punctuation.definition.comment.begin.cpp"
566 }
567 },
568 "endCaptures": {
569 "0": {
570 "name": "punctuation.definition.comment.end.cpp"
571 }
572 },
573 "name": "comment.block.cpp"
574 },
575 "builtin_storage_type_initilizer": {
576 "begin": "(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:signed)|(?:double)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:char)|(?:long)|(?:bool)|(?:int)))|((?:(?:uint_least16_t)|(?:uint_least32_t)|(?:uint_least64_t)|(?:int_least16_t)|(?:int_least32_t)|(?:int_least64_t)|(?:uint_least8_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:uint_fast64_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:suseconds_t)|(?:int_fast8_t)|(?:useconds_t)|(?:blksize_t)|(?:in_addr_t)|(?:in_port_t)|(?:uintptr_t)|(?:uintmax_t)|(?:uintmax_t)|(?:uintmax_t)|(?:u_quad_t)|(?:blkcnt_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:intptr_t)|(?:intmax_t)|(?:intmax_t)|(?:u_short)|(?:qaddr_t)|(?:caddr_t)|(?:daddr_t)|(?:fixpt_t)|(?:nlink_t)|(?:segsz_t)|(?:swblk_t)|(?:clock_t)|(?:ssize_t)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:u_char)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:time_t)|(?:int8_t)|(?:u_int)|(?:div_t)|(?:dev_t)|(?:gid_t)|(?:ino_t)|(?:key_t)|(?:pid_t)|(?:off_t)|(?:uid_t)|(?:uint)|(?:id_t)|(?:id_t))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_attr_t)|(?:pthread_cond_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)(?:\\s)*+(?<!\\w)(\\()",
577 "end": "\\)",
578 "beginCaptures": {
579 "1": {
580 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
581 },
582 "2": {
583 "name": "storage.type.cpp storage.type.built-in.cpp"
584 },
585 "3": {
586 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
587 },
588 "4": {
589 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
590 },
591 "5": {
592 "name": "punctuation.section.arguments.begin.bracket.round.initializer.cpp"
593 }
594 },
595 "endCaptures": {
596 "0": {
597 "name": "punctuation.section.arguments.end.bracket.round.initializer.cpp"
598 }
599 },
600 "patterns": [
601 {
602 "include": "#evaluation_context"
603 }
604 ]
605 },
606 "case_statement": {
607 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)case(?!\\w))",
608 "end": ":",
609 "beginCaptures": {
610 "1": {
611 "patterns": [
612 {
613 "include": "#inline_comment"
614 }
615 ]
616 },
617 "2": {
618 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
619 },
620 "3": {
621 "name": "comment.block.cpp"
622 },
623 "4": {
624 "patterns": [
625 {
626 "match": "\\*\\/",
627 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
628 },
629 {
630 "match": "\\*",
631 "name": "comment.block.cpp"
632 }
633 ]
634 },
635 "5": {
636 "name": "keyword.control.case.cpp"
637 }
638 },
639 "endCaptures": {
640 "0": {
641 "name": "punctuation.separator.colon.case.cpp"
642 }
643 },
644 "name": "meta.conditional.case.cpp",
645 "patterns": [
646 {
647 "include": "#evaluation_context"
648 }
649 ]
650 },
651 "class_block": {
652 "begin": "((?<!\\w)class(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
653 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
654 "beginCaptures": {
655 "0": {
656 "name": "meta.head.class.cpp"
657 },
658 "1": {
659 "name": "storage.type.$1.cpp"
660 },
661 "2": {
662 "patterns": [
663 {
664 "include": "#inline_comment"
665 }
666 ]
667 },
668 "3": {
669 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
670 },
671 "4": {
672 "name": "comment.block.cpp"
673 },
674 "5": {
675 "patterns": [
676 {
677 "match": "\\*\\/",
678 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
679 },
680 {
681 "match": "\\*",
682 "name": "comment.block.cpp"
683 }
684 ]
685 },
686 "6": {
687 "patterns": [
688 {
689 "include": "#attributes_context"
690 },
691 {
692 "include": "#number_literal"
693 }
694 ]
695 },
696 "7": {
697 "patterns": [
698 {
699 "include": "#inline_comment"
700 }
701 ]
702 },
703 "8": {
704 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
705 },
706 "9": {
707 "name": "comment.block.cpp"
708 },
709 "10": {
710 "patterns": [
711 {
712 "match": "\\*\\/",
713 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
714 },
715 {
716 "match": "\\*",
717 "name": "comment.block.cpp"
718 }
719 ]
720 },
721 "11": {
722 "patterns": [
723 {
724 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
725 "captures": {
726 "1": {
727 "name": "storage.type.modifier.final.cpp"
728 },
729 "2": {
730 "patterns": [
731 {
732 "include": "#inline_comment"
733 }
734 ]
735 },
736 "3": {
737 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
738 },
739 "4": {
740 "name": "comment.block.cpp"
741 },
742 "5": {
743 "patterns": [
744 {
745 "match": "\\*\\/",
746 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
747 },
748 {
749 "match": "\\*",
750 "name": "comment.block.cpp"
751 }
752 ]
753 }
754 }
755 },
756 {
757 "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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
758 "captures": {
759 "1": {
760 "name": "entity.name.type.class.cpp"
761 },
762 "2": {
763 "patterns": [
764 {
765 "include": "#inline_comment"
766 }
767 ]
768 },
769 "3": {
770 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
771 },
772 "4": {
773 "name": "comment.block.cpp"
774 },
775 "5": {
776 "patterns": [
777 {
778 "match": "\\*\\/",
779 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
780 },
781 {
782 "match": "\\*",
783 "name": "comment.block.cpp"
784 }
785 ]
786 },
787 "6": {
788 "name": "storage.type.modifier.final.cpp"
789 },
790 "7": {
791 "patterns": [
792 {
793 "include": "#inline_comment"
794 }
795 ]
796 },
797 "8": {
798 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
799 },
800 "9": {
801 "name": "comment.block.cpp"
802 },
803 "10": {
804 "patterns": [
805 {
806 "match": "\\*\\/",
807 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
808 },
809 {
810 "match": "\\*",
811 "name": "comment.block.cpp"
812 }
813 ]
814 }
815 }
816 },
817 {
818 "match": "DLLEXPORT",
819 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
820 },
821 {
822 "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}))*",
823 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
824 }
825 ]
826 },
827 "12": {
828 "patterns": [
829 {
830 "include": "#inline_comment"
831 }
832 ]
833 },
834 "13": {
835 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
836 },
837 "14": {
838 "name": "comment.block.cpp"
839 },
840 "15": {
841 "patterns": [
842 {
843 "match": "\\*\\/",
844 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
845 },
846 {
847 "match": "\\*",
848 "name": "comment.block.cpp"
849 }
850 ]
851 },
852 "16": {
853 "patterns": [
854 {
855 "include": "#inline_comment"
856 }
857 ]
858 },
859 "17": {
860 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
861 },
862 "18": {
863 "name": "comment.block.cpp"
864 },
865 "19": {
866 "patterns": [
867 {
868 "match": "\\*\\/",
869 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
870 },
871 {
872 "match": "\\*",
873 "name": "comment.block.cpp"
874 }
875 ]
876 },
877 "20": {
878 "name": "punctuation.separator.colon.inheritance.cpp"
879 }
880 },
881 "endCaptures": {
882 "1": {
883 "name": "punctuation.terminator.statement.cpp"
884 },
885 "2": {
886 "name": "punctuation.terminator.statement.cpp"
887 }
888 },
889 "name": "meta.block.class.cpp",
890 "patterns": [
891 {
892 "begin": "\\G ?",
893 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
894 "beginCaptures": {},
895 "endCaptures": {
896 "0": {
897 "name": "punctuation.section.block.begin.bracket.curly.class.cpp"
898 }
899 },
900 "name": "meta.head.class.cpp",
901 "patterns": [
902 {
903 "include": "#ever_present_context"
904 },
905 {
906 "include": "#inheritance_context"
907 },
908 {
909 "include": "#template_call_range"
910 }
911 ]
912 },
913 {
914 "begin": "(?<=\\{|<%|\\?\\?<)",
915 "end": "\\}|%>|\\?\\?>",
916 "beginCaptures": {},
917 "endCaptures": {
918 "0": {
919 "name": "punctuation.section.block.end.bracket.curly.class.cpp"
920 }
921 },
922 "name": "meta.body.class.cpp",
923 "patterns": [
924 {
925 "include": "#function_pointer"
926 },
927 {
928 "include": "#static_assert"
929 },
930 {
931 "include": "#constructor_inline"
932 },
933 {
934 "include": "#destructor_inline"
935 },
936 {
937 "include": "$self"
938 }
939 ]
940 },
941 {
942 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
943 "end": "[\\s]*(?=;)",
944 "beginCaptures": {},
945 "endCaptures": {},
946 "name": "meta.tail.class.cpp",
947 "patterns": [
948 {
949 "include": "$self"
950 }
951 ]
952 }
953 ]
954 },
955 "class_declare": {
956 "match": "((?<!\\w)class(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
957 "captures": {
958 "1": {
959 "name": "storage.type.class.declare.cpp"
960 },
961 "2": {
962 "patterns": [
963 {
964 "include": "#inline_comment"
965 }
966 ]
967 },
968 "3": {
969 "patterns": [
970 {
971 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
972 "captures": {
973 "1": {
974 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
975 },
976 "2": {
977 "name": "comment.block.cpp"
978 },
979 "3": {
980 "patterns": [
981 {
982 "match": "\\*\\/",
983 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
984 },
985 {
986 "match": "\\*",
987 "name": "comment.block.cpp"
988 }
989 ]
990 }
991 }
992 }
993 ]
994 },
995 "4": {
996 "name": "entity.name.type.class.cpp"
997 },
998 "5": {
999 "patterns": [
1000 {
1001 "match": "\\*",
1002 "name": "storage.modifier.pointer.cpp"
1003 },
1004 {
1005 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
1006 "captures": {
1007 "1": {
1008 "patterns": [
1009 {
1010 "include": "#inline_comment"
1011 }
1012 ]
1013 },
1014 "2": {
1015 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1016 },
1017 "3": {
1018 "name": "comment.block.cpp"
1019 },
1020 "4": {
1021 "patterns": [
1022 {
1023 "match": "\\*\\/",
1024 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1025 },
1026 {
1027 "match": "\\*",
1028 "name": "comment.block.cpp"
1029 }
1030 ]
1031 }
1032 },
1033 "name": "invalid.illegal.reference-type.cpp"
1034 },
1035 {
1036 "match": "\\&",
1037 "name": "storage.modifier.reference.cpp"
1038 }
1039 ]
1040 },
1041 "6": {
1042 "patterns": [
1043 {
1044 "include": "#inline_comment"
1045 }
1046 ]
1047 },
1048 "7": {
1049 "patterns": [
1050 {
1051 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
1052 "captures": {
1053 "1": {
1054 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1055 },
1056 "2": {
1057 "name": "comment.block.cpp"
1058 },
1059 "3": {
1060 "patterns": [
1061 {
1062 "match": "\\*\\/",
1063 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1064 },
1065 {
1066 "match": "\\*",
1067 "name": "comment.block.cpp"
1068 }
1069 ]
1070 }
1071 }
1072 }
1073 ]
1074 },
1075 "8": {
1076 "patterns": [
1077 {
1078 "include": "#inline_comment"
1079 }
1080 ]
1081 },
1082 "9": {
1083 "patterns": [
1084 {
1085 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
1086 "captures": {
1087 "1": {
1088 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1089 },
1090 "2": {
1091 "name": "comment.block.cpp"
1092 },
1093 "3": {
1094 "patterns": [
1095 {
1096 "match": "\\*\\/",
1097 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1098 },
1099 {
1100 "match": "\\*",
1101 "name": "comment.block.cpp"
1102 }
1103 ]
1104 }
1105 }
1106 }
1107 ]
1108 },
1109 "10": {
1110 "patterns": [
1111 {
1112 "include": "#inline_comment"
1113 }
1114 ]
1115 },
1116 "11": {
1117 "patterns": [
1118 {
1119 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
1120 "captures": {
1121 "1": {
1122 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1123 },
1124 "2": {
1125 "name": "comment.block.cpp"
1126 },
1127 "3": {
1128 "patterns": [
1129 {
1130 "match": "\\*\\/",
1131 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1132 },
1133 {
1134 "match": "\\*",
1135 "name": "comment.block.cpp"
1136 }
1137 ]
1138 }
1139 }
1140 }
1141 ]
1142 },
1143 "12": {
1144 "name": "variable.other.object.declare.cpp"
1145 },
1146 "13": {
1147 "patterns": [
1148 {
1149 "include": "#inline_comment"
1150 }
1151 ]
1152 },
1153 "14": {
1154 "patterns": [
1155 {
1156 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
1157 "captures": {
1158 "1": {
1159 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1160 },
1161 "2": {
1162 "name": "comment.block.cpp"
1163 },
1164 "3": {
1165 "patterns": [
1166 {
1167 "match": "\\*\\/",
1168 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1169 },
1170 {
1171 "match": "\\*",
1172 "name": "comment.block.cpp"
1173 }
1174 ]
1175 }
1176 }
1177 }
1178 ]
1179 }
1180 }
1181 },
1182 "comma": {
1183 "match": ",",
1184 "name": "punctuation.separator.delimiter.comma.cpp"
1185 },
1186 "comma_in_template_argument": {
1187 "match": ",",
1188 "name": "punctuation.separator.delimiter.comma.template.argument.cpp"
1189 },
1190 "comments": {
1191 "patterns": [
1192 {
1193 "begin": "^(?:(?:\\s)+)?+(\\/\\/[!\\/]+)",
1194 "end": "(?<=\\n)(?<!\\\\\\n)",
1195 "beginCaptures": {
1196 "1": {
1197 "name": "punctuation.definition.comment.documentation.cpp"
1198 }
1199 },
1200 "endCaptures": {},
1201 "name": "comment.line.double-slash.documentation.cpp",
1202 "patterns": [
1203 {
1204 "include": "#line_continuation_character"
1205 },
1206 {
1207 "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(?:\\{[^}]*\\})?",
1208 "name": "storage.type.class.doxygen.cpp"
1209 },
1210 {
1211 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",
1212 "captures": {
1213 "1": {
1214 "name": "storage.type.class.doxygen.cpp"
1215 },
1216 "2": {
1217 "name": "markup.italic.doxygen.cpp"
1218 }
1219 }
1220 },
1221 {
1222 "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",
1223 "captures": {
1224 "1": {
1225 "name": "storage.type.class.doxygen.cpp"
1226 },
1227 "2": {
1228 "name": "markup.bold.doxygen.cpp"
1229 }
1230 }
1231 },
1232 {
1233 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",
1234 "captures": {
1235 "1": {
1236 "name": "storage.type.class.doxygen.cpp"
1237 },
1238 "2": {
1239 "name": "markup.inline.raw.string.cpp"
1240 }
1241 }
1242 },
1243 {
1244 "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(?:\\{[^}]*\\})?",
1245 "name": "storage.type.class.doxygen.cpp"
1246 },
1247 {
1248 "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(?:\\{[^}]*\\})?",
1249 "name": "storage.type.class.doxygen.cpp"
1250 },
1251 {
1252 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",
1253 "captures": {
1254 "1": {
1255 "name": "storage.type.class.doxygen.cpp"
1256 },
1257 "2": {
1258 "patterns": [
1259 {
1260 "match": "in|out",
1261 "name": "keyword.other.parameter.direction.$0.cpp"
1262 }
1263 ]
1264 },
1265 "3": {
1266 "name": "variable.parameter.cpp"
1267 }
1268 }
1269 },
1270 {
1271 "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(?:\\{[^}]*\\})?",
1272 "name": "storage.type.class.doxygen.cpp"
1273 },
1274 {
1275 "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(?:\\{[^}]*\\})?",
1276 "name": "storage.type.class.doxygen.cpp"
1277 },
1278 {
1279 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1280 "name": "storage.type.class.gtkdoc.cpp"
1281 }
1282 ]
1283 },
1284 {
1285 "match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
1286 "captures": {
1287 "1": {
1288 "name": "punctuation.definition.comment.begin.documentation.cpp"
1289 },
1290 "2": {
1291 "patterns": [
1292 {
1293 "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(?:\\{[^}]*\\})?",
1294 "name": "storage.type.class.doxygen.cpp"
1295 },
1296 {
1297 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",
1298 "captures": {
1299 "1": {
1300 "name": "storage.type.class.doxygen.cpp"
1301 },
1302 "2": {
1303 "name": "markup.italic.doxygen.cpp"
1304 }
1305 }
1306 },
1307 {
1308 "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",
1309 "captures": {
1310 "1": {
1311 "name": "storage.type.class.doxygen.cpp"
1312 },
1313 "2": {
1314 "name": "markup.bold.doxygen.cpp"
1315 }
1316 }
1317 },
1318 {
1319 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",
1320 "captures": {
1321 "1": {
1322 "name": "storage.type.class.doxygen.cpp"
1323 },
1324 "2": {
1325 "name": "markup.inline.raw.string.cpp"
1326 }
1327 }
1328 },
1329 {
1330 "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(?:\\{[^}]*\\})?",
1331 "name": "storage.type.class.doxygen.cpp"
1332 },
1333 {
1334 "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(?:\\{[^}]*\\})?",
1335 "name": "storage.type.class.doxygen.cpp"
1336 },
1337 {
1338 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",
1339 "captures": {
1340 "1": {
1341 "name": "storage.type.class.doxygen.cpp"
1342 },
1343 "2": {
1344 "patterns": [
1345 {
1346 "match": "in|out",
1347 "name": "keyword.other.parameter.direction.$0.cpp"
1348 }
1349 ]
1350 },
1351 "3": {
1352 "name": "variable.parameter.cpp"
1353 }
1354 }
1355 },
1356 {
1357 "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(?:\\{[^}]*\\})?",
1358 "name": "storage.type.class.doxygen.cpp"
1359 },
1360 {
1361 "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(?:\\{[^}]*\\})?",
1362 "name": "storage.type.class.doxygen.cpp"
1363 },
1364 {
1365 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1366 "name": "storage.type.class.gtkdoc.cpp"
1367 }
1368 ]
1369 },
1370 "3": {
1371 "name": "punctuation.definition.comment.end.documentation.cpp"
1372 }
1373 },
1374 "name": "comment.block.documentation.cpp"
1375 },
1376 {
1377 "begin": "(?:(?:\\s)+)?+\\/\\*[!*]+(?:(?:(?:\\n)|$)|(?=\\s))",
1378 "end": "[!*]*\\*\\/",
1379 "beginCaptures": {
1380 "0": {
1381 "name": "punctuation.definition.comment.begin.documentation.cpp"
1382 }
1383 },
1384 "endCaptures": {
1385 "0": {
1386 "name": "punctuation.definition.comment.end.documentation.cpp"
1387 }
1388 },
1389 "name": "comment.block.documentation.cpp",
1390 "patterns": [
1391 {
1392 "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(?:\\{[^}]*\\})?",
1393 "name": "storage.type.class.doxygen.cpp"
1394 },
1395 {
1396 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",
1397 "captures": {
1398 "1": {
1399 "name": "storage.type.class.doxygen.cpp"
1400 },
1401 "2": {
1402 "name": "markup.italic.doxygen.cpp"
1403 }
1404 }
1405 },
1406 {
1407 "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",
1408 "captures": {
1409 "1": {
1410 "name": "storage.type.class.doxygen.cpp"
1411 },
1412 "2": {
1413 "name": "markup.bold.doxygen.cpp"
1414 }
1415 }
1416 },
1417 {
1418 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",
1419 "captures": {
1420 "1": {
1421 "name": "storage.type.class.doxygen.cpp"
1422 },
1423 "2": {
1424 "name": "markup.inline.raw.string.cpp"
1425 }
1426 }
1427 },
1428 {
1429 "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(?:\\{[^}]*\\})?",
1430 "name": "storage.type.class.doxygen.cpp"
1431 },
1432 {
1433 "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(?:\\{[^}]*\\})?",
1434 "name": "storage.type.class.doxygen.cpp"
1435 },
1436 {
1437 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",
1438 "captures": {
1439 "1": {
1440 "name": "storage.type.class.doxygen.cpp"
1441 },
1442 "2": {
1443 "patterns": [
1444 {
1445 "match": "in|out",
1446 "name": "keyword.other.parameter.direction.$0.cpp"
1447 }
1448 ]
1449 },
1450 "3": {
1451 "name": "variable.parameter.cpp"
1452 }
1453 }
1454 },
1455 {
1456 "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(?:\\{[^}]*\\})?",
1457 "name": "storage.type.class.doxygen.cpp"
1458 },
1459 {
1460 "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(?:\\{[^}]*\\})?",
1461 "name": "storage.type.class.doxygen.cpp"
1462 },
1463 {
1464 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1465 "name": "storage.type.class.gtkdoc.cpp"
1466 }
1467 ]
1468 },
1469 {
1470 "include": "#emacs_file_banner"
1471 },
1472 {
1473 "include": "#block_comment"
1474 },
1475 {
1476 "include": "#line_comment"
1477 },
1478 {
1479 "include": "#invalid_comment_end"
1480 }
1481 ]
1482 },
1483 "constructor_inline": {
1484 "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)(?=\\())",
1485 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
1486 "beginCaptures": {
1487 "0": {
1488 "name": "meta.head.function.definition.special.constructor.cpp"
1489 },
1490 "1": {
1491 "patterns": [
1492 {
1493 "include": "#inline_comment"
1494 }
1495 ]
1496 },
1497 "2": {
1498 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1499 },
1500 "3": {
1501 "name": "comment.block.cpp"
1502 },
1503 "4": {
1504 "patterns": [
1505 {
1506 "match": "\\*\\/",
1507 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1508 },
1509 {
1510 "match": "\\*",
1511 "name": "comment.block.cpp"
1512 }
1513 ]
1514 },
1515 "5": {
1516 "patterns": [
1517 {
1518 "include": "#functional_specifiers_pre_parameters"
1519 }
1520 ]
1521 },
1522 "6": {
1523 "patterns": [
1524 {
1525 "include": "#inline_comment"
1526 }
1527 ]
1528 },
1529 "7": {
1530 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1531 },
1532 "8": {
1533 "name": "comment.block.cpp"
1534 },
1535 "9": {
1536 "patterns": [
1537 {
1538 "match": "\\*\\/",
1539 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1540 },
1541 {
1542 "match": "\\*",
1543 "name": "comment.block.cpp"
1544 }
1545 ]
1546 },
1547 "10": {
1548 "patterns": [
1549 {
1550 "include": "#inline_comment"
1551 }
1552 ]
1553 },
1554 "11": {
1555 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1556 },
1557 "12": {
1558 "name": "comment.block.cpp"
1559 },
1560 "13": {
1561 "patterns": [
1562 {
1563 "match": "\\*\\/",
1564 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1565 },
1566 {
1567 "match": "\\*",
1568 "name": "comment.block.cpp"
1569 }
1570 ]
1571 },
1572 "14": {
1573 "name": "storage.type.modifier.calling-convention.cpp"
1574 },
1575 "15": {
1576 "patterns": [
1577 {
1578 "include": "#inline_comment"
1579 }
1580 ]
1581 },
1582 "16": {
1583 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1584 },
1585 "17": {
1586 "name": "comment.block.cpp"
1587 },
1588 "18": {
1589 "patterns": [
1590 {
1591 "match": "\\*\\/",
1592 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1593 },
1594 {
1595 "match": "\\*",
1596 "name": "comment.block.cpp"
1597 }
1598 ]
1599 },
1600 "19": {
1601 "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"
1602 }
1603 },
1604 "endCaptures": {},
1605 "name": "meta.function.definition.special.constructor.cpp",
1606 "patterns": [
1607 {
1608 "begin": "\\G ?",
1609 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
1610 "beginCaptures": {},
1611 "endCaptures": {
1612 "0": {
1613 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
1614 }
1615 },
1616 "name": "meta.head.function.definition.special.constructor.cpp",
1617 "patterns": [
1618 {
1619 "include": "#ever_present_context"
1620 },
1621 {
1622 "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
1623 "captures": {
1624 "1": {
1625 "name": "keyword.operator.assignment.cpp"
1626 },
1627 "2": {
1628 "patterns": [
1629 {
1630 "include": "#inline_comment"
1631 }
1632 ]
1633 },
1634 "3": {
1635 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1636 },
1637 "4": {
1638 "name": "comment.block.cpp"
1639 },
1640 "5": {
1641 "patterns": [
1642 {
1643 "match": "\\*\\/",
1644 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1645 },
1646 {
1647 "match": "\\*",
1648 "name": "comment.block.cpp"
1649 }
1650 ]
1651 },
1652 "6": {
1653 "name": "keyword.other.default.constructor.cpp"
1654 },
1655 "7": {
1656 "name": "keyword.other.delete.constructor.cpp"
1657 }
1658 }
1659 },
1660 {
1661 "include": "#functional_specifiers_pre_parameters"
1662 },
1663 {
1664 "begin": ":",
1665 "end": "(?=\\{)",
1666 "beginCaptures": {
1667 "0": {
1668 "name": "punctuation.separator.initializers.cpp"
1669 }
1670 },
1671 "endCaptures": {},
1672 "patterns": [
1673 {
1674 "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)*+)?(\\()",
1675 "end": "\\)",
1676 "beginCaptures": {
1677 "1": {
1678 "name": "entity.name.function.call.initializer.cpp"
1679 },
1680 "2": {
1681 "name": "meta.template.call.cpp",
1682 "patterns": [
1683 {
1684 "include": "#template_call_range"
1685 }
1686 ]
1687 },
1688 "3": {},
1689 "4": {
1690 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1691 }
1692 },
1693 "endCaptures": {
1694 "0": {
1695 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1696 }
1697 },
1698 "contentName": "meta.parameter.initialization",
1699 "patterns": [
1700 {
1701 "include": "#evaluation_context"
1702 }
1703 ]
1704 },
1705 {
1706 "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))(\\{)",
1707 "end": "\\}",
1708 "beginCaptures": {
1709 "1": {
1710 "name": "entity.name.function.call.initializer.cpp"
1711 },
1712 "2": {
1713 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1714 }
1715 },
1716 "endCaptures": {
1717 "0": {
1718 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1719 }
1720 },
1721 "contentName": "meta.parameter.initialization",
1722 "patterns": [
1723 {
1724 "include": "#evaluation_context"
1725 }
1726 ]
1727 },
1728 {
1729 "match": ",",
1730 "name": "punctuation.separator.delimiter.comma.cpp"
1731 },
1732 {
1733 "include": "#comments"
1734 }
1735 ]
1736 },
1737 {
1738 "begin": "\\(",
1739 "end": "\\)",
1740 "beginCaptures": {
1741 "0": {
1742 "name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
1743 }
1744 },
1745 "endCaptures": {
1746 "0": {
1747 "name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
1748 }
1749 },
1750 "contentName": "meta.function.definition.parameters.special.constructor",
1751 "patterns": [
1752 {
1753 "include": "#function_parameter_context"
1754 },
1755 {
1756 "include": "#evaluation_context"
1757 }
1758 ]
1759 },
1760 {
1761 "match": "((?:(?:final)|(?:override)))+",
1762 "captures": {
1763 "1": {
1764 "name": "keyword.operator.$1.cpp"
1765 }
1766 }
1767 },
1768 {
1769 "include": "$self"
1770 }
1771 ]
1772 },
1773 {
1774 "begin": "(?<=\\{|<%|\\?\\?<)",
1775 "end": "\\}|%>|\\?\\?>",
1776 "beginCaptures": {},
1777 "endCaptures": {
1778 "0": {
1779 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
1780 }
1781 },
1782 "name": "meta.body.function.definition.special.constructor.cpp",
1783 "patterns": [
1784 {
1785 "include": "#function_body_context"
1786 }
1787 ]
1788 },
1789 {
1790 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
1791 "end": "[\\s]*(?=;)",
1792 "beginCaptures": {},
1793 "endCaptures": {},
1794 "name": "meta.tail.function.definition.special.constructor.cpp",
1795 "patterns": [
1796 {
1797 "include": "$self"
1798 }
1799 ]
1800 }
1801 ]
1802 },
1803 "constructor_root": {
1804 "begin": "\\s*+((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())",
1805 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
1806 "beginCaptures": {
1807 "0": {
1808 "name": "meta.head.function.definition.special.constructor.cpp"
1809 },
1810 "1": {
1811 "patterns": [
1812 {
1813 "include": "#inline_comment"
1814 }
1815 ]
1816 },
1817 "2": {
1818 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1819 },
1820 "3": {
1821 "name": "comment.block.cpp"
1822 },
1823 "4": {
1824 "patterns": [
1825 {
1826 "match": "\\*\\/",
1827 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1828 },
1829 {
1830 "match": "\\*",
1831 "name": "comment.block.cpp"
1832 }
1833 ]
1834 },
1835 "5": {
1836 "name": "storage.type.modifier.calling-convention.cpp"
1837 },
1838 "6": {
1839 "patterns": [
1840 {
1841 "include": "#inline_comment"
1842 }
1843 ]
1844 },
1845 "7": {
1846 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1847 },
1848 "8": {
1849 "name": "comment.block.cpp"
1850 },
1851 "9": {
1852 "patterns": [
1853 {
1854 "match": "\\*\\/",
1855 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1856 },
1857 {
1858 "match": "\\*",
1859 "name": "comment.block.cpp"
1860 }
1861 ]
1862 },
1863 "10": {
1864 "patterns": [
1865 {
1866 "match": "::",
1867 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
1868 },
1869 {
1870 "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)",
1871 "name": "entity.name.scope-resolution.constructor.cpp"
1872 },
1873 {
1874 "include": "#template_call_range"
1875 }
1876 ]
1877 },
1878 "11": {
1879 "patterns": [
1880 {
1881 "include": "#template_call_range"
1882 }
1883 ]
1884 },
1885 "12": {},
1886 "13": {
1887 "patterns": [
1888 {
1889 "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}))*(?=:)",
1890 "name": "entity.name.type.constructor.cpp"
1891 },
1892 {
1893 "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}))*",
1894 "name": "entity.name.function.definition.special.constructor.cpp"
1895 },
1896 {
1897 "match": "::",
1898 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
1899 }
1900 ]
1901 },
1902 "14": {},
1903 "15": {
1904 "patterns": [
1905 {
1906 "include": "#inline_comment"
1907 }
1908 ]
1909 },
1910 "16": {
1911 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1912 },
1913 "17": {
1914 "name": "comment.block.cpp"
1915 },
1916 "18": {
1917 "patterns": [
1918 {
1919 "match": "\\*\\/",
1920 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1921 },
1922 {
1923 "match": "\\*",
1924 "name": "comment.block.cpp"
1925 }
1926 ]
1927 },
1928 "19": {
1929 "patterns": [
1930 {
1931 "include": "#inline_comment"
1932 }
1933 ]
1934 },
1935 "20": {
1936 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1937 },
1938 "21": {
1939 "name": "comment.block.cpp"
1940 },
1941 "22": {
1942 "patterns": [
1943 {
1944 "match": "\\*\\/",
1945 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1946 },
1947 {
1948 "match": "\\*",
1949 "name": "comment.block.cpp"
1950 }
1951 ]
1952 },
1953 "23": {
1954 "patterns": [
1955 {
1956 "include": "#inline_comment"
1957 }
1958 ]
1959 },
1960 "24": {
1961 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1962 },
1963 "25": {
1964 "name": "comment.block.cpp"
1965 },
1966 "26": {
1967 "patterns": [
1968 {
1969 "match": "\\*\\/",
1970 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1971 },
1972 {
1973 "match": "\\*",
1974 "name": "comment.block.cpp"
1975 }
1976 ]
1977 }
1978 },
1979 "endCaptures": {},
1980 "name": "meta.function.definition.special.constructor.cpp",
1981 "patterns": [
1982 {
1983 "begin": "\\G ?",
1984 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
1985 "beginCaptures": {},
1986 "endCaptures": {
1987 "0": {
1988 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
1989 }
1990 },
1991 "name": "meta.head.function.definition.special.constructor.cpp",
1992 "patterns": [
1993 {
1994 "include": "#ever_present_context"
1995 },
1996 {
1997 "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
1998 "captures": {
1999 "1": {
2000 "name": "keyword.operator.assignment.cpp"
2001 },
2002 "2": {
2003 "patterns": [
2004 {
2005 "include": "#inline_comment"
2006 }
2007 ]
2008 },
2009 "3": {
2010 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2011 },
2012 "4": {
2013 "name": "comment.block.cpp"
2014 },
2015 "5": {
2016 "patterns": [
2017 {
2018 "match": "\\*\\/",
2019 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2020 },
2021 {
2022 "match": "\\*",
2023 "name": "comment.block.cpp"
2024 }
2025 ]
2026 },
2027 "6": {
2028 "name": "keyword.other.default.constructor.cpp"
2029 },
2030 "7": {
2031 "name": "keyword.other.delete.constructor.cpp"
2032 }
2033 }
2034 },
2035 {
2036 "include": "#functional_specifiers_pre_parameters"
2037 },
2038 {
2039 "begin": ":",
2040 "end": "(?=\\{)",
2041 "beginCaptures": {
2042 "0": {
2043 "name": "punctuation.separator.initializers.cpp"
2044 }
2045 },
2046 "endCaptures": {},
2047 "patterns": [
2048 {
2049 "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)*+)?(\\()",
2050 "end": "\\)",
2051 "beginCaptures": {
2052 "1": {
2053 "name": "entity.name.function.call.initializer.cpp"
2054 },
2055 "2": {
2056 "name": "meta.template.call.cpp",
2057 "patterns": [
2058 {
2059 "include": "#template_call_range"
2060 }
2061 ]
2062 },
2063 "3": {},
2064 "4": {
2065 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
2066 }
2067 },
2068 "endCaptures": {
2069 "0": {
2070 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
2071 }
2072 },
2073 "contentName": "meta.parameter.initialization",
2074 "patterns": [
2075 {
2076 "include": "#evaluation_context"
2077 }
2078 ]
2079 },
2080 {
2081 "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))(\\{)",
2082 "end": "\\}",
2083 "beginCaptures": {
2084 "1": {
2085 "name": "entity.name.function.call.initializer.cpp"
2086 },
2087 "2": {
2088 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
2089 }
2090 },
2091 "endCaptures": {
2092 "0": {
2093 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
2094 }
2095 },
2096 "contentName": "meta.parameter.initialization",
2097 "patterns": [
2098 {
2099 "include": "#evaluation_context"
2100 }
2101 ]
2102 },
2103 {
2104 "match": ",",
2105 "name": "punctuation.separator.delimiter.comma.cpp"
2106 },
2107 {
2108 "include": "#comments"
2109 }
2110 ]
2111 },
2112 {
2113 "begin": "\\(",
2114 "end": "\\)",
2115 "beginCaptures": {
2116 "0": {
2117 "name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
2118 }
2119 },
2120 "endCaptures": {
2121 "0": {
2122 "name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
2123 }
2124 },
2125 "contentName": "meta.function.definition.parameters.special.constructor",
2126 "patterns": [
2127 {
2128 "include": "#function_parameter_context"
2129 },
2130 {
2131 "include": "#evaluation_context"
2132 }
2133 ]
2134 },
2135 {
2136 "match": "((?:(?:final)|(?:override)))+",
2137 "captures": {
2138 "1": {
2139 "name": "keyword.operator.$1.cpp"
2140 }
2141 }
2142 },
2143 {
2144 "include": "$self"
2145 }
2146 ]
2147 },
2148 {
2149 "begin": "(?<=\\{|<%|\\?\\?<)",
2150 "end": "\\}|%>|\\?\\?>",
2151 "beginCaptures": {},
2152 "endCaptures": {
2153 "0": {
2154 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
2155 }
2156 },
2157 "name": "meta.body.function.definition.special.constructor.cpp",
2158 "patterns": [
2159 {
2160 "include": "#function_body_context"
2161 }
2162 ]
2163 },
2164 {
2165 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
2166 "end": "[\\s]*(?=;)",
2167 "beginCaptures": {},
2168 "endCaptures": {},
2169 "name": "meta.tail.function.definition.special.constructor.cpp",
2170 "patterns": [
2171 {
2172 "include": "$self"
2173 }
2174 ]
2175 }
2176 ]
2177 },
2178 "control_flow_keywords": {
2179 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:co_return)|(?:continue)|(?:co_await)|(?:co_yield)|(?:default)|(?:switch)|(?:return)|(?:throw)|(?:while)|(?:catch)|(?:break)|(?:else)|(?:goto)|(?:case)|(?:for)|(?:try)|(?:do)|(?:if))(?!\\w))",
2180 "captures": {
2181 "1": {
2182 "patterns": [
2183 {
2184 "include": "#inline_comment"
2185 }
2186 ]
2187 },
2188 "2": {
2189 "patterns": [
2190 {
2191 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2192 "captures": {
2193 "1": {
2194 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2195 },
2196 "2": {
2197 "name": "comment.block.cpp"
2198 },
2199 "3": {
2200 "patterns": [
2201 {
2202 "match": "\\*\\/",
2203 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2204 },
2205 {
2206 "match": "\\*",
2207 "name": "comment.block.cpp"
2208 }
2209 ]
2210 }
2211 }
2212 }
2213 ]
2214 },
2215 "3": {
2216 "name": "keyword.control.$3.cpp"
2217 }
2218 }
2219 },
2220 "cpp_attributes": {
2221 "begin": "\\[\\[",
2222 "end": "\\]\\]",
2223 "beginCaptures": {
2224 "0": {
2225 "name": "punctuation.section.attribute.begin.cpp"
2226 }
2227 },
2228 "endCaptures": {
2229 "0": {
2230 "name": "punctuation.section.attribute.end.cpp"
2231 }
2232 },
2233 "name": "support.other.attribute.cpp",
2234 "patterns": [
2235 {
2236 "include": "#attributes_context"
2237 },
2238 {
2239 "begin": "\\(",
2240 "end": "\\)",
2241 "beginCaptures": {},
2242 "endCaptures": {},
2243 "patterns": [
2244 {
2245 "include": "#attributes_context"
2246 },
2247 {
2248 "include": "#string_context"
2249 }
2250 ]
2251 },
2252 {
2253 "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))",
2254 "captures": {
2255 "1": {
2256 "name": "keyword.other.using.directive.cpp"
2257 },
2258 "2": {
2259 "name": "entity.name.namespace.cpp"
2260 }
2261 }
2262 },
2263 {
2264 "match": ",",
2265 "name": "punctuation.separator.attribute.cpp"
2266 },
2267 {
2268 "match": ":",
2269 "name": "punctuation.accessor.attribute.cpp"
2270 },
2271 {
2272 "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)(?=::)",
2273 "name": "entity.name.namespace.cpp"
2274 },
2275 {
2276 "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)",
2277 "name": "entity.other.attribute.$0.cpp"
2278 },
2279 {
2280 "include": "#number_literal"
2281 }
2282 ]
2283 },
2284 "curly_initializer": {
2285 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?: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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\{)",
2286 "end": "\\}",
2287 "beginCaptures": {
2288 "1": {
2289 "name": "meta.qualified_type.cpp",
2290 "patterns": [
2291 {
2292 "match": "::",
2293 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
2294 },
2295 {
2296 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
2297 "name": "storage.type.$0.cpp"
2298 },
2299 {
2300 "include": "#attributes_context"
2301 },
2302 {
2303 "include": "#storage_types"
2304 },
2305 {
2306 "include": "#number_literal"
2307 },
2308 {
2309 "include": "#string_context"
2310 },
2311 {
2312 "include": "#comma"
2313 },
2314 {
2315 "include": "#scope_resolution_inner_generated"
2316 },
2317 {
2318 "begin": "<",
2319 "end": ">",
2320 "beginCaptures": {
2321 "0": {
2322 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
2323 }
2324 },
2325 "endCaptures": {
2326 "0": {
2327 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
2328 }
2329 },
2330 "name": "meta.template.call.cpp",
2331 "patterns": [
2332 {
2333 "include": "#template_call_context"
2334 }
2335 ]
2336 },
2337 {
2338 "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}))*",
2339 "name": "entity.name.type.cpp"
2340 }
2341 ]
2342 },
2343 "2": {
2344 "patterns": [
2345 {
2346 "include": "#attributes_context"
2347 },
2348 {
2349 "include": "#number_literal"
2350 }
2351 ]
2352 },
2353 "3": {
2354 "patterns": [
2355 {
2356 "include": "#inline_comment"
2357 }
2358 ]
2359 },
2360 "4": {
2361 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2362 },
2363 "5": {
2364 "name": "comment.block.cpp"
2365 },
2366 "6": {
2367 "patterns": [
2368 {
2369 "match": "\\*\\/",
2370 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2371 },
2372 {
2373 "match": "\\*",
2374 "name": "comment.block.cpp"
2375 }
2376 ]
2377 },
2378 "7": {
2379 "patterns": [
2380 {
2381 "include": "#inline_comment"
2382 }
2383 ]
2384 },
2385 "8": {
2386 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2387 },
2388 "9": {
2389 "name": "comment.block.cpp"
2390 },
2391 "10": {
2392 "patterns": [
2393 {
2394 "match": "\\*\\/",
2395 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2396 },
2397 {
2398 "match": "\\*",
2399 "name": "comment.block.cpp"
2400 }
2401 ]
2402 },
2403 "11": {
2404 "patterns": [
2405 {
2406 "match": "::",
2407 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
2408 },
2409 {
2410 "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)",
2411 "name": "entity.name.scope-resolution.type.cpp"
2412 },
2413 {
2414 "include": "#template_call_range"
2415 }
2416 ]
2417 },
2418 "12": {
2419 "patterns": [
2420 {
2421 "include": "#template_call_range"
2422 }
2423 ]
2424 },
2425 "13": {},
2426 "14": {
2427 "patterns": [
2428 {
2429 "include": "#inline_comment"
2430 }
2431 ]
2432 },
2433 "15": {
2434 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2435 },
2436 "16": {
2437 "name": "comment.block.cpp"
2438 },
2439 "17": {
2440 "patterns": [
2441 {
2442 "match": "\\*\\/",
2443 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2444 },
2445 {
2446 "match": "\\*",
2447 "name": "comment.block.cpp"
2448 }
2449 ]
2450 },
2451 "18": {},
2452 "19": {
2453 "patterns": [
2454 {
2455 "include": "#inline_comment"
2456 }
2457 ]
2458 },
2459 "20": {
2460 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2461 },
2462 "21": {
2463 "name": "comment.block.cpp"
2464 },
2465 "22": {
2466 "patterns": [
2467 {
2468 "match": "\\*\\/",
2469 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2470 },
2471 {
2472 "match": "\\*",
2473 "name": "comment.block.cpp"
2474 }
2475 ]
2476 },
2477 "23": {
2478 "name": "punctuation.section.arguments.begin.bracket.curly.initializer.cpp"
2479 }
2480 },
2481 "endCaptures": {
2482 "0": {
2483 "name": "punctuation.section.arguments.end.bracket.curly.initializer.cpp"
2484 }
2485 },
2486 "name": "meta.initialization.cpp",
2487 "patterns": [
2488 {
2489 "include": "#evaluation_context"
2490 },
2491 {
2492 "include": "#comma"
2493 }
2494 ]
2495 },
2496 "d9bc4796b0b_module_import": {
2497 "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((import))(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)",
2498 "captures": {
2499 "1": {
2500 "patterns": [
2501 {
2502 "include": "#inline_comment"
2503 }
2504 ]
2505 },
2506 "2": {
2507 "patterns": [
2508 {
2509 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2510 "captures": {
2511 "1": {
2512 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2513 },
2514 "2": {
2515 "name": "comment.block.cpp"
2516 },
2517 "3": {
2518 "patterns": [
2519 {
2520 "match": "\\*\\/",
2521 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2522 },
2523 {
2524 "match": "\\*",
2525 "name": "comment.block.cpp"
2526 }
2527 ]
2528 }
2529 }
2530 }
2531 ]
2532 },
2533 "3": {
2534 "name": "keyword.control.directive.import.cpp"
2535 },
2536 "5": {
2537 "name": "string.quoted.other.lt-gt.include.cpp"
2538 },
2539 "6": {
2540 "name": "punctuation.definition.string.begin.cpp"
2541 },
2542 "7": {
2543 "name": "punctuation.definition.string.end.cpp"
2544 },
2545 "8": {
2546 "patterns": [
2547 {
2548 "include": "#inline_comment"
2549 }
2550 ]
2551 },
2552 "9": {
2553 "patterns": [
2554 {
2555 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2556 "captures": {
2557 "1": {
2558 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2559 },
2560 "2": {
2561 "name": "comment.block.cpp"
2562 },
2563 "3": {
2564 "patterns": [
2565 {
2566 "match": "\\*\\/",
2567 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2568 },
2569 {
2570 "match": "\\*",
2571 "name": "comment.block.cpp"
2572 }
2573 ]
2574 }
2575 }
2576 }
2577 ]
2578 },
2579 "10": {
2580 "name": "string.quoted.double.include.cpp"
2581 },
2582 "11": {
2583 "name": "punctuation.definition.string.begin.cpp"
2584 },
2585 "12": {
2586 "name": "punctuation.definition.string.end.cpp"
2587 },
2588 "13": {
2589 "patterns": [
2590 {
2591 "include": "#inline_comment"
2592 }
2593 ]
2594 },
2595 "14": {
2596 "patterns": [
2597 {
2598 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2599 "captures": {
2600 "1": {
2601 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2602 },
2603 "2": {
2604 "name": "comment.block.cpp"
2605 },
2606 "3": {
2607 "patterns": [
2608 {
2609 "match": "\\*\\/",
2610 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2611 },
2612 {
2613 "match": "\\*",
2614 "name": "comment.block.cpp"
2615 }
2616 ]
2617 }
2618 }
2619 }
2620 ]
2621 },
2622 "15": {
2623 "name": "entity.name.other.preprocessor.macro.include.cpp"
2624 },
2625 "16": {
2626 "patterns": [
2627 {
2628 "include": "#inline_comment"
2629 }
2630 ]
2631 },
2632 "17": {
2633 "patterns": [
2634 {
2635 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2636 "captures": {
2637 "1": {
2638 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2639 },
2640 "2": {
2641 "name": "comment.block.cpp"
2642 },
2643 "3": {
2644 "patterns": [
2645 {
2646 "match": "\\*\\/",
2647 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2648 },
2649 {
2650 "match": "\\*",
2651 "name": "comment.block.cpp"
2652 }
2653 ]
2654 }
2655 }
2656 }
2657 ]
2658 },
2659 "18": {
2660 "patterns": [
2661 {
2662 "include": "#inline_comment"
2663 }
2664 ]
2665 },
2666 "19": {
2667 "patterns": [
2668 {
2669 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2670 "captures": {
2671 "1": {
2672 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2673 },
2674 "2": {
2675 "name": "comment.block.cpp"
2676 },
2677 "3": {
2678 "patterns": [
2679 {
2680 "match": "\\*\\/",
2681 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2682 },
2683 {
2684 "match": "\\*",
2685 "name": "comment.block.cpp"
2686 }
2687 ]
2688 }
2689 }
2690 }
2691 ]
2692 },
2693 "20": {
2694 "patterns": [
2695 {
2696 "include": "#inline_comment"
2697 }
2698 ]
2699 },
2700 "21": {
2701 "patterns": [
2702 {
2703 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2704 "captures": {
2705 "1": {
2706 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2707 },
2708 "2": {
2709 "name": "comment.block.cpp"
2710 },
2711 "3": {
2712 "patterns": [
2713 {
2714 "match": "\\*\\/",
2715 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2716 },
2717 {
2718 "match": "\\*",
2719 "name": "comment.block.cpp"
2720 }
2721 ]
2722 }
2723 }
2724 }
2725 ]
2726 },
2727 "22": {
2728 "name": "punctuation.terminator.statement.cpp"
2729 }
2730 },
2731 "name": "meta.preprocessor.import.cpp"
2732 },
2733 "d9bc4796b0b_preprocessor_number_literal": {
2734 "match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
2735 "captures": {
2736 "0": {
2737 "patterns": [
2738 {
2739 "begin": "(?=.)",
2740 "end": "$",
2741 "beginCaptures": {},
2742 "endCaptures": {},
2743 "patterns": [
2744 {
2745 "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))?$",
2746 "captures": {
2747 "1": {
2748 "name": "keyword.other.unit.hexadecimal.cpp"
2749 },
2750 "2": {
2751 "name": "constant.numeric.hexadecimal.cpp",
2752 "patterns": [
2753 {
2754 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2755 "name": "punctuation.separator.constant.numeric.cpp"
2756 }
2757 ]
2758 },
2759 "3": {
2760 "name": "punctuation.separator.constant.numeric.cpp"
2761 },
2762 "4": {
2763 "name": "constant.numeric.hexadecimal.cpp"
2764 },
2765 "5": {
2766 "name": "constant.numeric.hexadecimal.cpp",
2767 "patterns": [
2768 {
2769 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2770 "name": "punctuation.separator.constant.numeric.cpp"
2771 }
2772 ]
2773 },
2774 "6": {
2775 "name": "punctuation.separator.constant.numeric.cpp"
2776 },
2777 "7": {
2778 "name": "keyword.other.unit.exponent.hexadecimal.cpp"
2779 },
2780 "8": {
2781 "name": "keyword.operator.plus.exponent.hexadecimal.cpp"
2782 },
2783 "9": {
2784 "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
2785 },
2786 "10": {
2787 "name": "constant.numeric.exponent.hexadecimal.cpp",
2788 "patterns": [
2789 {
2790 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2791 "name": "punctuation.separator.constant.numeric.cpp"
2792 }
2793 ]
2794 },
2795 "11": {
2796 "name": "keyword.other.unit.suffix.floating-point.cpp"
2797 }
2798 }
2799 },
2800 {
2801 "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))?$",
2802 "captures": {
2803 "1": {
2804 "name": "constant.numeric.decimal.cpp",
2805 "patterns": [
2806 {
2807 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2808 "name": "punctuation.separator.constant.numeric.cpp"
2809 }
2810 ]
2811 },
2812 "2": {
2813 "name": "punctuation.separator.constant.numeric.cpp"
2814 },
2815 "3": {
2816 "name": "constant.numeric.decimal.point.cpp"
2817 },
2818 "4": {
2819 "name": "constant.numeric.decimal.cpp",
2820 "patterns": [
2821 {
2822 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2823 "name": "punctuation.separator.constant.numeric.cpp"
2824 }
2825 ]
2826 },
2827 "5": {
2828 "name": "punctuation.separator.constant.numeric.cpp"
2829 },
2830 "6": {
2831 "name": "keyword.other.unit.exponent.decimal.cpp"
2832 },
2833 "7": {
2834 "name": "keyword.operator.plus.exponent.decimal.cpp"
2835 },
2836 "8": {
2837 "name": "keyword.operator.minus.exponent.decimal.cpp"
2838 },
2839 "9": {
2840 "name": "constant.numeric.exponent.decimal.cpp",
2841 "patterns": [
2842 {
2843 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2844 "name": "punctuation.separator.constant.numeric.cpp"
2845 }
2846 ]
2847 },
2848 "10": {
2849 "name": "keyword.other.unit.suffix.floating-point.cpp"
2850 }
2851 }
2852 },
2853 {
2854 "match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2855 "captures": {
2856 "1": {
2857 "name": "keyword.other.unit.binary.cpp"
2858 },
2859 "2": {
2860 "name": "constant.numeric.binary.cpp",
2861 "patterns": [
2862 {
2863 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2864 "name": "punctuation.separator.constant.numeric.cpp"
2865 }
2866 ]
2867 },
2868 "3": {
2869 "name": "punctuation.separator.constant.numeric.cpp"
2870 },
2871 "4": {
2872 "name": "keyword.other.unit.suffix.integer.cpp"
2873 }
2874 }
2875 },
2876 {
2877 "match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2878 "captures": {
2879 "1": {
2880 "name": "keyword.other.unit.octal.cpp"
2881 },
2882 "2": {
2883 "name": "constant.numeric.octal.cpp",
2884 "patterns": [
2885 {
2886 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2887 "name": "punctuation.separator.constant.numeric.cpp"
2888 }
2889 ]
2890 },
2891 "3": {
2892 "name": "punctuation.separator.constant.numeric.cpp"
2893 },
2894 "4": {
2895 "name": "keyword.other.unit.suffix.integer.cpp"
2896 }
2897 }
2898 },
2899 {
2900 "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))?$",
2901 "captures": {
2902 "1": {
2903 "name": "keyword.other.unit.hexadecimal.cpp"
2904 },
2905 "2": {
2906 "name": "constant.numeric.hexadecimal.cpp",
2907 "patterns": [
2908 {
2909 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2910 "name": "punctuation.separator.constant.numeric.cpp"
2911 }
2912 ]
2913 },
2914 "3": {
2915 "name": "punctuation.separator.constant.numeric.cpp"
2916 },
2917 "4": {
2918 "name": "keyword.other.unit.exponent.hexadecimal.cpp"
2919 },
2920 "5": {
2921 "name": "keyword.operator.plus.exponent.hexadecimal.cpp"
2922 },
2923 "6": {
2924 "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
2925 },
2926 "7": {
2927 "name": "constant.numeric.exponent.hexadecimal.cpp",
2928 "patterns": [
2929 {
2930 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2931 "name": "punctuation.separator.constant.numeric.cpp"
2932 }
2933 ]
2934 },
2935 "8": {
2936 "name": "keyword.other.unit.suffix.integer.cpp"
2937 }
2938 }
2939 },
2940 {
2941 "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))?$",
2942 "captures": {
2943 "1": {
2944 "name": "constant.numeric.decimal.cpp",
2945 "patterns": [
2946 {
2947 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2948 "name": "punctuation.separator.constant.numeric.cpp"
2949 }
2950 ]
2951 },
2952 "2": {
2953 "name": "punctuation.separator.constant.numeric.cpp"
2954 },
2955 "3": {
2956 "name": "keyword.other.unit.exponent.decimal.cpp"
2957 },
2958 "4": {
2959 "name": "keyword.operator.plus.exponent.decimal.cpp"
2960 },
2961 "5": {
2962 "name": "keyword.operator.minus.exponent.decimal.cpp"
2963 },
2964 "6": {
2965 "name": "constant.numeric.exponent.decimal.cpp",
2966 "patterns": [
2967 {
2968 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2969 "name": "punctuation.separator.constant.numeric.cpp"
2970 }
2971 ]
2972 },
2973 "7": {
2974 "name": "keyword.other.unit.suffix.integer.cpp"
2975 }
2976 }
2977 },
2978 {
2979 "match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
2980 "name": "invalid.illegal.constant.numeric.cpp"
2981 }
2982 ]
2983 }
2984 ]
2985 }
2986 }
2987 },
2988 "decltype": {
2989 "begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
2990 "end": "\\)",
2991 "beginCaptures": {
2992 "1": {
2993 "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
2994 },
2995 "2": {
2996 "patterns": [
2997 {
2998 "include": "#inline_comment"
2999 }
3000 ]
3001 },
3002 "3": {
3003 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3004 },
3005 "4": {
3006 "name": "comment.block.cpp"
3007 },
3008 "5": {
3009 "patterns": [
3010 {
3011 "match": "\\*\\/",
3012 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3013 },
3014 {
3015 "match": "\\*",
3016 "name": "comment.block.cpp"
3017 }
3018 ]
3019 },
3020 "6": {
3021 "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
3022 }
3023 },
3024 "endCaptures": {
3025 "0": {
3026 "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
3027 }
3028 },
3029 "contentName": "meta.arguments.decltype",
3030 "patterns": [
3031 {
3032 "include": "#evaluation_context"
3033 }
3034 ]
3035 },
3036 "decltype_specifier": {
3037 "begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
3038 "end": "\\)",
3039 "beginCaptures": {
3040 "1": {
3041 "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
3042 },
3043 "2": {
3044 "patterns": [
3045 {
3046 "include": "#inline_comment"
3047 }
3048 ]
3049 },
3050 "3": {
3051 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3052 },
3053 "4": {
3054 "name": "comment.block.cpp"
3055 },
3056 "5": {
3057 "patterns": [
3058 {
3059 "match": "\\*\\/",
3060 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3061 },
3062 {
3063 "match": "\\*",
3064 "name": "comment.block.cpp"
3065 }
3066 ]
3067 },
3068 "6": {
3069 "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
3070 }
3071 },
3072 "endCaptures": {
3073 "0": {
3074 "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
3075 }
3076 },
3077 "contentName": "meta.arguments.decltype",
3078 "patterns": [
3079 {
3080 "include": "#evaluation_context"
3081 }
3082 ]
3083 },
3084 "default_statement": {
3085 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)default(?!\\w))",
3086 "end": ":",
3087 "beginCaptures": {
3088 "1": {
3089 "patterns": [
3090 {
3091 "include": "#inline_comment"
3092 }
3093 ]
3094 },
3095 "2": {
3096 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3097 },
3098 "3": {
3099 "name": "comment.block.cpp"
3100 },
3101 "4": {
3102 "patterns": [
3103 {
3104 "match": "\\*\\/",
3105 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3106 },
3107 {
3108 "match": "\\*",
3109 "name": "comment.block.cpp"
3110 }
3111 ]
3112 },
3113 "5": {
3114 "name": "keyword.control.default.cpp"
3115 }
3116 },
3117 "endCaptures": {
3118 "0": {
3119 "name": "punctuation.separator.colon.case.default.cpp"
3120 }
3121 },
3122 "name": "meta.conditional.case.cpp",
3123 "patterns": [
3124 {
3125 "include": "#evaluation_context"
3126 }
3127 ]
3128 },
3129 "destructor_inline": {
3130 "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)(?=\\())",
3131 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
3132 "beginCaptures": {
3133 "0": {
3134 "name": "meta.head.function.definition.special.member.destructor.cpp"
3135 },
3136 "1": {
3137 "patterns": [
3138 {
3139 "include": "#inline_comment"
3140 }
3141 ]
3142 },
3143 "2": {
3144 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3145 },
3146 "3": {
3147 "name": "comment.block.cpp"
3148 },
3149 "4": {
3150 "patterns": [
3151 {
3152 "match": "\\*\\/",
3153 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3154 },
3155 {
3156 "match": "\\*",
3157 "name": "comment.block.cpp"
3158 }
3159 ]
3160 },
3161 "5": {
3162 "patterns": [
3163 {
3164 "include": "#inline_comment"
3165 }
3166 ]
3167 },
3168 "6": {
3169 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3170 },
3171 "7": {
3172 "name": "comment.block.cpp"
3173 },
3174 "8": {
3175 "patterns": [
3176 {
3177 "match": "\\*\\/",
3178 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3179 },
3180 {
3181 "match": "\\*",
3182 "name": "comment.block.cpp"
3183 }
3184 ]
3185 },
3186 "9": {
3187 "name": "storage.type.modifier.calling-convention.cpp"
3188 },
3189 "10": {
3190 "patterns": [
3191 {
3192 "include": "#inline_comment"
3193 }
3194 ]
3195 },
3196 "11": {
3197 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3198 },
3199 "12": {
3200 "name": "comment.block.cpp"
3201 },
3202 "13": {
3203 "patterns": [
3204 {
3205 "match": "\\*\\/",
3206 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3207 },
3208 {
3209 "match": "\\*",
3210 "name": "comment.block.cpp"
3211 }
3212 ]
3213 },
3214 "14": {
3215 "patterns": [
3216 {
3217 "include": "#functional_specifiers_pre_parameters"
3218 }
3219 ]
3220 },
3221 "15": {
3222 "patterns": [
3223 {
3224 "include": "#inline_comment"
3225 }
3226 ]
3227 },
3228 "16": {
3229 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3230 },
3231 "17": {
3232 "name": "comment.block.cpp"
3233 },
3234 "18": {
3235 "patterns": [
3236 {
3237 "match": "\\*\\/",
3238 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3239 },
3240 {
3241 "match": "\\*",
3242 "name": "comment.block.cpp"
3243 }
3244 ]
3245 },
3246 "19": {
3247 "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"
3248 }
3249 },
3250 "endCaptures": {},
3251 "name": "meta.function.definition.special.member.destructor.cpp",
3252 "patterns": [
3253 {
3254 "begin": "\\G ?",
3255 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
3256 "beginCaptures": {},
3257 "endCaptures": {
3258 "0": {
3259 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
3260 }
3261 },
3262 "name": "meta.head.function.definition.special.member.destructor.cpp",
3263 "patterns": [
3264 {
3265 "include": "#ever_present_context"
3266 },
3267 {
3268 "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
3269 "captures": {
3270 "1": {
3271 "name": "keyword.operator.assignment.cpp"
3272 },
3273 "2": {
3274 "patterns": [
3275 {
3276 "include": "#inline_comment"
3277 }
3278 ]
3279 },
3280 "3": {
3281 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3282 },
3283 "4": {
3284 "name": "comment.block.cpp"
3285 },
3286 "5": {
3287 "patterns": [
3288 {
3289 "match": "\\*\\/",
3290 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3291 },
3292 {
3293 "match": "\\*",
3294 "name": "comment.block.cpp"
3295 }
3296 ]
3297 },
3298 "6": {
3299 "name": "keyword.other.default.constructor.cpp"
3300 },
3301 "7": {
3302 "name": "keyword.other.delete.constructor.cpp"
3303 }
3304 }
3305 },
3306 {
3307 "begin": "\\(",
3308 "end": "\\)",
3309 "beginCaptures": {
3310 "0": {
3311 "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
3312 }
3313 },
3314 "endCaptures": {
3315 "0": {
3316 "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
3317 }
3318 },
3319 "contentName": "meta.function.definition.parameters.special.member.destructor",
3320 "patterns": []
3321 },
3322 {
3323 "match": "((?:(?:final)|(?:override)))+",
3324 "captures": {
3325 "1": {
3326 "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp"
3327 }
3328 }
3329 },
3330 {
3331 "include": "$self"
3332 }
3333 ]
3334 },
3335 {
3336 "begin": "(?<=\\{|<%|\\?\\?<)",
3337 "end": "\\}|%>|\\?\\?>",
3338 "beginCaptures": {},
3339 "endCaptures": {
3340 "0": {
3341 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
3342 }
3343 },
3344 "name": "meta.body.function.definition.special.member.destructor.cpp",
3345 "patterns": [
3346 {
3347 "include": "#function_body_context"
3348 }
3349 ]
3350 },
3351 {
3352 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3353 "end": "[\\s]*(?=;)",
3354 "beginCaptures": {},
3355 "endCaptures": {},
3356 "name": "meta.tail.function.definition.special.member.destructor.cpp",
3357 "patterns": [
3358 {
3359 "include": "$self"
3360 }
3361 ]
3362 }
3363 ]
3364 },
3365 "destructor_root": {
3366 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))~\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())",
3367 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
3368 "beginCaptures": {
3369 "0": {
3370 "name": "meta.head.function.definition.special.member.destructor.cpp"
3371 },
3372 "1": {
3373 "patterns": [
3374 {
3375 "include": "#inline_comment"
3376 }
3377 ]
3378 },
3379 "2": {
3380 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3381 },
3382 "3": {
3383 "name": "comment.block.cpp"
3384 },
3385 "4": {
3386 "patterns": [
3387 {
3388 "match": "\\*\\/",
3389 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3390 },
3391 {
3392 "match": "\\*",
3393 "name": "comment.block.cpp"
3394 }
3395 ]
3396 },
3397 "5": {
3398 "name": "storage.type.modifier.calling-convention.cpp"
3399 },
3400 "6": {
3401 "patterns": [
3402 {
3403 "include": "#inline_comment"
3404 }
3405 ]
3406 },
3407 "7": {
3408 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3409 },
3410 "8": {
3411 "name": "comment.block.cpp"
3412 },
3413 "9": {
3414 "patterns": [
3415 {
3416 "match": "\\*\\/",
3417 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3418 },
3419 {
3420 "match": "\\*",
3421 "name": "comment.block.cpp"
3422 }
3423 ]
3424 },
3425 "10": {
3426 "patterns": [
3427 {
3428 "match": "::",
3429 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
3430 },
3431 {
3432 "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)",
3433 "name": "entity.name.scope-resolution.destructor.cpp"
3434 },
3435 {
3436 "include": "#template_call_range"
3437 }
3438 ]
3439 },
3440 "11": {
3441 "patterns": [
3442 {
3443 "include": "#template_call_range"
3444 }
3445 ]
3446 },
3447 "12": {},
3448 "13": {
3449 "patterns": [
3450 {
3451 "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}))*(?=:)",
3452 "name": "entity.name.type.destructor.cpp"
3453 },
3454 {
3455 "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}))*",
3456 "name": "entity.name.function.definition.special.member.destructor.cpp"
3457 },
3458 {
3459 "match": "::",
3460 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
3461 }
3462 ]
3463 },
3464 "14": {},
3465 "15": {
3466 "patterns": [
3467 {
3468 "include": "#inline_comment"
3469 }
3470 ]
3471 },
3472 "16": {
3473 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3474 },
3475 "17": {
3476 "name": "comment.block.cpp"
3477 },
3478 "18": {
3479 "patterns": [
3480 {
3481 "match": "\\*\\/",
3482 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3483 },
3484 {
3485 "match": "\\*",
3486 "name": "comment.block.cpp"
3487 }
3488 ]
3489 },
3490 "19": {
3491 "patterns": [
3492 {
3493 "include": "#inline_comment"
3494 }
3495 ]
3496 },
3497 "20": {
3498 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3499 },
3500 "21": {
3501 "name": "comment.block.cpp"
3502 },
3503 "22": {
3504 "patterns": [
3505 {
3506 "match": "\\*\\/",
3507 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3508 },
3509 {
3510 "match": "\\*",
3511 "name": "comment.block.cpp"
3512 }
3513 ]
3514 },
3515 "23": {
3516 "patterns": [
3517 {
3518 "include": "#inline_comment"
3519 }
3520 ]
3521 },
3522 "24": {
3523 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3524 },
3525 "25": {
3526 "name": "comment.block.cpp"
3527 },
3528 "26": {
3529 "patterns": [
3530 {
3531 "match": "\\*\\/",
3532 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3533 },
3534 {
3535 "match": "\\*",
3536 "name": "comment.block.cpp"
3537 }
3538 ]
3539 }
3540 },
3541 "endCaptures": {},
3542 "name": "meta.function.definition.special.member.destructor.cpp",
3543 "patterns": [
3544 {
3545 "begin": "\\G ?",
3546 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
3547 "beginCaptures": {},
3548 "endCaptures": {
3549 "0": {
3550 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
3551 }
3552 },
3553 "name": "meta.head.function.definition.special.member.destructor.cpp",
3554 "patterns": [
3555 {
3556 "include": "#ever_present_context"
3557 },
3558 {
3559 "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
3560 "captures": {
3561 "1": {
3562 "name": "keyword.operator.assignment.cpp"
3563 },
3564 "2": {
3565 "patterns": [
3566 {
3567 "include": "#inline_comment"
3568 }
3569 ]
3570 },
3571 "3": {
3572 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3573 },
3574 "4": {
3575 "name": "comment.block.cpp"
3576 },
3577 "5": {
3578 "patterns": [
3579 {
3580 "match": "\\*\\/",
3581 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3582 },
3583 {
3584 "match": "\\*",
3585 "name": "comment.block.cpp"
3586 }
3587 ]
3588 },
3589 "6": {
3590 "name": "keyword.other.default.constructor.cpp"
3591 },
3592 "7": {
3593 "name": "keyword.other.delete.constructor.cpp"
3594 }
3595 }
3596 },
3597 {
3598 "begin": "\\(",
3599 "end": "\\)",
3600 "beginCaptures": {
3601 "0": {
3602 "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
3603 }
3604 },
3605 "endCaptures": {
3606 "0": {
3607 "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
3608 }
3609 },
3610 "contentName": "meta.function.definition.parameters.special.member.destructor",
3611 "patterns": []
3612 },
3613 {
3614 "match": "((?:(?:final)|(?:override)))+",
3615 "captures": {
3616 "1": {
3617 "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp"
3618 }
3619 }
3620 },
3621 {
3622 "include": "$self"
3623 }
3624 ]
3625 },
3626 {
3627 "begin": "(?<=\\{|<%|\\?\\?<)",
3628 "end": "\\}|%>|\\?\\?>",
3629 "beginCaptures": {},
3630 "endCaptures": {
3631 "0": {
3632 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
3633 }
3634 },
3635 "name": "meta.body.function.definition.special.member.destructor.cpp",
3636 "patterns": [
3637 {
3638 "include": "#function_body_context"
3639 }
3640 ]
3641 },
3642 {
3643 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3644 "end": "[\\s]*(?=;)",
3645 "beginCaptures": {},
3646 "endCaptures": {},
3647 "name": "meta.tail.function.definition.special.member.destructor.cpp",
3648 "patterns": [
3649 {
3650 "include": "$self"
3651 }
3652 ]
3653 }
3654 ]
3655 },
3656 "diagnostic": {
3657 "begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?",
3658 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
3659 "beginCaptures": {
3660 "1": {
3661 "name": "keyword.control.directive.diagnostic.$7.cpp"
3662 },
3663 "2": {
3664 "patterns": [
3665 {
3666 "include": "#inline_comment"
3667 }
3668 ]
3669 },
3670 "3": {
3671 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3672 },
3673 "4": {
3674 "name": "comment.block.cpp"
3675 },
3676 "5": {
3677 "patterns": [
3678 {
3679 "match": "\\*\\/",
3680 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3681 },
3682 {
3683 "match": "\\*",
3684 "name": "comment.block.cpp"
3685 }
3686 ]
3687 },
3688 "6": {
3689 "name": "punctuation.definition.directive.cpp"
3690 },
3691 "7": {}
3692 },
3693 "endCaptures": {},
3694 "name": "meta.preprocessor.diagnostic.$reference(directive).cpp",
3695 "patterns": [
3696 {
3697 "begin": "\"",
3698 "end": "(?:(\")|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))",
3699 "beginCaptures": {
3700 "0": {
3701 "name": "punctuation.definition.string.begin.cpp"
3702 }
3703 },
3704 "endCaptures": {
3705 "1": {
3706 "name": "punctuation.definition.string.end.cpp"
3707 }
3708 },
3709 "name": "string.quoted.double.cpp",
3710 "patterns": [
3711 {
3712 "include": "#line_continuation_character"
3713 }
3714 ]
3715 },
3716 {
3717 "begin": "'",
3718 "end": "(?:(')|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))",
3719 "beginCaptures": {
3720 "0": {
3721 "name": "punctuation.definition.string.begin.cpp"
3722 }
3723 },
3724 "endCaptures": {
3725 "1": {
3726 "name": "punctuation.definition.string.end.cpp"
3727 }
3728 },
3729 "name": "string.quoted.single.cpp",
3730 "patterns": [
3731 {
3732 "include": "#line_continuation_character"
3733 }
3734 ]
3735 },
3736 {
3737 "begin": "[^'\"]",
3738 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
3739 "beginCaptures": {},
3740 "endCaptures": {},
3741 "name": "string.unquoted.cpp",
3742 "patterns": [
3743 {
3744 "include": "#line_continuation_character"
3745 },
3746 {
3747 "include": "#comments"
3748 }
3749 ]
3750 }
3751 ]
3752 },
3753 "emacs_file_banner": {
3754 "match": "(?:(^(?:(?:\\s)+)?((\\/\\/)(?:(?:\\s)+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:(?:\\s)+)?.+(?:(?:\\s)+)?\\4(?:(?:\\s)+)?(?:\\n|$)))|(^(?:(?:\\s)+)?((\\/\\*)(?:(?:\\s)+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:(?:\\s)+)?.+(?:(?:\\s)+)?\\8(?:(?:\\s)+)?\\*\\/)))",
3755 "captures": {
3756 "1": {
3757 "name": "meta.toc-list.banner.double-slash.cpp"
3758 },
3759 "2": {
3760 "name": "comment.line.double-slash.cpp"
3761 },
3762 "3": {
3763 "name": "punctuation.definition.comment.cpp"
3764 },
3765 "4": {
3766 "name": "meta.banner.character.cpp"
3767 },
3768 "5": {
3769 "name": "meta.toc-list.banner.block.cpp"
3770 },
3771 "6": {
3772 "name": "comment.line.banner.cpp"
3773 },
3774 "7": {
3775 "name": "punctuation.definition.comment.cpp"
3776 },
3777 "8": {
3778 "name": "meta.banner.character.cpp"
3779 }
3780 }
3781 },
3782 "empty_square_brackets": {
3783 "name": "storage.modifier.array.bracket.square",
3784 "match": "(?<!delete)\\[(?:(?:\\s)+)?\\]"
3785 },
3786 "enum_block": {
3787 "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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)))?",
3788 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
3789 "beginCaptures": {
3790 "0": {
3791 "name": "meta.head.enum.cpp"
3792 },
3793 "1": {
3794 "name": "storage.type.enum.cpp"
3795 },
3796 "2": {
3797 "name": "storage.type.enum.enum-key.$2.cpp"
3798 },
3799 "3": {
3800 "patterns": [
3801 {
3802 "include": "#attributes_context"
3803 },
3804 {
3805 "include": "#number_literal"
3806 }
3807 ]
3808 },
3809 "4": {
3810 "name": "entity.name.type.enum.cpp"
3811 },
3812 "5": {
3813 "name": "punctuation.separator.colon.type-specifier.cpp"
3814 },
3815 "6": {
3816 "patterns": [
3817 {
3818 "include": "#scope_resolution_inner_generated"
3819 }
3820 ]
3821 },
3822 "7": {
3823 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3824 },
3825 "8": {
3826 "patterns": [
3827 {
3828 "include": "#template_call_range"
3829 }
3830 ]
3831 },
3832 "9": {},
3833 "10": {
3834 "name": "entity.name.scope-resolution.cpp"
3835 },
3836 "11": {
3837 "name": "meta.template.call.cpp",
3838 "patterns": [
3839 {
3840 "include": "#template_call_range"
3841 }
3842 ]
3843 },
3844 "12": {},
3845 "13": {
3846 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3847 },
3848 "14": {
3849 "name": "storage.type.integral.$14.cpp"
3850 }
3851 },
3852 "endCaptures": {
3853 "1": {
3854 "name": "punctuation.terminator.statement.cpp"
3855 },
3856 "2": {
3857 "name": "punctuation.terminator.statement.cpp"
3858 }
3859 },
3860 "name": "meta.block.enum.cpp",
3861 "patterns": [
3862 {
3863 "begin": "\\G ?",
3864 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
3865 "beginCaptures": {},
3866 "endCaptures": {
3867 "0": {
3868 "name": "punctuation.section.block.begin.bracket.curly.enum.cpp"
3869 }
3870 },
3871 "name": "meta.head.enum.cpp",
3872 "patterns": [
3873 {
3874 "include": "$self"
3875 }
3876 ]
3877 },
3878 {
3879 "begin": "(?<=\\{|<%|\\?\\?<)",
3880 "end": "\\}|%>|\\?\\?>",
3881 "beginCaptures": {},
3882 "endCaptures": {
3883 "0": {
3884 "name": "punctuation.section.block.end.bracket.curly.enum.cpp"
3885 }
3886 },
3887 "name": "meta.body.enum.cpp",
3888 "patterns": [
3889 {
3890 "include": "#ever_present_context"
3891 },
3892 {
3893 "include": "#enumerator_list"
3894 },
3895 {
3896 "include": "#comments"
3897 },
3898 {
3899 "include": "#comma"
3900 },
3901 {
3902 "include": "#semicolon"
3903 }
3904 ]
3905 },
3906 {
3907 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3908 "end": "[\\s]*(?=;)",
3909 "beginCaptures": {},
3910 "endCaptures": {},
3911 "name": "meta.tail.enum.cpp",
3912 "patterns": [
3913 {
3914 "include": "$self"
3915 }
3916 ]
3917 }
3918 ]
3919 },
3920 "enum_declare": {
3921 "match": "((?<!\\w)enum(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
3922 "captures": {
3923 "1": {
3924 "name": "storage.type.enum.declare.cpp"
3925 },
3926 "2": {
3927 "patterns": [
3928 {
3929 "include": "#inline_comment"
3930 }
3931 ]
3932 },
3933 "3": {
3934 "patterns": [
3935 {
3936 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
3937 "captures": {
3938 "1": {
3939 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3940 },
3941 "2": {
3942 "name": "comment.block.cpp"
3943 },
3944 "3": {
3945 "patterns": [
3946 {
3947 "match": "\\*\\/",
3948 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3949 },
3950 {
3951 "match": "\\*",
3952 "name": "comment.block.cpp"
3953 }
3954 ]
3955 }
3956 }
3957 }
3958 ]
3959 },
3960 "4": {
3961 "name": "entity.name.type.enum.cpp"
3962 },
3963 "5": {
3964 "patterns": [
3965 {
3966 "match": "\\*",
3967 "name": "storage.modifier.pointer.cpp"
3968 },
3969 {
3970 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
3971 "captures": {
3972 "1": {
3973 "patterns": [
3974 {
3975 "include": "#inline_comment"
3976 }
3977 ]
3978 },
3979 "2": {
3980 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3981 },
3982 "3": {
3983 "name": "comment.block.cpp"
3984 },
3985 "4": {
3986 "patterns": [
3987 {
3988 "match": "\\*\\/",
3989 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3990 },
3991 {
3992 "match": "\\*",
3993 "name": "comment.block.cpp"
3994 }
3995 ]
3996 }
3997 },
3998 "name": "invalid.illegal.reference-type.cpp"
3999 },
4000 {
4001 "match": "\\&",
4002 "name": "storage.modifier.reference.cpp"
4003 }
4004 ]
4005 },
4006 "6": {
4007 "patterns": [
4008 {
4009 "include": "#inline_comment"
4010 }
4011 ]
4012 },
4013 "7": {
4014 "patterns": [
4015 {
4016 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
4017 "captures": {
4018 "1": {
4019 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4020 },
4021 "2": {
4022 "name": "comment.block.cpp"
4023 },
4024 "3": {
4025 "patterns": [
4026 {
4027 "match": "\\*\\/",
4028 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4029 },
4030 {
4031 "match": "\\*",
4032 "name": "comment.block.cpp"
4033 }
4034 ]
4035 }
4036 }
4037 }
4038 ]
4039 },
4040 "8": {
4041 "patterns": [
4042 {
4043 "include": "#inline_comment"
4044 }
4045 ]
4046 },
4047 "9": {
4048 "patterns": [
4049 {
4050 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
4051 "captures": {
4052 "1": {
4053 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4054 },
4055 "2": {
4056 "name": "comment.block.cpp"
4057 },
4058 "3": {
4059 "patterns": [
4060 {
4061 "match": "\\*\\/",
4062 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4063 },
4064 {
4065 "match": "\\*",
4066 "name": "comment.block.cpp"
4067 }
4068 ]
4069 }
4070 }
4071 }
4072 ]
4073 },
4074 "10": {
4075 "patterns": [
4076 {
4077 "include": "#inline_comment"
4078 }
4079 ]
4080 },
4081 "11": {
4082 "patterns": [
4083 {
4084 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
4085 "captures": {
4086 "1": {
4087 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4088 },
4089 "2": {
4090 "name": "comment.block.cpp"
4091 },
4092 "3": {
4093 "patterns": [
4094 {
4095 "match": "\\*\\/",
4096 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4097 },
4098 {
4099 "match": "\\*",
4100 "name": "comment.block.cpp"
4101 }
4102 ]
4103 }
4104 }
4105 }
4106 ]
4107 },
4108 "12": {
4109 "name": "variable.other.object.declare.cpp"
4110 },
4111 "13": {
4112 "patterns": [
4113 {
4114 "include": "#inline_comment"
4115 }
4116 ]
4117 },
4118 "14": {
4119 "patterns": [
4120 {
4121 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
4122 "captures": {
4123 "1": {
4124 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4125 },
4126 "2": {
4127 "name": "comment.block.cpp"
4128 },
4129 "3": {
4130 "patterns": [
4131 {
4132 "match": "\\*\\/",
4133 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4134 },
4135 {
4136 "match": "\\*",
4137 "name": "comment.block.cpp"
4138 }
4139 ]
4140 }
4141 }
4142 }
4143 ]
4144 }
4145 }
4146 },
4147 "enumerator_list": {
4148 "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))|(?=\\}[^']))|(?=(?:\\/\\/|\\/\\*)))",
4149 "captures": {
4150 "1": {
4151 "name": "variable.other.enummember.cpp"
4152 },
4153 "2": {
4154 "patterns": [
4155 {
4156 "include": "#attributes_context"
4157 },
4158 {
4159 "include": "#number_literal"
4160 }
4161 ]
4162 },
4163 "3": {
4164 "name": "keyword.operator.assignment.cpp"
4165 },
4166 "4": {
4167 "patterns": [
4168 {
4169 "include": "#evaluation_context"
4170 }
4171 ]
4172 },
4173 "5": {
4174 "patterns": [
4175 {
4176 "include": "#comma"
4177 },
4178 {
4179 "include": "#semicolon"
4180 }
4181 ]
4182 }
4183 },
4184 "name": "meta.enum.definition.cpp"
4185 },
4186 "evaluation_context": {
4187 "patterns": [
4188 {
4189 "include": "#ever_present_context"
4190 },
4191 {
4192 "include": "#string_context"
4193 },
4194 {
4195 "include": "#number_literal"
4196 },
4197 {
4198 "include": "#method_access"
4199 },
4200 {
4201 "include": "#member_access"
4202 },
4203 {
4204 "include": "#predefined_macros"
4205 },
4206 {
4207 "include": "#operators"
4208 },
4209 {
4210 "include": "#memory_operators"
4211 },
4212 {
4213 "include": "#wordlike_operators"
4214 },
4215 {
4216 "include": "#type_casting_operators"
4217 },
4218 {
4219 "include": "#control_flow_keywords"
4220 },
4221 {
4222 "include": "#exception_keywords"
4223 },
4224 {
4225 "include": "#the_this_keyword"
4226 },
4227 {
4228 "include": "#language_constants"
4229 },
4230 {
4231 "include": "#builtin_storage_type_initilizer"
4232 },
4233 {
4234 "include": "#qualifiers_and_specifiers_post_parameters"
4235 },
4236 {
4237 "include": "#functional_specifiers_pre_parameters"
4238 },
4239 {
4240 "include": "#storage_types"
4241 },
4242 {
4243 "include": "#lambdas"
4244 },
4245 {
4246 "include": "#attributes_context"
4247 },
4248 {
4249 "include": "#parentheses"
4250 },
4251 {
4252 "include": "#function_call"
4253 },
4254 {
4255 "include": "#scope_resolution_inner_generated"
4256 },
4257 {
4258 "include": "#square_brackets"
4259 },
4260 {
4261 "include": "#semicolon"
4262 },
4263 {
4264 "include": "#comma"
4265 }
4266 ]
4267 },
4268 "ever_present_context": {
4269 "patterns": [
4270 {
4271 "include": "#pragma_mark"
4272 },
4273 {
4274 "include": "#pragma"
4275 },
4276 {
4277 "include": "#include"
4278 },
4279 {
4280 "include": "#line"
4281 },
4282 {
4283 "include": "#diagnostic"
4284 },
4285 {
4286 "include": "#undef"
4287 },
4288 {
4289 "include": "#preprocessor_conditional_range"
4290 },
4291 {
4292 "include": "#single_line_macro"
4293 },
4294 {
4295 "include": "#macro"
4296 },
4297 {
4298 "include": "#preprocessor_conditional_standalone"
4299 },
4300 {
4301 "include": "#macro_argument"
4302 },
4303 {
4304 "include": "#comments"
4305 },
4306 {
4307 "include": "#line_continuation_character"
4308 }
4309 ]
4310 },
4311 "exception_keywords": {
4312 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:throw)|(?:catch)|(?:try))(?!\\w))",
4313 "captures": {
4314 "1": {
4315 "patterns": [
4316 {
4317 "include": "#inline_comment"
4318 }
4319 ]
4320 },
4321 "2": {
4322 "patterns": [
4323 {
4324 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
4325 "captures": {
4326 "1": {
4327 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4328 },
4329 "2": {
4330 "name": "comment.block.cpp"
4331 },
4332 "3": {
4333 "patterns": [
4334 {
4335 "match": "\\*\\/",
4336 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4337 },
4338 {
4339 "match": "\\*",
4340 "name": "comment.block.cpp"
4341 }
4342 ]
4343 }
4344 }
4345 }
4346 ]
4347 },
4348 "3": {
4349 "name": "keyword.control.exception.$3.cpp"
4350 }
4351 }
4352 },
4353 "extern_block": {
4354 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(extern)(?=\\s*\\\")",
4355 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
4356 "beginCaptures": {
4357 "0": {
4358 "name": "meta.head.extern.cpp"
4359 },
4360 "1": {
4361 "patterns": [
4362 {
4363 "include": "#inline_comment"
4364 }
4365 ]
4366 },
4367 "2": {
4368 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4369 },
4370 "3": {
4371 "name": "comment.block.cpp"
4372 },
4373 "4": {
4374 "patterns": [
4375 {
4376 "match": "\\*\\/",
4377 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4378 },
4379 {
4380 "match": "\\*",
4381 "name": "comment.block.cpp"
4382 }
4383 ]
4384 },
4385 "5": {
4386 "name": "storage.type.extern.cpp"
4387 }
4388 },
4389 "endCaptures": {
4390 "1": {
4391 "name": "punctuation.terminator.statement.cpp"
4392 },
4393 "2": {
4394 "name": "punctuation.terminator.statement.cpp"
4395 }
4396 },
4397 "name": "meta.block.extern.cpp",
4398 "patterns": [
4399 {
4400 "begin": "\\G ?",
4401 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
4402 "beginCaptures": {},
4403 "endCaptures": {
4404 "0": {
4405 "name": "punctuation.section.block.begin.bracket.curly.extern.cpp"
4406 }
4407 },
4408 "name": "meta.head.extern.cpp",
4409 "patterns": [
4410 {
4411 "include": "$self"
4412 }
4413 ]
4414 },
4415 {
4416 "begin": "(?<=\\{|<%|\\?\\?<)",
4417 "end": "\\}|%>|\\?\\?>",
4418 "beginCaptures": {},
4419 "endCaptures": {
4420 "0": {
4421 "name": "punctuation.section.block.end.bracket.curly.extern.cpp"
4422 }
4423 },
4424 "name": "meta.body.extern.cpp",
4425 "patterns": [
4426 {
4427 "include": "$self"
4428 }
4429 ]
4430 },
4431 {
4432 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
4433 "end": "[\\s]*(?=;)",
4434 "beginCaptures": {},
4435 "endCaptures": {},
4436 "name": "meta.tail.extern.cpp",
4437 "patterns": [
4438 {
4439 "include": "$self"
4440 }
4441 ]
4442 },
4443 {
4444 "include": "$self"
4445 }
4446 ]
4447 },
4448 "function_body_context": {
4449 "patterns": [
4450 {
4451 "include": "#ever_present_context"
4452 },
4453 {
4454 "include": "#using_namespace"
4455 },
4456 {
4457 "include": "#type_alias"
4458 },
4459 {
4460 "include": "#using_name"
4461 },
4462 {
4463 "include": "#namespace_alias"
4464 },
4465 {
4466 "include": "#typedef_class"
4467 },
4468 {
4469 "include": "#typedef_struct"
4470 },
4471 {
4472 "include": "#typedef_union"
4473 },
4474 {
4475 "include": "#misc_keywords"
4476 },
4477 {
4478 "include": "#standard_declares"
4479 },
4480 {
4481 "include": "#class_block"
4482 },
4483 {
4484 "include": "#struct_block"
4485 },
4486 {
4487 "include": "#union_block"
4488 },
4489 {
4490 "include": "#enum_block"
4491 },
4492 {
4493 "include": "#access_control_keywords"
4494 },
4495 {
4496 "include": "#block"
4497 },
4498 {
4499 "include": "#static_assert"
4500 },
4501 {
4502 "include": "#assembly"
4503 },
4504 {
4505 "include": "#function_pointer"
4506 },
4507 {
4508 "include": "#switch_statement"
4509 },
4510 {
4511 "include": "#goto_statement"
4512 },
4513 {
4514 "include": "#evaluation_context"
4515 },
4516 {
4517 "include": "#label"
4518 }
4519 ]
4520 },
4521 "function_call": {
4522 "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wuint_fast64_t|^uint_fast64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wuint_fast8_t|^uint_fast8_t|\\Wthread_local|^thread_local|\\Wsynchronized|^synchronized|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wint_fast8_t|^int_fast8_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wco_return|^co_return|\\Wblksize_t|^blksize_t|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\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|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\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|\\Wtemplate|^template|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Walignof|^alignof|\\Walignas|^alignas|\\Wdefault|^default|\\Wwchar_t|^wchar_t|\\Wu_short|^u_short|\\Wqaddr_t|^qaddr_t|\\Wcaddr_t|^caddr_t|\\Wdaddr_t|^daddr_t|\\Wfixpt_t|^fixpt_t|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wswblk_t|^swblk_t|\\Wclock_t|^clock_t|\\Wssize_t|^ssize_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wnullptr|^nullptr|\\Wmutable|^mutable|\\Wvirtual|^virtual|\\Wmutable|^mutable|\\Wprivate|^private|\\Wtypedef|^typedef|\\W__asm__|^__asm__|\\Wconcept|^concept|\\Wsizeof|^sizeof|\\Wdelete|^delete|\\Wnot_eq|^not_eq|\\Wbitand|^bitand|\\Wand_eq|^and_eq|\\Wxor_eq|^xor_eq|\\Wtypeid|^typeid|\\Wswitch|^switch|\\Wreturn|^return|\\Wsigned|^signed|\\Wdouble|^double|\\Wu_char|^u_char|\\Wu_long|^u_long|\\Wushort|^ushort|\\Wquad_t|^quad_t|\\Wmode_t|^mode_t|\\Wsize_t|^size_t|\\Wtime_t|^time_t|\\Wint8_t|^int8_t|\\Wstruct|^struct|\\Wstatic|^static|\\Wextern|^extern|\\Winline|^inline|\\Wfriend|^friend|\\Wpublic|^public|\\Wexport|^export|\\Wimport|^import|\\Wmodule|^module|\\Wcompl|^compl|\\Wbitor|^bitor|\\Wthrow|^throw|\\Wor_eq|^or_eq|\\Wwhile|^while|\\Wcatch|^catch|\\Wbreak|^break|\\Wshort|^short|\\Wfloat|^float|\\Wu_int|^u_int|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wconst|^const|\\Wusing|^using|\\Welse|^else|\\Wgoto|^goto|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wchar|^char|\\Wlong|^long|\\Wbool|^bool|\\Wuint|^uint|\\Wid_t|^id_t|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wtrue|^true|\\Wenum|^enum|\\Wthis|^this|\\Wnot|^not|\\Wnew|^new|\\Wxor|^xor|\\Wand|^and|\\Wfor|^for|\\Wtry|^try|\\Wint|^int|\\Wasm|^asm|\\Wor|^or|\\Wdo|^do|\\Wif|^if)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?(\\()",
4523 "end": "\\)",
4524 "beginCaptures": {
4525 "1": {
4526 "patterns": [
4527 {
4528 "include": "#scope_resolution_function_call_inner_generated"
4529 }
4530 ]
4531 },
4532 "2": {
4533 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
4534 },
4535 "3": {
4536 "patterns": [
4537 {
4538 "include": "#template_call_range"
4539 }
4540 ]
4541 },
4542 "4": {},
4543 "5": {
4544 "name": "entity.name.function.call.cpp"
4545 },
4546 "6": {
4547 "patterns": [
4548 {
4549 "include": "#inline_comment"
4550 }
4551 ]
4552 },
4553 "7": {
4554 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4555 },
4556 "8": {
4557 "name": "comment.block.cpp"
4558 },
4559 "9": {
4560 "patterns": [
4561 {
4562 "match": "\\*\\/",
4563 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4564 },
4565 {
4566 "match": "\\*",
4567 "name": "comment.block.cpp"
4568 }
4569 ]
4570 },
4571 "10": {
4572 "name": "meta.template.call.cpp",
4573 "patterns": [
4574 {
4575 "include": "#template_call_range"
4576 }
4577 ]
4578 },
4579 "11": {},
4580 "12": {
4581 "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp"
4582 }
4583 },
4584 "endCaptures": {
4585 "0": {
4586 "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp"
4587 }
4588 },
4589 "patterns": [
4590 {
4591 "include": "#evaluation_context"
4592 }
4593 ]
4594 },
4595 "function_definition": {
4596 "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)template(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wuint_fast64_t|^uint_fast64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wuint_fast8_t|^uint_fast8_t|\\Wthread_local|^thread_local|\\Wsynchronized|^synchronized|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wint_fast8_t|^int_fast8_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wco_return|^co_return|\\Wblksize_t|^blksize_t|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\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|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\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|\\Wtemplate|^template|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Walignof|^alignof|\\Walignas|^alignas|\\Wdefault|^default|\\Wwchar_t|^wchar_t|\\Wu_short|^u_short|\\Wqaddr_t|^qaddr_t|\\Wcaddr_t|^caddr_t|\\Wdaddr_t|^daddr_t|\\Wfixpt_t|^fixpt_t|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wswblk_t|^swblk_t|\\Wclock_t|^clock_t|\\Wssize_t|^ssize_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wnullptr|^nullptr|\\Wmutable|^mutable|\\Wvirtual|^virtual|\\Wmutable|^mutable|\\Wprivate|^private|\\Wtypedef|^typedef|\\W__asm__|^__asm__|\\Wconcept|^concept|\\Wsizeof|^sizeof|\\Wdelete|^delete|\\Wnot_eq|^not_eq|\\Wbitand|^bitand|\\Wand_eq|^and_eq|\\Wxor_eq|^xor_eq|\\Wtypeid|^typeid|\\Wswitch|^switch|\\Wreturn|^return|\\Wsigned|^signed|\\Wdouble|^double|\\Wu_char|^u_char|\\Wu_long|^u_long|\\Wushort|^ushort|\\Wquad_t|^quad_t|\\Wmode_t|^mode_t|\\Wsize_t|^size_t|\\Wtime_t|^time_t|\\Wint8_t|^int8_t|\\Wstruct|^struct|\\Wstatic|^static|\\Wextern|^extern|\\Winline|^inline|\\Wfriend|^friend|\\Wpublic|^public|\\Wexport|^export|\\Wimport|^import|\\Wmodule|^module|\\Wcompl|^compl|\\Wbitor|^bitor|\\Wthrow|^throw|\\Wor_eq|^or_eq|\\Wwhile|^while|\\Wcatch|^catch|\\Wbreak|^break|\\Wshort|^short|\\Wfloat|^float|\\Wu_int|^u_int|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wconst|^const|\\Wusing|^using|\\Welse|^else|\\Wgoto|^goto|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wchar|^char|\\Wlong|^long|\\Wbool|^bool|\\Wuint|^uint|\\Wid_t|^id_t|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wtrue|^true|\\Wenum|^enum|\\Wthis|^this|\\Wnot|^not|\\Wnew|^new|\\Wxor|^xor|\\Wand|^and|\\Wfor|^for|\\Wtry|^try|\\Wint|^int|\\Wasm|^asm|\\Wor|^or|\\Wdo|^do|\\Wif|^if)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\()",
4597 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
4598 "beginCaptures": {
4599 "0": {
4600 "name": "meta.head.function.definition.cpp"
4601 },
4602 "1": {
4603 "patterns": [
4604 {
4605 "include": "#inline_comment"
4606 }
4607 ]
4608 },
4609 "2": {
4610 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4611 },
4612 "3": {
4613 "name": "comment.block.cpp"
4614 },
4615 "4": {
4616 "patterns": [
4617 {
4618 "match": "\\*\\/",
4619 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4620 },
4621 {
4622 "match": "\\*",
4623 "name": "comment.block.cpp"
4624 }
4625 ]
4626 },
4627 "5": {
4628 "name": "storage.type.template.cpp"
4629 },
4630 "6": {
4631 "patterns": [
4632 {
4633 "include": "#inline_comment"
4634 }
4635 ]
4636 },
4637 "7": {
4638 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4639 },
4640 "8": {
4641 "name": "comment.block.cpp"
4642 },
4643 "9": {
4644 "patterns": [
4645 {
4646 "match": "\\*\\/",
4647 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4648 },
4649 {
4650 "match": "\\*",
4651 "name": "comment.block.cpp"
4652 }
4653 ]
4654 },
4655 "10": {
4656 "patterns": [
4657 {
4658 "include": "#attributes_context"
4659 },
4660 {
4661 "include": "#number_literal"
4662 }
4663 ]
4664 },
4665 "11": {
4666 "patterns": [
4667 {
4668 "match": "((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
4669 "captures": {
4670 "1": {
4671 "name": "storage.modifier.$1.cpp"
4672 },
4673 "2": {
4674 "patterns": [
4675 {
4676 "include": "#inline_comment"
4677 }
4678 ]
4679 },
4680 "3": {
4681 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4682 },
4683 "4": {
4684 "name": "comment.block.cpp"
4685 },
4686 "5": {
4687 "patterns": [
4688 {
4689 "match": "\\*\\/",
4690 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4691 },
4692 {
4693 "match": "\\*",
4694 "name": "comment.block.cpp"
4695 }
4696 ]
4697 }
4698 }
4699 }
4700 ]
4701 },
4702 "12": {
4703 "name": "storage.modifier.$12.cpp"
4704 },
4705 "13": {
4706 "patterns": [
4707 {
4708 "include": "#inline_comment"
4709 }
4710 ]
4711 },
4712 "14": {
4713 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4714 },
4715 "15": {
4716 "name": "comment.block.cpp"
4717 },
4718 "16": {
4719 "patterns": [
4720 {
4721 "match": "\\*\\/",
4722 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4723 },
4724 {
4725 "match": "\\*",
4726 "name": "comment.block.cpp"
4727 }
4728 ]
4729 },
4730 "17": {
4731 "name": "meta.qualified_type.cpp",
4732 "patterns": [
4733 {
4734 "match": "::",
4735 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4736 },
4737 {
4738 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4739 "name": "storage.type.$0.cpp"
4740 },
4741 {
4742 "include": "#attributes_context"
4743 },
4744 {
4745 "include": "#storage_types"
4746 },
4747 {
4748 "include": "#number_literal"
4749 },
4750 {
4751 "include": "#string_context"
4752 },
4753 {
4754 "include": "#comma"
4755 },
4756 {
4757 "include": "#scope_resolution_inner_generated"
4758 },
4759 {
4760 "begin": "<",
4761 "end": ">",
4762 "beginCaptures": {
4763 "0": {
4764 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4765 }
4766 },
4767 "endCaptures": {
4768 "0": {
4769 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
4770 }
4771 },
4772 "name": "meta.template.call.cpp",
4773 "patterns": [
4774 {
4775 "include": "#template_call_context"
4776 }
4777 ]
4778 },
4779 {
4780 "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}))*",
4781 "name": "entity.name.type.cpp"
4782 }
4783 ]
4784 },
4785 "18": {
4786 "patterns": [
4787 {
4788 "include": "#attributes_context"
4789 },
4790 {
4791 "include": "#number_literal"
4792 }
4793 ]
4794 },
4795 "19": {
4796 "patterns": [
4797 {
4798 "include": "#inline_comment"
4799 }
4800 ]
4801 },
4802 "20": {
4803 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4804 },
4805 "21": {
4806 "name": "comment.block.cpp"
4807 },
4808 "22": {
4809 "patterns": [
4810 {
4811 "match": "\\*\\/",
4812 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4813 },
4814 {
4815 "match": "\\*",
4816 "name": "comment.block.cpp"
4817 }
4818 ]
4819 },
4820 "23": {
4821 "patterns": [
4822 {
4823 "include": "#inline_comment"
4824 }
4825 ]
4826 },
4827 "24": {
4828 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4829 },
4830 "25": {
4831 "name": "comment.block.cpp"
4832 },
4833 "26": {
4834 "patterns": [
4835 {
4836 "match": "\\*\\/",
4837 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4838 },
4839 {
4840 "match": "\\*",
4841 "name": "comment.block.cpp"
4842 }
4843 ]
4844 },
4845 "27": {
4846 "patterns": [
4847 {
4848 "match": "::",
4849 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4850 },
4851 {
4852 "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)",
4853 "name": "entity.name.scope-resolution.type.cpp"
4854 },
4855 {
4856 "include": "#template_call_range"
4857 }
4858 ]
4859 },
4860 "28": {
4861 "patterns": [
4862 {
4863 "include": "#template_call_range"
4864 }
4865 ]
4866 },
4867 "29": {},
4868 "30": {
4869 "patterns": [
4870 {
4871 "include": "#inline_comment"
4872 }
4873 ]
4874 },
4875 "31": {
4876 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4877 },
4878 "32": {
4879 "name": "comment.block.cpp"
4880 },
4881 "33": {
4882 "patterns": [
4883 {
4884 "match": "\\*\\/",
4885 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4886 },
4887 {
4888 "match": "\\*",
4889 "name": "comment.block.cpp"
4890 }
4891 ]
4892 },
4893 "34": {},
4894 "35": {
4895 "patterns": [
4896 {
4897 "match": "\\*",
4898 "name": "storage.modifier.pointer.cpp"
4899 },
4900 {
4901 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
4902 "captures": {
4903 "1": {
4904 "patterns": [
4905 {
4906 "include": "#inline_comment"
4907 }
4908 ]
4909 },
4910 "2": {
4911 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4912 },
4913 "3": {
4914 "name": "comment.block.cpp"
4915 },
4916 "4": {
4917 "patterns": [
4918 {
4919 "match": "\\*\\/",
4920 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4921 },
4922 {
4923 "match": "\\*",
4924 "name": "comment.block.cpp"
4925 }
4926 ]
4927 }
4928 },
4929 "name": "invalid.illegal.reference-type.cpp"
4930 },
4931 {
4932 "match": "\\&",
4933 "name": "storage.modifier.reference.cpp"
4934 }
4935 ]
4936 },
4937 "36": {
4938 "patterns": [
4939 {
4940 "include": "#inline_comment"
4941 }
4942 ]
4943 },
4944 "37": {
4945 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4946 },
4947 "38": {
4948 "name": "comment.block.cpp"
4949 },
4950 "39": {
4951 "patterns": [
4952 {
4953 "match": "\\*\\/",
4954 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4955 },
4956 {
4957 "match": "\\*",
4958 "name": "comment.block.cpp"
4959 }
4960 ]
4961 },
4962 "40": {
4963 "patterns": [
4964 {
4965 "include": "#inline_comment"
4966 }
4967 ]
4968 },
4969 "41": {
4970 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4971 },
4972 "42": {
4973 "name": "comment.block.cpp"
4974 },
4975 "43": {
4976 "patterns": [
4977 {
4978 "match": "\\*\\/",
4979 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4980 },
4981 {
4982 "match": "\\*",
4983 "name": "comment.block.cpp"
4984 }
4985 ]
4986 },
4987 "44": {
4988 "patterns": [
4989 {
4990 "include": "#inline_comment"
4991 }
4992 ]
4993 },
4994 "45": {
4995 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4996 },
4997 "46": {
4998 "name": "comment.block.cpp"
4999 },
5000 "47": {
5001 "patterns": [
5002 {
5003 "match": "\\*\\/",
5004 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5005 },
5006 {
5007 "match": "\\*",
5008 "name": "comment.block.cpp"
5009 }
5010 ]
5011 },
5012 "48": {
5013 "patterns": [
5014 {
5015 "include": "#inline_comment"
5016 }
5017 ]
5018 },
5019 "49": {
5020 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5021 },
5022 "50": {
5023 "name": "comment.block.cpp"
5024 },
5025 "51": {
5026 "patterns": [
5027 {
5028 "match": "\\*\\/",
5029 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5030 },
5031 {
5032 "match": "\\*",
5033 "name": "comment.block.cpp"
5034 }
5035 ]
5036 },
5037 "52": {
5038 "name": "storage.type.modifier.calling-convention.cpp"
5039 },
5040 "53": {
5041 "patterns": [
5042 {
5043 "include": "#inline_comment"
5044 }
5045 ]
5046 },
5047 "54": {
5048 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5049 },
5050 "55": {
5051 "name": "comment.block.cpp"
5052 },
5053 "56": {
5054 "patterns": [
5055 {
5056 "match": "\\*\\/",
5057 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5058 },
5059 {
5060 "match": "\\*",
5061 "name": "comment.block.cpp"
5062 }
5063 ]
5064 },
5065 "57": {
5066 "patterns": [
5067 {
5068 "include": "#scope_resolution_function_definition_inner_generated"
5069 }
5070 ]
5071 },
5072 "58": {
5073 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
5074 },
5075 "59": {
5076 "patterns": [
5077 {
5078 "include": "#template_call_range"
5079 }
5080 ]
5081 },
5082 "60": {},
5083 "61": {
5084 "name": "entity.name.function.definition.cpp"
5085 },
5086 "62": {
5087 "patterns": [
5088 {
5089 "include": "#inline_comment"
5090 }
5091 ]
5092 },
5093 "63": {
5094 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5095 },
5096 "64": {
5097 "name": "comment.block.cpp"
5098 },
5099 "65": {
5100 "patterns": [
5101 {
5102 "match": "\\*\\/",
5103 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5104 },
5105 {
5106 "match": "\\*",
5107 "name": "comment.block.cpp"
5108 }
5109 ]
5110 }
5111 },
5112 "endCaptures": {},
5113 "name": "meta.function.definition.cpp",
5114 "patterns": [
5115 {
5116 "begin": "\\G ?",
5117 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
5118 "beginCaptures": {},
5119 "endCaptures": {
5120 "0": {
5121 "name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp"
5122 }
5123 },
5124 "name": "meta.head.function.definition.cpp",
5125 "patterns": [
5126 {
5127 "include": "#ever_present_context"
5128 },
5129 {
5130 "begin": "\\(",
5131 "end": "\\)",
5132 "beginCaptures": {
5133 "0": {
5134 "name": "punctuation.section.parameters.begin.bracket.round.cpp"
5135 }
5136 },
5137 "endCaptures": {
5138 "0": {
5139 "name": "punctuation.section.parameters.end.bracket.round.cpp"
5140 }
5141 },
5142 "contentName": "meta.function.definition.parameters",
5143 "patterns": [
5144 {
5145 "include": "#ever_present_context"
5146 },
5147 {
5148 "include": "#parameter_or_maybe_value"
5149 },
5150 {
5151 "include": "#comma"
5152 },
5153 {
5154 "include": "#evaluation_context"
5155 }
5156 ]
5157 },
5158 {
5159 "match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?: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<:.]))",
5160 "captures": {
5161 "1": {
5162 "name": "punctuation.definition.function.return-type.cpp"
5163 },
5164 "2": {
5165 "patterns": [
5166 {
5167 "include": "#inline_comment"
5168 }
5169 ]
5170 },
5171 "3": {
5172 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5173 },
5174 "4": {
5175 "name": "comment.block.cpp"
5176 },
5177 "5": {
5178 "patterns": [
5179 {
5180 "match": "\\*\\/",
5181 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5182 },
5183 {
5184 "match": "\\*",
5185 "name": "comment.block.cpp"
5186 }
5187 ]
5188 },
5189 "6": {
5190 "name": "meta.qualified_type.cpp",
5191 "patterns": [
5192 {
5193 "match": "::",
5194 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
5195 },
5196 {
5197 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
5198 "name": "storage.type.$0.cpp"
5199 },
5200 {
5201 "include": "#attributes_context"
5202 },
5203 {
5204 "include": "#storage_types"
5205 },
5206 {
5207 "include": "#number_literal"
5208 },
5209 {
5210 "include": "#string_context"
5211 },
5212 {
5213 "include": "#comma"
5214 },
5215 {
5216 "include": "#scope_resolution_inner_generated"
5217 },
5218 {
5219 "begin": "<",
5220 "end": ">",
5221 "beginCaptures": {
5222 "0": {
5223 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
5224 }
5225 },
5226 "endCaptures": {
5227 "0": {
5228 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
5229 }
5230 },
5231 "name": "meta.template.call.cpp",
5232 "patterns": [
5233 {
5234 "include": "#template_call_context"
5235 }
5236 ]
5237 },
5238 {
5239 "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}))*",
5240 "name": "entity.name.type.cpp"
5241 }
5242 ]
5243 },
5244 "7": {
5245 "patterns": [
5246 {
5247 "include": "#attributes_context"
5248 },
5249 {
5250 "include": "#number_literal"
5251 }
5252 ]
5253 },
5254 "8": {
5255 "patterns": [
5256 {
5257 "include": "#inline_comment"
5258 }
5259 ]
5260 },
5261 "9": {
5262 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5263 },
5264 "10": {
5265 "name": "comment.block.cpp"
5266 },
5267 "11": {
5268 "patterns": [
5269 {
5270 "match": "\\*\\/",
5271 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5272 },
5273 {
5274 "match": "\\*",
5275 "name": "comment.block.cpp"
5276 }
5277 ]
5278 },
5279 "12": {
5280 "patterns": [
5281 {
5282 "include": "#inline_comment"
5283 }
5284 ]
5285 },
5286 "13": {
5287 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5288 },
5289 "14": {
5290 "name": "comment.block.cpp"
5291 },
5292 "15": {
5293 "patterns": [
5294 {
5295 "match": "\\*\\/",
5296 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5297 },
5298 {
5299 "match": "\\*",
5300 "name": "comment.block.cpp"
5301 }
5302 ]
5303 },
5304 "16": {
5305 "patterns": [
5306 {
5307 "match": "::",
5308 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
5309 },
5310 {
5311 "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)",
5312 "name": "entity.name.scope-resolution.type.cpp"
5313 },
5314 {
5315 "include": "#template_call_range"
5316 }
5317 ]
5318 },
5319 "17": {
5320 "patterns": [
5321 {
5322 "include": "#template_call_range"
5323 }
5324 ]
5325 },
5326 "18": {},
5327 "19": {
5328 "patterns": [
5329 {
5330 "include": "#inline_comment"
5331 }
5332 ]
5333 },
5334 "20": {
5335 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5336 },
5337 "21": {
5338 "name": "comment.block.cpp"
5339 },
5340 "22": {
5341 "patterns": [
5342 {
5343 "match": "\\*\\/",
5344 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5345 },
5346 {
5347 "match": "\\*",
5348 "name": "comment.block.cpp"
5349 }
5350 ]
5351 },
5352 "23": {}
5353 }
5354 },
5355 {
5356 "include": "$self"
5357 }
5358 ]
5359 },
5360 {
5361 "begin": "(?<=\\{|<%|\\?\\?<)",
5362 "end": "\\}|%>|\\?\\?>",
5363 "beginCaptures": {},
5364 "endCaptures": {
5365 "0": {
5366 "name": "punctuation.section.block.end.bracket.curly.function.definition.cpp"
5367 }
5368 },
5369 "name": "meta.body.function.definition.cpp",
5370 "patterns": [
5371 {
5372 "include": "#function_body_context"
5373 }
5374 ]
5375 },
5376 {
5377 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
5378 "end": "[\\s]*(?=;)",
5379 "beginCaptures": {},
5380 "endCaptures": {},
5381 "name": "meta.tail.function.definition.cpp",
5382 "patterns": [
5383 {
5384 "include": "$self"
5385 }
5386 ]
5387 }
5388 ]
5389 },
5390 "function_parameter_context": {
5391 "patterns": [
5392 {
5393 "include": "#ever_present_context"
5394 },
5395 {
5396 "include": "#string_context"
5397 },
5398 {
5399 "include": "#parameter"
5400 },
5401 {
5402 "include": "#comma"
5403 }
5404 ]
5405 },
5406 "function_pointer": {
5407 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?: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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)?(\\()",
5408 "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",
5409 "beginCaptures": {
5410 "1": {
5411 "name": "meta.qualified_type.cpp",
5412 "patterns": [
5413 {
5414 "match": "::",
5415 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
5416 },
5417 {
5418 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
5419 "name": "storage.type.$0.cpp"
5420 },
5421 {
5422 "include": "#attributes_context"
5423 },
5424 {
5425 "include": "#storage_types"
5426 },
5427 {
5428 "include": "#number_literal"
5429 },
5430 {
5431 "include": "#string_context"
5432 },
5433 {
5434 "include": "#comma"
5435 },
5436 {
5437 "include": "#scope_resolution_inner_generated"
5438 },
5439 {
5440 "begin": "<",
5441 "end": ">",
5442 "beginCaptures": {
5443 "0": {
5444 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
5445 }
5446 },
5447 "endCaptures": {
5448 "0": {
5449 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
5450 }
5451 },
5452 "name": "meta.template.call.cpp",
5453 "patterns": [
5454 {
5455 "include": "#template_call_context"
5456 }
5457 ]
5458 },
5459 {
5460 "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}))*",
5461 "name": "entity.name.type.cpp"
5462 }
5463 ]
5464 },
5465 "2": {
5466 "patterns": [
5467 {
5468 "include": "#attributes_context"
5469 },
5470 {
5471 "include": "#number_literal"
5472 }
5473 ]
5474 },
5475 "3": {
5476 "patterns": [
5477 {
5478 "include": "#inline_comment"
5479 }
5480 ]
5481 },
5482 "4": {
5483 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5484 },
5485 "5": {
5486 "name": "comment.block.cpp"
5487 },
5488 "6": {
5489 "patterns": [
5490 {
5491 "match": "\\*\\/",
5492 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5493 },
5494 {
5495 "match": "\\*",
5496 "name": "comment.block.cpp"
5497 }
5498 ]
5499 },
5500 "7": {
5501 "patterns": [
5502 {
5503 "include": "#inline_comment"
5504 }
5505 ]
5506 },
5507 "8": {
5508 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5509 },
5510 "9": {
5511 "name": "comment.block.cpp"
5512 },
5513 "10": {
5514 "patterns": [
5515 {
5516 "match": "\\*\\/",
5517 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5518 },
5519 {
5520 "match": "\\*",
5521 "name": "comment.block.cpp"
5522 }
5523 ]
5524 },
5525 "11": {
5526 "patterns": [
5527 {
5528 "match": "::",
5529 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
5530 },
5531 {
5532 "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)",
5533 "name": "entity.name.scope-resolution.type.cpp"
5534 },
5535 {
5536 "include": "#template_call_range"
5537 }
5538 ]
5539 },
5540 "12": {
5541 "patterns": [
5542 {
5543 "include": "#template_call_range"
5544 }
5545 ]
5546 },
5547 "13": {},
5548 "14": {
5549 "patterns": [
5550 {
5551 "include": "#inline_comment"
5552 }
5553 ]
5554 },
5555 "15": {
5556 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5557 },
5558 "16": {
5559 "name": "comment.block.cpp"
5560 },
5561 "17": {
5562 "patterns": [
5563 {
5564 "match": "\\*\\/",
5565 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5566 },
5567 {
5568 "match": "\\*",
5569 "name": "comment.block.cpp"
5570 }
5571 ]
5572 },
5573 "18": {},
5574 "19": {
5575 "patterns": [
5576 {
5577 "match": "\\*",
5578 "name": "storage.modifier.pointer.cpp"
5579 },
5580 {
5581 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
5582 "captures": {
5583 "1": {
5584 "patterns": [
5585 {
5586 "include": "#inline_comment"
5587 }
5588 ]
5589 },
5590 "2": {
5591 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5592 },
5593 "3": {
5594 "name": "comment.block.cpp"
5595 },
5596 "4": {
5597 "patterns": [
5598 {
5599 "match": "\\*\\/",
5600 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5601 },
5602 {
5603 "match": "\\*",
5604 "name": "comment.block.cpp"
5605 }
5606 ]
5607 }
5608 },
5609 "name": "invalid.illegal.reference-type.cpp"
5610 },
5611 {
5612 "match": "\\&",
5613 "name": "storage.modifier.reference.cpp"
5614 }
5615 ]
5616 },
5617 "20": {
5618 "patterns": [
5619 {
5620 "include": "#inline_comment"
5621 }
5622 ]
5623 },
5624 "21": {
5625 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5626 },
5627 "22": {
5628 "name": "comment.block.cpp"
5629 },
5630 "23": {
5631 "patterns": [
5632 {
5633 "match": "\\*\\/",
5634 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5635 },
5636 {
5637 "match": "\\*",
5638 "name": "comment.block.cpp"
5639 }
5640 ]
5641 },
5642 "24": {
5643 "patterns": [
5644 {
5645 "include": "#inline_comment"
5646 }
5647 ]
5648 },
5649 "25": {
5650 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5651 },
5652 "26": {
5653 "name": "comment.block.cpp"
5654 },
5655 "27": {
5656 "patterns": [
5657 {
5658 "match": "\\*\\/",
5659 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5660 },
5661 {
5662 "match": "\\*",
5663 "name": "comment.block.cpp"
5664 }
5665 ]
5666 },
5667 "28": {
5668 "patterns": [
5669 {
5670 "include": "#inline_comment"
5671 }
5672 ]
5673 },
5674 "29": {
5675 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5676 },
5677 "30": {
5678 "name": "comment.block.cpp"
5679 },
5680 "31": {
5681 "patterns": [
5682 {
5683 "match": "\\*\\/",
5684 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5685 },
5686 {
5687 "match": "\\*",
5688 "name": "comment.block.cpp"
5689 }
5690 ]
5691 },
5692 "32": {
5693 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
5694 },
5695 "33": {
5696 "name": "punctuation.definition.function.pointer.dereference.cpp"
5697 },
5698 "34": {
5699 "name": "variable.other.definition.pointer.function.cpp"
5700 },
5701 "35": {
5702 "name": "punctuation.definition.begin.bracket.square.cpp"
5703 },
5704 "36": {
5705 "patterns": [
5706 {
5707 "include": "#evaluation_context"
5708 }
5709 ]
5710 },
5711 "37": {
5712 "name": "punctuation.definition.end.bracket.square.cpp"
5713 },
5714 "38": {
5715 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
5716 },
5717 "39": {
5718 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
5719 }
5720 },
5721 "endCaptures": {
5722 "1": {
5723 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
5724 },
5725 "2": {
5726 "patterns": [
5727 {
5728 "include": "#inline_comment"
5729 }
5730 ]
5731 },
5732 "3": {
5733 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5734 },
5735 "4": {
5736 "name": "comment.block.cpp"
5737 },
5738 "5": {
5739 "patterns": [
5740 {
5741 "match": "\\*\\/",
5742 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5743 },
5744 {
5745 "match": "\\*",
5746 "name": "comment.block.cpp"
5747 }
5748 ]
5749 }
5750 },
5751 "patterns": [
5752 {
5753 "include": "#function_parameter_context"
5754 }
5755 ]
5756 },
5757 "function_pointer_parameter": {
5758 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?: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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)?(\\()",
5759 "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",
5760 "beginCaptures": {
5761 "1": {
5762 "name": "meta.qualified_type.cpp",
5763 "patterns": [
5764 {
5765 "match": "::",
5766 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
5767 },
5768 {
5769 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
5770 "name": "storage.type.$0.cpp"
5771 },
5772 {
5773 "include": "#attributes_context"
5774 },
5775 {
5776 "include": "#storage_types"
5777 },
5778 {
5779 "include": "#number_literal"
5780 },
5781 {
5782 "include": "#string_context"
5783 },
5784 {
5785 "include": "#comma"
5786 },
5787 {
5788 "include": "#scope_resolution_inner_generated"
5789 },
5790 {
5791 "begin": "<",
5792 "end": ">",
5793 "beginCaptures": {
5794 "0": {
5795 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
5796 }
5797 },
5798 "endCaptures": {
5799 "0": {
5800 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
5801 }
5802 },
5803 "name": "meta.template.call.cpp",
5804 "patterns": [
5805 {
5806 "include": "#template_call_context"
5807 }
5808 ]
5809 },
5810 {
5811 "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}))*",
5812 "name": "entity.name.type.cpp"
5813 }
5814 ]
5815 },
5816 "2": {
5817 "patterns": [
5818 {
5819 "include": "#attributes_context"
5820 },
5821 {
5822 "include": "#number_literal"
5823 }
5824 ]
5825 },
5826 "3": {
5827 "patterns": [
5828 {
5829 "include": "#inline_comment"
5830 }
5831 ]
5832 },
5833 "4": {
5834 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5835 },
5836 "5": {
5837 "name": "comment.block.cpp"
5838 },
5839 "6": {
5840 "patterns": [
5841 {
5842 "match": "\\*\\/",
5843 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5844 },
5845 {
5846 "match": "\\*",
5847 "name": "comment.block.cpp"
5848 }
5849 ]
5850 },
5851 "7": {
5852 "patterns": [
5853 {
5854 "include": "#inline_comment"
5855 }
5856 ]
5857 },
5858 "8": {
5859 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5860 },
5861 "9": {
5862 "name": "comment.block.cpp"
5863 },
5864 "10": {
5865 "patterns": [
5866 {
5867 "match": "\\*\\/",
5868 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5869 },
5870 {
5871 "match": "\\*",
5872 "name": "comment.block.cpp"
5873 }
5874 ]
5875 },
5876 "11": {
5877 "patterns": [
5878 {
5879 "match": "::",
5880 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
5881 },
5882 {
5883 "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)",
5884 "name": "entity.name.scope-resolution.type.cpp"
5885 },
5886 {
5887 "include": "#template_call_range"
5888 }
5889 ]
5890 },
5891 "12": {
5892 "patterns": [
5893 {
5894 "include": "#template_call_range"
5895 }
5896 ]
5897 },
5898 "13": {},
5899 "14": {
5900 "patterns": [
5901 {
5902 "include": "#inline_comment"
5903 }
5904 ]
5905 },
5906 "15": {
5907 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5908 },
5909 "16": {
5910 "name": "comment.block.cpp"
5911 },
5912 "17": {
5913 "patterns": [
5914 {
5915 "match": "\\*\\/",
5916 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5917 },
5918 {
5919 "match": "\\*",
5920 "name": "comment.block.cpp"
5921 }
5922 ]
5923 },
5924 "18": {},
5925 "19": {
5926 "patterns": [
5927 {
5928 "match": "\\*",
5929 "name": "storage.modifier.pointer.cpp"
5930 },
5931 {
5932 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
5933 "captures": {
5934 "1": {
5935 "patterns": [
5936 {
5937 "include": "#inline_comment"
5938 }
5939 ]
5940 },
5941 "2": {
5942 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5943 },
5944 "3": {
5945 "name": "comment.block.cpp"
5946 },
5947 "4": {
5948 "patterns": [
5949 {
5950 "match": "\\*\\/",
5951 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5952 },
5953 {
5954 "match": "\\*",
5955 "name": "comment.block.cpp"
5956 }
5957 ]
5958 }
5959 },
5960 "name": "invalid.illegal.reference-type.cpp"
5961 },
5962 {
5963 "match": "\\&",
5964 "name": "storage.modifier.reference.cpp"
5965 }
5966 ]
5967 },
5968 "20": {
5969 "patterns": [
5970 {
5971 "include": "#inline_comment"
5972 }
5973 ]
5974 },
5975 "21": {
5976 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5977 },
5978 "22": {
5979 "name": "comment.block.cpp"
5980 },
5981 "23": {
5982 "patterns": [
5983 {
5984 "match": "\\*\\/",
5985 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5986 },
5987 {
5988 "match": "\\*",
5989 "name": "comment.block.cpp"
5990 }
5991 ]
5992 },
5993 "24": {
5994 "patterns": [
5995 {
5996 "include": "#inline_comment"
5997 }
5998 ]
5999 },
6000 "25": {
6001 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6002 },
6003 "26": {
6004 "name": "comment.block.cpp"
6005 },
6006 "27": {
6007 "patterns": [
6008 {
6009 "match": "\\*\\/",
6010 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6011 },
6012 {
6013 "match": "\\*",
6014 "name": "comment.block.cpp"
6015 }
6016 ]
6017 },
6018 "28": {
6019 "patterns": [
6020 {
6021 "include": "#inline_comment"
6022 }
6023 ]
6024 },
6025 "29": {
6026 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6027 },
6028 "30": {
6029 "name": "comment.block.cpp"
6030 },
6031 "31": {
6032 "patterns": [
6033 {
6034 "match": "\\*\\/",
6035 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6036 },
6037 {
6038 "match": "\\*",
6039 "name": "comment.block.cpp"
6040 }
6041 ]
6042 },
6043 "32": {
6044 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
6045 },
6046 "33": {
6047 "name": "punctuation.definition.function.pointer.dereference.cpp"
6048 },
6049 "34": {
6050 "name": "variable.parameter.pointer.function.cpp"
6051 },
6052 "35": {
6053 "name": "punctuation.definition.begin.bracket.square.cpp"
6054 },
6055 "36": {
6056 "patterns": [
6057 {
6058 "include": "#evaluation_context"
6059 }
6060 ]
6061 },
6062 "37": {
6063 "name": "punctuation.definition.end.bracket.square.cpp"
6064 },
6065 "38": {
6066 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
6067 },
6068 "39": {
6069 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
6070 }
6071 },
6072 "endCaptures": {
6073 "1": {
6074 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
6075 },
6076 "2": {
6077 "patterns": [
6078 {
6079 "include": "#inline_comment"
6080 }
6081 ]
6082 },
6083 "3": {
6084 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6085 },
6086 "4": {
6087 "name": "comment.block.cpp"
6088 },
6089 "5": {
6090 "patterns": [
6091 {
6092 "match": "\\*\\/",
6093 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6094 },
6095 {
6096 "match": "\\*",
6097 "name": "comment.block.cpp"
6098 }
6099 ]
6100 }
6101 },
6102 "patterns": [
6103 {
6104 "include": "#function_parameter_context"
6105 }
6106 ]
6107 },
6108 "functional_specifiers_pre_parameters": {
6109 "match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))(?!\\w)",
6110 "name": "storage.modifier.specifier.functional.pre-parameters.$0.cpp"
6111 },
6112 "gcc_attributes": {
6113 "begin": "__attribute(?:__)?\\s*\\(\\s*\\(",
6114 "end": "\\)\\s*\\)",
6115 "beginCaptures": {
6116 "0": {
6117 "name": "punctuation.section.attribute.begin.cpp"
6118 }
6119 },
6120 "endCaptures": {
6121 "0": {
6122 "name": "punctuation.section.attribute.end.cpp"
6123 }
6124 },
6125 "name": "support.other.attribute.cpp",
6126 "patterns": [
6127 {
6128 "include": "#attributes_context"
6129 },
6130 {
6131 "begin": "\\(",
6132 "end": "\\)",
6133 "beginCaptures": {},
6134 "endCaptures": {},
6135 "patterns": [
6136 {
6137 "include": "#attributes_context"
6138 },
6139 {
6140 "include": "#string_context"
6141 }
6142 ]
6143 },
6144 {
6145 "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))",
6146 "captures": {
6147 "1": {
6148 "name": "keyword.other.using.directive.cpp"
6149 },
6150 "2": {
6151 "name": "entity.name.namespace.cpp"
6152 }
6153 }
6154 },
6155 {
6156 "match": ",",
6157 "name": "punctuation.separator.attribute.cpp"
6158 },
6159 {
6160 "match": ":",
6161 "name": "punctuation.accessor.attribute.cpp"
6162 },
6163 {
6164 "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)(?=::)",
6165 "name": "entity.name.namespace.cpp"
6166 },
6167 {
6168 "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)",
6169 "name": "entity.other.attribute.$0.cpp"
6170 },
6171 {
6172 "include": "#number_literal"
6173 }
6174 ]
6175 },
6176 "goto_statement": {
6177 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)goto(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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}))*)",
6178 "captures": {
6179 "1": {
6180 "patterns": [
6181 {
6182 "include": "#inline_comment"
6183 }
6184 ]
6185 },
6186 "2": {
6187 "patterns": [
6188 {
6189 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6190 "captures": {
6191 "1": {
6192 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6193 },
6194 "2": {
6195 "name": "comment.block.cpp"
6196 },
6197 "3": {
6198 "patterns": [
6199 {
6200 "match": "\\*\\/",
6201 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6202 },
6203 {
6204 "match": "\\*",
6205 "name": "comment.block.cpp"
6206 }
6207 ]
6208 }
6209 }
6210 }
6211 ]
6212 },
6213 "3": {
6214 "name": "keyword.control.goto.cpp"
6215 },
6216 "4": {
6217 "patterns": [
6218 {
6219 "include": "#inline_comment"
6220 }
6221 ]
6222 },
6223 "5": {
6224 "patterns": [
6225 {
6226 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6227 "captures": {
6228 "1": {
6229 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6230 },
6231 "2": {
6232 "name": "comment.block.cpp"
6233 },
6234 "3": {
6235 "patterns": [
6236 {
6237 "match": "\\*\\/",
6238 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6239 },
6240 {
6241 "match": "\\*",
6242 "name": "comment.block.cpp"
6243 }
6244 ]
6245 }
6246 }
6247 }
6248 ]
6249 },
6250 "6": {
6251 "name": "entity.name.label.call.cpp"
6252 }
6253 }
6254 },
6255 "identifier": {
6256 "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}))*"
6257 },
6258 "include": {
6259 "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((#)(?:(?:\\s)+)?((?:include|include_next))\\b)(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))",
6260 "captures": {
6261 "1": {
6262 "patterns": [
6263 {
6264 "include": "#inline_comment"
6265 }
6266 ]
6267 },
6268 "2": {
6269 "patterns": [
6270 {
6271 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6272 "captures": {
6273 "1": {
6274 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6275 },
6276 "2": {
6277 "name": "comment.block.cpp"
6278 },
6279 "3": {
6280 "patterns": [
6281 {
6282 "match": "\\*\\/",
6283 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6284 },
6285 {
6286 "match": "\\*",
6287 "name": "comment.block.cpp"
6288 }
6289 ]
6290 }
6291 }
6292 }
6293 ]
6294 },
6295 "3": {
6296 "name": "keyword.control.directive.$5.cpp"
6297 },
6298 "4": {
6299 "name": "punctuation.definition.directive.cpp"
6300 },
6301 "6": {
6302 "name": "string.quoted.other.lt-gt.include.cpp"
6303 },
6304 "7": {
6305 "name": "punctuation.definition.string.begin.cpp"
6306 },
6307 "8": {
6308 "name": "punctuation.definition.string.end.cpp"
6309 },
6310 "9": {
6311 "patterns": [
6312 {
6313 "include": "#inline_comment"
6314 }
6315 ]
6316 },
6317 "10": {
6318 "patterns": [
6319 {
6320 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6321 "captures": {
6322 "1": {
6323 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6324 },
6325 "2": {
6326 "name": "comment.block.cpp"
6327 },
6328 "3": {
6329 "patterns": [
6330 {
6331 "match": "\\*\\/",
6332 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6333 },
6334 {
6335 "match": "\\*",
6336 "name": "comment.block.cpp"
6337 }
6338 ]
6339 }
6340 }
6341 }
6342 ]
6343 },
6344 "11": {
6345 "name": "string.quoted.double.include.cpp"
6346 },
6347 "12": {
6348 "name": "punctuation.definition.string.begin.cpp"
6349 },
6350 "13": {
6351 "name": "punctuation.definition.string.end.cpp"
6352 },
6353 "14": {
6354 "patterns": [
6355 {
6356 "include": "#inline_comment"
6357 }
6358 ]
6359 },
6360 "15": {
6361 "patterns": [
6362 {
6363 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6364 "captures": {
6365 "1": {
6366 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6367 },
6368 "2": {
6369 "name": "comment.block.cpp"
6370 },
6371 "3": {
6372 "patterns": [
6373 {
6374 "match": "\\*\\/",
6375 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6376 },
6377 {
6378 "match": "\\*",
6379 "name": "comment.block.cpp"
6380 }
6381 ]
6382 }
6383 }
6384 }
6385 ]
6386 },
6387 "16": {
6388 "name": "entity.name.other.preprocessor.macro.include.cpp"
6389 },
6390 "17": {
6391 "patterns": [
6392 {
6393 "include": "#inline_comment"
6394 }
6395 ]
6396 },
6397 "18": {
6398 "patterns": [
6399 {
6400 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6401 "captures": {
6402 "1": {
6403 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6404 },
6405 "2": {
6406 "name": "comment.block.cpp"
6407 },
6408 "3": {
6409 "patterns": [
6410 {
6411 "match": "\\*\\/",
6412 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6413 },
6414 {
6415 "match": "\\*",
6416 "name": "comment.block.cpp"
6417 }
6418 ]
6419 }
6420 }
6421 }
6422 ]
6423 },
6424 "19": {
6425 "patterns": [
6426 {
6427 "include": "#inline_comment"
6428 }
6429 ]
6430 },
6431 "20": {
6432 "patterns": [
6433 {
6434 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6435 "captures": {
6436 "1": {
6437 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6438 },
6439 "2": {
6440 "name": "comment.block.cpp"
6441 },
6442 "3": {
6443 "patterns": [
6444 {
6445 "match": "\\*\\/",
6446 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6447 },
6448 {
6449 "match": "\\*",
6450 "name": "comment.block.cpp"
6451 }
6452 ]
6453 }
6454 }
6455 }
6456 ]
6457 },
6458 "21": {
6459 "patterns": [
6460 {
6461 "include": "#inline_comment"
6462 }
6463 ]
6464 },
6465 "22": {
6466 "patterns": [
6467 {
6468 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6469 "captures": {
6470 "1": {
6471 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6472 },
6473 "2": {
6474 "name": "comment.block.cpp"
6475 },
6476 "3": {
6477 "patterns": [
6478 {
6479 "match": "\\*\\/",
6480 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6481 },
6482 {
6483 "match": "\\*",
6484 "name": "comment.block.cpp"
6485 }
6486 ]
6487 }
6488 }
6489 }
6490 ]
6491 }
6492 },
6493 "name": "meta.preprocessor.include.cpp"
6494 },
6495 "inheritance_context": {
6496 "patterns": [
6497 {
6498 "include": "#ever_present_context"
6499 },
6500 {
6501 "match": ",",
6502 "name": "punctuation.separator.delimiter.comma.inheritance.cpp"
6503 },
6504 {
6505 "match": "(?<!\\w)(?:(?:protected)|(?:private)|(?:public))(?!\\w)",
6506 "name": "storage.type.modifier.access.$0.cpp"
6507 },
6508 {
6509 "match": "(?<!\\w)virtual(?!\\w)",
6510 "name": "storage.type.modifier.virtual.cpp"
6511 },
6512 {
6513 "match": "(?<=protected|virtual|private|public|,|:)(?:(?:\\s)+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|virtual))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?: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<:.]))",
6514 "captures": {
6515 "1": {
6516 "name": "meta.qualified_type.cpp",
6517 "patterns": [
6518 {
6519 "match": "::",
6520 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
6521 },
6522 {
6523 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
6524 "name": "storage.type.$0.cpp"
6525 },
6526 {
6527 "include": "#attributes_context"
6528 },
6529 {
6530 "include": "#storage_types"
6531 },
6532 {
6533 "include": "#number_literal"
6534 },
6535 {
6536 "include": "#string_context"
6537 },
6538 {
6539 "include": "#comma"
6540 },
6541 {
6542 "include": "#scope_resolution_inner_generated"
6543 },
6544 {
6545 "begin": "<",
6546 "end": ">",
6547 "beginCaptures": {
6548 "0": {
6549 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
6550 }
6551 },
6552 "endCaptures": {
6553 "0": {
6554 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
6555 }
6556 },
6557 "name": "meta.template.call.cpp",
6558 "patterns": [
6559 {
6560 "include": "#template_call_context"
6561 }
6562 ]
6563 },
6564 {
6565 "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}))*",
6566 "name": "entity.name.type.cpp"
6567 }
6568 ]
6569 },
6570 "2": {
6571 "patterns": [
6572 {
6573 "include": "#attributes_context"
6574 },
6575 {
6576 "include": "#number_literal"
6577 }
6578 ]
6579 },
6580 "3": {
6581 "patterns": [
6582 {
6583 "include": "#inline_comment"
6584 }
6585 ]
6586 },
6587 "4": {
6588 "patterns": [
6589 {
6590 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6591 "captures": {
6592 "1": {
6593 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6594 },
6595 "2": {
6596 "name": "comment.block.cpp"
6597 },
6598 "3": {
6599 "patterns": [
6600 {
6601 "match": "\\*\\/",
6602 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6603 },
6604 {
6605 "match": "\\*",
6606 "name": "comment.block.cpp"
6607 }
6608 ]
6609 }
6610 }
6611 }
6612 ]
6613 },
6614 "5": {
6615 "patterns": [
6616 {
6617 "include": "#inline_comment"
6618 }
6619 ]
6620 },
6621 "6": {
6622 "patterns": [
6623 {
6624 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6625 "captures": {
6626 "1": {
6627 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6628 },
6629 "2": {
6630 "name": "comment.block.cpp"
6631 },
6632 "3": {
6633 "patterns": [
6634 {
6635 "match": "\\*\\/",
6636 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6637 },
6638 {
6639 "match": "\\*",
6640 "name": "comment.block.cpp"
6641 }
6642 ]
6643 }
6644 }
6645 }
6646 ]
6647 },
6648 "7": {
6649 "patterns": [
6650 {
6651 "match": "::",
6652 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
6653 },
6654 {
6655 "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)",
6656 "name": "entity.name.scope-resolution.type.cpp"
6657 },
6658 {
6659 "include": "#template_call_range"
6660 }
6661 ]
6662 },
6663 "8": {
6664 "patterns": [
6665 {
6666 "include": "#template_call_range"
6667 }
6668 ]
6669 },
6670 "9": {},
6671 "10": {
6672 "patterns": [
6673 {
6674 "include": "#inline_comment"
6675 }
6676 ]
6677 },
6678 "11": {
6679 "patterns": [
6680 {
6681 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6682 "captures": {
6683 "1": {
6684 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6685 },
6686 "2": {
6687 "name": "comment.block.cpp"
6688 },
6689 "3": {
6690 "patterns": [
6691 {
6692 "match": "\\*\\/",
6693 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6694 },
6695 {
6696 "match": "\\*",
6697 "name": "comment.block.cpp"
6698 }
6699 ]
6700 }
6701 }
6702 }
6703 ]
6704 },
6705 "12": {}
6706 }
6707 }
6708 ]
6709 },
6710 "inline_builtin_storage_type": {
6711 "match": "(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:signed)|(?:double)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:char)|(?:long)|(?:bool)|(?:int)))|((?:(?:uint_least16_t)|(?:uint_least32_t)|(?:uint_least64_t)|(?:int_least16_t)|(?:int_least32_t)|(?:int_least64_t)|(?:uint_least8_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:uint_fast64_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:suseconds_t)|(?:int_fast8_t)|(?:useconds_t)|(?:blksize_t)|(?:in_addr_t)|(?:in_port_t)|(?:uintptr_t)|(?:uintmax_t)|(?:uintmax_t)|(?:uintmax_t)|(?:u_quad_t)|(?:blkcnt_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:intptr_t)|(?:intmax_t)|(?:intmax_t)|(?:u_short)|(?:qaddr_t)|(?:caddr_t)|(?:daddr_t)|(?:fixpt_t)|(?:nlink_t)|(?:segsz_t)|(?:swblk_t)|(?:clock_t)|(?:ssize_t)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:u_char)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:time_t)|(?:int8_t)|(?:u_int)|(?:div_t)|(?:dev_t)|(?:gid_t)|(?:ino_t)|(?:key_t)|(?:pid_t)|(?:off_t)|(?:uid_t)|(?:uint)|(?:id_t)|(?:id_t))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_attr_t)|(?:pthread_cond_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)",
6712 "captures": {
6713 "1": {
6714 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
6715 },
6716 "2": {
6717 "name": "storage.type.cpp storage.type.built-in.cpp"
6718 },
6719 "3": {
6720 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
6721 },
6722 "4": {
6723 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
6724 }
6725 }
6726 },
6727 "inline_comment": {
6728 "match": "(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/))",
6729 "captures": {
6730 "1": {
6731 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6732 },
6733 "2": {
6734 "name": "comment.block.cpp"
6735 },
6736 "3": {
6737 "patterns": [
6738 {
6739 "match": "\\*\\/",
6740 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6741 },
6742 {
6743 "match": "\\*",
6744 "name": "comment.block.cpp"
6745 }
6746 ]
6747 }
6748 }
6749 },
6750 "invalid_comment_end": {
6751 "match": "\\*\\/",
6752 "name": "invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"
6753 },
6754 "label": {
6755 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:)",
6756 "captures": {
6757 "1": {
6758 "patterns": [
6759 {
6760 "include": "#inline_comment"
6761 }
6762 ]
6763 },
6764 "2": {
6765 "patterns": [
6766 {
6767 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6768 "captures": {
6769 "1": {
6770 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6771 },
6772 "2": {
6773 "name": "comment.block.cpp"
6774 },
6775 "3": {
6776 "patterns": [
6777 {
6778 "match": "\\*\\/",
6779 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6780 },
6781 {
6782 "match": "\\*",
6783 "name": "comment.block.cpp"
6784 }
6785 ]
6786 }
6787 }
6788 }
6789 ]
6790 },
6791 "3": {
6792 "name": "entity.name.label.cpp"
6793 },
6794 "4": {
6795 "patterns": [
6796 {
6797 "include": "#inline_comment"
6798 }
6799 ]
6800 },
6801 "5": {
6802 "patterns": [
6803 {
6804 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6805 "captures": {
6806 "1": {
6807 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6808 },
6809 "2": {
6810 "name": "comment.block.cpp"
6811 },
6812 "3": {
6813 "patterns": [
6814 {
6815 "match": "\\*\\/",
6816 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6817 },
6818 {
6819 "match": "\\*",
6820 "name": "comment.block.cpp"
6821 }
6822 ]
6823 }
6824 }
6825 }
6826 ]
6827 },
6828 "6": {
6829 "name": "punctuation.separator.label.cpp"
6830 }
6831 }
6832 },
6833 "lambdas": {
6834 "begin": "(?:(?<=[^\\s]|^)(?<![\\w\\]\\)\\[\\*&\">])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:[^\\[\\]]*+\\g<3>?)++\\]))*+)(\\](?!((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))[\\[\\];]))",
6835 "end": "(?<=[;}])",
6836 "beginCaptures": {
6837 "1": {
6838 "name": "punctuation.definition.capture.begin.lambda.cpp"
6839 },
6840 "2": {
6841 "name": "meta.lambda.capture.cpp",
6842 "patterns": [
6843 {
6844 "include": "#the_this_keyword"
6845 },
6846 {
6847 "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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))",
6848 "captures": {
6849 "1": {
6850 "name": "variable.parameter.capture.cpp"
6851 },
6852 "2": {
6853 "patterns": [
6854 {
6855 "include": "#inline_comment"
6856 }
6857 ]
6858 },
6859 "3": {
6860 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6861 },
6862 "4": {
6863 "name": "comment.block.cpp"
6864 },
6865 "5": {
6866 "patterns": [
6867 {
6868 "match": "\\*\\/",
6869 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6870 },
6871 {
6872 "match": "\\*",
6873 "name": "comment.block.cpp"
6874 }
6875 ]
6876 },
6877 "6": {
6878 "name": "punctuation.separator.delimiter.comma.cpp"
6879 },
6880 "7": {
6881 "name": "keyword.operator.assignment.cpp"
6882 }
6883 }
6884 },
6885 {
6886 "include": "#evaluation_context"
6887 }
6888 ]
6889 },
6890 "3": {},
6891 "4": {
6892 "name": "punctuation.definition.capture.end.lambda.cpp"
6893 },
6894 "5": {
6895 "patterns": [
6896 {
6897 "include": "#inline_comment"
6898 }
6899 ]
6900 },
6901 "6": {
6902 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6903 },
6904 "7": {
6905 "name": "comment.block.cpp"
6906 },
6907 "8": {
6908 "patterns": [
6909 {
6910 "match": "\\*\\/",
6911 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6912 },
6913 {
6914 "match": "\\*",
6915 "name": "comment.block.cpp"
6916 }
6917 ]
6918 }
6919 },
6920 "endCaptures": {},
6921 "patterns": [
6922 {
6923 "begin": "\\(",
6924 "end": "\\)",
6925 "beginCaptures": {
6926 "0": {
6927 "name": "punctuation.definition.parameters.begin.lambda.cpp"
6928 }
6929 },
6930 "endCaptures": {
6931 "0": {
6932 "name": "punctuation.definition.parameters.end.lambda.cpp"
6933 }
6934 },
6935 "name": "meta.function.definition.parameters.lambda.cpp",
6936 "patterns": [
6937 {
6938 "include": "#function_parameter_context"
6939 }
6940 ]
6941 },
6942 {
6943 "match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:mutable))(?!\\w)",
6944 "name": "storage.modifier.lambda.$0.cpp"
6945 },
6946 {
6947 "match": "(->)((?:.+?(?=\\{|$))?)",
6948 "captures": {
6949 "1": {
6950 "name": "punctuation.definition.lambda.return-type.cpp"
6951 },
6952 "2": {
6953 "name": "storage.type.return-type.lambda.cpp"
6954 }
6955 }
6956 },
6957 {
6958 "begin": "\\{",
6959 "end": "\\}",
6960 "beginCaptures": {
6961 "0": {
6962 "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp"
6963 }
6964 },
6965 "endCaptures": {
6966 "0": {
6967 "name": "punctuation.section.block.end.bracket.curly.lambda.cpp"
6968 }
6969 },
6970 "name": "meta.function.definition.body.lambda.cpp",
6971 "patterns": [
6972 {
6973 "include": "$self"
6974 }
6975 ]
6976 }
6977 ]
6978 },
6979 "language_constants": {
6980 "match": "(?<!\\w)(?:(?:nullptr)|(?:false)|(?:NULL)|(?:true))(?!\\w)",
6981 "name": "constant.language.$0.cpp"
6982 },
6983 "line": {
6984 "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?line\\b",
6985 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
6986 "beginCaptures": {
6987 "0": {
6988 "name": "keyword.control.directive.line.cpp"
6989 },
6990 "1": {
6991 "patterns": [
6992 {
6993 "include": "#inline_comment"
6994 }
6995 ]
6996 },
6997 "2": {
6998 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6999 },
7000 "3": {
7001 "name": "comment.block.cpp"
7002 },
7003 "4": {
7004 "patterns": [
7005 {
7006 "match": "\\*\\/",
7007 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7008 },
7009 {
7010 "match": "\\*",
7011 "name": "comment.block.cpp"
7012 }
7013 ]
7014 },
7015 "5": {
7016 "name": "punctuation.definition.directive.cpp"
7017 }
7018 },
7019 "endCaptures": {},
7020 "name": "meta.preprocessor.line.cpp",
7021 "patterns": [
7022 {
7023 "include": "#string_context"
7024 },
7025 {
7026 "include": "#preprocessor_number_literal"
7027 },
7028 {
7029 "include": "#line_continuation_character"
7030 }
7031 ]
7032 },
7033 "line_comment": {
7034 "begin": "\\s*+(\\/\\/)",
7035 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
7036 "beginCaptures": {
7037 "1": {
7038 "name": "punctuation.definition.comment.cpp"
7039 }
7040 },
7041 "endCaptures": {},
7042 "name": "comment.line.double-slash.cpp",
7043 "patterns": [
7044 {
7045 "include": "#line_continuation_character"
7046 }
7047 ]
7048 },
7049 "line_continuation_character": {
7050 "match": "\\\\\\n",
7051 "name": "constant.character.escape.line-continuation.cpp"
7052 },
7053 "macro": {
7054 "begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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))",
7055 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
7056 "beginCaptures": {
7057 "1": {
7058 "name": "keyword.control.directive.define.cpp"
7059 },
7060 "2": {
7061 "patterns": [
7062 {
7063 "include": "#inline_comment"
7064 }
7065 ]
7066 },
7067 "3": {
7068 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7069 },
7070 "4": {
7071 "name": "comment.block.cpp"
7072 },
7073 "5": {
7074 "patterns": [
7075 {
7076 "match": "\\*\\/",
7077 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7078 },
7079 {
7080 "match": "\\*",
7081 "name": "comment.block.cpp"
7082 }
7083 ]
7084 },
7085 "6": {
7086 "name": "punctuation.definition.directive.cpp"
7087 },
7088 "7": {
7089 "name": "entity.name.function.preprocessor.cpp"
7090 }
7091 },
7092 "endCaptures": {},
7093 "name": "meta.preprocessor.macro.cpp",
7094 "patterns": [
7095 {
7096 "match": "\\G(?:(?:\\s)+)?(\\()([^\\(]*)(\\))",
7097 "captures": {
7098 "1": {
7099 "name": "punctuation.definition.parameters.begin.preprocessor.cpp"
7100 },
7101 "2": {
7102 "name": "meta.function.preprocessor.parameters.cpp",
7103 "patterns": [
7104 {
7105 "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)+)?",
7106 "captures": {
7107 "1": {
7108 "name": "variable.parameter.preprocessor.cpp"
7109 }
7110 }
7111 },
7112 {
7113 "match": ",",
7114 "name": "punctuation.separator.parameters.cpp"
7115 },
7116 {
7117 "match": "\\.\\.\\.",
7118 "name": "punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"
7119 }
7120 ]
7121 },
7122 "3": {
7123 "name": "punctuation.definition.parameters.end.preprocessor.cpp"
7124 }
7125 }
7126 },
7127 {
7128 "include": "#macro_context"
7129 },
7130 {
7131 "include": "#macro_argument"
7132 }
7133 ]
7134 },
7135 "macro_argument": {
7136 "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)",
7137 "name": "variable.other.macro.argument.cpp"
7138 },
7139 "macro_context": {
7140 "patterns": [
7141 {
7142 "include": "source.cpp.embedded.macro"
7143 }
7144 ]
7145 },
7146 "macro_name": {
7147 "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)",
7148 "name": "entity.name.function.preprocessor.cpp"
7149 },
7150 "member_access": {
7151 "match": "(?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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_least16_t[^\\w]|uint_least32_t[^\\w]|uint_least64_t[^\\w]|int_least16_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|int_least8_t[^\\w]|int_fast16_t[^\\w]|int_fast32_t[^\\w]|int_fast64_t[^\\w]|uint_fast8_t[^\\w]|suseconds_t[^\\w]|int_fast8_t[^\\w]|useconds_t[^\\w]|blksize_t[^\\w]|in_addr_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|unsigned[^\\w]|u_quad_t[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|intptr_t[^\\w]|intmax_t[^\\w]|intmax_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]|swblk_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|signed[^\\w]|double[^\\w]|u_char[^\\w]|u_long[^\\w]|ushort[^\\w]|quad_t[^\\w]|mode_t[^\\w]|size_t[^\\w]|time_t[^\\w]|int8_t[^\\w]|short[^\\w]|float[^\\w]|u_int[^\\w]|div_t[^\\w]|dev_t[^\\w]|gid_t[^\\w]|ino_t[^\\w]|key_t[^\\w]|pid_t[^\\w]|off_t[^\\w]|uid_t[^\\w]|auto[^\\w]|void[^\\w]|char[^\\w]|long[^\\w]|bool[^\\w]|uint[^\\w]|id_t[^\\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(?!\\())",
7152 "captures": {
7153 "1": {
7154 "patterns": [
7155 {
7156 "include": "#inline_comment"
7157 }
7158 ]
7159 },
7160 "2": {
7161 "patterns": [
7162 {
7163 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
7164 "captures": {
7165 "1": {
7166 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7167 },
7168 "2": {
7169 "name": "comment.block.cpp"
7170 },
7171 "3": {
7172 "patterns": [
7173 {
7174 "match": "\\*\\/",
7175 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7176 },
7177 {
7178 "match": "\\*",
7179 "name": "comment.block.cpp"
7180 }
7181 ]
7182 }
7183 }
7184 }
7185 ]
7186 },
7187 "3": {
7188 "name": "variable.language.this.cpp"
7189 },
7190 "4": {
7191 "name": "variable.other.object.access.cpp"
7192 },
7193 "5": {
7194 "name": "punctuation.separator.dot-access.cpp"
7195 },
7196 "6": {
7197 "name": "punctuation.separator.pointer-access.cpp"
7198 },
7199 "7": {
7200 "patterns": [
7201 {
7202 "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
7203 "captures": {
7204 "1": {
7205 "patterns": [
7206 {
7207 "include": "#inline_comment"
7208 }
7209 ]
7210 },
7211 "2": {
7212 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7213 },
7214 "3": {
7215 "name": "comment.block.cpp"
7216 },
7217 "4": {
7218 "patterns": [
7219 {
7220 "match": "\\*\\/",
7221 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7222 },
7223 {
7224 "match": "\\*",
7225 "name": "comment.block.cpp"
7226 }
7227 ]
7228 },
7229 "5": {
7230 "name": "variable.language.this.cpp"
7231 },
7232 "6": {
7233 "name": "variable.other.object.property.cpp"
7234 },
7235 "7": {
7236 "name": "punctuation.separator.dot-access.cpp"
7237 },
7238 "8": {
7239 "name": "punctuation.separator.pointer-access.cpp"
7240 }
7241 }
7242 },
7243 {
7244 "match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
7245 "captures": {
7246 "1": {
7247 "patterns": [
7248 {
7249 "include": "#inline_comment"
7250 }
7251 ]
7252 },
7253 "2": {
7254 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7255 },
7256 "3": {
7257 "name": "comment.block.cpp"
7258 },
7259 "4": {
7260 "patterns": [
7261 {
7262 "match": "\\*\\/",
7263 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7264 },
7265 {
7266 "match": "\\*",
7267 "name": "comment.block.cpp"
7268 }
7269 ]
7270 },
7271 "5": {
7272 "name": "variable.language.this.cpp"
7273 },
7274 "6": {
7275 "name": "variable.other.object.access.cpp"
7276 },
7277 "7": {
7278 "name": "punctuation.separator.dot-access.cpp"
7279 },
7280 "8": {
7281 "name": "punctuation.separator.pointer-access.cpp"
7282 }
7283 }
7284 },
7285 {
7286 "include": "#member_access"
7287 },
7288 {
7289 "include": "#method_access"
7290 }
7291 ]
7292 },
7293 "8": {
7294 "name": "variable.other.property.cpp"
7295 }
7296 }
7297 },
7298 "memory_operators": {
7299 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))",
7300 "captures": {
7301 "1": {
7302 "patterns": [
7303 {
7304 "include": "#inline_comment"
7305 }
7306 ]
7307 },
7308 "2": {
7309 "patterns": [
7310 {
7311 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
7312 "captures": {
7313 "1": {
7314 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7315 },
7316 "2": {
7317 "name": "comment.block.cpp"
7318 },
7319 "3": {
7320 "patterns": [
7321 {
7322 "match": "\\*\\/",
7323 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7324 },
7325 {
7326 "match": "\\*",
7327 "name": "comment.block.cpp"
7328 }
7329 ]
7330 }
7331 }
7332 }
7333 ]
7334 },
7335 "3": {
7336 "name": "keyword.operator.wordlike.cpp"
7337 },
7338 "4": {
7339 "name": "keyword.operator.delete.array.cpp"
7340 },
7341 "5": {
7342 "name": "keyword.operator.delete.array.bracket.cpp"
7343 },
7344 "6": {
7345 "name": "keyword.operator.delete.cpp"
7346 },
7347 "7": {
7348 "name": "keyword.operator.new.cpp"
7349 }
7350 }
7351 },
7352 "method_access": {
7353 "begin": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)?(\\()",
7354 "end": "\\)",
7355 "beginCaptures": {
7356 "1": {
7357 "patterns": [
7358 {
7359 "include": "#inline_comment"
7360 }
7361 ]
7362 },
7363 "2": {
7364 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7365 },
7366 "3": {
7367 "name": "comment.block.cpp"
7368 },
7369 "4": {
7370 "patterns": [
7371 {
7372 "match": "\\*\\/",
7373 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7374 },
7375 {
7376 "match": "\\*",
7377 "name": "comment.block.cpp"
7378 }
7379 ]
7380 },
7381 "5": {
7382 "name": "variable.language.this.cpp"
7383 },
7384 "6": {
7385 "name": "variable.other.object.access.cpp"
7386 },
7387 "7": {
7388 "name": "punctuation.separator.dot-access.cpp"
7389 },
7390 "8": {
7391 "name": "punctuation.separator.pointer-access.cpp"
7392 },
7393 "9": {
7394 "patterns": [
7395 {
7396 "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
7397 "captures": {
7398 "1": {
7399 "patterns": [
7400 {
7401 "include": "#inline_comment"
7402 }
7403 ]
7404 },
7405 "2": {
7406 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7407 },
7408 "3": {
7409 "name": "comment.block.cpp"
7410 },
7411 "4": {
7412 "patterns": [
7413 {
7414 "match": "\\*\\/",
7415 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7416 },
7417 {
7418 "match": "\\*",
7419 "name": "comment.block.cpp"
7420 }
7421 ]
7422 },
7423 "5": {
7424 "name": "variable.language.this.cpp"
7425 },
7426 "6": {
7427 "name": "variable.other.object.property.cpp"
7428 },
7429 "7": {
7430 "name": "punctuation.separator.dot-access.cpp"
7431 },
7432 "8": {
7433 "name": "punctuation.separator.pointer-access.cpp"
7434 }
7435 }
7436 },
7437 {
7438 "match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
7439 "captures": {
7440 "1": {
7441 "patterns": [
7442 {
7443 "include": "#inline_comment"
7444 }
7445 ]
7446 },
7447 "2": {
7448 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7449 },
7450 "3": {
7451 "name": "comment.block.cpp"
7452 },
7453 "4": {
7454 "patterns": [
7455 {
7456 "match": "\\*\\/",
7457 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7458 },
7459 {
7460 "match": "\\*",
7461 "name": "comment.block.cpp"
7462 }
7463 ]
7464 },
7465 "5": {
7466 "name": "variable.language.this.cpp"
7467 },
7468 "6": {
7469 "name": "variable.other.object.access.cpp"
7470 },
7471 "7": {
7472 "name": "punctuation.separator.dot-access.cpp"
7473 },
7474 "8": {
7475 "name": "punctuation.separator.pointer-access.cpp"
7476 }
7477 }
7478 },
7479 {
7480 "include": "#member_access"
7481 },
7482 {
7483 "include": "#method_access"
7484 }
7485 ]
7486 },
7487 "10": {
7488 "name": "entity.name.function.member.cpp"
7489 },
7490 "11": {
7491 "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp"
7492 }
7493 },
7494 "endCaptures": {
7495 "0": {
7496 "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp"
7497 }
7498 },
7499 "patterns": [
7500 {
7501 "include": "#evaluation_context"
7502 }
7503 ]
7504 },
7505 "misc_keywords": {
7506 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:constinit)|(?:requires)|(?:typedef)|(?:concept)|(?:export)|(?:module))(?!\\w))",
7507 "captures": {
7508 "1": {
7509 "patterns": [
7510 {
7511 "include": "#inline_comment"
7512 }
7513 ]
7514 },
7515 "2": {
7516 "patterns": [
7517 {
7518 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
7519 "captures": {
7520 "1": {
7521 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7522 },
7523 "2": {
7524 "name": "comment.block.cpp"
7525 },
7526 "3": {
7527 "patterns": [
7528 {
7529 "match": "\\*\\/",
7530 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7531 },
7532 {
7533 "match": "\\*",
7534 "name": "comment.block.cpp"
7535 }
7536 ]
7537 }
7538 }
7539 }
7540 ]
7541 },
7542 "3": {
7543 "name": "keyword.other.$3.cpp"
7544 }
7545 }
7546 },
7547 "ms_attributes": {
7548 "begin": "__declspec\\(",
7549 "end": "\\)",
7550 "beginCaptures": {
7551 "0": {
7552 "name": "punctuation.section.attribute.begin.cpp"
7553 }
7554 },
7555 "endCaptures": {
7556 "0": {
7557 "name": "punctuation.section.attribute.end.cpp"
7558 }
7559 },
7560 "name": "support.other.attribute.cpp",
7561 "patterns": [
7562 {
7563 "include": "#attributes_context"
7564 },
7565 {
7566 "begin": "\\(",
7567 "end": "\\)",
7568 "beginCaptures": {},
7569 "endCaptures": {},
7570 "patterns": [
7571 {
7572 "include": "#attributes_context"
7573 },
7574 {
7575 "include": "#string_context"
7576 }
7577 ]
7578 },
7579 {
7580 "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))",
7581 "captures": {
7582 "1": {
7583 "name": "keyword.other.using.directive.cpp"
7584 },
7585 "2": {
7586 "name": "entity.name.namespace.cpp"
7587 }
7588 }
7589 },
7590 {
7591 "match": ",",
7592 "name": "punctuation.separator.attribute.cpp"
7593 },
7594 {
7595 "match": ":",
7596 "name": "punctuation.accessor.attribute.cpp"
7597 },
7598 {
7599 "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)(?=::)",
7600 "name": "entity.name.namespace.cpp"
7601 },
7602 {
7603 "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)",
7604 "name": "entity.other.attribute.$0.cpp"
7605 },
7606 {
7607 "include": "#number_literal"
7608 }
7609 ]
7610 },
7611 "namespace_alias": {
7612 "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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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))",
7613 "captures": {
7614 "1": {
7615 "name": "keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"
7616 },
7617 "2": {
7618 "name": "entity.name.namespace.alias.cpp"
7619 },
7620 "3": {
7621 "name": "keyword.operator.assignment.cpp"
7622 },
7623 "4": {
7624 "name": "meta.declaration.namespace.alias.value.cpp"
7625 },
7626 "5": {
7627 "patterns": [
7628 {
7629 "include": "#scope_resolution_namespace_alias_inner_generated"
7630 }
7631 ]
7632 },
7633 "6": {
7634 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
7635 },
7636 "7": {
7637 "patterns": [
7638 {
7639 "include": "#template_call_range"
7640 }
7641 ]
7642 },
7643 "9": {
7644 "name": "entity.name.namespace.cpp"
7645 },
7646 "10": {
7647 "name": "punctuation.terminator.statement.cpp"
7648 }
7649 },
7650 "name": "meta.declaration.namespace.alias.cpp"
7651 },
7652 "namespace_block": {
7653 "begin": "((?<!\\w)namespace(?!\\w))",
7654 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
7655 "beginCaptures": {
7656 "0": {
7657 "name": "meta.head.namespace.cpp"
7658 },
7659 "1": {
7660 "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"
7661 }
7662 },
7663 "endCaptures": {},
7664 "name": "meta.block.namespace.cpp",
7665 "patterns": [
7666 {
7667 "begin": "\\G ?",
7668 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
7669 "beginCaptures": {},
7670 "endCaptures": {
7671 "0": {
7672 "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp"
7673 }
7674 },
7675 "name": "meta.head.namespace.cpp",
7676 "patterns": [
7677 {
7678 "include": "#ever_present_context"
7679 },
7680 {
7681 "include": "#attributes_context"
7682 },
7683 {
7684 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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))?",
7685 "captures": {
7686 "1": {
7687 "patterns": [
7688 {
7689 "include": "#scope_resolution_namespace_block_inner_generated"
7690 }
7691 ]
7692 },
7693 "2": {
7694 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
7695 },
7696 "3": {
7697 "patterns": [
7698 {
7699 "include": "#template_call_range"
7700 }
7701 ]
7702 },
7703 "4": {},
7704 "5": {
7705 "name": "entity.name.namespace.cpp"
7706 },
7707 "6": {
7708 "name": "punctuation.separator.scope-resolution.namespace.block.cpp"
7709 },
7710 "7": {
7711 "name": "storage.modifier.inline.cpp"
7712 }
7713 }
7714 }
7715 ]
7716 },
7717 {
7718 "begin": "(?<=\\{|<%|\\?\\?<)",
7719 "end": "\\}|%>|\\?\\?>",
7720 "beginCaptures": {},
7721 "endCaptures": {
7722 "0": {
7723 "name": "punctuation.section.block.end.bracket.curly.namespace.cpp"
7724 }
7725 },
7726 "name": "meta.body.namespace.cpp",
7727 "patterns": [
7728 {
7729 "include": "$self"
7730 }
7731 ]
7732 },
7733 {
7734 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
7735 "end": "[\\s]*(?=;)",
7736 "beginCaptures": {},
7737 "endCaptures": {},
7738 "name": "meta.tail.namespace.cpp",
7739 "patterns": [
7740 {
7741 "include": "$self"
7742 }
7743 ]
7744 }
7745 ]
7746 },
7747 "noexcept_operator": {
7748 "begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
7749 "end": "\\)",
7750 "beginCaptures": {
7751 "1": {
7752 "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
7753 },
7754 "2": {
7755 "patterns": [
7756 {
7757 "include": "#inline_comment"
7758 }
7759 ]
7760 },
7761 "3": {
7762 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7763 },
7764 "4": {
7765 "name": "comment.block.cpp"
7766 },
7767 "5": {
7768 "patterns": [
7769 {
7770 "match": "\\*\\/",
7771 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7772 },
7773 {
7774 "match": "\\*",
7775 "name": "comment.block.cpp"
7776 }
7777 ]
7778 },
7779 "6": {
7780 "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
7781 }
7782 },
7783 "endCaptures": {
7784 "0": {
7785 "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
7786 }
7787 },
7788 "contentName": "meta.arguments.operator.noexcept",
7789 "patterns": [
7790 {
7791 "include": "#evaluation_context"
7792 }
7793 ]
7794 },
7795 "number_literal": {
7796 "match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
7797 "captures": {
7798 "0": {
7799 "patterns": [
7800 {
7801 "begin": "(?=.)",
7802 "end": "$",
7803 "beginCaptures": {},
7804 "endCaptures": {},
7805 "patterns": [
7806 {
7807 "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*)?$)",
7808 "captures": {
7809 "1": {
7810 "name": "keyword.other.unit.hexadecimal.cpp"
7811 },
7812 "2": {
7813 "name": "constant.numeric.hexadecimal.cpp",
7814 "patterns": [
7815 {
7816 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7817 "name": "punctuation.separator.constant.numeric.cpp"
7818 }
7819 ]
7820 },
7821 "3": {
7822 "name": "punctuation.separator.constant.numeric.cpp"
7823 },
7824 "4": {
7825 "name": "constant.numeric.hexadecimal.cpp"
7826 },
7827 "5": {
7828 "name": "constant.numeric.hexadecimal.cpp",
7829 "patterns": [
7830 {
7831 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7832 "name": "punctuation.separator.constant.numeric.cpp"
7833 }
7834 ]
7835 },
7836 "6": {
7837 "name": "punctuation.separator.constant.numeric.cpp"
7838 },
7839 "7": {
7840 "name": "keyword.other.unit.exponent.hexadecimal.cpp"
7841 },
7842 "8": {
7843 "name": "keyword.operator.plus.exponent.hexadecimal.cpp"
7844 },
7845 "9": {
7846 "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
7847 },
7848 "10": {
7849 "name": "constant.numeric.exponent.hexadecimal.cpp",
7850 "patterns": [
7851 {
7852 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7853 "name": "punctuation.separator.constant.numeric.cpp"
7854 }
7855 ]
7856 },
7857 "11": {
7858 "name": "keyword.other.unit.suffix.floating-point.cpp"
7859 },
7860 "12": {
7861 "name": "keyword.other.unit.user-defined.cpp"
7862 }
7863 }
7864 },
7865 {
7866 "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*)?$)",
7867 "captures": {
7868 "1": {
7869 "name": "constant.numeric.decimal.cpp",
7870 "patterns": [
7871 {
7872 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7873 "name": "punctuation.separator.constant.numeric.cpp"
7874 }
7875 ]
7876 },
7877 "2": {
7878 "name": "punctuation.separator.constant.numeric.cpp"
7879 },
7880 "3": {
7881 "name": "constant.numeric.decimal.point.cpp"
7882 },
7883 "4": {
7884 "name": "constant.numeric.decimal.cpp",
7885 "patterns": [
7886 {
7887 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7888 "name": "punctuation.separator.constant.numeric.cpp"
7889 }
7890 ]
7891 },
7892 "5": {
7893 "name": "punctuation.separator.constant.numeric.cpp"
7894 },
7895 "6": {
7896 "name": "keyword.other.unit.exponent.decimal.cpp"
7897 },
7898 "7": {
7899 "name": "keyword.operator.plus.exponent.decimal.cpp"
7900 },
7901 "8": {
7902 "name": "keyword.operator.minus.exponent.decimal.cpp"
7903 },
7904 "9": {
7905 "name": "constant.numeric.exponent.decimal.cpp",
7906 "patterns": [
7907 {
7908 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7909 "name": "punctuation.separator.constant.numeric.cpp"
7910 }
7911 ]
7912 },
7913 "10": {
7914 "name": "keyword.other.unit.suffix.floating-point.cpp"
7915 },
7916 "11": {
7917 "name": "keyword.other.unit.user-defined.cpp"
7918 }
7919 }
7920 },
7921 {
7922 "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*)?$)",
7923 "captures": {
7924 "1": {
7925 "name": "keyword.other.unit.binary.cpp"
7926 },
7927 "2": {
7928 "name": "constant.numeric.binary.cpp",
7929 "patterns": [
7930 {
7931 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7932 "name": "punctuation.separator.constant.numeric.cpp"
7933 }
7934 ]
7935 },
7936 "3": {
7937 "name": "punctuation.separator.constant.numeric.cpp"
7938 },
7939 "4": {
7940 "name": "keyword.other.unit.suffix.integer.cpp"
7941 },
7942 "5": {
7943 "name": "keyword.other.unit.user-defined.cpp"
7944 }
7945 }
7946 },
7947 {
7948 "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*)?$)",
7949 "captures": {
7950 "1": {
7951 "name": "keyword.other.unit.octal.cpp"
7952 },
7953 "2": {
7954 "name": "constant.numeric.octal.cpp",
7955 "patterns": [
7956 {
7957 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7958 "name": "punctuation.separator.constant.numeric.cpp"
7959 }
7960 ]
7961 },
7962 "3": {
7963 "name": "punctuation.separator.constant.numeric.cpp"
7964 },
7965 "4": {
7966 "name": "keyword.other.unit.suffix.integer.cpp"
7967 },
7968 "5": {
7969 "name": "keyword.other.unit.user-defined.cpp"
7970 }
7971 }
7972 },
7973 {
7974 "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*)?$)",
7975 "captures": {
7976 "1": {
7977 "name": "keyword.other.unit.hexadecimal.cpp"
7978 },
7979 "2": {
7980 "name": "constant.numeric.hexadecimal.cpp",
7981 "patterns": [
7982 {
7983 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7984 "name": "punctuation.separator.constant.numeric.cpp"
7985 }
7986 ]
7987 },
7988 "3": {
7989 "name": "punctuation.separator.constant.numeric.cpp"
7990 },
7991 "4": {
7992 "name": "keyword.other.unit.exponent.hexadecimal.cpp"
7993 },
7994 "5": {
7995 "name": "keyword.operator.plus.exponent.hexadecimal.cpp"
7996 },
7997 "6": {
7998 "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
7999 },
8000 "7": {
8001 "name": "constant.numeric.exponent.hexadecimal.cpp",
8002 "patterns": [
8003 {
8004 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
8005 "name": "punctuation.separator.constant.numeric.cpp"
8006 }
8007 ]
8008 },
8009 "8": {
8010 "name": "keyword.other.unit.suffix.integer.cpp"
8011 },
8012 "9": {
8013 "name": "keyword.other.unit.user-defined.cpp"
8014 }
8015 }
8016 },
8017 {
8018 "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*)?$)",
8019 "captures": {
8020 "1": {
8021 "name": "constant.numeric.decimal.cpp",
8022 "patterns": [
8023 {
8024 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
8025 "name": "punctuation.separator.constant.numeric.cpp"
8026 }
8027 ]
8028 },
8029 "2": {
8030 "name": "punctuation.separator.constant.numeric.cpp"
8031 },
8032 "3": {
8033 "name": "keyword.other.unit.exponent.decimal.cpp"
8034 },
8035 "4": {
8036 "name": "keyword.operator.plus.exponent.decimal.cpp"
8037 },
8038 "5": {
8039 "name": "keyword.operator.minus.exponent.decimal.cpp"
8040 },
8041 "6": {
8042 "name": "constant.numeric.exponent.decimal.cpp",
8043 "patterns": [
8044 {
8045 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
8046 "name": "punctuation.separator.constant.numeric.cpp"
8047 }
8048 ]
8049 },
8050 "7": {
8051 "name": "keyword.other.unit.suffix.integer.cpp"
8052 },
8053 "8": {
8054 "name": "keyword.other.unit.user-defined.cpp"
8055 }
8056 }
8057 },
8058 {
8059 "match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
8060 "name": "invalid.illegal.constant.numeric.cpp"
8061 }
8062 ]
8063 }
8064 ]
8065 }
8066 }
8067 },
8068 "operator_overload": {
8069 "begin": "(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?: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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\<|\\()",
8070 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
8071 "beginCaptures": {
8072 "0": {
8073 "name": "meta.head.function.definition.special.operator-overload.cpp"
8074 },
8075 "1": {
8076 "name": "meta.qualified_type.cpp",
8077 "patterns": [
8078 {
8079 "match": "::",
8080 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
8081 },
8082 {
8083 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
8084 "name": "storage.type.$0.cpp"
8085 },
8086 {
8087 "include": "#attributes_context"
8088 },
8089 {
8090 "include": "#storage_types"
8091 },
8092 {
8093 "include": "#number_literal"
8094 },
8095 {
8096 "include": "#string_context"
8097 },
8098 {
8099 "include": "#comma"
8100 },
8101 {
8102 "include": "#scope_resolution_inner_generated"
8103 },
8104 {
8105 "begin": "<",
8106 "end": ">",
8107 "beginCaptures": {
8108 "0": {
8109 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
8110 }
8111 },
8112 "endCaptures": {
8113 "0": {
8114 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
8115 }
8116 },
8117 "name": "meta.template.call.cpp",
8118 "patterns": [
8119 {
8120 "include": "#template_call_context"
8121 }
8122 ]
8123 },
8124 {
8125 "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}))*",
8126 "name": "entity.name.type.cpp"
8127 }
8128 ]
8129 },
8130 "2": {
8131 "patterns": [
8132 {
8133 "include": "#attributes_context"
8134 },
8135 {
8136 "include": "#number_literal"
8137 }
8138 ]
8139 },
8140 "3": {
8141 "patterns": [
8142 {
8143 "include": "#inline_comment"
8144 }
8145 ]
8146 },
8147 "4": {
8148 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8149 },
8150 "5": {
8151 "name": "comment.block.cpp"
8152 },
8153 "6": {
8154 "patterns": [
8155 {
8156 "match": "\\*\\/",
8157 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8158 },
8159 {
8160 "match": "\\*",
8161 "name": "comment.block.cpp"
8162 }
8163 ]
8164 },
8165 "7": {
8166 "patterns": [
8167 {
8168 "include": "#inline_comment"
8169 }
8170 ]
8171 },
8172 "8": {
8173 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8174 },
8175 "9": {
8176 "name": "comment.block.cpp"
8177 },
8178 "10": {
8179 "patterns": [
8180 {
8181 "match": "\\*\\/",
8182 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8183 },
8184 {
8185 "match": "\\*",
8186 "name": "comment.block.cpp"
8187 }
8188 ]
8189 },
8190 "11": {
8191 "patterns": [
8192 {
8193 "match": "::",
8194 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
8195 },
8196 {
8197 "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)",
8198 "name": "entity.name.scope-resolution.type.cpp"
8199 },
8200 {
8201 "include": "#template_call_range"
8202 }
8203 ]
8204 },
8205 "12": {
8206 "patterns": [
8207 {
8208 "include": "#template_call_range"
8209 }
8210 ]
8211 },
8212 "13": {},
8213 "14": {
8214 "patterns": [
8215 {
8216 "include": "#inline_comment"
8217 }
8218 ]
8219 },
8220 "15": {
8221 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8222 },
8223 "16": {
8224 "name": "comment.block.cpp"
8225 },
8226 "17": {
8227 "patterns": [
8228 {
8229 "match": "\\*\\/",
8230 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8231 },
8232 {
8233 "match": "\\*",
8234 "name": "comment.block.cpp"
8235 }
8236 ]
8237 },
8238 "18": {},
8239 "19": {
8240 "patterns": [
8241 {
8242 "match": "\\*",
8243 "name": "storage.modifier.pointer.cpp"
8244 },
8245 {
8246 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
8247 "captures": {
8248 "1": {
8249 "patterns": [
8250 {
8251 "include": "#inline_comment"
8252 }
8253 ]
8254 },
8255 "2": {
8256 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8257 },
8258 "3": {
8259 "name": "comment.block.cpp"
8260 },
8261 "4": {
8262 "patterns": [
8263 {
8264 "match": "\\*\\/",
8265 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8266 },
8267 {
8268 "match": "\\*",
8269 "name": "comment.block.cpp"
8270 }
8271 ]
8272 }
8273 },
8274 "name": "invalid.illegal.reference-type.cpp"
8275 },
8276 {
8277 "match": "\\&",
8278 "name": "storage.modifier.reference.cpp"
8279 }
8280 ]
8281 },
8282 "20": {
8283 "patterns": [
8284 {
8285 "include": "#inline_comment"
8286 }
8287 ]
8288 },
8289 "21": {
8290 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8291 },
8292 "22": {
8293 "name": "comment.block.cpp"
8294 },
8295 "23": {
8296 "patterns": [
8297 {
8298 "match": "\\*\\/",
8299 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8300 },
8301 {
8302 "match": "\\*",
8303 "name": "comment.block.cpp"
8304 }
8305 ]
8306 },
8307 "24": {
8308 "patterns": [
8309 {
8310 "include": "#inline_comment"
8311 }
8312 ]
8313 },
8314 "25": {
8315 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8316 },
8317 "26": {
8318 "name": "comment.block.cpp"
8319 },
8320 "27": {
8321 "patterns": [
8322 {
8323 "match": "\\*\\/",
8324 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8325 },
8326 {
8327 "match": "\\*",
8328 "name": "comment.block.cpp"
8329 }
8330 ]
8331 },
8332 "28": {
8333 "patterns": [
8334 {
8335 "include": "#inline_comment"
8336 }
8337 ]
8338 },
8339 "29": {
8340 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8341 },
8342 "30": {
8343 "name": "comment.block.cpp"
8344 },
8345 "31": {
8346 "patterns": [
8347 {
8348 "match": "\\*\\/",
8349 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8350 },
8351 {
8352 "match": "\\*",
8353 "name": "comment.block.cpp"
8354 }
8355 ]
8356 },
8357 "32": {
8358 "patterns": [
8359 {
8360 "include": "#inline_comment"
8361 }
8362 ]
8363 },
8364 "33": {
8365 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8366 },
8367 "34": {
8368 "name": "comment.block.cpp"
8369 },
8370 "35": {
8371 "patterns": [
8372 {
8373 "match": "\\*\\/",
8374 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8375 },
8376 {
8377 "match": "\\*",
8378 "name": "comment.block.cpp"
8379 }
8380 ]
8381 },
8382 "36": {
8383 "name": "storage.type.modifier.calling-convention.cpp"
8384 },
8385 "37": {
8386 "patterns": [
8387 {
8388 "include": "#inline_comment"
8389 }
8390 ]
8391 },
8392 "38": {
8393 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8394 },
8395 "39": {
8396 "name": "comment.block.cpp"
8397 },
8398 "40": {
8399 "patterns": [
8400 {
8401 "match": "\\*\\/",
8402 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8403 },
8404 {
8405 "match": "\\*",
8406 "name": "comment.block.cpp"
8407 }
8408 ]
8409 },
8410 "41": {
8411 "patterns": [
8412 {
8413 "include": "#inline_comment"
8414 }
8415 ]
8416 },
8417 "42": {
8418 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8419 },
8420 "43": {
8421 "name": "comment.block.cpp"
8422 },
8423 "44": {
8424 "patterns": [
8425 {
8426 "match": "\\*\\/",
8427 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8428 },
8429 {
8430 "match": "\\*",
8431 "name": "comment.block.cpp"
8432 }
8433 ]
8434 },
8435 "45": {
8436 "patterns": [
8437 {
8438 "match": "::",
8439 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"
8440 },
8441 {
8442 "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)",
8443 "name": "entity.name.scope-resolution.operator.cpp"
8444 },
8445 {
8446 "include": "#template_call_range"
8447 }
8448 ]
8449 },
8450 "46": {
8451 "patterns": [
8452 {
8453 "include": "#template_call_range"
8454 }
8455 ]
8456 },
8457 "47": {},
8458 "48": {
8459 "name": "keyword.other.operator.overload.cpp"
8460 },
8461 "49": {
8462 "patterns": [
8463 {
8464 "include": "#inline_comment"
8465 }
8466 ]
8467 },
8468 "50": {
8469 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8470 },
8471 "51": {
8472 "name": "comment.block.cpp"
8473 },
8474 "52": {
8475 "patterns": [
8476 {
8477 "match": "\\*\\/",
8478 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8479 },
8480 {
8481 "match": "\\*",
8482 "name": "comment.block.cpp"
8483 }
8484 ]
8485 },
8486 "53": {
8487 "patterns": [
8488 {
8489 "match": "::",
8490 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"
8491 },
8492 {
8493 "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)",
8494 "name": "entity.name.scope-resolution.operator-overload.cpp"
8495 },
8496 {
8497 "include": "#template_call_range"
8498 }
8499 ]
8500 },
8501 "54": {
8502 "patterns": [
8503 {
8504 "include": "#template_call_range"
8505 }
8506 ]
8507 },
8508 "55": {},
8509 "56": {
8510 "name": "entity.name.operator.cpp"
8511 },
8512 "57": {
8513 "name": "entity.name.operator.type.cpp"
8514 },
8515 "58": {
8516 "patterns": [
8517 {
8518 "match": "\\*",
8519 "name": "entity.name.operator.type.pointer.cpp"
8520 },
8521 {
8522 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
8523 "captures": {
8524 "1": {
8525 "patterns": [
8526 {
8527 "include": "#inline_comment"
8528 }
8529 ]
8530 },
8531 "2": {
8532 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8533 },
8534 "3": {
8535 "name": "comment.block.cpp"
8536 },
8537 "4": {
8538 "patterns": [
8539 {
8540 "match": "\\*\\/",
8541 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8542 },
8543 {
8544 "match": "\\*",
8545 "name": "comment.block.cpp"
8546 }
8547 ]
8548 }
8549 },
8550 "name": "invalid.illegal.reference-type.cpp"
8551 },
8552 {
8553 "match": "\\&",
8554 "name": "entity.name.operator.type.reference.cpp"
8555 }
8556 ]
8557 },
8558 "59": {
8559 "patterns": [
8560 {
8561 "include": "#inline_comment"
8562 }
8563 ]
8564 },
8565 "60": {
8566 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8567 },
8568 "61": {
8569 "name": "comment.block.cpp"
8570 },
8571 "62": {
8572 "patterns": [
8573 {
8574 "match": "\\*\\/",
8575 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8576 },
8577 {
8578 "match": "\\*",
8579 "name": "comment.block.cpp"
8580 }
8581 ]
8582 },
8583 "63": {
8584 "patterns": [
8585 {
8586 "include": "#inline_comment"
8587 }
8588 ]
8589 },
8590 "64": {
8591 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8592 },
8593 "65": {
8594 "name": "comment.block.cpp"
8595 },
8596 "66": {
8597 "patterns": [
8598 {
8599 "match": "\\*\\/",
8600 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8601 },
8602 {
8603 "match": "\\*",
8604 "name": "comment.block.cpp"
8605 }
8606 ]
8607 },
8608 "67": {
8609 "patterns": [
8610 {
8611 "include": "#inline_comment"
8612 }
8613 ]
8614 },
8615 "68": {
8616 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8617 },
8618 "69": {
8619 "name": "comment.block.cpp"
8620 },
8621 "70": {
8622 "patterns": [
8623 {
8624 "match": "\\*\\/",
8625 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8626 },
8627 {
8628 "match": "\\*",
8629 "name": "comment.block.cpp"
8630 }
8631 ]
8632 },
8633 "71": {
8634 "name": "entity.name.operator.type.array.cpp"
8635 },
8636 "72": {
8637 "name": "entity.name.operator.custom-literal.cpp"
8638 },
8639 "73": {
8640 "patterns": [
8641 {
8642 "include": "#inline_comment"
8643 }
8644 ]
8645 },
8646 "74": {
8647 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8648 },
8649 "75": {
8650 "name": "comment.block.cpp"
8651 },
8652 "76": {
8653 "patterns": [
8654 {
8655 "match": "\\*\\/",
8656 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8657 },
8658 {
8659 "match": "\\*",
8660 "name": "comment.block.cpp"
8661 }
8662 ]
8663 },
8664 "77": {
8665 "name": "entity.name.operator.custom-literal.cpp"
8666 },
8667 "78": {
8668 "patterns": [
8669 {
8670 "include": "#inline_comment"
8671 }
8672 ]
8673 },
8674 "79": {
8675 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8676 },
8677 "80": {
8678 "name": "comment.block.cpp"
8679 },
8680 "81": {
8681 "patterns": [
8682 {
8683 "match": "\\*\\/",
8684 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8685 },
8686 {
8687 "match": "\\*",
8688 "name": "comment.block.cpp"
8689 }
8690 ]
8691 }
8692 },
8693 "endCaptures": {},
8694 "name": "meta.function.definition.special.operator-overload.cpp",
8695 "patterns": [
8696 {
8697 "begin": "\\G ?",
8698 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
8699 "beginCaptures": {},
8700 "endCaptures": {
8701 "0": {
8702 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"
8703 }
8704 },
8705 "name": "meta.head.function.definition.special.operator-overload.cpp",
8706 "patterns": [
8707 {
8708 "include": "#ever_present_context"
8709 },
8710 {
8711 "include": "#template_call_range"
8712 },
8713 {
8714 "begin": "\\(",
8715 "end": "\\)",
8716 "beginCaptures": {
8717 "0": {
8718 "name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"
8719 }
8720 },
8721 "endCaptures": {
8722 "0": {
8723 "name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"
8724 }
8725 },
8726 "contentName": "meta.function.definition.parameters.special.operator-overload",
8727 "patterns": [
8728 {
8729 "include": "#function_parameter_context"
8730 },
8731 {
8732 "include": "#evaluation_context"
8733 }
8734 ]
8735 },
8736 {
8737 "include": "#qualifiers_and_specifiers_post_parameters"
8738 },
8739 {
8740 "include": "$self"
8741 }
8742 ]
8743 },
8744 {
8745 "begin": "(?<=\\{|<%|\\?\\?<)",
8746 "end": "\\}|%>|\\?\\?>",
8747 "beginCaptures": {},
8748 "endCaptures": {
8749 "0": {
8750 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"
8751 }
8752 },
8753 "name": "meta.body.function.definition.special.operator-overload.cpp",
8754 "patterns": [
8755 {
8756 "include": "#function_body_context"
8757 }
8758 ]
8759 },
8760 {
8761 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
8762 "end": "[\\s]*(?=;)",
8763 "beginCaptures": {},
8764 "endCaptures": {},
8765 "name": "meta.tail.function.definition.special.operator-overload.cpp",
8766 "patterns": [
8767 {
8768 "include": "$self"
8769 }
8770 ]
8771 }
8772 ]
8773 },
8774 "operators": {
8775 "patterns": [
8776 {
8777 "begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
8778 "end": "\\)",
8779 "beginCaptures": {
8780 "1": {
8781 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
8782 },
8783 "2": {
8784 "patterns": [
8785 {
8786 "include": "#inline_comment"
8787 }
8788 ]
8789 },
8790 "3": {
8791 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8792 },
8793 "4": {
8794 "name": "comment.block.cpp"
8795 },
8796 "5": {
8797 "patterns": [
8798 {
8799 "match": "\\*\\/",
8800 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8801 },
8802 {
8803 "match": "\\*",
8804 "name": "comment.block.cpp"
8805 }
8806 ]
8807 },
8808 "6": {
8809 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
8810 }
8811 },
8812 "endCaptures": {
8813 "0": {
8814 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
8815 }
8816 },
8817 "contentName": "meta.arguments.operator.sizeof",
8818 "patterns": [
8819 {
8820 "include": "#evaluation_context"
8821 }
8822 ]
8823 },
8824 {
8825 "begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
8826 "end": "\\)",
8827 "beginCaptures": {
8828 "1": {
8829 "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
8830 },
8831 "2": {
8832 "patterns": [
8833 {
8834 "include": "#inline_comment"
8835 }
8836 ]
8837 },
8838 "3": {
8839 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8840 },
8841 "4": {
8842 "name": "comment.block.cpp"
8843 },
8844 "5": {
8845 "patterns": [
8846 {
8847 "match": "\\*\\/",
8848 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8849 },
8850 {
8851 "match": "\\*",
8852 "name": "comment.block.cpp"
8853 }
8854 ]
8855 },
8856 "6": {
8857 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
8858 }
8859 },
8860 "endCaptures": {
8861 "0": {
8862 "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
8863 }
8864 },
8865 "contentName": "meta.arguments.operator.alignof",
8866 "patterns": [
8867 {
8868 "include": "#evaluation_context"
8869 }
8870 ]
8871 },
8872 {
8873 "begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
8874 "end": "\\)",
8875 "beginCaptures": {
8876 "1": {
8877 "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
8878 },
8879 "2": {
8880 "patterns": [
8881 {
8882 "include": "#inline_comment"
8883 }
8884 ]
8885 },
8886 "3": {
8887 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8888 },
8889 "4": {
8890 "name": "comment.block.cpp"
8891 },
8892 "5": {
8893 "patterns": [
8894 {
8895 "match": "\\*\\/",
8896 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8897 },
8898 {
8899 "match": "\\*",
8900 "name": "comment.block.cpp"
8901 }
8902 ]
8903 },
8904 "6": {
8905 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
8906 }
8907 },
8908 "endCaptures": {
8909 "0": {
8910 "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
8911 }
8912 },
8913 "contentName": "meta.arguments.operator.alignas",
8914 "patterns": [
8915 {
8916 "include": "#evaluation_context"
8917 }
8918 ]
8919 },
8920 {
8921 "begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
8922 "end": "\\)",
8923 "beginCaptures": {
8924 "1": {
8925 "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
8926 },
8927 "2": {
8928 "patterns": [
8929 {
8930 "include": "#inline_comment"
8931 }
8932 ]
8933 },
8934 "3": {
8935 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8936 },
8937 "4": {
8938 "name": "comment.block.cpp"
8939 },
8940 "5": {
8941 "patterns": [
8942 {
8943 "match": "\\*\\/",
8944 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8945 },
8946 {
8947 "match": "\\*",
8948 "name": "comment.block.cpp"
8949 }
8950 ]
8951 },
8952 "6": {
8953 "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
8954 }
8955 },
8956 "endCaptures": {
8957 "0": {
8958 "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
8959 }
8960 },
8961 "contentName": "meta.arguments.operator.typeid",
8962 "patterns": [
8963 {
8964 "include": "#evaluation_context"
8965 }
8966 ]
8967 },
8968 {
8969 "begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
8970 "end": "\\)",
8971 "beginCaptures": {
8972 "1": {
8973 "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
8974 },
8975 "2": {
8976 "patterns": [
8977 {
8978 "include": "#inline_comment"
8979 }
8980 ]
8981 },
8982 "3": {
8983 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8984 },
8985 "4": {
8986 "name": "comment.block.cpp"
8987 },
8988 "5": {
8989 "patterns": [
8990 {
8991 "match": "\\*\\/",
8992 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8993 },
8994 {
8995 "match": "\\*",
8996 "name": "comment.block.cpp"
8997 }
8998 ]
8999 },
9000 "6": {
9001 "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
9002 }
9003 },
9004 "endCaptures": {
9005 "0": {
9006 "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
9007 }
9008 },
9009 "contentName": "meta.arguments.operator.noexcept",
9010 "patterns": [
9011 {
9012 "include": "#evaluation_context"
9013 }
9014 ]
9015 },
9016 {
9017 "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
9018 "end": "\\)",
9019 "beginCaptures": {
9020 "1": {
9021 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
9022 },
9023 "2": {
9024 "patterns": [
9025 {
9026 "include": "#inline_comment"
9027 }
9028 ]
9029 },
9030 "3": {
9031 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9032 },
9033 "4": {
9034 "name": "comment.block.cpp"
9035 },
9036 "5": {
9037 "patterns": [
9038 {
9039 "match": "\\*\\/",
9040 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9041 },
9042 {
9043 "match": "\\*",
9044 "name": "comment.block.cpp"
9045 }
9046 ]
9047 },
9048 "6": {
9049 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
9050 }
9051 },
9052 "endCaptures": {
9053 "0": {
9054 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
9055 }
9056 },
9057 "contentName": "meta.arguments.operator.sizeof.variadic",
9058 "patterns": [
9059 {
9060 "include": "#evaluation_context"
9061 }
9062 ]
9063 },
9064 {
9065 "match": "--",
9066 "name": "keyword.operator.decrement.cpp"
9067 },
9068 {
9069 "match": "\\+\\+",
9070 "name": "keyword.operator.increment.cpp"
9071 },
9072 {
9073 "match": "%=|\\+=|-=|\\*=|(?<!\\()\\/=",
9074 "name": "keyword.operator.assignment.compound.cpp"
9075 },
9076 {
9077 "match": "&=|\\^=|<<=|>>=|\\|=",
9078 "name": "keyword.operator.assignment.compound.bitwise.cpp"
9079 },
9080 {
9081 "match": "<<|>>",
9082 "name": "keyword.operator.bitwise.shift.cpp"
9083 },
9084 {
9085 "match": "!=|<=|>=|==|<|>",
9086 "name": "keyword.operator.comparison.cpp"
9087 },
9088 {
9089 "match": "&&|!|\\|\\|",
9090 "name": "keyword.operator.logical.cpp"
9091 },
9092 {
9093 "match": "&|\\||\\^|~",
9094 "name": "keyword.operator.bitwise.cpp"
9095 },
9096 {
9097 "include": "#assignment_operator"
9098 },
9099 {
9100 "match": "%|\\*|\\/|-|\\+",
9101 "name": "keyword.operator.arithmetic.cpp"
9102 },
9103 {
9104 "include": "#ternary_operator"
9105 }
9106 ]
9107 },
9108 "over_qualified_types": {
9109 "patterns": [
9110 {
9111 "match": "(\\bstruct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
9112 "captures": {
9113 "1": {
9114 "name": "storage.type.struct.parameter.cpp"
9115 },
9116 "2": {
9117 "patterns": [
9118 {
9119 "include": "#inline_comment"
9120 }
9121 ]
9122 },
9123 "3": {
9124 "patterns": [
9125 {
9126 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9127 "captures": {
9128 "1": {
9129 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9130 },
9131 "2": {
9132 "name": "comment.block.cpp"
9133 },
9134 "3": {
9135 "patterns": [
9136 {
9137 "match": "\\*\\/",
9138 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9139 },
9140 {
9141 "match": "\\*",
9142 "name": "comment.block.cpp"
9143 }
9144 ]
9145 }
9146 }
9147 }
9148 ]
9149 },
9150 "4": {
9151 "name": "entity.name.type.struct.parameter.cpp"
9152 },
9153 "5": {
9154 "patterns": [
9155 {
9156 "include": "#inline_comment"
9157 }
9158 ]
9159 },
9160 "6": {
9161 "patterns": [
9162 {
9163 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9164 "captures": {
9165 "1": {
9166 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9167 },
9168 "2": {
9169 "name": "comment.block.cpp"
9170 },
9171 "3": {
9172 "patterns": [
9173 {
9174 "match": "\\*\\/",
9175 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9176 },
9177 {
9178 "match": "\\*",
9179 "name": "comment.block.cpp"
9180 }
9181 ]
9182 }
9183 }
9184 }
9185 ]
9186 },
9187 "7": {
9188 "patterns": [
9189 {
9190 "match": "\\*",
9191 "name": "storage.modifier.pointer.cpp"
9192 },
9193 {
9194 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
9195 "captures": {
9196 "1": {
9197 "patterns": [
9198 {
9199 "include": "#inline_comment"
9200 }
9201 ]
9202 },
9203 "2": {
9204 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9205 },
9206 "3": {
9207 "name": "comment.block.cpp"
9208 },
9209 "4": {
9210 "patterns": [
9211 {
9212 "match": "\\*\\/",
9213 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9214 },
9215 {
9216 "match": "\\*",
9217 "name": "comment.block.cpp"
9218 }
9219 ]
9220 }
9221 },
9222 "name": "invalid.illegal.reference-type.cpp"
9223 },
9224 {
9225 "match": "\\&",
9226 "name": "storage.modifier.reference.cpp"
9227 }
9228 ]
9229 },
9230 "8": {
9231 "patterns": [
9232 {
9233 "include": "#inline_comment"
9234 }
9235 ]
9236 },
9237 "9": {
9238 "patterns": [
9239 {
9240 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9241 "captures": {
9242 "1": {
9243 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9244 },
9245 "2": {
9246 "name": "comment.block.cpp"
9247 },
9248 "3": {
9249 "patterns": [
9250 {
9251 "match": "\\*\\/",
9252 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9253 },
9254 {
9255 "match": "\\*",
9256 "name": "comment.block.cpp"
9257 }
9258 ]
9259 }
9260 }
9261 }
9262 ]
9263 },
9264 "10": {
9265 "patterns": [
9266 {
9267 "include": "#inline_comment"
9268 }
9269 ]
9270 },
9271 "11": {
9272 "patterns": [
9273 {
9274 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9275 "captures": {
9276 "1": {
9277 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9278 },
9279 "2": {
9280 "name": "comment.block.cpp"
9281 },
9282 "3": {
9283 "patterns": [
9284 {
9285 "match": "\\*\\/",
9286 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9287 },
9288 {
9289 "match": "\\*",
9290 "name": "comment.block.cpp"
9291 }
9292 ]
9293 }
9294 }
9295 }
9296 ]
9297 },
9298 "12": {
9299 "patterns": [
9300 {
9301 "include": "#inline_comment"
9302 }
9303 ]
9304 },
9305 "13": {
9306 "patterns": [
9307 {
9308 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9309 "captures": {
9310 "1": {
9311 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9312 },
9313 "2": {
9314 "name": "comment.block.cpp"
9315 },
9316 "3": {
9317 "patterns": [
9318 {
9319 "match": "\\*\\/",
9320 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9321 },
9322 {
9323 "match": "\\*",
9324 "name": "comment.block.cpp"
9325 }
9326 ]
9327 }
9328 }
9329 }
9330 ]
9331 },
9332 "14": {
9333 "name": "variable.other.object.declare.cpp"
9334 },
9335 "15": {
9336 "patterns": [
9337 {
9338 "include": "#inline_comment"
9339 }
9340 ]
9341 },
9342 "16": {
9343 "patterns": [
9344 {
9345 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9346 "captures": {
9347 "1": {
9348 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9349 },
9350 "2": {
9351 "name": "comment.block.cpp"
9352 },
9353 "3": {
9354 "patterns": [
9355 {
9356 "match": "\\*\\/",
9357 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9358 },
9359 {
9360 "match": "\\*",
9361 "name": "comment.block.cpp"
9362 }
9363 ]
9364 }
9365 }
9366 }
9367 ]
9368 },
9369 "17": {
9370 "patterns": [
9371 {
9372 "include": "#inline_comment"
9373 }
9374 ]
9375 },
9376 "18": {
9377 "patterns": [
9378 {
9379 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9380 "captures": {
9381 "1": {
9382 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9383 },
9384 "2": {
9385 "name": "comment.block.cpp"
9386 },
9387 "3": {
9388 "patterns": [
9389 {
9390 "match": "\\*\\/",
9391 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9392 },
9393 {
9394 "match": "\\*",
9395 "name": "comment.block.cpp"
9396 }
9397 ]
9398 }
9399 }
9400 }
9401 ]
9402 },
9403 "19": {
9404 "patterns": [
9405 {
9406 "include": "#inline_comment"
9407 }
9408 ]
9409 },
9410 "20": {
9411 "patterns": [
9412 {
9413 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9414 "captures": {
9415 "1": {
9416 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9417 },
9418 "2": {
9419 "name": "comment.block.cpp"
9420 },
9421 "3": {
9422 "patterns": [
9423 {
9424 "match": "\\*\\/",
9425 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9426 },
9427 {
9428 "match": "\\*",
9429 "name": "comment.block.cpp"
9430 }
9431 ]
9432 }
9433 }
9434 }
9435 ]
9436 }
9437 }
9438 },
9439 {
9440 "match": "(\\benum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
9441 "captures": {
9442 "1": {
9443 "name": "storage.type.enum.parameter.cpp"
9444 },
9445 "2": {
9446 "patterns": [
9447 {
9448 "include": "#inline_comment"
9449 }
9450 ]
9451 },
9452 "3": {
9453 "patterns": [
9454 {
9455 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9456 "captures": {
9457 "1": {
9458 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9459 },
9460 "2": {
9461 "name": "comment.block.cpp"
9462 },
9463 "3": {
9464 "patterns": [
9465 {
9466 "match": "\\*\\/",
9467 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9468 },
9469 {
9470 "match": "\\*",
9471 "name": "comment.block.cpp"
9472 }
9473 ]
9474 }
9475 }
9476 }
9477 ]
9478 },
9479 "4": {
9480 "name": "entity.name.type.enum.parameter.cpp"
9481 },
9482 "5": {
9483 "patterns": [
9484 {
9485 "include": "#inline_comment"
9486 }
9487 ]
9488 },
9489 "6": {
9490 "patterns": [
9491 {
9492 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9493 "captures": {
9494 "1": {
9495 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9496 },
9497 "2": {
9498 "name": "comment.block.cpp"
9499 },
9500 "3": {
9501 "patterns": [
9502 {
9503 "match": "\\*\\/",
9504 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9505 },
9506 {
9507 "match": "\\*",
9508 "name": "comment.block.cpp"
9509 }
9510 ]
9511 }
9512 }
9513 }
9514 ]
9515 },
9516 "7": {
9517 "patterns": [
9518 {
9519 "match": "\\*",
9520 "name": "storage.modifier.pointer.cpp"
9521 },
9522 {
9523 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
9524 "captures": {
9525 "1": {
9526 "patterns": [
9527 {
9528 "include": "#inline_comment"
9529 }
9530 ]
9531 },
9532 "2": {
9533 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9534 },
9535 "3": {
9536 "name": "comment.block.cpp"
9537 },
9538 "4": {
9539 "patterns": [
9540 {
9541 "match": "\\*\\/",
9542 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9543 },
9544 {
9545 "match": "\\*",
9546 "name": "comment.block.cpp"
9547 }
9548 ]
9549 }
9550 },
9551 "name": "invalid.illegal.reference-type.cpp"
9552 },
9553 {
9554 "match": "\\&",
9555 "name": "storage.modifier.reference.cpp"
9556 }
9557 ]
9558 },
9559 "8": {
9560 "patterns": [
9561 {
9562 "include": "#inline_comment"
9563 }
9564 ]
9565 },
9566 "9": {
9567 "patterns": [
9568 {
9569 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9570 "captures": {
9571 "1": {
9572 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9573 },
9574 "2": {
9575 "name": "comment.block.cpp"
9576 },
9577 "3": {
9578 "patterns": [
9579 {
9580 "match": "\\*\\/",
9581 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9582 },
9583 {
9584 "match": "\\*",
9585 "name": "comment.block.cpp"
9586 }
9587 ]
9588 }
9589 }
9590 }
9591 ]
9592 },
9593 "10": {
9594 "patterns": [
9595 {
9596 "include": "#inline_comment"
9597 }
9598 ]
9599 },
9600 "11": {
9601 "patterns": [
9602 {
9603 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9604 "captures": {
9605 "1": {
9606 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9607 },
9608 "2": {
9609 "name": "comment.block.cpp"
9610 },
9611 "3": {
9612 "patterns": [
9613 {
9614 "match": "\\*\\/",
9615 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9616 },
9617 {
9618 "match": "\\*",
9619 "name": "comment.block.cpp"
9620 }
9621 ]
9622 }
9623 }
9624 }
9625 ]
9626 },
9627 "12": {
9628 "patterns": [
9629 {
9630 "include": "#inline_comment"
9631 }
9632 ]
9633 },
9634 "13": {
9635 "patterns": [
9636 {
9637 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9638 "captures": {
9639 "1": {
9640 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9641 },
9642 "2": {
9643 "name": "comment.block.cpp"
9644 },
9645 "3": {
9646 "patterns": [
9647 {
9648 "match": "\\*\\/",
9649 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9650 },
9651 {
9652 "match": "\\*",
9653 "name": "comment.block.cpp"
9654 }
9655 ]
9656 }
9657 }
9658 }
9659 ]
9660 },
9661 "14": {
9662 "name": "variable.other.object.declare.cpp"
9663 },
9664 "15": {
9665 "patterns": [
9666 {
9667 "include": "#inline_comment"
9668 }
9669 ]
9670 },
9671 "16": {
9672 "patterns": [
9673 {
9674 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9675 "captures": {
9676 "1": {
9677 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9678 },
9679 "2": {
9680 "name": "comment.block.cpp"
9681 },
9682 "3": {
9683 "patterns": [
9684 {
9685 "match": "\\*\\/",
9686 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9687 },
9688 {
9689 "match": "\\*",
9690 "name": "comment.block.cpp"
9691 }
9692 ]
9693 }
9694 }
9695 }
9696 ]
9697 },
9698 "17": {
9699 "patterns": [
9700 {
9701 "include": "#inline_comment"
9702 }
9703 ]
9704 },
9705 "18": {
9706 "patterns": [
9707 {
9708 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9709 "captures": {
9710 "1": {
9711 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9712 },
9713 "2": {
9714 "name": "comment.block.cpp"
9715 },
9716 "3": {
9717 "patterns": [
9718 {
9719 "match": "\\*\\/",
9720 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9721 },
9722 {
9723 "match": "\\*",
9724 "name": "comment.block.cpp"
9725 }
9726 ]
9727 }
9728 }
9729 }
9730 ]
9731 },
9732 "19": {
9733 "patterns": [
9734 {
9735 "include": "#inline_comment"
9736 }
9737 ]
9738 },
9739 "20": {
9740 "patterns": [
9741 {
9742 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9743 "captures": {
9744 "1": {
9745 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9746 },
9747 "2": {
9748 "name": "comment.block.cpp"
9749 },
9750 "3": {
9751 "patterns": [
9752 {
9753 "match": "\\*\\/",
9754 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9755 },
9756 {
9757 "match": "\\*",
9758 "name": "comment.block.cpp"
9759 }
9760 ]
9761 }
9762 }
9763 }
9764 ]
9765 }
9766 }
9767 },
9768 {
9769 "match": "(\\bunion)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
9770 "captures": {
9771 "1": {
9772 "name": "storage.type.union.parameter.cpp"
9773 },
9774 "2": {
9775 "patterns": [
9776 {
9777 "include": "#inline_comment"
9778 }
9779 ]
9780 },
9781 "3": {
9782 "patterns": [
9783 {
9784 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9785 "captures": {
9786 "1": {
9787 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9788 },
9789 "2": {
9790 "name": "comment.block.cpp"
9791 },
9792 "3": {
9793 "patterns": [
9794 {
9795 "match": "\\*\\/",
9796 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9797 },
9798 {
9799 "match": "\\*",
9800 "name": "comment.block.cpp"
9801 }
9802 ]
9803 }
9804 }
9805 }
9806 ]
9807 },
9808 "4": {
9809 "name": "entity.name.type.union.parameter.cpp"
9810 },
9811 "5": {
9812 "patterns": [
9813 {
9814 "include": "#inline_comment"
9815 }
9816 ]
9817 },
9818 "6": {
9819 "patterns": [
9820 {
9821 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9822 "captures": {
9823 "1": {
9824 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9825 },
9826 "2": {
9827 "name": "comment.block.cpp"
9828 },
9829 "3": {
9830 "patterns": [
9831 {
9832 "match": "\\*\\/",
9833 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9834 },
9835 {
9836 "match": "\\*",
9837 "name": "comment.block.cpp"
9838 }
9839 ]
9840 }
9841 }
9842 }
9843 ]
9844 },
9845 "7": {
9846 "patterns": [
9847 {
9848 "match": "\\*",
9849 "name": "storage.modifier.pointer.cpp"
9850 },
9851 {
9852 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
9853 "captures": {
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 "patterns": [
9869 {
9870 "match": "\\*\\/",
9871 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9872 },
9873 {
9874 "match": "\\*",
9875 "name": "comment.block.cpp"
9876 }
9877 ]
9878 }
9879 },
9880 "name": "invalid.illegal.reference-type.cpp"
9881 },
9882 {
9883 "match": "\\&",
9884 "name": "storage.modifier.reference.cpp"
9885 }
9886 ]
9887 },
9888 "8": {
9889 "patterns": [
9890 {
9891 "include": "#inline_comment"
9892 }
9893 ]
9894 },
9895 "9": {
9896 "patterns": [
9897 {
9898 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9899 "captures": {
9900 "1": {
9901 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9902 },
9903 "2": {
9904 "name": "comment.block.cpp"
9905 },
9906 "3": {
9907 "patterns": [
9908 {
9909 "match": "\\*\\/",
9910 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9911 },
9912 {
9913 "match": "\\*",
9914 "name": "comment.block.cpp"
9915 }
9916 ]
9917 }
9918 }
9919 }
9920 ]
9921 },
9922 "10": {
9923 "patterns": [
9924 {
9925 "include": "#inline_comment"
9926 }
9927 ]
9928 },
9929 "11": {
9930 "patterns": [
9931 {
9932 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9933 "captures": {
9934 "1": {
9935 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9936 },
9937 "2": {
9938 "name": "comment.block.cpp"
9939 },
9940 "3": {
9941 "patterns": [
9942 {
9943 "match": "\\*\\/",
9944 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9945 },
9946 {
9947 "match": "\\*",
9948 "name": "comment.block.cpp"
9949 }
9950 ]
9951 }
9952 }
9953 }
9954 ]
9955 },
9956 "12": {
9957 "patterns": [
9958 {
9959 "include": "#inline_comment"
9960 }
9961 ]
9962 },
9963 "13": {
9964 "patterns": [
9965 {
9966 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9967 "captures": {
9968 "1": {
9969 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9970 },
9971 "2": {
9972 "name": "comment.block.cpp"
9973 },
9974 "3": {
9975 "patterns": [
9976 {
9977 "match": "\\*\\/",
9978 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9979 },
9980 {
9981 "match": "\\*",
9982 "name": "comment.block.cpp"
9983 }
9984 ]
9985 }
9986 }
9987 }
9988 ]
9989 },
9990 "14": {
9991 "name": "variable.other.object.declare.cpp"
9992 },
9993 "15": {
9994 "patterns": [
9995 {
9996 "include": "#inline_comment"
9997 }
9998 ]
9999 },
10000 "16": {
10001 "patterns": [
10002 {
10003 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10004 "captures": {
10005 "1": {
10006 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10007 },
10008 "2": {
10009 "name": "comment.block.cpp"
10010 },
10011 "3": {
10012 "patterns": [
10013 {
10014 "match": "\\*\\/",
10015 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10016 },
10017 {
10018 "match": "\\*",
10019 "name": "comment.block.cpp"
10020 }
10021 ]
10022 }
10023 }
10024 }
10025 ]
10026 },
10027 "17": {
10028 "patterns": [
10029 {
10030 "include": "#inline_comment"
10031 }
10032 ]
10033 },
10034 "18": {
10035 "patterns": [
10036 {
10037 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10038 "captures": {
10039 "1": {
10040 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10041 },
10042 "2": {
10043 "name": "comment.block.cpp"
10044 },
10045 "3": {
10046 "patterns": [
10047 {
10048 "match": "\\*\\/",
10049 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10050 },
10051 {
10052 "match": "\\*",
10053 "name": "comment.block.cpp"
10054 }
10055 ]
10056 }
10057 }
10058 }
10059 ]
10060 },
10061 "19": {
10062 "patterns": [
10063 {
10064 "include": "#inline_comment"
10065 }
10066 ]
10067 },
10068 "20": {
10069 "patterns": [
10070 {
10071 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10072 "captures": {
10073 "1": {
10074 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10075 },
10076 "2": {
10077 "name": "comment.block.cpp"
10078 },
10079 "3": {
10080 "patterns": [
10081 {
10082 "match": "\\*\\/",
10083 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10084 },
10085 {
10086 "match": "\\*",
10087 "name": "comment.block.cpp"
10088 }
10089 ]
10090 }
10091 }
10092 }
10093 ]
10094 }
10095 }
10096 },
10097 {
10098 "match": "(\\bclass)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
10099 "captures": {
10100 "1": {
10101 "name": "storage.type.class.parameter.cpp"
10102 },
10103 "2": {
10104 "patterns": [
10105 {
10106 "include": "#inline_comment"
10107 }
10108 ]
10109 },
10110 "3": {
10111 "patterns": [
10112 {
10113 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10114 "captures": {
10115 "1": {
10116 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10117 },
10118 "2": {
10119 "name": "comment.block.cpp"
10120 },
10121 "3": {
10122 "patterns": [
10123 {
10124 "match": "\\*\\/",
10125 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10126 },
10127 {
10128 "match": "\\*",
10129 "name": "comment.block.cpp"
10130 }
10131 ]
10132 }
10133 }
10134 }
10135 ]
10136 },
10137 "4": {
10138 "name": "entity.name.type.class.parameter.cpp"
10139 },
10140 "5": {
10141 "patterns": [
10142 {
10143 "include": "#inline_comment"
10144 }
10145 ]
10146 },
10147 "6": {
10148 "patterns": [
10149 {
10150 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10151 "captures": {
10152 "1": {
10153 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10154 },
10155 "2": {
10156 "name": "comment.block.cpp"
10157 },
10158 "3": {
10159 "patterns": [
10160 {
10161 "match": "\\*\\/",
10162 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10163 },
10164 {
10165 "match": "\\*",
10166 "name": "comment.block.cpp"
10167 }
10168 ]
10169 }
10170 }
10171 }
10172 ]
10173 },
10174 "7": {
10175 "patterns": [
10176 {
10177 "match": "\\*",
10178 "name": "storage.modifier.pointer.cpp"
10179 },
10180 {
10181 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
10182 "captures": {
10183 "1": {
10184 "patterns": [
10185 {
10186 "include": "#inline_comment"
10187 }
10188 ]
10189 },
10190 "2": {
10191 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10192 },
10193 "3": {
10194 "name": "comment.block.cpp"
10195 },
10196 "4": {
10197 "patterns": [
10198 {
10199 "match": "\\*\\/",
10200 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10201 },
10202 {
10203 "match": "\\*",
10204 "name": "comment.block.cpp"
10205 }
10206 ]
10207 }
10208 },
10209 "name": "invalid.illegal.reference-type.cpp"
10210 },
10211 {
10212 "match": "\\&",
10213 "name": "storage.modifier.reference.cpp"
10214 }
10215 ]
10216 },
10217 "8": {
10218 "patterns": [
10219 {
10220 "include": "#inline_comment"
10221 }
10222 ]
10223 },
10224 "9": {
10225 "patterns": [
10226 {
10227 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10228 "captures": {
10229 "1": {
10230 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10231 },
10232 "2": {
10233 "name": "comment.block.cpp"
10234 },
10235 "3": {
10236 "patterns": [
10237 {
10238 "match": "\\*\\/",
10239 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10240 },
10241 {
10242 "match": "\\*",
10243 "name": "comment.block.cpp"
10244 }
10245 ]
10246 }
10247 }
10248 }
10249 ]
10250 },
10251 "10": {
10252 "patterns": [
10253 {
10254 "include": "#inline_comment"
10255 }
10256 ]
10257 },
10258 "11": {
10259 "patterns": [
10260 {
10261 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10262 "captures": {
10263 "1": {
10264 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10265 },
10266 "2": {
10267 "name": "comment.block.cpp"
10268 },
10269 "3": {
10270 "patterns": [
10271 {
10272 "match": "\\*\\/",
10273 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10274 },
10275 {
10276 "match": "\\*",
10277 "name": "comment.block.cpp"
10278 }
10279 ]
10280 }
10281 }
10282 }
10283 ]
10284 },
10285 "12": {
10286 "patterns": [
10287 {
10288 "include": "#inline_comment"
10289 }
10290 ]
10291 },
10292 "13": {
10293 "patterns": [
10294 {
10295 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10296 "captures": {
10297 "1": {
10298 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10299 },
10300 "2": {
10301 "name": "comment.block.cpp"
10302 },
10303 "3": {
10304 "patterns": [
10305 {
10306 "match": "\\*\\/",
10307 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10308 },
10309 {
10310 "match": "\\*",
10311 "name": "comment.block.cpp"
10312 }
10313 ]
10314 }
10315 }
10316 }
10317 ]
10318 },
10319 "14": {
10320 "name": "variable.other.object.declare.cpp"
10321 },
10322 "15": {
10323 "patterns": [
10324 {
10325 "include": "#inline_comment"
10326 }
10327 ]
10328 },
10329 "16": {
10330 "patterns": [
10331 {
10332 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10333 "captures": {
10334 "1": {
10335 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10336 },
10337 "2": {
10338 "name": "comment.block.cpp"
10339 },
10340 "3": {
10341 "patterns": [
10342 {
10343 "match": "\\*\\/",
10344 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10345 },
10346 {
10347 "match": "\\*",
10348 "name": "comment.block.cpp"
10349 }
10350 ]
10351 }
10352 }
10353 }
10354 ]
10355 },
10356 "17": {
10357 "patterns": [
10358 {
10359 "include": "#inline_comment"
10360 }
10361 ]
10362 },
10363 "18": {
10364 "patterns": [
10365 {
10366 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10367 "captures": {
10368 "1": {
10369 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10370 },
10371 "2": {
10372 "name": "comment.block.cpp"
10373 },
10374 "3": {
10375 "patterns": [
10376 {
10377 "match": "\\*\\/",
10378 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10379 },
10380 {
10381 "match": "\\*",
10382 "name": "comment.block.cpp"
10383 }
10384 ]
10385 }
10386 }
10387 }
10388 ]
10389 },
10390 "19": {
10391 "patterns": [
10392 {
10393 "include": "#inline_comment"
10394 }
10395 ]
10396 },
10397 "20": {
10398 "patterns": [
10399 {
10400 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10401 "captures": {
10402 "1": {
10403 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10404 },
10405 "2": {
10406 "name": "comment.block.cpp"
10407 },
10408 "3": {
10409 "patterns": [
10410 {
10411 "match": "\\*\\/",
10412 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10413 },
10414 {
10415 "match": "\\*",
10416 "name": "comment.block.cpp"
10417 }
10418 ]
10419 }
10420 }
10421 }
10422 ]
10423 }
10424 }
10425 }
10426 ]
10427 },
10428 "parameter": {
10429 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)",
10430 "end": "(?:(?=\\))|(,))",
10431 "beginCaptures": {
10432 "1": {
10433 "patterns": [
10434 {
10435 "include": "#inline_comment"
10436 }
10437 ]
10438 },
10439 "2": {
10440 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10441 },
10442 "3": {
10443 "name": "comment.block.cpp"
10444 },
10445 "4": {
10446 "patterns": [
10447 {
10448 "match": "\\*\\/",
10449 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10450 },
10451 {
10452 "match": "\\*",
10453 "name": "comment.block.cpp"
10454 }
10455 ]
10456 }
10457 },
10458 "endCaptures": {
10459 "1": {
10460 "name": "punctuation.separator.delimiter.comma.cpp"
10461 }
10462 },
10463 "name": "meta.parameter.cpp",
10464 "patterns": [
10465 {
10466 "include": "#ever_present_context"
10467 },
10468 {
10469 "include": "#function_pointer_parameter"
10470 },
10471 {
10472 "include": "#decltype"
10473 },
10474 {
10475 "include": "#vararg_ellipses"
10476 },
10477 {
10478 "match": "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:signed)|(?:double)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:char)|(?:long)|(?:bool)|(?:int)))|((?:(?:uint_least16_t)|(?:uint_least32_t)|(?:uint_least64_t)|(?:int_least16_t)|(?:int_least32_t)|(?:int_least64_t)|(?:uint_least8_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:uint_fast64_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:suseconds_t)|(?:int_fast8_t)|(?:useconds_t)|(?:blksize_t)|(?:in_addr_t)|(?:in_port_t)|(?:uintptr_t)|(?:uintmax_t)|(?:uintmax_t)|(?:uintmax_t)|(?:u_quad_t)|(?:blkcnt_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:intptr_t)|(?:intmax_t)|(?:intmax_t)|(?:u_short)|(?:qaddr_t)|(?:caddr_t)|(?:daddr_t)|(?:fixpt_t)|(?:nlink_t)|(?:segsz_t)|(?:swblk_t)|(?:clock_t)|(?:ssize_t)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:u_char)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:time_t)|(?:int8_t)|(?:u_int)|(?:div_t)|(?:dev_t)|(?:gid_t)|(?:ino_t)|(?:key_t)|(?:pid_t)|(?:off_t)|(?:uid_t)|(?:uint)|(?:id_t)|(?:id_t))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_attr_t)|(?:pthread_cond_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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)",
10479 "captures": {
10480 "1": {
10481 "patterns": [
10482 {
10483 "include": "#storage_types"
10484 }
10485 ]
10486 },
10487 "2": {
10488 "name": "storage.modifier.specifier.parameter.cpp"
10489 },
10490 "3": {
10491 "patterns": [
10492 {
10493 "include": "#inline_comment"
10494 }
10495 ]
10496 },
10497 "4": {
10498 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10499 },
10500 "5": {
10501 "name": "comment.block.cpp"
10502 },
10503 "6": {
10504 "patterns": [
10505 {
10506 "match": "\\*\\/",
10507 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10508 },
10509 {
10510 "match": "\\*",
10511 "name": "comment.block.cpp"
10512 }
10513 ]
10514 },
10515 "7": {
10516 "patterns": [
10517 {
10518 "include": "#inline_comment"
10519 }
10520 ]
10521 },
10522 "8": {
10523 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10524 },
10525 "9": {
10526 "name": "comment.block.cpp"
10527 },
10528 "10": {
10529 "patterns": [
10530 {
10531 "match": "\\*\\/",
10532 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10533 },
10534 {
10535 "match": "\\*",
10536 "name": "comment.block.cpp"
10537 }
10538 ]
10539 },
10540 "11": {
10541 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
10542 },
10543 "12": {
10544 "name": "storage.type.cpp storage.type.built-in.cpp"
10545 },
10546 "13": {
10547 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
10548 },
10549 "14": {
10550 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
10551 },
10552 "15": {
10553 "name": "entity.name.type.parameter.cpp"
10554 },
10555 "16": {
10556 "patterns": [
10557 {
10558 "include": "#inline_comment"
10559 }
10560 ]
10561 },
10562 "17": {
10563 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10564 },
10565 "18": {
10566 "name": "comment.block.cpp"
10567 },
10568 "19": {
10569 "patterns": [
10570 {
10571 "match": "\\*\\/",
10572 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10573 },
10574 {
10575 "match": "\\*",
10576 "name": "comment.block.cpp"
10577 }
10578 ]
10579 }
10580 }
10581 },
10582 {
10583 "include": "#storage_types"
10584 },
10585 {
10586 "include": "#scope_resolution_parameter_inner_generated"
10587 },
10588 {
10589 "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
10590 "name": "storage.type.$0.cpp"
10591 },
10592 {
10593 "begin": "(?<==)",
10594 "end": "(?:(?=\\))|(,))",
10595 "beginCaptures": {},
10596 "endCaptures": {
10597 "1": {
10598 "name": "punctuation.separator.delimiter.comma.cpp"
10599 }
10600 },
10601 "patterns": [
10602 {
10603 "include": "#evaluation_context"
10604 }
10605 ]
10606 },
10607 {
10608 "match": "\\=",
10609 "name": "keyword.operator.assignment.cpp"
10610 },
10611 {
10612 "match": "(?<!\\s|\\(|,|:)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\)|,|\\[|=|\\n)",
10613 "captures": {
10614 "1": {
10615 "patterns": [
10616 {
10617 "include": "#inline_comment"
10618 }
10619 ]
10620 },
10621 "2": {
10622 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10623 },
10624 "3": {
10625 "name": "comment.block.cpp"
10626 },
10627 "4": {
10628 "patterns": [
10629 {
10630 "match": "\\*\\/",
10631 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10632 },
10633 {
10634 "match": "\\*",
10635 "name": "comment.block.cpp"
10636 }
10637 ]
10638 },
10639 "5": {
10640 "name": "variable.parameter.cpp"
10641 },
10642 "6": {
10643 "patterns": [
10644 {
10645 "include": "#inline_comment"
10646 }
10647 ]
10648 },
10649 "7": {
10650 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10651 },
10652 "8": {
10653 "name": "comment.block.cpp"
10654 },
10655 "9": {
10656 "patterns": [
10657 {
10658 "match": "\\*\\/",
10659 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10660 },
10661 {
10662 "match": "\\*",
10663 "name": "comment.block.cpp"
10664 }
10665 ]
10666 }
10667 }
10668 },
10669 {
10670 "include": "#attributes_context"
10671 },
10672 {
10673 "begin": "\\[",
10674 "end": "\\]",
10675 "beginCaptures": {
10676 "0": {
10677 "name": "punctuation.definition.begin.bracket.square.array.type.cpp"
10678 }
10679 },
10680 "endCaptures": {
10681 "0": {
10682 "name": "punctuation.definition.end.bracket.square.array.type.cpp"
10683 }
10684 },
10685 "name": "meta.bracket.square.array.cpp",
10686 "patterns": [
10687 {
10688 "include": "#evaluation_context"
10689 }
10690 ]
10691 },
10692 {
10693 "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)",
10694 "name": "entity.name.type.parameter.cpp"
10695 },
10696 {
10697 "include": "#template_call_range"
10698 },
10699 {
10700 "match": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))",
10701 "captures": {
10702 "0": {
10703 "patterns": [
10704 {
10705 "match": "\\*",
10706 "name": "storage.modifier.pointer.cpp"
10707 },
10708 {
10709 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
10710 "captures": {
10711 "1": {
10712 "patterns": [
10713 {
10714 "include": "#inline_comment"
10715 }
10716 ]
10717 },
10718 "2": {
10719 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10720 },
10721 "3": {
10722 "name": "comment.block.cpp"
10723 },
10724 "4": {
10725 "patterns": [
10726 {
10727 "match": "\\*\\/",
10728 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10729 },
10730 {
10731 "match": "\\*",
10732 "name": "comment.block.cpp"
10733 }
10734 ]
10735 }
10736 },
10737 "name": "invalid.illegal.reference-type.cpp"
10738 },
10739 {
10740 "match": "\\&",
10741 "name": "storage.modifier.reference.cpp"
10742 }
10743 ]
10744 },
10745 "1": {
10746 "patterns": [
10747 {
10748 "include": "#inline_comment"
10749 }
10750 ]
10751 },
10752 "2": {
10753 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10754 },
10755 "3": {
10756 "name": "comment.block.cpp"
10757 },
10758 "4": {
10759 "patterns": [
10760 {
10761 "match": "\\*\\/",
10762 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10763 },
10764 {
10765 "match": "\\*",
10766 "name": "comment.block.cpp"
10767 }
10768 ]
10769 },
10770 "5": {
10771 "patterns": [
10772 {
10773 "include": "#inline_comment"
10774 }
10775 ]
10776 },
10777 "6": {
10778 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10779 },
10780 "7": {
10781 "name": "comment.block.cpp"
10782 },
10783 "8": {
10784 "patterns": [
10785 {
10786 "match": "\\*\\/",
10787 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10788 },
10789 {
10790 "match": "\\*",
10791 "name": "comment.block.cpp"
10792 }
10793 ]
10794 }
10795 }
10796 }
10797 ]
10798 },
10799 "parameter_class": {
10800 "match": "(\\bclass)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
10801 "captures": {
10802 "1": {
10803 "name": "storage.type.class.parameter.cpp"
10804 },
10805 "2": {
10806 "patterns": [
10807 {
10808 "include": "#inline_comment"
10809 }
10810 ]
10811 },
10812 "3": {
10813 "patterns": [
10814 {
10815 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10816 "captures": {
10817 "1": {
10818 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10819 },
10820 "2": {
10821 "name": "comment.block.cpp"
10822 },
10823 "3": {
10824 "patterns": [
10825 {
10826 "match": "\\*\\/",
10827 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10828 },
10829 {
10830 "match": "\\*",
10831 "name": "comment.block.cpp"
10832 }
10833 ]
10834 }
10835 }
10836 }
10837 ]
10838 },
10839 "4": {
10840 "name": "entity.name.type.class.parameter.cpp"
10841 },
10842 "5": {
10843 "patterns": [
10844 {
10845 "include": "#inline_comment"
10846 }
10847 ]
10848 },
10849 "6": {
10850 "patterns": [
10851 {
10852 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10853 "captures": {
10854 "1": {
10855 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10856 },
10857 "2": {
10858 "name": "comment.block.cpp"
10859 },
10860 "3": {
10861 "patterns": [
10862 {
10863 "match": "\\*\\/",
10864 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10865 },
10866 {
10867 "match": "\\*",
10868 "name": "comment.block.cpp"
10869 }
10870 ]
10871 }
10872 }
10873 }
10874 ]
10875 },
10876 "7": {
10877 "patterns": [
10878 {
10879 "match": "\\*",
10880 "name": "storage.modifier.pointer.cpp"
10881 },
10882 {
10883 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
10884 "captures": {
10885 "1": {
10886 "patterns": [
10887 {
10888 "include": "#inline_comment"
10889 }
10890 ]
10891 },
10892 "2": {
10893 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10894 },
10895 "3": {
10896 "name": "comment.block.cpp"
10897 },
10898 "4": {
10899 "patterns": [
10900 {
10901 "match": "\\*\\/",
10902 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10903 },
10904 {
10905 "match": "\\*",
10906 "name": "comment.block.cpp"
10907 }
10908 ]
10909 }
10910 },
10911 "name": "invalid.illegal.reference-type.cpp"
10912 },
10913 {
10914 "match": "\\&",
10915 "name": "storage.modifier.reference.cpp"
10916 }
10917 ]
10918 },
10919 "8": {
10920 "patterns": [
10921 {
10922 "include": "#inline_comment"
10923 }
10924 ]
10925 },
10926 "9": {
10927 "patterns": [
10928 {
10929 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10930 "captures": {
10931 "1": {
10932 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10933 },
10934 "2": {
10935 "name": "comment.block.cpp"
10936 },
10937 "3": {
10938 "patterns": [
10939 {
10940 "match": "\\*\\/",
10941 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10942 },
10943 {
10944 "match": "\\*",
10945 "name": "comment.block.cpp"
10946 }
10947 ]
10948 }
10949 }
10950 }
10951 ]
10952 },
10953 "10": {
10954 "patterns": [
10955 {
10956 "include": "#inline_comment"
10957 }
10958 ]
10959 },
10960 "11": {
10961 "patterns": [
10962 {
10963 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10964 "captures": {
10965 "1": {
10966 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10967 },
10968 "2": {
10969 "name": "comment.block.cpp"
10970 },
10971 "3": {
10972 "patterns": [
10973 {
10974 "match": "\\*\\/",
10975 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10976 },
10977 {
10978 "match": "\\*",
10979 "name": "comment.block.cpp"
10980 }
10981 ]
10982 }
10983 }
10984 }
10985 ]
10986 },
10987 "12": {
10988 "patterns": [
10989 {
10990 "include": "#inline_comment"
10991 }
10992 ]
10993 },
10994 "13": {
10995 "patterns": [
10996 {
10997 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10998 "captures": {
10999 "1": {
11000 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11001 },
11002 "2": {
11003 "name": "comment.block.cpp"
11004 },
11005 "3": {
11006 "patterns": [
11007 {
11008 "match": "\\*\\/",
11009 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11010 },
11011 {
11012 "match": "\\*",
11013 "name": "comment.block.cpp"
11014 }
11015 ]
11016 }
11017 }
11018 }
11019 ]
11020 },
11021 "14": {
11022 "name": "variable.other.object.declare.cpp"
11023 },
11024 "15": {
11025 "patterns": [
11026 {
11027 "include": "#inline_comment"
11028 }
11029 ]
11030 },
11031 "16": {
11032 "patterns": [
11033 {
11034 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11035 "captures": {
11036 "1": {
11037 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11038 },
11039 "2": {
11040 "name": "comment.block.cpp"
11041 },
11042 "3": {
11043 "patterns": [
11044 {
11045 "match": "\\*\\/",
11046 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11047 },
11048 {
11049 "match": "\\*",
11050 "name": "comment.block.cpp"
11051 }
11052 ]
11053 }
11054 }
11055 }
11056 ]
11057 },
11058 "17": {
11059 "patterns": [
11060 {
11061 "include": "#inline_comment"
11062 }
11063 ]
11064 },
11065 "18": {
11066 "patterns": [
11067 {
11068 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11069 "captures": {
11070 "1": {
11071 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11072 },
11073 "2": {
11074 "name": "comment.block.cpp"
11075 },
11076 "3": {
11077 "patterns": [
11078 {
11079 "match": "\\*\\/",
11080 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11081 },
11082 {
11083 "match": "\\*",
11084 "name": "comment.block.cpp"
11085 }
11086 ]
11087 }
11088 }
11089 }
11090 ]
11091 },
11092 "19": {
11093 "patterns": [
11094 {
11095 "include": "#inline_comment"
11096 }
11097 ]
11098 },
11099 "20": {
11100 "patterns": [
11101 {
11102 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11103 "captures": {
11104 "1": {
11105 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11106 },
11107 "2": {
11108 "name": "comment.block.cpp"
11109 },
11110 "3": {
11111 "patterns": [
11112 {
11113 "match": "\\*\\/",
11114 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11115 },
11116 {
11117 "match": "\\*",
11118 "name": "comment.block.cpp"
11119 }
11120 ]
11121 }
11122 }
11123 }
11124 ]
11125 }
11126 }
11127 },
11128 "parameter_enum": {
11129 "match": "(\\benum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
11130 "captures": {
11131 "1": {
11132 "name": "storage.type.enum.parameter.cpp"
11133 },
11134 "2": {
11135 "patterns": [
11136 {
11137 "include": "#inline_comment"
11138 }
11139 ]
11140 },
11141 "3": {
11142 "patterns": [
11143 {
11144 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11145 "captures": {
11146 "1": {
11147 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11148 },
11149 "2": {
11150 "name": "comment.block.cpp"
11151 },
11152 "3": {
11153 "patterns": [
11154 {
11155 "match": "\\*\\/",
11156 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11157 },
11158 {
11159 "match": "\\*",
11160 "name": "comment.block.cpp"
11161 }
11162 ]
11163 }
11164 }
11165 }
11166 ]
11167 },
11168 "4": {
11169 "name": "entity.name.type.enum.parameter.cpp"
11170 },
11171 "5": {
11172 "patterns": [
11173 {
11174 "include": "#inline_comment"
11175 }
11176 ]
11177 },
11178 "6": {
11179 "patterns": [
11180 {
11181 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11182 "captures": {
11183 "1": {
11184 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11185 },
11186 "2": {
11187 "name": "comment.block.cpp"
11188 },
11189 "3": {
11190 "patterns": [
11191 {
11192 "match": "\\*\\/",
11193 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11194 },
11195 {
11196 "match": "\\*",
11197 "name": "comment.block.cpp"
11198 }
11199 ]
11200 }
11201 }
11202 }
11203 ]
11204 },
11205 "7": {
11206 "patterns": [
11207 {
11208 "match": "\\*",
11209 "name": "storage.modifier.pointer.cpp"
11210 },
11211 {
11212 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
11213 "captures": {
11214 "1": {
11215 "patterns": [
11216 {
11217 "include": "#inline_comment"
11218 }
11219 ]
11220 },
11221 "2": {
11222 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11223 },
11224 "3": {
11225 "name": "comment.block.cpp"
11226 },
11227 "4": {
11228 "patterns": [
11229 {
11230 "match": "\\*\\/",
11231 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11232 },
11233 {
11234 "match": "\\*",
11235 "name": "comment.block.cpp"
11236 }
11237 ]
11238 }
11239 },
11240 "name": "invalid.illegal.reference-type.cpp"
11241 },
11242 {
11243 "match": "\\&",
11244 "name": "storage.modifier.reference.cpp"
11245 }
11246 ]
11247 },
11248 "8": {
11249 "patterns": [
11250 {
11251 "include": "#inline_comment"
11252 }
11253 ]
11254 },
11255 "9": {
11256 "patterns": [
11257 {
11258 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11259 "captures": {
11260 "1": {
11261 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11262 },
11263 "2": {
11264 "name": "comment.block.cpp"
11265 },
11266 "3": {
11267 "patterns": [
11268 {
11269 "match": "\\*\\/",
11270 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11271 },
11272 {
11273 "match": "\\*",
11274 "name": "comment.block.cpp"
11275 }
11276 ]
11277 }
11278 }
11279 }
11280 ]
11281 },
11282 "10": {
11283 "patterns": [
11284 {
11285 "include": "#inline_comment"
11286 }
11287 ]
11288 },
11289 "11": {
11290 "patterns": [
11291 {
11292 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11293 "captures": {
11294 "1": {
11295 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11296 },
11297 "2": {
11298 "name": "comment.block.cpp"
11299 },
11300 "3": {
11301 "patterns": [
11302 {
11303 "match": "\\*\\/",
11304 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11305 },
11306 {
11307 "match": "\\*",
11308 "name": "comment.block.cpp"
11309 }
11310 ]
11311 }
11312 }
11313 }
11314 ]
11315 },
11316 "12": {
11317 "patterns": [
11318 {
11319 "include": "#inline_comment"
11320 }
11321 ]
11322 },
11323 "13": {
11324 "patterns": [
11325 {
11326 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11327 "captures": {
11328 "1": {
11329 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11330 },
11331 "2": {
11332 "name": "comment.block.cpp"
11333 },
11334 "3": {
11335 "patterns": [
11336 {
11337 "match": "\\*\\/",
11338 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11339 },
11340 {
11341 "match": "\\*",
11342 "name": "comment.block.cpp"
11343 }
11344 ]
11345 }
11346 }
11347 }
11348 ]
11349 },
11350 "14": {
11351 "name": "variable.other.object.declare.cpp"
11352 },
11353 "15": {
11354 "patterns": [
11355 {
11356 "include": "#inline_comment"
11357 }
11358 ]
11359 },
11360 "16": {
11361 "patterns": [
11362 {
11363 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11364 "captures": {
11365 "1": {
11366 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11367 },
11368 "2": {
11369 "name": "comment.block.cpp"
11370 },
11371 "3": {
11372 "patterns": [
11373 {
11374 "match": "\\*\\/",
11375 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11376 },
11377 {
11378 "match": "\\*",
11379 "name": "comment.block.cpp"
11380 }
11381 ]
11382 }
11383 }
11384 }
11385 ]
11386 },
11387 "17": {
11388 "patterns": [
11389 {
11390 "include": "#inline_comment"
11391 }
11392 ]
11393 },
11394 "18": {
11395 "patterns": [
11396 {
11397 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11398 "captures": {
11399 "1": {
11400 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11401 },
11402 "2": {
11403 "name": "comment.block.cpp"
11404 },
11405 "3": {
11406 "patterns": [
11407 {
11408 "match": "\\*\\/",
11409 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11410 },
11411 {
11412 "match": "\\*",
11413 "name": "comment.block.cpp"
11414 }
11415 ]
11416 }
11417 }
11418 }
11419 ]
11420 },
11421 "19": {
11422 "patterns": [
11423 {
11424 "include": "#inline_comment"
11425 }
11426 ]
11427 },
11428 "20": {
11429 "patterns": [
11430 {
11431 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11432 "captures": {
11433 "1": {
11434 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11435 },
11436 "2": {
11437 "name": "comment.block.cpp"
11438 },
11439 "3": {
11440 "patterns": [
11441 {
11442 "match": "\\*\\/",
11443 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11444 },
11445 {
11446 "match": "\\*",
11447 "name": "comment.block.cpp"
11448 }
11449 ]
11450 }
11451 }
11452 }
11453 ]
11454 }
11455 }
11456 },
11457 "parameter_or_maybe_value": {
11458 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)",
11459 "end": "(?:(?=\\))|(,))",
11460 "beginCaptures": {
11461 "1": {
11462 "patterns": [
11463 {
11464 "include": "#inline_comment"
11465 }
11466 ]
11467 },
11468 "2": {
11469 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11470 },
11471 "3": {
11472 "name": "comment.block.cpp"
11473 },
11474 "4": {
11475 "patterns": [
11476 {
11477 "match": "\\*\\/",
11478 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11479 },
11480 {
11481 "match": "\\*",
11482 "name": "comment.block.cpp"
11483 }
11484 ]
11485 }
11486 },
11487 "endCaptures": {
11488 "1": {
11489 "name": "punctuation.separator.delimiter.comma.cpp"
11490 }
11491 },
11492 "name": "meta.parameter.cpp",
11493 "patterns": [
11494 {
11495 "include": "#ever_present_context"
11496 },
11497 {
11498 "include": "#function_pointer_parameter"
11499 },
11500 {
11501 "include": "#memory_operators"
11502 },
11503 {
11504 "include": "#builtin_storage_type_initilizer"
11505 },
11506 {
11507 "include": "#curly_initializer"
11508 },
11509 {
11510 "include": "#decltype"
11511 },
11512 {
11513 "include": "#vararg_ellipses"
11514 },
11515 {
11516 "match": "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:signed)|(?:double)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:char)|(?:long)|(?:bool)|(?:int)))|((?:(?:uint_least16_t)|(?:uint_least32_t)|(?:uint_least64_t)|(?:int_least16_t)|(?:int_least32_t)|(?:int_least64_t)|(?:uint_least8_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:uint_fast64_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:suseconds_t)|(?:int_fast8_t)|(?:useconds_t)|(?:blksize_t)|(?:in_addr_t)|(?:in_port_t)|(?:uintptr_t)|(?:uintmax_t)|(?:uintmax_t)|(?:uintmax_t)|(?:u_quad_t)|(?:blkcnt_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:intptr_t)|(?:intmax_t)|(?:intmax_t)|(?:u_short)|(?:qaddr_t)|(?:caddr_t)|(?:daddr_t)|(?:fixpt_t)|(?:nlink_t)|(?:segsz_t)|(?:swblk_t)|(?:clock_t)|(?:ssize_t)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:u_char)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:time_t)|(?:int8_t)|(?:u_int)|(?:div_t)|(?:dev_t)|(?:gid_t)|(?:ino_t)|(?:key_t)|(?:pid_t)|(?:off_t)|(?:uid_t)|(?:uint)|(?:id_t)|(?:id_t))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_attr_t)|(?:pthread_cond_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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)",
11517 "captures": {
11518 "1": {
11519 "patterns": [
11520 {
11521 "include": "#storage_types"
11522 }
11523 ]
11524 },
11525 "2": {
11526 "name": "storage.modifier.specifier.parameter.cpp"
11527 },
11528 "3": {
11529 "patterns": [
11530 {
11531 "include": "#inline_comment"
11532 }
11533 ]
11534 },
11535 "4": {
11536 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11537 },
11538 "5": {
11539 "name": "comment.block.cpp"
11540 },
11541 "6": {
11542 "patterns": [
11543 {
11544 "match": "\\*\\/",
11545 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11546 },
11547 {
11548 "match": "\\*",
11549 "name": "comment.block.cpp"
11550 }
11551 ]
11552 },
11553 "7": {
11554 "patterns": [
11555 {
11556 "include": "#inline_comment"
11557 }
11558 ]
11559 },
11560 "8": {
11561 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11562 },
11563 "9": {
11564 "name": "comment.block.cpp"
11565 },
11566 "10": {
11567 "patterns": [
11568 {
11569 "match": "\\*\\/",
11570 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11571 },
11572 {
11573 "match": "\\*",
11574 "name": "comment.block.cpp"
11575 }
11576 ]
11577 },
11578 "11": {
11579 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
11580 },
11581 "12": {
11582 "name": "storage.type.cpp storage.type.built-in.cpp"
11583 },
11584 "13": {
11585 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
11586 },
11587 "14": {
11588 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
11589 },
11590 "15": {
11591 "name": "entity.name.type.parameter.cpp"
11592 },
11593 "16": {
11594 "patterns": [
11595 {
11596 "include": "#inline_comment"
11597 }
11598 ]
11599 },
11600 "17": {
11601 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11602 },
11603 "18": {
11604 "name": "comment.block.cpp"
11605 },
11606 "19": {
11607 "patterns": [
11608 {
11609 "match": "\\*\\/",
11610 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11611 },
11612 {
11613 "match": "\\*",
11614 "name": "comment.block.cpp"
11615 }
11616 ]
11617 }
11618 }
11619 },
11620 {
11621 "include": "#storage_types"
11622 },
11623 {
11624 "include": "#function_call"
11625 },
11626 {
11627 "include": "#scope_resolution_parameter_inner_generated"
11628 },
11629 {
11630 "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
11631 "name": "storage.type.$0.cpp"
11632 },
11633 {
11634 "begin": "(?<==)",
11635 "end": "(?:(?=\\))|(,))",
11636 "beginCaptures": {},
11637 "endCaptures": {
11638 "1": {
11639 "name": "punctuation.separator.delimiter.comma.cpp"
11640 }
11641 },
11642 "patterns": [
11643 {
11644 "include": "#evaluation_context"
11645 }
11646 ]
11647 },
11648 {
11649 "match": "(?<!\\s|\\(|,|:)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=(?:\\)|,|\\[|=|\\/\\/|(?:(?:\\n)|$)))",
11650 "captures": {
11651 "1": {
11652 "patterns": [
11653 {
11654 "include": "#inline_comment"
11655 }
11656 ]
11657 },
11658 "2": {
11659 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11660 },
11661 "3": {
11662 "name": "comment.block.cpp"
11663 },
11664 "4": {
11665 "patterns": [
11666 {
11667 "match": "\\*\\/",
11668 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11669 },
11670 {
11671 "match": "\\*",
11672 "name": "comment.block.cpp"
11673 }
11674 ]
11675 },
11676 "5": {
11677 "name": "variable.parameter.cpp"
11678 },
11679 "6": {
11680 "patterns": [
11681 {
11682 "include": "#inline_comment"
11683 }
11684 ]
11685 },
11686 "7": {
11687 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11688 },
11689 "8": {
11690 "name": "comment.block.cpp"
11691 },
11692 "9": {
11693 "patterns": [
11694 {
11695 "match": "\\*\\/",
11696 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11697 },
11698 {
11699 "match": "\\*",
11700 "name": "comment.block.cpp"
11701 }
11702 ]
11703 }
11704 }
11705 },
11706 {
11707 "include": "#attributes_context"
11708 },
11709 {
11710 "begin": "\\[",
11711 "end": "\\]",
11712 "beginCaptures": {
11713 "0": {
11714 "name": "punctuation.definition.begin.bracket.square.array.type.cpp"
11715 }
11716 },
11717 "endCaptures": {
11718 "0": {
11719 "name": "punctuation.definition.end.bracket.square.array.type.cpp"
11720 }
11721 },
11722 "name": "meta.bracket.square.array.cpp",
11723 "patterns": [
11724 {
11725 "include": "#evaluation_context"
11726 }
11727 ]
11728 },
11729 {
11730 "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)",
11731 "name": "entity.name.type.parameter.cpp"
11732 },
11733 {
11734 "include": "#template_call_range"
11735 },
11736 {
11737 "match": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))",
11738 "captures": {
11739 "0": {
11740 "patterns": [
11741 {
11742 "match": "\\*",
11743 "name": "storage.modifier.pointer.cpp"
11744 },
11745 {
11746 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
11747 "captures": {
11748 "1": {
11749 "patterns": [
11750 {
11751 "include": "#inline_comment"
11752 }
11753 ]
11754 },
11755 "2": {
11756 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11757 },
11758 "3": {
11759 "name": "comment.block.cpp"
11760 },
11761 "4": {
11762 "patterns": [
11763 {
11764 "match": "\\*\\/",
11765 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11766 },
11767 {
11768 "match": "\\*",
11769 "name": "comment.block.cpp"
11770 }
11771 ]
11772 }
11773 },
11774 "name": "invalid.illegal.reference-type.cpp"
11775 },
11776 {
11777 "match": "\\&",
11778 "name": "storage.modifier.reference.cpp"
11779 }
11780 ]
11781 },
11782 "1": {
11783 "patterns": [
11784 {
11785 "include": "#inline_comment"
11786 }
11787 ]
11788 },
11789 "2": {
11790 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11791 },
11792 "3": {
11793 "name": "comment.block.cpp"
11794 },
11795 "4": {
11796 "patterns": [
11797 {
11798 "match": "\\*\\/",
11799 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11800 },
11801 {
11802 "match": "\\*",
11803 "name": "comment.block.cpp"
11804 }
11805 ]
11806 },
11807 "5": {
11808 "patterns": [
11809 {
11810 "include": "#inline_comment"
11811 }
11812 ]
11813 },
11814 "6": {
11815 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11816 },
11817 "7": {
11818 "name": "comment.block.cpp"
11819 },
11820 "8": {
11821 "patterns": [
11822 {
11823 "match": "\\*\\/",
11824 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11825 },
11826 {
11827 "match": "\\*",
11828 "name": "comment.block.cpp"
11829 }
11830 ]
11831 }
11832 }
11833 },
11834 {
11835 "include": "#evaluation_context"
11836 }
11837 ]
11838 },
11839 "parameter_struct": {
11840 "match": "(\\bstruct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
11841 "captures": {
11842 "1": {
11843 "name": "storage.type.struct.parameter.cpp"
11844 },
11845 "2": {
11846 "patterns": [
11847 {
11848 "include": "#inline_comment"
11849 }
11850 ]
11851 },
11852 "3": {
11853 "patterns": [
11854 {
11855 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11856 "captures": {
11857 "1": {
11858 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11859 },
11860 "2": {
11861 "name": "comment.block.cpp"
11862 },
11863 "3": {
11864 "patterns": [
11865 {
11866 "match": "\\*\\/",
11867 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11868 },
11869 {
11870 "match": "\\*",
11871 "name": "comment.block.cpp"
11872 }
11873 ]
11874 }
11875 }
11876 }
11877 ]
11878 },
11879 "4": {
11880 "name": "entity.name.type.struct.parameter.cpp"
11881 },
11882 "5": {
11883 "patterns": [
11884 {
11885 "include": "#inline_comment"
11886 }
11887 ]
11888 },
11889 "6": {
11890 "patterns": [
11891 {
11892 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11893 "captures": {
11894 "1": {
11895 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11896 },
11897 "2": {
11898 "name": "comment.block.cpp"
11899 },
11900 "3": {
11901 "patterns": [
11902 {
11903 "match": "\\*\\/",
11904 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11905 },
11906 {
11907 "match": "\\*",
11908 "name": "comment.block.cpp"
11909 }
11910 ]
11911 }
11912 }
11913 }
11914 ]
11915 },
11916 "7": {
11917 "patterns": [
11918 {
11919 "match": "\\*",
11920 "name": "storage.modifier.pointer.cpp"
11921 },
11922 {
11923 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
11924 "captures": {
11925 "1": {
11926 "patterns": [
11927 {
11928 "include": "#inline_comment"
11929 }
11930 ]
11931 },
11932 "2": {
11933 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11934 },
11935 "3": {
11936 "name": "comment.block.cpp"
11937 },
11938 "4": {
11939 "patterns": [
11940 {
11941 "match": "\\*\\/",
11942 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11943 },
11944 {
11945 "match": "\\*",
11946 "name": "comment.block.cpp"
11947 }
11948 ]
11949 }
11950 },
11951 "name": "invalid.illegal.reference-type.cpp"
11952 },
11953 {
11954 "match": "\\&",
11955 "name": "storage.modifier.reference.cpp"
11956 }
11957 ]
11958 },
11959 "8": {
11960 "patterns": [
11961 {
11962 "include": "#inline_comment"
11963 }
11964 ]
11965 },
11966 "9": {
11967 "patterns": [
11968 {
11969 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11970 "captures": {
11971 "1": {
11972 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11973 },
11974 "2": {
11975 "name": "comment.block.cpp"
11976 },
11977 "3": {
11978 "patterns": [
11979 {
11980 "match": "\\*\\/",
11981 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11982 },
11983 {
11984 "match": "\\*",
11985 "name": "comment.block.cpp"
11986 }
11987 ]
11988 }
11989 }
11990 }
11991 ]
11992 },
11993 "10": {
11994 "patterns": [
11995 {
11996 "include": "#inline_comment"
11997 }
11998 ]
11999 },
12000 "11": {
12001 "patterns": [
12002 {
12003 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12004 "captures": {
12005 "1": {
12006 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12007 },
12008 "2": {
12009 "name": "comment.block.cpp"
12010 },
12011 "3": {
12012 "patterns": [
12013 {
12014 "match": "\\*\\/",
12015 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12016 },
12017 {
12018 "match": "\\*",
12019 "name": "comment.block.cpp"
12020 }
12021 ]
12022 }
12023 }
12024 }
12025 ]
12026 },
12027 "12": {
12028 "patterns": [
12029 {
12030 "include": "#inline_comment"
12031 }
12032 ]
12033 },
12034 "13": {
12035 "patterns": [
12036 {
12037 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12038 "captures": {
12039 "1": {
12040 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12041 },
12042 "2": {
12043 "name": "comment.block.cpp"
12044 },
12045 "3": {
12046 "patterns": [
12047 {
12048 "match": "\\*\\/",
12049 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12050 },
12051 {
12052 "match": "\\*",
12053 "name": "comment.block.cpp"
12054 }
12055 ]
12056 }
12057 }
12058 }
12059 ]
12060 },
12061 "14": {
12062 "name": "variable.other.object.declare.cpp"
12063 },
12064 "15": {
12065 "patterns": [
12066 {
12067 "include": "#inline_comment"
12068 }
12069 ]
12070 },
12071 "16": {
12072 "patterns": [
12073 {
12074 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12075 "captures": {
12076 "1": {
12077 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12078 },
12079 "2": {
12080 "name": "comment.block.cpp"
12081 },
12082 "3": {
12083 "patterns": [
12084 {
12085 "match": "\\*\\/",
12086 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12087 },
12088 {
12089 "match": "\\*",
12090 "name": "comment.block.cpp"
12091 }
12092 ]
12093 }
12094 }
12095 }
12096 ]
12097 },
12098 "17": {
12099 "patterns": [
12100 {
12101 "include": "#inline_comment"
12102 }
12103 ]
12104 },
12105 "18": {
12106 "patterns": [
12107 {
12108 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12109 "captures": {
12110 "1": {
12111 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12112 },
12113 "2": {
12114 "name": "comment.block.cpp"
12115 },
12116 "3": {
12117 "patterns": [
12118 {
12119 "match": "\\*\\/",
12120 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12121 },
12122 {
12123 "match": "\\*",
12124 "name": "comment.block.cpp"
12125 }
12126 ]
12127 }
12128 }
12129 }
12130 ]
12131 },
12132 "19": {
12133 "patterns": [
12134 {
12135 "include": "#inline_comment"
12136 }
12137 ]
12138 },
12139 "20": {
12140 "patterns": [
12141 {
12142 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12143 "captures": {
12144 "1": {
12145 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12146 },
12147 "2": {
12148 "name": "comment.block.cpp"
12149 },
12150 "3": {
12151 "patterns": [
12152 {
12153 "match": "\\*\\/",
12154 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12155 },
12156 {
12157 "match": "\\*",
12158 "name": "comment.block.cpp"
12159 }
12160 ]
12161 }
12162 }
12163 }
12164 ]
12165 }
12166 }
12167 },
12168 "parameter_union": {
12169 "match": "(\\bunion)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
12170 "captures": {
12171 "1": {
12172 "name": "storage.type.union.parameter.cpp"
12173 },
12174 "2": {
12175 "patterns": [
12176 {
12177 "include": "#inline_comment"
12178 }
12179 ]
12180 },
12181 "3": {
12182 "patterns": [
12183 {
12184 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12185 "captures": {
12186 "1": {
12187 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12188 },
12189 "2": {
12190 "name": "comment.block.cpp"
12191 },
12192 "3": {
12193 "patterns": [
12194 {
12195 "match": "\\*\\/",
12196 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12197 },
12198 {
12199 "match": "\\*",
12200 "name": "comment.block.cpp"
12201 }
12202 ]
12203 }
12204 }
12205 }
12206 ]
12207 },
12208 "4": {
12209 "name": "entity.name.type.union.parameter.cpp"
12210 },
12211 "5": {
12212 "patterns": [
12213 {
12214 "include": "#inline_comment"
12215 }
12216 ]
12217 },
12218 "6": {
12219 "patterns": [
12220 {
12221 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12222 "captures": {
12223 "1": {
12224 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12225 },
12226 "2": {
12227 "name": "comment.block.cpp"
12228 },
12229 "3": {
12230 "patterns": [
12231 {
12232 "match": "\\*\\/",
12233 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12234 },
12235 {
12236 "match": "\\*",
12237 "name": "comment.block.cpp"
12238 }
12239 ]
12240 }
12241 }
12242 }
12243 ]
12244 },
12245 "7": {
12246 "patterns": [
12247 {
12248 "match": "\\*",
12249 "name": "storage.modifier.pointer.cpp"
12250 },
12251 {
12252 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
12253 "captures": {
12254 "1": {
12255 "patterns": [
12256 {
12257 "include": "#inline_comment"
12258 }
12259 ]
12260 },
12261 "2": {
12262 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12263 },
12264 "3": {
12265 "name": "comment.block.cpp"
12266 },
12267 "4": {
12268 "patterns": [
12269 {
12270 "match": "\\*\\/",
12271 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12272 },
12273 {
12274 "match": "\\*",
12275 "name": "comment.block.cpp"
12276 }
12277 ]
12278 }
12279 },
12280 "name": "invalid.illegal.reference-type.cpp"
12281 },
12282 {
12283 "match": "\\&",
12284 "name": "storage.modifier.reference.cpp"
12285 }
12286 ]
12287 },
12288 "8": {
12289 "patterns": [
12290 {
12291 "include": "#inline_comment"
12292 }
12293 ]
12294 },
12295 "9": {
12296 "patterns": [
12297 {
12298 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12299 "captures": {
12300 "1": {
12301 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12302 },
12303 "2": {
12304 "name": "comment.block.cpp"
12305 },
12306 "3": {
12307 "patterns": [
12308 {
12309 "match": "\\*\\/",
12310 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12311 },
12312 {
12313 "match": "\\*",
12314 "name": "comment.block.cpp"
12315 }
12316 ]
12317 }
12318 }
12319 }
12320 ]
12321 },
12322 "10": {
12323 "patterns": [
12324 {
12325 "include": "#inline_comment"
12326 }
12327 ]
12328 },
12329 "11": {
12330 "patterns": [
12331 {
12332 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12333 "captures": {
12334 "1": {
12335 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12336 },
12337 "2": {
12338 "name": "comment.block.cpp"
12339 },
12340 "3": {
12341 "patterns": [
12342 {
12343 "match": "\\*\\/",
12344 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12345 },
12346 {
12347 "match": "\\*",
12348 "name": "comment.block.cpp"
12349 }
12350 ]
12351 }
12352 }
12353 }
12354 ]
12355 },
12356 "12": {
12357 "patterns": [
12358 {
12359 "include": "#inline_comment"
12360 }
12361 ]
12362 },
12363 "13": {
12364 "patterns": [
12365 {
12366 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12367 "captures": {
12368 "1": {
12369 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12370 },
12371 "2": {
12372 "name": "comment.block.cpp"
12373 },
12374 "3": {
12375 "patterns": [
12376 {
12377 "match": "\\*\\/",
12378 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12379 },
12380 {
12381 "match": "\\*",
12382 "name": "comment.block.cpp"
12383 }
12384 ]
12385 }
12386 }
12387 }
12388 ]
12389 },
12390 "14": {
12391 "name": "variable.other.object.declare.cpp"
12392 },
12393 "15": {
12394 "patterns": [
12395 {
12396 "include": "#inline_comment"
12397 }
12398 ]
12399 },
12400 "16": {
12401 "patterns": [
12402 {
12403 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12404 "captures": {
12405 "1": {
12406 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12407 },
12408 "2": {
12409 "name": "comment.block.cpp"
12410 },
12411 "3": {
12412 "patterns": [
12413 {
12414 "match": "\\*\\/",
12415 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12416 },
12417 {
12418 "match": "\\*",
12419 "name": "comment.block.cpp"
12420 }
12421 ]
12422 }
12423 }
12424 }
12425 ]
12426 },
12427 "17": {
12428 "patterns": [
12429 {
12430 "include": "#inline_comment"
12431 }
12432 ]
12433 },
12434 "18": {
12435 "patterns": [
12436 {
12437 "match": "(?:(?>(?:\\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 "patterns": [
12447 {
12448 "match": "\\*\\/",
12449 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12450 },
12451 {
12452 "match": "\\*",
12453 "name": "comment.block.cpp"
12454 }
12455 ]
12456 }
12457 }
12458 }
12459 ]
12460 },
12461 "19": {
12462 "patterns": [
12463 {
12464 "include": "#inline_comment"
12465 }
12466 ]
12467 },
12468 "20": {
12469 "patterns": [
12470 {
12471 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12472 "captures": {
12473 "1": {
12474 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12475 },
12476 "2": {
12477 "name": "comment.block.cpp"
12478 },
12479 "3": {
12480 "patterns": [
12481 {
12482 "match": "\\*\\/",
12483 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12484 },
12485 {
12486 "match": "\\*",
12487 "name": "comment.block.cpp"
12488 }
12489 ]
12490 }
12491 }
12492 }
12493 ]
12494 }
12495 }
12496 },
12497 "parentheses": {
12498 "begin": "\\(",
12499 "end": "\\)",
12500 "beginCaptures": {
12501 "0": {
12502 "name": "punctuation.section.parens.begin.bracket.round.cpp"
12503 }
12504 },
12505 "endCaptures": {
12506 "0": {
12507 "name": "punctuation.section.parens.end.bracket.round.cpp"
12508 }
12509 },
12510 "name": "meta.parens.cpp",
12511 "patterns": [
12512 {
12513 "include": "#over_qualified_types"
12514 },
12515 {
12516 "match": "(?<!:):(?!:)",
12517 "name": "punctuation.separator.colon.range-based.cpp"
12518 },
12519 {
12520 "include": "#evaluation_context"
12521 }
12522 ]
12523 },
12524 "pragma": {
12525 "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma\\b",
12526 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
12527 "beginCaptures": {
12528 "0": {
12529 "name": "keyword.control.directive.pragma.cpp"
12530 },
12531 "1": {
12532 "patterns": [
12533 {
12534 "include": "#inline_comment"
12535 }
12536 ]
12537 },
12538 "2": {
12539 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12540 },
12541 "3": {
12542 "name": "comment.block.cpp"
12543 },
12544 "4": {
12545 "patterns": [
12546 {
12547 "match": "\\*\\/",
12548 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12549 },
12550 {
12551 "match": "\\*",
12552 "name": "comment.block.cpp"
12553 }
12554 ]
12555 },
12556 "5": {
12557 "name": "punctuation.definition.directive.cpp"
12558 }
12559 },
12560 "endCaptures": {},
12561 "name": "meta.preprocessor.pragma.cpp",
12562 "patterns": [
12563 {
12564 "include": "#comments"
12565 },
12566 {
12567 "include": "#string_context"
12568 },
12569 {
12570 "match": "[a-zA-Z_$][\\w\\-$]*",
12571 "name": "entity.other.attribute-name.pragma.preprocessor.cpp"
12572 },
12573 {
12574 "include": "#preprocessor_number_literal"
12575 },
12576 {
12577 "include": "#line_continuation_character"
12578 }
12579 ]
12580 },
12581 "pragma_mark": {
12582 "match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma(?:\\s)+mark)(?:\\s)+(.*)",
12583 "captures": {
12584 "1": {
12585 "name": "keyword.control.directive.pragma.pragma-mark.cpp"
12586 },
12587 "2": {
12588 "patterns": [
12589 {
12590 "include": "#inline_comment"
12591 }
12592 ]
12593 },
12594 "3": {
12595 "patterns": [
12596 {
12597 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12598 "captures": {
12599 "1": {
12600 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12601 },
12602 "2": {
12603 "name": "comment.block.cpp"
12604 },
12605 "3": {
12606 "patterns": [
12607 {
12608 "match": "\\*\\/",
12609 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12610 },
12611 {
12612 "match": "\\*",
12613 "name": "comment.block.cpp"
12614 }
12615 ]
12616 }
12617 }
12618 }
12619 ]
12620 },
12621 "4": {
12622 "name": "punctuation.definition.directive.cpp"
12623 },
12624 "5": {
12625 "name": "entity.name.tag.pragma-mark.cpp"
12626 }
12627 },
12628 "name": "meta.preprocessor.pragma.cpp"
12629 },
12630 "predefined_macros": {
12631 "patterns": [
12632 {
12633 "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",
12634 "captures": {
12635 "1": {
12636 "name": "entity.name.other.preprocessor.macro.predefined.$1.cpp"
12637 }
12638 }
12639 },
12640 {
12641 "match": "\\b__([A-Z_]+)__\\b",
12642 "name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"
12643 }
12644 ]
12645 },
12646 "preprocessor_conditional_context": {
12647 "patterns": [
12648 {
12649 "include": "#preprocessor_conditional_defined"
12650 },
12651 {
12652 "include": "#comments"
12653 },
12654 {
12655 "include": "#language_constants"
12656 },
12657 {
12658 "include": "#string_context"
12659 },
12660 {
12661 "include": "#d9bc4796b0b_preprocessor_number_literal"
12662 },
12663 {
12664 "include": "#operators"
12665 },
12666 {
12667 "include": "#predefined_macros"
12668 },
12669 {
12670 "include": "#macro_name"
12671 },
12672 {
12673 "include": "#line_continuation_character"
12674 }
12675 ]
12676 },
12677 "preprocessor_conditional_defined": {
12678 "begin": "((?<!\\w)defined(?!\\w))(\\()",
12679 "end": "(?:\\)|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))",
12680 "beginCaptures": {
12681 "1": {
12682 "name": "keyword.control.directive.conditional.defined.cpp"
12683 },
12684 "2": {
12685 "name": "punctuation.section.parens.control.defined.cpp"
12686 }
12687 },
12688 "endCaptures": {
12689 "0": {
12690 "name": "punctuation.section.parens.control.defined.cpp"
12691 }
12692 },
12693 "patterns": [
12694 {
12695 "include": "#macro_name"
12696 }
12697 ]
12698 },
12699 "preprocessor_conditional_parentheses": {
12700 "begin": "\\(",
12701 "end": "\\)",
12702 "beginCaptures": {
12703 "0": {
12704 "name": "punctuation.section.parens.begin.bracket.round.cpp"
12705 }
12706 },
12707 "endCaptures": {
12708 "0": {
12709 "name": "punctuation.section.parens.end.bracket.round.cpp"
12710 }
12711 },
12712 "name": "meta.parens.preprocessor.conditional.cpp"
12713 },
12714 "preprocessor_conditional_range": {
12715 "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:(?:ifndef|ifdef)|if))",
12716 "end": "^(?!\\s*+#\\s*(?:else|endif))",
12717 "beginCaptures": {
12718 "0": {
12719 "name": "keyword.control.directive.conditional.$6.cpp"
12720 },
12721 "1": {
12722 "patterns": [
12723 {
12724 "include": "#inline_comment"
12725 }
12726 ]
12727 },
12728 "2": {
12729 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12730 },
12731 "3": {
12732 "name": "comment.block.cpp"
12733 },
12734 "4": {
12735 "patterns": [
12736 {
12737 "match": "\\*\\/",
12738 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12739 },
12740 {
12741 "match": "\\*",
12742 "name": "comment.block.cpp"
12743 }
12744 ]
12745 },
12746 "5": {
12747 "name": "punctuation.definition.directive.cpp"
12748 },
12749 "6": {}
12750 },
12751 "endCaptures": {},
12752 "patterns": [
12753 {
12754 "begin": "\\G(?<=ifndef|ifdef|if)",
12755 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
12756 "beginCaptures": {},
12757 "endCaptures": {},
12758 "name": "meta.preprocessor.conditional.cpp",
12759 "patterns": [
12760 {
12761 "include": "#preprocessor_conditional_context"
12762 }
12763 ]
12764 },
12765 {
12766 "include": "$self"
12767 }
12768 ]
12769 },
12770 "preprocessor_conditional_standalone": {
12771 "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?<!\\w)(?:endif|else|elif)(?!\\w))",
12772 "captures": {
12773 "1": {
12774 "patterns": [
12775 {
12776 "include": "#inline_comment"
12777 }
12778 ]
12779 },
12780 "2": {
12781 "patterns": [
12782 {
12783 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12784 "captures": {
12785 "1": {
12786 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12787 },
12788 "2": {
12789 "name": "comment.block.cpp"
12790 },
12791 "3": {
12792 "patterns": [
12793 {
12794 "match": "\\*\\/",
12795 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12796 },
12797 {
12798 "match": "\\*",
12799 "name": "comment.block.cpp"
12800 }
12801 ]
12802 }
12803 }
12804 }
12805 ]
12806 },
12807 "3": {
12808 "name": "punctuation.definition.directive.cpp"
12809 }
12810 },
12811 "name": "keyword.control.directive.$4.cpp"
12812 },
12813 "preprocessor_context": {
12814 "patterns": [
12815 {
12816 "include": "#pragma_mark"
12817 },
12818 {
12819 "include": "#pragma"
12820 },
12821 {
12822 "include": "#include"
12823 },
12824 {
12825 "include": "#line"
12826 },
12827 {
12828 "include": "#diagnostic"
12829 },
12830 {
12831 "include": "#undef"
12832 },
12833 {
12834 "include": "#preprocessor_conditional_range"
12835 },
12836 {
12837 "include": "#single_line_macro"
12838 },
12839 {
12840 "include": "#macro"
12841 },
12842 {
12843 "include": "#preprocessor_conditional_standalone"
12844 },
12845 {
12846 "include": "#macro_argument"
12847 }
12848 ]
12849 },
12850 "qualified_type": {
12851 "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?: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<:.])",
12852 "captures": {
12853 "0": {
12854 "patterns": [
12855 {
12856 "match": "::",
12857 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
12858 },
12859 {
12860 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
12861 "name": "storage.type.$0.cpp"
12862 },
12863 {
12864 "include": "#attributes_context"
12865 },
12866 {
12867 "include": "#storage_types"
12868 },
12869 {
12870 "include": "#number_literal"
12871 },
12872 {
12873 "include": "#string_context"
12874 },
12875 {
12876 "include": "#comma"
12877 },
12878 {
12879 "include": "#scope_resolution_inner_generated"
12880 },
12881 {
12882 "begin": "<",
12883 "end": ">",
12884 "beginCaptures": {
12885 "0": {
12886 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
12887 }
12888 },
12889 "endCaptures": {
12890 "0": {
12891 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
12892 }
12893 },
12894 "name": "meta.template.call.cpp",
12895 "patterns": [
12896 {
12897 "include": "#template_call_context"
12898 }
12899 ]
12900 },
12901 {
12902 "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}))*",
12903 "name": "entity.name.type.cpp"
12904 }
12905 ]
12906 },
12907 "1": {
12908 "patterns": [
12909 {
12910 "include": "#attributes_context"
12911 },
12912 {
12913 "include": "#number_literal"
12914 }
12915 ]
12916 },
12917 "2": {
12918 "patterns": [
12919 {
12920 "include": "#inline_comment"
12921 }
12922 ]
12923 },
12924 "3": {
12925 "patterns": [
12926 {
12927 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12928 "captures": {
12929 "1": {
12930 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12931 },
12932 "2": {
12933 "name": "comment.block.cpp"
12934 },
12935 "3": {
12936 "patterns": [
12937 {
12938 "match": "\\*\\/",
12939 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12940 },
12941 {
12942 "match": "\\*",
12943 "name": "comment.block.cpp"
12944 }
12945 ]
12946 }
12947 }
12948 }
12949 ]
12950 },
12951 "4": {
12952 "patterns": [
12953 {
12954 "include": "#inline_comment"
12955 }
12956 ]
12957 },
12958 "5": {
12959 "patterns": [
12960 {
12961 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12962 "captures": {
12963 "1": {
12964 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12965 },
12966 "2": {
12967 "name": "comment.block.cpp"
12968 },
12969 "3": {
12970 "patterns": [
12971 {
12972 "match": "\\*\\/",
12973 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12974 },
12975 {
12976 "match": "\\*",
12977 "name": "comment.block.cpp"
12978 }
12979 ]
12980 }
12981 }
12982 }
12983 ]
12984 },
12985 "6": {
12986 "patterns": [
12987 {
12988 "match": "::",
12989 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
12990 },
12991 {
12992 "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)",
12993 "name": "entity.name.scope-resolution.type.cpp"
12994 },
12995 {
12996 "include": "#template_call_range"
12997 }
12998 ]
12999 },
13000 "7": {
13001 "patterns": [
13002 {
13003 "include": "#template_call_range"
13004 }
13005 ]
13006 },
13007 "9": {
13008 "patterns": [
13009 {
13010 "include": "#inline_comment"
13011 }
13012 ]
13013 },
13014 "10": {
13015 "patterns": [
13016 {
13017 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13018 "captures": {
13019 "1": {
13020 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13021 },
13022 "2": {
13023 "name": "comment.block.cpp"
13024 },
13025 "3": {
13026 "patterns": [
13027 {
13028 "match": "\\*\\/",
13029 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13030 },
13031 {
13032 "match": "\\*",
13033 "name": "comment.block.cpp"
13034 }
13035 ]
13036 }
13037 }
13038 }
13039 ]
13040 }
13041 },
13042 "name": "meta.qualified_type.cpp"
13043 },
13044 "qualifiers_and_specifiers_post_parameters": {
13045 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?<!\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\w))+(?=\\s*(?:(?:\\{|;)|[\\n\\r])))",
13046 "captures": {
13047 "1": {
13048 "patterns": [
13049 {
13050 "include": "#inline_comment"
13051 }
13052 ]
13053 },
13054 "2": {
13055 "patterns": [
13056 {
13057 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13058 "captures": {
13059 "1": {
13060 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13061 },
13062 "2": {
13063 "name": "comment.block.cpp"
13064 },
13065 "3": {
13066 "patterns": [
13067 {
13068 "match": "\\*\\/",
13069 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13070 },
13071 {
13072 "match": "\\*",
13073 "name": "comment.block.cpp"
13074 }
13075 ]
13076 }
13077 }
13078 }
13079 ]
13080 },
13081 "3": {
13082 "name": "storage.modifier.specifier.functional.post-parameters.$3.cpp"
13083 },
13084 "4": {
13085 "patterns": [
13086 {
13087 "include": "#inline_comment"
13088 }
13089 ]
13090 },
13091 "5": {
13092 "patterns": [
13093 {
13094 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13095 "captures": {
13096 "1": {
13097 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13098 },
13099 "2": {
13100 "name": "comment.block.cpp"
13101 },
13102 "3": {
13103 "patterns": [
13104 {
13105 "match": "\\*\\/",
13106 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13107 },
13108 {
13109 "match": "\\*",
13110 "name": "comment.block.cpp"
13111 }
13112 ]
13113 }
13114 }
13115 }
13116 ]
13117 }
13118 }
13119 },
13120 "scope_resolution": {
13121 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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*+",
13122 "captures": {
13123 "0": {
13124 "patterns": [
13125 {
13126 "include": "#scope_resolution_inner_generated"
13127 }
13128 ]
13129 },
13130 "1": {
13131 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
13132 },
13133 "2": {
13134 "patterns": [
13135 {
13136 "include": "#template_call_range"
13137 }
13138 ]
13139 }
13140 }
13141 },
13142 "scope_resolution_function_call": {
13143 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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*+",
13144 "captures": {
13145 "0": {
13146 "patterns": [
13147 {
13148 "include": "#scope_resolution_function_call_inner_generated"
13149 }
13150 ]
13151 },
13152 "1": {
13153 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
13154 },
13155 "2": {
13156 "patterns": [
13157 {
13158 "include": "#template_call_range"
13159 }
13160 ]
13161 }
13162 }
13163 },
13164 "scope_resolution_function_call_inner_generated": {
13165 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)*+)?(::)",
13166 "captures": {
13167 "1": {
13168 "patterns": [
13169 {
13170 "include": "#scope_resolution_function_call_inner_generated"
13171 }
13172 ]
13173 },
13174 "2": {
13175 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
13176 },
13177 "3": {
13178 "patterns": [
13179 {
13180 "include": "#template_call_range"
13181 }
13182 ]
13183 },
13184 "4": {},
13185 "5": {
13186 "name": "entity.name.scope-resolution.function.call.cpp"
13187 },
13188 "6": {
13189 "name": "meta.template.call.cpp",
13190 "patterns": [
13191 {
13192 "include": "#template_call_range"
13193 }
13194 ]
13195 },
13196 "7": {},
13197 "8": {
13198 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
13199 }
13200 }
13201 },
13202 "scope_resolution_function_definition": {
13203 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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*+",
13204 "captures": {
13205 "0": {
13206 "patterns": [
13207 {
13208 "include": "#scope_resolution_function_definition_inner_generated"
13209 }
13210 ]
13211 },
13212 "1": {
13213 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
13214 },
13215 "2": {
13216 "patterns": [
13217 {
13218 "include": "#template_call_range"
13219 }
13220 ]
13221 }
13222 }
13223 },
13224 "scope_resolution_function_definition_inner_generated": {
13225 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)*+)?(::)",
13226 "captures": {
13227 "1": {
13228 "patterns": [
13229 {
13230 "include": "#scope_resolution_function_definition_inner_generated"
13231 }
13232 ]
13233 },
13234 "2": {
13235 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
13236 },
13237 "3": {
13238 "patterns": [
13239 {
13240 "include": "#template_call_range"
13241 }
13242 ]
13243 },
13244 "4": {},
13245 "5": {
13246 "name": "entity.name.scope-resolution.function.definition.cpp"
13247 },
13248 "6": {
13249 "name": "meta.template.call.cpp",
13250 "patterns": [
13251 {
13252 "include": "#template_call_range"
13253 }
13254 ]
13255 },
13256 "7": {},
13257 "8": {
13258 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
13259 }
13260 }
13261 },
13262 "scope_resolution_function_definition_operator_overload": {
13263 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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*+",
13264 "captures": {
13265 "0": {
13266 "patterns": [
13267 {
13268 "include": "#scope_resolution_function_definition_operator_overload_inner_generated"
13269 }
13270 ]
13271 },
13272 "1": {
13273 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
13274 },
13275 "2": {
13276 "patterns": [
13277 {
13278 "include": "#template_call_range"
13279 }
13280 ]
13281 }
13282 }
13283 },
13284 "scope_resolution_function_definition_operator_overload_inner_generated": {
13285 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)*+)?(::)",
13286 "captures": {
13287 "1": {
13288 "patterns": [
13289 {
13290 "include": "#scope_resolution_function_definition_operator_overload_inner_generated"
13291 }
13292 ]
13293 },
13294 "2": {
13295 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
13296 },
13297 "3": {
13298 "patterns": [
13299 {
13300 "include": "#template_call_range"
13301 }
13302 ]
13303 },
13304 "4": {},
13305 "5": {
13306 "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp"
13307 },
13308 "6": {
13309 "name": "meta.template.call.cpp",
13310 "patterns": [
13311 {
13312 "include": "#template_call_range"
13313 }
13314 ]
13315 },
13316 "7": {},
13317 "8": {
13318 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
13319 }
13320 }
13321 },
13322 "scope_resolution_inner_generated": {
13323 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)*+)?(::)",
13324 "captures": {
13325 "1": {
13326 "patterns": [
13327 {
13328 "include": "#scope_resolution_inner_generated"
13329 }
13330 ]
13331 },
13332 "2": {
13333 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
13334 },
13335 "3": {
13336 "patterns": [
13337 {
13338 "include": "#template_call_range"
13339 }
13340 ]
13341 },
13342 "4": {},
13343 "5": {
13344 "name": "entity.name.scope-resolution.cpp"
13345 },
13346 "6": {
13347 "name": "meta.template.call.cpp",
13348 "patterns": [
13349 {
13350 "include": "#template_call_range"
13351 }
13352 ]
13353 },
13354 "7": {},
13355 "8": {
13356 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
13357 }
13358 }
13359 },
13360 "scope_resolution_namespace_alias": {
13361 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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*+",
13362 "captures": {
13363 "0": {
13364 "patterns": [
13365 {
13366 "include": "#scope_resolution_namespace_alias_inner_generated"
13367 }
13368 ]
13369 },
13370 "1": {
13371 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
13372 },
13373 "2": {
13374 "patterns": [
13375 {
13376 "include": "#template_call_range"
13377 }
13378 ]
13379 }
13380 }
13381 },
13382 "scope_resolution_namespace_alias_inner_generated": {
13383 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)*+)?(::)",
13384 "captures": {
13385 "1": {
13386 "patterns": [
13387 {
13388 "include": "#scope_resolution_namespace_alias_inner_generated"
13389 }
13390 ]
13391 },
13392 "2": {
13393 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
13394 },
13395 "3": {
13396 "patterns": [
13397 {
13398 "include": "#template_call_range"
13399 }
13400 ]
13401 },
13402 "4": {},
13403 "5": {
13404 "name": "entity.name.scope-resolution.namespace.alias.cpp"
13405 },
13406 "6": {
13407 "name": "meta.template.call.cpp",
13408 "patterns": [
13409 {
13410 "include": "#template_call_range"
13411 }
13412 ]
13413 },
13414 "7": {},
13415 "8": {
13416 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
13417 }
13418 }
13419 },
13420 "scope_resolution_namespace_block": {
13421 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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*+",
13422 "captures": {
13423 "0": {
13424 "patterns": [
13425 {
13426 "include": "#scope_resolution_namespace_block_inner_generated"
13427 }
13428 ]
13429 },
13430 "1": {
13431 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
13432 },
13433 "2": {
13434 "patterns": [
13435 {
13436 "include": "#template_call_range"
13437 }
13438 ]
13439 }
13440 }
13441 },
13442 "scope_resolution_namespace_block_inner_generated": {
13443 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)*+)?(::)",
13444 "captures": {
13445 "1": {
13446 "patterns": [
13447 {
13448 "include": "#scope_resolution_namespace_block_inner_generated"
13449 }
13450 ]
13451 },
13452 "2": {
13453 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
13454 },
13455 "3": {
13456 "patterns": [
13457 {
13458 "include": "#template_call_range"
13459 }
13460 ]
13461 },
13462 "4": {},
13463 "5": {
13464 "name": "entity.name.scope-resolution.namespace.block.cpp"
13465 },
13466 "6": {
13467 "name": "meta.template.call.cpp",
13468 "patterns": [
13469 {
13470 "include": "#template_call_range"
13471 }
13472 ]
13473 },
13474 "7": {},
13475 "8": {
13476 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
13477 }
13478 }
13479 },
13480 "scope_resolution_namespace_using": {
13481 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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*+",
13482 "captures": {
13483 "0": {
13484 "patterns": [
13485 {
13486 "include": "#scope_resolution_namespace_using_inner_generated"
13487 }
13488 ]
13489 },
13490 "1": {
13491 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
13492 },
13493 "2": {
13494 "patterns": [
13495 {
13496 "include": "#template_call_range"
13497 }
13498 ]
13499 }
13500 }
13501 },
13502 "scope_resolution_namespace_using_inner_generated": {
13503 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)*+)?(::)",
13504 "captures": {
13505 "1": {
13506 "patterns": [
13507 {
13508 "include": "#scope_resolution_namespace_using_inner_generated"
13509 }
13510 ]
13511 },
13512 "2": {
13513 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
13514 },
13515 "3": {
13516 "patterns": [
13517 {
13518 "include": "#template_call_range"
13519 }
13520 ]
13521 },
13522 "4": {},
13523 "5": {
13524 "name": "entity.name.scope-resolution.namespace.using.cpp"
13525 },
13526 "6": {
13527 "name": "meta.template.call.cpp",
13528 "patterns": [
13529 {
13530 "include": "#template_call_range"
13531 }
13532 ]
13533 },
13534 "7": {},
13535 "8": {
13536 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
13537 }
13538 }
13539 },
13540 "scope_resolution_parameter": {
13541 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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*+",
13542 "captures": {
13543 "0": {
13544 "patterns": [
13545 {
13546 "include": "#scope_resolution_parameter_inner_generated"
13547 }
13548 ]
13549 },
13550 "1": {
13551 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
13552 },
13553 "2": {
13554 "patterns": [
13555 {
13556 "include": "#template_call_range"
13557 }
13558 ]
13559 }
13560 }
13561 },
13562 "scope_resolution_parameter_inner_generated": {
13563 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)*+)?(::)",
13564 "captures": {
13565 "1": {
13566 "patterns": [
13567 {
13568 "include": "#scope_resolution_parameter_inner_generated"
13569 }
13570 ]
13571 },
13572 "2": {
13573 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
13574 },
13575 "3": {
13576 "patterns": [
13577 {
13578 "include": "#template_call_range"
13579 }
13580 ]
13581 },
13582 "4": {},
13583 "5": {
13584 "name": "entity.name.scope-resolution.parameter.cpp"
13585 },
13586 "6": {
13587 "name": "meta.template.call.cpp",
13588 "patterns": [
13589 {
13590 "include": "#template_call_range"
13591 }
13592 ]
13593 },
13594 "7": {},
13595 "8": {
13596 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
13597 }
13598 }
13599 },
13600 "scope_resolution_template_call": {
13601 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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*+",
13602 "captures": {
13603 "0": {
13604 "patterns": [
13605 {
13606 "include": "#scope_resolution_template_call_inner_generated"
13607 }
13608 ]
13609 },
13610 "1": {
13611 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
13612 },
13613 "2": {
13614 "patterns": [
13615 {
13616 "include": "#template_call_range"
13617 }
13618 ]
13619 }
13620 }
13621 },
13622 "scope_resolution_template_call_inner_generated": {
13623 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)*+)?(::)",
13624 "captures": {
13625 "1": {
13626 "patterns": [
13627 {
13628 "include": "#scope_resolution_template_call_inner_generated"
13629 }
13630 ]
13631 },
13632 "2": {
13633 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
13634 },
13635 "3": {
13636 "patterns": [
13637 {
13638 "include": "#template_call_range"
13639 }
13640 ]
13641 },
13642 "4": {},
13643 "5": {
13644 "name": "entity.name.scope-resolution.template.call.cpp"
13645 },
13646 "6": {
13647 "name": "meta.template.call.cpp",
13648 "patterns": [
13649 {
13650 "include": "#template_call_range"
13651 }
13652 ]
13653 },
13654 "7": {},
13655 "8": {
13656 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
13657 }
13658 }
13659 },
13660 "scope_resolution_template_definition": {
13661 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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*+",
13662 "captures": {
13663 "0": {
13664 "patterns": [
13665 {
13666 "include": "#scope_resolution_template_definition_inner_generated"
13667 }
13668 ]
13669 },
13670 "1": {
13671 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
13672 },
13673 "2": {
13674 "patterns": [
13675 {
13676 "include": "#template_call_range"
13677 }
13678 ]
13679 }
13680 }
13681 },
13682 "scope_resolution_template_definition_inner_generated": {
13683 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)*+)?(::)",
13684 "captures": {
13685 "1": {
13686 "patterns": [
13687 {
13688 "include": "#scope_resolution_template_definition_inner_generated"
13689 }
13690 ]
13691 },
13692 "2": {
13693 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
13694 },
13695 "3": {
13696 "patterns": [
13697 {
13698 "include": "#template_call_range"
13699 }
13700 ]
13701 },
13702 "4": {},
13703 "5": {
13704 "name": "entity.name.scope-resolution.template.definition.cpp"
13705 },
13706 "6": {
13707 "name": "meta.template.call.cpp",
13708 "patterns": [
13709 {
13710 "include": "#template_call_range"
13711 }
13712 ]
13713 },
13714 "7": {},
13715 "8": {
13716 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
13717 }
13718 }
13719 },
13720 "semicolon": {
13721 "match": ";",
13722 "name": "punctuation.terminator.statement.cpp"
13723 },
13724 "simple_type": {
13725 "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?: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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?",
13726 "captures": {
13727 "1": {
13728 "name": "meta.qualified_type.cpp",
13729 "patterns": [
13730 {
13731 "match": "::",
13732 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
13733 },
13734 {
13735 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
13736 "name": "storage.type.$0.cpp"
13737 },
13738 {
13739 "include": "#attributes_context"
13740 },
13741 {
13742 "include": "#storage_types"
13743 },
13744 {
13745 "include": "#number_literal"
13746 },
13747 {
13748 "include": "#string_context"
13749 },
13750 {
13751 "include": "#comma"
13752 },
13753 {
13754 "include": "#scope_resolution_inner_generated"
13755 },
13756 {
13757 "begin": "<",
13758 "end": ">",
13759 "beginCaptures": {
13760 "0": {
13761 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
13762 }
13763 },
13764 "endCaptures": {
13765 "0": {
13766 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
13767 }
13768 },
13769 "name": "meta.template.call.cpp",
13770 "patterns": [
13771 {
13772 "include": "#template_call_context"
13773 }
13774 ]
13775 },
13776 {
13777 "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}))*",
13778 "name": "entity.name.type.cpp"
13779 }
13780 ]
13781 },
13782 "2": {
13783 "patterns": [
13784 {
13785 "include": "#attributes_context"
13786 },
13787 {
13788 "include": "#number_literal"
13789 }
13790 ]
13791 },
13792 "3": {
13793 "patterns": [
13794 {
13795 "include": "#inline_comment"
13796 }
13797 ]
13798 },
13799 "4": {
13800 "patterns": [
13801 {
13802 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13803 "captures": {
13804 "1": {
13805 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13806 },
13807 "2": {
13808 "name": "comment.block.cpp"
13809 },
13810 "3": {
13811 "patterns": [
13812 {
13813 "match": "\\*\\/",
13814 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13815 },
13816 {
13817 "match": "\\*",
13818 "name": "comment.block.cpp"
13819 }
13820 ]
13821 }
13822 }
13823 }
13824 ]
13825 },
13826 "5": {
13827 "patterns": [
13828 {
13829 "include": "#inline_comment"
13830 }
13831 ]
13832 },
13833 "6": {
13834 "patterns": [
13835 {
13836 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13837 "captures": {
13838 "1": {
13839 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13840 },
13841 "2": {
13842 "name": "comment.block.cpp"
13843 },
13844 "3": {
13845 "patterns": [
13846 {
13847 "match": "\\*\\/",
13848 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13849 },
13850 {
13851 "match": "\\*",
13852 "name": "comment.block.cpp"
13853 }
13854 ]
13855 }
13856 }
13857 }
13858 ]
13859 },
13860 "7": {
13861 "patterns": [
13862 {
13863 "match": "::",
13864 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
13865 },
13866 {
13867 "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)",
13868 "name": "entity.name.scope-resolution.type.cpp"
13869 },
13870 {
13871 "include": "#template_call_range"
13872 }
13873 ]
13874 },
13875 "8": {
13876 "patterns": [
13877 {
13878 "include": "#template_call_range"
13879 }
13880 ]
13881 },
13882 "9": {},
13883 "10": {
13884 "patterns": [
13885 {
13886 "include": "#inline_comment"
13887 }
13888 ]
13889 },
13890 "11": {
13891 "patterns": [
13892 {
13893 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13894 "captures": {
13895 "1": {
13896 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13897 },
13898 "2": {
13899 "name": "comment.block.cpp"
13900 },
13901 "3": {
13902 "patterns": [
13903 {
13904 "match": "\\*\\/",
13905 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13906 },
13907 {
13908 "match": "\\*",
13909 "name": "comment.block.cpp"
13910 }
13911 ]
13912 }
13913 }
13914 }
13915 ]
13916 },
13917 "12": {},
13918 "13": {
13919 "patterns": [
13920 {
13921 "match": "\\*",
13922 "name": "storage.modifier.pointer.cpp"
13923 },
13924 {
13925 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
13926 "captures": {
13927 "1": {
13928 "patterns": [
13929 {
13930 "include": "#inline_comment"
13931 }
13932 ]
13933 },
13934 "2": {
13935 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13936 },
13937 "3": {
13938 "name": "comment.block.cpp"
13939 },
13940 "4": {
13941 "patterns": [
13942 {
13943 "match": "\\*\\/",
13944 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13945 },
13946 {
13947 "match": "\\*",
13948 "name": "comment.block.cpp"
13949 }
13950 ]
13951 }
13952 },
13953 "name": "invalid.illegal.reference-type.cpp"
13954 },
13955 {
13956 "match": "\\&",
13957 "name": "storage.modifier.reference.cpp"
13958 }
13959 ]
13960 },
13961 "14": {
13962 "patterns": [
13963 {
13964 "include": "#inline_comment"
13965 }
13966 ]
13967 },
13968 "15": {
13969 "patterns": [
13970 {
13971 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13972 "captures": {
13973 "1": {
13974 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13975 },
13976 "2": {
13977 "name": "comment.block.cpp"
13978 },
13979 "3": {
13980 "patterns": [
13981 {
13982 "match": "\\*\\/",
13983 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13984 },
13985 {
13986 "match": "\\*",
13987 "name": "comment.block.cpp"
13988 }
13989 ]
13990 }
13991 }
13992 }
13993 ]
13994 },
13995 "16": {
13996 "patterns": [
13997 {
13998 "include": "#inline_comment"
13999 }
14000 ]
14001 },
14002 "17": {
14003 "patterns": [
14004 {
14005 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14006 "captures": {
14007 "1": {
14008 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14009 },
14010 "2": {
14011 "name": "comment.block.cpp"
14012 },
14013 "3": {
14014 "patterns": [
14015 {
14016 "match": "\\*\\/",
14017 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14018 },
14019 {
14020 "match": "\\*",
14021 "name": "comment.block.cpp"
14022 }
14023 ]
14024 }
14025 }
14026 }
14027 ]
14028 }
14029 }
14030 },
14031 "single_line_macro": {
14032 "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))#define.*(?<![\\\\])(?:(?:\\n)|$)",
14033 "captures": {
14034 "0": {
14035 "patterns": [
14036 {
14037 "include": "#macro"
14038 },
14039 {
14040 "include": "#comments"
14041 }
14042 ]
14043 },
14044 "1": {
14045 "patterns": [
14046 {
14047 "include": "#inline_comment"
14048 }
14049 ]
14050 },
14051 "2": {
14052 "patterns": [
14053 {
14054 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14055 "captures": {
14056 "1": {
14057 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14058 },
14059 "2": {
14060 "name": "comment.block.cpp"
14061 },
14062 "3": {
14063 "patterns": [
14064 {
14065 "match": "\\*\\/",
14066 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14067 },
14068 {
14069 "match": "\\*",
14070 "name": "comment.block.cpp"
14071 }
14072 ]
14073 }
14074 }
14075 }
14076 ]
14077 }
14078 }
14079 },
14080 "sizeof_operator": {
14081 "begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
14082 "end": "\\)",
14083 "beginCaptures": {
14084 "1": {
14085 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
14086 },
14087 "2": {
14088 "patterns": [
14089 {
14090 "include": "#inline_comment"
14091 }
14092 ]
14093 },
14094 "3": {
14095 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14096 },
14097 "4": {
14098 "name": "comment.block.cpp"
14099 },
14100 "5": {
14101 "patterns": [
14102 {
14103 "match": "\\*\\/",
14104 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14105 },
14106 {
14107 "match": "\\*",
14108 "name": "comment.block.cpp"
14109 }
14110 ]
14111 },
14112 "6": {
14113 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
14114 }
14115 },
14116 "endCaptures": {
14117 "0": {
14118 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
14119 }
14120 },
14121 "contentName": "meta.arguments.operator.sizeof",
14122 "patterns": [
14123 {
14124 "include": "#evaluation_context"
14125 }
14126 ]
14127 },
14128 "sizeof_variadic_operator": {
14129 "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
14130 "end": "\\)",
14131 "beginCaptures": {
14132 "1": {
14133 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
14134 },
14135 "2": {
14136 "patterns": [
14137 {
14138 "include": "#inline_comment"
14139 }
14140 ]
14141 },
14142 "3": {
14143 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14144 },
14145 "4": {
14146 "name": "comment.block.cpp"
14147 },
14148 "5": {
14149 "patterns": [
14150 {
14151 "match": "\\*\\/",
14152 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14153 },
14154 {
14155 "match": "\\*",
14156 "name": "comment.block.cpp"
14157 }
14158 ]
14159 },
14160 "6": {
14161 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
14162 }
14163 },
14164 "endCaptures": {
14165 "0": {
14166 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
14167 }
14168 },
14169 "contentName": "meta.arguments.operator.sizeof.variadic",
14170 "patterns": [
14171 {
14172 "include": "#evaluation_context"
14173 }
14174 ]
14175 },
14176 "square_brackets": {
14177 "name": "meta.bracket.square.access",
14178 "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",
14179 "beginCaptures": {
14180 "1": {
14181 "name": "variable.other.object"
14182 },
14183 "2": {
14184 "name": "punctuation.definition.begin.bracket.square"
14185 }
14186 },
14187 "end": "\\]",
14188 "endCaptures": {
14189 "0": {
14190 "name": "punctuation.definition.end.bracket.square"
14191 }
14192 },
14193 "patterns": [
14194 {
14195 "include": "#evaluation_context"
14196 }
14197 ]
14198 },
14199 "standard_declares": {
14200 "patterns": [
14201 {
14202 "match": "((?<!\\w)struct(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
14203 "captures": {
14204 "1": {
14205 "name": "storage.type.struct.declare.cpp"
14206 },
14207 "2": {
14208 "patterns": [
14209 {
14210 "include": "#inline_comment"
14211 }
14212 ]
14213 },
14214 "3": {
14215 "patterns": [
14216 {
14217 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14218 "captures": {
14219 "1": {
14220 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14221 },
14222 "2": {
14223 "name": "comment.block.cpp"
14224 },
14225 "3": {
14226 "patterns": [
14227 {
14228 "match": "\\*\\/",
14229 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14230 },
14231 {
14232 "match": "\\*",
14233 "name": "comment.block.cpp"
14234 }
14235 ]
14236 }
14237 }
14238 }
14239 ]
14240 },
14241 "4": {
14242 "name": "entity.name.type.struct.cpp"
14243 },
14244 "5": {
14245 "patterns": [
14246 {
14247 "match": "\\*",
14248 "name": "storage.modifier.pointer.cpp"
14249 },
14250 {
14251 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
14252 "captures": {
14253 "1": {
14254 "patterns": [
14255 {
14256 "include": "#inline_comment"
14257 }
14258 ]
14259 },
14260 "2": {
14261 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14262 },
14263 "3": {
14264 "name": "comment.block.cpp"
14265 },
14266 "4": {
14267 "patterns": [
14268 {
14269 "match": "\\*\\/",
14270 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14271 },
14272 {
14273 "match": "\\*",
14274 "name": "comment.block.cpp"
14275 }
14276 ]
14277 }
14278 },
14279 "name": "invalid.illegal.reference-type.cpp"
14280 },
14281 {
14282 "match": "\\&",
14283 "name": "storage.modifier.reference.cpp"
14284 }
14285 ]
14286 },
14287 "6": {
14288 "patterns": [
14289 {
14290 "include": "#inline_comment"
14291 }
14292 ]
14293 },
14294 "7": {
14295 "patterns": [
14296 {
14297 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14298 "captures": {
14299 "1": {
14300 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14301 },
14302 "2": {
14303 "name": "comment.block.cpp"
14304 },
14305 "3": {
14306 "patterns": [
14307 {
14308 "match": "\\*\\/",
14309 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14310 },
14311 {
14312 "match": "\\*",
14313 "name": "comment.block.cpp"
14314 }
14315 ]
14316 }
14317 }
14318 }
14319 ]
14320 },
14321 "8": {
14322 "patterns": [
14323 {
14324 "include": "#inline_comment"
14325 }
14326 ]
14327 },
14328 "9": {
14329 "patterns": [
14330 {
14331 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14332 "captures": {
14333 "1": {
14334 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14335 },
14336 "2": {
14337 "name": "comment.block.cpp"
14338 },
14339 "3": {
14340 "patterns": [
14341 {
14342 "match": "\\*\\/",
14343 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14344 },
14345 {
14346 "match": "\\*",
14347 "name": "comment.block.cpp"
14348 }
14349 ]
14350 }
14351 }
14352 }
14353 ]
14354 },
14355 "10": {
14356 "patterns": [
14357 {
14358 "include": "#inline_comment"
14359 }
14360 ]
14361 },
14362 "11": {
14363 "patterns": [
14364 {
14365 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14366 "captures": {
14367 "1": {
14368 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14369 },
14370 "2": {
14371 "name": "comment.block.cpp"
14372 },
14373 "3": {
14374 "patterns": [
14375 {
14376 "match": "\\*\\/",
14377 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14378 },
14379 {
14380 "match": "\\*",
14381 "name": "comment.block.cpp"
14382 }
14383 ]
14384 }
14385 }
14386 }
14387 ]
14388 },
14389 "12": {
14390 "name": "variable.other.object.declare.cpp"
14391 },
14392 "13": {
14393 "patterns": [
14394 {
14395 "include": "#inline_comment"
14396 }
14397 ]
14398 },
14399 "14": {
14400 "patterns": [
14401 {
14402 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14403 "captures": {
14404 "1": {
14405 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14406 },
14407 "2": {
14408 "name": "comment.block.cpp"
14409 },
14410 "3": {
14411 "patterns": [
14412 {
14413 "match": "\\*\\/",
14414 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14415 },
14416 {
14417 "match": "\\*",
14418 "name": "comment.block.cpp"
14419 }
14420 ]
14421 }
14422 }
14423 }
14424 ]
14425 }
14426 }
14427 },
14428 {
14429 "match": "((?<!\\w)union(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
14430 "captures": {
14431 "1": {
14432 "name": "storage.type.union.declare.cpp"
14433 },
14434 "2": {
14435 "patterns": [
14436 {
14437 "include": "#inline_comment"
14438 }
14439 ]
14440 },
14441 "3": {
14442 "patterns": [
14443 {
14444 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14445 "captures": {
14446 "1": {
14447 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14448 },
14449 "2": {
14450 "name": "comment.block.cpp"
14451 },
14452 "3": {
14453 "patterns": [
14454 {
14455 "match": "\\*\\/",
14456 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14457 },
14458 {
14459 "match": "\\*",
14460 "name": "comment.block.cpp"
14461 }
14462 ]
14463 }
14464 }
14465 }
14466 ]
14467 },
14468 "4": {
14469 "name": "entity.name.type.union.cpp"
14470 },
14471 "5": {
14472 "patterns": [
14473 {
14474 "match": "\\*",
14475 "name": "storage.modifier.pointer.cpp"
14476 },
14477 {
14478 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
14479 "captures": {
14480 "1": {
14481 "patterns": [
14482 {
14483 "include": "#inline_comment"
14484 }
14485 ]
14486 },
14487 "2": {
14488 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14489 },
14490 "3": {
14491 "name": "comment.block.cpp"
14492 },
14493 "4": {
14494 "patterns": [
14495 {
14496 "match": "\\*\\/",
14497 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14498 },
14499 {
14500 "match": "\\*",
14501 "name": "comment.block.cpp"
14502 }
14503 ]
14504 }
14505 },
14506 "name": "invalid.illegal.reference-type.cpp"
14507 },
14508 {
14509 "match": "\\&",
14510 "name": "storage.modifier.reference.cpp"
14511 }
14512 ]
14513 },
14514 "6": {
14515 "patterns": [
14516 {
14517 "include": "#inline_comment"
14518 }
14519 ]
14520 },
14521 "7": {
14522 "patterns": [
14523 {
14524 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14525 "captures": {
14526 "1": {
14527 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14528 },
14529 "2": {
14530 "name": "comment.block.cpp"
14531 },
14532 "3": {
14533 "patterns": [
14534 {
14535 "match": "\\*\\/",
14536 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14537 },
14538 {
14539 "match": "\\*",
14540 "name": "comment.block.cpp"
14541 }
14542 ]
14543 }
14544 }
14545 }
14546 ]
14547 },
14548 "8": {
14549 "patterns": [
14550 {
14551 "include": "#inline_comment"
14552 }
14553 ]
14554 },
14555 "9": {
14556 "patterns": [
14557 {
14558 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14559 "captures": {
14560 "1": {
14561 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14562 },
14563 "2": {
14564 "name": "comment.block.cpp"
14565 },
14566 "3": {
14567 "patterns": [
14568 {
14569 "match": "\\*\\/",
14570 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14571 },
14572 {
14573 "match": "\\*",
14574 "name": "comment.block.cpp"
14575 }
14576 ]
14577 }
14578 }
14579 }
14580 ]
14581 },
14582 "10": {
14583 "patterns": [
14584 {
14585 "include": "#inline_comment"
14586 }
14587 ]
14588 },
14589 "11": {
14590 "patterns": [
14591 {
14592 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14593 "captures": {
14594 "1": {
14595 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14596 },
14597 "2": {
14598 "name": "comment.block.cpp"
14599 },
14600 "3": {
14601 "patterns": [
14602 {
14603 "match": "\\*\\/",
14604 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14605 },
14606 {
14607 "match": "\\*",
14608 "name": "comment.block.cpp"
14609 }
14610 ]
14611 }
14612 }
14613 }
14614 ]
14615 },
14616 "12": {
14617 "name": "variable.other.object.declare.cpp"
14618 },
14619 "13": {
14620 "patterns": [
14621 {
14622 "include": "#inline_comment"
14623 }
14624 ]
14625 },
14626 "14": {
14627 "patterns": [
14628 {
14629 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14630 "captures": {
14631 "1": {
14632 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14633 },
14634 "2": {
14635 "name": "comment.block.cpp"
14636 },
14637 "3": {
14638 "patterns": [
14639 {
14640 "match": "\\*\\/",
14641 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14642 },
14643 {
14644 "match": "\\*",
14645 "name": "comment.block.cpp"
14646 }
14647 ]
14648 }
14649 }
14650 }
14651 ]
14652 }
14653 }
14654 },
14655 {
14656 "match": "((?<!\\w)enum(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
14657 "captures": {
14658 "1": {
14659 "name": "storage.type.enum.declare.cpp"
14660 },
14661 "2": {
14662 "patterns": [
14663 {
14664 "include": "#inline_comment"
14665 }
14666 ]
14667 },
14668 "3": {
14669 "patterns": [
14670 {
14671 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14672 "captures": {
14673 "1": {
14674 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14675 },
14676 "2": {
14677 "name": "comment.block.cpp"
14678 },
14679 "3": {
14680 "patterns": [
14681 {
14682 "match": "\\*\\/",
14683 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14684 },
14685 {
14686 "match": "\\*",
14687 "name": "comment.block.cpp"
14688 }
14689 ]
14690 }
14691 }
14692 }
14693 ]
14694 },
14695 "4": {
14696 "name": "entity.name.type.enum.cpp"
14697 },
14698 "5": {
14699 "patterns": [
14700 {
14701 "match": "\\*",
14702 "name": "storage.modifier.pointer.cpp"
14703 },
14704 {
14705 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
14706 "captures": {
14707 "1": {
14708 "patterns": [
14709 {
14710 "include": "#inline_comment"
14711 }
14712 ]
14713 },
14714 "2": {
14715 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14716 },
14717 "3": {
14718 "name": "comment.block.cpp"
14719 },
14720 "4": {
14721 "patterns": [
14722 {
14723 "match": "\\*\\/",
14724 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14725 },
14726 {
14727 "match": "\\*",
14728 "name": "comment.block.cpp"
14729 }
14730 ]
14731 }
14732 },
14733 "name": "invalid.illegal.reference-type.cpp"
14734 },
14735 {
14736 "match": "\\&",
14737 "name": "storage.modifier.reference.cpp"
14738 }
14739 ]
14740 },
14741 "6": {
14742 "patterns": [
14743 {
14744 "include": "#inline_comment"
14745 }
14746 ]
14747 },
14748 "7": {
14749 "patterns": [
14750 {
14751 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14752 "captures": {
14753 "1": {
14754 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14755 },
14756 "2": {
14757 "name": "comment.block.cpp"
14758 },
14759 "3": {
14760 "patterns": [
14761 {
14762 "match": "\\*\\/",
14763 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14764 },
14765 {
14766 "match": "\\*",
14767 "name": "comment.block.cpp"
14768 }
14769 ]
14770 }
14771 }
14772 }
14773 ]
14774 },
14775 "8": {
14776 "patterns": [
14777 {
14778 "include": "#inline_comment"
14779 }
14780 ]
14781 },
14782 "9": {
14783 "patterns": [
14784 {
14785 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14786 "captures": {
14787 "1": {
14788 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14789 },
14790 "2": {
14791 "name": "comment.block.cpp"
14792 },
14793 "3": {
14794 "patterns": [
14795 {
14796 "match": "\\*\\/",
14797 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14798 },
14799 {
14800 "match": "\\*",
14801 "name": "comment.block.cpp"
14802 }
14803 ]
14804 }
14805 }
14806 }
14807 ]
14808 },
14809 "10": {
14810 "patterns": [
14811 {
14812 "include": "#inline_comment"
14813 }
14814 ]
14815 },
14816 "11": {
14817 "patterns": [
14818 {
14819 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14820 "captures": {
14821 "1": {
14822 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14823 },
14824 "2": {
14825 "name": "comment.block.cpp"
14826 },
14827 "3": {
14828 "patterns": [
14829 {
14830 "match": "\\*\\/",
14831 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14832 },
14833 {
14834 "match": "\\*",
14835 "name": "comment.block.cpp"
14836 }
14837 ]
14838 }
14839 }
14840 }
14841 ]
14842 },
14843 "12": {
14844 "name": "variable.other.object.declare.cpp"
14845 },
14846 "13": {
14847 "patterns": [
14848 {
14849 "include": "#inline_comment"
14850 }
14851 ]
14852 },
14853 "14": {
14854 "patterns": [
14855 {
14856 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14857 "captures": {
14858 "1": {
14859 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14860 },
14861 "2": {
14862 "name": "comment.block.cpp"
14863 },
14864 "3": {
14865 "patterns": [
14866 {
14867 "match": "\\*\\/",
14868 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14869 },
14870 {
14871 "match": "\\*",
14872 "name": "comment.block.cpp"
14873 }
14874 ]
14875 }
14876 }
14877 }
14878 ]
14879 }
14880 }
14881 },
14882 {
14883 "match": "((?<!\\w)class(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
14884 "captures": {
14885 "1": {
14886 "name": "storage.type.class.declare.cpp"
14887 },
14888 "2": {
14889 "patterns": [
14890 {
14891 "include": "#inline_comment"
14892 }
14893 ]
14894 },
14895 "3": {
14896 "patterns": [
14897 {
14898 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14899 "captures": {
14900 "1": {
14901 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14902 },
14903 "2": {
14904 "name": "comment.block.cpp"
14905 },
14906 "3": {
14907 "patterns": [
14908 {
14909 "match": "\\*\\/",
14910 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14911 },
14912 {
14913 "match": "\\*",
14914 "name": "comment.block.cpp"
14915 }
14916 ]
14917 }
14918 }
14919 }
14920 ]
14921 },
14922 "4": {
14923 "name": "entity.name.type.class.cpp"
14924 },
14925 "5": {
14926 "patterns": [
14927 {
14928 "match": "\\*",
14929 "name": "storage.modifier.pointer.cpp"
14930 },
14931 {
14932 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
14933 "captures": {
14934 "1": {
14935 "patterns": [
14936 {
14937 "include": "#inline_comment"
14938 }
14939 ]
14940 },
14941 "2": {
14942 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14943 },
14944 "3": {
14945 "name": "comment.block.cpp"
14946 },
14947 "4": {
14948 "patterns": [
14949 {
14950 "match": "\\*\\/",
14951 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14952 },
14953 {
14954 "match": "\\*",
14955 "name": "comment.block.cpp"
14956 }
14957 ]
14958 }
14959 },
14960 "name": "invalid.illegal.reference-type.cpp"
14961 },
14962 {
14963 "match": "\\&",
14964 "name": "storage.modifier.reference.cpp"
14965 }
14966 ]
14967 },
14968 "6": {
14969 "patterns": [
14970 {
14971 "include": "#inline_comment"
14972 }
14973 ]
14974 },
14975 "7": {
14976 "patterns": [
14977 {
14978 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14979 "captures": {
14980 "1": {
14981 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14982 },
14983 "2": {
14984 "name": "comment.block.cpp"
14985 },
14986 "3": {
14987 "patterns": [
14988 {
14989 "match": "\\*\\/",
14990 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14991 },
14992 {
14993 "match": "\\*",
14994 "name": "comment.block.cpp"
14995 }
14996 ]
14997 }
14998 }
14999 }
15000 ]
15001 },
15002 "8": {
15003 "patterns": [
15004 {
15005 "include": "#inline_comment"
15006 }
15007 ]
15008 },
15009 "9": {
15010 "patterns": [
15011 {
15012 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15013 "captures": {
15014 "1": {
15015 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15016 },
15017 "2": {
15018 "name": "comment.block.cpp"
15019 },
15020 "3": {
15021 "patterns": [
15022 {
15023 "match": "\\*\\/",
15024 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15025 },
15026 {
15027 "match": "\\*",
15028 "name": "comment.block.cpp"
15029 }
15030 ]
15031 }
15032 }
15033 }
15034 ]
15035 },
15036 "10": {
15037 "patterns": [
15038 {
15039 "include": "#inline_comment"
15040 }
15041 ]
15042 },
15043 "11": {
15044 "patterns": [
15045 {
15046 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15047 "captures": {
15048 "1": {
15049 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15050 },
15051 "2": {
15052 "name": "comment.block.cpp"
15053 },
15054 "3": {
15055 "patterns": [
15056 {
15057 "match": "\\*\\/",
15058 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15059 },
15060 {
15061 "match": "\\*",
15062 "name": "comment.block.cpp"
15063 }
15064 ]
15065 }
15066 }
15067 }
15068 ]
15069 },
15070 "12": {
15071 "name": "variable.other.object.declare.cpp"
15072 },
15073 "13": {
15074 "patterns": [
15075 {
15076 "include": "#inline_comment"
15077 }
15078 ]
15079 },
15080 "14": {
15081 "patterns": [
15082 {
15083 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15084 "captures": {
15085 "1": {
15086 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15087 },
15088 "2": {
15089 "name": "comment.block.cpp"
15090 },
15091 "3": {
15092 "patterns": [
15093 {
15094 "match": "\\*\\/",
15095 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15096 },
15097 {
15098 "match": "\\*",
15099 "name": "comment.block.cpp"
15100 }
15101 ]
15102 }
15103 }
15104 }
15105 ]
15106 }
15107 }
15108 }
15109 ]
15110 },
15111 "static_assert": {
15112 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)static_assert|_Static_assert(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
15113 "end": "\\)",
15114 "beginCaptures": {
15115 "1": {
15116 "patterns": [
15117 {
15118 "include": "#inline_comment"
15119 }
15120 ]
15121 },
15122 "2": {
15123 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15124 },
15125 "3": {
15126 "name": "comment.block.cpp"
15127 },
15128 "4": {
15129 "patterns": [
15130 {
15131 "match": "\\*\\/",
15132 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15133 },
15134 {
15135 "match": "\\*",
15136 "name": "comment.block.cpp"
15137 }
15138 ]
15139 },
15140 "5": {
15141 "name": "keyword.other.static_assert.cpp"
15142 },
15143 "6": {
15144 "patterns": [
15145 {
15146 "include": "#inline_comment"
15147 }
15148 ]
15149 },
15150 "7": {
15151 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15152 },
15153 "8": {
15154 "name": "comment.block.cpp"
15155 },
15156 "9": {
15157 "patterns": [
15158 {
15159 "match": "\\*\\/",
15160 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15161 },
15162 {
15163 "match": "\\*",
15164 "name": "comment.block.cpp"
15165 }
15166 ]
15167 },
15168 "10": {
15169 "name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp"
15170 }
15171 },
15172 "endCaptures": {
15173 "0": {
15174 "name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp"
15175 }
15176 },
15177 "patterns": [
15178 {
15179 "begin": "(,)(?:(?:\\s)+)?(?=(?:L|u8|u|U(?:(?:\\s)+)?\\\")?)",
15180 "end": "(?=\\))",
15181 "beginCaptures": {
15182 "1": {
15183 "name": "punctuation.separator.delimiter.comma.cpp"
15184 }
15185 },
15186 "endCaptures": {},
15187 "name": "meta.static_assert.message.cpp",
15188 "patterns": [
15189 {
15190 "include": "#string_context"
15191 }
15192 ]
15193 },
15194 {
15195 "include": "#evaluation_context"
15196 }
15197 ]
15198 },
15199 "std_space": {
15200 "match": "(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))",
15201 "captures": {
15202 "0": {
15203 "patterns": [
15204 {
15205 "include": "#inline_comment"
15206 }
15207 ]
15208 },
15209 "1": {
15210 "patterns": [
15211 {
15212 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15213 "captures": {
15214 "1": {
15215 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15216 },
15217 "2": {
15218 "name": "comment.block.cpp"
15219 },
15220 "3": {
15221 "patterns": [
15222 {
15223 "match": "\\*\\/",
15224 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15225 },
15226 {
15227 "match": "\\*",
15228 "name": "comment.block.cpp"
15229 }
15230 ]
15231 }
15232 }
15233 }
15234 ]
15235 }
15236 }
15237 },
15238 "storage_specifiers": {
15239 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w))",
15240 "captures": {
15241 "1": {
15242 "patterns": [
15243 {
15244 "include": "#inline_comment"
15245 }
15246 ]
15247 },
15248 "2": {
15249 "patterns": [
15250 {
15251 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15252 "captures": {
15253 "1": {
15254 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15255 },
15256 "2": {
15257 "name": "comment.block.cpp"
15258 },
15259 "3": {
15260 "patterns": [
15261 {
15262 "match": "\\*\\/",
15263 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15264 },
15265 {
15266 "match": "\\*",
15267 "name": "comment.block.cpp"
15268 }
15269 ]
15270 }
15271 }
15272 }
15273 ]
15274 },
15275 "3": {
15276 "name": "storage.modifier.specifier.$3.cpp"
15277 }
15278 }
15279 },
15280 "storage_types": {
15281 "patterns": [
15282 {
15283 "include": "#storage_specifiers"
15284 },
15285 {
15286 "include": "#inline_builtin_storage_type"
15287 },
15288 {
15289 "include": "#decltype"
15290 },
15291 {
15292 "include": "#typename"
15293 }
15294 ]
15295 },
15296 "string_context": {
15297 "patterns": [
15298 {
15299 "begin": "((?:u|u8|U|L)?)\"",
15300 "end": "\"",
15301 "beginCaptures": {
15302 "0": {
15303 "name": "punctuation.definition.string.begin.cpp"
15304 },
15305 "1": {
15306 "name": "meta.encoding.cpp"
15307 }
15308 },
15309 "endCaptures": {
15310 "0": {
15311 "name": "punctuation.definition.string.end.cpp"
15312 }
15313 },
15314 "name": "string.quoted.double.cpp",
15315 "patterns": [
15316 {
15317 "match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})",
15318 "name": "constant.character.escape.cpp"
15319 },
15320 {
15321 "match": "\\\\['\"?\\\\abfnrtv]",
15322 "name": "constant.character.escape.cpp"
15323 },
15324 {
15325 "match": "\\\\[0-7]{1,3}",
15326 "name": "constant.character.escape.cpp"
15327 },
15328 {
15329 "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
15330 "captures": {
15331 "1": {
15332 "name": "constant.character.escape.cpp"
15333 },
15334 "2": {
15335 "name": "invalid.illegal.unknown-escape.cpp"
15336 }
15337 }
15338 },
15339 {
15340 "include": "#string_escapes_context_c"
15341 }
15342 ]
15343 },
15344 {
15345 "begin": "(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'",
15346 "end": "'",
15347 "beginCaptures": {
15348 "0": {
15349 "name": "punctuation.definition.string.begin.cpp"
15350 },
15351 "1": {
15352 "name": "meta.encoding.cpp"
15353 }
15354 },
15355 "endCaptures": {
15356 "0": {
15357 "name": "punctuation.definition.string.end.cpp"
15358 }
15359 },
15360 "name": "string.quoted.single.cpp",
15361 "patterns": [
15362 {
15363 "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
15364 "captures": {
15365 "1": {
15366 "name": "constant.character.escape.cpp"
15367 },
15368 "2": {
15369 "name": "invalid.illegal.unknown-escape.cpp"
15370 }
15371 }
15372 },
15373 {
15374 "include": "#string_escapes_context_c"
15375 },
15376 {
15377 "include": "#line_continuation_character"
15378 }
15379 ]
15380 },
15381 {
15382 "begin": "((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\(",
15383 "end": "\\)(?:(?:_r|re)|regex)\\\"",
15384 "beginCaptures": {
15385 "0": {
15386 "name": "punctuation.definition.string.begin.cpp"
15387 },
15388 "1": {
15389 "name": "meta.encoding.cpp"
15390 }
15391 },
15392 "endCaptures": {
15393 "0": {
15394 "name": "punctuation.definition.string.end.cpp"
15395 }
15396 },
15397 "name": "string.quoted.double.raw.regex.cpp",
15398 "patterns": [
15399 {
15400 "include": "source.regexp.python"
15401 }
15402 ]
15403 },
15404 {
15405 "begin": "((?:[uUL]8?)?R)\\\"(?:glsl|GLSL)\\(",
15406 "end": "\\)(?:glsl|GLSL)\\\"",
15407 "beginCaptures": {
15408 "0": {
15409 "name": "punctuation.definition.string.begin.cpp"
15410 },
15411 "1": {
15412 "name": "meta.encoding.cpp"
15413 }
15414 },
15415 "endCaptures": {
15416 "0": {
15417 "name": "punctuation.definition.string.end.cpp"
15418 }
15419 },
15420 "name": "meta.string.quoted.double.raw.glsl.cpp",
15421 "patterns": [
15422 {
15423 "include": "source.glsl"
15424 }
15425 ]
15426 },
15427 {
15428 "begin": "((?:[uUL]8?)?R)\\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(",
15429 "end": "\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\\"",
15430 "beginCaptures": {
15431 "0": {
15432 "name": "punctuation.definition.string.begin.cpp"
15433 },
15434 "1": {
15435 "name": "meta.encoding.cpp"
15436 }
15437 },
15438 "endCaptures": {
15439 "0": {
15440 "name": "punctuation.definition.string.end.cpp"
15441 }
15442 },
15443 "name": "meta.string.quoted.double.raw.sql.cpp",
15444 "patterns": [
15445 {
15446 "include": "source.sql"
15447 }
15448 ]
15449 },
15450 {
15451 "begin": "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(",
15452 "beginCaptures": {
15453 "0": {
15454 "name": "punctuation.definition.string.begin"
15455 },
15456 "1": {
15457 "name": "meta.encoding"
15458 },
15459 "3": {
15460 "name": "invalid.illegal.delimiter-too-long"
15461 }
15462 },
15463 "end": "\\)\\2(\\3)\"",
15464 "endCaptures": {
15465 "0": {
15466 "name": "punctuation.definition.string.end"
15467 },
15468 "1": {
15469 "name": "invalid.illegal.delimiter-too-long"
15470 }
15471 },
15472 "name": "string.quoted.double.raw"
15473 }
15474 ]
15475 },
15476 "string_escapes_context_c": {
15477 "patterns": [
15478 {
15479 "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} )",
15480 "name": "constant.character.escape"
15481 },
15482 {
15483 "match": "\\\\.",
15484 "name": "invalid.illegal.unknown-escape"
15485 },
15486 {
15487 "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",
15488 "name": "constant.other.placeholder"
15489 }
15490 ]
15491 },
15492 "struct_block": {
15493 "begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
15494 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
15495 "beginCaptures": {
15496 "0": {
15497 "name": "meta.head.struct.cpp"
15498 },
15499 "1": {
15500 "name": "storage.type.$1.cpp"
15501 },
15502 "2": {
15503 "patterns": [
15504 {
15505 "include": "#inline_comment"
15506 }
15507 ]
15508 },
15509 "3": {
15510 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15511 },
15512 "4": {
15513 "name": "comment.block.cpp"
15514 },
15515 "5": {
15516 "patterns": [
15517 {
15518 "match": "\\*\\/",
15519 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15520 },
15521 {
15522 "match": "\\*",
15523 "name": "comment.block.cpp"
15524 }
15525 ]
15526 },
15527 "6": {
15528 "patterns": [
15529 {
15530 "include": "#attributes_context"
15531 },
15532 {
15533 "include": "#number_literal"
15534 }
15535 ]
15536 },
15537 "7": {
15538 "patterns": [
15539 {
15540 "include": "#inline_comment"
15541 }
15542 ]
15543 },
15544 "8": {
15545 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15546 },
15547 "9": {
15548 "name": "comment.block.cpp"
15549 },
15550 "10": {
15551 "patterns": [
15552 {
15553 "match": "\\*\\/",
15554 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15555 },
15556 {
15557 "match": "\\*",
15558 "name": "comment.block.cpp"
15559 }
15560 ]
15561 },
15562 "11": {
15563 "patterns": [
15564 {
15565 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
15566 "captures": {
15567 "1": {
15568 "name": "storage.type.modifier.final.cpp"
15569 },
15570 "2": {
15571 "patterns": [
15572 {
15573 "include": "#inline_comment"
15574 }
15575 ]
15576 },
15577 "3": {
15578 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15579 },
15580 "4": {
15581 "name": "comment.block.cpp"
15582 },
15583 "5": {
15584 "patterns": [
15585 {
15586 "match": "\\*\\/",
15587 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15588 },
15589 {
15590 "match": "\\*",
15591 "name": "comment.block.cpp"
15592 }
15593 ]
15594 }
15595 }
15596 },
15597 {
15598 "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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
15599 "captures": {
15600 "1": {
15601 "name": "entity.name.type.struct.cpp"
15602 },
15603 "2": {
15604 "patterns": [
15605 {
15606 "include": "#inline_comment"
15607 }
15608 ]
15609 },
15610 "3": {
15611 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15612 },
15613 "4": {
15614 "name": "comment.block.cpp"
15615 },
15616 "5": {
15617 "patterns": [
15618 {
15619 "match": "\\*\\/",
15620 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15621 },
15622 {
15623 "match": "\\*",
15624 "name": "comment.block.cpp"
15625 }
15626 ]
15627 },
15628 "6": {
15629 "name": "storage.type.modifier.final.cpp"
15630 },
15631 "7": {
15632 "patterns": [
15633 {
15634 "include": "#inline_comment"
15635 }
15636 ]
15637 },
15638 "8": {
15639 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15640 },
15641 "9": {
15642 "name": "comment.block.cpp"
15643 },
15644 "10": {
15645 "patterns": [
15646 {
15647 "match": "\\*\\/",
15648 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15649 },
15650 {
15651 "match": "\\*",
15652 "name": "comment.block.cpp"
15653 }
15654 ]
15655 }
15656 }
15657 },
15658 {
15659 "match": "DLLEXPORT",
15660 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
15661 },
15662 {
15663 "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}))*",
15664 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
15665 }
15666 ]
15667 },
15668 "12": {
15669 "patterns": [
15670 {
15671 "include": "#inline_comment"
15672 }
15673 ]
15674 },
15675 "13": {
15676 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15677 },
15678 "14": {
15679 "name": "comment.block.cpp"
15680 },
15681 "15": {
15682 "patterns": [
15683 {
15684 "match": "\\*\\/",
15685 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15686 },
15687 {
15688 "match": "\\*",
15689 "name": "comment.block.cpp"
15690 }
15691 ]
15692 },
15693 "16": {
15694 "patterns": [
15695 {
15696 "include": "#inline_comment"
15697 }
15698 ]
15699 },
15700 "17": {
15701 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15702 },
15703 "18": {
15704 "name": "comment.block.cpp"
15705 },
15706 "19": {
15707 "patterns": [
15708 {
15709 "match": "\\*\\/",
15710 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15711 },
15712 {
15713 "match": "\\*",
15714 "name": "comment.block.cpp"
15715 }
15716 ]
15717 },
15718 "20": {
15719 "name": "punctuation.separator.colon.inheritance.cpp"
15720 }
15721 },
15722 "endCaptures": {
15723 "1": {
15724 "name": "punctuation.terminator.statement.cpp"
15725 },
15726 "2": {
15727 "name": "punctuation.terminator.statement.cpp"
15728 }
15729 },
15730 "name": "meta.block.struct.cpp",
15731 "patterns": [
15732 {
15733 "begin": "\\G ?",
15734 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
15735 "beginCaptures": {},
15736 "endCaptures": {
15737 "0": {
15738 "name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
15739 }
15740 },
15741 "name": "meta.head.struct.cpp",
15742 "patterns": [
15743 {
15744 "include": "#ever_present_context"
15745 },
15746 {
15747 "include": "#inheritance_context"
15748 },
15749 {
15750 "include": "#template_call_range"
15751 }
15752 ]
15753 },
15754 {
15755 "begin": "(?<=\\{|<%|\\?\\?<)",
15756 "end": "\\}|%>|\\?\\?>",
15757 "beginCaptures": {},
15758 "endCaptures": {
15759 "0": {
15760 "name": "punctuation.section.block.end.bracket.curly.struct.cpp"
15761 }
15762 },
15763 "name": "meta.body.struct.cpp",
15764 "patterns": [
15765 {
15766 "include": "#function_pointer"
15767 },
15768 {
15769 "include": "#static_assert"
15770 },
15771 {
15772 "include": "#constructor_inline"
15773 },
15774 {
15775 "include": "#destructor_inline"
15776 },
15777 {
15778 "include": "$self"
15779 }
15780 ]
15781 },
15782 {
15783 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
15784 "end": "[\\s]*(?=;)",
15785 "beginCaptures": {},
15786 "endCaptures": {},
15787 "name": "meta.tail.struct.cpp",
15788 "patterns": [
15789 {
15790 "include": "$self"
15791 }
15792 ]
15793 }
15794 ]
15795 },
15796 "struct_declare": {
15797 "match": "((?<!\\w)struct(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
15798 "captures": {
15799 "1": {
15800 "name": "storage.type.struct.declare.cpp"
15801 },
15802 "2": {
15803 "patterns": [
15804 {
15805 "include": "#inline_comment"
15806 }
15807 ]
15808 },
15809 "3": {
15810 "patterns": [
15811 {
15812 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15813 "captures": {
15814 "1": {
15815 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15816 },
15817 "2": {
15818 "name": "comment.block.cpp"
15819 },
15820 "3": {
15821 "patterns": [
15822 {
15823 "match": "\\*\\/",
15824 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15825 },
15826 {
15827 "match": "\\*",
15828 "name": "comment.block.cpp"
15829 }
15830 ]
15831 }
15832 }
15833 }
15834 ]
15835 },
15836 "4": {
15837 "name": "entity.name.type.struct.cpp"
15838 },
15839 "5": {
15840 "patterns": [
15841 {
15842 "match": "\\*",
15843 "name": "storage.modifier.pointer.cpp"
15844 },
15845 {
15846 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
15847 "captures": {
15848 "1": {
15849 "patterns": [
15850 {
15851 "include": "#inline_comment"
15852 }
15853 ]
15854 },
15855 "2": {
15856 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15857 },
15858 "3": {
15859 "name": "comment.block.cpp"
15860 },
15861 "4": {
15862 "patterns": [
15863 {
15864 "match": "\\*\\/",
15865 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15866 },
15867 {
15868 "match": "\\*",
15869 "name": "comment.block.cpp"
15870 }
15871 ]
15872 }
15873 },
15874 "name": "invalid.illegal.reference-type.cpp"
15875 },
15876 {
15877 "match": "\\&",
15878 "name": "storage.modifier.reference.cpp"
15879 }
15880 ]
15881 },
15882 "6": {
15883 "patterns": [
15884 {
15885 "include": "#inline_comment"
15886 }
15887 ]
15888 },
15889 "7": {
15890 "patterns": [
15891 {
15892 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15893 "captures": {
15894 "1": {
15895 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15896 },
15897 "2": {
15898 "name": "comment.block.cpp"
15899 },
15900 "3": {
15901 "patterns": [
15902 {
15903 "match": "\\*\\/",
15904 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15905 },
15906 {
15907 "match": "\\*",
15908 "name": "comment.block.cpp"
15909 }
15910 ]
15911 }
15912 }
15913 }
15914 ]
15915 },
15916 "8": {
15917 "patterns": [
15918 {
15919 "include": "#inline_comment"
15920 }
15921 ]
15922 },
15923 "9": {
15924 "patterns": [
15925 {
15926 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15927 "captures": {
15928 "1": {
15929 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15930 },
15931 "2": {
15932 "name": "comment.block.cpp"
15933 },
15934 "3": {
15935 "patterns": [
15936 {
15937 "match": "\\*\\/",
15938 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15939 },
15940 {
15941 "match": "\\*",
15942 "name": "comment.block.cpp"
15943 }
15944 ]
15945 }
15946 }
15947 }
15948 ]
15949 },
15950 "10": {
15951 "patterns": [
15952 {
15953 "include": "#inline_comment"
15954 }
15955 ]
15956 },
15957 "11": {
15958 "patterns": [
15959 {
15960 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15961 "captures": {
15962 "1": {
15963 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15964 },
15965 "2": {
15966 "name": "comment.block.cpp"
15967 },
15968 "3": {
15969 "patterns": [
15970 {
15971 "match": "\\*\\/",
15972 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15973 },
15974 {
15975 "match": "\\*",
15976 "name": "comment.block.cpp"
15977 }
15978 ]
15979 }
15980 }
15981 }
15982 ]
15983 },
15984 "12": {
15985 "name": "variable.other.object.declare.cpp"
15986 },
15987 "13": {
15988 "patterns": [
15989 {
15990 "include": "#inline_comment"
15991 }
15992 ]
15993 },
15994 "14": {
15995 "patterns": [
15996 {
15997 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15998 "captures": {
15999 "1": {
16000 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16001 },
16002 "2": {
16003 "name": "comment.block.cpp"
16004 },
16005 "3": {
16006 "patterns": [
16007 {
16008 "match": "\\*\\/",
16009 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16010 },
16011 {
16012 "match": "\\*",
16013 "name": "comment.block.cpp"
16014 }
16015 ]
16016 }
16017 }
16018 }
16019 ]
16020 }
16021 }
16022 },
16023 "switch_conditional_parentheses": {
16024 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
16025 "end": "\\)",
16026 "beginCaptures": {
16027 "1": {
16028 "patterns": [
16029 {
16030 "include": "#inline_comment"
16031 }
16032 ]
16033 },
16034 "2": {
16035 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16036 },
16037 "3": {
16038 "name": "comment.block.cpp"
16039 },
16040 "4": {
16041 "patterns": [
16042 {
16043 "match": "\\*\\/",
16044 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16045 },
16046 {
16047 "match": "\\*",
16048 "name": "comment.block.cpp"
16049 }
16050 ]
16051 },
16052 "5": {
16053 "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"
16054 }
16055 },
16056 "endCaptures": {
16057 "0": {
16058 "name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp"
16059 }
16060 },
16061 "name": "meta.conditional.switch.cpp",
16062 "patterns": [
16063 {
16064 "include": "#evaluation_context"
16065 }
16066 ]
16067 },
16068 "switch_statement": {
16069 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)switch(?!\\w))",
16070 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
16071 "beginCaptures": {
16072 "0": {
16073 "name": "meta.head.switch.cpp"
16074 },
16075 "1": {
16076 "patterns": [
16077 {
16078 "include": "#inline_comment"
16079 }
16080 ]
16081 },
16082 "2": {
16083 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16084 },
16085 "3": {
16086 "name": "comment.block.cpp"
16087 },
16088 "4": {
16089 "patterns": [
16090 {
16091 "match": "\\*\\/",
16092 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16093 },
16094 {
16095 "match": "\\*",
16096 "name": "comment.block.cpp"
16097 }
16098 ]
16099 },
16100 "5": {
16101 "name": "keyword.control.switch.cpp"
16102 }
16103 },
16104 "endCaptures": {},
16105 "name": "meta.block.switch.cpp",
16106 "patterns": [
16107 {
16108 "begin": "\\G ?",
16109 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
16110 "beginCaptures": {},
16111 "endCaptures": {
16112 "0": {
16113 "name": "punctuation.section.block.begin.bracket.curly.switch.cpp"
16114 }
16115 },
16116 "name": "meta.head.switch.cpp",
16117 "patterns": [
16118 {
16119 "include": "#switch_conditional_parentheses"
16120 },
16121 {
16122 "include": "$self"
16123 }
16124 ]
16125 },
16126 {
16127 "begin": "(?<=\\{|<%|\\?\\?<)",
16128 "end": "\\}|%>|\\?\\?>",
16129 "beginCaptures": {},
16130 "endCaptures": {
16131 "0": {
16132 "name": "punctuation.section.block.end.bracket.curly.switch.cpp"
16133 }
16134 },
16135 "name": "meta.body.switch.cpp",
16136 "patterns": [
16137 {
16138 "include": "#default_statement"
16139 },
16140 {
16141 "include": "#case_statement"
16142 },
16143 {
16144 "include": "$self"
16145 }
16146 ]
16147 },
16148 {
16149 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
16150 "end": "[\\s]*(?=;)",
16151 "beginCaptures": {},
16152 "endCaptures": {},
16153 "name": "meta.tail.switch.cpp",
16154 "patterns": [
16155 {
16156 "include": "$self"
16157 }
16158 ]
16159 }
16160 ]
16161 },
16162 "template_argument_defaulted": {
16163 "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)+)?([=])",
16164 "captures": {
16165 "1": {
16166 "name": "storage.type.template.cpp"
16167 },
16168 "2": {
16169 "name": "entity.name.type.template.cpp"
16170 },
16171 "3": {
16172 "name": "keyword.operator.assignment.cpp"
16173 }
16174 }
16175 },
16176 "template_call_context": {
16177 "patterns": [
16178 {
16179 "include": "#ever_present_context"
16180 },
16181 {
16182 "include": "#template_call_range"
16183 },
16184 {
16185 "include": "#storage_types"
16186 },
16187 {
16188 "include": "#language_constants"
16189 },
16190 {
16191 "include": "#scope_resolution_template_call_inner_generated"
16192 },
16193 {
16194 "include": "#operators"
16195 },
16196 {
16197 "include": "#number_literal"
16198 },
16199 {
16200 "include": "#string_context"
16201 },
16202 {
16203 "include": "#comma_in_template_argument"
16204 },
16205 {
16206 "include": "#qualified_type"
16207 }
16208 ]
16209 },
16210 "template_call_innards": {
16211 "match": "((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<1>?)+>)(?:\\s)*+",
16212 "captures": {
16213 "0": {
16214 "patterns": [
16215 {
16216 "include": "#template_call_range"
16217 }
16218 ]
16219 }
16220 },
16221 "name": "meta.template.call.cpp"
16222 },
16223 "template_call_range": {
16224 "begin": "<",
16225 "end": ">",
16226 "beginCaptures": {
16227 "0": {
16228 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
16229 }
16230 },
16231 "endCaptures": {
16232 "0": {
16233 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
16234 }
16235 },
16236 "name": "meta.template.call.cpp",
16237 "patterns": [
16238 {
16239 "include": "#template_call_context"
16240 }
16241 ]
16242 },
16243 "template_definition": {
16244 "begin": "(?<!\\w)(template)(?:(?:\\s)+)?(<)",
16245 "end": ">",
16246 "beginCaptures": {
16247 "1": {
16248 "name": "storage.type.template.cpp"
16249 },
16250 "2": {
16251 "name": "punctuation.section.angle-brackets.start.template.definition.cpp"
16252 }
16253 },
16254 "endCaptures": {
16255 "0": {
16256 "name": "punctuation.section.angle-brackets.end.template.definition.cpp"
16257 }
16258 },
16259 "name": "meta.template.definition.cpp",
16260 "patterns": [
16261 {
16262 "begin": "(?<=\\w)(?:(?:\\s)+)?<",
16263 "end": ">",
16264 "beginCaptures": {
16265 "0": {
16266 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
16267 }
16268 },
16269 "endCaptures": {
16270 "0": {
16271 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
16272 }
16273 },
16274 "patterns": [
16275 {
16276 "include": "#template_call_context"
16277 }
16278 ]
16279 },
16280 {
16281 "include": "#template_definition_context"
16282 }
16283 ]
16284 },
16285 "template_definition_argument": {
16286 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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}))*))(?:(?:\\s)+)?(?:(,)|(?=>|$))",
16287 "captures": {
16288 "1": {
16289 "patterns": [
16290 {
16291 "include": "#inline_comment"
16292 }
16293 ]
16294 },
16295 "2": {
16296 "patterns": [
16297 {
16298 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16299 "captures": {
16300 "1": {
16301 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16302 },
16303 "2": {
16304 "name": "comment.block.cpp"
16305 },
16306 "3": {
16307 "patterns": [
16308 {
16309 "match": "\\*\\/",
16310 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16311 },
16312 {
16313 "match": "\\*",
16314 "name": "comment.block.cpp"
16315 }
16316 ]
16317 }
16318 }
16319 }
16320 ]
16321 },
16322 "3": {
16323 "name": "storage.type.template.argument.$3.cpp"
16324 },
16325 "4": {
16326 "patterns": [
16327 {
16328 "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}))*",
16329 "name": "storage.type.template.argument.$0.cpp"
16330 }
16331 ]
16332 },
16333 "5": {
16334 "name": "entity.name.type.template.cpp"
16335 },
16336 "6": {
16337 "name": "storage.type.template.cpp"
16338 },
16339 "7": {
16340 "name": "punctuation.vararg-ellipses.template.definition.cpp"
16341 },
16342 "8": {
16343 "name": "entity.name.type.template.cpp"
16344 },
16345 "9": {
16346 "name": "punctuation.separator.delimiter.comma.template.argument.cpp"
16347 }
16348 }
16349 },
16350 "template_definition_context": {
16351 "patterns": [
16352 {
16353 "include": "#scope_resolution_template_definition_inner_generated"
16354 },
16355 {
16356 "include": "#template_definition_argument"
16357 },
16358 {
16359 "include": "#template_argument_defaulted"
16360 },
16361 {
16362 "include": "#template_call_innards"
16363 },
16364 {
16365 "include": "#evaluation_context"
16366 }
16367 ]
16368 },
16369 "template_isolated_definition": {
16370 "match": "(?<!\\w)(template)(?:(?:\\s)+)?(<)(.*)(>(?:(?:\\s)+)?$)",
16371 "captures": {
16372 "1": {
16373 "name": "storage.type.template.cpp"
16374 },
16375 "2": {
16376 "name": "punctuation.section.angle-brackets.start.template.definition.cpp"
16377 },
16378 "3": {
16379 "name": "meta.template.definition.cpp",
16380 "patterns": [
16381 {
16382 "include": "#template_definition_context"
16383 }
16384 ]
16385 },
16386 "4": {
16387 "name": "punctuation.section.angle-brackets.end.template.definition.cpp"
16388 }
16389 }
16390 },
16391 "ternary_operator": {
16392 "begin": "\\?",
16393 "end": ":",
16394 "beginCaptures": {
16395 "0": {
16396 "name": "keyword.operator.ternary.cpp"
16397 }
16398 },
16399 "endCaptures": {
16400 "0": {
16401 "name": "keyword.operator.ternary.cpp"
16402 }
16403 },
16404 "patterns": [
16405 {
16406 "include": "#ever_present_context"
16407 },
16408 {
16409 "include": "#string_context"
16410 },
16411 {
16412 "include": "#number_literal"
16413 },
16414 {
16415 "include": "#method_access"
16416 },
16417 {
16418 "include": "#member_access"
16419 },
16420 {
16421 "include": "#predefined_macros"
16422 },
16423 {
16424 "include": "#operators"
16425 },
16426 {
16427 "include": "#memory_operators"
16428 },
16429 {
16430 "include": "#wordlike_operators"
16431 },
16432 {
16433 "include": "#type_casting_operators"
16434 },
16435 {
16436 "include": "#control_flow_keywords"
16437 },
16438 {
16439 "include": "#exception_keywords"
16440 },
16441 {
16442 "include": "#the_this_keyword"
16443 },
16444 {
16445 "include": "#language_constants"
16446 },
16447 {
16448 "include": "#builtin_storage_type_initilizer"
16449 },
16450 {
16451 "include": "#qualifiers_and_specifiers_post_parameters"
16452 },
16453 {
16454 "include": "#functional_specifiers_pre_parameters"
16455 },
16456 {
16457 "include": "#storage_types"
16458 },
16459 {
16460 "include": "#lambdas"
16461 },
16462 {
16463 "include": "#attributes_context"
16464 },
16465 {
16466 "include": "#parentheses"
16467 },
16468 {
16469 "include": "#function_call"
16470 },
16471 {
16472 "include": "#scope_resolution_inner_generated"
16473 },
16474 {
16475 "include": "#square_brackets"
16476 },
16477 {
16478 "include": "#semicolon"
16479 },
16480 {
16481 "include": "#comma"
16482 }
16483 ],
16484 "applyEndPatternLast": 1
16485 },
16486 "the_this_keyword": {
16487 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))",
16488 "captures": {
16489 "1": {
16490 "patterns": [
16491 {
16492 "include": "#inline_comment"
16493 }
16494 ]
16495 },
16496 "2": {
16497 "patterns": [
16498 {
16499 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16500 "captures": {
16501 "1": {
16502 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16503 },
16504 "2": {
16505 "name": "comment.block.cpp"
16506 },
16507 "3": {
16508 "patterns": [
16509 {
16510 "match": "\\*\\/",
16511 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16512 },
16513 {
16514 "match": "\\*",
16515 "name": "comment.block.cpp"
16516 }
16517 ]
16518 }
16519 }
16520 }
16521 ]
16522 },
16523 "3": {
16524 "name": "variable.language.this.cpp"
16525 }
16526 }
16527 },
16528 "type_alias": {
16529 "match": "(using)(?:(?:\\s)+)?(?!namespace)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?: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<29>?)+>)?(?![\\w<:.]))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))(?<!\\w)(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w)(?:\\s)+)+)?(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?: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<29>?)+>)?(?![\\w<:.]))|(.*(?<!;)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)?(?:(?:\\s)+)?(?:(;)|\\n)",
16530 "captures": {
16531 "1": {
16532 "name": "keyword.other.using.directive.cpp"
16533 },
16534 "2": {
16535 "name": "meta.qualified_type.cpp",
16536 "patterns": [
16537 {
16538 "match": "::",
16539 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
16540 },
16541 {
16542 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
16543 "name": "storage.type.$0.cpp"
16544 },
16545 {
16546 "include": "#attributes_context"
16547 },
16548 {
16549 "include": "#storage_types"
16550 },
16551 {
16552 "include": "#number_literal"
16553 },
16554 {
16555 "include": "#string_context"
16556 },
16557 {
16558 "include": "#comma"
16559 },
16560 {
16561 "include": "#scope_resolution_inner_generated"
16562 },
16563 {
16564 "begin": "<",
16565 "end": ">",
16566 "beginCaptures": {
16567 "0": {
16568 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
16569 }
16570 },
16571 "endCaptures": {
16572 "0": {
16573 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
16574 }
16575 },
16576 "name": "meta.template.call.cpp",
16577 "patterns": [
16578 {
16579 "include": "#template_call_context"
16580 }
16581 ]
16582 },
16583 {
16584 "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}))*",
16585 "name": "entity.name.type.cpp"
16586 }
16587 ]
16588 },
16589 "3": {
16590 "patterns": [
16591 {
16592 "include": "#attributes_context"
16593 },
16594 {
16595 "include": "#number_literal"
16596 }
16597 ]
16598 },
16599 "4": {
16600 "patterns": [
16601 {
16602 "include": "#inline_comment"
16603 }
16604 ]
16605 },
16606 "5": {
16607 "patterns": [
16608 {
16609 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16610 "captures": {
16611 "1": {
16612 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16613 },
16614 "2": {
16615 "name": "comment.block.cpp"
16616 },
16617 "3": {
16618 "patterns": [
16619 {
16620 "match": "\\*\\/",
16621 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16622 },
16623 {
16624 "match": "\\*",
16625 "name": "comment.block.cpp"
16626 }
16627 ]
16628 }
16629 }
16630 }
16631 ]
16632 },
16633 "6": {
16634 "patterns": [
16635 {
16636 "include": "#inline_comment"
16637 }
16638 ]
16639 },
16640 "7": {
16641 "patterns": [
16642 {
16643 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16644 "captures": {
16645 "1": {
16646 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16647 },
16648 "2": {
16649 "name": "comment.block.cpp"
16650 },
16651 "3": {
16652 "patterns": [
16653 {
16654 "match": "\\*\\/",
16655 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16656 },
16657 {
16658 "match": "\\*",
16659 "name": "comment.block.cpp"
16660 }
16661 ]
16662 }
16663 }
16664 }
16665 ]
16666 },
16667 "8": {
16668 "patterns": [
16669 {
16670 "match": "::",
16671 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
16672 },
16673 {
16674 "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)",
16675 "name": "entity.name.scope-resolution.type.cpp"
16676 },
16677 {
16678 "include": "#template_call_range"
16679 }
16680 ]
16681 },
16682 "9": {
16683 "patterns": [
16684 {
16685 "include": "#template_call_range"
16686 }
16687 ]
16688 },
16689 "11": {
16690 "patterns": [
16691 {
16692 "include": "#inline_comment"
16693 }
16694 ]
16695 },
16696 "12": {
16697 "patterns": [
16698 {
16699 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16700 "captures": {
16701 "1": {
16702 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16703 },
16704 "2": {
16705 "name": "comment.block.cpp"
16706 },
16707 "3": {
16708 "patterns": [
16709 {
16710 "match": "\\*\\/",
16711 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16712 },
16713 {
16714 "match": "\\*",
16715 "name": "comment.block.cpp"
16716 }
16717 ]
16718 }
16719 }
16720 }
16721 ]
16722 },
16723 "14": {
16724 "name": "keyword.operator.assignment.cpp"
16725 },
16726 "15": {
16727 "name": "keyword.other.typename.cpp"
16728 },
16729 "16": {
16730 "patterns": [
16731 {
16732 "include": "#storage_specifiers"
16733 }
16734 ]
16735 },
16736 "17": {
16737 "patterns": [
16738 {
16739 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16740 "captures": {
16741 "1": {
16742 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16743 },
16744 "2": {
16745 "name": "comment.block.cpp"
16746 },
16747 "3": {
16748 "patterns": [
16749 {
16750 "match": "\\*\\/",
16751 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16752 },
16753 {
16754 "match": "\\*",
16755 "name": "comment.block.cpp"
16756 }
16757 ]
16758 }
16759 }
16760 }
16761 ]
16762 },
16763 "18": {
16764 "name": "meta.qualified_type.cpp",
16765 "patterns": [
16766 {
16767 "match": "::",
16768 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
16769 },
16770 {
16771 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
16772 "name": "storage.type.$0.cpp"
16773 },
16774 {
16775 "include": "#attributes_context"
16776 },
16777 {
16778 "include": "#storage_types"
16779 },
16780 {
16781 "include": "#number_literal"
16782 },
16783 {
16784 "include": "#string_context"
16785 },
16786 {
16787 "include": "#comma"
16788 },
16789 {
16790 "include": "#scope_resolution_inner_generated"
16791 },
16792 {
16793 "begin": "<",
16794 "end": ">",
16795 "beginCaptures": {
16796 "0": {
16797 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
16798 }
16799 },
16800 "endCaptures": {
16801 "0": {
16802 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
16803 }
16804 },
16805 "name": "meta.template.call.cpp",
16806 "patterns": [
16807 {
16808 "include": "#template_call_context"
16809 }
16810 ]
16811 },
16812 {
16813 "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}))*",
16814 "name": "entity.name.type.cpp"
16815 }
16816 ]
16817 },
16818 "19": {
16819 "patterns": [
16820 {
16821 "include": "#attributes_context"
16822 },
16823 {
16824 "include": "#number_literal"
16825 }
16826 ]
16827 },
16828 "20": {
16829 "patterns": [
16830 {
16831 "include": "#inline_comment"
16832 }
16833 ]
16834 },
16835 "21": {
16836 "patterns": [
16837 {
16838 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16839 "captures": {
16840 "1": {
16841 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16842 },
16843 "2": {
16844 "name": "comment.block.cpp"
16845 },
16846 "3": {
16847 "patterns": [
16848 {
16849 "match": "\\*\\/",
16850 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16851 },
16852 {
16853 "match": "\\*",
16854 "name": "comment.block.cpp"
16855 }
16856 ]
16857 }
16858 }
16859 }
16860 ]
16861 },
16862 "22": {
16863 "patterns": [
16864 {
16865 "include": "#inline_comment"
16866 }
16867 ]
16868 },
16869 "23": {
16870 "patterns": [
16871 {
16872 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16873 "captures": {
16874 "1": {
16875 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16876 },
16877 "2": {
16878 "name": "comment.block.cpp"
16879 },
16880 "3": {
16881 "patterns": [
16882 {
16883 "match": "\\*\\/",
16884 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16885 },
16886 {
16887 "match": "\\*",
16888 "name": "comment.block.cpp"
16889 }
16890 ]
16891 }
16892 }
16893 }
16894 ]
16895 },
16896 "24": {
16897 "patterns": [
16898 {
16899 "match": "::",
16900 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
16901 },
16902 {
16903 "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)",
16904 "name": "entity.name.scope-resolution.type.cpp"
16905 },
16906 {
16907 "include": "#template_call_range"
16908 }
16909 ]
16910 },
16911 "25": {
16912 "patterns": [
16913 {
16914 "include": "#template_call_range"
16915 }
16916 ]
16917 },
16918 "27": {
16919 "patterns": [
16920 {
16921 "include": "#inline_comment"
16922 }
16923 ]
16924 },
16925 "28": {
16926 "patterns": [
16927 {
16928 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16929 "captures": {
16930 "1": {
16931 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16932 },
16933 "2": {
16934 "name": "comment.block.cpp"
16935 },
16936 "3": {
16937 "patterns": [
16938 {
16939 "match": "\\*\\/",
16940 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16941 },
16942 {
16943 "match": "\\*",
16944 "name": "comment.block.cpp"
16945 }
16946 ]
16947 }
16948 }
16949 }
16950 ]
16951 },
16952 "30": {
16953 "name": "meta.declaration.type.alias.value.unknown.cpp",
16954 "patterns": [
16955 {
16956 "include": "#evaluation_context"
16957 }
16958 ]
16959 },
16960 "31": {
16961 "patterns": [
16962 {
16963 "match": "\\*",
16964 "name": "storage.modifier.pointer.cpp"
16965 },
16966 {
16967 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
16968 "captures": {
16969 "1": {
16970 "patterns": [
16971 {
16972 "include": "#inline_comment"
16973 }
16974 ]
16975 },
16976 "2": {
16977 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16978 },
16979 "3": {
16980 "name": "comment.block.cpp"
16981 },
16982 "4": {
16983 "patterns": [
16984 {
16985 "match": "\\*\\/",
16986 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16987 },
16988 {
16989 "match": "\\*",
16990 "name": "comment.block.cpp"
16991 }
16992 ]
16993 }
16994 },
16995 "name": "invalid.illegal.reference-type.cpp"
16996 },
16997 {
16998 "match": "\\&",
16999 "name": "storage.modifier.reference.cpp"
17000 }
17001 ]
17002 },
17003 "32": {
17004 "patterns": [
17005 {
17006 "include": "#inline_comment"
17007 }
17008 ]
17009 },
17010 "33": {
17011 "patterns": [
17012 {
17013 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
17014 "captures": {
17015 "1": {
17016 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17017 },
17018 "2": {
17019 "name": "comment.block.cpp"
17020 },
17021 "3": {
17022 "patterns": [
17023 {
17024 "match": "\\*\\/",
17025 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17026 },
17027 {
17028 "match": "\\*",
17029 "name": "comment.block.cpp"
17030 }
17031 ]
17032 }
17033 }
17034 }
17035 ]
17036 },
17037 "34": {
17038 "patterns": [
17039 {
17040 "include": "#inline_comment"
17041 }
17042 ]
17043 },
17044 "35": {
17045 "patterns": [
17046 {
17047 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
17048 "captures": {
17049 "1": {
17050 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17051 },
17052 "2": {
17053 "name": "comment.block.cpp"
17054 },
17055 "3": {
17056 "patterns": [
17057 {
17058 "match": "\\*\\/",
17059 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17060 },
17061 {
17062 "match": "\\*",
17063 "name": "comment.block.cpp"
17064 }
17065 ]
17066 }
17067 }
17068 }
17069 ]
17070 },
17071 "36": {
17072 "patterns": [
17073 {
17074 "include": "#inline_comment"
17075 }
17076 ]
17077 },
17078 "37": {
17079 "patterns": [
17080 {
17081 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
17082 "captures": {
17083 "1": {
17084 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17085 },
17086 "2": {
17087 "name": "comment.block.cpp"
17088 },
17089 "3": {
17090 "patterns": [
17091 {
17092 "match": "\\*\\/",
17093 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17094 },
17095 {
17096 "match": "\\*",
17097 "name": "comment.block.cpp"
17098 }
17099 ]
17100 }
17101 }
17102 }
17103 ]
17104 },
17105 "38": {
17106 "name": "punctuation.definition.begin.bracket.square.cpp"
17107 },
17108 "39": {
17109 "patterns": [
17110 {
17111 "include": "#evaluation_context"
17112 }
17113 ]
17114 },
17115 "40": {
17116 "name": "punctuation.definition.end.bracket.square.cpp"
17117 },
17118 "41": {
17119 "name": "punctuation.terminator.statement.cpp"
17120 }
17121 },
17122 "name": "meta.declaration.type.alias.cpp"
17123 },
17124 "type_casting_operators": {
17125 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:reinterpret_cast)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast))(?!\\w))",
17126 "captures": {
17127 "1": {
17128 "patterns": [
17129 {
17130 "include": "#inline_comment"
17131 }
17132 ]
17133 },
17134 "2": {
17135 "patterns": [
17136 {
17137 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
17138 "captures": {
17139 "1": {
17140 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17141 },
17142 "2": {
17143 "name": "comment.block.cpp"
17144 },
17145 "3": {
17146 "patterns": [
17147 {
17148 "match": "\\*\\/",
17149 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17150 },
17151 {
17152 "match": "\\*",
17153 "name": "comment.block.cpp"
17154 }
17155 ]
17156 }
17157 }
17158 }
17159 ]
17160 },
17161 "3": {
17162 "name": "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"
17163 }
17164 }
17165 },
17166 "typedef_class": {
17167 "begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)class(?!\\w))",
17168 "end": "(?<=;)",
17169 "beginCaptures": {
17170 "1": {
17171 "name": "keyword.other.typedef.cpp"
17172 }
17173 },
17174 "endCaptures": {},
17175 "patterns": [
17176 {
17177 "begin": "((?<!\\w)class(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
17178 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
17179 "beginCaptures": {
17180 "0": {
17181 "name": "meta.head.class.cpp"
17182 },
17183 "1": {
17184 "name": "storage.type.$1.cpp"
17185 },
17186 "2": {
17187 "patterns": [
17188 {
17189 "include": "#inline_comment"
17190 }
17191 ]
17192 },
17193 "3": {
17194 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17195 },
17196 "4": {
17197 "name": "comment.block.cpp"
17198 },
17199 "5": {
17200 "patterns": [
17201 {
17202 "match": "\\*\\/",
17203 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17204 },
17205 {
17206 "match": "\\*",
17207 "name": "comment.block.cpp"
17208 }
17209 ]
17210 },
17211 "6": {
17212 "patterns": [
17213 {
17214 "include": "#attributes_context"
17215 },
17216 {
17217 "include": "#number_literal"
17218 }
17219 ]
17220 },
17221 "7": {
17222 "patterns": [
17223 {
17224 "include": "#inline_comment"
17225 }
17226 ]
17227 },
17228 "8": {
17229 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17230 },
17231 "9": {
17232 "name": "comment.block.cpp"
17233 },
17234 "10": {
17235 "patterns": [
17236 {
17237 "match": "\\*\\/",
17238 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17239 },
17240 {
17241 "match": "\\*",
17242 "name": "comment.block.cpp"
17243 }
17244 ]
17245 },
17246 "11": {
17247 "patterns": [
17248 {
17249 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
17250 "captures": {
17251 "1": {
17252 "name": "storage.type.modifier.final.cpp"
17253 },
17254 "2": {
17255 "patterns": [
17256 {
17257 "include": "#inline_comment"
17258 }
17259 ]
17260 },
17261 "3": {
17262 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17263 },
17264 "4": {
17265 "name": "comment.block.cpp"
17266 },
17267 "5": {
17268 "patterns": [
17269 {
17270 "match": "\\*\\/",
17271 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17272 },
17273 {
17274 "match": "\\*",
17275 "name": "comment.block.cpp"
17276 }
17277 ]
17278 }
17279 }
17280 },
17281 {
17282 "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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
17283 "captures": {
17284 "1": {
17285 "name": "entity.name.type.class.cpp"
17286 },
17287 "2": {
17288 "patterns": [
17289 {
17290 "include": "#inline_comment"
17291 }
17292 ]
17293 },
17294 "3": {
17295 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17296 },
17297 "4": {
17298 "name": "comment.block.cpp"
17299 },
17300 "5": {
17301 "patterns": [
17302 {
17303 "match": "\\*\\/",
17304 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17305 },
17306 {
17307 "match": "\\*",
17308 "name": "comment.block.cpp"
17309 }
17310 ]
17311 },
17312 "6": {
17313 "name": "storage.type.modifier.final.cpp"
17314 },
17315 "7": {
17316 "patterns": [
17317 {
17318 "include": "#inline_comment"
17319 }
17320 ]
17321 },
17322 "8": {
17323 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17324 },
17325 "9": {
17326 "name": "comment.block.cpp"
17327 },
17328 "10": {
17329 "patterns": [
17330 {
17331 "match": "\\*\\/",
17332 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17333 },
17334 {
17335 "match": "\\*",
17336 "name": "comment.block.cpp"
17337 }
17338 ]
17339 }
17340 }
17341 },
17342 {
17343 "match": "DLLEXPORT",
17344 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
17345 },
17346 {
17347 "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}))*",
17348 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
17349 }
17350 ]
17351 },
17352 "12": {
17353 "patterns": [
17354 {
17355 "include": "#inline_comment"
17356 }
17357 ]
17358 },
17359 "13": {
17360 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17361 },
17362 "14": {
17363 "name": "comment.block.cpp"
17364 },
17365 "15": {
17366 "patterns": [
17367 {
17368 "match": "\\*\\/",
17369 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17370 },
17371 {
17372 "match": "\\*",
17373 "name": "comment.block.cpp"
17374 }
17375 ]
17376 },
17377 "16": {
17378 "patterns": [
17379 {
17380 "include": "#inline_comment"
17381 }
17382 ]
17383 },
17384 "17": {
17385 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17386 },
17387 "18": {
17388 "name": "comment.block.cpp"
17389 },
17390 "19": {
17391 "patterns": [
17392 {
17393 "match": "\\*\\/",
17394 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17395 },
17396 {
17397 "match": "\\*",
17398 "name": "comment.block.cpp"
17399 }
17400 ]
17401 },
17402 "20": {
17403 "name": "punctuation.separator.colon.inheritance.cpp"
17404 }
17405 },
17406 "endCaptures": {
17407 "1": {
17408 "name": "punctuation.terminator.statement.cpp"
17409 },
17410 "2": {
17411 "name": "punctuation.terminator.statement.cpp"
17412 }
17413 },
17414 "name": "meta.block.class.cpp",
17415 "patterns": [
17416 {
17417 "begin": "\\G ?",
17418 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
17419 "beginCaptures": {},
17420 "endCaptures": {
17421 "0": {
17422 "name": "punctuation.section.block.begin.bracket.curly.class.cpp"
17423 }
17424 },
17425 "name": "meta.head.class.cpp",
17426 "patterns": [
17427 {
17428 "include": "#ever_present_context"
17429 },
17430 {
17431 "include": "#inheritance_context"
17432 },
17433 {
17434 "include": "#template_call_range"
17435 }
17436 ]
17437 },
17438 {
17439 "begin": "(?<=\\{|<%|\\?\\?<)",
17440 "end": "\\}|%>|\\?\\?>",
17441 "beginCaptures": {},
17442 "endCaptures": {
17443 "0": {
17444 "name": "punctuation.section.block.end.bracket.curly.class.cpp"
17445 }
17446 },
17447 "name": "meta.body.class.cpp",
17448 "patterns": [
17449 {
17450 "include": "#function_pointer"
17451 },
17452 {
17453 "include": "#static_assert"
17454 },
17455 {
17456 "include": "#constructor_inline"
17457 },
17458 {
17459 "include": "#destructor_inline"
17460 },
17461 {
17462 "include": "$self"
17463 }
17464 ]
17465 },
17466 {
17467 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
17468 "end": "[\\s]*(?=;)",
17469 "beginCaptures": {},
17470 "endCaptures": {},
17471 "name": "meta.tail.class.cpp",
17472 "patterns": [
17473 {
17474 "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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))",
17475 "captures": {
17476 "1": {
17477 "patterns": [
17478 {
17479 "match": "\\*",
17480 "name": "storage.modifier.pointer.cpp"
17481 },
17482 {
17483 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
17484 "captures": {
17485 "1": {
17486 "patterns": [
17487 {
17488 "include": "#inline_comment"
17489 }
17490 ]
17491 },
17492 "2": {
17493 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17494 },
17495 "3": {
17496 "name": "comment.block.cpp"
17497 },
17498 "4": {
17499 "patterns": [
17500 {
17501 "match": "\\*\\/",
17502 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17503 },
17504 {
17505 "match": "\\*",
17506 "name": "comment.block.cpp"
17507 }
17508 ]
17509 }
17510 },
17511 "name": "invalid.illegal.reference-type.cpp"
17512 },
17513 {
17514 "match": "\\&",
17515 "name": "storage.modifier.reference.cpp"
17516 }
17517 ]
17518 },
17519 "2": {
17520 "patterns": [
17521 {
17522 "include": "#inline_comment"
17523 }
17524 ]
17525 },
17526 "3": {
17527 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17528 },
17529 "4": {
17530 "name": "comment.block.cpp"
17531 },
17532 "5": {
17533 "patterns": [
17534 {
17535 "match": "\\*\\/",
17536 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17537 },
17538 {
17539 "match": "\\*",
17540 "name": "comment.block.cpp"
17541 }
17542 ]
17543 },
17544 "6": {
17545 "patterns": [
17546 {
17547 "include": "#inline_comment"
17548 }
17549 ]
17550 },
17551 "7": {
17552 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17553 },
17554 "8": {
17555 "name": "comment.block.cpp"
17556 },
17557 "9": {
17558 "patterns": [
17559 {
17560 "match": "\\*\\/",
17561 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17562 },
17563 {
17564 "match": "\\*",
17565 "name": "comment.block.cpp"
17566 }
17567 ]
17568 },
17569 "10": {
17570 "patterns": [
17571 {
17572 "include": "#inline_comment"
17573 }
17574 ]
17575 },
17576 "11": {
17577 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17578 },
17579 "12": {
17580 "name": "comment.block.cpp"
17581 },
17582 "13": {
17583 "patterns": [
17584 {
17585 "match": "\\*\\/",
17586 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17587 },
17588 {
17589 "match": "\\*",
17590 "name": "comment.block.cpp"
17591 }
17592 ]
17593 },
17594 "14": {
17595 "name": "entity.name.type.alias.cpp"
17596 }
17597 }
17598 },
17599 {
17600 "match": ","
17601 }
17602 ]
17603 }
17604 ]
17605 }
17606 ]
17607 },
17608 "typedef_function_pointer": {
17609 "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*\\))",
17610 "end": "(?<=;)",
17611 "beginCaptures": {
17612 "1": {
17613 "name": "keyword.other.typedef.cpp"
17614 }
17615 },
17616 "endCaptures": {},
17617 "patterns": [
17618 {
17619 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?: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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)?(\\()",
17620 "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",
17621 "beginCaptures": {
17622 "1": {
17623 "name": "meta.qualified_type.cpp",
17624 "patterns": [
17625 {
17626 "match": "::",
17627 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
17628 },
17629 {
17630 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
17631 "name": "storage.type.$0.cpp"
17632 },
17633 {
17634 "include": "#attributes_context"
17635 },
17636 {
17637 "include": "#storage_types"
17638 },
17639 {
17640 "include": "#number_literal"
17641 },
17642 {
17643 "include": "#string_context"
17644 },
17645 {
17646 "include": "#comma"
17647 },
17648 {
17649 "include": "#scope_resolution_inner_generated"
17650 },
17651 {
17652 "begin": "<",
17653 "end": ">",
17654 "beginCaptures": {
17655 "0": {
17656 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
17657 }
17658 },
17659 "endCaptures": {
17660 "0": {
17661 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
17662 }
17663 },
17664 "name": "meta.template.call.cpp",
17665 "patterns": [
17666 {
17667 "include": "#template_call_context"
17668 }
17669 ]
17670 },
17671 {
17672 "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}))*",
17673 "name": "entity.name.type.cpp"
17674 }
17675 ]
17676 },
17677 "2": {
17678 "patterns": [
17679 {
17680 "include": "#attributes_context"
17681 },
17682 {
17683 "include": "#number_literal"
17684 }
17685 ]
17686 },
17687 "3": {
17688 "patterns": [
17689 {
17690 "include": "#inline_comment"
17691 }
17692 ]
17693 },
17694 "4": {
17695 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17696 },
17697 "5": {
17698 "name": "comment.block.cpp"
17699 },
17700 "6": {
17701 "patterns": [
17702 {
17703 "match": "\\*\\/",
17704 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17705 },
17706 {
17707 "match": "\\*",
17708 "name": "comment.block.cpp"
17709 }
17710 ]
17711 },
17712 "7": {
17713 "patterns": [
17714 {
17715 "include": "#inline_comment"
17716 }
17717 ]
17718 },
17719 "8": {
17720 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17721 },
17722 "9": {
17723 "name": "comment.block.cpp"
17724 },
17725 "10": {
17726 "patterns": [
17727 {
17728 "match": "\\*\\/",
17729 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17730 },
17731 {
17732 "match": "\\*",
17733 "name": "comment.block.cpp"
17734 }
17735 ]
17736 },
17737 "11": {
17738 "patterns": [
17739 {
17740 "match": "::",
17741 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
17742 },
17743 {
17744 "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)",
17745 "name": "entity.name.scope-resolution.type.cpp"
17746 },
17747 {
17748 "include": "#template_call_range"
17749 }
17750 ]
17751 },
17752 "12": {
17753 "patterns": [
17754 {
17755 "include": "#template_call_range"
17756 }
17757 ]
17758 },
17759 "13": {},
17760 "14": {
17761 "patterns": [
17762 {
17763 "include": "#inline_comment"
17764 }
17765 ]
17766 },
17767 "15": {
17768 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17769 },
17770 "16": {
17771 "name": "comment.block.cpp"
17772 },
17773 "17": {
17774 "patterns": [
17775 {
17776 "match": "\\*\\/",
17777 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17778 },
17779 {
17780 "match": "\\*",
17781 "name": "comment.block.cpp"
17782 }
17783 ]
17784 },
17785 "18": {},
17786 "19": {
17787 "patterns": [
17788 {
17789 "match": "\\*",
17790 "name": "storage.modifier.pointer.cpp"
17791 },
17792 {
17793 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
17794 "captures": {
17795 "1": {
17796 "patterns": [
17797 {
17798 "include": "#inline_comment"
17799 }
17800 ]
17801 },
17802 "2": {
17803 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17804 },
17805 "3": {
17806 "name": "comment.block.cpp"
17807 },
17808 "4": {
17809 "patterns": [
17810 {
17811 "match": "\\*\\/",
17812 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17813 },
17814 {
17815 "match": "\\*",
17816 "name": "comment.block.cpp"
17817 }
17818 ]
17819 }
17820 },
17821 "name": "invalid.illegal.reference-type.cpp"
17822 },
17823 {
17824 "match": "\\&",
17825 "name": "storage.modifier.reference.cpp"
17826 }
17827 ]
17828 },
17829 "20": {
17830 "patterns": [
17831 {
17832 "include": "#inline_comment"
17833 }
17834 ]
17835 },
17836 "21": {
17837 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17838 },
17839 "22": {
17840 "name": "comment.block.cpp"
17841 },
17842 "23": {
17843 "patterns": [
17844 {
17845 "match": "\\*\\/",
17846 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17847 },
17848 {
17849 "match": "\\*",
17850 "name": "comment.block.cpp"
17851 }
17852 ]
17853 },
17854 "24": {
17855 "patterns": [
17856 {
17857 "include": "#inline_comment"
17858 }
17859 ]
17860 },
17861 "25": {
17862 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17863 },
17864 "26": {
17865 "name": "comment.block.cpp"
17866 },
17867 "27": {
17868 "patterns": [
17869 {
17870 "match": "\\*\\/",
17871 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17872 },
17873 {
17874 "match": "\\*",
17875 "name": "comment.block.cpp"
17876 }
17877 ]
17878 },
17879 "28": {
17880 "patterns": [
17881 {
17882 "include": "#inline_comment"
17883 }
17884 ]
17885 },
17886 "29": {
17887 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17888 },
17889 "30": {
17890 "name": "comment.block.cpp"
17891 },
17892 "31": {
17893 "patterns": [
17894 {
17895 "match": "\\*\\/",
17896 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17897 },
17898 {
17899 "match": "\\*",
17900 "name": "comment.block.cpp"
17901 }
17902 ]
17903 },
17904 "32": {
17905 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
17906 },
17907 "33": {
17908 "name": "punctuation.definition.function.pointer.dereference.cpp"
17909 },
17910 "34": {
17911 "name": "entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"
17912 },
17913 "35": {
17914 "name": "punctuation.definition.begin.bracket.square.cpp"
17915 },
17916 "36": {
17917 "patterns": [
17918 {
17919 "include": "#evaluation_context"
17920 }
17921 ]
17922 },
17923 "37": {
17924 "name": "punctuation.definition.end.bracket.square.cpp"
17925 },
17926 "38": {
17927 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
17928 },
17929 "39": {
17930 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
17931 }
17932 },
17933 "endCaptures": {
17934 "1": {
17935 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
17936 },
17937 "2": {
17938 "patterns": [
17939 {
17940 "include": "#inline_comment"
17941 }
17942 ]
17943 },
17944 "3": {
17945 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
17946 },
17947 "4": {
17948 "name": "comment.block.cpp"
17949 },
17950 "5": {
17951 "patterns": [
17952 {
17953 "match": "\\*\\/",
17954 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
17955 },
17956 {
17957 "match": "\\*",
17958 "name": "comment.block.cpp"
17959 }
17960 ]
17961 }
17962 },
17963 "patterns": [
17964 {
17965 "include": "#function_parameter_context"
17966 }
17967 ]
17968 }
17969 ]
17970 },
17971 "typedef_struct": {
17972 "begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)struct(?!\\w))",
17973 "end": "(?<=;)",
17974 "beginCaptures": {
17975 "1": {
17976 "name": "keyword.other.typedef.cpp"
17977 }
17978 },
17979 "endCaptures": {},
17980 "patterns": [
17981 {
17982 "begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
17983 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
17984 "beginCaptures": {
17985 "0": {
17986 "name": "meta.head.struct.cpp"
17987 },
17988 "1": {
17989 "name": "storage.type.$1.cpp"
17990 },
17991 "2": {
17992 "patterns": [
17993 {
17994 "include": "#inline_comment"
17995 }
17996 ]
17997 },
17998 "3": {
17999 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18000 },
18001 "4": {
18002 "name": "comment.block.cpp"
18003 },
18004 "5": {
18005 "patterns": [
18006 {
18007 "match": "\\*\\/",
18008 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18009 },
18010 {
18011 "match": "\\*",
18012 "name": "comment.block.cpp"
18013 }
18014 ]
18015 },
18016 "6": {
18017 "patterns": [
18018 {
18019 "include": "#attributes_context"
18020 },
18021 {
18022 "include": "#number_literal"
18023 }
18024 ]
18025 },
18026 "7": {
18027 "patterns": [
18028 {
18029 "include": "#inline_comment"
18030 }
18031 ]
18032 },
18033 "8": {
18034 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18035 },
18036 "9": {
18037 "name": "comment.block.cpp"
18038 },
18039 "10": {
18040 "patterns": [
18041 {
18042 "match": "\\*\\/",
18043 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18044 },
18045 {
18046 "match": "\\*",
18047 "name": "comment.block.cpp"
18048 }
18049 ]
18050 },
18051 "11": {
18052 "patterns": [
18053 {
18054 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
18055 "captures": {
18056 "1": {
18057 "name": "storage.type.modifier.final.cpp"
18058 },
18059 "2": {
18060 "patterns": [
18061 {
18062 "include": "#inline_comment"
18063 }
18064 ]
18065 },
18066 "3": {
18067 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18068 },
18069 "4": {
18070 "name": "comment.block.cpp"
18071 },
18072 "5": {
18073 "patterns": [
18074 {
18075 "match": "\\*\\/",
18076 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18077 },
18078 {
18079 "match": "\\*",
18080 "name": "comment.block.cpp"
18081 }
18082 ]
18083 }
18084 }
18085 },
18086 {
18087 "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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
18088 "captures": {
18089 "1": {
18090 "name": "entity.name.type.struct.cpp"
18091 },
18092 "2": {
18093 "patterns": [
18094 {
18095 "include": "#inline_comment"
18096 }
18097 ]
18098 },
18099 "3": {
18100 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18101 },
18102 "4": {
18103 "name": "comment.block.cpp"
18104 },
18105 "5": {
18106 "patterns": [
18107 {
18108 "match": "\\*\\/",
18109 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18110 },
18111 {
18112 "match": "\\*",
18113 "name": "comment.block.cpp"
18114 }
18115 ]
18116 },
18117 "6": {
18118 "name": "storage.type.modifier.final.cpp"
18119 },
18120 "7": {
18121 "patterns": [
18122 {
18123 "include": "#inline_comment"
18124 }
18125 ]
18126 },
18127 "8": {
18128 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18129 },
18130 "9": {
18131 "name": "comment.block.cpp"
18132 },
18133 "10": {
18134 "patterns": [
18135 {
18136 "match": "\\*\\/",
18137 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18138 },
18139 {
18140 "match": "\\*",
18141 "name": "comment.block.cpp"
18142 }
18143 ]
18144 }
18145 }
18146 },
18147 {
18148 "match": "DLLEXPORT",
18149 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
18150 },
18151 {
18152 "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}))*",
18153 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
18154 }
18155 ]
18156 },
18157 "12": {
18158 "patterns": [
18159 {
18160 "include": "#inline_comment"
18161 }
18162 ]
18163 },
18164 "13": {
18165 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18166 },
18167 "14": {
18168 "name": "comment.block.cpp"
18169 },
18170 "15": {
18171 "patterns": [
18172 {
18173 "match": "\\*\\/",
18174 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18175 },
18176 {
18177 "match": "\\*",
18178 "name": "comment.block.cpp"
18179 }
18180 ]
18181 },
18182 "16": {
18183 "patterns": [
18184 {
18185 "include": "#inline_comment"
18186 }
18187 ]
18188 },
18189 "17": {
18190 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18191 },
18192 "18": {
18193 "name": "comment.block.cpp"
18194 },
18195 "19": {
18196 "patterns": [
18197 {
18198 "match": "\\*\\/",
18199 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18200 },
18201 {
18202 "match": "\\*",
18203 "name": "comment.block.cpp"
18204 }
18205 ]
18206 },
18207 "20": {
18208 "name": "punctuation.separator.colon.inheritance.cpp"
18209 }
18210 },
18211 "endCaptures": {
18212 "1": {
18213 "name": "punctuation.terminator.statement.cpp"
18214 },
18215 "2": {
18216 "name": "punctuation.terminator.statement.cpp"
18217 }
18218 },
18219 "name": "meta.block.struct.cpp",
18220 "patterns": [
18221 {
18222 "begin": "\\G ?",
18223 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
18224 "beginCaptures": {},
18225 "endCaptures": {
18226 "0": {
18227 "name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
18228 }
18229 },
18230 "name": "meta.head.struct.cpp",
18231 "patterns": [
18232 {
18233 "include": "#ever_present_context"
18234 },
18235 {
18236 "include": "#inheritance_context"
18237 },
18238 {
18239 "include": "#template_call_range"
18240 }
18241 ]
18242 },
18243 {
18244 "begin": "(?<=\\{|<%|\\?\\?<)",
18245 "end": "\\}|%>|\\?\\?>",
18246 "beginCaptures": {},
18247 "endCaptures": {
18248 "0": {
18249 "name": "punctuation.section.block.end.bracket.curly.struct.cpp"
18250 }
18251 },
18252 "name": "meta.body.struct.cpp",
18253 "patterns": [
18254 {
18255 "include": "#function_pointer"
18256 },
18257 {
18258 "include": "#static_assert"
18259 },
18260 {
18261 "include": "#constructor_inline"
18262 },
18263 {
18264 "include": "#destructor_inline"
18265 },
18266 {
18267 "include": "$self"
18268 }
18269 ]
18270 },
18271 {
18272 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
18273 "end": "[\\s]*(?=;)",
18274 "beginCaptures": {},
18275 "endCaptures": {},
18276 "name": "meta.tail.struct.cpp",
18277 "patterns": [
18278 {
18279 "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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))",
18280 "captures": {
18281 "1": {
18282 "patterns": [
18283 {
18284 "match": "\\*",
18285 "name": "storage.modifier.pointer.cpp"
18286 },
18287 {
18288 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
18289 "captures": {
18290 "1": {
18291 "patterns": [
18292 {
18293 "include": "#inline_comment"
18294 }
18295 ]
18296 },
18297 "2": {
18298 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18299 },
18300 "3": {
18301 "name": "comment.block.cpp"
18302 },
18303 "4": {
18304 "patterns": [
18305 {
18306 "match": "\\*\\/",
18307 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18308 },
18309 {
18310 "match": "\\*",
18311 "name": "comment.block.cpp"
18312 }
18313 ]
18314 }
18315 },
18316 "name": "invalid.illegal.reference-type.cpp"
18317 },
18318 {
18319 "match": "\\&",
18320 "name": "storage.modifier.reference.cpp"
18321 }
18322 ]
18323 },
18324 "2": {
18325 "patterns": [
18326 {
18327 "include": "#inline_comment"
18328 }
18329 ]
18330 },
18331 "3": {
18332 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18333 },
18334 "4": {
18335 "name": "comment.block.cpp"
18336 },
18337 "5": {
18338 "patterns": [
18339 {
18340 "match": "\\*\\/",
18341 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18342 },
18343 {
18344 "match": "\\*",
18345 "name": "comment.block.cpp"
18346 }
18347 ]
18348 },
18349 "6": {
18350 "patterns": [
18351 {
18352 "include": "#inline_comment"
18353 }
18354 ]
18355 },
18356 "7": {
18357 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18358 },
18359 "8": {
18360 "name": "comment.block.cpp"
18361 },
18362 "9": {
18363 "patterns": [
18364 {
18365 "match": "\\*\\/",
18366 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18367 },
18368 {
18369 "match": "\\*",
18370 "name": "comment.block.cpp"
18371 }
18372 ]
18373 },
18374 "10": {
18375 "patterns": [
18376 {
18377 "include": "#inline_comment"
18378 }
18379 ]
18380 },
18381 "11": {
18382 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18383 },
18384 "12": {
18385 "name": "comment.block.cpp"
18386 },
18387 "13": {
18388 "patterns": [
18389 {
18390 "match": "\\*\\/",
18391 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18392 },
18393 {
18394 "match": "\\*",
18395 "name": "comment.block.cpp"
18396 }
18397 ]
18398 },
18399 "14": {
18400 "name": "entity.name.type.alias.cpp"
18401 }
18402 }
18403 },
18404 {
18405 "match": ","
18406 }
18407 ]
18408 }
18409 ]
18410 }
18411 ]
18412 },
18413 "typedef_union": {
18414 "begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)union(?!\\w))",
18415 "end": "(?<=;)",
18416 "beginCaptures": {
18417 "1": {
18418 "name": "keyword.other.typedef.cpp"
18419 }
18420 },
18421 "endCaptures": {},
18422 "patterns": [
18423 {
18424 "begin": "((?<!\\w)union(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
18425 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
18426 "beginCaptures": {
18427 "0": {
18428 "name": "meta.head.union.cpp"
18429 },
18430 "1": {
18431 "name": "storage.type.$1.cpp"
18432 },
18433 "2": {
18434 "patterns": [
18435 {
18436 "include": "#inline_comment"
18437 }
18438 ]
18439 },
18440 "3": {
18441 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18442 },
18443 "4": {
18444 "name": "comment.block.cpp"
18445 },
18446 "5": {
18447 "patterns": [
18448 {
18449 "match": "\\*\\/",
18450 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18451 },
18452 {
18453 "match": "\\*",
18454 "name": "comment.block.cpp"
18455 }
18456 ]
18457 },
18458 "6": {
18459 "patterns": [
18460 {
18461 "include": "#attributes_context"
18462 },
18463 {
18464 "include": "#number_literal"
18465 }
18466 ]
18467 },
18468 "7": {
18469 "patterns": [
18470 {
18471 "include": "#inline_comment"
18472 }
18473 ]
18474 },
18475 "8": {
18476 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18477 },
18478 "9": {
18479 "name": "comment.block.cpp"
18480 },
18481 "10": {
18482 "patterns": [
18483 {
18484 "match": "\\*\\/",
18485 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18486 },
18487 {
18488 "match": "\\*",
18489 "name": "comment.block.cpp"
18490 }
18491 ]
18492 },
18493 "11": {
18494 "patterns": [
18495 {
18496 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
18497 "captures": {
18498 "1": {
18499 "name": "storage.type.modifier.final.cpp"
18500 },
18501 "2": {
18502 "patterns": [
18503 {
18504 "include": "#inline_comment"
18505 }
18506 ]
18507 },
18508 "3": {
18509 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18510 },
18511 "4": {
18512 "name": "comment.block.cpp"
18513 },
18514 "5": {
18515 "patterns": [
18516 {
18517 "match": "\\*\\/",
18518 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18519 },
18520 {
18521 "match": "\\*",
18522 "name": "comment.block.cpp"
18523 }
18524 ]
18525 }
18526 }
18527 },
18528 {
18529 "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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
18530 "captures": {
18531 "1": {
18532 "name": "entity.name.type.union.cpp"
18533 },
18534 "2": {
18535 "patterns": [
18536 {
18537 "include": "#inline_comment"
18538 }
18539 ]
18540 },
18541 "3": {
18542 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18543 },
18544 "4": {
18545 "name": "comment.block.cpp"
18546 },
18547 "5": {
18548 "patterns": [
18549 {
18550 "match": "\\*\\/",
18551 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18552 },
18553 {
18554 "match": "\\*",
18555 "name": "comment.block.cpp"
18556 }
18557 ]
18558 },
18559 "6": {
18560 "name": "storage.type.modifier.final.cpp"
18561 },
18562 "7": {
18563 "patterns": [
18564 {
18565 "include": "#inline_comment"
18566 }
18567 ]
18568 },
18569 "8": {
18570 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18571 },
18572 "9": {
18573 "name": "comment.block.cpp"
18574 },
18575 "10": {
18576 "patterns": [
18577 {
18578 "match": "\\*\\/",
18579 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18580 },
18581 {
18582 "match": "\\*",
18583 "name": "comment.block.cpp"
18584 }
18585 ]
18586 }
18587 }
18588 },
18589 {
18590 "match": "DLLEXPORT",
18591 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
18592 },
18593 {
18594 "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}))*",
18595 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
18596 }
18597 ]
18598 },
18599 "12": {
18600 "patterns": [
18601 {
18602 "include": "#inline_comment"
18603 }
18604 ]
18605 },
18606 "13": {
18607 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18608 },
18609 "14": {
18610 "name": "comment.block.cpp"
18611 },
18612 "15": {
18613 "patterns": [
18614 {
18615 "match": "\\*\\/",
18616 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18617 },
18618 {
18619 "match": "\\*",
18620 "name": "comment.block.cpp"
18621 }
18622 ]
18623 },
18624 "16": {
18625 "patterns": [
18626 {
18627 "include": "#inline_comment"
18628 }
18629 ]
18630 },
18631 "17": {
18632 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18633 },
18634 "18": {
18635 "name": "comment.block.cpp"
18636 },
18637 "19": {
18638 "patterns": [
18639 {
18640 "match": "\\*\\/",
18641 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18642 },
18643 {
18644 "match": "\\*",
18645 "name": "comment.block.cpp"
18646 }
18647 ]
18648 },
18649 "20": {
18650 "name": "punctuation.separator.colon.inheritance.cpp"
18651 }
18652 },
18653 "endCaptures": {
18654 "1": {
18655 "name": "punctuation.terminator.statement.cpp"
18656 },
18657 "2": {
18658 "name": "punctuation.terminator.statement.cpp"
18659 }
18660 },
18661 "name": "meta.block.union.cpp",
18662 "patterns": [
18663 {
18664 "begin": "\\G ?",
18665 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
18666 "beginCaptures": {},
18667 "endCaptures": {
18668 "0": {
18669 "name": "punctuation.section.block.begin.bracket.curly.union.cpp"
18670 }
18671 },
18672 "name": "meta.head.union.cpp",
18673 "patterns": [
18674 {
18675 "include": "#ever_present_context"
18676 },
18677 {
18678 "include": "#inheritance_context"
18679 },
18680 {
18681 "include": "#template_call_range"
18682 }
18683 ]
18684 },
18685 {
18686 "begin": "(?<=\\{|<%|\\?\\?<)",
18687 "end": "\\}|%>|\\?\\?>",
18688 "beginCaptures": {},
18689 "endCaptures": {
18690 "0": {
18691 "name": "punctuation.section.block.end.bracket.curly.union.cpp"
18692 }
18693 },
18694 "name": "meta.body.union.cpp",
18695 "patterns": [
18696 {
18697 "include": "#function_pointer"
18698 },
18699 {
18700 "include": "#static_assert"
18701 },
18702 {
18703 "include": "#constructor_inline"
18704 },
18705 {
18706 "include": "#destructor_inline"
18707 },
18708 {
18709 "include": "$self"
18710 }
18711 ]
18712 },
18713 {
18714 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
18715 "end": "[\\s]*(?=;)",
18716 "beginCaptures": {},
18717 "endCaptures": {},
18718 "name": "meta.tail.union.cpp",
18719 "patterns": [
18720 {
18721 "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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))",
18722 "captures": {
18723 "1": {
18724 "patterns": [
18725 {
18726 "match": "\\*",
18727 "name": "storage.modifier.pointer.cpp"
18728 },
18729 {
18730 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
18731 "captures": {
18732 "1": {
18733 "patterns": [
18734 {
18735 "include": "#inline_comment"
18736 }
18737 ]
18738 },
18739 "2": {
18740 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18741 },
18742 "3": {
18743 "name": "comment.block.cpp"
18744 },
18745 "4": {
18746 "patterns": [
18747 {
18748 "match": "\\*\\/",
18749 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18750 },
18751 {
18752 "match": "\\*",
18753 "name": "comment.block.cpp"
18754 }
18755 ]
18756 }
18757 },
18758 "name": "invalid.illegal.reference-type.cpp"
18759 },
18760 {
18761 "match": "\\&",
18762 "name": "storage.modifier.reference.cpp"
18763 }
18764 ]
18765 },
18766 "2": {
18767 "patterns": [
18768 {
18769 "include": "#inline_comment"
18770 }
18771 ]
18772 },
18773 "3": {
18774 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18775 },
18776 "4": {
18777 "name": "comment.block.cpp"
18778 },
18779 "5": {
18780 "patterns": [
18781 {
18782 "match": "\\*\\/",
18783 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18784 },
18785 {
18786 "match": "\\*",
18787 "name": "comment.block.cpp"
18788 }
18789 ]
18790 },
18791 "6": {
18792 "patterns": [
18793 {
18794 "include": "#inline_comment"
18795 }
18796 ]
18797 },
18798 "7": {
18799 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18800 },
18801 "8": {
18802 "name": "comment.block.cpp"
18803 },
18804 "9": {
18805 "patterns": [
18806 {
18807 "match": "\\*\\/",
18808 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18809 },
18810 {
18811 "match": "\\*",
18812 "name": "comment.block.cpp"
18813 }
18814 ]
18815 },
18816 "10": {
18817 "patterns": [
18818 {
18819 "include": "#inline_comment"
18820 }
18821 ]
18822 },
18823 "11": {
18824 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18825 },
18826 "12": {
18827 "name": "comment.block.cpp"
18828 },
18829 "13": {
18830 "patterns": [
18831 {
18832 "match": "\\*\\/",
18833 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18834 },
18835 {
18836 "match": "\\*",
18837 "name": "comment.block.cpp"
18838 }
18839 ]
18840 },
18841 "14": {
18842 "name": "entity.name.type.alias.cpp"
18843 }
18844 }
18845 },
18846 {
18847 "match": ","
18848 }
18849 ]
18850 }
18851 ]
18852 }
18853 ]
18854 },
18855 "typeid_operator": {
18856 "begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
18857 "end": "\\)",
18858 "beginCaptures": {
18859 "1": {
18860 "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
18861 },
18862 "2": {
18863 "patterns": [
18864 {
18865 "include": "#inline_comment"
18866 }
18867 ]
18868 },
18869 "3": {
18870 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18871 },
18872 "4": {
18873 "name": "comment.block.cpp"
18874 },
18875 "5": {
18876 "patterns": [
18877 {
18878 "match": "\\*\\/",
18879 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18880 },
18881 {
18882 "match": "\\*",
18883 "name": "comment.block.cpp"
18884 }
18885 ]
18886 },
18887 "6": {
18888 "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
18889 }
18890 },
18891 "endCaptures": {
18892 "0": {
18893 "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
18894 }
18895 },
18896 "contentName": "meta.arguments.operator.typeid",
18897 "patterns": [
18898 {
18899 "include": "#evaluation_context"
18900 }
18901 ]
18902 },
18903 "typename": {
18904 "match": "(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?<!\\w)typename(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?: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<:.]))",
18905 "captures": {
18906 "1": {
18907 "name": "storage.modifier.cpp"
18908 },
18909 "2": {
18910 "patterns": [
18911 {
18912 "include": "#inline_comment"
18913 }
18914 ]
18915 },
18916 "3": {
18917 "patterns": [
18918 {
18919 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
18920 "captures": {
18921 "1": {
18922 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18923 },
18924 "2": {
18925 "name": "comment.block.cpp"
18926 },
18927 "3": {
18928 "patterns": [
18929 {
18930 "match": "\\*\\/",
18931 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18932 },
18933 {
18934 "match": "\\*",
18935 "name": "comment.block.cpp"
18936 }
18937 ]
18938 }
18939 }
18940 }
18941 ]
18942 },
18943 "4": {
18944 "patterns": [
18945 {
18946 "include": "#inline_comment"
18947 }
18948 ]
18949 },
18950 "5": {
18951 "patterns": [
18952 {
18953 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
18954 "captures": {
18955 "1": {
18956 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
18957 },
18958 "2": {
18959 "name": "comment.block.cpp"
18960 },
18961 "3": {
18962 "patterns": [
18963 {
18964 "match": "\\*\\/",
18965 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
18966 },
18967 {
18968 "match": "\\*",
18969 "name": "comment.block.cpp"
18970 }
18971 ]
18972 }
18973 }
18974 }
18975 ]
18976 },
18977 "6": {
18978 "name": "meta.qualified_type.cpp",
18979 "patterns": [
18980 {
18981 "match": "::",
18982 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
18983 },
18984 {
18985 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
18986 "name": "storage.type.$0.cpp"
18987 },
18988 {
18989 "include": "#attributes_context"
18990 },
18991 {
18992 "include": "#storage_types"
18993 },
18994 {
18995 "include": "#number_literal"
18996 },
18997 {
18998 "include": "#string_context"
18999 },
19000 {
19001 "include": "#comma"
19002 },
19003 {
19004 "include": "#scope_resolution_inner_generated"
19005 },
19006 {
19007 "begin": "<",
19008 "end": ">",
19009 "beginCaptures": {
19010 "0": {
19011 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
19012 }
19013 },
19014 "endCaptures": {
19015 "0": {
19016 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
19017 }
19018 },
19019 "name": "meta.template.call.cpp",
19020 "patterns": [
19021 {
19022 "include": "#template_call_context"
19023 }
19024 ]
19025 },
19026 {
19027 "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}))*",
19028 "name": "entity.name.type.cpp"
19029 }
19030 ]
19031 },
19032 "7": {
19033 "patterns": [
19034 {
19035 "include": "#attributes_context"
19036 },
19037 {
19038 "include": "#number_literal"
19039 }
19040 ]
19041 },
19042 "8": {
19043 "patterns": [
19044 {
19045 "include": "#inline_comment"
19046 }
19047 ]
19048 },
19049 "9": {
19050 "patterns": [
19051 {
19052 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19053 "captures": {
19054 "1": {
19055 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19056 },
19057 "2": {
19058 "name": "comment.block.cpp"
19059 },
19060 "3": {
19061 "patterns": [
19062 {
19063 "match": "\\*\\/",
19064 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19065 },
19066 {
19067 "match": "\\*",
19068 "name": "comment.block.cpp"
19069 }
19070 ]
19071 }
19072 }
19073 }
19074 ]
19075 },
19076 "10": {
19077 "patterns": [
19078 {
19079 "include": "#inline_comment"
19080 }
19081 ]
19082 },
19083 "11": {
19084 "patterns": [
19085 {
19086 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19087 "captures": {
19088 "1": {
19089 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19090 },
19091 "2": {
19092 "name": "comment.block.cpp"
19093 },
19094 "3": {
19095 "patterns": [
19096 {
19097 "match": "\\*\\/",
19098 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19099 },
19100 {
19101 "match": "\\*",
19102 "name": "comment.block.cpp"
19103 }
19104 ]
19105 }
19106 }
19107 }
19108 ]
19109 },
19110 "12": {
19111 "patterns": [
19112 {
19113 "match": "::",
19114 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
19115 },
19116 {
19117 "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)",
19118 "name": "entity.name.scope-resolution.type.cpp"
19119 },
19120 {
19121 "include": "#template_call_range"
19122 }
19123 ]
19124 },
19125 "13": {
19126 "patterns": [
19127 {
19128 "include": "#template_call_range"
19129 }
19130 ]
19131 },
19132 "14": {},
19133 "15": {
19134 "patterns": [
19135 {
19136 "include": "#inline_comment"
19137 }
19138 ]
19139 },
19140 "16": {
19141 "patterns": [
19142 {
19143 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19144 "captures": {
19145 "1": {
19146 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19147 },
19148 "2": {
19149 "name": "comment.block.cpp"
19150 },
19151 "3": {
19152 "patterns": [
19153 {
19154 "match": "\\*\\/",
19155 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19156 },
19157 {
19158 "match": "\\*",
19159 "name": "comment.block.cpp"
19160 }
19161 ]
19162 }
19163 }
19164 }
19165 ]
19166 },
19167 "17": {}
19168 }
19169 },
19170 "undef": {
19171 "match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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))",
19172 "captures": {
19173 "1": {
19174 "name": "keyword.control.directive.undef.cpp"
19175 },
19176 "2": {
19177 "patterns": [
19178 {
19179 "include": "#inline_comment"
19180 }
19181 ]
19182 },
19183 "3": {
19184 "patterns": [
19185 {
19186 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19187 "captures": {
19188 "1": {
19189 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19190 },
19191 "2": {
19192 "name": "comment.block.cpp"
19193 },
19194 "3": {
19195 "patterns": [
19196 {
19197 "match": "\\*\\/",
19198 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19199 },
19200 {
19201 "match": "\\*",
19202 "name": "comment.block.cpp"
19203 }
19204 ]
19205 }
19206 }
19207 }
19208 ]
19209 },
19210 "4": {
19211 "name": "punctuation.definition.directive.cpp"
19212 },
19213 "5": {
19214 "patterns": [
19215 {
19216 "include": "#inline_comment"
19217 }
19218 ]
19219 },
19220 "6": {
19221 "patterns": [
19222 {
19223 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19224 "captures": {
19225 "1": {
19226 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19227 },
19228 "2": {
19229 "name": "comment.block.cpp"
19230 },
19231 "3": {
19232 "patterns": [
19233 {
19234 "match": "\\*\\/",
19235 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19236 },
19237 {
19238 "match": "\\*",
19239 "name": "comment.block.cpp"
19240 }
19241 ]
19242 }
19243 }
19244 }
19245 ]
19246 },
19247 "7": {
19248 "name": "entity.name.function.preprocessor.cpp"
19249 }
19250 },
19251 "name": "meta.preprocessor.undef.cpp"
19252 },
19253 "union_block": {
19254 "begin": "((?<!\\w)union(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
19255 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
19256 "beginCaptures": {
19257 "0": {
19258 "name": "meta.head.union.cpp"
19259 },
19260 "1": {
19261 "name": "storage.type.$1.cpp"
19262 },
19263 "2": {
19264 "patterns": [
19265 {
19266 "include": "#inline_comment"
19267 }
19268 ]
19269 },
19270 "3": {
19271 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19272 },
19273 "4": {
19274 "name": "comment.block.cpp"
19275 },
19276 "5": {
19277 "patterns": [
19278 {
19279 "match": "\\*\\/",
19280 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19281 },
19282 {
19283 "match": "\\*",
19284 "name": "comment.block.cpp"
19285 }
19286 ]
19287 },
19288 "6": {
19289 "patterns": [
19290 {
19291 "include": "#attributes_context"
19292 },
19293 {
19294 "include": "#number_literal"
19295 }
19296 ]
19297 },
19298 "7": {
19299 "patterns": [
19300 {
19301 "include": "#inline_comment"
19302 }
19303 ]
19304 },
19305 "8": {
19306 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19307 },
19308 "9": {
19309 "name": "comment.block.cpp"
19310 },
19311 "10": {
19312 "patterns": [
19313 {
19314 "match": "\\*\\/",
19315 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19316 },
19317 {
19318 "match": "\\*",
19319 "name": "comment.block.cpp"
19320 }
19321 ]
19322 },
19323 "11": {
19324 "patterns": [
19325 {
19326 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
19327 "captures": {
19328 "1": {
19329 "name": "storage.type.modifier.final.cpp"
19330 },
19331 "2": {
19332 "patterns": [
19333 {
19334 "include": "#inline_comment"
19335 }
19336 ]
19337 },
19338 "3": {
19339 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19340 },
19341 "4": {
19342 "name": "comment.block.cpp"
19343 },
19344 "5": {
19345 "patterns": [
19346 {
19347 "match": "\\*\\/",
19348 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19349 },
19350 {
19351 "match": "\\*",
19352 "name": "comment.block.cpp"
19353 }
19354 ]
19355 }
19356 }
19357 },
19358 {
19359 "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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
19360 "captures": {
19361 "1": {
19362 "name": "entity.name.type.union.cpp"
19363 },
19364 "2": {
19365 "patterns": [
19366 {
19367 "include": "#inline_comment"
19368 }
19369 ]
19370 },
19371 "3": {
19372 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19373 },
19374 "4": {
19375 "name": "comment.block.cpp"
19376 },
19377 "5": {
19378 "patterns": [
19379 {
19380 "match": "\\*\\/",
19381 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19382 },
19383 {
19384 "match": "\\*",
19385 "name": "comment.block.cpp"
19386 }
19387 ]
19388 },
19389 "6": {
19390 "name": "storage.type.modifier.final.cpp"
19391 },
19392 "7": {
19393 "patterns": [
19394 {
19395 "include": "#inline_comment"
19396 }
19397 ]
19398 },
19399 "8": {
19400 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19401 },
19402 "9": {
19403 "name": "comment.block.cpp"
19404 },
19405 "10": {
19406 "patterns": [
19407 {
19408 "match": "\\*\\/",
19409 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19410 },
19411 {
19412 "match": "\\*",
19413 "name": "comment.block.cpp"
19414 }
19415 ]
19416 }
19417 }
19418 },
19419 {
19420 "match": "DLLEXPORT",
19421 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
19422 },
19423 {
19424 "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}))*",
19425 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
19426 }
19427 ]
19428 },
19429 "12": {
19430 "patterns": [
19431 {
19432 "include": "#inline_comment"
19433 }
19434 ]
19435 },
19436 "13": {
19437 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19438 },
19439 "14": {
19440 "name": "comment.block.cpp"
19441 },
19442 "15": {
19443 "patterns": [
19444 {
19445 "match": "\\*\\/",
19446 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19447 },
19448 {
19449 "match": "\\*",
19450 "name": "comment.block.cpp"
19451 }
19452 ]
19453 },
19454 "16": {
19455 "patterns": [
19456 {
19457 "include": "#inline_comment"
19458 }
19459 ]
19460 },
19461 "17": {
19462 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19463 },
19464 "18": {
19465 "name": "comment.block.cpp"
19466 },
19467 "19": {
19468 "patterns": [
19469 {
19470 "match": "\\*\\/",
19471 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19472 },
19473 {
19474 "match": "\\*",
19475 "name": "comment.block.cpp"
19476 }
19477 ]
19478 },
19479 "20": {
19480 "name": "punctuation.separator.colon.inheritance.cpp"
19481 }
19482 },
19483 "endCaptures": {
19484 "1": {
19485 "name": "punctuation.terminator.statement.cpp"
19486 },
19487 "2": {
19488 "name": "punctuation.terminator.statement.cpp"
19489 }
19490 },
19491 "name": "meta.block.union.cpp",
19492 "patterns": [
19493 {
19494 "begin": "\\G ?",
19495 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
19496 "beginCaptures": {},
19497 "endCaptures": {
19498 "0": {
19499 "name": "punctuation.section.block.begin.bracket.curly.union.cpp"
19500 }
19501 },
19502 "name": "meta.head.union.cpp",
19503 "patterns": [
19504 {
19505 "include": "#ever_present_context"
19506 },
19507 {
19508 "include": "#inheritance_context"
19509 },
19510 {
19511 "include": "#template_call_range"
19512 }
19513 ]
19514 },
19515 {
19516 "begin": "(?<=\\{|<%|\\?\\?<)",
19517 "end": "\\}|%>|\\?\\?>",
19518 "beginCaptures": {},
19519 "endCaptures": {
19520 "0": {
19521 "name": "punctuation.section.block.end.bracket.curly.union.cpp"
19522 }
19523 },
19524 "name": "meta.body.union.cpp",
19525 "patterns": [
19526 {
19527 "include": "#function_pointer"
19528 },
19529 {
19530 "include": "#static_assert"
19531 },
19532 {
19533 "include": "#constructor_inline"
19534 },
19535 {
19536 "include": "#destructor_inline"
19537 },
19538 {
19539 "include": "$self"
19540 }
19541 ]
19542 },
19543 {
19544 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
19545 "end": "[\\s]*(?=;)",
19546 "beginCaptures": {},
19547 "endCaptures": {},
19548 "name": "meta.tail.union.cpp",
19549 "patterns": [
19550 {
19551 "include": "$self"
19552 }
19553 ]
19554 }
19555 ]
19556 },
19557 "union_declare": {
19558 "match": "((?<!\\w)union(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
19559 "captures": {
19560 "1": {
19561 "name": "storage.type.union.declare.cpp"
19562 },
19563 "2": {
19564 "patterns": [
19565 {
19566 "include": "#inline_comment"
19567 }
19568 ]
19569 },
19570 "3": {
19571 "patterns": [
19572 {
19573 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19574 "captures": {
19575 "1": {
19576 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19577 },
19578 "2": {
19579 "name": "comment.block.cpp"
19580 },
19581 "3": {
19582 "patterns": [
19583 {
19584 "match": "\\*\\/",
19585 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19586 },
19587 {
19588 "match": "\\*",
19589 "name": "comment.block.cpp"
19590 }
19591 ]
19592 }
19593 }
19594 }
19595 ]
19596 },
19597 "4": {
19598 "name": "entity.name.type.union.cpp"
19599 },
19600 "5": {
19601 "patterns": [
19602 {
19603 "match": "\\*",
19604 "name": "storage.modifier.pointer.cpp"
19605 },
19606 {
19607 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
19608 "captures": {
19609 "1": {
19610 "patterns": [
19611 {
19612 "include": "#inline_comment"
19613 }
19614 ]
19615 },
19616 "2": {
19617 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19618 },
19619 "3": {
19620 "name": "comment.block.cpp"
19621 },
19622 "4": {
19623 "patterns": [
19624 {
19625 "match": "\\*\\/",
19626 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19627 },
19628 {
19629 "match": "\\*",
19630 "name": "comment.block.cpp"
19631 }
19632 ]
19633 }
19634 },
19635 "name": "invalid.illegal.reference-type.cpp"
19636 },
19637 {
19638 "match": "\\&",
19639 "name": "storage.modifier.reference.cpp"
19640 }
19641 ]
19642 },
19643 "6": {
19644 "patterns": [
19645 {
19646 "include": "#inline_comment"
19647 }
19648 ]
19649 },
19650 "7": {
19651 "patterns": [
19652 {
19653 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19654 "captures": {
19655 "1": {
19656 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19657 },
19658 "2": {
19659 "name": "comment.block.cpp"
19660 },
19661 "3": {
19662 "patterns": [
19663 {
19664 "match": "\\*\\/",
19665 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19666 },
19667 {
19668 "match": "\\*",
19669 "name": "comment.block.cpp"
19670 }
19671 ]
19672 }
19673 }
19674 }
19675 ]
19676 },
19677 "8": {
19678 "patterns": [
19679 {
19680 "include": "#inline_comment"
19681 }
19682 ]
19683 },
19684 "9": {
19685 "patterns": [
19686 {
19687 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19688 "captures": {
19689 "1": {
19690 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19691 },
19692 "2": {
19693 "name": "comment.block.cpp"
19694 },
19695 "3": {
19696 "patterns": [
19697 {
19698 "match": "\\*\\/",
19699 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19700 },
19701 {
19702 "match": "\\*",
19703 "name": "comment.block.cpp"
19704 }
19705 ]
19706 }
19707 }
19708 }
19709 ]
19710 },
19711 "10": {
19712 "patterns": [
19713 {
19714 "include": "#inline_comment"
19715 }
19716 ]
19717 },
19718 "11": {
19719 "patterns": [
19720 {
19721 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19722 "captures": {
19723 "1": {
19724 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19725 },
19726 "2": {
19727 "name": "comment.block.cpp"
19728 },
19729 "3": {
19730 "patterns": [
19731 {
19732 "match": "\\*\\/",
19733 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19734 },
19735 {
19736 "match": "\\*",
19737 "name": "comment.block.cpp"
19738 }
19739 ]
19740 }
19741 }
19742 }
19743 ]
19744 },
19745 "12": {
19746 "name": "variable.other.object.declare.cpp"
19747 },
19748 "13": {
19749 "patterns": [
19750 {
19751 "include": "#inline_comment"
19752 }
19753 ]
19754 },
19755 "14": {
19756 "patterns": [
19757 {
19758 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19759 "captures": {
19760 "1": {
19761 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
19762 },
19763 "2": {
19764 "name": "comment.block.cpp"
19765 },
19766 "3": {
19767 "patterns": [
19768 {
19769 "match": "\\*\\/",
19770 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
19771 },
19772 {
19773 "match": "\\*",
19774 "name": "comment.block.cpp"
19775 }
19776 ]
19777 }
19778 }
19779 }
19780 ]
19781 }
19782 }
19783 },
19784 "using_name": {
19785 "match": "(using)(?:\\s)+(?!namespace\\b)",
19786 "captures": {
19787 "1": {
19788 "name": "keyword.other.using.directive.cpp"
19789 }
19790 }
19791 },
19792 "using_namespace": {
19793 "begin": "(?<!\\w)(using)(?:\\s)+(namespace)(?:\\s)+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|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)",
19794 "end": ";",
19795 "beginCaptures": {
19796 "1": {
19797 "name": "keyword.other.using.directive.cpp"
19798 },
19799 "2": {
19800 "name": "keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"
19801 },
19802 "3": {
19803 "patterns": [
19804 {
19805 "include": "#scope_resolution_namespace_using_inner_generated"
19806 }
19807 ]
19808 },
19809 "4": {
19810 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
19811 },
19812 "5": {
19813 "patterns": [
19814 {
19815 "include": "#template_call_range"
19816 }
19817 ]
19818 },
19819 "6": {},
19820 "7": {
19821 "name": "entity.name.namespace.cpp"
19822 }
19823 },
19824 "endCaptures": {
19825 "0": {
19826 "name": "punctuation.terminator.statement.cpp"
19827 }
19828 },
19829 "name": "meta.using-namespace.cpp"
19830 },
19831 "vararg_ellipses": {
19832 "match": "(?<!\\.)\\.\\.\\.(?!\\.)",
19833 "name": "punctuation.vararg-ellipses.cpp"
19834 },
19835 "wordlike_operators": {
19836 "patterns": [
19837 {
19838 "match": "(?<!\\w)(?:(?:noexcept)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:compl)|(?:bitor)|(?:or_eq)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:or))(?!\\w)",
19839 "name": "keyword.operator.wordlike.cpp keyword.operator.$0.cpp"
19840 }
19841 ]
19842 }
19843 }
19844 }
19845