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

16,310 lines 633.8 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/1866de22c09781cbceacc2c98063f7bf77b1ca62",
8 "name": "cpp",
9 "scopeName": "source.cpp",
10 "patterns": [
11 {
12 "include": "#ever_present_context"
13 },
14 {
15 "include": "#constructor_root"
16 },
17 {
18 "include": "#destructor_root"
19 },
20 {
21 "include": "#function_definition"
22 },
23 {
24 "include": "#operator_overload"
25 },
26 {
27 "include": "#using_namespace"
28 },
29 {
30 "include": "#type_alias"
31 },
32 {
33 "include": "#using_name"
34 },
35 {
36 "include": "#namespace_alias"
37 },
38 {
39 "include": "#namespace_block"
40 },
41 {
42 "include": "#extern_block"
43 },
44 {
45 "include": "#typedef_class"
46 },
47 {
48 "include": "#typedef_struct"
49 },
50 {
51 "include": "#typedef_union"
52 },
53 {
54 "include": "#misc_keywords"
55 },
56 {
57 "include": "#standard_declares"
58 },
59 {
60 "include": "#class_block"
61 },
62 {
63 "include": "#struct_block"
64 },
65 {
66 "include": "#union_block"
67 },
68 {
69 "include": "#enum_block"
70 },
71 {
72 "include": "#template_isolated_definition"
73 },
74 {
75 "include": "#template_definition"
76 },
77 {
78 "include": "#template_explicit_instantiation"
79 },
80 {
81 "include": "#access_control_keywords"
82 },
83 {
84 "include": "#block"
85 },
86 {
87 "include": "#static_assert"
88 },
89 {
90 "include": "#assembly"
91 },
92 {
93 "include": "#function_pointer"
94 },
95 {
96 "include": "#evaluation_context"
97 }
98 ],
99 "repository": {
100 "access_control_keywords": {
101 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\s)+)?(:))",
102 "captures": {
103 "1": {
104 "patterns": [
105 {
106 "include": "#inline_comment"
107 }
108 ]
109 },
110 "2": {
111 "patterns": [
112 {
113 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
114 "captures": {
115 "1": {
116 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
117 },
118 "2": {
119 "name": "comment.block.cpp"
120 },
121 "3": {
122 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
123 }
124 }
125 }
126 ]
127 },
128 "3": {
129 "name": "storage.type.modifier.access.control.$4.cpp"
130 },
131 "4": {},
132 "5": {
133 "name": "punctuation.separator.colon.access.control.cpp"
134 }
135 }
136 },
137 "alignas_attribute": {
138 "begin": "alignas\\(",
139 "end": "\\)",
140 "beginCaptures": {
141 "0": {
142 "name": "punctuation.section.attribute.begin.cpp"
143 }
144 },
145 "endCaptures": {
146 "0": {
147 "name": "punctuation.section.attribute.end.cpp"
148 }
149 },
150 "name": "support.other.attribute.cpp",
151 "patterns": [
152 {
153 "include": "#attributes_context"
154 },
155 {
156 "begin": "\\(",
157 "end": "\\)",
158 "beginCaptures": {},
159 "endCaptures": {},
160 "patterns": [
161 {
162 "include": "#attributes_context"
163 },
164 {
165 "include": "#string_context"
166 }
167 ]
168 },
169 {
170 "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))",
171 "captures": {
172 "1": {
173 "name": "keyword.other.using.directive.cpp"
174 },
175 "2": {
176 "name": "entity.name.namespace.cpp"
177 }
178 }
179 },
180 {
181 "match": ",",
182 "name": "punctuation.separator.attribute.cpp"
183 },
184 {
185 "match": ":",
186 "name": "punctuation.accessor.attribute.cpp"
187 },
188 {
189 "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)(?=::)",
190 "name": "entity.name.namespace.cpp"
191 },
192 {
193 "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)",
194 "name": "entity.other.attribute.$0.cpp"
195 },
196 {
197 "include": "#number_literal"
198 }
199 ]
200 },
201 "alignas_operator": {
202 "begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
203 "end": "\\)",
204 "beginCaptures": {
205 "1": {
206 "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
207 },
208 "2": {
209 "patterns": [
210 {
211 "include": "#inline_comment"
212 }
213 ]
214 },
215 "3": {
216 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
217 },
218 "4": {
219 "name": "comment.block.cpp"
220 },
221 "5": {
222 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
223 },
224 "6": {
225 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
226 }
227 },
228 "endCaptures": {
229 "0": {
230 "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
231 }
232 },
233 "contentName": "meta.arguments.operator.alignas",
234 "patterns": [
235 {
236 "include": "#evaluation_context"
237 }
238 ]
239 },
240 "alignof_operator": {
241 "begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
242 "end": "\\)",
243 "beginCaptures": {
244 "1": {
245 "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
246 },
247 "2": {
248 "patterns": [
249 {
250 "include": "#inline_comment"
251 }
252 ]
253 },
254 "3": {
255 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
256 },
257 "4": {
258 "name": "comment.block.cpp"
259 },
260 "5": {
261 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
262 },
263 "6": {
264 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
265 }
266 },
267 "endCaptures": {
268 "0": {
269 "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
270 }
271 },
272 "contentName": "meta.arguments.operator.alignof",
273 "patterns": [
274 {
275 "include": "#evaluation_context"
276 }
277 ]
278 },
279 "assembly": {
280 "begin": "(\\b(?:__asm__|asm)\\b)(?:(?:\\s)+)?((?:volatile)?)",
281 "end": "(?!\\G)",
282 "beginCaptures": {
283 "1": {
284 "name": "storage.type.asm.cpp"
285 },
286 "2": {
287 "name": "storage.modifier.cpp"
288 }
289 },
290 "endCaptures": {},
291 "name": "meta.asm.cpp",
292 "patterns": [
293 {
294 "match": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:\\n)|$)",
295 "captures": {
296 "1": {
297 "patterns": [
298 {
299 "include": "#inline_comment"
300 }
301 ]
302 },
303 "2": {
304 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
305 },
306 "3": {
307 "name": "comment.block.cpp"
308 },
309 "4": {
310 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
311 }
312 }
313 },
314 {
315 "include": "#comments"
316 },
317 {
318 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\(",
319 "end": "\\)",
320 "beginCaptures": {
321 "0": {
322 "name": "punctuation.section.parens.begin.bracket.round.assembly.cpp"
323 },
324 "1": {
325 "patterns": [
326 {
327 "include": "#inline_comment"
328 }
329 ]
330 },
331 "2": {
332 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
333 },
334 "3": {
335 "name": "comment.block.cpp"
336 },
337 "4": {
338 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
339 }
340 },
341 "endCaptures": {
342 "0": {
343 "name": "punctuation.section.parens.end.bracket.round.assembly.cpp"
344 }
345 },
346 "patterns": [
347 {
348 "begin": "(R?)(\")",
349 "end": "\"",
350 "beginCaptures": {
351 "1": {
352 "name": "meta.encoding.cpp"
353 },
354 "2": {
355 "name": "punctuation.definition.string.begin.assembly.cpp"
356 }
357 },
358 "endCaptures": {
359 "0": {
360 "name": "punctuation.definition.string.end.assembly.cpp"
361 }
362 },
363 "name": "string.quoted.double.cpp",
364 "contentName": "meta.embedded.assembly",
365 "patterns": [
366 {
367 "include": "source.asm"
368 },
369 {
370 "include": "source.x86"
371 },
372 {
373 "include": "source.x86_64"
374 },
375 {
376 "include": "source.arm"
377 },
378 {
379 "include": "#backslash_escapes"
380 },
381 {
382 "include": "#string_escaped_char"
383 }
384 ]
385 },
386 {
387 "begin": "\\(",
388 "end": "\\)",
389 "beginCaptures": {
390 "0": {
391 "name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"
392 }
393 },
394 "endCaptures": {
395 "0": {
396 "name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp"
397 }
398 },
399 "patterns": [
400 {
401 "include": "#evaluation_context"
402 }
403 ]
404 },
405 {
406 "match": "\\[((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\]",
407 "captures": {
408 "1": {
409 "patterns": [
410 {
411 "include": "#inline_comment"
412 }
413 ]
414 },
415 "2": {
416 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
417 },
418 "3": {
419 "name": "comment.block.cpp"
420 },
421 "4": {
422 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
423 },
424 "5": {
425 "name": "variable.other.asm.label.cpp"
426 },
427 "6": {
428 "patterns": [
429 {
430 "include": "#inline_comment"
431 }
432 ]
433 },
434 "7": {
435 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
436 },
437 "8": {
438 "name": "comment.block.cpp"
439 },
440 "9": {
441 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
442 }
443 }
444 },
445 {
446 "match": ":",
447 "name": "punctuation.separator.delimiter.colon.assembly.cpp"
448 },
449 {
450 "include": "#comments"
451 }
452 ]
453 }
454 ]
455 },
456 "assignment_operator": {
457 "match": "\\=",
458 "name": "keyword.operator.assignment.cpp"
459 },
460 "attributes_context": {
461 "patterns": [
462 {
463 "include": "#cpp_attributes"
464 },
465 {
466 "include": "#gcc_attributes"
467 },
468 {
469 "include": "#ms_attributes"
470 },
471 {
472 "include": "#alignas_attribute"
473 }
474 ]
475 },
476 "backslash_escapes": {
477 "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} )",
478 "name": "constant.character.escape"
479 },
480 "block": {
481 "begin": "{",
482 "end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",
483 "beginCaptures": {
484 "0": {
485 "name": "punctuation.section.block.begin.bracket.curly.cpp"
486 }
487 },
488 "endCaptures": {
489 "0": {
490 "name": "punctuation.section.block.end.bracket.curly.cpp"
491 }
492 },
493 "name": "meta.block.cpp",
494 "patterns": [
495 {
496 "include": "#function_body_context"
497 }
498 ]
499 },
500 "block_comment": {
501 "begin": "\\s*+(\\/\\*)",
502 "end": "\\*\\/",
503 "beginCaptures": {
504 "1": {
505 "name": "punctuation.definition.comment.begin.cpp"
506 }
507 },
508 "endCaptures": {
509 "0": {
510 "name": "punctuation.definition.comment.end.cpp"
511 }
512 },
513 "name": "comment.block.cpp"
514 },
515 "builtin_storage_type_initilizer": {
516 "begin": "(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)(?:\\s)*+(?<!\\w)(\\()",
517 "end": "\\)",
518 "beginCaptures": {
519 "1": {
520 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
521 },
522 "2": {
523 "name": "storage.type.cpp storage.type.built-in.cpp"
524 },
525 "3": {
526 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
527 },
528 "4": {
529 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
530 },
531 "5": {
532 "name": "punctuation.section.arguments.begin.bracket.round.initializer.cpp"
533 }
534 },
535 "endCaptures": {
536 "0": {
537 "name": "punctuation.section.arguments.end.bracket.round.initializer.cpp"
538 }
539 },
540 "patterns": [
541 {
542 "include": "#evaluation_context"
543 }
544 ]
545 },
546 "case_statement": {
547 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)case(?!\\w))",
548 "end": ":",
549 "beginCaptures": {
550 "1": {
551 "patterns": [
552 {
553 "include": "#inline_comment"
554 }
555 ]
556 },
557 "2": {
558 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
559 },
560 "3": {
561 "name": "comment.block.cpp"
562 },
563 "4": {
564 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
565 },
566 "5": {
567 "name": "keyword.control.case.cpp"
568 }
569 },
570 "endCaptures": {
571 "0": {
572 "name": "punctuation.separator.colon.case.cpp"
573 }
574 },
575 "name": "meta.conditional.case.cpp",
576 "patterns": [
577 {
578 "include": "#evaluation_context"
579 }
580 ]
581 },
582 "class_block": {
583 "begin": "((?<!\\w)class(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
584 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
585 "beginCaptures": {
586 "0": {
587 "name": "meta.head.class.cpp"
588 },
589 "1": {
590 "name": "storage.type.$1.cpp"
591 },
592 "2": {
593 "patterns": [
594 {
595 "include": "#inline_comment"
596 }
597 ]
598 },
599 "3": {
600 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
601 },
602 "4": {
603 "name": "comment.block.cpp"
604 },
605 "5": {
606 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
607 },
608 "6": {
609 "patterns": [
610 {
611 "include": "#attributes_context"
612 },
613 {
614 "include": "#number_literal"
615 }
616 ]
617 },
618 "7": {
619 "patterns": [
620 {
621 "include": "#inline_comment"
622 }
623 ]
624 },
625 "8": {
626 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
627 },
628 "9": {
629 "name": "comment.block.cpp"
630 },
631 "10": {
632 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
633 },
634 "11": {
635 "patterns": [
636 {
637 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))",
638 "captures": {
639 "1": {
640 "name": "storage.type.modifier.final.cpp"
641 },
642 "2": {
643 "patterns": [
644 {
645 "include": "#inline_comment"
646 }
647 ]
648 },
649 "3": {
650 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
651 },
652 "4": {
653 "name": "comment.block.cpp"
654 },
655 "5": {
656 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
657 }
658 }
659 },
660 {
661 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
662 "captures": {
663 "1": {
664 "name": "entity.name.type.class.cpp"
665 },
666 "2": {
667 "patterns": [
668 {
669 "include": "#inline_comment"
670 }
671 ]
672 },
673 "3": {
674 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
675 },
676 "4": {
677 "name": "comment.block.cpp"
678 },
679 "5": {
680 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
681 },
682 "6": {
683 "name": "storage.type.modifier.final.cpp"
684 },
685 "7": {
686 "patterns": [
687 {
688 "include": "#inline_comment"
689 }
690 ]
691 },
692 "8": {
693 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
694 },
695 "9": {
696 "name": "comment.block.cpp"
697 },
698 "10": {
699 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
700 }
701 }
702 },
703 {
704 "match": "DLLEXPORT",
705 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
706 },
707 {
708 "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}))*",
709 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
710 }
711 ]
712 },
713 "12": {
714 "patterns": [
715 {
716 "include": "#inline_comment"
717 }
718 ]
719 },
720 "13": {
721 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
722 },
723 "14": {
724 "name": "comment.block.cpp"
725 },
726 "15": {
727 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
728 },
729 "16": {
730 "patterns": [
731 {
732 "include": "#inline_comment"
733 }
734 ]
735 },
736 "17": {
737 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
738 },
739 "18": {
740 "name": "comment.block.cpp"
741 },
742 "19": {
743 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
744 },
745 "20": {
746 "name": "punctuation.separator.colon.inheritance.cpp"
747 }
748 },
749 "endCaptures": {
750 "1": {
751 "name": "punctuation.terminator.statement.cpp"
752 },
753 "2": {
754 "name": "punctuation.terminator.statement.cpp"
755 }
756 },
757 "name": "meta.block.class.cpp",
758 "patterns": [
759 {
760 "begin": "\\G ?",
761 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
762 "beginCaptures": {},
763 "endCaptures": {
764 "0": {
765 "name": "punctuation.section.block.begin.bracket.curly.class.cpp"
766 }
767 },
768 "name": "meta.head.class.cpp",
769 "patterns": [
770 {
771 "include": "#ever_present_context"
772 },
773 {
774 "include": "#inheritance_context"
775 },
776 {
777 "include": "#template_call_range"
778 }
779 ]
780 },
781 {
782 "begin": "(?<=\\{|<%|\\?\\?<)",
783 "end": "\\}|%>|\\?\\?>",
784 "beginCaptures": {},
785 "endCaptures": {
786 "0": {
787 "name": "punctuation.section.block.end.bracket.curly.class.cpp"
788 }
789 },
790 "name": "meta.body.class.cpp",
791 "patterns": [
792 {
793 "include": "#function_pointer"
794 },
795 {
796 "include": "#static_assert"
797 },
798 {
799 "include": "#constructor_inline"
800 },
801 {
802 "include": "#destructor_inline"
803 },
804 {
805 "include": "$self"
806 }
807 ]
808 },
809 {
810 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
811 "end": "[\\s]*(?=;)",
812 "beginCaptures": {},
813 "endCaptures": {},
814 "name": "meta.tail.class.cpp",
815 "patterns": [
816 {
817 "include": "$self"
818 }
819 ]
820 }
821 ]
822 },
823 "class_declare": {
824 "match": "((?<!\\w)class(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
825 "captures": {
826 "1": {
827 "name": "storage.type.class.declare.cpp"
828 },
829 "2": {
830 "patterns": [
831 {
832 "include": "#inline_comment"
833 }
834 ]
835 },
836 "3": {
837 "patterns": [
838 {
839 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
840 "captures": {
841 "1": {
842 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
843 },
844 "2": {
845 "name": "comment.block.cpp"
846 },
847 "3": {
848 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
849 }
850 }
851 }
852 ]
853 },
854 "4": {
855 "name": "entity.name.type.class.cpp"
856 },
857 "5": {
858 "patterns": [
859 {
860 "match": "\\*",
861 "name": "storage.modifier.pointer.cpp"
862 },
863 {
864 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
865 "captures": {
866 "1": {
867 "patterns": [
868 {
869 "include": "#inline_comment"
870 }
871 ]
872 },
873 "2": {
874 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
875 },
876 "3": {
877 "name": "comment.block.cpp"
878 },
879 "4": {
880 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
881 }
882 },
883 "name": "invalid.illegal.reference-type.cpp"
884 },
885 {
886 "match": "\\&",
887 "name": "storage.modifier.reference.cpp"
888 }
889 ]
890 },
891 "6": {
892 "patterns": [
893 {
894 "include": "#inline_comment"
895 }
896 ]
897 },
898 "7": {
899 "patterns": [
900 {
901 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
902 "captures": {
903 "1": {
904 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
905 },
906 "2": {
907 "name": "comment.block.cpp"
908 },
909 "3": {
910 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
911 }
912 }
913 }
914 ]
915 },
916 "8": {
917 "patterns": [
918 {
919 "include": "#inline_comment"
920 }
921 ]
922 },
923 "9": {
924 "patterns": [
925 {
926 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
927 "captures": {
928 "1": {
929 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
930 },
931 "2": {
932 "name": "comment.block.cpp"
933 },
934 "3": {
935 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
936 }
937 }
938 }
939 ]
940 },
941 "10": {
942 "patterns": [
943 {
944 "include": "#inline_comment"
945 }
946 ]
947 },
948 "11": {
949 "patterns": [
950 {
951 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
952 "captures": {
953 "1": {
954 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
955 },
956 "2": {
957 "name": "comment.block.cpp"
958 },
959 "3": {
960 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
961 }
962 }
963 }
964 ]
965 },
966 "12": {
967 "name": "variable.other.object.declare.cpp"
968 },
969 "13": {
970 "patterns": [
971 {
972 "include": "#inline_comment"
973 }
974 ]
975 },
976 "14": {
977 "patterns": [
978 {
979 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
980 "captures": {
981 "1": {
982 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
983 },
984 "2": {
985 "name": "comment.block.cpp"
986 },
987 "3": {
988 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
989 }
990 }
991 }
992 ]
993 }
994 }
995 },
996 "comma": {
997 "match": ",",
998 "name": "punctuation.separator.delimiter.comma.cpp"
999 },
1000 "comma_in_template_argument": {
1001 "match": ",",
1002 "name": "punctuation.separator.delimiter.comma.template.argument.cpp"
1003 },
1004 "comments": {
1005 "patterns": [
1006 {
1007 "begin": "^(?:(?:\\s)+)?+(\\/\\/[!\\/]+)",
1008 "end": "(?<=\\n)(?<!\\\\\\n)",
1009 "beginCaptures": {
1010 "1": {
1011 "name": "punctuation.definition.comment.documentation.cpp"
1012 }
1013 },
1014 "endCaptures": {},
1015 "name": "comment.line.double-slash.documentation.cpp",
1016 "patterns": [
1017 {
1018 "include": "#line_continuation_character"
1019 },
1020 {
1021 "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(?:\\{[^}]*\\})?",
1022 "name": "storage.type.class.doxygen.cpp"
1023 },
1024 {
1025 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",
1026 "captures": {
1027 "1": {
1028 "name": "storage.type.class.doxygen.cpp"
1029 },
1030 "2": {
1031 "name": "markup.italic.doxygen.cpp"
1032 }
1033 }
1034 },
1035 {
1036 "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",
1037 "captures": {
1038 "1": {
1039 "name": "storage.type.class.doxygen.cpp"
1040 },
1041 "2": {
1042 "name": "markup.bold.doxygen.cpp"
1043 }
1044 }
1045 },
1046 {
1047 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",
1048 "captures": {
1049 "1": {
1050 "name": "storage.type.class.doxygen.cpp"
1051 },
1052 "2": {
1053 "name": "markup.inline.raw.string.cpp"
1054 }
1055 }
1056 },
1057 {
1058 "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(?:\\{[^}]*\\})?",
1059 "name": "storage.type.class.doxygen.cpp"
1060 },
1061 {
1062 "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(?:\\{[^}]*\\})?",
1063 "name": "storage.type.class.doxygen.cpp"
1064 },
1065 {
1066 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",
1067 "captures": {
1068 "1": {
1069 "name": "storage.type.class.doxygen.cpp"
1070 },
1071 "2": {
1072 "patterns": [
1073 {
1074 "match": "in|out",
1075 "name": "keyword.other.parameter.direction.$0.cpp"
1076 }
1077 ]
1078 },
1079 "3": {
1080 "name": "variable.parameter.cpp"
1081 }
1082 }
1083 },
1084 {
1085 "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(?:\\{[^}]*\\})?",
1086 "name": "storage.type.class.doxygen.cpp"
1087 },
1088 {
1089 "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(?:\\{[^}]*\\})?",
1090 "name": "storage.type.class.doxygen.cpp"
1091 },
1092 {
1093 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1094 "name": "storage.type.class.gtkdoc.cpp"
1095 }
1096 ]
1097 },
1098 {
1099 "match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
1100 "captures": {
1101 "1": {
1102 "name": "punctuation.definition.comment.begin.documentation.cpp"
1103 },
1104 "2": {
1105 "patterns": [
1106 {
1107 "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(?:\\{[^}]*\\})?",
1108 "name": "storage.type.class.doxygen.cpp"
1109 },
1110 {
1111 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",
1112 "captures": {
1113 "1": {
1114 "name": "storage.type.class.doxygen.cpp"
1115 },
1116 "2": {
1117 "name": "markup.italic.doxygen.cpp"
1118 }
1119 }
1120 },
1121 {
1122 "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",
1123 "captures": {
1124 "1": {
1125 "name": "storage.type.class.doxygen.cpp"
1126 },
1127 "2": {
1128 "name": "markup.bold.doxygen.cpp"
1129 }
1130 }
1131 },
1132 {
1133 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",
1134 "captures": {
1135 "1": {
1136 "name": "storage.type.class.doxygen.cpp"
1137 },
1138 "2": {
1139 "name": "markup.inline.raw.string.cpp"
1140 }
1141 }
1142 },
1143 {
1144 "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(?:\\{[^}]*\\})?",
1145 "name": "storage.type.class.doxygen.cpp"
1146 },
1147 {
1148 "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(?:\\{[^}]*\\})?",
1149 "name": "storage.type.class.doxygen.cpp"
1150 },
1151 {
1152 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",
1153 "captures": {
1154 "1": {
1155 "name": "storage.type.class.doxygen.cpp"
1156 },
1157 "2": {
1158 "patterns": [
1159 {
1160 "match": "in|out",
1161 "name": "keyword.other.parameter.direction.$0.cpp"
1162 }
1163 ]
1164 },
1165 "3": {
1166 "name": "variable.parameter.cpp"
1167 }
1168 }
1169 },
1170 {
1171 "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(?:\\{[^}]*\\})?",
1172 "name": "storage.type.class.doxygen.cpp"
1173 },
1174 {
1175 "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(?:\\{[^}]*\\})?",
1176 "name": "storage.type.class.doxygen.cpp"
1177 },
1178 {
1179 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1180 "name": "storage.type.class.gtkdoc.cpp"
1181 }
1182 ]
1183 },
1184 "3": {
1185 "name": "punctuation.definition.comment.end.documentation.cpp"
1186 }
1187 },
1188 "name": "comment.block.documentation.cpp"
1189 },
1190 {
1191 "begin": "(?:(?:\\s)+)?+\\/\\*[!*]+(?:(?:(?:\\n)|$)|(?=\\s))",
1192 "end": "[!*]*\\*\\/",
1193 "beginCaptures": {
1194 "0": {
1195 "name": "punctuation.definition.comment.begin.documentation.cpp"
1196 }
1197 },
1198 "endCaptures": {
1199 "0": {
1200 "name": "punctuation.definition.comment.end.documentation.cpp"
1201 }
1202 },
1203 "name": "comment.block.documentation.cpp",
1204 "patterns": [
1205 {
1206 "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(?:\\{[^}]*\\})?",
1207 "name": "storage.type.class.doxygen.cpp"
1208 },
1209 {
1210 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",
1211 "captures": {
1212 "1": {
1213 "name": "storage.type.class.doxygen.cpp"
1214 },
1215 "2": {
1216 "name": "markup.italic.doxygen.cpp"
1217 }
1218 }
1219 },
1220 {
1221 "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",
1222 "captures": {
1223 "1": {
1224 "name": "storage.type.class.doxygen.cpp"
1225 },
1226 "2": {
1227 "name": "markup.bold.doxygen.cpp"
1228 }
1229 }
1230 },
1231 {
1232 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",
1233 "captures": {
1234 "1": {
1235 "name": "storage.type.class.doxygen.cpp"
1236 },
1237 "2": {
1238 "name": "markup.inline.raw.string.cpp"
1239 }
1240 }
1241 },
1242 {
1243 "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(?:\\{[^}]*\\})?",
1244 "name": "storage.type.class.doxygen.cpp"
1245 },
1246 {
1247 "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(?:\\{[^}]*\\})?",
1248 "name": "storage.type.class.doxygen.cpp"
1249 },
1250 {
1251 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",
1252 "captures": {
1253 "1": {
1254 "name": "storage.type.class.doxygen.cpp"
1255 },
1256 "2": {
1257 "patterns": [
1258 {
1259 "match": "in|out",
1260 "name": "keyword.other.parameter.direction.$0.cpp"
1261 }
1262 ]
1263 },
1264 "3": {
1265 "name": "variable.parameter.cpp"
1266 }
1267 }
1268 },
1269 {
1270 "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(?:\\{[^}]*\\})?",
1271 "name": "storage.type.class.doxygen.cpp"
1272 },
1273 {
1274 "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(?:\\{[^}]*\\})?",
1275 "name": "storage.type.class.doxygen.cpp"
1276 },
1277 {
1278 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1279 "name": "storage.type.class.gtkdoc.cpp"
1280 }
1281 ]
1282 },
1283 {
1284 "include": "#emacs_file_banner"
1285 },
1286 {
1287 "include": "#block_comment"
1288 },
1289 {
1290 "include": "#line_comment"
1291 },
1292 {
1293 "include": "#invalid_comment_end"
1294 }
1295 ]
1296 },
1297 "constructor_inline": {
1298 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())",
1299 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
1300 "beginCaptures": {
1301 "0": {
1302 "name": "meta.head.function.definition.special.constructor.cpp"
1303 },
1304 "1": {
1305 "patterns": [
1306 {
1307 "include": "#inline_comment"
1308 }
1309 ]
1310 },
1311 "2": {
1312 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1313 },
1314 "3": {
1315 "name": "comment.block.cpp"
1316 },
1317 "4": {
1318 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1319 },
1320 "5": {
1321 "patterns": [
1322 {
1323 "include": "#functional_specifiers_pre_parameters"
1324 }
1325 ]
1326 },
1327 "6": {
1328 "patterns": [
1329 {
1330 "include": "#inline_comment"
1331 }
1332 ]
1333 },
1334 "7": {
1335 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1336 },
1337 "8": {
1338 "name": "comment.block.cpp"
1339 },
1340 "9": {
1341 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1342 },
1343 "10": {
1344 "patterns": [
1345 {
1346 "include": "#inline_comment"
1347 }
1348 ]
1349 },
1350 "11": {
1351 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1352 },
1353 "12": {
1354 "name": "comment.block.cpp"
1355 },
1356 "13": {
1357 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1358 },
1359 "14": {
1360 "name": "storage.type.modifier.calling-convention.cpp"
1361 },
1362 "15": {
1363 "patterns": [
1364 {
1365 "include": "#inline_comment"
1366 }
1367 ]
1368 },
1369 "16": {
1370 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1371 },
1372 "17": {
1373 "name": "comment.block.cpp"
1374 },
1375 "18": {
1376 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1377 },
1378 "19": {
1379 "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"
1380 }
1381 },
1382 "endCaptures": {},
1383 "name": "meta.function.definition.special.constructor.cpp",
1384 "patterns": [
1385 {
1386 "begin": "\\G ?",
1387 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
1388 "beginCaptures": {},
1389 "endCaptures": {
1390 "0": {
1391 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
1392 }
1393 },
1394 "name": "meta.head.function.definition.special.constructor.cpp",
1395 "patterns": [
1396 {
1397 "include": "#ever_present_context"
1398 },
1399 {
1400 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
1401 "captures": {
1402 "1": {
1403 "name": "keyword.operator.assignment.cpp"
1404 },
1405 "2": {
1406 "patterns": [
1407 {
1408 "include": "#inline_comment"
1409 }
1410 ]
1411 },
1412 "3": {
1413 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1414 },
1415 "4": {
1416 "name": "comment.block.cpp"
1417 },
1418 "5": {
1419 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1420 },
1421 "6": {
1422 "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"
1423 },
1424 "7": {
1425 "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"
1426 }
1427 }
1428 },
1429 {
1430 "include": "#functional_specifiers_pre_parameters"
1431 },
1432 {
1433 "begin": ":",
1434 "end": "(?=\\{)",
1435 "beginCaptures": {
1436 "0": {
1437 "name": "punctuation.separator.initializers.cpp"
1438 }
1439 },
1440 "endCaptures": {},
1441 "patterns": [
1442 {
1443 "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)*+)?(\\()",
1444 "end": "\\)",
1445 "beginCaptures": {
1446 "1": {
1447 "name": "entity.name.function.call.initializer.cpp"
1448 },
1449 "2": {
1450 "name": "meta.template.call.cpp",
1451 "patterns": [
1452 {
1453 "include": "#template_call_range"
1454 }
1455 ]
1456 },
1457 "3": {},
1458 "4": {
1459 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1460 }
1461 },
1462 "endCaptures": {
1463 "0": {
1464 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1465 }
1466 },
1467 "contentName": "meta.parameter.initialization",
1468 "patterns": [
1469 {
1470 "include": "#evaluation_context"
1471 }
1472 ]
1473 },
1474 {
1475 "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))(\\{)",
1476 "end": "\\}",
1477 "beginCaptures": {
1478 "1": {
1479 "name": "entity.name.function.call.initializer.cpp"
1480 },
1481 "2": {
1482 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1483 }
1484 },
1485 "endCaptures": {
1486 "0": {
1487 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1488 }
1489 },
1490 "contentName": "meta.parameter.initialization",
1491 "patterns": [
1492 {
1493 "include": "#evaluation_context"
1494 }
1495 ]
1496 },
1497 {
1498 "match": ",",
1499 "name": "punctuation.separator.delimiter.comma.cpp"
1500 },
1501 {
1502 "include": "#comments"
1503 }
1504 ]
1505 },
1506 {
1507 "begin": "\\(",
1508 "end": "\\)",
1509 "beginCaptures": {
1510 "0": {
1511 "name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
1512 }
1513 },
1514 "endCaptures": {
1515 "0": {
1516 "name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
1517 }
1518 },
1519 "contentName": "meta.function.definition.parameters.special.constructor",
1520 "patterns": [
1521 {
1522 "include": "#function_parameter_context"
1523 },
1524 {
1525 "include": "#evaluation_context"
1526 }
1527 ]
1528 },
1529 {
1530 "include": "#qualifiers_and_specifiers_post_parameters"
1531 },
1532 {
1533 "include": "$self"
1534 }
1535 ]
1536 },
1537 {
1538 "begin": "(?<=\\{|<%|\\?\\?<)",
1539 "end": "\\}|%>|\\?\\?>",
1540 "beginCaptures": {},
1541 "endCaptures": {
1542 "0": {
1543 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
1544 }
1545 },
1546 "name": "meta.body.function.definition.special.constructor.cpp",
1547 "patterns": [
1548 {
1549 "include": "#function_body_context"
1550 }
1551 ]
1552 },
1553 {
1554 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
1555 "end": "[\\s]*(?=;)",
1556 "beginCaptures": {},
1557 "endCaptures": {},
1558 "name": "meta.tail.function.definition.special.constructor.cpp",
1559 "patterns": [
1560 {
1561 "include": "$self"
1562 }
1563 ]
1564 }
1565 ]
1566 },
1567 "constructor_root": {
1568 "begin": "\\s*+((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\14((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\())",
1569 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
1570 "beginCaptures": {
1571 "0": {
1572 "name": "meta.head.function.definition.special.constructor.cpp"
1573 },
1574 "1": {
1575 "patterns": [
1576 {
1577 "include": "#inline_comment"
1578 }
1579 ]
1580 },
1581 "2": {
1582 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1583 },
1584 "3": {
1585 "name": "comment.block.cpp"
1586 },
1587 "4": {
1588 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1589 },
1590 "5": {
1591 "name": "storage.type.modifier.calling-convention.cpp"
1592 },
1593 "6": {
1594 "patterns": [
1595 {
1596 "include": "#inline_comment"
1597 }
1598 ]
1599 },
1600 "7": {
1601 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1602 },
1603 "8": {
1604 "name": "comment.block.cpp"
1605 },
1606 "9": {
1607 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1608 },
1609 "10": {
1610 "patterns": [
1611 {
1612 "match": "::",
1613 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
1614 },
1615 {
1616 "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)",
1617 "name": "entity.name.scope-resolution.constructor.cpp"
1618 },
1619 {
1620 "include": "#template_call_range"
1621 }
1622 ]
1623 },
1624 "11": {
1625 "patterns": [
1626 {
1627 "include": "#template_call_range"
1628 }
1629 ]
1630 },
1631 "12": {},
1632 "13": {
1633 "patterns": [
1634 {
1635 "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}))*(?=:)",
1636 "name": "entity.name.type.constructor.cpp"
1637 },
1638 {
1639 "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}))*",
1640 "name": "entity.name.function.definition.special.constructor.cpp"
1641 },
1642 {
1643 "match": "::",
1644 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
1645 }
1646 ]
1647 },
1648 "14": {},
1649 "15": {
1650 "patterns": [
1651 {
1652 "include": "#inline_comment"
1653 }
1654 ]
1655 },
1656 "16": {
1657 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1658 },
1659 "17": {
1660 "name": "comment.block.cpp"
1661 },
1662 "18": {
1663 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1664 },
1665 "19": {
1666 "patterns": [
1667 {
1668 "include": "#inline_comment"
1669 }
1670 ]
1671 },
1672 "20": {
1673 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1674 },
1675 "21": {
1676 "name": "comment.block.cpp"
1677 },
1678 "22": {
1679 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1680 },
1681 "23": {
1682 "patterns": [
1683 {
1684 "include": "#inline_comment"
1685 }
1686 ]
1687 },
1688 "24": {
1689 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1690 },
1691 "25": {
1692 "name": "comment.block.cpp"
1693 },
1694 "26": {
1695 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1696 }
1697 },
1698 "endCaptures": {},
1699 "name": "meta.function.definition.special.constructor.cpp",
1700 "patterns": [
1701 {
1702 "begin": "\\G ?",
1703 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
1704 "beginCaptures": {},
1705 "endCaptures": {
1706 "0": {
1707 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
1708 }
1709 },
1710 "name": "meta.head.function.definition.special.constructor.cpp",
1711 "patterns": [
1712 {
1713 "include": "#ever_present_context"
1714 },
1715 {
1716 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
1717 "captures": {
1718 "1": {
1719 "name": "keyword.operator.assignment.cpp"
1720 },
1721 "2": {
1722 "patterns": [
1723 {
1724 "include": "#inline_comment"
1725 }
1726 ]
1727 },
1728 "3": {
1729 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1730 },
1731 "4": {
1732 "name": "comment.block.cpp"
1733 },
1734 "5": {
1735 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1736 },
1737 "6": {
1738 "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"
1739 },
1740 "7": {
1741 "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"
1742 }
1743 }
1744 },
1745 {
1746 "include": "#functional_specifiers_pre_parameters"
1747 },
1748 {
1749 "begin": ":",
1750 "end": "(?=\\{)",
1751 "beginCaptures": {
1752 "0": {
1753 "name": "punctuation.separator.initializers.cpp"
1754 }
1755 },
1756 "endCaptures": {},
1757 "patterns": [
1758 {
1759 "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)*+)?(\\()",
1760 "end": "\\)",
1761 "beginCaptures": {
1762 "1": {
1763 "name": "entity.name.function.call.initializer.cpp"
1764 },
1765 "2": {
1766 "name": "meta.template.call.cpp",
1767 "patterns": [
1768 {
1769 "include": "#template_call_range"
1770 }
1771 ]
1772 },
1773 "3": {},
1774 "4": {
1775 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1776 }
1777 },
1778 "endCaptures": {
1779 "0": {
1780 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1781 }
1782 },
1783 "contentName": "meta.parameter.initialization",
1784 "patterns": [
1785 {
1786 "include": "#evaluation_context"
1787 }
1788 ]
1789 },
1790 {
1791 "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))(\\{)",
1792 "end": "\\}",
1793 "beginCaptures": {
1794 "1": {
1795 "name": "entity.name.function.call.initializer.cpp"
1796 },
1797 "2": {
1798 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1799 }
1800 },
1801 "endCaptures": {
1802 "0": {
1803 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1804 }
1805 },
1806 "contentName": "meta.parameter.initialization",
1807 "patterns": [
1808 {
1809 "include": "#evaluation_context"
1810 }
1811 ]
1812 },
1813 {
1814 "match": ",",
1815 "name": "punctuation.separator.delimiter.comma.cpp"
1816 },
1817 {
1818 "include": "#comments"
1819 }
1820 ]
1821 },
1822 {
1823 "begin": "\\(",
1824 "end": "\\)",
1825 "beginCaptures": {
1826 "0": {
1827 "name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
1828 }
1829 },
1830 "endCaptures": {
1831 "0": {
1832 "name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
1833 }
1834 },
1835 "contentName": "meta.function.definition.parameters.special.constructor",
1836 "patterns": [
1837 {
1838 "include": "#function_parameter_context"
1839 },
1840 {
1841 "include": "#evaluation_context"
1842 }
1843 ]
1844 },
1845 {
1846 "include": "#qualifiers_and_specifiers_post_parameters"
1847 },
1848 {
1849 "include": "$self"
1850 }
1851 ]
1852 },
1853 {
1854 "begin": "(?<=\\{|<%|\\?\\?<)",
1855 "end": "\\}|%>|\\?\\?>",
1856 "beginCaptures": {},
1857 "endCaptures": {
1858 "0": {
1859 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
1860 }
1861 },
1862 "name": "meta.body.function.definition.special.constructor.cpp",
1863 "patterns": [
1864 {
1865 "include": "#function_body_context"
1866 }
1867 ]
1868 },
1869 {
1870 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
1871 "end": "[\\s]*(?=;)",
1872 "beginCaptures": {},
1873 "endCaptures": {},
1874 "name": "meta.tail.function.definition.special.constructor.cpp",
1875 "patterns": [
1876 {
1877 "include": "$self"
1878 }
1879 ]
1880 }
1881 ]
1882 },
1883 "control_flow_keywords": {
1884 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:co_return)|(?:co_yield)|(?:co_await)|(?:continue)|(?:default)|(?:switch)|(?:return)|(?:catch)|(?:while)|(?:throw)|(?:break)|(?:case)|(?:goto)|(?:else)|(?:for)|(?:try)|(?:if)|(?:do))(?!\\w))",
1885 "captures": {
1886 "1": {
1887 "patterns": [
1888 {
1889 "include": "#inline_comment"
1890 }
1891 ]
1892 },
1893 "2": {
1894 "patterns": [
1895 {
1896 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
1897 "captures": {
1898 "1": {
1899 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1900 },
1901 "2": {
1902 "name": "comment.block.cpp"
1903 },
1904 "3": {
1905 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1906 }
1907 }
1908 }
1909 ]
1910 },
1911 "3": {
1912 "name": "keyword.control.$3.cpp"
1913 }
1914 }
1915 },
1916 "cpp_attributes": {
1917 "begin": "\\[\\[",
1918 "end": "\\]\\]",
1919 "beginCaptures": {
1920 "0": {
1921 "name": "punctuation.section.attribute.begin.cpp"
1922 }
1923 },
1924 "endCaptures": {
1925 "0": {
1926 "name": "punctuation.section.attribute.end.cpp"
1927 }
1928 },
1929 "name": "support.other.attribute.cpp",
1930 "patterns": [
1931 {
1932 "include": "#attributes_context"
1933 },
1934 {
1935 "begin": "\\(",
1936 "end": "\\)",
1937 "beginCaptures": {},
1938 "endCaptures": {},
1939 "patterns": [
1940 {
1941 "include": "#attributes_context"
1942 },
1943 {
1944 "include": "#string_context"
1945 }
1946 ]
1947 },
1948 {
1949 "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))",
1950 "captures": {
1951 "1": {
1952 "name": "keyword.other.using.directive.cpp"
1953 },
1954 "2": {
1955 "name": "entity.name.namespace.cpp"
1956 }
1957 }
1958 },
1959 {
1960 "match": ",",
1961 "name": "punctuation.separator.attribute.cpp"
1962 },
1963 {
1964 "match": ":",
1965 "name": "punctuation.accessor.attribute.cpp"
1966 },
1967 {
1968 "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)(?=::)",
1969 "name": "entity.name.namespace.cpp"
1970 },
1971 {
1972 "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)",
1973 "name": "entity.other.attribute.$0.cpp"
1974 },
1975 {
1976 "include": "#number_literal"
1977 }
1978 ]
1979 },
1980 "curly_initializer": {
1981 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)",
1982 "end": "\\}",
1983 "beginCaptures": {
1984 "1": {
1985 "name": "meta.qualified_type.cpp",
1986 "patterns": [
1987 {
1988 "match": "::",
1989 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
1990 },
1991 {
1992 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
1993 "name": "storage.type.$0.cpp"
1994 },
1995 {
1996 "include": "#attributes_context"
1997 },
1998 {
1999 "include": "#storage_types"
2000 },
2001 {
2002 "include": "#number_literal"
2003 },
2004 {
2005 "include": "#string_context"
2006 },
2007 {
2008 "include": "#comma"
2009 },
2010 {
2011 "include": "#scope_resolution_inner_generated"
2012 },
2013 {
2014 "begin": "<",
2015 "end": ">",
2016 "beginCaptures": {
2017 "0": {
2018 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
2019 }
2020 },
2021 "endCaptures": {
2022 "0": {
2023 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
2024 }
2025 },
2026 "name": "meta.template.call.cpp",
2027 "patterns": [
2028 {
2029 "include": "#template_call_context"
2030 }
2031 ]
2032 },
2033 {
2034 "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}))*",
2035 "name": "entity.name.type.cpp"
2036 }
2037 ]
2038 },
2039 "2": {
2040 "patterns": [
2041 {
2042 "include": "#attributes_context"
2043 },
2044 {
2045 "include": "#number_literal"
2046 }
2047 ]
2048 },
2049 "3": {
2050 "patterns": [
2051 {
2052 "include": "#inline_comment"
2053 }
2054 ]
2055 },
2056 "4": {
2057 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2058 },
2059 "5": {
2060 "name": "comment.block.cpp"
2061 },
2062 "6": {
2063 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2064 },
2065 "7": {
2066 "patterns": [
2067 {
2068 "include": "#inline_comment"
2069 }
2070 ]
2071 },
2072 "8": {
2073 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2074 },
2075 "9": {
2076 "name": "comment.block.cpp"
2077 },
2078 "10": {
2079 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2080 },
2081 "11": {
2082 "patterns": [
2083 {
2084 "match": "::",
2085 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
2086 },
2087 {
2088 "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)",
2089 "name": "entity.name.scope-resolution.type.cpp"
2090 },
2091 {
2092 "include": "#template_call_range"
2093 }
2094 ]
2095 },
2096 "12": {
2097 "patterns": [
2098 {
2099 "include": "#template_call_range"
2100 }
2101 ]
2102 },
2103 "13": {},
2104 "14": {
2105 "patterns": [
2106 {
2107 "include": "#inline_comment"
2108 }
2109 ]
2110 },
2111 "15": {
2112 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2113 },
2114 "16": {
2115 "name": "comment.block.cpp"
2116 },
2117 "17": {
2118 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2119 },
2120 "18": {},
2121 "19": {
2122 "patterns": [
2123 {
2124 "include": "#inline_comment"
2125 }
2126 ]
2127 },
2128 "20": {
2129 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2130 },
2131 "21": {
2132 "name": "comment.block.cpp"
2133 },
2134 "22": {
2135 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2136 },
2137 "23": {
2138 "name": "punctuation.section.arguments.begin.bracket.curly.initializer.cpp"
2139 }
2140 },
2141 "endCaptures": {
2142 "0": {
2143 "name": "punctuation.section.arguments.end.bracket.curly.initializer.cpp"
2144 }
2145 },
2146 "name": "meta.initialization.cpp",
2147 "patterns": [
2148 {
2149 "include": "#evaluation_context"
2150 },
2151 {
2152 "include": "#comma"
2153 }
2154 ]
2155 },
2156 "d9bc4796b0b_module_import": {
2157 "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((import))(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)",
2158 "captures": {
2159 "1": {
2160 "patterns": [
2161 {
2162 "include": "#inline_comment"
2163 }
2164 ]
2165 },
2166 "2": {
2167 "patterns": [
2168 {
2169 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2170 "captures": {
2171 "1": {
2172 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2173 },
2174 "2": {
2175 "name": "comment.block.cpp"
2176 },
2177 "3": {
2178 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2179 }
2180 }
2181 }
2182 ]
2183 },
2184 "3": {
2185 "name": "keyword.control.directive.import.cpp"
2186 },
2187 "5": {
2188 "name": "string.quoted.other.lt-gt.include.cpp"
2189 },
2190 "6": {
2191 "name": "punctuation.definition.string.begin.cpp"
2192 },
2193 "7": {
2194 "name": "punctuation.definition.string.end.cpp"
2195 },
2196 "8": {
2197 "patterns": [
2198 {
2199 "include": "#inline_comment"
2200 }
2201 ]
2202 },
2203 "9": {
2204 "patterns": [
2205 {
2206 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2207 "captures": {
2208 "1": {
2209 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2210 },
2211 "2": {
2212 "name": "comment.block.cpp"
2213 },
2214 "3": {
2215 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2216 }
2217 }
2218 }
2219 ]
2220 },
2221 "10": {
2222 "name": "string.quoted.double.include.cpp"
2223 },
2224 "11": {
2225 "name": "punctuation.definition.string.begin.cpp"
2226 },
2227 "12": {
2228 "name": "punctuation.definition.string.end.cpp"
2229 },
2230 "13": {
2231 "patterns": [
2232 {
2233 "include": "#inline_comment"
2234 }
2235 ]
2236 },
2237 "14": {
2238 "patterns": [
2239 {
2240 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2241 "captures": {
2242 "1": {
2243 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2244 },
2245 "2": {
2246 "name": "comment.block.cpp"
2247 },
2248 "3": {
2249 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2250 }
2251 }
2252 }
2253 ]
2254 },
2255 "15": {
2256 "name": "entity.name.other.preprocessor.macro.include.cpp"
2257 },
2258 "16": {
2259 "patterns": [
2260 {
2261 "include": "#inline_comment"
2262 }
2263 ]
2264 },
2265 "17": {
2266 "patterns": [
2267 {
2268 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2269 "captures": {
2270 "1": {
2271 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2272 },
2273 "2": {
2274 "name": "comment.block.cpp"
2275 },
2276 "3": {
2277 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2278 }
2279 }
2280 }
2281 ]
2282 },
2283 "18": {
2284 "patterns": [
2285 {
2286 "include": "#inline_comment"
2287 }
2288 ]
2289 },
2290 "19": {
2291 "patterns": [
2292 {
2293 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2294 "captures": {
2295 "1": {
2296 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2297 },
2298 "2": {
2299 "name": "comment.block.cpp"
2300 },
2301 "3": {
2302 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2303 }
2304 }
2305 }
2306 ]
2307 },
2308 "20": {
2309 "patterns": [
2310 {
2311 "include": "#inline_comment"
2312 }
2313 ]
2314 },
2315 "21": {
2316 "patterns": [
2317 {
2318 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
2319 "captures": {
2320 "1": {
2321 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2322 },
2323 "2": {
2324 "name": "comment.block.cpp"
2325 },
2326 "3": {
2327 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2328 }
2329 }
2330 }
2331 ]
2332 },
2333 "22": {
2334 "name": "punctuation.terminator.statement.cpp"
2335 }
2336 },
2337 "name": "meta.preprocessor.import.cpp"
2338 },
2339 "d9bc4796b0b_preprocessor_number_literal": {
2340 "match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
2341 "captures": {
2342 "0": {
2343 "patterns": [
2344 {
2345 "begin": "(?=.)",
2346 "end": "$",
2347 "beginCaptures": {},
2348 "endCaptures": {},
2349 "patterns": [
2350 {
2351 "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))?$",
2352 "captures": {
2353 "1": {
2354 "name": "keyword.other.unit.hexadecimal.cpp"
2355 },
2356 "2": {
2357 "name": "constant.numeric.hexadecimal.cpp",
2358 "patterns": [
2359 {
2360 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2361 "name": "punctuation.separator.constant.numeric.cpp"
2362 }
2363 ]
2364 },
2365 "3": {
2366 "name": "punctuation.separator.constant.numeric.cpp"
2367 },
2368 "4": {
2369 "name": "constant.numeric.hexadecimal.cpp"
2370 },
2371 "5": {
2372 "name": "constant.numeric.hexadecimal.cpp",
2373 "patterns": [
2374 {
2375 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2376 "name": "punctuation.separator.constant.numeric.cpp"
2377 }
2378 ]
2379 },
2380 "6": {
2381 "name": "punctuation.separator.constant.numeric.cpp"
2382 },
2383 "7": {
2384 "name": "keyword.other.unit.exponent.hexadecimal.cpp"
2385 },
2386 "8": {
2387 "name": "keyword.operator.plus.exponent.hexadecimal.cpp"
2388 },
2389 "9": {
2390 "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
2391 },
2392 "10": {
2393 "name": "constant.numeric.exponent.hexadecimal.cpp",
2394 "patterns": [
2395 {
2396 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2397 "name": "punctuation.separator.constant.numeric.cpp"
2398 }
2399 ]
2400 },
2401 "11": {
2402 "name": "keyword.other.unit.suffix.floating-point.cpp"
2403 }
2404 }
2405 },
2406 {
2407 "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))?$",
2408 "captures": {
2409 "1": {
2410 "name": "constant.numeric.decimal.cpp",
2411 "patterns": [
2412 {
2413 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2414 "name": "punctuation.separator.constant.numeric.cpp"
2415 }
2416 ]
2417 },
2418 "2": {
2419 "name": "punctuation.separator.constant.numeric.cpp"
2420 },
2421 "3": {
2422 "name": "constant.numeric.decimal.point.cpp"
2423 },
2424 "4": {
2425 "name": "constant.numeric.decimal.cpp",
2426 "patterns": [
2427 {
2428 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2429 "name": "punctuation.separator.constant.numeric.cpp"
2430 }
2431 ]
2432 },
2433 "5": {
2434 "name": "punctuation.separator.constant.numeric.cpp"
2435 },
2436 "6": {
2437 "name": "keyword.other.unit.exponent.decimal.cpp"
2438 },
2439 "7": {
2440 "name": "keyword.operator.plus.exponent.decimal.cpp"
2441 },
2442 "8": {
2443 "name": "keyword.operator.minus.exponent.decimal.cpp"
2444 },
2445 "9": {
2446 "name": "constant.numeric.exponent.decimal.cpp",
2447 "patterns": [
2448 {
2449 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2450 "name": "punctuation.separator.constant.numeric.cpp"
2451 }
2452 ]
2453 },
2454 "10": {
2455 "name": "keyword.other.unit.suffix.floating-point.cpp"
2456 }
2457 }
2458 },
2459 {
2460 "match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2461 "captures": {
2462 "1": {
2463 "name": "keyword.other.unit.binary.cpp"
2464 },
2465 "2": {
2466 "name": "constant.numeric.binary.cpp",
2467 "patterns": [
2468 {
2469 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2470 "name": "punctuation.separator.constant.numeric.cpp"
2471 }
2472 ]
2473 },
2474 "3": {
2475 "name": "punctuation.separator.constant.numeric.cpp"
2476 },
2477 "4": {
2478 "name": "keyword.other.unit.suffix.integer.cpp"
2479 }
2480 }
2481 },
2482 {
2483 "match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2484 "captures": {
2485 "1": {
2486 "name": "keyword.other.unit.octal.cpp"
2487 },
2488 "2": {
2489 "name": "constant.numeric.octal.cpp",
2490 "patterns": [
2491 {
2492 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2493 "name": "punctuation.separator.constant.numeric.cpp"
2494 }
2495 ]
2496 },
2497 "3": {
2498 "name": "punctuation.separator.constant.numeric.cpp"
2499 },
2500 "4": {
2501 "name": "keyword.other.unit.suffix.integer.cpp"
2502 }
2503 }
2504 },
2505 {
2506 "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))?$",
2507 "captures": {
2508 "1": {
2509 "name": "keyword.other.unit.hexadecimal.cpp"
2510 },
2511 "2": {
2512 "name": "constant.numeric.hexadecimal.cpp",
2513 "patterns": [
2514 {
2515 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2516 "name": "punctuation.separator.constant.numeric.cpp"
2517 }
2518 ]
2519 },
2520 "3": {
2521 "name": "punctuation.separator.constant.numeric.cpp"
2522 },
2523 "4": {
2524 "name": "keyword.other.unit.exponent.hexadecimal.cpp"
2525 },
2526 "5": {
2527 "name": "keyword.operator.plus.exponent.hexadecimal.cpp"
2528 },
2529 "6": {
2530 "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
2531 },
2532 "7": {
2533 "name": "constant.numeric.exponent.hexadecimal.cpp",
2534 "patterns": [
2535 {
2536 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2537 "name": "punctuation.separator.constant.numeric.cpp"
2538 }
2539 ]
2540 },
2541 "8": {
2542 "name": "keyword.other.unit.suffix.integer.cpp"
2543 }
2544 }
2545 },
2546 {
2547 "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))?$",
2548 "captures": {
2549 "1": {
2550 "name": "constant.numeric.decimal.cpp",
2551 "patterns": [
2552 {
2553 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2554 "name": "punctuation.separator.constant.numeric.cpp"
2555 }
2556 ]
2557 },
2558 "2": {
2559 "name": "punctuation.separator.constant.numeric.cpp"
2560 },
2561 "3": {
2562 "name": "keyword.other.unit.exponent.decimal.cpp"
2563 },
2564 "4": {
2565 "name": "keyword.operator.plus.exponent.decimal.cpp"
2566 },
2567 "5": {
2568 "name": "keyword.operator.minus.exponent.decimal.cpp"
2569 },
2570 "6": {
2571 "name": "constant.numeric.exponent.decimal.cpp",
2572 "patterns": [
2573 {
2574 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2575 "name": "punctuation.separator.constant.numeric.cpp"
2576 }
2577 ]
2578 },
2579 "7": {
2580 "name": "keyword.other.unit.suffix.integer.cpp"
2581 }
2582 }
2583 },
2584 {
2585 "match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
2586 "name": "invalid.illegal.constant.numeric.cpp"
2587 }
2588 ]
2589 }
2590 ]
2591 }
2592 }
2593 },
2594 "decltype": {
2595 "begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
2596 "end": "\\)",
2597 "beginCaptures": {
2598 "1": {
2599 "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
2600 },
2601 "2": {
2602 "patterns": [
2603 {
2604 "include": "#inline_comment"
2605 }
2606 ]
2607 },
2608 "3": {
2609 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2610 },
2611 "4": {
2612 "name": "comment.block.cpp"
2613 },
2614 "5": {
2615 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2616 },
2617 "6": {
2618 "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
2619 }
2620 },
2621 "endCaptures": {
2622 "0": {
2623 "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
2624 }
2625 },
2626 "contentName": "meta.arguments.decltype",
2627 "patterns": [
2628 {
2629 "include": "#evaluation_context"
2630 }
2631 ]
2632 },
2633 "decltype_specifier": {
2634 "begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
2635 "end": "\\)",
2636 "beginCaptures": {
2637 "1": {
2638 "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
2639 },
2640 "2": {
2641 "patterns": [
2642 {
2643 "include": "#inline_comment"
2644 }
2645 ]
2646 },
2647 "3": {
2648 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2649 },
2650 "4": {
2651 "name": "comment.block.cpp"
2652 },
2653 "5": {
2654 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2655 },
2656 "6": {
2657 "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
2658 }
2659 },
2660 "endCaptures": {
2661 "0": {
2662 "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
2663 }
2664 },
2665 "contentName": "meta.arguments.decltype",
2666 "patterns": [
2667 {
2668 "include": "#evaluation_context"
2669 }
2670 ]
2671 },
2672 "default_statement": {
2673 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)default(?!\\w))",
2674 "end": ":",
2675 "beginCaptures": {
2676 "1": {
2677 "patterns": [
2678 {
2679 "include": "#inline_comment"
2680 }
2681 ]
2682 },
2683 "2": {
2684 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2685 },
2686 "3": {
2687 "name": "comment.block.cpp"
2688 },
2689 "4": {
2690 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2691 },
2692 "5": {
2693 "name": "keyword.control.default.cpp"
2694 }
2695 },
2696 "endCaptures": {
2697 "0": {
2698 "name": "punctuation.separator.colon.case.default.cpp"
2699 }
2700 },
2701 "name": "meta.conditional.case.cpp",
2702 "patterns": [
2703 {
2704 "include": "#evaluation_context"
2705 }
2706 ]
2707 },
2708 "destructor_inline": {
2709 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*)(~(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())",
2710 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
2711 "beginCaptures": {
2712 "0": {
2713 "name": "meta.head.function.definition.special.member.destructor.cpp"
2714 },
2715 "1": {
2716 "patterns": [
2717 {
2718 "include": "#inline_comment"
2719 }
2720 ]
2721 },
2722 "2": {
2723 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2724 },
2725 "3": {
2726 "name": "comment.block.cpp"
2727 },
2728 "4": {
2729 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2730 },
2731 "5": {
2732 "patterns": [
2733 {
2734 "include": "#inline_comment"
2735 }
2736 ]
2737 },
2738 "6": {
2739 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2740 },
2741 "7": {
2742 "name": "comment.block.cpp"
2743 },
2744 "8": {
2745 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2746 },
2747 "9": {
2748 "name": "storage.type.modifier.calling-convention.cpp"
2749 },
2750 "10": {
2751 "patterns": [
2752 {
2753 "include": "#inline_comment"
2754 }
2755 ]
2756 },
2757 "11": {
2758 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2759 },
2760 "12": {
2761 "name": "comment.block.cpp"
2762 },
2763 "13": {
2764 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2765 },
2766 "14": {
2767 "patterns": [
2768 {
2769 "include": "#functional_specifiers_pre_parameters"
2770 }
2771 ]
2772 },
2773 "15": {
2774 "patterns": [
2775 {
2776 "include": "#inline_comment"
2777 }
2778 ]
2779 },
2780 "16": {
2781 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2782 },
2783 "17": {
2784 "name": "comment.block.cpp"
2785 },
2786 "18": {
2787 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2788 },
2789 "19": {
2790 "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"
2791 }
2792 },
2793 "endCaptures": {},
2794 "name": "meta.function.definition.special.member.destructor.cpp",
2795 "patterns": [
2796 {
2797 "begin": "\\G ?",
2798 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
2799 "beginCaptures": {},
2800 "endCaptures": {
2801 "0": {
2802 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
2803 }
2804 },
2805 "name": "meta.head.function.definition.special.member.destructor.cpp",
2806 "patterns": [
2807 {
2808 "include": "#ever_present_context"
2809 },
2810 {
2811 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
2812 "captures": {
2813 "1": {
2814 "name": "keyword.operator.assignment.cpp"
2815 },
2816 "2": {
2817 "patterns": [
2818 {
2819 "include": "#inline_comment"
2820 }
2821 ]
2822 },
2823 "3": {
2824 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2825 },
2826 "4": {
2827 "name": "comment.block.cpp"
2828 },
2829 "5": {
2830 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2831 },
2832 "6": {
2833 "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"
2834 },
2835 "7": {
2836 "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"
2837 }
2838 }
2839 },
2840 {
2841 "begin": "\\(",
2842 "end": "\\)",
2843 "beginCaptures": {
2844 "0": {
2845 "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
2846 }
2847 },
2848 "endCaptures": {
2849 "0": {
2850 "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
2851 }
2852 },
2853 "contentName": "meta.function.definition.parameters.special.member.destructor",
2854 "patterns": []
2855 },
2856 {
2857 "include": "#qualifiers_and_specifiers_post_parameters"
2858 },
2859 {
2860 "include": "$self"
2861 }
2862 ]
2863 },
2864 {
2865 "begin": "(?<=\\{|<%|\\?\\?<)",
2866 "end": "\\}|%>|\\?\\?>",
2867 "beginCaptures": {},
2868 "endCaptures": {
2869 "0": {
2870 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
2871 }
2872 },
2873 "name": "meta.body.function.definition.special.member.destructor.cpp",
2874 "patterns": [
2875 {
2876 "include": "#function_body_context"
2877 }
2878 ]
2879 },
2880 {
2881 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
2882 "end": "[\\s]*(?=;)",
2883 "beginCaptures": {},
2884 "endCaptures": {},
2885 "name": "meta.tail.function.definition.special.member.destructor.cpp",
2886 "patterns": [
2887 {
2888 "include": "$self"
2889 }
2890 ]
2891 }
2892 ]
2893 },
2894 "destructor_root": {
2895 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))~\\14((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\())",
2896 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
2897 "beginCaptures": {
2898 "0": {
2899 "name": "meta.head.function.definition.special.member.destructor.cpp"
2900 },
2901 "1": {
2902 "patterns": [
2903 {
2904 "include": "#inline_comment"
2905 }
2906 ]
2907 },
2908 "2": {
2909 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2910 },
2911 "3": {
2912 "name": "comment.block.cpp"
2913 },
2914 "4": {
2915 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2916 },
2917 "5": {
2918 "name": "storage.type.modifier.calling-convention.cpp"
2919 },
2920 "6": {
2921 "patterns": [
2922 {
2923 "include": "#inline_comment"
2924 }
2925 ]
2926 },
2927 "7": {
2928 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2929 },
2930 "8": {
2931 "name": "comment.block.cpp"
2932 },
2933 "9": {
2934 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2935 },
2936 "10": {
2937 "patterns": [
2938 {
2939 "match": "::",
2940 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
2941 },
2942 {
2943 "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)",
2944 "name": "entity.name.scope-resolution.destructor.cpp"
2945 },
2946 {
2947 "include": "#template_call_range"
2948 }
2949 ]
2950 },
2951 "11": {
2952 "patterns": [
2953 {
2954 "include": "#template_call_range"
2955 }
2956 ]
2957 },
2958 "12": {},
2959 "13": {
2960 "patterns": [
2961 {
2962 "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}))*(?=:)",
2963 "name": "entity.name.type.destructor.cpp"
2964 },
2965 {
2966 "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}))*",
2967 "name": "entity.name.function.definition.special.member.destructor.cpp"
2968 },
2969 {
2970 "match": "::",
2971 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
2972 }
2973 ]
2974 },
2975 "14": {},
2976 "15": {
2977 "patterns": [
2978 {
2979 "include": "#inline_comment"
2980 }
2981 ]
2982 },
2983 "16": {
2984 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2985 },
2986 "17": {
2987 "name": "comment.block.cpp"
2988 },
2989 "18": {
2990 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2991 },
2992 "19": {
2993 "patterns": [
2994 {
2995 "include": "#inline_comment"
2996 }
2997 ]
2998 },
2999 "20": {
3000 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3001 },
3002 "21": {
3003 "name": "comment.block.cpp"
3004 },
3005 "22": {
3006 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3007 },
3008 "23": {
3009 "patterns": [
3010 {
3011 "include": "#inline_comment"
3012 }
3013 ]
3014 },
3015 "24": {
3016 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3017 },
3018 "25": {
3019 "name": "comment.block.cpp"
3020 },
3021 "26": {
3022 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3023 }
3024 },
3025 "endCaptures": {},
3026 "name": "meta.function.definition.special.member.destructor.cpp",
3027 "patterns": [
3028 {
3029 "begin": "\\G ?",
3030 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
3031 "beginCaptures": {},
3032 "endCaptures": {
3033 "0": {
3034 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
3035 }
3036 },
3037 "name": "meta.head.function.definition.special.member.destructor.cpp",
3038 "patterns": [
3039 {
3040 "include": "#ever_present_context"
3041 },
3042 {
3043 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
3044 "captures": {
3045 "1": {
3046 "name": "keyword.operator.assignment.cpp"
3047 },
3048 "2": {
3049 "patterns": [
3050 {
3051 "include": "#inline_comment"
3052 }
3053 ]
3054 },
3055 "3": {
3056 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3057 },
3058 "4": {
3059 "name": "comment.block.cpp"
3060 },
3061 "5": {
3062 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3063 },
3064 "6": {
3065 "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"
3066 },
3067 "7": {
3068 "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"
3069 }
3070 }
3071 },
3072 {
3073 "begin": "\\(",
3074 "end": "\\)",
3075 "beginCaptures": {
3076 "0": {
3077 "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
3078 }
3079 },
3080 "endCaptures": {
3081 "0": {
3082 "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
3083 }
3084 },
3085 "contentName": "meta.function.definition.parameters.special.member.destructor",
3086 "patterns": []
3087 },
3088 {
3089 "include": "#qualifiers_and_specifiers_post_parameters"
3090 },
3091 {
3092 "include": "$self"
3093 }
3094 ]
3095 },
3096 {
3097 "begin": "(?<=\\{|<%|\\?\\?<)",
3098 "end": "\\}|%>|\\?\\?>",
3099 "beginCaptures": {},
3100 "endCaptures": {
3101 "0": {
3102 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
3103 }
3104 },
3105 "name": "meta.body.function.definition.special.member.destructor.cpp",
3106 "patterns": [
3107 {
3108 "include": "#function_body_context"
3109 }
3110 ]
3111 },
3112 {
3113 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3114 "end": "[\\s]*(?=;)",
3115 "beginCaptures": {},
3116 "endCaptures": {},
3117 "name": "meta.tail.function.definition.special.member.destructor.cpp",
3118 "patterns": [
3119 {
3120 "include": "$self"
3121 }
3122 ]
3123 }
3124 ]
3125 },
3126 "diagnostic": {
3127 "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?",
3128 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
3129 "beginCaptures": {
3130 "1": {
3131 "name": "keyword.control.directive.diagnostic.$7.cpp"
3132 },
3133 "2": {
3134 "patterns": [
3135 {
3136 "include": "#inline_comment"
3137 }
3138 ]
3139 },
3140 "3": {
3141 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3142 },
3143 "4": {
3144 "name": "comment.block.cpp"
3145 },
3146 "5": {
3147 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3148 },
3149 "6": {
3150 "name": "punctuation.definition.directive.cpp"
3151 },
3152 "7": {}
3153 },
3154 "endCaptures": {},
3155 "name": "meta.preprocessor.diagnostic.$reference(directive).cpp",
3156 "patterns": [
3157 {
3158 "begin": "\"",
3159 "end": "(?:(\")|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))",
3160 "beginCaptures": {
3161 "0": {
3162 "name": "punctuation.definition.string.begin.cpp"
3163 }
3164 },
3165 "endCaptures": {
3166 "1": {
3167 "name": "punctuation.definition.string.end.cpp"
3168 }
3169 },
3170 "name": "string.quoted.double.cpp",
3171 "patterns": [
3172 {
3173 "include": "#line_continuation_character"
3174 }
3175 ]
3176 },
3177 {
3178 "begin": "'",
3179 "end": "(?:(')|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))",
3180 "beginCaptures": {
3181 "0": {
3182 "name": "punctuation.definition.string.begin.cpp"
3183 }
3184 },
3185 "endCaptures": {
3186 "1": {
3187 "name": "punctuation.definition.string.end.cpp"
3188 }
3189 },
3190 "name": "string.quoted.single.cpp",
3191 "patterns": [
3192 {
3193 "include": "#line_continuation_character"
3194 }
3195 ]
3196 },
3197 {
3198 "begin": "[^'\"]",
3199 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
3200 "beginCaptures": {},
3201 "endCaptures": {},
3202 "name": "string.unquoted.cpp",
3203 "patterns": [
3204 {
3205 "include": "#line_continuation_character"
3206 },
3207 {
3208 "include": "#comments"
3209 }
3210 ]
3211 }
3212 ]
3213 },
3214 "emacs_file_banner": {
3215 "match": "(?:(^(?:(?:\\s)+)?((\\/\\/)(?:(?:\\s)+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:(?:\\s)+)?.+(?:(?:\\s)+)?\\4(?:(?:\\s)+)?(?:\\n|$)))|(^(?:(?:\\s)+)?((\\/\\*)(?:(?:\\s)+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:(?:\\s)+)?.+(?:(?:\\s)+)?\\8(?:(?:\\s)+)?\\*\\/)))",
3216 "captures": {
3217 "1": {
3218 "name": "meta.toc-list.banner.double-slash.cpp"
3219 },
3220 "2": {
3221 "name": "comment.line.double-slash.cpp"
3222 },
3223 "3": {
3224 "name": "punctuation.definition.comment.cpp"
3225 },
3226 "4": {
3227 "name": "meta.banner.character.cpp"
3228 },
3229 "5": {
3230 "name": "meta.toc-list.banner.block.cpp"
3231 },
3232 "6": {
3233 "name": "comment.line.banner.cpp"
3234 },
3235 "7": {
3236 "name": "punctuation.definition.comment.cpp"
3237 },
3238 "8": {
3239 "name": "meta.banner.character.cpp"
3240 }
3241 }
3242 },
3243 "empty_square_brackets": {
3244 "name": "storage.modifier.array.bracket.square",
3245 "match": "(?<!delete)\\[(?:(?:\\s)+)?\\]"
3246 },
3247 "enum_block": {
3248 "begin": "((?<!\\w)enum(?!\\w))(?:(?:\\s)+(class|struct))?(?:(?:(?:\\s)+|((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\))))|(?={))(?:(?:\\s)+)?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)(?:(?:(?:\\s)+)?(:)(?:(?:\\s)+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))?",
3249 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
3250 "beginCaptures": {
3251 "0": {
3252 "name": "meta.head.enum.cpp"
3253 },
3254 "1": {
3255 "name": "storage.type.enum.cpp"
3256 },
3257 "2": {
3258 "name": "storage.type.enum.enum-key.$2.cpp"
3259 },
3260 "3": {
3261 "patterns": [
3262 {
3263 "include": "#attributes_context"
3264 },
3265 {
3266 "include": "#number_literal"
3267 }
3268 ]
3269 },
3270 "4": {
3271 "name": "entity.name.type.enum.cpp"
3272 },
3273 "5": {
3274 "name": "punctuation.separator.colon.type-specifier.cpp"
3275 },
3276 "6": {
3277 "patterns": [
3278 {
3279 "include": "#scope_resolution_inner_generated"
3280 }
3281 ]
3282 },
3283 "7": {
3284 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3285 },
3286 "8": {
3287 "patterns": [
3288 {
3289 "include": "#template_call_range"
3290 }
3291 ]
3292 },
3293 "9": {},
3294 "10": {
3295 "name": "entity.name.scope-resolution.cpp"
3296 },
3297 "11": {
3298 "name": "meta.template.call.cpp",
3299 "patterns": [
3300 {
3301 "include": "#template_call_range"
3302 }
3303 ]
3304 },
3305 "12": {},
3306 "13": {
3307 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3308 },
3309 "14": {
3310 "name": "storage.type.integral.$14.cpp"
3311 }
3312 },
3313 "endCaptures": {
3314 "1": {
3315 "name": "punctuation.terminator.statement.cpp"
3316 },
3317 "2": {
3318 "name": "punctuation.terminator.statement.cpp"
3319 }
3320 },
3321 "name": "meta.block.enum.cpp",
3322 "patterns": [
3323 {
3324 "begin": "\\G ?",
3325 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
3326 "beginCaptures": {},
3327 "endCaptures": {
3328 "0": {
3329 "name": "punctuation.section.block.begin.bracket.curly.enum.cpp"
3330 }
3331 },
3332 "name": "meta.head.enum.cpp",
3333 "patterns": [
3334 {
3335 "include": "$self"
3336 }
3337 ]
3338 },
3339 {
3340 "begin": "(?<=\\{|<%|\\?\\?<)",
3341 "end": "\\}|%>|\\?\\?>",
3342 "beginCaptures": {},
3343 "endCaptures": {
3344 "0": {
3345 "name": "punctuation.section.block.end.bracket.curly.enum.cpp"
3346 }
3347 },
3348 "name": "meta.body.enum.cpp",
3349 "patterns": [
3350 {
3351 "include": "#ever_present_context"
3352 },
3353 {
3354 "include": "#enumerator_list"
3355 },
3356 {
3357 "include": "#comments"
3358 },
3359 {
3360 "include": "#comma"
3361 },
3362 {
3363 "include": "#semicolon"
3364 }
3365 ]
3366 },
3367 {
3368 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3369 "end": "[\\s]*(?=;)",
3370 "beginCaptures": {},
3371 "endCaptures": {},
3372 "name": "meta.tail.enum.cpp",
3373 "patterns": [
3374 {
3375 "include": "$self"
3376 }
3377 ]
3378 }
3379 ]
3380 },
3381 "enum_declare": {
3382 "match": "((?<!\\w)enum(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
3383 "captures": {
3384 "1": {
3385 "name": "storage.type.enum.declare.cpp"
3386 },
3387 "2": {
3388 "patterns": [
3389 {
3390 "include": "#inline_comment"
3391 }
3392 ]
3393 },
3394 "3": {
3395 "patterns": [
3396 {
3397 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3398 "captures": {
3399 "1": {
3400 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3401 },
3402 "2": {
3403 "name": "comment.block.cpp"
3404 },
3405 "3": {
3406 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3407 }
3408 }
3409 }
3410 ]
3411 },
3412 "4": {
3413 "name": "entity.name.type.enum.cpp"
3414 },
3415 "5": {
3416 "patterns": [
3417 {
3418 "match": "\\*",
3419 "name": "storage.modifier.pointer.cpp"
3420 },
3421 {
3422 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
3423 "captures": {
3424 "1": {
3425 "patterns": [
3426 {
3427 "include": "#inline_comment"
3428 }
3429 ]
3430 },
3431 "2": {
3432 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3433 },
3434 "3": {
3435 "name": "comment.block.cpp"
3436 },
3437 "4": {
3438 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3439 }
3440 },
3441 "name": "invalid.illegal.reference-type.cpp"
3442 },
3443 {
3444 "match": "\\&",
3445 "name": "storage.modifier.reference.cpp"
3446 }
3447 ]
3448 },
3449 "6": {
3450 "patterns": [
3451 {
3452 "include": "#inline_comment"
3453 }
3454 ]
3455 },
3456 "7": {
3457 "patterns": [
3458 {
3459 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3460 "captures": {
3461 "1": {
3462 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3463 },
3464 "2": {
3465 "name": "comment.block.cpp"
3466 },
3467 "3": {
3468 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3469 }
3470 }
3471 }
3472 ]
3473 },
3474 "8": {
3475 "patterns": [
3476 {
3477 "include": "#inline_comment"
3478 }
3479 ]
3480 },
3481 "9": {
3482 "patterns": [
3483 {
3484 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3485 "captures": {
3486 "1": {
3487 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3488 },
3489 "2": {
3490 "name": "comment.block.cpp"
3491 },
3492 "3": {
3493 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3494 }
3495 }
3496 }
3497 ]
3498 },
3499 "10": {
3500 "patterns": [
3501 {
3502 "include": "#inline_comment"
3503 }
3504 ]
3505 },
3506 "11": {
3507 "patterns": [
3508 {
3509 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3510 "captures": {
3511 "1": {
3512 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3513 },
3514 "2": {
3515 "name": "comment.block.cpp"
3516 },
3517 "3": {
3518 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3519 }
3520 }
3521 }
3522 ]
3523 },
3524 "12": {
3525 "name": "variable.other.object.declare.cpp"
3526 },
3527 "13": {
3528 "patterns": [
3529 {
3530 "include": "#inline_comment"
3531 }
3532 ]
3533 },
3534 "14": {
3535 "patterns": [
3536 {
3537 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3538 "captures": {
3539 "1": {
3540 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3541 },
3542 "2": {
3543 "name": "comment.block.cpp"
3544 },
3545 "3": {
3546 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3547 }
3548 }
3549 }
3550 ]
3551 }
3552 }
3553 },
3554 "enumerator_list": {
3555 "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))|(?=\\}[^']))|(?=(?:\\/\\/|\\/\\*)))",
3556 "captures": {
3557 "1": {
3558 "name": "variable.other.enummember.cpp"
3559 },
3560 "2": {
3561 "patterns": [
3562 {
3563 "include": "#attributes_context"
3564 },
3565 {
3566 "include": "#number_literal"
3567 }
3568 ]
3569 },
3570 "3": {
3571 "name": "keyword.operator.assignment.cpp"
3572 },
3573 "4": {
3574 "patterns": [
3575 {
3576 "include": "#evaluation_context"
3577 }
3578 ]
3579 },
3580 "5": {
3581 "patterns": [
3582 {
3583 "include": "#comma"
3584 },
3585 {
3586 "include": "#semicolon"
3587 }
3588 ]
3589 }
3590 },
3591 "name": "meta.enum.definition.cpp"
3592 },
3593 "evaluation_context": {
3594 "patterns": [
3595 {
3596 "include": "#ever_present_context"
3597 },
3598 {
3599 "include": "#string_context"
3600 },
3601 {
3602 "include": "#number_literal"
3603 },
3604 {
3605 "include": "#method_access"
3606 },
3607 {
3608 "include": "#member_access"
3609 },
3610 {
3611 "include": "#predefined_macros"
3612 },
3613 {
3614 "include": "#operators"
3615 },
3616 {
3617 "include": "#memory_operators"
3618 },
3619 {
3620 "include": "#wordlike_operators"
3621 },
3622 {
3623 "include": "#type_casting_operators"
3624 },
3625 {
3626 "include": "#control_flow_keywords"
3627 },
3628 {
3629 "include": "#exception_keywords"
3630 },
3631 {
3632 "include": "#the_this_keyword"
3633 },
3634 {
3635 "include": "#language_constants"
3636 },
3637 {
3638 "include": "#builtin_storage_type_initilizer"
3639 },
3640 {
3641 "include": "#qualifiers_and_specifiers_post_parameters"
3642 },
3643 {
3644 "include": "#functional_specifiers_pre_parameters"
3645 },
3646 {
3647 "include": "#storage_types"
3648 },
3649 {
3650 "include": "#lambdas"
3651 },
3652 {
3653 "include": "#attributes_context"
3654 },
3655 {
3656 "include": "#parentheses"
3657 },
3658 {
3659 "include": "#function_call"
3660 },
3661 {
3662 "include": "#scope_resolution_inner_generated"
3663 },
3664 {
3665 "include": "#square_brackets"
3666 },
3667 {
3668 "include": "#semicolon"
3669 },
3670 {
3671 "include": "#comma"
3672 }
3673 ]
3674 },
3675 "ever_present_context": {
3676 "patterns": [
3677 {
3678 "include": "#pragma_mark"
3679 },
3680 {
3681 "include": "#pragma"
3682 },
3683 {
3684 "include": "#include"
3685 },
3686 {
3687 "include": "#line"
3688 },
3689 {
3690 "include": "#diagnostic"
3691 },
3692 {
3693 "include": "#undef"
3694 },
3695 {
3696 "include": "#preprocessor_conditional_range"
3697 },
3698 {
3699 "include": "#single_line_macro"
3700 },
3701 {
3702 "include": "#macro"
3703 },
3704 {
3705 "include": "#preprocessor_conditional_standalone"
3706 },
3707 {
3708 "include": "#macro_argument"
3709 },
3710 {
3711 "include": "#comments"
3712 },
3713 {
3714 "include": "#line_continuation_character"
3715 }
3716 ]
3717 },
3718 "exception_keywords": {
3719 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:throw)|(?:catch)|(?:try))(?!\\w))",
3720 "captures": {
3721 "1": {
3722 "patterns": [
3723 {
3724 "include": "#inline_comment"
3725 }
3726 ]
3727 },
3728 "2": {
3729 "patterns": [
3730 {
3731 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
3732 "captures": {
3733 "1": {
3734 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3735 },
3736 "2": {
3737 "name": "comment.block.cpp"
3738 },
3739 "3": {
3740 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3741 }
3742 }
3743 }
3744 ]
3745 },
3746 "3": {
3747 "name": "keyword.control.exception.$3.cpp"
3748 }
3749 }
3750 },
3751 "extern_block": {
3752 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(extern)(?=\\s*\\\")",
3753 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
3754 "beginCaptures": {
3755 "0": {
3756 "name": "meta.head.extern.cpp"
3757 },
3758 "1": {
3759 "patterns": [
3760 {
3761 "include": "#inline_comment"
3762 }
3763 ]
3764 },
3765 "2": {
3766 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3767 },
3768 "3": {
3769 "name": "comment.block.cpp"
3770 },
3771 "4": {
3772 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3773 },
3774 "5": {
3775 "name": "storage.type.extern.cpp"
3776 }
3777 },
3778 "endCaptures": {
3779 "1": {
3780 "name": "punctuation.terminator.statement.cpp"
3781 },
3782 "2": {
3783 "name": "punctuation.terminator.statement.cpp"
3784 }
3785 },
3786 "name": "meta.block.extern.cpp",
3787 "patterns": [
3788 {
3789 "begin": "\\G ?",
3790 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
3791 "beginCaptures": {},
3792 "endCaptures": {
3793 "0": {
3794 "name": "punctuation.section.block.begin.bracket.curly.extern.cpp"
3795 }
3796 },
3797 "name": "meta.head.extern.cpp",
3798 "patterns": [
3799 {
3800 "include": "$self"
3801 }
3802 ]
3803 },
3804 {
3805 "begin": "(?<=\\{|<%|\\?\\?<)",
3806 "end": "\\}|%>|\\?\\?>",
3807 "beginCaptures": {},
3808 "endCaptures": {
3809 "0": {
3810 "name": "punctuation.section.block.end.bracket.curly.extern.cpp"
3811 }
3812 },
3813 "name": "meta.body.extern.cpp",
3814 "patterns": [
3815 {
3816 "include": "$self"
3817 }
3818 ]
3819 },
3820 {
3821 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3822 "end": "[\\s]*(?=;)",
3823 "beginCaptures": {},
3824 "endCaptures": {},
3825 "name": "meta.tail.extern.cpp",
3826 "patterns": [
3827 {
3828 "include": "$self"
3829 }
3830 ]
3831 },
3832 {
3833 "include": "$self"
3834 }
3835 ]
3836 },
3837 "function_body_context": {
3838 "patterns": [
3839 {
3840 "include": "#ever_present_context"
3841 },
3842 {
3843 "include": "#using_namespace"
3844 },
3845 {
3846 "include": "#type_alias"
3847 },
3848 {
3849 "include": "#using_name"
3850 },
3851 {
3852 "include": "#namespace_alias"
3853 },
3854 {
3855 "include": "#typedef_class"
3856 },
3857 {
3858 "include": "#typedef_struct"
3859 },
3860 {
3861 "include": "#typedef_union"
3862 },
3863 {
3864 "include": "#misc_keywords"
3865 },
3866 {
3867 "include": "#standard_declares"
3868 },
3869 {
3870 "include": "#class_block"
3871 },
3872 {
3873 "include": "#struct_block"
3874 },
3875 {
3876 "include": "#union_block"
3877 },
3878 {
3879 "include": "#enum_block"
3880 },
3881 {
3882 "include": "#access_control_keywords"
3883 },
3884 {
3885 "include": "#block"
3886 },
3887 {
3888 "include": "#static_assert"
3889 },
3890 {
3891 "include": "#assembly"
3892 },
3893 {
3894 "include": "#function_pointer"
3895 },
3896 {
3897 "include": "#switch_statement"
3898 },
3899 {
3900 "include": "#goto_statement"
3901 },
3902 {
3903 "include": "#evaluation_context"
3904 },
3905 {
3906 "include": "#label"
3907 }
3908 ]
3909 },
3910 "function_call": {
3911 "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?(\\()",
3912 "end": "\\)",
3913 "beginCaptures": {
3914 "1": {
3915 "patterns": [
3916 {
3917 "include": "#scope_resolution_function_call_inner_generated"
3918 }
3919 ]
3920 },
3921 "2": {
3922 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
3923 },
3924 "3": {
3925 "patterns": [
3926 {
3927 "include": "#template_call_range"
3928 }
3929 ]
3930 },
3931 "4": {},
3932 "5": {
3933 "name": "entity.name.function.call.cpp"
3934 },
3935 "6": {
3936 "patterns": [
3937 {
3938 "include": "#inline_comment"
3939 }
3940 ]
3941 },
3942 "7": {
3943 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3944 },
3945 "8": {
3946 "name": "comment.block.cpp"
3947 },
3948 "9": {
3949 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3950 },
3951 "10": {
3952 "name": "meta.template.call.cpp",
3953 "patterns": [
3954 {
3955 "include": "#template_call_range"
3956 }
3957 ]
3958 },
3959 "11": {},
3960 "12": {
3961 "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp"
3962 }
3963 },
3964 "endCaptures": {
3965 "0": {
3966 "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp"
3967 }
3968 },
3969 "patterns": [
3970 {
3971 "include": "#evaluation_context"
3972 }
3973 ]
3974 },
3975 "function_definition": {
3976 "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?<!\\w)template(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<56>?)+>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<56>?)+>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<56>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\()",
3977 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
3978 "beginCaptures": {
3979 "0": {
3980 "name": "meta.head.function.definition.cpp"
3981 },
3982 "1": {
3983 "name": "storage.type.template.cpp"
3984 },
3985 "2": {
3986 "patterns": [
3987 {
3988 "include": "#inline_comment"
3989 }
3990 ]
3991 },
3992 "3": {
3993 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3994 },
3995 "4": {
3996 "name": "comment.block.cpp"
3997 },
3998 "5": {
3999 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4000 },
4001 "6": {
4002 "patterns": [
4003 {
4004 "include": "#attributes_context"
4005 },
4006 {
4007 "include": "#number_literal"
4008 }
4009 ]
4010 },
4011 "7": {
4012 "patterns": [
4013 {
4014 "match": "((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))",
4015 "captures": {
4016 "1": {
4017 "name": "storage.modifier.$1.cpp"
4018 },
4019 "2": {
4020 "patterns": [
4021 {
4022 "include": "#inline_comment"
4023 }
4024 ]
4025 },
4026 "3": {
4027 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4028 },
4029 "4": {
4030 "name": "comment.block.cpp"
4031 },
4032 "5": {
4033 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4034 }
4035 }
4036 }
4037 ]
4038 },
4039 "8": {
4040 "name": "storage.modifier.$8.cpp"
4041 },
4042 "9": {
4043 "patterns": [
4044 {
4045 "include": "#inline_comment"
4046 }
4047 ]
4048 },
4049 "10": {
4050 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4051 },
4052 "11": {
4053 "name": "comment.block.cpp"
4054 },
4055 "12": {
4056 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4057 },
4058 "13": {
4059 "name": "meta.qualified_type.cpp",
4060 "patterns": [
4061 {
4062 "match": "::",
4063 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4064 },
4065 {
4066 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4067 "name": "storage.type.$0.cpp"
4068 },
4069 {
4070 "include": "#attributes_context"
4071 },
4072 {
4073 "include": "#storage_types"
4074 },
4075 {
4076 "include": "#number_literal"
4077 },
4078 {
4079 "include": "#string_context"
4080 },
4081 {
4082 "include": "#comma"
4083 },
4084 {
4085 "include": "#scope_resolution_inner_generated"
4086 },
4087 {
4088 "begin": "<",
4089 "end": ">",
4090 "beginCaptures": {
4091 "0": {
4092 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4093 }
4094 },
4095 "endCaptures": {
4096 "0": {
4097 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
4098 }
4099 },
4100 "name": "meta.template.call.cpp",
4101 "patterns": [
4102 {
4103 "include": "#template_call_context"
4104 }
4105 ]
4106 },
4107 {
4108 "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}))*",
4109 "name": "entity.name.type.cpp"
4110 }
4111 ]
4112 },
4113 "14": {
4114 "patterns": [
4115 {
4116 "include": "#attributes_context"
4117 },
4118 {
4119 "include": "#number_literal"
4120 }
4121 ]
4122 },
4123 "15": {
4124 "patterns": [
4125 {
4126 "include": "#inline_comment"
4127 }
4128 ]
4129 },
4130 "16": {
4131 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4132 },
4133 "17": {
4134 "name": "comment.block.cpp"
4135 },
4136 "18": {
4137 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4138 },
4139 "19": {
4140 "patterns": [
4141 {
4142 "include": "#inline_comment"
4143 }
4144 ]
4145 },
4146 "20": {
4147 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4148 },
4149 "21": {
4150 "name": "comment.block.cpp"
4151 },
4152 "22": {
4153 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4154 },
4155 "23": {
4156 "patterns": [
4157 {
4158 "match": "::",
4159 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4160 },
4161 {
4162 "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)",
4163 "name": "entity.name.scope-resolution.type.cpp"
4164 },
4165 {
4166 "include": "#template_call_range"
4167 }
4168 ]
4169 },
4170 "24": {
4171 "patterns": [
4172 {
4173 "include": "#template_call_range"
4174 }
4175 ]
4176 },
4177 "25": {},
4178 "26": {
4179 "patterns": [
4180 {
4181 "include": "#inline_comment"
4182 }
4183 ]
4184 },
4185 "27": {
4186 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4187 },
4188 "28": {
4189 "name": "comment.block.cpp"
4190 },
4191 "29": {
4192 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4193 },
4194 "30": {},
4195 "31": {
4196 "patterns": [
4197 {
4198 "match": "\\*",
4199 "name": "storage.modifier.pointer.cpp"
4200 },
4201 {
4202 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
4203 "captures": {
4204 "1": {
4205 "patterns": [
4206 {
4207 "include": "#inline_comment"
4208 }
4209 ]
4210 },
4211 "2": {
4212 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4213 },
4214 "3": {
4215 "name": "comment.block.cpp"
4216 },
4217 "4": {
4218 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4219 }
4220 },
4221 "name": "invalid.illegal.reference-type.cpp"
4222 },
4223 {
4224 "match": "\\&",
4225 "name": "storage.modifier.reference.cpp"
4226 }
4227 ]
4228 },
4229 "32": {
4230 "patterns": [
4231 {
4232 "include": "#inline_comment"
4233 }
4234 ]
4235 },
4236 "33": {
4237 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4238 },
4239 "34": {
4240 "name": "comment.block.cpp"
4241 },
4242 "35": {
4243 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4244 },
4245 "36": {
4246 "patterns": [
4247 {
4248 "include": "#inline_comment"
4249 }
4250 ]
4251 },
4252 "37": {
4253 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4254 },
4255 "38": {
4256 "name": "comment.block.cpp"
4257 },
4258 "39": {
4259 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4260 },
4261 "40": {
4262 "patterns": [
4263 {
4264 "include": "#inline_comment"
4265 }
4266 ]
4267 },
4268 "41": {
4269 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4270 },
4271 "42": {
4272 "name": "comment.block.cpp"
4273 },
4274 "43": {
4275 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4276 },
4277 "44": {
4278 "patterns": [
4279 {
4280 "include": "#inline_comment"
4281 }
4282 ]
4283 },
4284 "45": {
4285 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4286 },
4287 "46": {
4288 "name": "comment.block.cpp"
4289 },
4290 "47": {
4291 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4292 },
4293 "48": {
4294 "name": "storage.type.modifier.calling-convention.cpp"
4295 },
4296 "49": {
4297 "patterns": [
4298 {
4299 "include": "#inline_comment"
4300 }
4301 ]
4302 },
4303 "50": {
4304 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4305 },
4306 "51": {
4307 "name": "comment.block.cpp"
4308 },
4309 "52": {
4310 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4311 },
4312 "53": {
4313 "patterns": [
4314 {
4315 "include": "#scope_resolution_function_definition_inner_generated"
4316 }
4317 ]
4318 },
4319 "54": {
4320 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
4321 },
4322 "55": {
4323 "patterns": [
4324 {
4325 "include": "#template_call_range"
4326 }
4327 ]
4328 },
4329 "56": {},
4330 "57": {
4331 "name": "entity.name.function.definition.cpp"
4332 },
4333 "58": {
4334 "patterns": [
4335 {
4336 "include": "#inline_comment"
4337 }
4338 ]
4339 },
4340 "59": {
4341 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4342 },
4343 "60": {
4344 "name": "comment.block.cpp"
4345 },
4346 "61": {
4347 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4348 }
4349 },
4350 "endCaptures": {},
4351 "name": "meta.function.definition.cpp",
4352 "patterns": [
4353 {
4354 "begin": "\\G ?",
4355 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
4356 "beginCaptures": {},
4357 "endCaptures": {
4358 "0": {
4359 "name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp"
4360 }
4361 },
4362 "name": "meta.head.function.definition.cpp",
4363 "patterns": [
4364 {
4365 "include": "#ever_present_context"
4366 },
4367 {
4368 "begin": "\\(",
4369 "end": "\\)",
4370 "beginCaptures": {
4371 "0": {
4372 "name": "punctuation.section.parameters.begin.bracket.round.cpp"
4373 }
4374 },
4375 "endCaptures": {
4376 "0": {
4377 "name": "punctuation.section.parameters.end.bracket.round.cpp"
4378 }
4379 },
4380 "contentName": "meta.function.definition.parameters",
4381 "patterns": [
4382 {
4383 "include": "#ever_present_context"
4384 },
4385 {
4386 "include": "#parameter_or_maybe_value"
4387 },
4388 {
4389 "include": "#comma"
4390 },
4391 {
4392 "include": "#evaluation_context"
4393 }
4394 ]
4395 },
4396 {
4397 "match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)?(?![\\w<:.]))",
4398 "captures": {
4399 "1": {
4400 "name": "punctuation.definition.function.return-type.cpp"
4401 },
4402 "2": {
4403 "patterns": [
4404 {
4405 "include": "#inline_comment"
4406 }
4407 ]
4408 },
4409 "3": {
4410 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4411 },
4412 "4": {
4413 "name": "comment.block.cpp"
4414 },
4415 "5": {
4416 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4417 },
4418 "6": {
4419 "name": "meta.qualified_type.cpp",
4420 "patterns": [
4421 {
4422 "match": "::",
4423 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4424 },
4425 {
4426 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4427 "name": "storage.type.$0.cpp"
4428 },
4429 {
4430 "include": "#attributes_context"
4431 },
4432 {
4433 "include": "#storage_types"
4434 },
4435 {
4436 "include": "#number_literal"
4437 },
4438 {
4439 "include": "#string_context"
4440 },
4441 {
4442 "include": "#comma"
4443 },
4444 {
4445 "include": "#scope_resolution_inner_generated"
4446 },
4447 {
4448 "begin": "<",
4449 "end": ">",
4450 "beginCaptures": {
4451 "0": {
4452 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4453 }
4454 },
4455 "endCaptures": {
4456 "0": {
4457 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
4458 }
4459 },
4460 "name": "meta.template.call.cpp",
4461 "patterns": [
4462 {
4463 "include": "#template_call_context"
4464 }
4465 ]
4466 },
4467 {
4468 "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}))*",
4469 "name": "entity.name.type.cpp"
4470 }
4471 ]
4472 },
4473 "7": {
4474 "patterns": [
4475 {
4476 "include": "#attributes_context"
4477 },
4478 {
4479 "include": "#number_literal"
4480 }
4481 ]
4482 },
4483 "8": {
4484 "patterns": [
4485 {
4486 "include": "#inline_comment"
4487 }
4488 ]
4489 },
4490 "9": {
4491 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4492 },
4493 "10": {
4494 "name": "comment.block.cpp"
4495 },
4496 "11": {
4497 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4498 },
4499 "12": {
4500 "patterns": [
4501 {
4502 "include": "#inline_comment"
4503 }
4504 ]
4505 },
4506 "13": {
4507 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4508 },
4509 "14": {
4510 "name": "comment.block.cpp"
4511 },
4512 "15": {
4513 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4514 },
4515 "16": {
4516 "patterns": [
4517 {
4518 "match": "::",
4519 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4520 },
4521 {
4522 "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)",
4523 "name": "entity.name.scope-resolution.type.cpp"
4524 },
4525 {
4526 "include": "#template_call_range"
4527 }
4528 ]
4529 },
4530 "17": {
4531 "patterns": [
4532 {
4533 "include": "#template_call_range"
4534 }
4535 ]
4536 },
4537 "18": {},
4538 "19": {
4539 "patterns": [
4540 {
4541 "include": "#inline_comment"
4542 }
4543 ]
4544 },
4545 "20": {
4546 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4547 },
4548 "21": {
4549 "name": "comment.block.cpp"
4550 },
4551 "22": {
4552 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4553 },
4554 "23": {}
4555 }
4556 },
4557 {
4558 "include": "$self"
4559 }
4560 ]
4561 },
4562 {
4563 "begin": "(?<=\\{|<%|\\?\\?<)",
4564 "end": "\\}|%>|\\?\\?>",
4565 "beginCaptures": {},
4566 "endCaptures": {
4567 "0": {
4568 "name": "punctuation.section.block.end.bracket.curly.function.definition.cpp"
4569 }
4570 },
4571 "name": "meta.body.function.definition.cpp",
4572 "patterns": [
4573 {
4574 "include": "#function_body_context"
4575 }
4576 ]
4577 },
4578 {
4579 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
4580 "end": "[\\s]*(?=;)",
4581 "beginCaptures": {},
4582 "endCaptures": {},
4583 "name": "meta.tail.function.definition.cpp",
4584 "patterns": [
4585 {
4586 "include": "$self"
4587 }
4588 ]
4589 }
4590 ]
4591 },
4592 "function_parameter_context": {
4593 "patterns": [
4594 {
4595 "include": "#ever_present_context"
4596 },
4597 {
4598 "include": "#parameter"
4599 },
4600 {
4601 "include": "#comma"
4602 }
4603 ]
4604 },
4605 "function_pointer": {
4606 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()",
4607 "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",
4608 "beginCaptures": {
4609 "1": {
4610 "name": "meta.qualified_type.cpp",
4611 "patterns": [
4612 {
4613 "match": "::",
4614 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4615 },
4616 {
4617 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4618 "name": "storage.type.$0.cpp"
4619 },
4620 {
4621 "include": "#attributes_context"
4622 },
4623 {
4624 "include": "#storage_types"
4625 },
4626 {
4627 "include": "#number_literal"
4628 },
4629 {
4630 "include": "#string_context"
4631 },
4632 {
4633 "include": "#comma"
4634 },
4635 {
4636 "include": "#scope_resolution_inner_generated"
4637 },
4638 {
4639 "begin": "<",
4640 "end": ">",
4641 "beginCaptures": {
4642 "0": {
4643 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4644 }
4645 },
4646 "endCaptures": {
4647 "0": {
4648 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
4649 }
4650 },
4651 "name": "meta.template.call.cpp",
4652 "patterns": [
4653 {
4654 "include": "#template_call_context"
4655 }
4656 ]
4657 },
4658 {
4659 "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}))*",
4660 "name": "entity.name.type.cpp"
4661 }
4662 ]
4663 },
4664 "2": {
4665 "patterns": [
4666 {
4667 "include": "#attributes_context"
4668 },
4669 {
4670 "include": "#number_literal"
4671 }
4672 ]
4673 },
4674 "3": {
4675 "patterns": [
4676 {
4677 "include": "#inline_comment"
4678 }
4679 ]
4680 },
4681 "4": {
4682 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4683 },
4684 "5": {
4685 "name": "comment.block.cpp"
4686 },
4687 "6": {
4688 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4689 },
4690 "7": {
4691 "patterns": [
4692 {
4693 "include": "#inline_comment"
4694 }
4695 ]
4696 },
4697 "8": {
4698 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4699 },
4700 "9": {
4701 "name": "comment.block.cpp"
4702 },
4703 "10": {
4704 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4705 },
4706 "11": {
4707 "patterns": [
4708 {
4709 "match": "::",
4710 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4711 },
4712 {
4713 "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)",
4714 "name": "entity.name.scope-resolution.type.cpp"
4715 },
4716 {
4717 "include": "#template_call_range"
4718 }
4719 ]
4720 },
4721 "12": {
4722 "patterns": [
4723 {
4724 "include": "#template_call_range"
4725 }
4726 ]
4727 },
4728 "13": {},
4729 "14": {
4730 "patterns": [
4731 {
4732 "include": "#inline_comment"
4733 }
4734 ]
4735 },
4736 "15": {
4737 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4738 },
4739 "16": {
4740 "name": "comment.block.cpp"
4741 },
4742 "17": {
4743 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4744 },
4745 "18": {},
4746 "19": {
4747 "patterns": [
4748 {
4749 "match": "\\*",
4750 "name": "storage.modifier.pointer.cpp"
4751 },
4752 {
4753 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
4754 "captures": {
4755 "1": {
4756 "patterns": [
4757 {
4758 "include": "#inline_comment"
4759 }
4760 ]
4761 },
4762 "2": {
4763 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4764 },
4765 "3": {
4766 "name": "comment.block.cpp"
4767 },
4768 "4": {
4769 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4770 }
4771 },
4772 "name": "invalid.illegal.reference-type.cpp"
4773 },
4774 {
4775 "match": "\\&",
4776 "name": "storage.modifier.reference.cpp"
4777 }
4778 ]
4779 },
4780 "20": {
4781 "patterns": [
4782 {
4783 "include": "#inline_comment"
4784 }
4785 ]
4786 },
4787 "21": {
4788 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4789 },
4790 "22": {
4791 "name": "comment.block.cpp"
4792 },
4793 "23": {
4794 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4795 },
4796 "24": {
4797 "patterns": [
4798 {
4799 "include": "#inline_comment"
4800 }
4801 ]
4802 },
4803 "25": {
4804 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4805 },
4806 "26": {
4807 "name": "comment.block.cpp"
4808 },
4809 "27": {
4810 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4811 },
4812 "28": {
4813 "patterns": [
4814 {
4815 "include": "#inline_comment"
4816 }
4817 ]
4818 },
4819 "29": {
4820 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4821 },
4822 "30": {
4823 "name": "comment.block.cpp"
4824 },
4825 "31": {
4826 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4827 },
4828 "32": {
4829 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
4830 },
4831 "33": {
4832 "name": "punctuation.definition.function.pointer.dereference.cpp"
4833 },
4834 "34": {
4835 "name": "variable.other.definition.pointer.function.cpp"
4836 },
4837 "35": {
4838 "name": "punctuation.definition.begin.bracket.square.cpp"
4839 },
4840 "36": {
4841 "patterns": [
4842 {
4843 "include": "#evaluation_context"
4844 }
4845 ]
4846 },
4847 "37": {
4848 "name": "punctuation.definition.end.bracket.square.cpp"
4849 },
4850 "38": {
4851 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
4852 },
4853 "39": {
4854 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
4855 }
4856 },
4857 "endCaptures": {
4858 "1": {
4859 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
4860 },
4861 "2": {
4862 "patterns": [
4863 {
4864 "include": "#inline_comment"
4865 }
4866 ]
4867 },
4868 "3": {
4869 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4870 },
4871 "4": {
4872 "name": "comment.block.cpp"
4873 },
4874 "5": {
4875 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4876 }
4877 },
4878 "patterns": [
4879 {
4880 "include": "#function_parameter_context"
4881 }
4882 ]
4883 },
4884 "function_pointer_parameter": {
4885 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()",
4886 "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",
4887 "beginCaptures": {
4888 "1": {
4889 "name": "meta.qualified_type.cpp",
4890 "patterns": [
4891 {
4892 "match": "::",
4893 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4894 },
4895 {
4896 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4897 "name": "storage.type.$0.cpp"
4898 },
4899 {
4900 "include": "#attributes_context"
4901 },
4902 {
4903 "include": "#storage_types"
4904 },
4905 {
4906 "include": "#number_literal"
4907 },
4908 {
4909 "include": "#string_context"
4910 },
4911 {
4912 "include": "#comma"
4913 },
4914 {
4915 "include": "#scope_resolution_inner_generated"
4916 },
4917 {
4918 "begin": "<",
4919 "end": ">",
4920 "beginCaptures": {
4921 "0": {
4922 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4923 }
4924 },
4925 "endCaptures": {
4926 "0": {
4927 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
4928 }
4929 },
4930 "name": "meta.template.call.cpp",
4931 "patterns": [
4932 {
4933 "include": "#template_call_context"
4934 }
4935 ]
4936 },
4937 {
4938 "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}))*",
4939 "name": "entity.name.type.cpp"
4940 }
4941 ]
4942 },
4943 "2": {
4944 "patterns": [
4945 {
4946 "include": "#attributes_context"
4947 },
4948 {
4949 "include": "#number_literal"
4950 }
4951 ]
4952 },
4953 "3": {
4954 "patterns": [
4955 {
4956 "include": "#inline_comment"
4957 }
4958 ]
4959 },
4960 "4": {
4961 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4962 },
4963 "5": {
4964 "name": "comment.block.cpp"
4965 },
4966 "6": {
4967 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4968 },
4969 "7": {
4970 "patterns": [
4971 {
4972 "include": "#inline_comment"
4973 }
4974 ]
4975 },
4976 "8": {
4977 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4978 },
4979 "9": {
4980 "name": "comment.block.cpp"
4981 },
4982 "10": {
4983 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4984 },
4985 "11": {
4986 "patterns": [
4987 {
4988 "match": "::",
4989 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4990 },
4991 {
4992 "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)",
4993 "name": "entity.name.scope-resolution.type.cpp"
4994 },
4995 {
4996 "include": "#template_call_range"
4997 }
4998 ]
4999 },
5000 "12": {
5001 "patterns": [
5002 {
5003 "include": "#template_call_range"
5004 }
5005 ]
5006 },
5007 "13": {},
5008 "14": {
5009 "patterns": [
5010 {
5011 "include": "#inline_comment"
5012 }
5013 ]
5014 },
5015 "15": {
5016 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5017 },
5018 "16": {
5019 "name": "comment.block.cpp"
5020 },
5021 "17": {
5022 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5023 },
5024 "18": {},
5025 "19": {
5026 "patterns": [
5027 {
5028 "match": "\\*",
5029 "name": "storage.modifier.pointer.cpp"
5030 },
5031 {
5032 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
5033 "captures": {
5034 "1": {
5035 "patterns": [
5036 {
5037 "include": "#inline_comment"
5038 }
5039 ]
5040 },
5041 "2": {
5042 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5043 },
5044 "3": {
5045 "name": "comment.block.cpp"
5046 },
5047 "4": {
5048 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5049 }
5050 },
5051 "name": "invalid.illegal.reference-type.cpp"
5052 },
5053 {
5054 "match": "\\&",
5055 "name": "storage.modifier.reference.cpp"
5056 }
5057 ]
5058 },
5059 "20": {
5060 "patterns": [
5061 {
5062 "include": "#inline_comment"
5063 }
5064 ]
5065 },
5066 "21": {
5067 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5068 },
5069 "22": {
5070 "name": "comment.block.cpp"
5071 },
5072 "23": {
5073 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5074 },
5075 "24": {
5076 "patterns": [
5077 {
5078 "include": "#inline_comment"
5079 }
5080 ]
5081 },
5082 "25": {
5083 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5084 },
5085 "26": {
5086 "name": "comment.block.cpp"
5087 },
5088 "27": {
5089 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5090 },
5091 "28": {
5092 "patterns": [
5093 {
5094 "include": "#inline_comment"
5095 }
5096 ]
5097 },
5098 "29": {
5099 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5100 },
5101 "30": {
5102 "name": "comment.block.cpp"
5103 },
5104 "31": {
5105 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5106 },
5107 "32": {
5108 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
5109 },
5110 "33": {
5111 "name": "punctuation.definition.function.pointer.dereference.cpp"
5112 },
5113 "34": {
5114 "name": "variable.parameter.pointer.function.cpp"
5115 },
5116 "35": {
5117 "name": "punctuation.definition.begin.bracket.square.cpp"
5118 },
5119 "36": {
5120 "patterns": [
5121 {
5122 "include": "#evaluation_context"
5123 }
5124 ]
5125 },
5126 "37": {
5127 "name": "punctuation.definition.end.bracket.square.cpp"
5128 },
5129 "38": {
5130 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
5131 },
5132 "39": {
5133 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
5134 }
5135 },
5136 "endCaptures": {
5137 "1": {
5138 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
5139 },
5140 "2": {
5141 "patterns": [
5142 {
5143 "include": "#inline_comment"
5144 }
5145 ]
5146 },
5147 "3": {
5148 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5149 },
5150 "4": {
5151 "name": "comment.block.cpp"
5152 },
5153 "5": {
5154 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5155 }
5156 },
5157 "patterns": [
5158 {
5159 "include": "#function_parameter_context"
5160 }
5161 ]
5162 },
5163 "functional_specifiers_pre_parameters": {
5164 "match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))(?!\\w)",
5165 "name": "storage.modifier.specifier.functional.pre-parameters.$0.cpp"
5166 },
5167 "gcc_attributes": {
5168 "begin": "__attribute(?:__)?\\s*\\(\\s*\\(",
5169 "end": "\\)\\s*\\)",
5170 "beginCaptures": {
5171 "0": {
5172 "name": "punctuation.section.attribute.begin.cpp"
5173 }
5174 },
5175 "endCaptures": {
5176 "0": {
5177 "name": "punctuation.section.attribute.end.cpp"
5178 }
5179 },
5180 "name": "support.other.attribute.cpp",
5181 "patterns": [
5182 {
5183 "include": "#attributes_context"
5184 },
5185 {
5186 "begin": "\\(",
5187 "end": "\\)",
5188 "beginCaptures": {},
5189 "endCaptures": {},
5190 "patterns": [
5191 {
5192 "include": "#attributes_context"
5193 },
5194 {
5195 "include": "#string_context"
5196 }
5197 ]
5198 },
5199 {
5200 "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))",
5201 "captures": {
5202 "1": {
5203 "name": "keyword.other.using.directive.cpp"
5204 },
5205 "2": {
5206 "name": "entity.name.namespace.cpp"
5207 }
5208 }
5209 },
5210 {
5211 "match": ",",
5212 "name": "punctuation.separator.attribute.cpp"
5213 },
5214 {
5215 "match": ":",
5216 "name": "punctuation.accessor.attribute.cpp"
5217 },
5218 {
5219 "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)(?=::)",
5220 "name": "entity.name.namespace.cpp"
5221 },
5222 {
5223 "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)",
5224 "name": "entity.other.attribute.$0.cpp"
5225 },
5226 {
5227 "include": "#number_literal"
5228 }
5229 ]
5230 },
5231 "goto_statement": {
5232 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)goto(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)",
5233 "captures": {
5234 "1": {
5235 "patterns": [
5236 {
5237 "include": "#inline_comment"
5238 }
5239 ]
5240 },
5241 "2": {
5242 "patterns": [
5243 {
5244 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5245 "captures": {
5246 "1": {
5247 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5248 },
5249 "2": {
5250 "name": "comment.block.cpp"
5251 },
5252 "3": {
5253 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5254 }
5255 }
5256 }
5257 ]
5258 },
5259 "3": {
5260 "name": "keyword.control.goto.cpp"
5261 },
5262 "4": {
5263 "patterns": [
5264 {
5265 "include": "#inline_comment"
5266 }
5267 ]
5268 },
5269 "5": {
5270 "patterns": [
5271 {
5272 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5273 "captures": {
5274 "1": {
5275 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5276 },
5277 "2": {
5278 "name": "comment.block.cpp"
5279 },
5280 "3": {
5281 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5282 }
5283 }
5284 }
5285 ]
5286 },
5287 "6": {
5288 "name": "entity.name.label.call.cpp"
5289 }
5290 }
5291 },
5292 "identifier": {
5293 "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}))*"
5294 },
5295 "include": {
5296 "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((#)(?:(?:\\s)+)?((?:include|include_next))\\b)(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))",
5297 "captures": {
5298 "1": {
5299 "patterns": [
5300 {
5301 "include": "#inline_comment"
5302 }
5303 ]
5304 },
5305 "2": {
5306 "patterns": [
5307 {
5308 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5309 "captures": {
5310 "1": {
5311 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5312 },
5313 "2": {
5314 "name": "comment.block.cpp"
5315 },
5316 "3": {
5317 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5318 }
5319 }
5320 }
5321 ]
5322 },
5323 "3": {
5324 "name": "keyword.control.directive.$5.cpp"
5325 },
5326 "4": {
5327 "name": "punctuation.definition.directive.cpp"
5328 },
5329 "6": {
5330 "name": "string.quoted.other.lt-gt.include.cpp"
5331 },
5332 "7": {
5333 "name": "punctuation.definition.string.begin.cpp"
5334 },
5335 "8": {
5336 "name": "punctuation.definition.string.end.cpp"
5337 },
5338 "9": {
5339 "patterns": [
5340 {
5341 "include": "#inline_comment"
5342 }
5343 ]
5344 },
5345 "10": {
5346 "patterns": [
5347 {
5348 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5349 "captures": {
5350 "1": {
5351 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5352 },
5353 "2": {
5354 "name": "comment.block.cpp"
5355 },
5356 "3": {
5357 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5358 }
5359 }
5360 }
5361 ]
5362 },
5363 "11": {
5364 "name": "string.quoted.double.include.cpp"
5365 },
5366 "12": {
5367 "name": "punctuation.definition.string.begin.cpp"
5368 },
5369 "13": {
5370 "name": "punctuation.definition.string.end.cpp"
5371 },
5372 "14": {
5373 "patterns": [
5374 {
5375 "include": "#inline_comment"
5376 }
5377 ]
5378 },
5379 "15": {
5380 "patterns": [
5381 {
5382 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5383 "captures": {
5384 "1": {
5385 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5386 },
5387 "2": {
5388 "name": "comment.block.cpp"
5389 },
5390 "3": {
5391 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5392 }
5393 }
5394 }
5395 ]
5396 },
5397 "16": {
5398 "name": "entity.name.other.preprocessor.macro.include.cpp"
5399 },
5400 "17": {
5401 "patterns": [
5402 {
5403 "include": "#inline_comment"
5404 }
5405 ]
5406 },
5407 "18": {
5408 "patterns": [
5409 {
5410 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5411 "captures": {
5412 "1": {
5413 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5414 },
5415 "2": {
5416 "name": "comment.block.cpp"
5417 },
5418 "3": {
5419 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5420 }
5421 }
5422 }
5423 ]
5424 },
5425 "19": {
5426 "patterns": [
5427 {
5428 "include": "#inline_comment"
5429 }
5430 ]
5431 },
5432 "20": {
5433 "patterns": [
5434 {
5435 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5436 "captures": {
5437 "1": {
5438 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5439 },
5440 "2": {
5441 "name": "comment.block.cpp"
5442 },
5443 "3": {
5444 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5445 }
5446 }
5447 }
5448 ]
5449 },
5450 "21": {
5451 "patterns": [
5452 {
5453 "include": "#inline_comment"
5454 }
5455 ]
5456 },
5457 "22": {
5458 "patterns": [
5459 {
5460 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5461 "captures": {
5462 "1": {
5463 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5464 },
5465 "2": {
5466 "name": "comment.block.cpp"
5467 },
5468 "3": {
5469 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5470 }
5471 }
5472 }
5473 ]
5474 }
5475 },
5476 "name": "meta.preprocessor.include.cpp"
5477 },
5478 "inheritance_context": {
5479 "patterns": [
5480 {
5481 "include": "#ever_present_context"
5482 },
5483 {
5484 "match": ",",
5485 "name": "punctuation.separator.delimiter.comma.inheritance.cpp"
5486 },
5487 {
5488 "match": "(?<!\\w)(?:(?:protected)|(?:private)|(?:public))(?!\\w)",
5489 "name": "storage.type.modifier.access.$0.cpp"
5490 },
5491 {
5492 "match": "(?<!\\w)virtual(?!\\w)",
5493 "name": "storage.type.modifier.virtual.cpp"
5494 },
5495 {
5496 "match": "(?<=protected|virtual|private|public|,|:)(?:(?:\\s)+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|virtual))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))",
5497 "captures": {
5498 "1": {
5499 "name": "meta.qualified_type.cpp",
5500 "patterns": [
5501 {
5502 "match": "::",
5503 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
5504 },
5505 {
5506 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
5507 "name": "storage.type.$0.cpp"
5508 },
5509 {
5510 "include": "#attributes_context"
5511 },
5512 {
5513 "include": "#storage_types"
5514 },
5515 {
5516 "include": "#number_literal"
5517 },
5518 {
5519 "include": "#string_context"
5520 },
5521 {
5522 "include": "#comma"
5523 },
5524 {
5525 "include": "#scope_resolution_inner_generated"
5526 },
5527 {
5528 "begin": "<",
5529 "end": ">",
5530 "beginCaptures": {
5531 "0": {
5532 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
5533 }
5534 },
5535 "endCaptures": {
5536 "0": {
5537 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
5538 }
5539 },
5540 "name": "meta.template.call.cpp",
5541 "patterns": [
5542 {
5543 "include": "#template_call_context"
5544 }
5545 ]
5546 },
5547 {
5548 "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}))*",
5549 "name": "entity.name.type.cpp"
5550 }
5551 ]
5552 },
5553 "2": {
5554 "patterns": [
5555 {
5556 "include": "#attributes_context"
5557 },
5558 {
5559 "include": "#number_literal"
5560 }
5561 ]
5562 },
5563 "3": {
5564 "patterns": [
5565 {
5566 "include": "#inline_comment"
5567 }
5568 ]
5569 },
5570 "4": {
5571 "patterns": [
5572 {
5573 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5574 "captures": {
5575 "1": {
5576 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5577 },
5578 "2": {
5579 "name": "comment.block.cpp"
5580 },
5581 "3": {
5582 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5583 }
5584 }
5585 }
5586 ]
5587 },
5588 "5": {
5589 "patterns": [
5590 {
5591 "include": "#inline_comment"
5592 }
5593 ]
5594 },
5595 "6": {
5596 "patterns": [
5597 {
5598 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5599 "captures": {
5600 "1": {
5601 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5602 },
5603 "2": {
5604 "name": "comment.block.cpp"
5605 },
5606 "3": {
5607 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5608 }
5609 }
5610 }
5611 ]
5612 },
5613 "7": {
5614 "patterns": [
5615 {
5616 "match": "::",
5617 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
5618 },
5619 {
5620 "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)",
5621 "name": "entity.name.scope-resolution.type.cpp"
5622 },
5623 {
5624 "include": "#template_call_range"
5625 }
5626 ]
5627 },
5628 "8": {
5629 "patterns": [
5630 {
5631 "include": "#template_call_range"
5632 }
5633 ]
5634 },
5635 "9": {},
5636 "10": {
5637 "patterns": [
5638 {
5639 "include": "#inline_comment"
5640 }
5641 ]
5642 },
5643 "11": {
5644 "patterns": [
5645 {
5646 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5647 "captures": {
5648 "1": {
5649 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5650 },
5651 "2": {
5652 "name": "comment.block.cpp"
5653 },
5654 "3": {
5655 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5656 }
5657 }
5658 }
5659 ]
5660 },
5661 "12": {}
5662 }
5663 }
5664 ]
5665 },
5666 "inline_builtin_storage_type": {
5667 "match": "(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)",
5668 "captures": {
5669 "1": {
5670 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
5671 },
5672 "2": {
5673 "name": "storage.type.cpp storage.type.built-in.cpp"
5674 },
5675 "3": {
5676 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
5677 },
5678 "4": {
5679 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
5680 }
5681 }
5682 },
5683 "inline_comment": {
5684 "match": "(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))",
5685 "captures": {
5686 "1": {
5687 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5688 },
5689 "2": {
5690 "name": "comment.block.cpp"
5691 },
5692 "3": {
5693 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5694 }
5695 }
5696 },
5697 "invalid_comment_end": {
5698 "match": "\\*\\/",
5699 "name": "invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"
5700 },
5701 "label": {
5702 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\b(?<!case|default)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(:)",
5703 "captures": {
5704 "1": {
5705 "patterns": [
5706 {
5707 "include": "#inline_comment"
5708 }
5709 ]
5710 },
5711 "2": {
5712 "patterns": [
5713 {
5714 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5715 "captures": {
5716 "1": {
5717 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5718 },
5719 "2": {
5720 "name": "comment.block.cpp"
5721 },
5722 "3": {
5723 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5724 }
5725 }
5726 }
5727 ]
5728 },
5729 "3": {
5730 "name": "entity.name.label.cpp"
5731 },
5732 "4": {
5733 "patterns": [
5734 {
5735 "include": "#inline_comment"
5736 }
5737 ]
5738 },
5739 "5": {
5740 "patterns": [
5741 {
5742 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
5743 "captures": {
5744 "1": {
5745 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5746 },
5747 "2": {
5748 "name": "comment.block.cpp"
5749 },
5750 "3": {
5751 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5752 }
5753 }
5754 }
5755 ]
5756 },
5757 "6": {
5758 "name": "punctuation.separator.label.cpp"
5759 }
5760 }
5761 },
5762 "lambdas": {
5763 "begin": "(?:(?<=[^\\s]|^)(?<![\\w\\]\\)\\[\\*&\">])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:[^\\[\\]]*+\\g<3>?)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];]))",
5764 "end": "(?<=[;}])",
5765 "beginCaptures": {
5766 "1": {
5767 "name": "punctuation.definition.capture.begin.lambda.cpp"
5768 },
5769 "2": {
5770 "name": "meta.lambda.capture.cpp",
5771 "patterns": [
5772 {
5773 "include": "#the_this_keyword"
5774 },
5775 {
5776 "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))",
5777 "captures": {
5778 "1": {
5779 "name": "variable.parameter.capture.cpp"
5780 },
5781 "2": {
5782 "patterns": [
5783 {
5784 "include": "#inline_comment"
5785 }
5786 ]
5787 },
5788 "3": {
5789 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5790 },
5791 "4": {
5792 "name": "comment.block.cpp"
5793 },
5794 "5": {
5795 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5796 },
5797 "6": {
5798 "name": "punctuation.separator.delimiter.comma.cpp"
5799 },
5800 "7": {
5801 "name": "keyword.operator.assignment.cpp"
5802 }
5803 }
5804 },
5805 {
5806 "include": "#evaluation_context"
5807 }
5808 ]
5809 },
5810 "3": {},
5811 "4": {
5812 "name": "punctuation.definition.capture.end.lambda.cpp"
5813 },
5814 "5": {
5815 "patterns": [
5816 {
5817 "include": "#inline_comment"
5818 }
5819 ]
5820 },
5821 "6": {
5822 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5823 },
5824 "7": {
5825 "name": "comment.block.cpp"
5826 },
5827 "8": {
5828 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5829 }
5830 },
5831 "endCaptures": {},
5832 "patterns": [
5833 {
5834 "begin": "\\(",
5835 "end": "\\)",
5836 "beginCaptures": {
5837 "0": {
5838 "name": "punctuation.definition.parameters.begin.lambda.cpp"
5839 }
5840 },
5841 "endCaptures": {
5842 "0": {
5843 "name": "punctuation.definition.parameters.end.lambda.cpp"
5844 }
5845 },
5846 "name": "meta.function.definition.parameters.lambda.cpp",
5847 "patterns": [
5848 {
5849 "include": "#function_parameter_context"
5850 }
5851 ]
5852 },
5853 {
5854 "match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:mutable))(?!\\w)",
5855 "name": "storage.modifier.lambda.$0.cpp"
5856 },
5857 {
5858 "begin": "->",
5859 "end": "(?=\\{)",
5860 "beginCaptures": {
5861 "0": {
5862 "name": "punctuation.definition.lambda.return-type.cpp"
5863 }
5864 },
5865 "endCaptures": {},
5866 "patterns": [
5867 {
5868 "include": "#comments"
5869 },
5870 {
5871 "match": "\\S+",
5872 "name": "storage.type.return-type.lambda.cpp"
5873 }
5874 ]
5875 },
5876 {
5877 "begin": "\\{",
5878 "end": "\\}",
5879 "beginCaptures": {
5880 "0": {
5881 "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp"
5882 }
5883 },
5884 "endCaptures": {
5885 "0": {
5886 "name": "punctuation.section.block.end.bracket.curly.lambda.cpp"
5887 }
5888 },
5889 "name": "meta.function.definition.body.lambda.cpp",
5890 "patterns": [
5891 {
5892 "include": "$self"
5893 }
5894 ]
5895 }
5896 ]
5897 },
5898 "language_constants": {
5899 "match": "(?<!\\w)(?:(?:nullptr)|(?:false)|(?:NULL)|(?:true))(?!\\w)",
5900 "name": "constant.language.$0.cpp"
5901 },
5902 "line": {
5903 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?line\\b",
5904 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
5905 "beginCaptures": {
5906 "0": {
5907 "name": "keyword.control.directive.line.cpp"
5908 },
5909 "1": {
5910 "patterns": [
5911 {
5912 "include": "#inline_comment"
5913 }
5914 ]
5915 },
5916 "2": {
5917 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5918 },
5919 "3": {
5920 "name": "comment.block.cpp"
5921 },
5922 "4": {
5923 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5924 },
5925 "5": {
5926 "name": "punctuation.definition.directive.cpp"
5927 }
5928 },
5929 "endCaptures": {},
5930 "name": "meta.preprocessor.line.cpp",
5931 "patterns": [
5932 {
5933 "include": "#string_context"
5934 },
5935 {
5936 "include": "#preprocessor_number_literal"
5937 },
5938 {
5939 "include": "#line_continuation_character"
5940 }
5941 ]
5942 },
5943 "line_comment": {
5944 "begin": "\\s*+(\\/\\/)",
5945 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
5946 "beginCaptures": {
5947 "1": {
5948 "name": "punctuation.definition.comment.cpp"
5949 }
5950 },
5951 "endCaptures": {},
5952 "name": "comment.line.double-slash.cpp",
5953 "patterns": [
5954 {
5955 "include": "#line_continuation_character"
5956 }
5957 ]
5958 },
5959 "line_continuation_character": {
5960 "match": "\\\\\\n",
5961 "name": "constant.character.escape.line-continuation.cpp"
5962 },
5963 "macro": {
5964 "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?define\\b)(?:(?:\\s)+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
5965 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
5966 "beginCaptures": {
5967 "1": {
5968 "name": "keyword.control.directive.define.cpp"
5969 },
5970 "2": {
5971 "patterns": [
5972 {
5973 "include": "#inline_comment"
5974 }
5975 ]
5976 },
5977 "3": {
5978 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5979 },
5980 "4": {
5981 "name": "comment.block.cpp"
5982 },
5983 "5": {
5984 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5985 },
5986 "6": {
5987 "name": "punctuation.definition.directive.cpp"
5988 },
5989 "7": {
5990 "name": "entity.name.function.preprocessor.cpp"
5991 }
5992 },
5993 "endCaptures": {},
5994 "name": "meta.preprocessor.macro.cpp",
5995 "patterns": [
5996 {
5997 "match": "\\G(?:(?:\\s)+)?(\\()([^\\(]*)(\\))",
5998 "captures": {
5999 "1": {
6000 "name": "punctuation.definition.parameters.begin.preprocessor.cpp"
6001 },
6002 "2": {
6003 "name": "meta.function.preprocessor.parameters.cpp",
6004 "patterns": [
6005 {
6006 "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)+)?",
6007 "captures": {
6008 "1": {
6009 "name": "variable.parameter.preprocessor.cpp"
6010 }
6011 }
6012 },
6013 {
6014 "match": ",",
6015 "name": "punctuation.separator.parameters.cpp"
6016 },
6017 {
6018 "match": "\\.\\.\\.",
6019 "name": "punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"
6020 }
6021 ]
6022 },
6023 "3": {
6024 "name": "punctuation.definition.parameters.end.preprocessor.cpp"
6025 }
6026 }
6027 },
6028 {
6029 "include": "#macro_context"
6030 },
6031 {
6032 "include": "#macro_argument"
6033 }
6034 ]
6035 },
6036 "macro_argument": {
6037 "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)",
6038 "name": "variable.other.macro.argument.cpp"
6039 },
6040 "macro_context": {
6041 "patterns": [
6042 {
6043 "include": "source.cpp.embedded.macro"
6044 }
6045 ]
6046 },
6047 "macro_name": {
6048 "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)",
6049 "name": "entity.name.function.preprocessor.cpp"
6050 },
6051 "member_access": {
6052 "match": "(?:((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())",
6053 "captures": {
6054 "1": {
6055 "patterns": [
6056 {
6057 "include": "#inline_comment"
6058 }
6059 ]
6060 },
6061 "2": {
6062 "patterns": [
6063 {
6064 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
6065 "captures": {
6066 "1": {
6067 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6068 },
6069 "2": {
6070 "name": "comment.block.cpp"
6071 },
6072 "3": {
6073 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6074 }
6075 }
6076 }
6077 ]
6078 },
6079 "3": {
6080 "name": "variable.language.this.cpp"
6081 },
6082 "4": {
6083 "name": "variable.other.object.access.cpp"
6084 },
6085 "5": {
6086 "name": "punctuation.separator.dot-access.cpp"
6087 },
6088 "6": {
6089 "name": "punctuation.separator.pointer-access.cpp"
6090 },
6091 "7": {
6092 "patterns": [
6093 {
6094 "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6095 "captures": {
6096 "1": {
6097 "patterns": [
6098 {
6099 "include": "#inline_comment"
6100 }
6101 ]
6102 },
6103 "2": {
6104 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6105 },
6106 "3": {
6107 "name": "comment.block.cpp"
6108 },
6109 "4": {
6110 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6111 },
6112 "5": {
6113 "name": "variable.language.this.cpp"
6114 },
6115 "6": {
6116 "name": "variable.other.object.property.cpp"
6117 },
6118 "7": {
6119 "name": "punctuation.separator.dot-access.cpp"
6120 },
6121 "8": {
6122 "name": "punctuation.separator.pointer-access.cpp"
6123 }
6124 }
6125 },
6126 {
6127 "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6128 "captures": {
6129 "1": {
6130 "patterns": [
6131 {
6132 "include": "#inline_comment"
6133 }
6134 ]
6135 },
6136 "2": {
6137 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6138 },
6139 "3": {
6140 "name": "comment.block.cpp"
6141 },
6142 "4": {
6143 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6144 },
6145 "5": {
6146 "name": "variable.language.this.cpp"
6147 },
6148 "6": {
6149 "name": "variable.other.object.access.cpp"
6150 },
6151 "7": {
6152 "name": "punctuation.separator.dot-access.cpp"
6153 },
6154 "8": {
6155 "name": "punctuation.separator.pointer-access.cpp"
6156 }
6157 }
6158 },
6159 {
6160 "include": "#member_access"
6161 },
6162 {
6163 "include": "#method_access"
6164 }
6165 ]
6166 },
6167 "8": {
6168 "name": "variable.other.property.cpp"
6169 }
6170 }
6171 },
6172 "memory_operators": {
6173 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))",
6174 "captures": {
6175 "1": {
6176 "patterns": [
6177 {
6178 "include": "#inline_comment"
6179 }
6180 ]
6181 },
6182 "2": {
6183 "patterns": [
6184 {
6185 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
6186 "captures": {
6187 "1": {
6188 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6189 },
6190 "2": {
6191 "name": "comment.block.cpp"
6192 },
6193 "3": {
6194 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6195 }
6196 }
6197 }
6198 ]
6199 },
6200 "3": {
6201 "name": "keyword.operator.wordlike.cpp"
6202 },
6203 "4": {
6204 "name": "keyword.operator.delete.array.cpp"
6205 },
6206 "5": {
6207 "name": "keyword.operator.delete.array.bracket.cpp"
6208 },
6209 "6": {
6210 "name": "keyword.operator.delete.cpp"
6211 },
6212 "7": {
6213 "name": "keyword.operator.new.cpp"
6214 }
6215 }
6216 },
6217 "method_access": {
6218 "begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()",
6219 "end": "\\)",
6220 "beginCaptures": {
6221 "1": {
6222 "patterns": [
6223 {
6224 "include": "#inline_comment"
6225 }
6226 ]
6227 },
6228 "2": {
6229 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6230 },
6231 "3": {
6232 "name": "comment.block.cpp"
6233 },
6234 "4": {
6235 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6236 },
6237 "5": {
6238 "name": "variable.language.this.cpp"
6239 },
6240 "6": {
6241 "name": "variable.other.object.access.cpp"
6242 },
6243 "7": {
6244 "name": "punctuation.separator.dot-access.cpp"
6245 },
6246 "8": {
6247 "name": "punctuation.separator.pointer-access.cpp"
6248 },
6249 "9": {
6250 "patterns": [
6251 {
6252 "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6253 "captures": {
6254 "1": {
6255 "patterns": [
6256 {
6257 "include": "#inline_comment"
6258 }
6259 ]
6260 },
6261 "2": {
6262 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6263 },
6264 "3": {
6265 "name": "comment.block.cpp"
6266 },
6267 "4": {
6268 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6269 },
6270 "5": {
6271 "name": "variable.language.this.cpp"
6272 },
6273 "6": {
6274 "name": "variable.other.object.property.cpp"
6275 },
6276 "7": {
6277 "name": "punctuation.separator.dot-access.cpp"
6278 },
6279 "8": {
6280 "name": "punctuation.separator.pointer-access.cpp"
6281 }
6282 }
6283 },
6284 {
6285 "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
6286 "captures": {
6287 "1": {
6288 "patterns": [
6289 {
6290 "include": "#inline_comment"
6291 }
6292 ]
6293 },
6294 "2": {
6295 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6296 },
6297 "3": {
6298 "name": "comment.block.cpp"
6299 },
6300 "4": {
6301 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6302 },
6303 "5": {
6304 "name": "variable.language.this.cpp"
6305 },
6306 "6": {
6307 "name": "variable.other.object.access.cpp"
6308 },
6309 "7": {
6310 "name": "punctuation.separator.dot-access.cpp"
6311 },
6312 "8": {
6313 "name": "punctuation.separator.pointer-access.cpp"
6314 }
6315 }
6316 },
6317 {
6318 "include": "#member_access"
6319 },
6320 {
6321 "include": "#method_access"
6322 }
6323 ]
6324 },
6325 "10": {
6326 "name": "entity.name.function.member.cpp"
6327 },
6328 "11": {
6329 "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp"
6330 }
6331 },
6332 "endCaptures": {
6333 "0": {
6334 "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp"
6335 }
6336 },
6337 "patterns": [
6338 {
6339 "include": "#evaluation_context"
6340 }
6341 ]
6342 },
6343 "misc_keywords": {
6344 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:constinit)|(?:requires)|(?:typedef)|(?:concept)|(?:export)|(?:module))(?!\\w))",
6345 "captures": {
6346 "1": {
6347 "patterns": [
6348 {
6349 "include": "#inline_comment"
6350 }
6351 ]
6352 },
6353 "2": {
6354 "patterns": [
6355 {
6356 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
6357 "captures": {
6358 "1": {
6359 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6360 },
6361 "2": {
6362 "name": "comment.block.cpp"
6363 },
6364 "3": {
6365 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6366 }
6367 }
6368 }
6369 ]
6370 },
6371 "3": {
6372 "name": "keyword.other.$3.cpp"
6373 }
6374 }
6375 },
6376 "ms_attributes": {
6377 "begin": "__declspec\\(",
6378 "end": "\\)",
6379 "beginCaptures": {
6380 "0": {
6381 "name": "punctuation.section.attribute.begin.cpp"
6382 }
6383 },
6384 "endCaptures": {
6385 "0": {
6386 "name": "punctuation.section.attribute.end.cpp"
6387 }
6388 },
6389 "name": "support.other.attribute.cpp",
6390 "patterns": [
6391 {
6392 "include": "#attributes_context"
6393 },
6394 {
6395 "begin": "\\(",
6396 "end": "\\)",
6397 "beginCaptures": {},
6398 "endCaptures": {},
6399 "patterns": [
6400 {
6401 "include": "#attributes_context"
6402 },
6403 {
6404 "include": "#string_context"
6405 }
6406 ]
6407 },
6408 {
6409 "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))",
6410 "captures": {
6411 "1": {
6412 "name": "keyword.other.using.directive.cpp"
6413 },
6414 "2": {
6415 "name": "entity.name.namespace.cpp"
6416 }
6417 }
6418 },
6419 {
6420 "match": ",",
6421 "name": "punctuation.separator.attribute.cpp"
6422 },
6423 {
6424 "match": ":",
6425 "name": "punctuation.accessor.attribute.cpp"
6426 },
6427 {
6428 "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)(?=::)",
6429 "name": "entity.name.namespace.cpp"
6430 },
6431 {
6432 "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)",
6433 "name": "entity.other.attribute.$0.cpp"
6434 },
6435 {
6436 "include": "#number_literal"
6437 }
6438 ]
6439 },
6440 "namespace_alias": {
6441 "match": "(?<!\\w)(namespace)(?:\\s)+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?(((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<8>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(?:\\s)+)?(?:(;)|\\n))",
6442 "captures": {
6443 "1": {
6444 "name": "keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"
6445 },
6446 "2": {
6447 "name": "entity.name.namespace.alias.cpp"
6448 },
6449 "3": {
6450 "name": "keyword.operator.assignment.cpp"
6451 },
6452 "4": {
6453 "name": "meta.declaration.namespace.alias.value.cpp"
6454 },
6455 "5": {
6456 "patterns": [
6457 {
6458 "include": "#scope_resolution_namespace_alias_inner_generated"
6459 }
6460 ]
6461 },
6462 "6": {
6463 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
6464 },
6465 "7": {
6466 "patterns": [
6467 {
6468 "include": "#template_call_range"
6469 }
6470 ]
6471 },
6472 "9": {
6473 "name": "entity.name.namespace.cpp"
6474 },
6475 "10": {
6476 "name": "punctuation.terminator.statement.cpp"
6477 }
6478 },
6479 "name": "meta.declaration.namespace.alias.cpp"
6480 },
6481 "namespace_block": {
6482 "begin": "((?<!\\w)namespace(?!\\w))",
6483 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
6484 "beginCaptures": {
6485 "0": {
6486 "name": "meta.head.namespace.cpp"
6487 },
6488 "1": {
6489 "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"
6490 }
6491 },
6492 "endCaptures": {},
6493 "name": "meta.block.namespace.cpp",
6494 "patterns": [
6495 {
6496 "begin": "\\G ?",
6497 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
6498 "beginCaptures": {},
6499 "endCaptures": {
6500 "0": {
6501 "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp"
6502 }
6503 },
6504 "name": "meta.head.namespace.cpp",
6505 "patterns": [
6506 {
6507 "include": "#ever_present_context"
6508 },
6509 {
6510 "include": "#attributes_context"
6511 },
6512 {
6513 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<4>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(?:\\s)+)?(?:(::)(?:(?:\\s)+)?(inline))?",
6514 "captures": {
6515 "1": {
6516 "patterns": [
6517 {
6518 "include": "#scope_resolution_namespace_block_inner_generated"
6519 }
6520 ]
6521 },
6522 "2": {
6523 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
6524 },
6525 "3": {
6526 "patterns": [
6527 {
6528 "include": "#template_call_range"
6529 }
6530 ]
6531 },
6532 "4": {},
6533 "5": {
6534 "name": "entity.name.namespace.cpp"
6535 },
6536 "6": {
6537 "name": "punctuation.separator.scope-resolution.namespace.block.cpp"
6538 },
6539 "7": {
6540 "name": "storage.modifier.inline.cpp"
6541 }
6542 }
6543 }
6544 ]
6545 },
6546 {
6547 "begin": "(?<=\\{|<%|\\?\\?<)",
6548 "end": "\\}|%>|\\?\\?>",
6549 "beginCaptures": {},
6550 "endCaptures": {
6551 "0": {
6552 "name": "punctuation.section.block.end.bracket.curly.namespace.cpp"
6553 }
6554 },
6555 "name": "meta.body.namespace.cpp",
6556 "patterns": [
6557 {
6558 "include": "$self"
6559 }
6560 ]
6561 },
6562 {
6563 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
6564 "end": "[\\s]*(?=;)",
6565 "beginCaptures": {},
6566 "endCaptures": {},
6567 "name": "meta.tail.namespace.cpp",
6568 "patterns": [
6569 {
6570 "include": "$self"
6571 }
6572 ]
6573 }
6574 ]
6575 },
6576 "noexcept_operator": {
6577 "begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
6578 "end": "\\)",
6579 "beginCaptures": {
6580 "1": {
6581 "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
6582 },
6583 "2": {
6584 "patterns": [
6585 {
6586 "include": "#inline_comment"
6587 }
6588 ]
6589 },
6590 "3": {
6591 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6592 },
6593 "4": {
6594 "name": "comment.block.cpp"
6595 },
6596 "5": {
6597 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6598 },
6599 "6": {
6600 "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
6601 }
6602 },
6603 "endCaptures": {
6604 "0": {
6605 "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
6606 }
6607 },
6608 "contentName": "meta.arguments.operator.noexcept",
6609 "patterns": [
6610 {
6611 "include": "#evaluation_context"
6612 }
6613 ]
6614 },
6615 "number_literal": {
6616 "match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
6617 "captures": {
6618 "0": {
6619 "patterns": [
6620 {
6621 "begin": "(?=.)",
6622 "end": "$",
6623 "beginCaptures": {},
6624 "endCaptures": {},
6625 "patterns": [
6626 {
6627 "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*)?$)",
6628 "captures": {
6629 "1": {
6630 "name": "keyword.other.unit.hexadecimal.cpp"
6631 },
6632 "2": {
6633 "name": "constant.numeric.hexadecimal.cpp",
6634 "patterns": [
6635 {
6636 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6637 "name": "punctuation.separator.constant.numeric.cpp"
6638 }
6639 ]
6640 },
6641 "3": {
6642 "name": "punctuation.separator.constant.numeric.cpp"
6643 },
6644 "4": {
6645 "name": "constant.numeric.hexadecimal.cpp"
6646 },
6647 "5": {
6648 "name": "constant.numeric.hexadecimal.cpp",
6649 "patterns": [
6650 {
6651 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6652 "name": "punctuation.separator.constant.numeric.cpp"
6653 }
6654 ]
6655 },
6656 "6": {
6657 "name": "punctuation.separator.constant.numeric.cpp"
6658 },
6659 "7": {
6660 "name": "keyword.other.unit.exponent.hexadecimal.cpp"
6661 },
6662 "8": {
6663 "name": "keyword.operator.plus.exponent.hexadecimal.cpp"
6664 },
6665 "9": {
6666 "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
6667 },
6668 "10": {
6669 "name": "constant.numeric.exponent.hexadecimal.cpp",
6670 "patterns": [
6671 {
6672 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6673 "name": "punctuation.separator.constant.numeric.cpp"
6674 }
6675 ]
6676 },
6677 "11": {
6678 "name": "keyword.other.unit.suffix.floating-point.cpp"
6679 },
6680 "12": {
6681 "name": "keyword.other.unit.user-defined.cpp"
6682 }
6683 }
6684 },
6685 {
6686 "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*)?$)",
6687 "captures": {
6688 "1": {
6689 "name": "constant.numeric.decimal.cpp",
6690 "patterns": [
6691 {
6692 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6693 "name": "punctuation.separator.constant.numeric.cpp"
6694 }
6695 ]
6696 },
6697 "2": {
6698 "name": "punctuation.separator.constant.numeric.cpp"
6699 },
6700 "3": {
6701 "name": "constant.numeric.decimal.point.cpp"
6702 },
6703 "4": {
6704 "name": "constant.numeric.decimal.cpp",
6705 "patterns": [
6706 {
6707 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6708 "name": "punctuation.separator.constant.numeric.cpp"
6709 }
6710 ]
6711 },
6712 "5": {
6713 "name": "punctuation.separator.constant.numeric.cpp"
6714 },
6715 "6": {
6716 "name": "keyword.other.unit.exponent.decimal.cpp"
6717 },
6718 "7": {
6719 "name": "keyword.operator.plus.exponent.decimal.cpp"
6720 },
6721 "8": {
6722 "name": "keyword.operator.minus.exponent.decimal.cpp"
6723 },
6724 "9": {
6725 "name": "constant.numeric.exponent.decimal.cpp",
6726 "patterns": [
6727 {
6728 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6729 "name": "punctuation.separator.constant.numeric.cpp"
6730 }
6731 ]
6732 },
6733 "10": {
6734 "name": "keyword.other.unit.suffix.floating-point.cpp"
6735 },
6736 "11": {
6737 "name": "keyword.other.unit.user-defined.cpp"
6738 }
6739 }
6740 },
6741 {
6742 "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*)?$)",
6743 "captures": {
6744 "1": {
6745 "name": "keyword.other.unit.binary.cpp"
6746 },
6747 "2": {
6748 "name": "constant.numeric.binary.cpp",
6749 "patterns": [
6750 {
6751 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6752 "name": "punctuation.separator.constant.numeric.cpp"
6753 }
6754 ]
6755 },
6756 "3": {
6757 "name": "punctuation.separator.constant.numeric.cpp"
6758 },
6759 "4": {
6760 "name": "keyword.other.unit.suffix.integer.cpp"
6761 },
6762 "5": {
6763 "name": "keyword.other.unit.user-defined.cpp"
6764 }
6765 }
6766 },
6767 {
6768 "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*)?$)",
6769 "captures": {
6770 "1": {
6771 "name": "keyword.other.unit.octal.cpp"
6772 },
6773 "2": {
6774 "name": "constant.numeric.octal.cpp",
6775 "patterns": [
6776 {
6777 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6778 "name": "punctuation.separator.constant.numeric.cpp"
6779 }
6780 ]
6781 },
6782 "3": {
6783 "name": "punctuation.separator.constant.numeric.cpp"
6784 },
6785 "4": {
6786 "name": "keyword.other.unit.suffix.integer.cpp"
6787 },
6788 "5": {
6789 "name": "keyword.other.unit.user-defined.cpp"
6790 }
6791 }
6792 },
6793 {
6794 "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*)?$)",
6795 "captures": {
6796 "1": {
6797 "name": "keyword.other.unit.hexadecimal.cpp"
6798 },
6799 "2": {
6800 "name": "constant.numeric.hexadecimal.cpp",
6801 "patterns": [
6802 {
6803 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6804 "name": "punctuation.separator.constant.numeric.cpp"
6805 }
6806 ]
6807 },
6808 "3": {
6809 "name": "punctuation.separator.constant.numeric.cpp"
6810 },
6811 "4": {
6812 "name": "keyword.other.unit.exponent.hexadecimal.cpp"
6813 },
6814 "5": {
6815 "name": "keyword.operator.plus.exponent.hexadecimal.cpp"
6816 },
6817 "6": {
6818 "name": "keyword.operator.minus.exponent.hexadecimal.cpp"
6819 },
6820 "7": {
6821 "name": "constant.numeric.exponent.hexadecimal.cpp",
6822 "patterns": [
6823 {
6824 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6825 "name": "punctuation.separator.constant.numeric.cpp"
6826 }
6827 ]
6828 },
6829 "8": {
6830 "name": "keyword.other.unit.suffix.integer.cpp"
6831 },
6832 "9": {
6833 "name": "keyword.other.unit.user-defined.cpp"
6834 }
6835 }
6836 },
6837 {
6838 "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*)?$)",
6839 "captures": {
6840 "1": {
6841 "name": "constant.numeric.decimal.cpp",
6842 "patterns": [
6843 {
6844 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6845 "name": "punctuation.separator.constant.numeric.cpp"
6846 }
6847 ]
6848 },
6849 "2": {
6850 "name": "punctuation.separator.constant.numeric.cpp"
6851 },
6852 "3": {
6853 "name": "keyword.other.unit.exponent.decimal.cpp"
6854 },
6855 "4": {
6856 "name": "keyword.operator.plus.exponent.decimal.cpp"
6857 },
6858 "5": {
6859 "name": "keyword.operator.minus.exponent.decimal.cpp"
6860 },
6861 "6": {
6862 "name": "constant.numeric.exponent.decimal.cpp",
6863 "patterns": [
6864 {
6865 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
6866 "name": "punctuation.separator.constant.numeric.cpp"
6867 }
6868 ]
6869 },
6870 "7": {
6871 "name": "keyword.other.unit.suffix.integer.cpp"
6872 },
6873 "8": {
6874 "name": "keyword.other.unit.user-defined.cpp"
6875 }
6876 }
6877 },
6878 {
6879 "match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
6880 "name": "invalid.illegal.constant.numeric.cpp"
6881 }
6882 ]
6883 }
6884 ]
6885 }
6886 }
6887 },
6888 "operator_overload": {
6889 "begin": "(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:\\[\\])?)))|(\"\")((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\<|\\()",
6890 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
6891 "beginCaptures": {
6892 "0": {
6893 "name": "meta.head.function.definition.special.operator-overload.cpp"
6894 },
6895 "1": {
6896 "name": "meta.qualified_type.cpp",
6897 "patterns": [
6898 {
6899 "match": "::",
6900 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
6901 },
6902 {
6903 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
6904 "name": "storage.type.$0.cpp"
6905 },
6906 {
6907 "include": "#attributes_context"
6908 },
6909 {
6910 "include": "#storage_types"
6911 },
6912 {
6913 "include": "#number_literal"
6914 },
6915 {
6916 "include": "#string_context"
6917 },
6918 {
6919 "include": "#comma"
6920 },
6921 {
6922 "include": "#scope_resolution_inner_generated"
6923 },
6924 {
6925 "begin": "<",
6926 "end": ">",
6927 "beginCaptures": {
6928 "0": {
6929 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
6930 }
6931 },
6932 "endCaptures": {
6933 "0": {
6934 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
6935 }
6936 },
6937 "name": "meta.template.call.cpp",
6938 "patterns": [
6939 {
6940 "include": "#template_call_context"
6941 }
6942 ]
6943 },
6944 {
6945 "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}))*",
6946 "name": "entity.name.type.cpp"
6947 }
6948 ]
6949 },
6950 "2": {
6951 "patterns": [
6952 {
6953 "include": "#attributes_context"
6954 },
6955 {
6956 "include": "#number_literal"
6957 }
6958 ]
6959 },
6960 "3": {
6961 "patterns": [
6962 {
6963 "include": "#inline_comment"
6964 }
6965 ]
6966 },
6967 "4": {
6968 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6969 },
6970 "5": {
6971 "name": "comment.block.cpp"
6972 },
6973 "6": {
6974 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6975 },
6976 "7": {
6977 "patterns": [
6978 {
6979 "include": "#inline_comment"
6980 }
6981 ]
6982 },
6983 "8": {
6984 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6985 },
6986 "9": {
6987 "name": "comment.block.cpp"
6988 },
6989 "10": {
6990 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6991 },
6992 "11": {
6993 "patterns": [
6994 {
6995 "match": "::",
6996 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
6997 },
6998 {
6999 "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)",
7000 "name": "entity.name.scope-resolution.type.cpp"
7001 },
7002 {
7003 "include": "#template_call_range"
7004 }
7005 ]
7006 },
7007 "12": {
7008 "patterns": [
7009 {
7010 "include": "#template_call_range"
7011 }
7012 ]
7013 },
7014 "13": {},
7015 "14": {
7016 "patterns": [
7017 {
7018 "include": "#inline_comment"
7019 }
7020 ]
7021 },
7022 "15": {
7023 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7024 },
7025 "16": {
7026 "name": "comment.block.cpp"
7027 },
7028 "17": {
7029 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7030 },
7031 "18": {},
7032 "19": {
7033 "patterns": [
7034 {
7035 "match": "\\*",
7036 "name": "storage.modifier.pointer.cpp"
7037 },
7038 {
7039 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
7040 "captures": {
7041 "1": {
7042 "patterns": [
7043 {
7044 "include": "#inline_comment"
7045 }
7046 ]
7047 },
7048 "2": {
7049 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7050 },
7051 "3": {
7052 "name": "comment.block.cpp"
7053 },
7054 "4": {
7055 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7056 }
7057 },
7058 "name": "invalid.illegal.reference-type.cpp"
7059 },
7060 {
7061 "match": "\\&",
7062 "name": "storage.modifier.reference.cpp"
7063 }
7064 ]
7065 },
7066 "20": {
7067 "patterns": [
7068 {
7069 "include": "#inline_comment"
7070 }
7071 ]
7072 },
7073 "21": {
7074 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7075 },
7076 "22": {
7077 "name": "comment.block.cpp"
7078 },
7079 "23": {
7080 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7081 },
7082 "24": {
7083 "patterns": [
7084 {
7085 "include": "#inline_comment"
7086 }
7087 ]
7088 },
7089 "25": {
7090 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7091 },
7092 "26": {
7093 "name": "comment.block.cpp"
7094 },
7095 "27": {
7096 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7097 },
7098 "28": {
7099 "patterns": [
7100 {
7101 "include": "#inline_comment"
7102 }
7103 ]
7104 },
7105 "29": {
7106 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7107 },
7108 "30": {
7109 "name": "comment.block.cpp"
7110 },
7111 "31": {
7112 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7113 },
7114 "32": {
7115 "patterns": [
7116 {
7117 "include": "#inline_comment"
7118 }
7119 ]
7120 },
7121 "33": {
7122 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7123 },
7124 "34": {
7125 "name": "comment.block.cpp"
7126 },
7127 "35": {
7128 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7129 },
7130 "36": {
7131 "name": "storage.type.modifier.calling-convention.cpp"
7132 },
7133 "37": {
7134 "patterns": [
7135 {
7136 "include": "#inline_comment"
7137 }
7138 ]
7139 },
7140 "38": {
7141 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7142 },
7143 "39": {
7144 "name": "comment.block.cpp"
7145 },
7146 "40": {
7147 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7148 },
7149 "41": {
7150 "patterns": [
7151 {
7152 "include": "#inline_comment"
7153 }
7154 ]
7155 },
7156 "42": {
7157 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7158 },
7159 "43": {
7160 "name": "comment.block.cpp"
7161 },
7162 "44": {
7163 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7164 },
7165 "45": {
7166 "patterns": [
7167 {
7168 "match": "::",
7169 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"
7170 },
7171 {
7172 "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)",
7173 "name": "entity.name.scope-resolution.operator.cpp"
7174 },
7175 {
7176 "include": "#template_call_range"
7177 }
7178 ]
7179 },
7180 "46": {
7181 "patterns": [
7182 {
7183 "include": "#template_call_range"
7184 }
7185 ]
7186 },
7187 "47": {},
7188 "48": {
7189 "name": "keyword.other.operator.overload.cpp"
7190 },
7191 "49": {
7192 "patterns": [
7193 {
7194 "include": "#inline_comment"
7195 }
7196 ]
7197 },
7198 "50": {
7199 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7200 },
7201 "51": {
7202 "name": "comment.block.cpp"
7203 },
7204 "52": {
7205 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7206 },
7207 "53": {
7208 "patterns": [
7209 {
7210 "match": "::",
7211 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"
7212 },
7213 {
7214 "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)",
7215 "name": "entity.name.scope-resolution.operator-overload.cpp"
7216 },
7217 {
7218 "include": "#template_call_range"
7219 }
7220 ]
7221 },
7222 "54": {
7223 "patterns": [
7224 {
7225 "include": "#template_call_range"
7226 }
7227 ]
7228 },
7229 "55": {},
7230 "56": {
7231 "name": "entity.name.operator.cpp"
7232 },
7233 "57": {
7234 "name": "entity.name.operator.type.cpp"
7235 },
7236 "58": {
7237 "patterns": [
7238 {
7239 "match": "\\*",
7240 "name": "entity.name.operator.type.pointer.cpp"
7241 },
7242 {
7243 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
7244 "captures": {
7245 "1": {
7246 "patterns": [
7247 {
7248 "include": "#inline_comment"
7249 }
7250 ]
7251 },
7252 "2": {
7253 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7254 },
7255 "3": {
7256 "name": "comment.block.cpp"
7257 },
7258 "4": {
7259 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7260 }
7261 },
7262 "name": "invalid.illegal.reference-type.cpp"
7263 },
7264 {
7265 "match": "\\&",
7266 "name": "entity.name.operator.type.reference.cpp"
7267 }
7268 ]
7269 },
7270 "59": {
7271 "patterns": [
7272 {
7273 "include": "#inline_comment"
7274 }
7275 ]
7276 },
7277 "60": {
7278 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7279 },
7280 "61": {
7281 "name": "comment.block.cpp"
7282 },
7283 "62": {
7284 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7285 },
7286 "63": {
7287 "patterns": [
7288 {
7289 "include": "#inline_comment"
7290 }
7291 ]
7292 },
7293 "64": {
7294 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7295 },
7296 "65": {
7297 "name": "comment.block.cpp"
7298 },
7299 "66": {
7300 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7301 },
7302 "67": {
7303 "patterns": [
7304 {
7305 "include": "#inline_comment"
7306 }
7307 ]
7308 },
7309 "68": {
7310 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7311 },
7312 "69": {
7313 "name": "comment.block.cpp"
7314 },
7315 "70": {
7316 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7317 },
7318 "71": {
7319 "name": "entity.name.operator.type.array.cpp"
7320 },
7321 "72": {
7322 "name": "entity.name.operator.custom-literal.cpp"
7323 },
7324 "73": {
7325 "patterns": [
7326 {
7327 "include": "#inline_comment"
7328 }
7329 ]
7330 },
7331 "74": {
7332 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7333 },
7334 "75": {
7335 "name": "comment.block.cpp"
7336 },
7337 "76": {
7338 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7339 },
7340 "77": {
7341 "name": "entity.name.operator.custom-literal.cpp"
7342 },
7343 "78": {
7344 "patterns": [
7345 {
7346 "include": "#inline_comment"
7347 }
7348 ]
7349 },
7350 "79": {
7351 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7352 },
7353 "80": {
7354 "name": "comment.block.cpp"
7355 },
7356 "81": {
7357 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7358 }
7359 },
7360 "endCaptures": {},
7361 "name": "meta.function.definition.special.operator-overload.cpp",
7362 "patterns": [
7363 {
7364 "begin": "\\G ?",
7365 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
7366 "beginCaptures": {},
7367 "endCaptures": {
7368 "0": {
7369 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"
7370 }
7371 },
7372 "name": "meta.head.function.definition.special.operator-overload.cpp",
7373 "patterns": [
7374 {
7375 "include": "#ever_present_context"
7376 },
7377 {
7378 "include": "#template_call_range"
7379 },
7380 {
7381 "begin": "\\(",
7382 "end": "\\)",
7383 "beginCaptures": {
7384 "0": {
7385 "name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"
7386 }
7387 },
7388 "endCaptures": {
7389 "0": {
7390 "name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"
7391 }
7392 },
7393 "contentName": "meta.function.definition.parameters.special.operator-overload",
7394 "patterns": [
7395 {
7396 "include": "#function_parameter_context"
7397 },
7398 {
7399 "include": "#evaluation_context"
7400 }
7401 ]
7402 },
7403 {
7404 "include": "#qualifiers_and_specifiers_post_parameters"
7405 },
7406 {
7407 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
7408 "captures": {
7409 "1": {
7410 "name": "keyword.operator.assignment.cpp"
7411 },
7412 "2": {
7413 "patterns": [
7414 {
7415 "include": "#inline_comment"
7416 }
7417 ]
7418 },
7419 "3": {
7420 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7421 },
7422 "4": {
7423 "name": "comment.block.cpp"
7424 },
7425 "5": {
7426 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7427 },
7428 "6": {
7429 "name": "keyword.other.default.function.cpp"
7430 },
7431 "7": {
7432 "name": "keyword.other.delete.function.cpp"
7433 }
7434 }
7435 },
7436 {
7437 "include": "$self"
7438 }
7439 ]
7440 },
7441 {
7442 "begin": "(?<=\\{|<%|\\?\\?<)",
7443 "end": "\\}|%>|\\?\\?>",
7444 "beginCaptures": {},
7445 "endCaptures": {
7446 "0": {
7447 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"
7448 }
7449 },
7450 "name": "meta.body.function.definition.special.operator-overload.cpp",
7451 "patterns": [
7452 {
7453 "include": "#function_body_context"
7454 }
7455 ]
7456 },
7457 {
7458 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
7459 "end": "[\\s]*(?=;)",
7460 "beginCaptures": {},
7461 "endCaptures": {},
7462 "name": "meta.tail.function.definition.special.operator-overload.cpp",
7463 "patterns": [
7464 {
7465 "include": "$self"
7466 }
7467 ]
7468 }
7469 ]
7470 },
7471 "operators": {
7472 "patterns": [
7473 {
7474 "begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
7475 "end": "\\)",
7476 "beginCaptures": {
7477 "1": {
7478 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
7479 },
7480 "2": {
7481 "patterns": [
7482 {
7483 "include": "#inline_comment"
7484 }
7485 ]
7486 },
7487 "3": {
7488 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7489 },
7490 "4": {
7491 "name": "comment.block.cpp"
7492 },
7493 "5": {
7494 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7495 },
7496 "6": {
7497 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
7498 }
7499 },
7500 "endCaptures": {
7501 "0": {
7502 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
7503 }
7504 },
7505 "contentName": "meta.arguments.operator.sizeof",
7506 "patterns": [
7507 {
7508 "include": "#evaluation_context"
7509 }
7510 ]
7511 },
7512 {
7513 "begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
7514 "end": "\\)",
7515 "beginCaptures": {
7516 "1": {
7517 "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
7518 },
7519 "2": {
7520 "patterns": [
7521 {
7522 "include": "#inline_comment"
7523 }
7524 ]
7525 },
7526 "3": {
7527 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7528 },
7529 "4": {
7530 "name": "comment.block.cpp"
7531 },
7532 "5": {
7533 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7534 },
7535 "6": {
7536 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
7537 }
7538 },
7539 "endCaptures": {
7540 "0": {
7541 "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
7542 }
7543 },
7544 "contentName": "meta.arguments.operator.alignof",
7545 "patterns": [
7546 {
7547 "include": "#evaluation_context"
7548 }
7549 ]
7550 },
7551 {
7552 "begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
7553 "end": "\\)",
7554 "beginCaptures": {
7555 "1": {
7556 "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
7557 },
7558 "2": {
7559 "patterns": [
7560 {
7561 "include": "#inline_comment"
7562 }
7563 ]
7564 },
7565 "3": {
7566 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7567 },
7568 "4": {
7569 "name": "comment.block.cpp"
7570 },
7571 "5": {
7572 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7573 },
7574 "6": {
7575 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
7576 }
7577 },
7578 "endCaptures": {
7579 "0": {
7580 "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
7581 }
7582 },
7583 "contentName": "meta.arguments.operator.alignas",
7584 "patterns": [
7585 {
7586 "include": "#evaluation_context"
7587 }
7588 ]
7589 },
7590 {
7591 "begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
7592 "end": "\\)",
7593 "beginCaptures": {
7594 "1": {
7595 "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
7596 },
7597 "2": {
7598 "patterns": [
7599 {
7600 "include": "#inline_comment"
7601 }
7602 ]
7603 },
7604 "3": {
7605 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7606 },
7607 "4": {
7608 "name": "comment.block.cpp"
7609 },
7610 "5": {
7611 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7612 },
7613 "6": {
7614 "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
7615 }
7616 },
7617 "endCaptures": {
7618 "0": {
7619 "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
7620 }
7621 },
7622 "contentName": "meta.arguments.operator.typeid",
7623 "patterns": [
7624 {
7625 "include": "#evaluation_context"
7626 }
7627 ]
7628 },
7629 {
7630 "begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
7631 "end": "\\)",
7632 "beginCaptures": {
7633 "1": {
7634 "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
7635 },
7636 "2": {
7637 "patterns": [
7638 {
7639 "include": "#inline_comment"
7640 }
7641 ]
7642 },
7643 "3": {
7644 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7645 },
7646 "4": {
7647 "name": "comment.block.cpp"
7648 },
7649 "5": {
7650 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7651 },
7652 "6": {
7653 "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
7654 }
7655 },
7656 "endCaptures": {
7657 "0": {
7658 "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
7659 }
7660 },
7661 "contentName": "meta.arguments.operator.noexcept",
7662 "patterns": [
7663 {
7664 "include": "#evaluation_context"
7665 }
7666 ]
7667 },
7668 {
7669 "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
7670 "end": "\\)",
7671 "beginCaptures": {
7672 "1": {
7673 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
7674 },
7675 "2": {
7676 "patterns": [
7677 {
7678 "include": "#inline_comment"
7679 }
7680 ]
7681 },
7682 "3": {
7683 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7684 },
7685 "4": {
7686 "name": "comment.block.cpp"
7687 },
7688 "5": {
7689 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7690 },
7691 "6": {
7692 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
7693 }
7694 },
7695 "endCaptures": {
7696 "0": {
7697 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
7698 }
7699 },
7700 "contentName": "meta.arguments.operator.sizeof.variadic",
7701 "patterns": [
7702 {
7703 "include": "#evaluation_context"
7704 }
7705 ]
7706 },
7707 {
7708 "match": "--",
7709 "name": "keyword.operator.decrement.cpp"
7710 },
7711 {
7712 "match": "\\+\\+",
7713 "name": "keyword.operator.increment.cpp"
7714 },
7715 {
7716 "match": "%=|\\+=|-=|\\*=|(?<!\\()\\/=",
7717 "name": "keyword.operator.assignment.compound.cpp"
7718 },
7719 {
7720 "match": "&=|\\^=|<<=|>>=|\\|=",
7721 "name": "keyword.operator.assignment.compound.bitwise.cpp"
7722 },
7723 {
7724 "match": "<<|>>",
7725 "name": "keyword.operator.bitwise.shift.cpp"
7726 },
7727 {
7728 "match": "!=|<=|>=|==|<|>",
7729 "name": "keyword.operator.comparison.cpp"
7730 },
7731 {
7732 "match": "&&|!|\\|\\|",
7733 "name": "keyword.operator.logical.cpp"
7734 },
7735 {
7736 "match": "&|\\||\\^|~",
7737 "name": "keyword.operator.bitwise.cpp"
7738 },
7739 {
7740 "include": "#assignment_operator"
7741 },
7742 {
7743 "match": "%|\\*|\\/|-|\\+",
7744 "name": "keyword.operator.arithmetic.cpp"
7745 },
7746 {
7747 "include": "#ternary_operator"
7748 }
7749 ]
7750 },
7751 "over_qualified_types": {
7752 "patterns": [
7753 {
7754 "match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
7755 "captures": {
7756 "1": {
7757 "name": "storage.type.struct.parameter.cpp"
7758 },
7759 "2": {
7760 "patterns": [
7761 {
7762 "include": "#inline_comment"
7763 }
7764 ]
7765 },
7766 "3": {
7767 "patterns": [
7768 {
7769 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7770 "captures": {
7771 "1": {
7772 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7773 },
7774 "2": {
7775 "name": "comment.block.cpp"
7776 },
7777 "3": {
7778 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7779 }
7780 }
7781 }
7782 ]
7783 },
7784 "4": {
7785 "name": "entity.name.type.struct.parameter.cpp"
7786 },
7787 "5": {
7788 "patterns": [
7789 {
7790 "include": "#inline_comment"
7791 }
7792 ]
7793 },
7794 "6": {
7795 "patterns": [
7796 {
7797 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7798 "captures": {
7799 "1": {
7800 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7801 },
7802 "2": {
7803 "name": "comment.block.cpp"
7804 },
7805 "3": {
7806 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7807 }
7808 }
7809 }
7810 ]
7811 },
7812 "7": {
7813 "patterns": [
7814 {
7815 "match": "\\*",
7816 "name": "storage.modifier.pointer.cpp"
7817 },
7818 {
7819 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
7820 "captures": {
7821 "1": {
7822 "patterns": [
7823 {
7824 "include": "#inline_comment"
7825 }
7826 ]
7827 },
7828 "2": {
7829 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7830 },
7831 "3": {
7832 "name": "comment.block.cpp"
7833 },
7834 "4": {
7835 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7836 }
7837 },
7838 "name": "invalid.illegal.reference-type.cpp"
7839 },
7840 {
7841 "match": "\\&",
7842 "name": "storage.modifier.reference.cpp"
7843 }
7844 ]
7845 },
7846 "8": {
7847 "patterns": [
7848 {
7849 "include": "#inline_comment"
7850 }
7851 ]
7852 },
7853 "9": {
7854 "patterns": [
7855 {
7856 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7857 "captures": {
7858 "1": {
7859 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7860 },
7861 "2": {
7862 "name": "comment.block.cpp"
7863 },
7864 "3": {
7865 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7866 }
7867 }
7868 }
7869 ]
7870 },
7871 "10": {
7872 "patterns": [
7873 {
7874 "include": "#inline_comment"
7875 }
7876 ]
7877 },
7878 "11": {
7879 "patterns": [
7880 {
7881 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7882 "captures": {
7883 "1": {
7884 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7885 },
7886 "2": {
7887 "name": "comment.block.cpp"
7888 },
7889 "3": {
7890 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7891 }
7892 }
7893 }
7894 ]
7895 },
7896 "12": {
7897 "patterns": [
7898 {
7899 "include": "#inline_comment"
7900 }
7901 ]
7902 },
7903 "13": {
7904 "patterns": [
7905 {
7906 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7907 "captures": {
7908 "1": {
7909 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7910 },
7911 "2": {
7912 "name": "comment.block.cpp"
7913 },
7914 "3": {
7915 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7916 }
7917 }
7918 }
7919 ]
7920 },
7921 "14": {
7922 "name": "variable.other.object.declare.cpp"
7923 },
7924 "15": {
7925 "patterns": [
7926 {
7927 "include": "#inline_comment"
7928 }
7929 ]
7930 },
7931 "16": {
7932 "patterns": [
7933 {
7934 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7935 "captures": {
7936 "1": {
7937 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7938 },
7939 "2": {
7940 "name": "comment.block.cpp"
7941 },
7942 "3": {
7943 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7944 }
7945 }
7946 }
7947 ]
7948 },
7949 "17": {
7950 "patterns": [
7951 {
7952 "include": "#inline_comment"
7953 }
7954 ]
7955 },
7956 "18": {
7957 "patterns": [
7958 {
7959 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7960 "captures": {
7961 "1": {
7962 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7963 },
7964 "2": {
7965 "name": "comment.block.cpp"
7966 },
7967 "3": {
7968 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7969 }
7970 }
7971 }
7972 ]
7973 },
7974 "19": {
7975 "patterns": [
7976 {
7977 "include": "#inline_comment"
7978 }
7979 ]
7980 },
7981 "20": {
7982 "patterns": [
7983 {
7984 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
7985 "captures": {
7986 "1": {
7987 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7988 },
7989 "2": {
7990 "name": "comment.block.cpp"
7991 },
7992 "3": {
7993 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7994 }
7995 }
7996 }
7997 ]
7998 }
7999 }
8000 },
8001 {
8002 "match": "(\\benum)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
8003 "captures": {
8004 "1": {
8005 "name": "storage.type.enum.parameter.cpp"
8006 },
8007 "2": {
8008 "patterns": [
8009 {
8010 "include": "#inline_comment"
8011 }
8012 ]
8013 },
8014 "3": {
8015 "patterns": [
8016 {
8017 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8018 "captures": {
8019 "1": {
8020 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8021 },
8022 "2": {
8023 "name": "comment.block.cpp"
8024 },
8025 "3": {
8026 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8027 }
8028 }
8029 }
8030 ]
8031 },
8032 "4": {
8033 "name": "entity.name.type.enum.parameter.cpp"
8034 },
8035 "5": {
8036 "patterns": [
8037 {
8038 "include": "#inline_comment"
8039 }
8040 ]
8041 },
8042 "6": {
8043 "patterns": [
8044 {
8045 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8046 "captures": {
8047 "1": {
8048 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8049 },
8050 "2": {
8051 "name": "comment.block.cpp"
8052 },
8053 "3": {
8054 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8055 }
8056 }
8057 }
8058 ]
8059 },
8060 "7": {
8061 "patterns": [
8062 {
8063 "match": "\\*",
8064 "name": "storage.modifier.pointer.cpp"
8065 },
8066 {
8067 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
8068 "captures": {
8069 "1": {
8070 "patterns": [
8071 {
8072 "include": "#inline_comment"
8073 }
8074 ]
8075 },
8076 "2": {
8077 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8078 },
8079 "3": {
8080 "name": "comment.block.cpp"
8081 },
8082 "4": {
8083 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8084 }
8085 },
8086 "name": "invalid.illegal.reference-type.cpp"
8087 },
8088 {
8089 "match": "\\&",
8090 "name": "storage.modifier.reference.cpp"
8091 }
8092 ]
8093 },
8094 "8": {
8095 "patterns": [
8096 {
8097 "include": "#inline_comment"
8098 }
8099 ]
8100 },
8101 "9": {
8102 "patterns": [
8103 {
8104 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8105 "captures": {
8106 "1": {
8107 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8108 },
8109 "2": {
8110 "name": "comment.block.cpp"
8111 },
8112 "3": {
8113 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8114 }
8115 }
8116 }
8117 ]
8118 },
8119 "10": {
8120 "patterns": [
8121 {
8122 "include": "#inline_comment"
8123 }
8124 ]
8125 },
8126 "11": {
8127 "patterns": [
8128 {
8129 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8130 "captures": {
8131 "1": {
8132 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8133 },
8134 "2": {
8135 "name": "comment.block.cpp"
8136 },
8137 "3": {
8138 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8139 }
8140 }
8141 }
8142 ]
8143 },
8144 "12": {
8145 "patterns": [
8146 {
8147 "include": "#inline_comment"
8148 }
8149 ]
8150 },
8151 "13": {
8152 "patterns": [
8153 {
8154 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8155 "captures": {
8156 "1": {
8157 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8158 },
8159 "2": {
8160 "name": "comment.block.cpp"
8161 },
8162 "3": {
8163 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8164 }
8165 }
8166 }
8167 ]
8168 },
8169 "14": {
8170 "name": "variable.other.object.declare.cpp"
8171 },
8172 "15": {
8173 "patterns": [
8174 {
8175 "include": "#inline_comment"
8176 }
8177 ]
8178 },
8179 "16": {
8180 "patterns": [
8181 {
8182 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8183 "captures": {
8184 "1": {
8185 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8186 },
8187 "2": {
8188 "name": "comment.block.cpp"
8189 },
8190 "3": {
8191 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8192 }
8193 }
8194 }
8195 ]
8196 },
8197 "17": {
8198 "patterns": [
8199 {
8200 "include": "#inline_comment"
8201 }
8202 ]
8203 },
8204 "18": {
8205 "patterns": [
8206 {
8207 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8208 "captures": {
8209 "1": {
8210 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8211 },
8212 "2": {
8213 "name": "comment.block.cpp"
8214 },
8215 "3": {
8216 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8217 }
8218 }
8219 }
8220 ]
8221 },
8222 "19": {
8223 "patterns": [
8224 {
8225 "include": "#inline_comment"
8226 }
8227 ]
8228 },
8229 "20": {
8230 "patterns": [
8231 {
8232 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8233 "captures": {
8234 "1": {
8235 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8236 },
8237 "2": {
8238 "name": "comment.block.cpp"
8239 },
8240 "3": {
8241 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8242 }
8243 }
8244 }
8245 ]
8246 }
8247 }
8248 },
8249 {
8250 "match": "(\\bunion)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
8251 "captures": {
8252 "1": {
8253 "name": "storage.type.union.parameter.cpp"
8254 },
8255 "2": {
8256 "patterns": [
8257 {
8258 "include": "#inline_comment"
8259 }
8260 ]
8261 },
8262 "3": {
8263 "patterns": [
8264 {
8265 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8266 "captures": {
8267 "1": {
8268 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8269 },
8270 "2": {
8271 "name": "comment.block.cpp"
8272 },
8273 "3": {
8274 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8275 }
8276 }
8277 }
8278 ]
8279 },
8280 "4": {
8281 "name": "entity.name.type.union.parameter.cpp"
8282 },
8283 "5": {
8284 "patterns": [
8285 {
8286 "include": "#inline_comment"
8287 }
8288 ]
8289 },
8290 "6": {
8291 "patterns": [
8292 {
8293 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8294 "captures": {
8295 "1": {
8296 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8297 },
8298 "2": {
8299 "name": "comment.block.cpp"
8300 },
8301 "3": {
8302 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8303 }
8304 }
8305 }
8306 ]
8307 },
8308 "7": {
8309 "patterns": [
8310 {
8311 "match": "\\*",
8312 "name": "storage.modifier.pointer.cpp"
8313 },
8314 {
8315 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
8316 "captures": {
8317 "1": {
8318 "patterns": [
8319 {
8320 "include": "#inline_comment"
8321 }
8322 ]
8323 },
8324 "2": {
8325 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8326 },
8327 "3": {
8328 "name": "comment.block.cpp"
8329 },
8330 "4": {
8331 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8332 }
8333 },
8334 "name": "invalid.illegal.reference-type.cpp"
8335 },
8336 {
8337 "match": "\\&",
8338 "name": "storage.modifier.reference.cpp"
8339 }
8340 ]
8341 },
8342 "8": {
8343 "patterns": [
8344 {
8345 "include": "#inline_comment"
8346 }
8347 ]
8348 },
8349 "9": {
8350 "patterns": [
8351 {
8352 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8353 "captures": {
8354 "1": {
8355 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8356 },
8357 "2": {
8358 "name": "comment.block.cpp"
8359 },
8360 "3": {
8361 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8362 }
8363 }
8364 }
8365 ]
8366 },
8367 "10": {
8368 "patterns": [
8369 {
8370 "include": "#inline_comment"
8371 }
8372 ]
8373 },
8374 "11": {
8375 "patterns": [
8376 {
8377 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8378 "captures": {
8379 "1": {
8380 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8381 },
8382 "2": {
8383 "name": "comment.block.cpp"
8384 },
8385 "3": {
8386 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8387 }
8388 }
8389 }
8390 ]
8391 },
8392 "12": {
8393 "patterns": [
8394 {
8395 "include": "#inline_comment"
8396 }
8397 ]
8398 },
8399 "13": {
8400 "patterns": [
8401 {
8402 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8403 "captures": {
8404 "1": {
8405 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8406 },
8407 "2": {
8408 "name": "comment.block.cpp"
8409 },
8410 "3": {
8411 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8412 }
8413 }
8414 }
8415 ]
8416 },
8417 "14": {
8418 "name": "variable.other.object.declare.cpp"
8419 },
8420 "15": {
8421 "patterns": [
8422 {
8423 "include": "#inline_comment"
8424 }
8425 ]
8426 },
8427 "16": {
8428 "patterns": [
8429 {
8430 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8431 "captures": {
8432 "1": {
8433 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8434 },
8435 "2": {
8436 "name": "comment.block.cpp"
8437 },
8438 "3": {
8439 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8440 }
8441 }
8442 }
8443 ]
8444 },
8445 "17": {
8446 "patterns": [
8447 {
8448 "include": "#inline_comment"
8449 }
8450 ]
8451 },
8452 "18": {
8453 "patterns": [
8454 {
8455 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8456 "captures": {
8457 "1": {
8458 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8459 },
8460 "2": {
8461 "name": "comment.block.cpp"
8462 },
8463 "3": {
8464 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8465 }
8466 }
8467 }
8468 ]
8469 },
8470 "19": {
8471 "patterns": [
8472 {
8473 "include": "#inline_comment"
8474 }
8475 ]
8476 },
8477 "20": {
8478 "patterns": [
8479 {
8480 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8481 "captures": {
8482 "1": {
8483 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8484 },
8485 "2": {
8486 "name": "comment.block.cpp"
8487 },
8488 "3": {
8489 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8490 }
8491 }
8492 }
8493 ]
8494 }
8495 }
8496 },
8497 {
8498 "match": "(\\bclass)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
8499 "captures": {
8500 "1": {
8501 "name": "storage.type.class.parameter.cpp"
8502 },
8503 "2": {
8504 "patterns": [
8505 {
8506 "include": "#inline_comment"
8507 }
8508 ]
8509 },
8510 "3": {
8511 "patterns": [
8512 {
8513 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8514 "captures": {
8515 "1": {
8516 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8517 },
8518 "2": {
8519 "name": "comment.block.cpp"
8520 },
8521 "3": {
8522 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8523 }
8524 }
8525 }
8526 ]
8527 },
8528 "4": {
8529 "name": "entity.name.type.class.parameter.cpp"
8530 },
8531 "5": {
8532 "patterns": [
8533 {
8534 "include": "#inline_comment"
8535 }
8536 ]
8537 },
8538 "6": {
8539 "patterns": [
8540 {
8541 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8542 "captures": {
8543 "1": {
8544 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8545 },
8546 "2": {
8547 "name": "comment.block.cpp"
8548 },
8549 "3": {
8550 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8551 }
8552 }
8553 }
8554 ]
8555 },
8556 "7": {
8557 "patterns": [
8558 {
8559 "match": "\\*",
8560 "name": "storage.modifier.pointer.cpp"
8561 },
8562 {
8563 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
8564 "captures": {
8565 "1": {
8566 "patterns": [
8567 {
8568 "include": "#inline_comment"
8569 }
8570 ]
8571 },
8572 "2": {
8573 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8574 },
8575 "3": {
8576 "name": "comment.block.cpp"
8577 },
8578 "4": {
8579 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8580 }
8581 },
8582 "name": "invalid.illegal.reference-type.cpp"
8583 },
8584 {
8585 "match": "\\&",
8586 "name": "storage.modifier.reference.cpp"
8587 }
8588 ]
8589 },
8590 "8": {
8591 "patterns": [
8592 {
8593 "include": "#inline_comment"
8594 }
8595 ]
8596 },
8597 "9": {
8598 "patterns": [
8599 {
8600 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8601 "captures": {
8602 "1": {
8603 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8604 },
8605 "2": {
8606 "name": "comment.block.cpp"
8607 },
8608 "3": {
8609 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8610 }
8611 }
8612 }
8613 ]
8614 },
8615 "10": {
8616 "patterns": [
8617 {
8618 "include": "#inline_comment"
8619 }
8620 ]
8621 },
8622 "11": {
8623 "patterns": [
8624 {
8625 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8626 "captures": {
8627 "1": {
8628 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8629 },
8630 "2": {
8631 "name": "comment.block.cpp"
8632 },
8633 "3": {
8634 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8635 }
8636 }
8637 }
8638 ]
8639 },
8640 "12": {
8641 "patterns": [
8642 {
8643 "include": "#inline_comment"
8644 }
8645 ]
8646 },
8647 "13": {
8648 "patterns": [
8649 {
8650 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8651 "captures": {
8652 "1": {
8653 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8654 },
8655 "2": {
8656 "name": "comment.block.cpp"
8657 },
8658 "3": {
8659 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8660 }
8661 }
8662 }
8663 ]
8664 },
8665 "14": {
8666 "name": "variable.other.object.declare.cpp"
8667 },
8668 "15": {
8669 "patterns": [
8670 {
8671 "include": "#inline_comment"
8672 }
8673 ]
8674 },
8675 "16": {
8676 "patterns": [
8677 {
8678 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8679 "captures": {
8680 "1": {
8681 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8682 },
8683 "2": {
8684 "name": "comment.block.cpp"
8685 },
8686 "3": {
8687 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8688 }
8689 }
8690 }
8691 ]
8692 },
8693 "17": {
8694 "patterns": [
8695 {
8696 "include": "#inline_comment"
8697 }
8698 ]
8699 },
8700 "18": {
8701 "patterns": [
8702 {
8703 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8704 "captures": {
8705 "1": {
8706 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8707 },
8708 "2": {
8709 "name": "comment.block.cpp"
8710 },
8711 "3": {
8712 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8713 }
8714 }
8715 }
8716 ]
8717 },
8718 "19": {
8719 "patterns": [
8720 {
8721 "include": "#inline_comment"
8722 }
8723 ]
8724 },
8725 "20": {
8726 "patterns": [
8727 {
8728 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
8729 "captures": {
8730 "1": {
8731 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8732 },
8733 "2": {
8734 "name": "comment.block.cpp"
8735 },
8736 "3": {
8737 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8738 }
8739 }
8740 }
8741 ]
8742 }
8743 }
8744 }
8745 ]
8746 },
8747 "parameter": {
8748 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\w)",
8749 "end": "(?:(?=\\))|(,))",
8750 "beginCaptures": {
8751 "1": {
8752 "patterns": [
8753 {
8754 "include": "#inline_comment"
8755 }
8756 ]
8757 },
8758 "2": {
8759 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8760 },
8761 "3": {
8762 "name": "comment.block.cpp"
8763 },
8764 "4": {
8765 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8766 }
8767 },
8768 "endCaptures": {
8769 "1": {
8770 "name": "punctuation.separator.delimiter.comma.cpp"
8771 }
8772 },
8773 "name": "meta.parameter.cpp",
8774 "patterns": [
8775 {
8776 "include": "#ever_present_context"
8777 },
8778 {
8779 "include": "#string_context"
8780 },
8781 {
8782 "include": "#function_pointer_parameter"
8783 },
8784 {
8785 "include": "#decltype"
8786 },
8787 {
8788 "include": "#vararg_ellipses"
8789 },
8790 {
8791 "match": "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\Wthread_local|^thread_local|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)",
8792 "captures": {
8793 "1": {
8794 "patterns": [
8795 {
8796 "include": "#storage_types"
8797 }
8798 ]
8799 },
8800 "2": {
8801 "name": "storage.modifier.specifier.parameter.cpp"
8802 },
8803 "3": {
8804 "patterns": [
8805 {
8806 "include": "#inline_comment"
8807 }
8808 ]
8809 },
8810 "4": {
8811 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8812 },
8813 "5": {
8814 "name": "comment.block.cpp"
8815 },
8816 "6": {
8817 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8818 },
8819 "7": {
8820 "patterns": [
8821 {
8822 "include": "#inline_comment"
8823 }
8824 ]
8825 },
8826 "8": {
8827 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8828 },
8829 "9": {
8830 "name": "comment.block.cpp"
8831 },
8832 "10": {
8833 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8834 },
8835 "11": {
8836 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
8837 },
8838 "12": {
8839 "name": "storage.type.cpp storage.type.built-in.cpp"
8840 },
8841 "13": {
8842 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
8843 },
8844 "14": {
8845 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
8846 },
8847 "15": {
8848 "name": "entity.name.type.parameter.cpp"
8849 },
8850 "16": {
8851 "patterns": [
8852 {
8853 "include": "#inline_comment"
8854 }
8855 ]
8856 },
8857 "17": {
8858 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8859 },
8860 "18": {
8861 "name": "comment.block.cpp"
8862 },
8863 "19": {
8864 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8865 }
8866 }
8867 },
8868 {
8869 "include": "#storage_types"
8870 },
8871 {
8872 "include": "#scope_resolution_parameter_inner_generated"
8873 },
8874 {
8875 "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
8876 "name": "storage.type.$0.cpp"
8877 },
8878 {
8879 "begin": "(?<==)",
8880 "end": "(?:(?=\\))|(,))",
8881 "beginCaptures": {},
8882 "endCaptures": {
8883 "1": {
8884 "name": "punctuation.separator.delimiter.comma.cpp"
8885 }
8886 },
8887 "patterns": [
8888 {
8889 "include": "#evaluation_context"
8890 }
8891 ]
8892 },
8893 {
8894 "match": "\\=",
8895 "name": "keyword.operator.assignment.cpp"
8896 },
8897 {
8898 "match": "(?<!\\s|\\(|,|:)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\)|,|\\[|=|\\n)",
8899 "captures": {
8900 "1": {
8901 "patterns": [
8902 {
8903 "include": "#inline_comment"
8904 }
8905 ]
8906 },
8907 "2": {
8908 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8909 },
8910 "3": {
8911 "name": "comment.block.cpp"
8912 },
8913 "4": {
8914 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8915 },
8916 "5": {
8917 "name": "variable.parameter.cpp"
8918 },
8919 "6": {
8920 "patterns": [
8921 {
8922 "include": "#inline_comment"
8923 }
8924 ]
8925 },
8926 "7": {
8927 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8928 },
8929 "8": {
8930 "name": "comment.block.cpp"
8931 },
8932 "9": {
8933 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8934 }
8935 }
8936 },
8937 {
8938 "include": "#attributes_context"
8939 },
8940 {
8941 "begin": "\\[",
8942 "end": "\\]",
8943 "beginCaptures": {
8944 "0": {
8945 "name": "punctuation.definition.begin.bracket.square.array.type.cpp"
8946 }
8947 },
8948 "endCaptures": {
8949 "0": {
8950 "name": "punctuation.definition.end.bracket.square.array.type.cpp"
8951 }
8952 },
8953 "name": "meta.bracket.square.array.cpp",
8954 "patterns": [
8955 {
8956 "include": "#evaluation_context"
8957 }
8958 ]
8959 },
8960 {
8961 "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)",
8962 "name": "entity.name.type.parameter.cpp"
8963 },
8964 {
8965 "include": "#template_call_range"
8966 },
8967 {
8968 "match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))",
8969 "captures": {
8970 "0": {
8971 "patterns": [
8972 {
8973 "match": "\\*",
8974 "name": "storage.modifier.pointer.cpp"
8975 },
8976 {
8977 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
8978 "captures": {
8979 "1": {
8980 "patterns": [
8981 {
8982 "include": "#inline_comment"
8983 }
8984 ]
8985 },
8986 "2": {
8987 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8988 },
8989 "3": {
8990 "name": "comment.block.cpp"
8991 },
8992 "4": {
8993 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8994 }
8995 },
8996 "name": "invalid.illegal.reference-type.cpp"
8997 },
8998 {
8999 "match": "\\&",
9000 "name": "storage.modifier.reference.cpp"
9001 }
9002 ]
9003 },
9004 "1": {
9005 "patterns": [
9006 {
9007 "include": "#inline_comment"
9008 }
9009 ]
9010 },
9011 "2": {
9012 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9013 },
9014 "3": {
9015 "name": "comment.block.cpp"
9016 },
9017 "4": {
9018 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9019 },
9020 "5": {
9021 "patterns": [
9022 {
9023 "include": "#inline_comment"
9024 }
9025 ]
9026 },
9027 "6": {
9028 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9029 },
9030 "7": {
9031 "name": "comment.block.cpp"
9032 },
9033 "8": {
9034 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9035 }
9036 }
9037 }
9038 ]
9039 },
9040 "parameter_class": {
9041 "match": "(\\bclass)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
9042 "captures": {
9043 "1": {
9044 "name": "storage.type.class.parameter.cpp"
9045 },
9046 "2": {
9047 "patterns": [
9048 {
9049 "include": "#inline_comment"
9050 }
9051 ]
9052 },
9053 "3": {
9054 "patterns": [
9055 {
9056 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9057 "captures": {
9058 "1": {
9059 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9060 },
9061 "2": {
9062 "name": "comment.block.cpp"
9063 },
9064 "3": {
9065 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9066 }
9067 }
9068 }
9069 ]
9070 },
9071 "4": {
9072 "name": "entity.name.type.class.parameter.cpp"
9073 },
9074 "5": {
9075 "patterns": [
9076 {
9077 "include": "#inline_comment"
9078 }
9079 ]
9080 },
9081 "6": {
9082 "patterns": [
9083 {
9084 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9085 "captures": {
9086 "1": {
9087 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9088 },
9089 "2": {
9090 "name": "comment.block.cpp"
9091 },
9092 "3": {
9093 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9094 }
9095 }
9096 }
9097 ]
9098 },
9099 "7": {
9100 "patterns": [
9101 {
9102 "match": "\\*",
9103 "name": "storage.modifier.pointer.cpp"
9104 },
9105 {
9106 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
9107 "captures": {
9108 "1": {
9109 "patterns": [
9110 {
9111 "include": "#inline_comment"
9112 }
9113 ]
9114 },
9115 "2": {
9116 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9117 },
9118 "3": {
9119 "name": "comment.block.cpp"
9120 },
9121 "4": {
9122 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9123 }
9124 },
9125 "name": "invalid.illegal.reference-type.cpp"
9126 },
9127 {
9128 "match": "\\&",
9129 "name": "storage.modifier.reference.cpp"
9130 }
9131 ]
9132 },
9133 "8": {
9134 "patterns": [
9135 {
9136 "include": "#inline_comment"
9137 }
9138 ]
9139 },
9140 "9": {
9141 "patterns": [
9142 {
9143 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9144 "captures": {
9145 "1": {
9146 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9147 },
9148 "2": {
9149 "name": "comment.block.cpp"
9150 },
9151 "3": {
9152 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9153 }
9154 }
9155 }
9156 ]
9157 },
9158 "10": {
9159 "patterns": [
9160 {
9161 "include": "#inline_comment"
9162 }
9163 ]
9164 },
9165 "11": {
9166 "patterns": [
9167 {
9168 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9169 "captures": {
9170 "1": {
9171 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9172 },
9173 "2": {
9174 "name": "comment.block.cpp"
9175 },
9176 "3": {
9177 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9178 }
9179 }
9180 }
9181 ]
9182 },
9183 "12": {
9184 "patterns": [
9185 {
9186 "include": "#inline_comment"
9187 }
9188 ]
9189 },
9190 "13": {
9191 "patterns": [
9192 {
9193 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9194 "captures": {
9195 "1": {
9196 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9197 },
9198 "2": {
9199 "name": "comment.block.cpp"
9200 },
9201 "3": {
9202 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9203 }
9204 }
9205 }
9206 ]
9207 },
9208 "14": {
9209 "name": "variable.other.object.declare.cpp"
9210 },
9211 "15": {
9212 "patterns": [
9213 {
9214 "include": "#inline_comment"
9215 }
9216 ]
9217 },
9218 "16": {
9219 "patterns": [
9220 {
9221 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9222 "captures": {
9223 "1": {
9224 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9225 },
9226 "2": {
9227 "name": "comment.block.cpp"
9228 },
9229 "3": {
9230 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9231 }
9232 }
9233 }
9234 ]
9235 },
9236 "17": {
9237 "patterns": [
9238 {
9239 "include": "#inline_comment"
9240 }
9241 ]
9242 },
9243 "18": {
9244 "patterns": [
9245 {
9246 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9247 "captures": {
9248 "1": {
9249 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9250 },
9251 "2": {
9252 "name": "comment.block.cpp"
9253 },
9254 "3": {
9255 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9256 }
9257 }
9258 }
9259 ]
9260 },
9261 "19": {
9262 "patterns": [
9263 {
9264 "include": "#inline_comment"
9265 }
9266 ]
9267 },
9268 "20": {
9269 "patterns": [
9270 {
9271 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9272 "captures": {
9273 "1": {
9274 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9275 },
9276 "2": {
9277 "name": "comment.block.cpp"
9278 },
9279 "3": {
9280 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9281 }
9282 }
9283 }
9284 ]
9285 }
9286 }
9287 },
9288 "parameter_enum": {
9289 "match": "(\\benum)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
9290 "captures": {
9291 "1": {
9292 "name": "storage.type.enum.parameter.cpp"
9293 },
9294 "2": {
9295 "patterns": [
9296 {
9297 "include": "#inline_comment"
9298 }
9299 ]
9300 },
9301 "3": {
9302 "patterns": [
9303 {
9304 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9305 "captures": {
9306 "1": {
9307 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9308 },
9309 "2": {
9310 "name": "comment.block.cpp"
9311 },
9312 "3": {
9313 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9314 }
9315 }
9316 }
9317 ]
9318 },
9319 "4": {
9320 "name": "entity.name.type.enum.parameter.cpp"
9321 },
9322 "5": {
9323 "patterns": [
9324 {
9325 "include": "#inline_comment"
9326 }
9327 ]
9328 },
9329 "6": {
9330 "patterns": [
9331 {
9332 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9333 "captures": {
9334 "1": {
9335 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9336 },
9337 "2": {
9338 "name": "comment.block.cpp"
9339 },
9340 "3": {
9341 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9342 }
9343 }
9344 }
9345 ]
9346 },
9347 "7": {
9348 "patterns": [
9349 {
9350 "match": "\\*",
9351 "name": "storage.modifier.pointer.cpp"
9352 },
9353 {
9354 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
9355 "captures": {
9356 "1": {
9357 "patterns": [
9358 {
9359 "include": "#inline_comment"
9360 }
9361 ]
9362 },
9363 "2": {
9364 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9365 },
9366 "3": {
9367 "name": "comment.block.cpp"
9368 },
9369 "4": {
9370 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9371 }
9372 },
9373 "name": "invalid.illegal.reference-type.cpp"
9374 },
9375 {
9376 "match": "\\&",
9377 "name": "storage.modifier.reference.cpp"
9378 }
9379 ]
9380 },
9381 "8": {
9382 "patterns": [
9383 {
9384 "include": "#inline_comment"
9385 }
9386 ]
9387 },
9388 "9": {
9389 "patterns": [
9390 {
9391 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9392 "captures": {
9393 "1": {
9394 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9395 },
9396 "2": {
9397 "name": "comment.block.cpp"
9398 },
9399 "3": {
9400 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9401 }
9402 }
9403 }
9404 ]
9405 },
9406 "10": {
9407 "patterns": [
9408 {
9409 "include": "#inline_comment"
9410 }
9411 ]
9412 },
9413 "11": {
9414 "patterns": [
9415 {
9416 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9417 "captures": {
9418 "1": {
9419 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9420 },
9421 "2": {
9422 "name": "comment.block.cpp"
9423 },
9424 "3": {
9425 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9426 }
9427 }
9428 }
9429 ]
9430 },
9431 "12": {
9432 "patterns": [
9433 {
9434 "include": "#inline_comment"
9435 }
9436 ]
9437 },
9438 "13": {
9439 "patterns": [
9440 {
9441 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9442 "captures": {
9443 "1": {
9444 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9445 },
9446 "2": {
9447 "name": "comment.block.cpp"
9448 },
9449 "3": {
9450 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9451 }
9452 }
9453 }
9454 ]
9455 },
9456 "14": {
9457 "name": "variable.other.object.declare.cpp"
9458 },
9459 "15": {
9460 "patterns": [
9461 {
9462 "include": "#inline_comment"
9463 }
9464 ]
9465 },
9466 "16": {
9467 "patterns": [
9468 {
9469 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9470 "captures": {
9471 "1": {
9472 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9473 },
9474 "2": {
9475 "name": "comment.block.cpp"
9476 },
9477 "3": {
9478 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9479 }
9480 }
9481 }
9482 ]
9483 },
9484 "17": {
9485 "patterns": [
9486 {
9487 "include": "#inline_comment"
9488 }
9489 ]
9490 },
9491 "18": {
9492 "patterns": [
9493 {
9494 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9495 "captures": {
9496 "1": {
9497 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9498 },
9499 "2": {
9500 "name": "comment.block.cpp"
9501 },
9502 "3": {
9503 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9504 }
9505 }
9506 }
9507 ]
9508 },
9509 "19": {
9510 "patterns": [
9511 {
9512 "include": "#inline_comment"
9513 }
9514 ]
9515 },
9516 "20": {
9517 "patterns": [
9518 {
9519 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9520 "captures": {
9521 "1": {
9522 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9523 },
9524 "2": {
9525 "name": "comment.block.cpp"
9526 },
9527 "3": {
9528 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9529 }
9530 }
9531 }
9532 ]
9533 }
9534 }
9535 },
9536 "parameter_or_maybe_value": {
9537 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\w)",
9538 "end": "(?:(?=\\))|(,))",
9539 "beginCaptures": {
9540 "1": {
9541 "patterns": [
9542 {
9543 "include": "#inline_comment"
9544 }
9545 ]
9546 },
9547 "2": {
9548 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9549 },
9550 "3": {
9551 "name": "comment.block.cpp"
9552 },
9553 "4": {
9554 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9555 }
9556 },
9557 "endCaptures": {
9558 "1": {
9559 "name": "punctuation.separator.delimiter.comma.cpp"
9560 }
9561 },
9562 "name": "meta.parameter.cpp",
9563 "patterns": [
9564 {
9565 "include": "#ever_present_context"
9566 },
9567 {
9568 "include": "#function_pointer_parameter"
9569 },
9570 {
9571 "include": "#memory_operators"
9572 },
9573 {
9574 "include": "#builtin_storage_type_initilizer"
9575 },
9576 {
9577 "include": "#curly_initializer"
9578 },
9579 {
9580 "include": "#decltype"
9581 },
9582 {
9583 "include": "#vararg_ellipses"
9584 },
9585 {
9586 "match": "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\Wthread_local|^thread_local|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)",
9587 "captures": {
9588 "1": {
9589 "patterns": [
9590 {
9591 "include": "#storage_types"
9592 }
9593 ]
9594 },
9595 "2": {
9596 "name": "storage.modifier.specifier.parameter.cpp"
9597 },
9598 "3": {
9599 "patterns": [
9600 {
9601 "include": "#inline_comment"
9602 }
9603 ]
9604 },
9605 "4": {
9606 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9607 },
9608 "5": {
9609 "name": "comment.block.cpp"
9610 },
9611 "6": {
9612 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9613 },
9614 "7": {
9615 "patterns": [
9616 {
9617 "include": "#inline_comment"
9618 }
9619 ]
9620 },
9621 "8": {
9622 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9623 },
9624 "9": {
9625 "name": "comment.block.cpp"
9626 },
9627 "10": {
9628 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9629 },
9630 "11": {
9631 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
9632 },
9633 "12": {
9634 "name": "storage.type.cpp storage.type.built-in.cpp"
9635 },
9636 "13": {
9637 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
9638 },
9639 "14": {
9640 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
9641 },
9642 "15": {
9643 "name": "entity.name.type.parameter.cpp"
9644 },
9645 "16": {
9646 "patterns": [
9647 {
9648 "include": "#inline_comment"
9649 }
9650 ]
9651 },
9652 "17": {
9653 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9654 },
9655 "18": {
9656 "name": "comment.block.cpp"
9657 },
9658 "19": {
9659 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9660 }
9661 }
9662 },
9663 {
9664 "include": "#storage_types"
9665 },
9666 {
9667 "include": "#function_call"
9668 },
9669 {
9670 "include": "#scope_resolution_parameter_inner_generated"
9671 },
9672 {
9673 "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
9674 "name": "storage.type.$0.cpp"
9675 },
9676 {
9677 "begin": "(?<==)",
9678 "end": "(?:(?=\\))|(,))",
9679 "beginCaptures": {},
9680 "endCaptures": {
9681 "1": {
9682 "name": "punctuation.separator.delimiter.comma.cpp"
9683 }
9684 },
9685 "patterns": [
9686 {
9687 "include": "#evaluation_context"
9688 }
9689 ]
9690 },
9691 {
9692 "match": "(?<!\\s|\\(|,|:)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=(?:\\)|,|\\[|=|\\/\\/|(?:(?:\\n)|$)))",
9693 "captures": {
9694 "1": {
9695 "patterns": [
9696 {
9697 "include": "#inline_comment"
9698 }
9699 ]
9700 },
9701 "2": {
9702 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9703 },
9704 "3": {
9705 "name": "comment.block.cpp"
9706 },
9707 "4": {
9708 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9709 },
9710 "5": {
9711 "name": "variable.parameter.cpp"
9712 },
9713 "6": {
9714 "patterns": [
9715 {
9716 "include": "#inline_comment"
9717 }
9718 ]
9719 },
9720 "7": {
9721 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9722 },
9723 "8": {
9724 "name": "comment.block.cpp"
9725 },
9726 "9": {
9727 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9728 }
9729 }
9730 },
9731 {
9732 "include": "#attributes_context"
9733 },
9734 {
9735 "begin": "\\[",
9736 "end": "\\]",
9737 "beginCaptures": {
9738 "0": {
9739 "name": "punctuation.definition.begin.bracket.square.array.type.cpp"
9740 }
9741 },
9742 "endCaptures": {
9743 "0": {
9744 "name": "punctuation.definition.end.bracket.square.array.type.cpp"
9745 }
9746 },
9747 "name": "meta.bracket.square.array.cpp",
9748 "patterns": [
9749 {
9750 "include": "#evaluation_context"
9751 }
9752 ]
9753 },
9754 {
9755 "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)",
9756 "name": "entity.name.type.parameter.cpp"
9757 },
9758 {
9759 "include": "#template_call_range"
9760 },
9761 {
9762 "match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))",
9763 "captures": {
9764 "0": {
9765 "patterns": [
9766 {
9767 "match": "\\*",
9768 "name": "storage.modifier.pointer.cpp"
9769 },
9770 {
9771 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
9772 "captures": {
9773 "1": {
9774 "patterns": [
9775 {
9776 "include": "#inline_comment"
9777 }
9778 ]
9779 },
9780 "2": {
9781 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9782 },
9783 "3": {
9784 "name": "comment.block.cpp"
9785 },
9786 "4": {
9787 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9788 }
9789 },
9790 "name": "invalid.illegal.reference-type.cpp"
9791 },
9792 {
9793 "match": "\\&",
9794 "name": "storage.modifier.reference.cpp"
9795 }
9796 ]
9797 },
9798 "1": {
9799 "patterns": [
9800 {
9801 "include": "#inline_comment"
9802 }
9803 ]
9804 },
9805 "2": {
9806 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9807 },
9808 "3": {
9809 "name": "comment.block.cpp"
9810 },
9811 "4": {
9812 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9813 },
9814 "5": {
9815 "patterns": [
9816 {
9817 "include": "#inline_comment"
9818 }
9819 ]
9820 },
9821 "6": {
9822 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9823 },
9824 "7": {
9825 "name": "comment.block.cpp"
9826 },
9827 "8": {
9828 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9829 }
9830 }
9831 },
9832 {
9833 "include": "#evaluation_context"
9834 }
9835 ]
9836 },
9837 "parameter_struct": {
9838 "match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
9839 "captures": {
9840 "1": {
9841 "name": "storage.type.struct.parameter.cpp"
9842 },
9843 "2": {
9844 "patterns": [
9845 {
9846 "include": "#inline_comment"
9847 }
9848 ]
9849 },
9850 "3": {
9851 "patterns": [
9852 {
9853 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9854 "captures": {
9855 "1": {
9856 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9857 },
9858 "2": {
9859 "name": "comment.block.cpp"
9860 },
9861 "3": {
9862 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9863 }
9864 }
9865 }
9866 ]
9867 },
9868 "4": {
9869 "name": "entity.name.type.struct.parameter.cpp"
9870 },
9871 "5": {
9872 "patterns": [
9873 {
9874 "include": "#inline_comment"
9875 }
9876 ]
9877 },
9878 "6": {
9879 "patterns": [
9880 {
9881 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9882 "captures": {
9883 "1": {
9884 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9885 },
9886 "2": {
9887 "name": "comment.block.cpp"
9888 },
9889 "3": {
9890 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9891 }
9892 }
9893 }
9894 ]
9895 },
9896 "7": {
9897 "patterns": [
9898 {
9899 "match": "\\*",
9900 "name": "storage.modifier.pointer.cpp"
9901 },
9902 {
9903 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
9904 "captures": {
9905 "1": {
9906 "patterns": [
9907 {
9908 "include": "#inline_comment"
9909 }
9910 ]
9911 },
9912 "2": {
9913 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9914 },
9915 "3": {
9916 "name": "comment.block.cpp"
9917 },
9918 "4": {
9919 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9920 }
9921 },
9922 "name": "invalid.illegal.reference-type.cpp"
9923 },
9924 {
9925 "match": "\\&",
9926 "name": "storage.modifier.reference.cpp"
9927 }
9928 ]
9929 },
9930 "8": {
9931 "patterns": [
9932 {
9933 "include": "#inline_comment"
9934 }
9935 ]
9936 },
9937 "9": {
9938 "patterns": [
9939 {
9940 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9941 "captures": {
9942 "1": {
9943 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9944 },
9945 "2": {
9946 "name": "comment.block.cpp"
9947 },
9948 "3": {
9949 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9950 }
9951 }
9952 }
9953 ]
9954 },
9955 "10": {
9956 "patterns": [
9957 {
9958 "include": "#inline_comment"
9959 }
9960 ]
9961 },
9962 "11": {
9963 "patterns": [
9964 {
9965 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9966 "captures": {
9967 "1": {
9968 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9969 },
9970 "2": {
9971 "name": "comment.block.cpp"
9972 },
9973 "3": {
9974 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9975 }
9976 }
9977 }
9978 ]
9979 },
9980 "12": {
9981 "patterns": [
9982 {
9983 "include": "#inline_comment"
9984 }
9985 ]
9986 },
9987 "13": {
9988 "patterns": [
9989 {
9990 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
9991 "captures": {
9992 "1": {
9993 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9994 },
9995 "2": {
9996 "name": "comment.block.cpp"
9997 },
9998 "3": {
9999 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10000 }
10001 }
10002 }
10003 ]
10004 },
10005 "14": {
10006 "name": "variable.other.object.declare.cpp"
10007 },
10008 "15": {
10009 "patterns": [
10010 {
10011 "include": "#inline_comment"
10012 }
10013 ]
10014 },
10015 "16": {
10016 "patterns": [
10017 {
10018 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10019 "captures": {
10020 "1": {
10021 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10022 },
10023 "2": {
10024 "name": "comment.block.cpp"
10025 },
10026 "3": {
10027 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10028 }
10029 }
10030 }
10031 ]
10032 },
10033 "17": {
10034 "patterns": [
10035 {
10036 "include": "#inline_comment"
10037 }
10038 ]
10039 },
10040 "18": {
10041 "patterns": [
10042 {
10043 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10044 "captures": {
10045 "1": {
10046 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10047 },
10048 "2": {
10049 "name": "comment.block.cpp"
10050 },
10051 "3": {
10052 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10053 }
10054 }
10055 }
10056 ]
10057 },
10058 "19": {
10059 "patterns": [
10060 {
10061 "include": "#inline_comment"
10062 }
10063 ]
10064 },
10065 "20": {
10066 "patterns": [
10067 {
10068 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10069 "captures": {
10070 "1": {
10071 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10072 },
10073 "2": {
10074 "name": "comment.block.cpp"
10075 },
10076 "3": {
10077 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10078 }
10079 }
10080 }
10081 ]
10082 }
10083 }
10084 },
10085 "parameter_union": {
10086 "match": "(\\bunion)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\]((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
10087 "captures": {
10088 "1": {
10089 "name": "storage.type.union.parameter.cpp"
10090 },
10091 "2": {
10092 "patterns": [
10093 {
10094 "include": "#inline_comment"
10095 }
10096 ]
10097 },
10098 "3": {
10099 "patterns": [
10100 {
10101 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10102 "captures": {
10103 "1": {
10104 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10105 },
10106 "2": {
10107 "name": "comment.block.cpp"
10108 },
10109 "3": {
10110 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10111 }
10112 }
10113 }
10114 ]
10115 },
10116 "4": {
10117 "name": "entity.name.type.union.parameter.cpp"
10118 },
10119 "5": {
10120 "patterns": [
10121 {
10122 "include": "#inline_comment"
10123 }
10124 ]
10125 },
10126 "6": {
10127 "patterns": [
10128 {
10129 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10130 "captures": {
10131 "1": {
10132 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10133 },
10134 "2": {
10135 "name": "comment.block.cpp"
10136 },
10137 "3": {
10138 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10139 }
10140 }
10141 }
10142 ]
10143 },
10144 "7": {
10145 "patterns": [
10146 {
10147 "match": "\\*",
10148 "name": "storage.modifier.pointer.cpp"
10149 },
10150 {
10151 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
10152 "captures": {
10153 "1": {
10154 "patterns": [
10155 {
10156 "include": "#inline_comment"
10157 }
10158 ]
10159 },
10160 "2": {
10161 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10162 },
10163 "3": {
10164 "name": "comment.block.cpp"
10165 },
10166 "4": {
10167 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10168 }
10169 },
10170 "name": "invalid.illegal.reference-type.cpp"
10171 },
10172 {
10173 "match": "\\&",
10174 "name": "storage.modifier.reference.cpp"
10175 }
10176 ]
10177 },
10178 "8": {
10179 "patterns": [
10180 {
10181 "include": "#inline_comment"
10182 }
10183 ]
10184 },
10185 "9": {
10186 "patterns": [
10187 {
10188 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10189 "captures": {
10190 "1": {
10191 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10192 },
10193 "2": {
10194 "name": "comment.block.cpp"
10195 },
10196 "3": {
10197 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10198 }
10199 }
10200 }
10201 ]
10202 },
10203 "10": {
10204 "patterns": [
10205 {
10206 "include": "#inline_comment"
10207 }
10208 ]
10209 },
10210 "11": {
10211 "patterns": [
10212 {
10213 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10214 "captures": {
10215 "1": {
10216 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10217 },
10218 "2": {
10219 "name": "comment.block.cpp"
10220 },
10221 "3": {
10222 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10223 }
10224 }
10225 }
10226 ]
10227 },
10228 "12": {
10229 "patterns": [
10230 {
10231 "include": "#inline_comment"
10232 }
10233 ]
10234 },
10235 "13": {
10236 "patterns": [
10237 {
10238 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10239 "captures": {
10240 "1": {
10241 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10242 },
10243 "2": {
10244 "name": "comment.block.cpp"
10245 },
10246 "3": {
10247 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10248 }
10249 }
10250 }
10251 ]
10252 },
10253 "14": {
10254 "name": "variable.other.object.declare.cpp"
10255 },
10256 "15": {
10257 "patterns": [
10258 {
10259 "include": "#inline_comment"
10260 }
10261 ]
10262 },
10263 "16": {
10264 "patterns": [
10265 {
10266 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10267 "captures": {
10268 "1": {
10269 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10270 },
10271 "2": {
10272 "name": "comment.block.cpp"
10273 },
10274 "3": {
10275 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10276 }
10277 }
10278 }
10279 ]
10280 },
10281 "17": {
10282 "patterns": [
10283 {
10284 "include": "#inline_comment"
10285 }
10286 ]
10287 },
10288 "18": {
10289 "patterns": [
10290 {
10291 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10292 "captures": {
10293 "1": {
10294 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10295 },
10296 "2": {
10297 "name": "comment.block.cpp"
10298 },
10299 "3": {
10300 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10301 }
10302 }
10303 }
10304 ]
10305 },
10306 "19": {
10307 "patterns": [
10308 {
10309 "include": "#inline_comment"
10310 }
10311 ]
10312 },
10313 "20": {
10314 "patterns": [
10315 {
10316 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10317 "captures": {
10318 "1": {
10319 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10320 },
10321 "2": {
10322 "name": "comment.block.cpp"
10323 },
10324 "3": {
10325 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10326 }
10327 }
10328 }
10329 ]
10330 }
10331 }
10332 },
10333 "parentheses": {
10334 "begin": "\\(",
10335 "end": "\\)",
10336 "beginCaptures": {
10337 "0": {
10338 "name": "punctuation.section.parens.begin.bracket.round.cpp"
10339 }
10340 },
10341 "endCaptures": {
10342 "0": {
10343 "name": "punctuation.section.parens.end.bracket.round.cpp"
10344 }
10345 },
10346 "name": "meta.parens.cpp",
10347 "patterns": [
10348 {
10349 "include": "#over_qualified_types"
10350 },
10351 {
10352 "match": "(?<!:):(?!:)",
10353 "name": "punctuation.separator.colon.range-based.cpp"
10354 },
10355 {
10356 "include": "#evaluation_context"
10357 }
10358 ]
10359 },
10360 "pragma": {
10361 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma\\b",
10362 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
10363 "beginCaptures": {
10364 "0": {
10365 "name": "keyword.control.directive.pragma.cpp"
10366 },
10367 "1": {
10368 "patterns": [
10369 {
10370 "include": "#inline_comment"
10371 }
10372 ]
10373 },
10374 "2": {
10375 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10376 },
10377 "3": {
10378 "name": "comment.block.cpp"
10379 },
10380 "4": {
10381 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10382 },
10383 "5": {
10384 "name": "punctuation.definition.directive.cpp"
10385 }
10386 },
10387 "endCaptures": {},
10388 "name": "meta.preprocessor.pragma.cpp",
10389 "patterns": [
10390 {
10391 "include": "#comments"
10392 },
10393 {
10394 "include": "#string_context"
10395 },
10396 {
10397 "match": "[a-zA-Z_$][\\w\\-$]*",
10398 "name": "entity.other.attribute-name.pragma.preprocessor.cpp"
10399 },
10400 {
10401 "include": "#preprocessor_number_literal"
10402 },
10403 {
10404 "include": "#line_continuation_character"
10405 }
10406 ]
10407 },
10408 "pragma_mark": {
10409 "match": "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma(?:\\s)+mark)(?:\\s)+(.*)",
10410 "captures": {
10411 "1": {
10412 "name": "keyword.control.directive.pragma.pragma-mark.cpp"
10413 },
10414 "2": {
10415 "patterns": [
10416 {
10417 "include": "#inline_comment"
10418 }
10419 ]
10420 },
10421 "3": {
10422 "patterns": [
10423 {
10424 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10425 "captures": {
10426 "1": {
10427 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10428 },
10429 "2": {
10430 "name": "comment.block.cpp"
10431 },
10432 "3": {
10433 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10434 }
10435 }
10436 }
10437 ]
10438 },
10439 "4": {
10440 "name": "punctuation.definition.directive.cpp"
10441 },
10442 "5": {
10443 "name": "entity.name.tag.pragma-mark.cpp"
10444 }
10445 },
10446 "name": "meta.preprocessor.pragma.cpp"
10447 },
10448 "predefined_macros": {
10449 "patterns": [
10450 {
10451 "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",
10452 "captures": {
10453 "1": {
10454 "name": "entity.name.other.preprocessor.macro.predefined.$1.cpp"
10455 }
10456 }
10457 },
10458 {
10459 "match": "\\b__([A-Z_]+)__\\b",
10460 "name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"
10461 }
10462 ]
10463 },
10464 "preprocessor_conditional_context": {
10465 "patterns": [
10466 {
10467 "include": "#preprocessor_conditional_defined"
10468 },
10469 {
10470 "include": "#comments"
10471 },
10472 {
10473 "include": "#language_constants"
10474 },
10475 {
10476 "include": "#string_context"
10477 },
10478 {
10479 "include": "#d9bc4796b0b_preprocessor_number_literal"
10480 },
10481 {
10482 "include": "#operators"
10483 },
10484 {
10485 "include": "#predefined_macros"
10486 },
10487 {
10488 "include": "#macro_name"
10489 },
10490 {
10491 "include": "#line_continuation_character"
10492 }
10493 ]
10494 },
10495 "preprocessor_conditional_defined": {
10496 "begin": "((?<!\\w)defined(?!\\w))(\\()",
10497 "end": "(?:\\)|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))",
10498 "beginCaptures": {
10499 "1": {
10500 "name": "keyword.control.directive.conditional.defined.cpp"
10501 },
10502 "2": {
10503 "name": "punctuation.section.parens.control.defined.cpp"
10504 }
10505 },
10506 "endCaptures": {
10507 "0": {
10508 "name": "punctuation.section.parens.control.defined.cpp"
10509 }
10510 },
10511 "patterns": [
10512 {
10513 "include": "#macro_name"
10514 }
10515 ]
10516 },
10517 "preprocessor_conditional_parentheses": {
10518 "begin": "\\(",
10519 "end": "\\)",
10520 "beginCaptures": {
10521 "0": {
10522 "name": "punctuation.section.parens.begin.bracket.round.cpp"
10523 }
10524 },
10525 "endCaptures": {
10526 "0": {
10527 "name": "punctuation.section.parens.end.bracket.round.cpp"
10528 }
10529 },
10530 "name": "meta.parens.preprocessor.conditional.cpp"
10531 },
10532 "preprocessor_conditional_range": {
10533 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:(?:ifndef|ifdef)|if))",
10534 "end": "^(?!\\s*+#\\s*(?:else|endif))",
10535 "beginCaptures": {
10536 "0": {
10537 "name": "keyword.control.directive.conditional.$6.cpp"
10538 },
10539 "1": {
10540 "patterns": [
10541 {
10542 "include": "#inline_comment"
10543 }
10544 ]
10545 },
10546 "2": {
10547 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10548 },
10549 "3": {
10550 "name": "comment.block.cpp"
10551 },
10552 "4": {
10553 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10554 },
10555 "5": {
10556 "name": "punctuation.definition.directive.cpp"
10557 },
10558 "6": {}
10559 },
10560 "endCaptures": {},
10561 "patterns": [
10562 {
10563 "begin": "\\G(?<=ifndef|ifdef|if)",
10564 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))",
10565 "beginCaptures": {},
10566 "endCaptures": {},
10567 "name": "meta.preprocessor.conditional.cpp",
10568 "patterns": [
10569 {
10570 "include": "#preprocessor_conditional_context"
10571 }
10572 ]
10573 },
10574 {
10575 "include": "$self"
10576 }
10577 ]
10578 },
10579 "preprocessor_conditional_standalone": {
10580 "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?<!\\w)(?:endif|else|elif)(?!\\w))",
10581 "captures": {
10582 "1": {
10583 "patterns": [
10584 {
10585 "include": "#inline_comment"
10586 }
10587 ]
10588 },
10589 "2": {
10590 "patterns": [
10591 {
10592 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10593 "captures": {
10594 "1": {
10595 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10596 },
10597 "2": {
10598 "name": "comment.block.cpp"
10599 },
10600 "3": {
10601 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10602 }
10603 }
10604 }
10605 ]
10606 },
10607 "3": {
10608 "name": "punctuation.definition.directive.cpp"
10609 }
10610 },
10611 "name": "keyword.control.directive.$4.cpp"
10612 },
10613 "preprocessor_context": {
10614 "patterns": [
10615 {
10616 "include": "#pragma_mark"
10617 },
10618 {
10619 "include": "#pragma"
10620 },
10621 {
10622 "include": "#include"
10623 },
10624 {
10625 "include": "#line"
10626 },
10627 {
10628 "include": "#diagnostic"
10629 },
10630 {
10631 "include": "#undef"
10632 },
10633 {
10634 "include": "#preprocessor_conditional_range"
10635 },
10636 {
10637 "include": "#single_line_macro"
10638 },
10639 {
10640 "include": "#macro"
10641 },
10642 {
10643 "include": "#preprocessor_conditional_standalone"
10644 },
10645 {
10646 "include": "#macro_argument"
10647 }
10648 ]
10649 },
10650 "qualified_type": {
10651 "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)?(?![\\w<:.])",
10652 "captures": {
10653 "0": {
10654 "patterns": [
10655 {
10656 "match": "::",
10657 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
10658 },
10659 {
10660 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
10661 "name": "storage.type.$0.cpp"
10662 },
10663 {
10664 "include": "#attributes_context"
10665 },
10666 {
10667 "include": "#storage_types"
10668 },
10669 {
10670 "include": "#number_literal"
10671 },
10672 {
10673 "include": "#string_context"
10674 },
10675 {
10676 "include": "#comma"
10677 },
10678 {
10679 "include": "#scope_resolution_inner_generated"
10680 },
10681 {
10682 "begin": "<",
10683 "end": ">",
10684 "beginCaptures": {
10685 "0": {
10686 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
10687 }
10688 },
10689 "endCaptures": {
10690 "0": {
10691 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
10692 }
10693 },
10694 "name": "meta.template.call.cpp",
10695 "patterns": [
10696 {
10697 "include": "#template_call_context"
10698 }
10699 ]
10700 },
10701 {
10702 "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}))*",
10703 "name": "entity.name.type.cpp"
10704 }
10705 ]
10706 },
10707 "1": {
10708 "patterns": [
10709 {
10710 "include": "#attributes_context"
10711 },
10712 {
10713 "include": "#number_literal"
10714 }
10715 ]
10716 },
10717 "2": {
10718 "patterns": [
10719 {
10720 "include": "#inline_comment"
10721 }
10722 ]
10723 },
10724 "3": {
10725 "patterns": [
10726 {
10727 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10728 "captures": {
10729 "1": {
10730 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10731 },
10732 "2": {
10733 "name": "comment.block.cpp"
10734 },
10735 "3": {
10736 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10737 }
10738 }
10739 }
10740 ]
10741 },
10742 "4": {
10743 "patterns": [
10744 {
10745 "include": "#inline_comment"
10746 }
10747 ]
10748 },
10749 "5": {
10750 "patterns": [
10751 {
10752 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10753 "captures": {
10754 "1": {
10755 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10756 },
10757 "2": {
10758 "name": "comment.block.cpp"
10759 },
10760 "3": {
10761 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10762 }
10763 }
10764 }
10765 ]
10766 },
10767 "6": {
10768 "patterns": [
10769 {
10770 "match": "::",
10771 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
10772 },
10773 {
10774 "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)",
10775 "name": "entity.name.scope-resolution.type.cpp"
10776 },
10777 {
10778 "include": "#template_call_range"
10779 }
10780 ]
10781 },
10782 "7": {
10783 "patterns": [
10784 {
10785 "include": "#template_call_range"
10786 }
10787 ]
10788 },
10789 "9": {
10790 "patterns": [
10791 {
10792 "include": "#inline_comment"
10793 }
10794 ]
10795 },
10796 "10": {
10797 "patterns": [
10798 {
10799 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
10800 "captures": {
10801 "1": {
10802 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10803 },
10804 "2": {
10805 "name": "comment.block.cpp"
10806 },
10807 "3": {
10808 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10809 }
10810 }
10811 }
10812 ]
10813 }
10814 },
10815 "name": "meta.qualified_type.cpp"
10816 },
10817 "qualifiers_and_specifiers_post_parameters": {
10818 "match": "((?:(?:(?:(?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))(?<!\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\w))+)(?=\\s*(?:(?:\\{)|;|(?:\\n)|(?:\\r)|=))",
10819 "captures": {
10820 "1": {
10821 "patterns": [
10822 {
10823 "match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\w))",
10824 "captures": {
10825 "1": {
10826 "patterns": [
10827 {
10828 "include": "#inline_comment"
10829 }
10830 ]
10831 },
10832 "2": {
10833 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
10834 },
10835 "3": {
10836 "name": "comment.block.cpp"
10837 },
10838 "4": {
10839 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
10840 },
10841 "5": {
10842 "name": "storage.modifier.specifier.functional.post-parameters.$5.cpp"
10843 }
10844 }
10845 }
10846 ]
10847 }
10848 }
10849 },
10850 "scope_resolution": {
10851 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
10852 "captures": {
10853 "0": {
10854 "patterns": [
10855 {
10856 "include": "#scope_resolution_inner_generated"
10857 }
10858 ]
10859 },
10860 "1": {
10861 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
10862 },
10863 "2": {
10864 "patterns": [
10865 {
10866 "include": "#template_call_range"
10867 }
10868 ]
10869 }
10870 }
10871 },
10872 "scope_resolution_function_call": {
10873 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
10874 "captures": {
10875 "0": {
10876 "patterns": [
10877 {
10878 "include": "#scope_resolution_function_call_inner_generated"
10879 }
10880 ]
10881 },
10882 "1": {
10883 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
10884 },
10885 "2": {
10886 "patterns": [
10887 {
10888 "include": "#template_call_range"
10889 }
10890 ]
10891 }
10892 }
10893 },
10894 "scope_resolution_function_call_inner_generated": {
10895 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
10896 "captures": {
10897 "1": {
10898 "patterns": [
10899 {
10900 "include": "#scope_resolution_function_call_inner_generated"
10901 }
10902 ]
10903 },
10904 "2": {
10905 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
10906 },
10907 "3": {
10908 "patterns": [
10909 {
10910 "include": "#template_call_range"
10911 }
10912 ]
10913 },
10914 "4": {},
10915 "5": {
10916 "name": "entity.name.scope-resolution.function.call.cpp"
10917 },
10918 "6": {
10919 "name": "meta.template.call.cpp",
10920 "patterns": [
10921 {
10922 "include": "#template_call_range"
10923 }
10924 ]
10925 },
10926 "7": {},
10927 "8": {
10928 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
10929 }
10930 }
10931 },
10932 "scope_resolution_function_definition": {
10933 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
10934 "captures": {
10935 "0": {
10936 "patterns": [
10937 {
10938 "include": "#scope_resolution_function_definition_inner_generated"
10939 }
10940 ]
10941 },
10942 "1": {
10943 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
10944 },
10945 "2": {
10946 "patterns": [
10947 {
10948 "include": "#template_call_range"
10949 }
10950 ]
10951 }
10952 }
10953 },
10954 "scope_resolution_function_definition_inner_generated": {
10955 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
10956 "captures": {
10957 "1": {
10958 "patterns": [
10959 {
10960 "include": "#scope_resolution_function_definition_inner_generated"
10961 }
10962 ]
10963 },
10964 "2": {
10965 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
10966 },
10967 "3": {
10968 "patterns": [
10969 {
10970 "include": "#template_call_range"
10971 }
10972 ]
10973 },
10974 "4": {},
10975 "5": {
10976 "name": "entity.name.scope-resolution.function.definition.cpp"
10977 },
10978 "6": {
10979 "name": "meta.template.call.cpp",
10980 "patterns": [
10981 {
10982 "include": "#template_call_range"
10983 }
10984 ]
10985 },
10986 "7": {},
10987 "8": {
10988 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
10989 }
10990 }
10991 },
10992 "scope_resolution_function_definition_operator_overload": {
10993 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
10994 "captures": {
10995 "0": {
10996 "patterns": [
10997 {
10998 "include": "#scope_resolution_function_definition_operator_overload_inner_generated"
10999 }
11000 ]
11001 },
11002 "1": {
11003 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
11004 },
11005 "2": {
11006 "patterns": [
11007 {
11008 "include": "#template_call_range"
11009 }
11010 ]
11011 }
11012 }
11013 },
11014 "scope_resolution_function_definition_operator_overload_inner_generated": {
11015 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
11016 "captures": {
11017 "1": {
11018 "patterns": [
11019 {
11020 "include": "#scope_resolution_function_definition_operator_overload_inner_generated"
11021 }
11022 ]
11023 },
11024 "2": {
11025 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
11026 },
11027 "3": {
11028 "patterns": [
11029 {
11030 "include": "#template_call_range"
11031 }
11032 ]
11033 },
11034 "4": {},
11035 "5": {
11036 "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp"
11037 },
11038 "6": {
11039 "name": "meta.template.call.cpp",
11040 "patterns": [
11041 {
11042 "include": "#template_call_range"
11043 }
11044 ]
11045 },
11046 "7": {},
11047 "8": {
11048 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
11049 }
11050 }
11051 },
11052 "scope_resolution_inner_generated": {
11053 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
11054 "captures": {
11055 "1": {
11056 "patterns": [
11057 {
11058 "include": "#scope_resolution_inner_generated"
11059 }
11060 ]
11061 },
11062 "2": {
11063 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
11064 },
11065 "3": {
11066 "patterns": [
11067 {
11068 "include": "#template_call_range"
11069 }
11070 ]
11071 },
11072 "4": {},
11073 "5": {
11074 "name": "entity.name.scope-resolution.cpp"
11075 },
11076 "6": {
11077 "name": "meta.template.call.cpp",
11078 "patterns": [
11079 {
11080 "include": "#template_call_range"
11081 }
11082 ]
11083 },
11084 "7": {},
11085 "8": {
11086 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
11087 }
11088 }
11089 },
11090 "scope_resolution_namespace_alias": {
11091 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
11092 "captures": {
11093 "0": {
11094 "patterns": [
11095 {
11096 "include": "#scope_resolution_namespace_alias_inner_generated"
11097 }
11098 ]
11099 },
11100 "1": {
11101 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
11102 },
11103 "2": {
11104 "patterns": [
11105 {
11106 "include": "#template_call_range"
11107 }
11108 ]
11109 }
11110 }
11111 },
11112 "scope_resolution_namespace_alias_inner_generated": {
11113 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
11114 "captures": {
11115 "1": {
11116 "patterns": [
11117 {
11118 "include": "#scope_resolution_namespace_alias_inner_generated"
11119 }
11120 ]
11121 },
11122 "2": {
11123 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
11124 },
11125 "3": {
11126 "patterns": [
11127 {
11128 "include": "#template_call_range"
11129 }
11130 ]
11131 },
11132 "4": {},
11133 "5": {
11134 "name": "entity.name.scope-resolution.namespace.alias.cpp"
11135 },
11136 "6": {
11137 "name": "meta.template.call.cpp",
11138 "patterns": [
11139 {
11140 "include": "#template_call_range"
11141 }
11142 ]
11143 },
11144 "7": {},
11145 "8": {
11146 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
11147 }
11148 }
11149 },
11150 "scope_resolution_namespace_block": {
11151 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
11152 "captures": {
11153 "0": {
11154 "patterns": [
11155 {
11156 "include": "#scope_resolution_namespace_block_inner_generated"
11157 }
11158 ]
11159 },
11160 "1": {
11161 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
11162 },
11163 "2": {
11164 "patterns": [
11165 {
11166 "include": "#template_call_range"
11167 }
11168 ]
11169 }
11170 }
11171 },
11172 "scope_resolution_namespace_block_inner_generated": {
11173 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
11174 "captures": {
11175 "1": {
11176 "patterns": [
11177 {
11178 "include": "#scope_resolution_namespace_block_inner_generated"
11179 }
11180 ]
11181 },
11182 "2": {
11183 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
11184 },
11185 "3": {
11186 "patterns": [
11187 {
11188 "include": "#template_call_range"
11189 }
11190 ]
11191 },
11192 "4": {},
11193 "5": {
11194 "name": "entity.name.scope-resolution.namespace.block.cpp"
11195 },
11196 "6": {
11197 "name": "meta.template.call.cpp",
11198 "patterns": [
11199 {
11200 "include": "#template_call_range"
11201 }
11202 ]
11203 },
11204 "7": {},
11205 "8": {
11206 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
11207 }
11208 }
11209 },
11210 "scope_resolution_namespace_using": {
11211 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
11212 "captures": {
11213 "0": {
11214 "patterns": [
11215 {
11216 "include": "#scope_resolution_namespace_using_inner_generated"
11217 }
11218 ]
11219 },
11220 "1": {
11221 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
11222 },
11223 "2": {
11224 "patterns": [
11225 {
11226 "include": "#template_call_range"
11227 }
11228 ]
11229 }
11230 }
11231 },
11232 "scope_resolution_namespace_using_inner_generated": {
11233 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
11234 "captures": {
11235 "1": {
11236 "patterns": [
11237 {
11238 "include": "#scope_resolution_namespace_using_inner_generated"
11239 }
11240 ]
11241 },
11242 "2": {
11243 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
11244 },
11245 "3": {
11246 "patterns": [
11247 {
11248 "include": "#template_call_range"
11249 }
11250 ]
11251 },
11252 "4": {},
11253 "5": {
11254 "name": "entity.name.scope-resolution.namespace.using.cpp"
11255 },
11256 "6": {
11257 "name": "meta.template.call.cpp",
11258 "patterns": [
11259 {
11260 "include": "#template_call_range"
11261 }
11262 ]
11263 },
11264 "7": {},
11265 "8": {
11266 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
11267 }
11268 }
11269 },
11270 "scope_resolution_parameter": {
11271 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
11272 "captures": {
11273 "0": {
11274 "patterns": [
11275 {
11276 "include": "#scope_resolution_parameter_inner_generated"
11277 }
11278 ]
11279 },
11280 "1": {
11281 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
11282 },
11283 "2": {
11284 "patterns": [
11285 {
11286 "include": "#template_call_range"
11287 }
11288 ]
11289 }
11290 }
11291 },
11292 "scope_resolution_parameter_inner_generated": {
11293 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
11294 "captures": {
11295 "1": {
11296 "patterns": [
11297 {
11298 "include": "#scope_resolution_parameter_inner_generated"
11299 }
11300 ]
11301 },
11302 "2": {
11303 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
11304 },
11305 "3": {
11306 "patterns": [
11307 {
11308 "include": "#template_call_range"
11309 }
11310 ]
11311 },
11312 "4": {},
11313 "5": {
11314 "name": "entity.name.scope-resolution.parameter.cpp"
11315 },
11316 "6": {
11317 "name": "meta.template.call.cpp",
11318 "patterns": [
11319 {
11320 "include": "#template_call_range"
11321 }
11322 ]
11323 },
11324 "7": {},
11325 "8": {
11326 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
11327 }
11328 }
11329 },
11330 "scope_resolution_template_call": {
11331 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
11332 "captures": {
11333 "0": {
11334 "patterns": [
11335 {
11336 "include": "#scope_resolution_template_call_inner_generated"
11337 }
11338 ]
11339 },
11340 "1": {
11341 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
11342 },
11343 "2": {
11344 "patterns": [
11345 {
11346 "include": "#template_call_range"
11347 }
11348 ]
11349 }
11350 }
11351 },
11352 "scope_resolution_template_call_inner_generated": {
11353 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
11354 "captures": {
11355 "1": {
11356 "patterns": [
11357 {
11358 "include": "#scope_resolution_template_call_inner_generated"
11359 }
11360 ]
11361 },
11362 "2": {
11363 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
11364 },
11365 "3": {
11366 "patterns": [
11367 {
11368 "include": "#template_call_range"
11369 }
11370 ]
11371 },
11372 "4": {},
11373 "5": {
11374 "name": "entity.name.scope-resolution.template.call.cpp"
11375 },
11376 "6": {
11377 "name": "meta.template.call.cpp",
11378 "patterns": [
11379 {
11380 "include": "#template_call_range"
11381 }
11382 ]
11383 },
11384 "7": {},
11385 "8": {
11386 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
11387 }
11388 }
11389 },
11390 "scope_resolution_template_definition": {
11391 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
11392 "captures": {
11393 "0": {
11394 "patterns": [
11395 {
11396 "include": "#scope_resolution_template_definition_inner_generated"
11397 }
11398 ]
11399 },
11400 "1": {
11401 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
11402 },
11403 "2": {
11404 "patterns": [
11405 {
11406 "include": "#template_call_range"
11407 }
11408 ]
11409 }
11410 }
11411 },
11412 "scope_resolution_template_definition_inner_generated": {
11413 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
11414 "captures": {
11415 "1": {
11416 "patterns": [
11417 {
11418 "include": "#scope_resolution_template_definition_inner_generated"
11419 }
11420 ]
11421 },
11422 "2": {
11423 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
11424 },
11425 "3": {
11426 "patterns": [
11427 {
11428 "include": "#template_call_range"
11429 }
11430 ]
11431 },
11432 "4": {},
11433 "5": {
11434 "name": "entity.name.scope-resolution.template.definition.cpp"
11435 },
11436 "6": {
11437 "name": "meta.template.call.cpp",
11438 "patterns": [
11439 {
11440 "include": "#template_call_range"
11441 }
11442 ]
11443 },
11444 "7": {},
11445 "8": {
11446 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
11447 }
11448 }
11449 },
11450 "semicolon": {
11451 "match": ";",
11452 "name": "punctuation.terminator.statement.cpp"
11453 },
11454 "simple_type": {
11455 "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?",
11456 "captures": {
11457 "1": {
11458 "name": "meta.qualified_type.cpp",
11459 "patterns": [
11460 {
11461 "match": "::",
11462 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
11463 },
11464 {
11465 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
11466 "name": "storage.type.$0.cpp"
11467 },
11468 {
11469 "include": "#attributes_context"
11470 },
11471 {
11472 "include": "#storage_types"
11473 },
11474 {
11475 "include": "#number_literal"
11476 },
11477 {
11478 "include": "#string_context"
11479 },
11480 {
11481 "include": "#comma"
11482 },
11483 {
11484 "include": "#scope_resolution_inner_generated"
11485 },
11486 {
11487 "begin": "<",
11488 "end": ">",
11489 "beginCaptures": {
11490 "0": {
11491 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
11492 }
11493 },
11494 "endCaptures": {
11495 "0": {
11496 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
11497 }
11498 },
11499 "name": "meta.template.call.cpp",
11500 "patterns": [
11501 {
11502 "include": "#template_call_context"
11503 }
11504 ]
11505 },
11506 {
11507 "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}))*",
11508 "name": "entity.name.type.cpp"
11509 }
11510 ]
11511 },
11512 "2": {
11513 "patterns": [
11514 {
11515 "include": "#attributes_context"
11516 },
11517 {
11518 "include": "#number_literal"
11519 }
11520 ]
11521 },
11522 "3": {
11523 "patterns": [
11524 {
11525 "include": "#inline_comment"
11526 }
11527 ]
11528 },
11529 "4": {
11530 "patterns": [
11531 {
11532 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11533 "captures": {
11534 "1": {
11535 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11536 },
11537 "2": {
11538 "name": "comment.block.cpp"
11539 },
11540 "3": {
11541 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11542 }
11543 }
11544 }
11545 ]
11546 },
11547 "5": {
11548 "patterns": [
11549 {
11550 "include": "#inline_comment"
11551 }
11552 ]
11553 },
11554 "6": {
11555 "patterns": [
11556 {
11557 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11558 "captures": {
11559 "1": {
11560 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11561 },
11562 "2": {
11563 "name": "comment.block.cpp"
11564 },
11565 "3": {
11566 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11567 }
11568 }
11569 }
11570 ]
11571 },
11572 "7": {
11573 "patterns": [
11574 {
11575 "match": "::",
11576 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
11577 },
11578 {
11579 "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)",
11580 "name": "entity.name.scope-resolution.type.cpp"
11581 },
11582 {
11583 "include": "#template_call_range"
11584 }
11585 ]
11586 },
11587 "8": {
11588 "patterns": [
11589 {
11590 "include": "#template_call_range"
11591 }
11592 ]
11593 },
11594 "9": {},
11595 "10": {
11596 "patterns": [
11597 {
11598 "include": "#inline_comment"
11599 }
11600 ]
11601 },
11602 "11": {
11603 "patterns": [
11604 {
11605 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11606 "captures": {
11607 "1": {
11608 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11609 },
11610 "2": {
11611 "name": "comment.block.cpp"
11612 },
11613 "3": {
11614 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11615 }
11616 }
11617 }
11618 ]
11619 },
11620 "12": {},
11621 "13": {
11622 "patterns": [
11623 {
11624 "match": "\\*",
11625 "name": "storage.modifier.pointer.cpp"
11626 },
11627 {
11628 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
11629 "captures": {
11630 "1": {
11631 "patterns": [
11632 {
11633 "include": "#inline_comment"
11634 }
11635 ]
11636 },
11637 "2": {
11638 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11639 },
11640 "3": {
11641 "name": "comment.block.cpp"
11642 },
11643 "4": {
11644 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11645 }
11646 },
11647 "name": "invalid.illegal.reference-type.cpp"
11648 },
11649 {
11650 "match": "\\&",
11651 "name": "storage.modifier.reference.cpp"
11652 }
11653 ]
11654 },
11655 "14": {
11656 "patterns": [
11657 {
11658 "include": "#inline_comment"
11659 }
11660 ]
11661 },
11662 "15": {
11663 "patterns": [
11664 {
11665 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11666 "captures": {
11667 "1": {
11668 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11669 },
11670 "2": {
11671 "name": "comment.block.cpp"
11672 },
11673 "3": {
11674 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11675 }
11676 }
11677 }
11678 ]
11679 },
11680 "16": {
11681 "patterns": [
11682 {
11683 "include": "#inline_comment"
11684 }
11685 ]
11686 },
11687 "17": {
11688 "patterns": [
11689 {
11690 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11691 "captures": {
11692 "1": {
11693 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11694 },
11695 "2": {
11696 "name": "comment.block.cpp"
11697 },
11698 "3": {
11699 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11700 }
11701 }
11702 }
11703 ]
11704 }
11705 }
11706 },
11707 "single_line_macro": {
11708 "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))#define.*(?<![\\\\])(?:(?:\\n)|$)",
11709 "captures": {
11710 "0": {
11711 "patterns": [
11712 {
11713 "include": "#macro"
11714 },
11715 {
11716 "include": "#comments"
11717 }
11718 ]
11719 },
11720 "1": {
11721 "patterns": [
11722 {
11723 "include": "#inline_comment"
11724 }
11725 ]
11726 },
11727 "2": {
11728 "patterns": [
11729 {
11730 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11731 "captures": {
11732 "1": {
11733 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11734 },
11735 "2": {
11736 "name": "comment.block.cpp"
11737 },
11738 "3": {
11739 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11740 }
11741 }
11742 }
11743 ]
11744 }
11745 }
11746 },
11747 "sizeof_operator": {
11748 "begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
11749 "end": "\\)",
11750 "beginCaptures": {
11751 "1": {
11752 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
11753 },
11754 "2": {
11755 "patterns": [
11756 {
11757 "include": "#inline_comment"
11758 }
11759 ]
11760 },
11761 "3": {
11762 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11763 },
11764 "4": {
11765 "name": "comment.block.cpp"
11766 },
11767 "5": {
11768 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11769 },
11770 "6": {
11771 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
11772 }
11773 },
11774 "endCaptures": {
11775 "0": {
11776 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
11777 }
11778 },
11779 "contentName": "meta.arguments.operator.sizeof",
11780 "patterns": [
11781 {
11782 "include": "#evaluation_context"
11783 }
11784 ]
11785 },
11786 "sizeof_variadic_operator": {
11787 "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
11788 "end": "\\)",
11789 "beginCaptures": {
11790 "1": {
11791 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
11792 },
11793 "2": {
11794 "patterns": [
11795 {
11796 "include": "#inline_comment"
11797 }
11798 ]
11799 },
11800 "3": {
11801 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11802 },
11803 "4": {
11804 "name": "comment.block.cpp"
11805 },
11806 "5": {
11807 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11808 },
11809 "6": {
11810 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
11811 }
11812 },
11813 "endCaptures": {
11814 "0": {
11815 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
11816 }
11817 },
11818 "contentName": "meta.arguments.operator.sizeof.variadic",
11819 "patterns": [
11820 {
11821 "include": "#evaluation_context"
11822 }
11823 ]
11824 },
11825 "square_brackets": {
11826 "name": "meta.bracket.square.access",
11827 "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",
11828 "beginCaptures": {
11829 "1": {
11830 "name": "variable.other.object"
11831 },
11832 "2": {
11833 "name": "punctuation.definition.begin.bracket.square"
11834 }
11835 },
11836 "end": "\\]",
11837 "endCaptures": {
11838 "0": {
11839 "name": "punctuation.definition.end.bracket.square"
11840 }
11841 },
11842 "patterns": [
11843 {
11844 "include": "#evaluation_context"
11845 }
11846 ]
11847 },
11848 "standard_declares": {
11849 "patterns": [
11850 {
11851 "match": "((?<!\\w)struct(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
11852 "captures": {
11853 "1": {
11854 "name": "storage.type.struct.declare.cpp"
11855 },
11856 "2": {
11857 "patterns": [
11858 {
11859 "include": "#inline_comment"
11860 }
11861 ]
11862 },
11863 "3": {
11864 "patterns": [
11865 {
11866 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11867 "captures": {
11868 "1": {
11869 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11870 },
11871 "2": {
11872 "name": "comment.block.cpp"
11873 },
11874 "3": {
11875 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11876 }
11877 }
11878 }
11879 ]
11880 },
11881 "4": {
11882 "name": "entity.name.type.struct.cpp"
11883 },
11884 "5": {
11885 "patterns": [
11886 {
11887 "match": "\\*",
11888 "name": "storage.modifier.pointer.cpp"
11889 },
11890 {
11891 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
11892 "captures": {
11893 "1": {
11894 "patterns": [
11895 {
11896 "include": "#inline_comment"
11897 }
11898 ]
11899 },
11900 "2": {
11901 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11902 },
11903 "3": {
11904 "name": "comment.block.cpp"
11905 },
11906 "4": {
11907 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11908 }
11909 },
11910 "name": "invalid.illegal.reference-type.cpp"
11911 },
11912 {
11913 "match": "\\&",
11914 "name": "storage.modifier.reference.cpp"
11915 }
11916 ]
11917 },
11918 "6": {
11919 "patterns": [
11920 {
11921 "include": "#inline_comment"
11922 }
11923 ]
11924 },
11925 "7": {
11926 "patterns": [
11927 {
11928 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11929 "captures": {
11930 "1": {
11931 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11932 },
11933 "2": {
11934 "name": "comment.block.cpp"
11935 },
11936 "3": {
11937 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11938 }
11939 }
11940 }
11941 ]
11942 },
11943 "8": {
11944 "patterns": [
11945 {
11946 "include": "#inline_comment"
11947 }
11948 ]
11949 },
11950 "9": {
11951 "patterns": [
11952 {
11953 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11954 "captures": {
11955 "1": {
11956 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11957 },
11958 "2": {
11959 "name": "comment.block.cpp"
11960 },
11961 "3": {
11962 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11963 }
11964 }
11965 }
11966 ]
11967 },
11968 "10": {
11969 "patterns": [
11970 {
11971 "include": "#inline_comment"
11972 }
11973 ]
11974 },
11975 "11": {
11976 "patterns": [
11977 {
11978 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
11979 "captures": {
11980 "1": {
11981 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
11982 },
11983 "2": {
11984 "name": "comment.block.cpp"
11985 },
11986 "3": {
11987 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
11988 }
11989 }
11990 }
11991 ]
11992 },
11993 "12": {
11994 "name": "variable.other.object.declare.cpp"
11995 },
11996 "13": {
11997 "patterns": [
11998 {
11999 "include": "#inline_comment"
12000 }
12001 ]
12002 },
12003 "14": {
12004 "patterns": [
12005 {
12006 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12007 "captures": {
12008 "1": {
12009 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12010 },
12011 "2": {
12012 "name": "comment.block.cpp"
12013 },
12014 "3": {
12015 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12016 }
12017 }
12018 }
12019 ]
12020 }
12021 }
12022 },
12023 {
12024 "match": "((?<!\\w)union(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
12025 "captures": {
12026 "1": {
12027 "name": "storage.type.union.declare.cpp"
12028 },
12029 "2": {
12030 "patterns": [
12031 {
12032 "include": "#inline_comment"
12033 }
12034 ]
12035 },
12036 "3": {
12037 "patterns": [
12038 {
12039 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12040 "captures": {
12041 "1": {
12042 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12043 },
12044 "2": {
12045 "name": "comment.block.cpp"
12046 },
12047 "3": {
12048 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12049 }
12050 }
12051 }
12052 ]
12053 },
12054 "4": {
12055 "name": "entity.name.type.union.cpp"
12056 },
12057 "5": {
12058 "patterns": [
12059 {
12060 "match": "\\*",
12061 "name": "storage.modifier.pointer.cpp"
12062 },
12063 {
12064 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
12065 "captures": {
12066 "1": {
12067 "patterns": [
12068 {
12069 "include": "#inline_comment"
12070 }
12071 ]
12072 },
12073 "2": {
12074 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12075 },
12076 "3": {
12077 "name": "comment.block.cpp"
12078 },
12079 "4": {
12080 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12081 }
12082 },
12083 "name": "invalid.illegal.reference-type.cpp"
12084 },
12085 {
12086 "match": "\\&",
12087 "name": "storage.modifier.reference.cpp"
12088 }
12089 ]
12090 },
12091 "6": {
12092 "patterns": [
12093 {
12094 "include": "#inline_comment"
12095 }
12096 ]
12097 },
12098 "7": {
12099 "patterns": [
12100 {
12101 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12102 "captures": {
12103 "1": {
12104 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12105 },
12106 "2": {
12107 "name": "comment.block.cpp"
12108 },
12109 "3": {
12110 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12111 }
12112 }
12113 }
12114 ]
12115 },
12116 "8": {
12117 "patterns": [
12118 {
12119 "include": "#inline_comment"
12120 }
12121 ]
12122 },
12123 "9": {
12124 "patterns": [
12125 {
12126 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12127 "captures": {
12128 "1": {
12129 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12130 },
12131 "2": {
12132 "name": "comment.block.cpp"
12133 },
12134 "3": {
12135 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12136 }
12137 }
12138 }
12139 ]
12140 },
12141 "10": {
12142 "patterns": [
12143 {
12144 "include": "#inline_comment"
12145 }
12146 ]
12147 },
12148 "11": {
12149 "patterns": [
12150 {
12151 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12152 "captures": {
12153 "1": {
12154 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12155 },
12156 "2": {
12157 "name": "comment.block.cpp"
12158 },
12159 "3": {
12160 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12161 }
12162 }
12163 }
12164 ]
12165 },
12166 "12": {
12167 "name": "variable.other.object.declare.cpp"
12168 },
12169 "13": {
12170 "patterns": [
12171 {
12172 "include": "#inline_comment"
12173 }
12174 ]
12175 },
12176 "14": {
12177 "patterns": [
12178 {
12179 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12180 "captures": {
12181 "1": {
12182 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12183 },
12184 "2": {
12185 "name": "comment.block.cpp"
12186 },
12187 "3": {
12188 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12189 }
12190 }
12191 }
12192 ]
12193 }
12194 }
12195 },
12196 {
12197 "match": "((?<!\\w)enum(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
12198 "captures": {
12199 "1": {
12200 "name": "storage.type.enum.declare.cpp"
12201 },
12202 "2": {
12203 "patterns": [
12204 {
12205 "include": "#inline_comment"
12206 }
12207 ]
12208 },
12209 "3": {
12210 "patterns": [
12211 {
12212 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12213 "captures": {
12214 "1": {
12215 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12216 },
12217 "2": {
12218 "name": "comment.block.cpp"
12219 },
12220 "3": {
12221 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12222 }
12223 }
12224 }
12225 ]
12226 },
12227 "4": {
12228 "name": "entity.name.type.enum.cpp"
12229 },
12230 "5": {
12231 "patterns": [
12232 {
12233 "match": "\\*",
12234 "name": "storage.modifier.pointer.cpp"
12235 },
12236 {
12237 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
12238 "captures": {
12239 "1": {
12240 "patterns": [
12241 {
12242 "include": "#inline_comment"
12243 }
12244 ]
12245 },
12246 "2": {
12247 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12248 },
12249 "3": {
12250 "name": "comment.block.cpp"
12251 },
12252 "4": {
12253 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12254 }
12255 },
12256 "name": "invalid.illegal.reference-type.cpp"
12257 },
12258 {
12259 "match": "\\&",
12260 "name": "storage.modifier.reference.cpp"
12261 }
12262 ]
12263 },
12264 "6": {
12265 "patterns": [
12266 {
12267 "include": "#inline_comment"
12268 }
12269 ]
12270 },
12271 "7": {
12272 "patterns": [
12273 {
12274 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12275 "captures": {
12276 "1": {
12277 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12278 },
12279 "2": {
12280 "name": "comment.block.cpp"
12281 },
12282 "3": {
12283 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12284 }
12285 }
12286 }
12287 ]
12288 },
12289 "8": {
12290 "patterns": [
12291 {
12292 "include": "#inline_comment"
12293 }
12294 ]
12295 },
12296 "9": {
12297 "patterns": [
12298 {
12299 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12300 "captures": {
12301 "1": {
12302 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12303 },
12304 "2": {
12305 "name": "comment.block.cpp"
12306 },
12307 "3": {
12308 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12309 }
12310 }
12311 }
12312 ]
12313 },
12314 "10": {
12315 "patterns": [
12316 {
12317 "include": "#inline_comment"
12318 }
12319 ]
12320 },
12321 "11": {
12322 "patterns": [
12323 {
12324 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12325 "captures": {
12326 "1": {
12327 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12328 },
12329 "2": {
12330 "name": "comment.block.cpp"
12331 },
12332 "3": {
12333 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12334 }
12335 }
12336 }
12337 ]
12338 },
12339 "12": {
12340 "name": "variable.other.object.declare.cpp"
12341 },
12342 "13": {
12343 "patterns": [
12344 {
12345 "include": "#inline_comment"
12346 }
12347 ]
12348 },
12349 "14": {
12350 "patterns": [
12351 {
12352 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12353 "captures": {
12354 "1": {
12355 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12356 },
12357 "2": {
12358 "name": "comment.block.cpp"
12359 },
12360 "3": {
12361 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12362 }
12363 }
12364 }
12365 ]
12366 }
12367 }
12368 },
12369 {
12370 "match": "((?<!\\w)class(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
12371 "captures": {
12372 "1": {
12373 "name": "storage.type.class.declare.cpp"
12374 },
12375 "2": {
12376 "patterns": [
12377 {
12378 "include": "#inline_comment"
12379 }
12380 ]
12381 },
12382 "3": {
12383 "patterns": [
12384 {
12385 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12386 "captures": {
12387 "1": {
12388 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12389 },
12390 "2": {
12391 "name": "comment.block.cpp"
12392 },
12393 "3": {
12394 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12395 }
12396 }
12397 }
12398 ]
12399 },
12400 "4": {
12401 "name": "entity.name.type.class.cpp"
12402 },
12403 "5": {
12404 "patterns": [
12405 {
12406 "match": "\\*",
12407 "name": "storage.modifier.pointer.cpp"
12408 },
12409 {
12410 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
12411 "captures": {
12412 "1": {
12413 "patterns": [
12414 {
12415 "include": "#inline_comment"
12416 }
12417 ]
12418 },
12419 "2": {
12420 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12421 },
12422 "3": {
12423 "name": "comment.block.cpp"
12424 },
12425 "4": {
12426 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12427 }
12428 },
12429 "name": "invalid.illegal.reference-type.cpp"
12430 },
12431 {
12432 "match": "\\&",
12433 "name": "storage.modifier.reference.cpp"
12434 }
12435 ]
12436 },
12437 "6": {
12438 "patterns": [
12439 {
12440 "include": "#inline_comment"
12441 }
12442 ]
12443 },
12444 "7": {
12445 "patterns": [
12446 {
12447 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12448 "captures": {
12449 "1": {
12450 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12451 },
12452 "2": {
12453 "name": "comment.block.cpp"
12454 },
12455 "3": {
12456 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12457 }
12458 }
12459 }
12460 ]
12461 },
12462 "8": {
12463 "patterns": [
12464 {
12465 "include": "#inline_comment"
12466 }
12467 ]
12468 },
12469 "9": {
12470 "patterns": [
12471 {
12472 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12473 "captures": {
12474 "1": {
12475 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12476 },
12477 "2": {
12478 "name": "comment.block.cpp"
12479 },
12480 "3": {
12481 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12482 }
12483 }
12484 }
12485 ]
12486 },
12487 "10": {
12488 "patterns": [
12489 {
12490 "include": "#inline_comment"
12491 }
12492 ]
12493 },
12494 "11": {
12495 "patterns": [
12496 {
12497 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12498 "captures": {
12499 "1": {
12500 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12501 },
12502 "2": {
12503 "name": "comment.block.cpp"
12504 },
12505 "3": {
12506 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12507 }
12508 }
12509 }
12510 ]
12511 },
12512 "12": {
12513 "name": "variable.other.object.declare.cpp"
12514 },
12515 "13": {
12516 "patterns": [
12517 {
12518 "include": "#inline_comment"
12519 }
12520 ]
12521 },
12522 "14": {
12523 "patterns": [
12524 {
12525 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12526 "captures": {
12527 "1": {
12528 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12529 },
12530 "2": {
12531 "name": "comment.block.cpp"
12532 },
12533 "3": {
12534 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12535 }
12536 }
12537 }
12538 ]
12539 }
12540 }
12541 }
12542 ]
12543 },
12544 "static_assert": {
12545 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)static_assert|_Static_assert(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
12546 "end": "\\)",
12547 "beginCaptures": {
12548 "1": {
12549 "patterns": [
12550 {
12551 "include": "#inline_comment"
12552 }
12553 ]
12554 },
12555 "2": {
12556 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12557 },
12558 "3": {
12559 "name": "comment.block.cpp"
12560 },
12561 "4": {
12562 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12563 },
12564 "5": {
12565 "name": "keyword.other.static_assert.cpp"
12566 },
12567 "6": {
12568 "patterns": [
12569 {
12570 "include": "#inline_comment"
12571 }
12572 ]
12573 },
12574 "7": {
12575 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12576 },
12577 "8": {
12578 "name": "comment.block.cpp"
12579 },
12580 "9": {
12581 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12582 },
12583 "10": {
12584 "name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp"
12585 }
12586 },
12587 "endCaptures": {
12588 "0": {
12589 "name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp"
12590 }
12591 },
12592 "patterns": [
12593 {
12594 "begin": "(,)(?:(?:\\s)+)?(?=(?:L|u8|u|U(?:(?:\\s)+)?\\\")?)",
12595 "end": "(?=\\))",
12596 "beginCaptures": {
12597 "1": {
12598 "name": "punctuation.separator.delimiter.comma.cpp"
12599 }
12600 },
12601 "endCaptures": {},
12602 "name": "meta.static_assert.message.cpp",
12603 "patterns": [
12604 {
12605 "include": "#string_context"
12606 }
12607 ]
12608 },
12609 {
12610 "include": "#evaluation_context"
12611 }
12612 ]
12613 },
12614 "std_space": {
12615 "match": "(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))",
12616 "captures": {
12617 "0": {
12618 "patterns": [
12619 {
12620 "include": "#inline_comment"
12621 }
12622 ]
12623 },
12624 "1": {
12625 "patterns": [
12626 {
12627 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12628 "captures": {
12629 "1": {
12630 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12631 },
12632 "2": {
12633 "name": "comment.block.cpp"
12634 },
12635 "3": {
12636 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12637 }
12638 }
12639 }
12640 ]
12641 }
12642 }
12643 },
12644 "storage_specifiers": {
12645 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w))",
12646 "captures": {
12647 "1": {
12648 "patterns": [
12649 {
12650 "include": "#inline_comment"
12651 }
12652 ]
12653 },
12654 "2": {
12655 "patterns": [
12656 {
12657 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
12658 "captures": {
12659 "1": {
12660 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12661 },
12662 "2": {
12663 "name": "comment.block.cpp"
12664 },
12665 "3": {
12666 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12667 }
12668 }
12669 }
12670 ]
12671 },
12672 "3": {
12673 "name": "storage.modifier.specifier.$3.cpp"
12674 }
12675 }
12676 },
12677 "storage_types": {
12678 "patterns": [
12679 {
12680 "include": "#storage_specifiers"
12681 },
12682 {
12683 "include": "#inline_builtin_storage_type"
12684 },
12685 {
12686 "include": "#decltype"
12687 },
12688 {
12689 "include": "#typename"
12690 }
12691 ]
12692 },
12693 "string_context": {
12694 "patterns": [
12695 {
12696 "begin": "((?:u|u8|U|L)?)\"",
12697 "end": "\"",
12698 "beginCaptures": {
12699 "0": {
12700 "name": "punctuation.definition.string.begin.cpp"
12701 },
12702 "1": {
12703 "name": "meta.encoding.cpp"
12704 }
12705 },
12706 "endCaptures": {
12707 "0": {
12708 "name": "punctuation.definition.string.end.cpp"
12709 }
12710 },
12711 "name": "string.quoted.double.cpp",
12712 "patterns": [
12713 {
12714 "match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})",
12715 "name": "constant.character.escape.cpp"
12716 },
12717 {
12718 "match": "\\\\['\"?\\\\abfnrtv]",
12719 "name": "constant.character.escape.cpp"
12720 },
12721 {
12722 "match": "\\\\[0-7]{1,3}",
12723 "name": "constant.character.escape.cpp"
12724 },
12725 {
12726 "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
12727 "captures": {
12728 "1": {
12729 "name": "constant.character.escape.cpp"
12730 },
12731 "2": {
12732 "name": "invalid.illegal.unknown-escape.cpp"
12733 }
12734 }
12735 },
12736 {
12737 "include": "#string_escapes_context_c"
12738 }
12739 ]
12740 },
12741 {
12742 "begin": "(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'",
12743 "end": "'",
12744 "beginCaptures": {
12745 "0": {
12746 "name": "punctuation.definition.string.begin.cpp"
12747 },
12748 "1": {
12749 "name": "meta.encoding.cpp"
12750 }
12751 },
12752 "endCaptures": {
12753 "0": {
12754 "name": "punctuation.definition.string.end.cpp"
12755 }
12756 },
12757 "name": "string.quoted.single.cpp",
12758 "patterns": [
12759 {
12760 "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
12761 "captures": {
12762 "1": {
12763 "name": "constant.character.escape.cpp"
12764 },
12765 "2": {
12766 "name": "invalid.illegal.unknown-escape.cpp"
12767 }
12768 }
12769 },
12770 {
12771 "include": "#string_escapes_context_c"
12772 },
12773 {
12774 "include": "#line_continuation_character"
12775 }
12776 ]
12777 },
12778 {
12779 "begin": "((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\(",
12780 "end": "\\)(?:(?:_r|re)|regex)\\\"",
12781 "beginCaptures": {
12782 "0": {
12783 "name": "punctuation.definition.string.begin.cpp"
12784 },
12785 "1": {
12786 "name": "meta.encoding.cpp"
12787 }
12788 },
12789 "endCaptures": {
12790 "0": {
12791 "name": "punctuation.definition.string.end.cpp"
12792 }
12793 },
12794 "name": "string.quoted.double.raw.regex.cpp",
12795 "patterns": [
12796 {
12797 "include": "source.regexp.python"
12798 }
12799 ]
12800 },
12801 {
12802 "begin": "((?:[uUL]8?)?R)\\\"(?:glsl|GLSL)\\(",
12803 "end": "\\)(?:glsl|GLSL)\\\"",
12804 "beginCaptures": {
12805 "0": {
12806 "name": "punctuation.definition.string.begin.cpp"
12807 },
12808 "1": {
12809 "name": "meta.encoding.cpp"
12810 }
12811 },
12812 "endCaptures": {
12813 "0": {
12814 "name": "punctuation.definition.string.end.cpp"
12815 }
12816 },
12817 "name": "meta.string.quoted.double.raw.glsl.cpp",
12818 "patterns": [
12819 {
12820 "include": "source.glsl"
12821 }
12822 ]
12823 },
12824 {
12825 "begin": "((?:[uUL]8?)?R)\\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(",
12826 "end": "\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\\"",
12827 "beginCaptures": {
12828 "0": {
12829 "name": "punctuation.definition.string.begin.cpp"
12830 },
12831 "1": {
12832 "name": "meta.encoding.cpp"
12833 }
12834 },
12835 "endCaptures": {
12836 "0": {
12837 "name": "punctuation.definition.string.end.cpp"
12838 }
12839 },
12840 "name": "meta.string.quoted.double.raw.sql.cpp",
12841 "patterns": [
12842 {
12843 "include": "source.sql"
12844 }
12845 ]
12846 },
12847 {
12848 "begin": "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(",
12849 "beginCaptures": {
12850 "0": {
12851 "name": "punctuation.definition.string.begin"
12852 },
12853 "1": {
12854 "name": "meta.encoding"
12855 },
12856 "3": {
12857 "name": "invalid.illegal.delimiter-too-long"
12858 }
12859 },
12860 "end": "\\)\\2(\\3)\"",
12861 "endCaptures": {
12862 "0": {
12863 "name": "punctuation.definition.string.end"
12864 },
12865 "1": {
12866 "name": "invalid.illegal.delimiter-too-long"
12867 }
12868 },
12869 "name": "string.quoted.double.raw"
12870 }
12871 ]
12872 },
12873 "string_escapes_context_c": {
12874 "patterns": [
12875 {
12876 "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} )",
12877 "name": "constant.character.escape"
12878 },
12879 {
12880 "match": "\\\\.",
12881 "name": "invalid.illegal.unknown-escape"
12882 },
12883 {
12884 "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",
12885 "name": "constant.other.placeholder"
12886 }
12887 ]
12888 },
12889 "struct_block": {
12890 "begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
12891 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
12892 "beginCaptures": {
12893 "0": {
12894 "name": "meta.head.struct.cpp"
12895 },
12896 "1": {
12897 "name": "storage.type.$1.cpp"
12898 },
12899 "2": {
12900 "patterns": [
12901 {
12902 "include": "#inline_comment"
12903 }
12904 ]
12905 },
12906 "3": {
12907 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12908 },
12909 "4": {
12910 "name": "comment.block.cpp"
12911 },
12912 "5": {
12913 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12914 },
12915 "6": {
12916 "patterns": [
12917 {
12918 "include": "#attributes_context"
12919 },
12920 {
12921 "include": "#number_literal"
12922 }
12923 ]
12924 },
12925 "7": {
12926 "patterns": [
12927 {
12928 "include": "#inline_comment"
12929 }
12930 ]
12931 },
12932 "8": {
12933 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12934 },
12935 "9": {
12936 "name": "comment.block.cpp"
12937 },
12938 "10": {
12939 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12940 },
12941 "11": {
12942 "patterns": [
12943 {
12944 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))",
12945 "captures": {
12946 "1": {
12947 "name": "storage.type.modifier.final.cpp"
12948 },
12949 "2": {
12950 "patterns": [
12951 {
12952 "include": "#inline_comment"
12953 }
12954 ]
12955 },
12956 "3": {
12957 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12958 },
12959 "4": {
12960 "name": "comment.block.cpp"
12961 },
12962 "5": {
12963 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12964 }
12965 }
12966 },
12967 {
12968 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
12969 "captures": {
12970 "1": {
12971 "name": "entity.name.type.struct.cpp"
12972 },
12973 "2": {
12974 "patterns": [
12975 {
12976 "include": "#inline_comment"
12977 }
12978 ]
12979 },
12980 "3": {
12981 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
12982 },
12983 "4": {
12984 "name": "comment.block.cpp"
12985 },
12986 "5": {
12987 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
12988 },
12989 "6": {
12990 "name": "storage.type.modifier.final.cpp"
12991 },
12992 "7": {
12993 "patterns": [
12994 {
12995 "include": "#inline_comment"
12996 }
12997 ]
12998 },
12999 "8": {
13000 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13001 },
13002 "9": {
13003 "name": "comment.block.cpp"
13004 },
13005 "10": {
13006 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13007 }
13008 }
13009 },
13010 {
13011 "match": "DLLEXPORT",
13012 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
13013 },
13014 {
13015 "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}))*",
13016 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
13017 }
13018 ]
13019 },
13020 "12": {
13021 "patterns": [
13022 {
13023 "include": "#inline_comment"
13024 }
13025 ]
13026 },
13027 "13": {
13028 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13029 },
13030 "14": {
13031 "name": "comment.block.cpp"
13032 },
13033 "15": {
13034 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13035 },
13036 "16": {
13037 "patterns": [
13038 {
13039 "include": "#inline_comment"
13040 }
13041 ]
13042 },
13043 "17": {
13044 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13045 },
13046 "18": {
13047 "name": "comment.block.cpp"
13048 },
13049 "19": {
13050 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13051 },
13052 "20": {
13053 "name": "punctuation.separator.colon.inheritance.cpp"
13054 }
13055 },
13056 "endCaptures": {
13057 "1": {
13058 "name": "punctuation.terminator.statement.cpp"
13059 },
13060 "2": {
13061 "name": "punctuation.terminator.statement.cpp"
13062 }
13063 },
13064 "name": "meta.block.struct.cpp",
13065 "patterns": [
13066 {
13067 "begin": "\\G ?",
13068 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
13069 "beginCaptures": {},
13070 "endCaptures": {
13071 "0": {
13072 "name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
13073 }
13074 },
13075 "name": "meta.head.struct.cpp",
13076 "patterns": [
13077 {
13078 "include": "#ever_present_context"
13079 },
13080 {
13081 "include": "#inheritance_context"
13082 },
13083 {
13084 "include": "#template_call_range"
13085 }
13086 ]
13087 },
13088 {
13089 "begin": "(?<=\\{|<%|\\?\\?<)",
13090 "end": "\\}|%>|\\?\\?>",
13091 "beginCaptures": {},
13092 "endCaptures": {
13093 "0": {
13094 "name": "punctuation.section.block.end.bracket.curly.struct.cpp"
13095 }
13096 },
13097 "name": "meta.body.struct.cpp",
13098 "patterns": [
13099 {
13100 "include": "#function_pointer"
13101 },
13102 {
13103 "include": "#static_assert"
13104 },
13105 {
13106 "include": "#constructor_inline"
13107 },
13108 {
13109 "include": "#destructor_inline"
13110 },
13111 {
13112 "include": "$self"
13113 }
13114 ]
13115 },
13116 {
13117 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
13118 "end": "[\\s]*(?=;)",
13119 "beginCaptures": {},
13120 "endCaptures": {},
13121 "name": "meta.tail.struct.cpp",
13122 "patterns": [
13123 {
13124 "include": "$self"
13125 }
13126 ]
13127 }
13128 ]
13129 },
13130 "struct_declare": {
13131 "match": "((?<!\\w)struct(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
13132 "captures": {
13133 "1": {
13134 "name": "storage.type.struct.declare.cpp"
13135 },
13136 "2": {
13137 "patterns": [
13138 {
13139 "include": "#inline_comment"
13140 }
13141 ]
13142 },
13143 "3": {
13144 "patterns": [
13145 {
13146 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13147 "captures": {
13148 "1": {
13149 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13150 },
13151 "2": {
13152 "name": "comment.block.cpp"
13153 },
13154 "3": {
13155 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13156 }
13157 }
13158 }
13159 ]
13160 },
13161 "4": {
13162 "name": "entity.name.type.struct.cpp"
13163 },
13164 "5": {
13165 "patterns": [
13166 {
13167 "match": "\\*",
13168 "name": "storage.modifier.pointer.cpp"
13169 },
13170 {
13171 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
13172 "captures": {
13173 "1": {
13174 "patterns": [
13175 {
13176 "include": "#inline_comment"
13177 }
13178 ]
13179 },
13180 "2": {
13181 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13182 },
13183 "3": {
13184 "name": "comment.block.cpp"
13185 },
13186 "4": {
13187 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13188 }
13189 },
13190 "name": "invalid.illegal.reference-type.cpp"
13191 },
13192 {
13193 "match": "\\&",
13194 "name": "storage.modifier.reference.cpp"
13195 }
13196 ]
13197 },
13198 "6": {
13199 "patterns": [
13200 {
13201 "include": "#inline_comment"
13202 }
13203 ]
13204 },
13205 "7": {
13206 "patterns": [
13207 {
13208 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13209 "captures": {
13210 "1": {
13211 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13212 },
13213 "2": {
13214 "name": "comment.block.cpp"
13215 },
13216 "3": {
13217 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13218 }
13219 }
13220 }
13221 ]
13222 },
13223 "8": {
13224 "patterns": [
13225 {
13226 "include": "#inline_comment"
13227 }
13228 ]
13229 },
13230 "9": {
13231 "patterns": [
13232 {
13233 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13234 "captures": {
13235 "1": {
13236 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13237 },
13238 "2": {
13239 "name": "comment.block.cpp"
13240 },
13241 "3": {
13242 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13243 }
13244 }
13245 }
13246 ]
13247 },
13248 "10": {
13249 "patterns": [
13250 {
13251 "include": "#inline_comment"
13252 }
13253 ]
13254 },
13255 "11": {
13256 "patterns": [
13257 {
13258 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13259 "captures": {
13260 "1": {
13261 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13262 },
13263 "2": {
13264 "name": "comment.block.cpp"
13265 },
13266 "3": {
13267 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13268 }
13269 }
13270 }
13271 ]
13272 },
13273 "12": {
13274 "name": "variable.other.object.declare.cpp"
13275 },
13276 "13": {
13277 "patterns": [
13278 {
13279 "include": "#inline_comment"
13280 }
13281 ]
13282 },
13283 "14": {
13284 "patterns": [
13285 {
13286 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13287 "captures": {
13288 "1": {
13289 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13290 },
13291 "2": {
13292 "name": "comment.block.cpp"
13293 },
13294 "3": {
13295 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13296 }
13297 }
13298 }
13299 ]
13300 }
13301 }
13302 },
13303 "switch_conditional_parentheses": {
13304 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
13305 "end": "\\)",
13306 "beginCaptures": {
13307 "1": {
13308 "patterns": [
13309 {
13310 "include": "#inline_comment"
13311 }
13312 ]
13313 },
13314 "2": {
13315 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13316 },
13317 "3": {
13318 "name": "comment.block.cpp"
13319 },
13320 "4": {
13321 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13322 },
13323 "5": {
13324 "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"
13325 }
13326 },
13327 "endCaptures": {
13328 "0": {
13329 "name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp"
13330 }
13331 },
13332 "name": "meta.conditional.switch.cpp",
13333 "patterns": [
13334 {
13335 "include": "#evaluation_context"
13336 }
13337 ]
13338 },
13339 "switch_statement": {
13340 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)switch(?!\\w))",
13341 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
13342 "beginCaptures": {
13343 "0": {
13344 "name": "meta.head.switch.cpp"
13345 },
13346 "1": {
13347 "patterns": [
13348 {
13349 "include": "#inline_comment"
13350 }
13351 ]
13352 },
13353 "2": {
13354 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13355 },
13356 "3": {
13357 "name": "comment.block.cpp"
13358 },
13359 "4": {
13360 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13361 },
13362 "5": {
13363 "name": "keyword.control.switch.cpp"
13364 }
13365 },
13366 "endCaptures": {},
13367 "name": "meta.block.switch.cpp",
13368 "patterns": [
13369 {
13370 "begin": "\\G ?",
13371 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
13372 "beginCaptures": {},
13373 "endCaptures": {
13374 "0": {
13375 "name": "punctuation.section.block.begin.bracket.curly.switch.cpp"
13376 }
13377 },
13378 "name": "meta.head.switch.cpp",
13379 "patterns": [
13380 {
13381 "include": "#switch_conditional_parentheses"
13382 },
13383 {
13384 "include": "$self"
13385 }
13386 ]
13387 },
13388 {
13389 "begin": "(?<=\\{|<%|\\?\\?<)",
13390 "end": "\\}|%>|\\?\\?>",
13391 "beginCaptures": {},
13392 "endCaptures": {
13393 "0": {
13394 "name": "punctuation.section.block.end.bracket.curly.switch.cpp"
13395 }
13396 },
13397 "name": "meta.body.switch.cpp",
13398 "patterns": [
13399 {
13400 "include": "#default_statement"
13401 },
13402 {
13403 "include": "#case_statement"
13404 },
13405 {
13406 "include": "$self"
13407 }
13408 ]
13409 },
13410 {
13411 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
13412 "end": "[\\s]*(?=;)",
13413 "beginCaptures": {},
13414 "endCaptures": {},
13415 "name": "meta.tail.switch.cpp",
13416 "patterns": [
13417 {
13418 "include": "$self"
13419 }
13420 ]
13421 }
13422 ]
13423 },
13424 "template_argument_defaulted": {
13425 "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)+)?(\\=)",
13426 "captures": {
13427 "1": {
13428 "name": "storage.type.template.argument.$1.cpp"
13429 },
13430 "2": {
13431 "name": "entity.name.type.template.cpp"
13432 },
13433 "3": {
13434 "name": "keyword.operator.assignment.cpp"
13435 }
13436 }
13437 },
13438 "template_call_context": {
13439 "patterns": [
13440 {
13441 "include": "#ever_present_context"
13442 },
13443 {
13444 "include": "#template_call_range"
13445 },
13446 {
13447 "include": "#storage_types"
13448 },
13449 {
13450 "include": "#language_constants"
13451 },
13452 {
13453 "include": "#scope_resolution_template_call_inner_generated"
13454 },
13455 {
13456 "include": "#operators"
13457 },
13458 {
13459 "include": "#number_literal"
13460 },
13461 {
13462 "include": "#string_context"
13463 },
13464 {
13465 "include": "#comma_in_template_argument"
13466 },
13467 {
13468 "include": "#qualified_type"
13469 }
13470 ]
13471 },
13472 "template_call_innards": {
13473 "match": "((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<1>?)+>)(?:\\s)*+",
13474 "captures": {
13475 "0": {
13476 "patterns": [
13477 {
13478 "include": "#template_call_range"
13479 }
13480 ]
13481 }
13482 },
13483 "name": "meta.template.call.cpp"
13484 },
13485 "template_call_range": {
13486 "begin": "<",
13487 "end": ">",
13488 "beginCaptures": {
13489 "0": {
13490 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
13491 }
13492 },
13493 "endCaptures": {
13494 "0": {
13495 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
13496 }
13497 },
13498 "name": "meta.template.call.cpp",
13499 "patterns": [
13500 {
13501 "include": "#template_call_context"
13502 }
13503 ]
13504 },
13505 "template_definition": {
13506 "begin": "(?<!\\w)(template)(?:(?:\\s)+)?(<)",
13507 "end": ">",
13508 "beginCaptures": {
13509 "1": {
13510 "name": "storage.type.template.cpp"
13511 },
13512 "2": {
13513 "name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
13514 }
13515 },
13516 "endCaptures": {
13517 "0": {
13518 "name": "punctuation.section.angle-brackets.end.template.definition.cpp"
13519 }
13520 },
13521 "name": "meta.template.definition.cpp",
13522 "patterns": [
13523 {
13524 "begin": "(?<=\\w)(?:(?:\\s)+)?<",
13525 "end": ">",
13526 "beginCaptures": {
13527 "0": {
13528 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
13529 }
13530 },
13531 "endCaptures": {
13532 "0": {
13533 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
13534 }
13535 },
13536 "patterns": [
13537 {
13538 "include": "#template_call_context"
13539 }
13540 ]
13541 },
13542 {
13543 "include": "#template_definition_context"
13544 }
13545 ]
13546 },
13547 "template_definition_argument": {
13548 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|(?<!\\w)(template)(?:(?:\\s)+)?(<)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(>)(?:(?:\\s)+)?(class|typename)(?:(?:\\s)+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:(?:\\s)+)?(?:(\\=)(?:(?:\\s)+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))",
13549 "captures": {
13550 "1": {
13551 "patterns": [
13552 {
13553 "include": "#inline_comment"
13554 }
13555 ]
13556 },
13557 "2": {
13558 "patterns": [
13559 {
13560 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13561 "captures": {
13562 "1": {
13563 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13564 },
13565 "2": {
13566 "name": "comment.block.cpp"
13567 },
13568 "3": {
13569 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13570 }
13571 }
13572 }
13573 ]
13574 },
13575 "3": {
13576 "name": "storage.type.template.argument.$3.cpp"
13577 },
13578 "4": {
13579 "patterns": [
13580 {
13581 "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}))*",
13582 "name": "storage.type.template.argument.$0.cpp"
13583 }
13584 ]
13585 },
13586 "5": {
13587 "name": "entity.name.type.template.cpp"
13588 },
13589 "6": {
13590 "name": "storage.type.template.argument.$6.cpp"
13591 },
13592 "7": {
13593 "name": "punctuation.vararg-ellipses.template.definition.cpp"
13594 },
13595 "8": {
13596 "name": "entity.name.type.template.cpp"
13597 },
13598 "9": {
13599 "name": "storage.type.template.cpp"
13600 },
13601 "10": {
13602 "name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
13603 },
13604 "11": {
13605 "name": "storage.type.template.argument.$11.cpp"
13606 },
13607 "12": {
13608 "name": "entity.name.type.template.cpp"
13609 },
13610 "13": {
13611 "name": "punctuation.section.angle-brackets.end.template.definition.cpp"
13612 },
13613 "14": {
13614 "name": "storage.type.template.argument.$14.cpp"
13615 },
13616 "15": {
13617 "name": "entity.name.type.template.cpp"
13618 },
13619 "16": {
13620 "name": "keyword.operator.assignment.cpp"
13621 },
13622 "17": {
13623 "name": "punctuation.separator.delimiter.comma.template.argument.cpp"
13624 }
13625 }
13626 },
13627 "template_definition_context": {
13628 "patterns": [
13629 {
13630 "include": "#scope_resolution_template_definition_inner_generated"
13631 },
13632 {
13633 "include": "#template_definition_argument"
13634 },
13635 {
13636 "include": "#template_argument_defaulted"
13637 },
13638 {
13639 "include": "#template_call_innards"
13640 },
13641 {
13642 "include": "#evaluation_context"
13643 }
13644 ]
13645 },
13646 "template_explicit_instantiation": {
13647 "match": "(?<!\\w)(?:(extern)(?:\\s)+)?(template)(?:\\s)+",
13648 "captures": {
13649 "1": {
13650 "name": "storage.modifier.specifier.extern.cpp"
13651 },
13652 "2": {
13653 "name": "storage.type.template.cpp"
13654 }
13655 },
13656 "name": "meta.template.explicit-instantiation.cpp"
13657 },
13658 "template_isolated_definition": {
13659 "match": "(?<!\\w)(template)(?:(?:\\s)+)?(<)(.*)(>)(?:(?:\\s)+)?$",
13660 "captures": {
13661 "1": {
13662 "name": "storage.type.template.cpp"
13663 },
13664 "2": {
13665 "name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
13666 },
13667 "3": {
13668 "name": "meta.template.definition.cpp",
13669 "patterns": [
13670 {
13671 "include": "#template_definition_context"
13672 }
13673 ]
13674 },
13675 "4": {
13676 "name": "punctuation.section.angle-brackets.end.template.definition.cpp"
13677 }
13678 }
13679 },
13680 "ternary_operator": {
13681 "begin": "\\?",
13682 "end": ":",
13683 "beginCaptures": {
13684 "0": {
13685 "name": "keyword.operator.ternary.cpp"
13686 }
13687 },
13688 "endCaptures": {
13689 "0": {
13690 "name": "keyword.operator.ternary.cpp"
13691 }
13692 },
13693 "patterns": [
13694 {
13695 "include": "#ever_present_context"
13696 },
13697 {
13698 "include": "#string_context"
13699 },
13700 {
13701 "include": "#number_literal"
13702 },
13703 {
13704 "include": "#method_access"
13705 },
13706 {
13707 "include": "#member_access"
13708 },
13709 {
13710 "include": "#predefined_macros"
13711 },
13712 {
13713 "include": "#operators"
13714 },
13715 {
13716 "include": "#memory_operators"
13717 },
13718 {
13719 "include": "#wordlike_operators"
13720 },
13721 {
13722 "include": "#type_casting_operators"
13723 },
13724 {
13725 "include": "#control_flow_keywords"
13726 },
13727 {
13728 "include": "#exception_keywords"
13729 },
13730 {
13731 "include": "#the_this_keyword"
13732 },
13733 {
13734 "include": "#language_constants"
13735 },
13736 {
13737 "include": "#builtin_storage_type_initilizer"
13738 },
13739 {
13740 "include": "#qualifiers_and_specifiers_post_parameters"
13741 },
13742 {
13743 "include": "#functional_specifiers_pre_parameters"
13744 },
13745 {
13746 "include": "#storage_types"
13747 },
13748 {
13749 "include": "#lambdas"
13750 },
13751 {
13752 "include": "#attributes_context"
13753 },
13754 {
13755 "include": "#parentheses"
13756 },
13757 {
13758 "include": "#function_call"
13759 },
13760 {
13761 "include": "#scope_resolution_inner_generated"
13762 },
13763 {
13764 "include": "#square_brackets"
13765 },
13766 {
13767 "include": "#semicolon"
13768 },
13769 {
13770 "include": "#comma"
13771 }
13772 ],
13773 "applyEndPatternLast": 1
13774 },
13775 "the_this_keyword": {
13776 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))",
13777 "captures": {
13778 "1": {
13779 "patterns": [
13780 {
13781 "include": "#inline_comment"
13782 }
13783 ]
13784 },
13785 "2": {
13786 "patterns": [
13787 {
13788 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13789 "captures": {
13790 "1": {
13791 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13792 },
13793 "2": {
13794 "name": "comment.block.cpp"
13795 },
13796 "3": {
13797 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13798 }
13799 }
13800 }
13801 ]
13802 },
13803 "3": {
13804 "name": "variable.language.this.cpp"
13805 }
13806 }
13807 },
13808 "type_alias": {
13809 "match": "(using)(?:\\s)+(?!namespace)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))(?<!\\w)(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w)(?:\\s)+)+)?(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<19>?)+>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<19>?)+>)?(?![\\w<:.]))|(.*(?<!;)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)?(?:(?:\\s)+)?(?:(;)|\\n)",
13810 "captures": {
13811 "1": {
13812 "name": "keyword.other.using.directive.cpp"
13813 },
13814 "2": {
13815 "name": "entity.name.type.cpp"
13816 },
13817 "3": {
13818 "patterns": [
13819 {
13820 "include": "#attributes_context"
13821 },
13822 {
13823 "include": "#number_literal"
13824 }
13825 ]
13826 },
13827 "4": {
13828 "name": "keyword.operator.assignment.cpp"
13829 },
13830 "5": {
13831 "name": "keyword.other.typename.cpp"
13832 },
13833 "6": {
13834 "patterns": [
13835 {
13836 "include": "#storage_specifiers"
13837 }
13838 ]
13839 },
13840 "7": {
13841 "patterns": [
13842 {
13843 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13844 "captures": {
13845 "1": {
13846 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13847 },
13848 "2": {
13849 "name": "comment.block.cpp"
13850 },
13851 "3": {
13852 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13853 }
13854 }
13855 }
13856 ]
13857 },
13858 "8": {
13859 "name": "meta.qualified_type.cpp",
13860 "patterns": [
13861 {
13862 "match": "::",
13863 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
13864 },
13865 {
13866 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
13867 "name": "storage.type.$0.cpp"
13868 },
13869 {
13870 "include": "#attributes_context"
13871 },
13872 {
13873 "include": "#storage_types"
13874 },
13875 {
13876 "include": "#number_literal"
13877 },
13878 {
13879 "include": "#string_context"
13880 },
13881 {
13882 "include": "#comma"
13883 },
13884 {
13885 "include": "#scope_resolution_inner_generated"
13886 },
13887 {
13888 "begin": "<",
13889 "end": ">",
13890 "beginCaptures": {
13891 "0": {
13892 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
13893 }
13894 },
13895 "endCaptures": {
13896 "0": {
13897 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
13898 }
13899 },
13900 "name": "meta.template.call.cpp",
13901 "patterns": [
13902 {
13903 "include": "#template_call_context"
13904 }
13905 ]
13906 },
13907 {
13908 "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}))*",
13909 "name": "entity.name.type.cpp"
13910 }
13911 ]
13912 },
13913 "9": {
13914 "patterns": [
13915 {
13916 "include": "#attributes_context"
13917 },
13918 {
13919 "include": "#number_literal"
13920 }
13921 ]
13922 },
13923 "10": {
13924 "patterns": [
13925 {
13926 "include": "#inline_comment"
13927 }
13928 ]
13929 },
13930 "11": {
13931 "patterns": [
13932 {
13933 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13934 "captures": {
13935 "1": {
13936 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13937 },
13938 "2": {
13939 "name": "comment.block.cpp"
13940 },
13941 "3": {
13942 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13943 }
13944 }
13945 }
13946 ]
13947 },
13948 "12": {
13949 "patterns": [
13950 {
13951 "include": "#inline_comment"
13952 }
13953 ]
13954 },
13955 "13": {
13956 "patterns": [
13957 {
13958 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
13959 "captures": {
13960 "1": {
13961 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
13962 },
13963 "2": {
13964 "name": "comment.block.cpp"
13965 },
13966 "3": {
13967 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
13968 }
13969 }
13970 }
13971 ]
13972 },
13973 "14": {
13974 "patterns": [
13975 {
13976 "match": "::",
13977 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
13978 },
13979 {
13980 "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)",
13981 "name": "entity.name.scope-resolution.type.cpp"
13982 },
13983 {
13984 "include": "#template_call_range"
13985 }
13986 ]
13987 },
13988 "15": {
13989 "patterns": [
13990 {
13991 "include": "#template_call_range"
13992 }
13993 ]
13994 },
13995 "17": {
13996 "patterns": [
13997 {
13998 "include": "#inline_comment"
13999 }
14000 ]
14001 },
14002 "18": {
14003 "patterns": [
14004 {
14005 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\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 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14015 }
14016 }
14017 }
14018 ]
14019 },
14020 "20": {
14021 "name": "meta.declaration.type.alias.value.unknown.cpp",
14022 "patterns": [
14023 {
14024 "include": "#evaluation_context"
14025 }
14026 ]
14027 },
14028 "21": {
14029 "patterns": [
14030 {
14031 "match": "\\*",
14032 "name": "storage.modifier.pointer.cpp"
14033 },
14034 {
14035 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
14036 "captures": {
14037 "1": {
14038 "patterns": [
14039 {
14040 "include": "#inline_comment"
14041 }
14042 ]
14043 },
14044 "2": {
14045 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14046 },
14047 "3": {
14048 "name": "comment.block.cpp"
14049 },
14050 "4": {
14051 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14052 }
14053 },
14054 "name": "invalid.illegal.reference-type.cpp"
14055 },
14056 {
14057 "match": "\\&",
14058 "name": "storage.modifier.reference.cpp"
14059 }
14060 ]
14061 },
14062 "22": {
14063 "patterns": [
14064 {
14065 "include": "#inline_comment"
14066 }
14067 ]
14068 },
14069 "23": {
14070 "patterns": [
14071 {
14072 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14073 "captures": {
14074 "1": {
14075 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14076 },
14077 "2": {
14078 "name": "comment.block.cpp"
14079 },
14080 "3": {
14081 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14082 }
14083 }
14084 }
14085 ]
14086 },
14087 "24": {
14088 "patterns": [
14089 {
14090 "include": "#inline_comment"
14091 }
14092 ]
14093 },
14094 "25": {
14095 "patterns": [
14096 {
14097 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14098 "captures": {
14099 "1": {
14100 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14101 },
14102 "2": {
14103 "name": "comment.block.cpp"
14104 },
14105 "3": {
14106 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14107 }
14108 }
14109 }
14110 ]
14111 },
14112 "26": {
14113 "patterns": [
14114 {
14115 "include": "#inline_comment"
14116 }
14117 ]
14118 },
14119 "27": {
14120 "patterns": [
14121 {
14122 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14123 "captures": {
14124 "1": {
14125 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14126 },
14127 "2": {
14128 "name": "comment.block.cpp"
14129 },
14130 "3": {
14131 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14132 }
14133 }
14134 }
14135 ]
14136 },
14137 "28": {
14138 "name": "punctuation.definition.begin.bracket.square.cpp"
14139 },
14140 "29": {
14141 "patterns": [
14142 {
14143 "include": "#evaluation_context"
14144 }
14145 ]
14146 },
14147 "30": {
14148 "name": "punctuation.definition.end.bracket.square.cpp"
14149 },
14150 "31": {
14151 "name": "punctuation.terminator.statement.cpp"
14152 }
14153 },
14154 "name": "meta.declaration.type.alias.cpp"
14155 },
14156 "type_casting_operators": {
14157 "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:reinterpret_cast)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast))(?!\\w))",
14158 "captures": {
14159 "1": {
14160 "patterns": [
14161 {
14162 "include": "#inline_comment"
14163 }
14164 ]
14165 },
14166 "2": {
14167 "patterns": [
14168 {
14169 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
14170 "captures": {
14171 "1": {
14172 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14173 },
14174 "2": {
14175 "name": "comment.block.cpp"
14176 },
14177 "3": {
14178 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14179 }
14180 }
14181 }
14182 ]
14183 },
14184 "3": {
14185 "name": "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"
14186 }
14187 }
14188 },
14189 "typedef_class": {
14190 "begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)class(?!\\w))",
14191 "end": "(?<=;)",
14192 "beginCaptures": {
14193 "1": {
14194 "name": "keyword.other.typedef.cpp"
14195 }
14196 },
14197 "endCaptures": {},
14198 "patterns": [
14199 {
14200 "begin": "((?<!\\w)class(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
14201 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
14202 "beginCaptures": {
14203 "0": {
14204 "name": "meta.head.class.cpp"
14205 },
14206 "1": {
14207 "name": "storage.type.$1.cpp"
14208 },
14209 "2": {
14210 "patterns": [
14211 {
14212 "include": "#inline_comment"
14213 }
14214 ]
14215 },
14216 "3": {
14217 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14218 },
14219 "4": {
14220 "name": "comment.block.cpp"
14221 },
14222 "5": {
14223 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14224 },
14225 "6": {
14226 "patterns": [
14227 {
14228 "include": "#attributes_context"
14229 },
14230 {
14231 "include": "#number_literal"
14232 }
14233 ]
14234 },
14235 "7": {
14236 "patterns": [
14237 {
14238 "include": "#inline_comment"
14239 }
14240 ]
14241 },
14242 "8": {
14243 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14244 },
14245 "9": {
14246 "name": "comment.block.cpp"
14247 },
14248 "10": {
14249 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14250 },
14251 "11": {
14252 "patterns": [
14253 {
14254 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))",
14255 "captures": {
14256 "1": {
14257 "name": "storage.type.modifier.final.cpp"
14258 },
14259 "2": {
14260 "patterns": [
14261 {
14262 "include": "#inline_comment"
14263 }
14264 ]
14265 },
14266 "3": {
14267 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14268 },
14269 "4": {
14270 "name": "comment.block.cpp"
14271 },
14272 "5": {
14273 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14274 }
14275 }
14276 },
14277 {
14278 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
14279 "captures": {
14280 "1": {
14281 "name": "entity.name.type.class.cpp"
14282 },
14283 "2": {
14284 "patterns": [
14285 {
14286 "include": "#inline_comment"
14287 }
14288 ]
14289 },
14290 "3": {
14291 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14292 },
14293 "4": {
14294 "name": "comment.block.cpp"
14295 },
14296 "5": {
14297 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14298 },
14299 "6": {
14300 "name": "storage.type.modifier.final.cpp"
14301 },
14302 "7": {
14303 "patterns": [
14304 {
14305 "include": "#inline_comment"
14306 }
14307 ]
14308 },
14309 "8": {
14310 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14311 },
14312 "9": {
14313 "name": "comment.block.cpp"
14314 },
14315 "10": {
14316 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14317 }
14318 }
14319 },
14320 {
14321 "match": "DLLEXPORT",
14322 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
14323 },
14324 {
14325 "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}))*",
14326 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
14327 }
14328 ]
14329 },
14330 "12": {
14331 "patterns": [
14332 {
14333 "include": "#inline_comment"
14334 }
14335 ]
14336 },
14337 "13": {
14338 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14339 },
14340 "14": {
14341 "name": "comment.block.cpp"
14342 },
14343 "15": {
14344 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14345 },
14346 "16": {
14347 "patterns": [
14348 {
14349 "include": "#inline_comment"
14350 }
14351 ]
14352 },
14353 "17": {
14354 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14355 },
14356 "18": {
14357 "name": "comment.block.cpp"
14358 },
14359 "19": {
14360 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14361 },
14362 "20": {
14363 "name": "punctuation.separator.colon.inheritance.cpp"
14364 }
14365 },
14366 "endCaptures": {
14367 "1": {
14368 "name": "punctuation.terminator.statement.cpp"
14369 },
14370 "2": {
14371 "name": "punctuation.terminator.statement.cpp"
14372 }
14373 },
14374 "name": "meta.block.class.cpp",
14375 "patterns": [
14376 {
14377 "begin": "\\G ?",
14378 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
14379 "beginCaptures": {},
14380 "endCaptures": {
14381 "0": {
14382 "name": "punctuation.section.block.begin.bracket.curly.class.cpp"
14383 }
14384 },
14385 "name": "meta.head.class.cpp",
14386 "patterns": [
14387 {
14388 "include": "#ever_present_context"
14389 },
14390 {
14391 "include": "#inheritance_context"
14392 },
14393 {
14394 "include": "#template_call_range"
14395 }
14396 ]
14397 },
14398 {
14399 "begin": "(?<=\\{|<%|\\?\\?<)",
14400 "end": "\\}|%>|\\?\\?>",
14401 "beginCaptures": {},
14402 "endCaptures": {
14403 "0": {
14404 "name": "punctuation.section.block.end.bracket.curly.class.cpp"
14405 }
14406 },
14407 "name": "meta.body.class.cpp",
14408 "patterns": [
14409 {
14410 "include": "#function_pointer"
14411 },
14412 {
14413 "include": "#static_assert"
14414 },
14415 {
14416 "include": "#constructor_inline"
14417 },
14418 {
14419 "include": "#destructor_inline"
14420 },
14421 {
14422 "include": "$self"
14423 }
14424 ]
14425 },
14426 {
14427 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
14428 "end": "[\\s]*(?=;)",
14429 "beginCaptures": {},
14430 "endCaptures": {},
14431 "name": "meta.tail.class.cpp",
14432 "patterns": [
14433 {
14434 "match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
14435 "captures": {
14436 "1": {
14437 "patterns": [
14438 {
14439 "match": "\\*",
14440 "name": "storage.modifier.pointer.cpp"
14441 },
14442 {
14443 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
14444 "captures": {
14445 "1": {
14446 "patterns": [
14447 {
14448 "include": "#inline_comment"
14449 }
14450 ]
14451 },
14452 "2": {
14453 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14454 },
14455 "3": {
14456 "name": "comment.block.cpp"
14457 },
14458 "4": {
14459 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14460 }
14461 },
14462 "name": "invalid.illegal.reference-type.cpp"
14463 },
14464 {
14465 "match": "\\&",
14466 "name": "storage.modifier.reference.cpp"
14467 }
14468 ]
14469 },
14470 "2": {
14471 "patterns": [
14472 {
14473 "include": "#inline_comment"
14474 }
14475 ]
14476 },
14477 "3": {
14478 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14479 },
14480 "4": {
14481 "name": "comment.block.cpp"
14482 },
14483 "5": {
14484 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14485 },
14486 "6": {
14487 "patterns": [
14488 {
14489 "include": "#inline_comment"
14490 }
14491 ]
14492 },
14493 "7": {
14494 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14495 },
14496 "8": {
14497 "name": "comment.block.cpp"
14498 },
14499 "9": {
14500 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14501 },
14502 "10": {
14503 "patterns": [
14504 {
14505 "include": "#inline_comment"
14506 }
14507 ]
14508 },
14509 "11": {
14510 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14511 },
14512 "12": {
14513 "name": "comment.block.cpp"
14514 },
14515 "13": {
14516 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14517 },
14518 "14": {
14519 "name": "entity.name.type.alias.cpp"
14520 }
14521 }
14522 },
14523 {
14524 "match": ","
14525 }
14526 ]
14527 }
14528 ]
14529 }
14530 ]
14531 },
14532 "typedef_function_pointer": {
14533 "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*\\))",
14534 "end": "(?<=;)",
14535 "beginCaptures": {
14536 "1": {
14537 "name": "keyword.other.typedef.cpp"
14538 }
14539 },
14540 "endCaptures": {},
14541 "patterns": [
14542 {
14543 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()",
14544 "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",
14545 "beginCaptures": {
14546 "1": {
14547 "name": "meta.qualified_type.cpp",
14548 "patterns": [
14549 {
14550 "match": "::",
14551 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
14552 },
14553 {
14554 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
14555 "name": "storage.type.$0.cpp"
14556 },
14557 {
14558 "include": "#attributes_context"
14559 },
14560 {
14561 "include": "#storage_types"
14562 },
14563 {
14564 "include": "#number_literal"
14565 },
14566 {
14567 "include": "#string_context"
14568 },
14569 {
14570 "include": "#comma"
14571 },
14572 {
14573 "include": "#scope_resolution_inner_generated"
14574 },
14575 {
14576 "begin": "<",
14577 "end": ">",
14578 "beginCaptures": {
14579 "0": {
14580 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
14581 }
14582 },
14583 "endCaptures": {
14584 "0": {
14585 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
14586 }
14587 },
14588 "name": "meta.template.call.cpp",
14589 "patterns": [
14590 {
14591 "include": "#template_call_context"
14592 }
14593 ]
14594 },
14595 {
14596 "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}))*",
14597 "name": "entity.name.type.cpp"
14598 }
14599 ]
14600 },
14601 "2": {
14602 "patterns": [
14603 {
14604 "include": "#attributes_context"
14605 },
14606 {
14607 "include": "#number_literal"
14608 }
14609 ]
14610 },
14611 "3": {
14612 "patterns": [
14613 {
14614 "include": "#inline_comment"
14615 }
14616 ]
14617 },
14618 "4": {
14619 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14620 },
14621 "5": {
14622 "name": "comment.block.cpp"
14623 },
14624 "6": {
14625 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14626 },
14627 "7": {
14628 "patterns": [
14629 {
14630 "include": "#inline_comment"
14631 }
14632 ]
14633 },
14634 "8": {
14635 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14636 },
14637 "9": {
14638 "name": "comment.block.cpp"
14639 },
14640 "10": {
14641 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14642 },
14643 "11": {
14644 "patterns": [
14645 {
14646 "match": "::",
14647 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
14648 },
14649 {
14650 "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)",
14651 "name": "entity.name.scope-resolution.type.cpp"
14652 },
14653 {
14654 "include": "#template_call_range"
14655 }
14656 ]
14657 },
14658 "12": {
14659 "patterns": [
14660 {
14661 "include": "#template_call_range"
14662 }
14663 ]
14664 },
14665 "13": {},
14666 "14": {
14667 "patterns": [
14668 {
14669 "include": "#inline_comment"
14670 }
14671 ]
14672 },
14673 "15": {
14674 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14675 },
14676 "16": {
14677 "name": "comment.block.cpp"
14678 },
14679 "17": {
14680 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14681 },
14682 "18": {},
14683 "19": {
14684 "patterns": [
14685 {
14686 "match": "\\*",
14687 "name": "storage.modifier.pointer.cpp"
14688 },
14689 {
14690 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
14691 "captures": {
14692 "1": {
14693 "patterns": [
14694 {
14695 "include": "#inline_comment"
14696 }
14697 ]
14698 },
14699 "2": {
14700 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14701 },
14702 "3": {
14703 "name": "comment.block.cpp"
14704 },
14705 "4": {
14706 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14707 }
14708 },
14709 "name": "invalid.illegal.reference-type.cpp"
14710 },
14711 {
14712 "match": "\\&",
14713 "name": "storage.modifier.reference.cpp"
14714 }
14715 ]
14716 },
14717 "20": {
14718 "patterns": [
14719 {
14720 "include": "#inline_comment"
14721 }
14722 ]
14723 },
14724 "21": {
14725 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14726 },
14727 "22": {
14728 "name": "comment.block.cpp"
14729 },
14730 "23": {
14731 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14732 },
14733 "24": {
14734 "patterns": [
14735 {
14736 "include": "#inline_comment"
14737 }
14738 ]
14739 },
14740 "25": {
14741 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14742 },
14743 "26": {
14744 "name": "comment.block.cpp"
14745 },
14746 "27": {
14747 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14748 },
14749 "28": {
14750 "patterns": [
14751 {
14752 "include": "#inline_comment"
14753 }
14754 ]
14755 },
14756 "29": {
14757 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14758 },
14759 "30": {
14760 "name": "comment.block.cpp"
14761 },
14762 "31": {
14763 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14764 },
14765 "32": {
14766 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
14767 },
14768 "33": {
14769 "name": "punctuation.definition.function.pointer.dereference.cpp"
14770 },
14771 "34": {
14772 "name": "entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"
14773 },
14774 "35": {
14775 "name": "punctuation.definition.begin.bracket.square.cpp"
14776 },
14777 "36": {
14778 "patterns": [
14779 {
14780 "include": "#evaluation_context"
14781 }
14782 ]
14783 },
14784 "37": {
14785 "name": "punctuation.definition.end.bracket.square.cpp"
14786 },
14787 "38": {
14788 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
14789 },
14790 "39": {
14791 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
14792 }
14793 },
14794 "endCaptures": {
14795 "1": {
14796 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
14797 },
14798 "2": {
14799 "patterns": [
14800 {
14801 "include": "#inline_comment"
14802 }
14803 ]
14804 },
14805 "3": {
14806 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14807 },
14808 "4": {
14809 "name": "comment.block.cpp"
14810 },
14811 "5": {
14812 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14813 }
14814 },
14815 "patterns": [
14816 {
14817 "include": "#function_parameter_context"
14818 }
14819 ]
14820 }
14821 ]
14822 },
14823 "typedef_struct": {
14824 "begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)struct(?!\\w))",
14825 "end": "(?<=;)",
14826 "beginCaptures": {
14827 "1": {
14828 "name": "keyword.other.typedef.cpp"
14829 }
14830 },
14831 "endCaptures": {},
14832 "patterns": [
14833 {
14834 "begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
14835 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
14836 "beginCaptures": {
14837 "0": {
14838 "name": "meta.head.struct.cpp"
14839 },
14840 "1": {
14841 "name": "storage.type.$1.cpp"
14842 },
14843 "2": {
14844 "patterns": [
14845 {
14846 "include": "#inline_comment"
14847 }
14848 ]
14849 },
14850 "3": {
14851 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14852 },
14853 "4": {
14854 "name": "comment.block.cpp"
14855 },
14856 "5": {
14857 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14858 },
14859 "6": {
14860 "patterns": [
14861 {
14862 "include": "#attributes_context"
14863 },
14864 {
14865 "include": "#number_literal"
14866 }
14867 ]
14868 },
14869 "7": {
14870 "patterns": [
14871 {
14872 "include": "#inline_comment"
14873 }
14874 ]
14875 },
14876 "8": {
14877 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14878 },
14879 "9": {
14880 "name": "comment.block.cpp"
14881 },
14882 "10": {
14883 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14884 },
14885 "11": {
14886 "patterns": [
14887 {
14888 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))",
14889 "captures": {
14890 "1": {
14891 "name": "storage.type.modifier.final.cpp"
14892 },
14893 "2": {
14894 "patterns": [
14895 {
14896 "include": "#inline_comment"
14897 }
14898 ]
14899 },
14900 "3": {
14901 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14902 },
14903 "4": {
14904 "name": "comment.block.cpp"
14905 },
14906 "5": {
14907 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14908 }
14909 }
14910 },
14911 {
14912 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
14913 "captures": {
14914 "1": {
14915 "name": "entity.name.type.struct.cpp"
14916 },
14917 "2": {
14918 "patterns": [
14919 {
14920 "include": "#inline_comment"
14921 }
14922 ]
14923 },
14924 "3": {
14925 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14926 },
14927 "4": {
14928 "name": "comment.block.cpp"
14929 },
14930 "5": {
14931 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14932 },
14933 "6": {
14934 "name": "storage.type.modifier.final.cpp"
14935 },
14936 "7": {
14937 "patterns": [
14938 {
14939 "include": "#inline_comment"
14940 }
14941 ]
14942 },
14943 "8": {
14944 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14945 },
14946 "9": {
14947 "name": "comment.block.cpp"
14948 },
14949 "10": {
14950 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14951 }
14952 }
14953 },
14954 {
14955 "match": "DLLEXPORT",
14956 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
14957 },
14958 {
14959 "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}))*",
14960 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
14961 }
14962 ]
14963 },
14964 "12": {
14965 "patterns": [
14966 {
14967 "include": "#inline_comment"
14968 }
14969 ]
14970 },
14971 "13": {
14972 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14973 },
14974 "14": {
14975 "name": "comment.block.cpp"
14976 },
14977 "15": {
14978 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14979 },
14980 "16": {
14981 "patterns": [
14982 {
14983 "include": "#inline_comment"
14984 }
14985 ]
14986 },
14987 "17": {
14988 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
14989 },
14990 "18": {
14991 "name": "comment.block.cpp"
14992 },
14993 "19": {
14994 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
14995 },
14996 "20": {
14997 "name": "punctuation.separator.colon.inheritance.cpp"
14998 }
14999 },
15000 "endCaptures": {
15001 "1": {
15002 "name": "punctuation.terminator.statement.cpp"
15003 },
15004 "2": {
15005 "name": "punctuation.terminator.statement.cpp"
15006 }
15007 },
15008 "name": "meta.block.struct.cpp",
15009 "patterns": [
15010 {
15011 "begin": "\\G ?",
15012 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
15013 "beginCaptures": {},
15014 "endCaptures": {
15015 "0": {
15016 "name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
15017 }
15018 },
15019 "name": "meta.head.struct.cpp",
15020 "patterns": [
15021 {
15022 "include": "#ever_present_context"
15023 },
15024 {
15025 "include": "#inheritance_context"
15026 },
15027 {
15028 "include": "#template_call_range"
15029 }
15030 ]
15031 },
15032 {
15033 "begin": "(?<=\\{|<%|\\?\\?<)",
15034 "end": "\\}|%>|\\?\\?>",
15035 "beginCaptures": {},
15036 "endCaptures": {
15037 "0": {
15038 "name": "punctuation.section.block.end.bracket.curly.struct.cpp"
15039 }
15040 },
15041 "name": "meta.body.struct.cpp",
15042 "patterns": [
15043 {
15044 "include": "#function_pointer"
15045 },
15046 {
15047 "include": "#static_assert"
15048 },
15049 {
15050 "include": "#constructor_inline"
15051 },
15052 {
15053 "include": "#destructor_inline"
15054 },
15055 {
15056 "include": "$self"
15057 }
15058 ]
15059 },
15060 {
15061 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
15062 "end": "[\\s]*(?=;)",
15063 "beginCaptures": {},
15064 "endCaptures": {},
15065 "name": "meta.tail.struct.cpp",
15066 "patterns": [
15067 {
15068 "match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
15069 "captures": {
15070 "1": {
15071 "patterns": [
15072 {
15073 "match": "\\*",
15074 "name": "storage.modifier.pointer.cpp"
15075 },
15076 {
15077 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
15078 "captures": {
15079 "1": {
15080 "patterns": [
15081 {
15082 "include": "#inline_comment"
15083 }
15084 ]
15085 },
15086 "2": {
15087 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15088 },
15089 "3": {
15090 "name": "comment.block.cpp"
15091 },
15092 "4": {
15093 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15094 }
15095 },
15096 "name": "invalid.illegal.reference-type.cpp"
15097 },
15098 {
15099 "match": "\\&",
15100 "name": "storage.modifier.reference.cpp"
15101 }
15102 ]
15103 },
15104 "2": {
15105 "patterns": [
15106 {
15107 "include": "#inline_comment"
15108 }
15109 ]
15110 },
15111 "3": {
15112 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15113 },
15114 "4": {
15115 "name": "comment.block.cpp"
15116 },
15117 "5": {
15118 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15119 },
15120 "6": {
15121 "patterns": [
15122 {
15123 "include": "#inline_comment"
15124 }
15125 ]
15126 },
15127 "7": {
15128 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15129 },
15130 "8": {
15131 "name": "comment.block.cpp"
15132 },
15133 "9": {
15134 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15135 },
15136 "10": {
15137 "patterns": [
15138 {
15139 "include": "#inline_comment"
15140 }
15141 ]
15142 },
15143 "11": {
15144 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15145 },
15146 "12": {
15147 "name": "comment.block.cpp"
15148 },
15149 "13": {
15150 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15151 },
15152 "14": {
15153 "name": "entity.name.type.alias.cpp"
15154 }
15155 }
15156 },
15157 {
15158 "match": ","
15159 }
15160 ]
15161 }
15162 ]
15163 }
15164 ]
15165 },
15166 "typedef_union": {
15167 "begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)union(?!\\w))",
15168 "end": "(?<=;)",
15169 "beginCaptures": {
15170 "1": {
15171 "name": "keyword.other.typedef.cpp"
15172 }
15173 },
15174 "endCaptures": {},
15175 "patterns": [
15176 {
15177 "begin": "((?<!\\w)union(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
15178 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
15179 "beginCaptures": {
15180 "0": {
15181 "name": "meta.head.union.cpp"
15182 },
15183 "1": {
15184 "name": "storage.type.$1.cpp"
15185 },
15186 "2": {
15187 "patterns": [
15188 {
15189 "include": "#inline_comment"
15190 }
15191 ]
15192 },
15193 "3": {
15194 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15195 },
15196 "4": {
15197 "name": "comment.block.cpp"
15198 },
15199 "5": {
15200 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15201 },
15202 "6": {
15203 "patterns": [
15204 {
15205 "include": "#attributes_context"
15206 },
15207 {
15208 "include": "#number_literal"
15209 }
15210 ]
15211 },
15212 "7": {
15213 "patterns": [
15214 {
15215 "include": "#inline_comment"
15216 }
15217 ]
15218 },
15219 "8": {
15220 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15221 },
15222 "9": {
15223 "name": "comment.block.cpp"
15224 },
15225 "10": {
15226 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15227 },
15228 "11": {
15229 "patterns": [
15230 {
15231 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))",
15232 "captures": {
15233 "1": {
15234 "name": "storage.type.modifier.final.cpp"
15235 },
15236 "2": {
15237 "patterns": [
15238 {
15239 "include": "#inline_comment"
15240 }
15241 ]
15242 },
15243 "3": {
15244 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15245 },
15246 "4": {
15247 "name": "comment.block.cpp"
15248 },
15249 "5": {
15250 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15251 }
15252 }
15253 },
15254 {
15255 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
15256 "captures": {
15257 "1": {
15258 "name": "entity.name.type.union.cpp"
15259 },
15260 "2": {
15261 "patterns": [
15262 {
15263 "include": "#inline_comment"
15264 }
15265 ]
15266 },
15267 "3": {
15268 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15269 },
15270 "4": {
15271 "name": "comment.block.cpp"
15272 },
15273 "5": {
15274 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15275 },
15276 "6": {
15277 "name": "storage.type.modifier.final.cpp"
15278 },
15279 "7": {
15280 "patterns": [
15281 {
15282 "include": "#inline_comment"
15283 }
15284 ]
15285 },
15286 "8": {
15287 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15288 },
15289 "9": {
15290 "name": "comment.block.cpp"
15291 },
15292 "10": {
15293 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15294 }
15295 }
15296 },
15297 {
15298 "match": "DLLEXPORT",
15299 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
15300 },
15301 {
15302 "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}))*",
15303 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
15304 }
15305 ]
15306 },
15307 "12": {
15308 "patterns": [
15309 {
15310 "include": "#inline_comment"
15311 }
15312 ]
15313 },
15314 "13": {
15315 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15316 },
15317 "14": {
15318 "name": "comment.block.cpp"
15319 },
15320 "15": {
15321 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15322 },
15323 "16": {
15324 "patterns": [
15325 {
15326 "include": "#inline_comment"
15327 }
15328 ]
15329 },
15330 "17": {
15331 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15332 },
15333 "18": {
15334 "name": "comment.block.cpp"
15335 },
15336 "19": {
15337 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15338 },
15339 "20": {
15340 "name": "punctuation.separator.colon.inheritance.cpp"
15341 }
15342 },
15343 "endCaptures": {
15344 "1": {
15345 "name": "punctuation.terminator.statement.cpp"
15346 },
15347 "2": {
15348 "name": "punctuation.terminator.statement.cpp"
15349 }
15350 },
15351 "name": "meta.block.union.cpp",
15352 "patterns": [
15353 {
15354 "begin": "\\G ?",
15355 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
15356 "beginCaptures": {},
15357 "endCaptures": {
15358 "0": {
15359 "name": "punctuation.section.block.begin.bracket.curly.union.cpp"
15360 }
15361 },
15362 "name": "meta.head.union.cpp",
15363 "patterns": [
15364 {
15365 "include": "#ever_present_context"
15366 },
15367 {
15368 "include": "#inheritance_context"
15369 },
15370 {
15371 "include": "#template_call_range"
15372 }
15373 ]
15374 },
15375 {
15376 "begin": "(?<=\\{|<%|\\?\\?<)",
15377 "end": "\\}|%>|\\?\\?>",
15378 "beginCaptures": {},
15379 "endCaptures": {
15380 "0": {
15381 "name": "punctuation.section.block.end.bracket.curly.union.cpp"
15382 }
15383 },
15384 "name": "meta.body.union.cpp",
15385 "patterns": [
15386 {
15387 "include": "#function_pointer"
15388 },
15389 {
15390 "include": "#static_assert"
15391 },
15392 {
15393 "include": "#constructor_inline"
15394 },
15395 {
15396 "include": "#destructor_inline"
15397 },
15398 {
15399 "include": "$self"
15400 }
15401 ]
15402 },
15403 {
15404 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
15405 "end": "[\\s]*(?=;)",
15406 "beginCaptures": {},
15407 "endCaptures": {},
15408 "name": "meta.tail.union.cpp",
15409 "patterns": [
15410 {
15411 "match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
15412 "captures": {
15413 "1": {
15414 "patterns": [
15415 {
15416 "match": "\\*",
15417 "name": "storage.modifier.pointer.cpp"
15418 },
15419 {
15420 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
15421 "captures": {
15422 "1": {
15423 "patterns": [
15424 {
15425 "include": "#inline_comment"
15426 }
15427 ]
15428 },
15429 "2": {
15430 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15431 },
15432 "3": {
15433 "name": "comment.block.cpp"
15434 },
15435 "4": {
15436 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15437 }
15438 },
15439 "name": "invalid.illegal.reference-type.cpp"
15440 },
15441 {
15442 "match": "\\&",
15443 "name": "storage.modifier.reference.cpp"
15444 }
15445 ]
15446 },
15447 "2": {
15448 "patterns": [
15449 {
15450 "include": "#inline_comment"
15451 }
15452 ]
15453 },
15454 "3": {
15455 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15456 },
15457 "4": {
15458 "name": "comment.block.cpp"
15459 },
15460 "5": {
15461 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15462 },
15463 "6": {
15464 "patterns": [
15465 {
15466 "include": "#inline_comment"
15467 }
15468 ]
15469 },
15470 "7": {
15471 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15472 },
15473 "8": {
15474 "name": "comment.block.cpp"
15475 },
15476 "9": {
15477 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15478 },
15479 "10": {
15480 "patterns": [
15481 {
15482 "include": "#inline_comment"
15483 }
15484 ]
15485 },
15486 "11": {
15487 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15488 },
15489 "12": {
15490 "name": "comment.block.cpp"
15491 },
15492 "13": {
15493 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15494 },
15495 "14": {
15496 "name": "entity.name.type.alias.cpp"
15497 }
15498 }
15499 },
15500 {
15501 "match": ","
15502 }
15503 ]
15504 }
15505 ]
15506 }
15507 ]
15508 },
15509 "typeid_operator": {
15510 "begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()",
15511 "end": "\\)",
15512 "beginCaptures": {
15513 "1": {
15514 "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
15515 },
15516 "2": {
15517 "patterns": [
15518 {
15519 "include": "#inline_comment"
15520 }
15521 ]
15522 },
15523 "3": {
15524 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15525 },
15526 "4": {
15527 "name": "comment.block.cpp"
15528 },
15529 "5": {
15530 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15531 },
15532 "6": {
15533 "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
15534 }
15535 },
15536 "endCaptures": {
15537 "0": {
15538 "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
15539 }
15540 },
15541 "contentName": "meta.arguments.operator.typeid",
15542 "patterns": [
15543 {
15544 "include": "#evaluation_context"
15545 }
15546 ]
15547 },
15548 "typename": {
15549 "match": "(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?<!\\w)typename(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)?(?![\\w<:.]))",
15550 "captures": {
15551 "1": {
15552 "name": "storage.modifier.cpp"
15553 },
15554 "2": {
15555 "patterns": [
15556 {
15557 "include": "#inline_comment"
15558 }
15559 ]
15560 },
15561 "3": {
15562 "patterns": [
15563 {
15564 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15565 "captures": {
15566 "1": {
15567 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15568 },
15569 "2": {
15570 "name": "comment.block.cpp"
15571 },
15572 "3": {
15573 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15574 }
15575 }
15576 }
15577 ]
15578 },
15579 "4": {
15580 "patterns": [
15581 {
15582 "include": "#inline_comment"
15583 }
15584 ]
15585 },
15586 "5": {
15587 "patterns": [
15588 {
15589 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15590 "captures": {
15591 "1": {
15592 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15593 },
15594 "2": {
15595 "name": "comment.block.cpp"
15596 },
15597 "3": {
15598 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15599 }
15600 }
15601 }
15602 ]
15603 },
15604 "6": {
15605 "name": "meta.qualified_type.cpp",
15606 "patterns": [
15607 {
15608 "match": "::",
15609 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
15610 },
15611 {
15612 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
15613 "name": "storage.type.$0.cpp"
15614 },
15615 {
15616 "include": "#attributes_context"
15617 },
15618 {
15619 "include": "#storage_types"
15620 },
15621 {
15622 "include": "#number_literal"
15623 },
15624 {
15625 "include": "#string_context"
15626 },
15627 {
15628 "include": "#comma"
15629 },
15630 {
15631 "include": "#scope_resolution_inner_generated"
15632 },
15633 {
15634 "begin": "<",
15635 "end": ">",
15636 "beginCaptures": {
15637 "0": {
15638 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
15639 }
15640 },
15641 "endCaptures": {
15642 "0": {
15643 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
15644 }
15645 },
15646 "name": "meta.template.call.cpp",
15647 "patterns": [
15648 {
15649 "include": "#template_call_context"
15650 }
15651 ]
15652 },
15653 {
15654 "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}))*",
15655 "name": "entity.name.type.cpp"
15656 }
15657 ]
15658 },
15659 "7": {
15660 "patterns": [
15661 {
15662 "include": "#attributes_context"
15663 },
15664 {
15665 "include": "#number_literal"
15666 }
15667 ]
15668 },
15669 "8": {
15670 "patterns": [
15671 {
15672 "include": "#inline_comment"
15673 }
15674 ]
15675 },
15676 "9": {
15677 "patterns": [
15678 {
15679 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15680 "captures": {
15681 "1": {
15682 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15683 },
15684 "2": {
15685 "name": "comment.block.cpp"
15686 },
15687 "3": {
15688 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15689 }
15690 }
15691 }
15692 ]
15693 },
15694 "10": {
15695 "patterns": [
15696 {
15697 "include": "#inline_comment"
15698 }
15699 ]
15700 },
15701 "11": {
15702 "patterns": [
15703 {
15704 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15705 "captures": {
15706 "1": {
15707 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15708 },
15709 "2": {
15710 "name": "comment.block.cpp"
15711 },
15712 "3": {
15713 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15714 }
15715 }
15716 }
15717 ]
15718 },
15719 "12": {
15720 "patterns": [
15721 {
15722 "match": "::",
15723 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
15724 },
15725 {
15726 "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)",
15727 "name": "entity.name.scope-resolution.type.cpp"
15728 },
15729 {
15730 "include": "#template_call_range"
15731 }
15732 ]
15733 },
15734 "13": {
15735 "patterns": [
15736 {
15737 "include": "#template_call_range"
15738 }
15739 ]
15740 },
15741 "14": {},
15742 "15": {
15743 "patterns": [
15744 {
15745 "include": "#inline_comment"
15746 }
15747 ]
15748 },
15749 "16": {
15750 "patterns": [
15751 {
15752 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15753 "captures": {
15754 "1": {
15755 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15756 },
15757 "2": {
15758 "name": "comment.block.cpp"
15759 },
15760 "3": {
15761 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15762 }
15763 }
15764 }
15765 ]
15766 },
15767 "17": {}
15768 }
15769 },
15770 "undef": {
15771 "match": "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
15772 "captures": {
15773 "1": {
15774 "name": "keyword.control.directive.undef.cpp"
15775 },
15776 "2": {
15777 "patterns": [
15778 {
15779 "include": "#inline_comment"
15780 }
15781 ]
15782 },
15783 "3": {
15784 "patterns": [
15785 {
15786 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15787 "captures": {
15788 "1": {
15789 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15790 },
15791 "2": {
15792 "name": "comment.block.cpp"
15793 },
15794 "3": {
15795 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15796 }
15797 }
15798 }
15799 ]
15800 },
15801 "4": {
15802 "name": "punctuation.definition.directive.cpp"
15803 },
15804 "5": {
15805 "patterns": [
15806 {
15807 "include": "#inline_comment"
15808 }
15809 ]
15810 },
15811 "6": {
15812 "patterns": [
15813 {
15814 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
15815 "captures": {
15816 "1": {
15817 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15818 },
15819 "2": {
15820 "name": "comment.block.cpp"
15821 },
15822 "3": {
15823 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15824 }
15825 }
15826 }
15827 ]
15828 },
15829 "7": {
15830 "name": "entity.name.function.preprocessor.cpp"
15831 }
15832 },
15833 "name": "meta.preprocessor.undef.cpp"
15834 },
15835 "union_block": {
15836 "begin": "((?<!\\w)union(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
15837 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
15838 "beginCaptures": {
15839 "0": {
15840 "name": "meta.head.union.cpp"
15841 },
15842 "1": {
15843 "name": "storage.type.$1.cpp"
15844 },
15845 "2": {
15846 "patterns": [
15847 {
15848 "include": "#inline_comment"
15849 }
15850 ]
15851 },
15852 "3": {
15853 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15854 },
15855 "4": {
15856 "name": "comment.block.cpp"
15857 },
15858 "5": {
15859 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15860 },
15861 "6": {
15862 "patterns": [
15863 {
15864 "include": "#attributes_context"
15865 },
15866 {
15867 "include": "#number_literal"
15868 }
15869 ]
15870 },
15871 "7": {
15872 "patterns": [
15873 {
15874 "include": "#inline_comment"
15875 }
15876 ]
15877 },
15878 "8": {
15879 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15880 },
15881 "9": {
15882 "name": "comment.block.cpp"
15883 },
15884 "10": {
15885 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15886 },
15887 "11": {
15888 "patterns": [
15889 {
15890 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))",
15891 "captures": {
15892 "1": {
15893 "name": "storage.type.modifier.final.cpp"
15894 },
15895 "2": {
15896 "patterns": [
15897 {
15898 "include": "#inline_comment"
15899 }
15900 ]
15901 },
15902 "3": {
15903 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15904 },
15905 "4": {
15906 "name": "comment.block.cpp"
15907 },
15908 "5": {
15909 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15910 }
15911 }
15912 },
15913 {
15914 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
15915 "captures": {
15916 "1": {
15917 "name": "entity.name.type.union.cpp"
15918 },
15919 "2": {
15920 "patterns": [
15921 {
15922 "include": "#inline_comment"
15923 }
15924 ]
15925 },
15926 "3": {
15927 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15928 },
15929 "4": {
15930 "name": "comment.block.cpp"
15931 },
15932 "5": {
15933 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15934 },
15935 "6": {
15936 "name": "storage.type.modifier.final.cpp"
15937 },
15938 "7": {
15939 "patterns": [
15940 {
15941 "include": "#inline_comment"
15942 }
15943 ]
15944 },
15945 "8": {
15946 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15947 },
15948 "9": {
15949 "name": "comment.block.cpp"
15950 },
15951 "10": {
15952 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15953 }
15954 }
15955 },
15956 {
15957 "match": "DLLEXPORT",
15958 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
15959 },
15960 {
15961 "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}))*",
15962 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
15963 }
15964 ]
15965 },
15966 "12": {
15967 "patterns": [
15968 {
15969 "include": "#inline_comment"
15970 }
15971 ]
15972 },
15973 "13": {
15974 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15975 },
15976 "14": {
15977 "name": "comment.block.cpp"
15978 },
15979 "15": {
15980 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15981 },
15982 "16": {
15983 "patterns": [
15984 {
15985 "include": "#inline_comment"
15986 }
15987 ]
15988 },
15989 "17": {
15990 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
15991 },
15992 "18": {
15993 "name": "comment.block.cpp"
15994 },
15995 "19": {
15996 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
15997 },
15998 "20": {
15999 "name": "punctuation.separator.colon.inheritance.cpp"
16000 }
16001 },
16002 "endCaptures": {
16003 "1": {
16004 "name": "punctuation.terminator.statement.cpp"
16005 },
16006 "2": {
16007 "name": "punctuation.terminator.statement.cpp"
16008 }
16009 },
16010 "name": "meta.block.union.cpp",
16011 "patterns": [
16012 {
16013 "begin": "\\G ?",
16014 "end": "(?:\\{|<%|\\?\\?<|(?=;))",
16015 "beginCaptures": {},
16016 "endCaptures": {
16017 "0": {
16018 "name": "punctuation.section.block.begin.bracket.curly.union.cpp"
16019 }
16020 },
16021 "name": "meta.head.union.cpp",
16022 "patterns": [
16023 {
16024 "include": "#ever_present_context"
16025 },
16026 {
16027 "include": "#inheritance_context"
16028 },
16029 {
16030 "include": "#template_call_range"
16031 }
16032 ]
16033 },
16034 {
16035 "begin": "(?<=\\{|<%|\\?\\?<)",
16036 "end": "\\}|%>|\\?\\?>",
16037 "beginCaptures": {},
16038 "endCaptures": {
16039 "0": {
16040 "name": "punctuation.section.block.end.bracket.curly.union.cpp"
16041 }
16042 },
16043 "name": "meta.body.union.cpp",
16044 "patterns": [
16045 {
16046 "include": "#function_pointer"
16047 },
16048 {
16049 "include": "#static_assert"
16050 },
16051 {
16052 "include": "#constructor_inline"
16053 },
16054 {
16055 "include": "#destructor_inline"
16056 },
16057 {
16058 "include": "$self"
16059 }
16060 ]
16061 },
16062 {
16063 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
16064 "end": "[\\s]*(?=;)",
16065 "beginCaptures": {},
16066 "endCaptures": {},
16067 "name": "meta.tail.union.cpp",
16068 "patterns": [
16069 {
16070 "include": "$self"
16071 }
16072 ]
16073 }
16074 ]
16075 },
16076 "union_declare": {
16077 "match": "((?<!\\w)union(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
16078 "captures": {
16079 "1": {
16080 "name": "storage.type.union.declare.cpp"
16081 },
16082 "2": {
16083 "patterns": [
16084 {
16085 "include": "#inline_comment"
16086 }
16087 ]
16088 },
16089 "3": {
16090 "patterns": [
16091 {
16092 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16093 "captures": {
16094 "1": {
16095 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16096 },
16097 "2": {
16098 "name": "comment.block.cpp"
16099 },
16100 "3": {
16101 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16102 }
16103 }
16104 }
16105 ]
16106 },
16107 "4": {
16108 "name": "entity.name.type.union.cpp"
16109 },
16110 "5": {
16111 "patterns": [
16112 {
16113 "match": "\\*",
16114 "name": "storage.modifier.pointer.cpp"
16115 },
16116 {
16117 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&",
16118 "captures": {
16119 "1": {
16120 "patterns": [
16121 {
16122 "include": "#inline_comment"
16123 }
16124 ]
16125 },
16126 "2": {
16127 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16128 },
16129 "3": {
16130 "name": "comment.block.cpp"
16131 },
16132 "4": {
16133 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16134 }
16135 },
16136 "name": "invalid.illegal.reference-type.cpp"
16137 },
16138 {
16139 "match": "\\&",
16140 "name": "storage.modifier.reference.cpp"
16141 }
16142 ]
16143 },
16144 "6": {
16145 "patterns": [
16146 {
16147 "include": "#inline_comment"
16148 }
16149 ]
16150 },
16151 "7": {
16152 "patterns": [
16153 {
16154 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16155 "captures": {
16156 "1": {
16157 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16158 },
16159 "2": {
16160 "name": "comment.block.cpp"
16161 },
16162 "3": {
16163 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16164 }
16165 }
16166 }
16167 ]
16168 },
16169 "8": {
16170 "patterns": [
16171 {
16172 "include": "#inline_comment"
16173 }
16174 ]
16175 },
16176 "9": {
16177 "patterns": [
16178 {
16179 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16180 "captures": {
16181 "1": {
16182 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16183 },
16184 "2": {
16185 "name": "comment.block.cpp"
16186 },
16187 "3": {
16188 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16189 }
16190 }
16191 }
16192 ]
16193 },
16194 "10": {
16195 "patterns": [
16196 {
16197 "include": "#inline_comment"
16198 }
16199 ]
16200 },
16201 "11": {
16202 "patterns": [
16203 {
16204 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16205 "captures": {
16206 "1": {
16207 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16208 },
16209 "2": {
16210 "name": "comment.block.cpp"
16211 },
16212 "3": {
16213 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16214 }
16215 }
16216 }
16217 ]
16218 },
16219 "12": {
16220 "name": "variable.other.object.declare.cpp"
16221 },
16222 "13": {
16223 "patterns": [
16224 {
16225 "include": "#inline_comment"
16226 }
16227 ]
16228 },
16229 "14": {
16230 "patterns": [
16231 {
16232 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
16233 "captures": {
16234 "1": {
16235 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
16236 },
16237 "2": {
16238 "name": "comment.block.cpp"
16239 },
16240 "3": {
16241 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
16242 }
16243 }
16244 }
16245 ]
16246 }
16247 }
16248 },
16249 "using_name": {
16250 "match": "(using)(?:\\s)+(?!namespace\\b)",
16251 "captures": {
16252 "1": {
16253 "name": "keyword.other.using.directive.cpp"
16254 }
16255 }
16256 },
16257 "using_namespace": {
16258 "begin": "(?<!\\w)(using)(?:\\s)+(namespace)(?:\\s)+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<6>?)+>)(?:\\s)*+)?::)*\\s*+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?=;|\\n)",
16259 "end": ";",
16260 "beginCaptures": {
16261 "1": {
16262 "name": "keyword.other.using.directive.cpp"
16263 },
16264 "2": {
16265 "name": "keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"
16266 },
16267 "3": {
16268 "patterns": [
16269 {
16270 "include": "#scope_resolution_namespace_using_inner_generated"
16271 }
16272 ]
16273 },
16274 "4": {
16275 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
16276 },
16277 "5": {
16278 "patterns": [
16279 {
16280 "include": "#template_call_range"
16281 }
16282 ]
16283 },
16284 "6": {},
16285 "7": {
16286 "name": "entity.name.namespace.cpp"
16287 }
16288 },
16289 "endCaptures": {
16290 "0": {
16291 "name": "punctuation.terminator.statement.cpp"
16292 }
16293 },
16294 "name": "meta.using-namespace.cpp"
16295 },
16296 "vararg_ellipses": {
16297 "match": "(?<!\\.)\\.\\.\\.(?!\\.)",
16298 "name": "punctuation.vararg-ellipses.cpp"
16299 },
16300 "wordlike_operators": {
16301 "patterns": [
16302 {
16303 "match": "(?<!\\w)(?:(?:noexcept)|(?:xor_eq)|(?:and_eq)|(?:delete)|(?:not_eq)|(?:bitand)|(?:bitor)|(?:compl)|(?:or_eq)|(?:not)|(?:xor)|(?:new)|(?:and)|(?:or))(?!\\w)",
16304 "name": "keyword.operator.wordlike.cpp keyword.operator.$0.cpp"
16305 }
16306 ]
16307 }
16308 }
16309 }
16310