PluginProbe
Code Block Pro – Beautiful Syntax Highlighting / 1.27.5
Code Block Pro – Beautiful Syntax Highlighting v1.27.5
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-macro.tmLanguage.json

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

9,367 lines 355.2 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.embedded.macro.tmLanguage.json",
4 "If you want to provide a fix or improvement, please create a pull request against the original repository.",
5 "Once accepted there, we are happy to receive an update request."
6 ],
7 "version": "https://github.com/jeff-hykin/better-cpp-syntax/commit/f1d127a8af2b184db570345f0bb179503c47fdf6",
8 "name": "cpp-macro",
9 "scopeName": "source.cpp.embedded.macro",
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": "source.cpp#type_alias"
31 },
32 {
33 "include": "source.cpp#using_name"
34 },
35 {
36 "include": "source.cpp#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": "source.cpp#misc_keywords"
55 },
56 {
57 "include": "source.cpp#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": "source.cpp#template_isolated_definition"
73 },
74 {
75 "include": "#template_definition"
76 },
77 {
78 "include": "source.cpp#template_explicit_instantiation"
79 },
80 {
81 "include": "source.cpp#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 "alignas_attribute": {
101 "begin": "alignas\\(",
102 "end": "\\)|(?=(?<!\\\\)\n)",
103 "beginCaptures": {
104 "0": {
105 "name": "punctuation.section.attribute.begin.cpp"
106 }
107 },
108 "endCaptures": {
109 "0": {
110 "name": "punctuation.section.attribute.end.cpp"
111 }
112 },
113 "name": "support.other.attribute.cpp",
114 "patterns": [
115 {
116 "include": "#attributes_context"
117 },
118 {
119 "begin": "\\(",
120 "end": "\\)|(?=(?<!\\\\)\n)",
121 "beginCaptures": {},
122 "endCaptures": {},
123 "patterns": [
124 {
125 "include": "#attributes_context"
126 },
127 {
128 "include": "#string_context"
129 },
130 {
131 "include": "#ever_present_context"
132 }
133 ]
134 },
135 {
136 "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))",
137 "captures": {
138 "1": {
139 "name": "keyword.other.using.directive.cpp"
140 },
141 "2": {
142 "name": "entity.name.namespace.cpp"
143 }
144 }
145 },
146 {
147 "match": ",",
148 "name": "punctuation.separator.attribute.cpp"
149 },
150 {
151 "match": ":",
152 "name": "punctuation.accessor.attribute.cpp"
153 },
154 {
155 "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)(?=::)",
156 "name": "entity.name.namespace.cpp"
157 },
158 {
159 "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)",
160 "name": "entity.other.attribute.$0.cpp"
161 },
162 {
163 "include": "source.cpp#number_literal"
164 },
165 {
166 "include": "#ever_present_context"
167 }
168 ]
169 },
170 "alignas_operator": {
171 "begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
172 "end": "\\)|(?=(?<!\\\\)\n)",
173 "beginCaptures": {
174 "1": {
175 "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
176 },
177 "2": {
178 "patterns": [
179 {
180 "include": "source.cpp#inline_comment"
181 }
182 ]
183 },
184 "3": {
185 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
186 },
187 "4": {
188 "name": "comment.block.cpp"
189 },
190 "5": {
191 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
192 },
193 "6": {
194 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
195 }
196 },
197 "endCaptures": {
198 "0": {
199 "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
200 }
201 },
202 "contentName": "meta.arguments.operator.alignas",
203 "patterns": [
204 {
205 "include": "#evaluation_context"
206 }
207 ]
208 },
209 "alignof_operator": {
210 "begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
211 "end": "\\)|(?=(?<!\\\\)\n)",
212 "beginCaptures": {
213 "1": {
214 "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
215 },
216 "2": {
217 "patterns": [
218 {
219 "include": "source.cpp#inline_comment"
220 }
221 ]
222 },
223 "3": {
224 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
225 },
226 "4": {
227 "name": "comment.block.cpp"
228 },
229 "5": {
230 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
231 },
232 "6": {
233 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
234 }
235 },
236 "endCaptures": {
237 "0": {
238 "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
239 }
240 },
241 "contentName": "meta.arguments.operator.alignof",
242 "patterns": [
243 {
244 "include": "#evaluation_context"
245 }
246 ]
247 },
248 "assembly": {
249 "begin": "(\\b(?:__asm__|asm)\\b)(?:\\s+)?((?:volatile)?)",
250 "end": "(?!\\G)|(?=(?<!\\\\)\n)",
251 "beginCaptures": {
252 "1": {
253 "name": "storage.type.asm.cpp"
254 },
255 "2": {
256 "name": "storage.modifier.cpp"
257 }
258 },
259 "endCaptures": {},
260 "name": "meta.asm.cpp",
261 "patterns": [
262 {
263 "match": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\n|$)",
264 "captures": {
265 "1": {
266 "patterns": [
267 {
268 "include": "source.cpp#inline_comment"
269 }
270 ]
271 },
272 "2": {
273 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
274 },
275 "3": {
276 "name": "comment.block.cpp"
277 },
278 "4": {
279 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
280 }
281 }
282 },
283 {
284 "include": "#comments"
285 },
286 {
287 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\(",
288 "end": "\\)|(?=(?<!\\\\)\n)",
289 "beginCaptures": {
290 "0": {
291 "name": "punctuation.section.parens.begin.bracket.round.assembly.cpp"
292 },
293 "1": {
294 "patterns": [
295 {
296 "include": "source.cpp#inline_comment"
297 }
298 ]
299 },
300 "2": {
301 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
302 },
303 "3": {
304 "name": "comment.block.cpp"
305 },
306 "4": {
307 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
308 }
309 },
310 "endCaptures": {
311 "0": {
312 "name": "punctuation.section.parens.end.bracket.round.assembly.cpp"
313 }
314 },
315 "patterns": [
316 {
317 "begin": "(R?)(\")",
318 "end": "\"|(?=(?<!\\\\)\n)",
319 "beginCaptures": {
320 "1": {
321 "name": "meta.encoding.cpp"
322 },
323 "2": {
324 "name": "punctuation.definition.string.begin.assembly.cpp"
325 }
326 },
327 "endCaptures": {
328 "0": {
329 "name": "punctuation.definition.string.end.assembly.cpp"
330 }
331 },
332 "name": "string.quoted.double.cpp",
333 "contentName": "meta.embedded.assembly",
334 "patterns": [
335 {
336 "include": "source.asm"
337 },
338 {
339 "include": "source.x86"
340 },
341 {
342 "include": "source.x86_64"
343 },
344 {
345 "include": "source.arm"
346 },
347 {
348 "include": "source.cpp#backslash_escapes"
349 },
350 {
351 "include": "#string_escaped_char"
352 }
353 ]
354 },
355 {
356 "begin": "\\(",
357 "end": "\\)|(?=(?<!\\\\)\n)",
358 "beginCaptures": {
359 "0": {
360 "name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"
361 }
362 },
363 "endCaptures": {
364 "0": {
365 "name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp"
366 }
367 },
368 "patterns": [
369 {
370 "include": "#evaluation_context"
371 }
372 ]
373 },
374 {
375 "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))\\]",
376 "captures": {
377 "1": {
378 "patterns": [
379 {
380 "include": "source.cpp#inline_comment"
381 }
382 ]
383 },
384 "2": {
385 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
386 },
387 "3": {
388 "name": "comment.block.cpp"
389 },
390 "4": {
391 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
392 },
393 "5": {
394 "name": "variable.other.asm.label.cpp"
395 },
396 "6": {
397 "patterns": [
398 {
399 "include": "source.cpp#inline_comment"
400 }
401 ]
402 },
403 "7": {
404 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
405 },
406 "8": {
407 "name": "comment.block.cpp"
408 },
409 "9": {
410 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
411 }
412 }
413 },
414 {
415 "match": ":",
416 "name": "punctuation.separator.delimiter.colon.assembly.cpp"
417 },
418 {
419 "include": "#comments"
420 }
421 ]
422 }
423 ]
424 },
425 "attributes_context": {
426 "patterns": [
427 {
428 "include": "#cpp_attributes"
429 },
430 {
431 "include": "#gcc_attributes"
432 },
433 {
434 "include": "#ms_attributes"
435 },
436 {
437 "include": "#alignas_attribute"
438 }
439 ]
440 },
441 "block": {
442 "begin": "{",
443 "end": "}|(?=(?<!\\\\)\n)",
444 "beginCaptures": {
445 "0": {
446 "name": "punctuation.section.block.begin.bracket.curly.cpp"
447 }
448 },
449 "endCaptures": {
450 "0": {
451 "name": "punctuation.section.block.end.bracket.curly.cpp"
452 }
453 },
454 "name": "meta.block.cpp",
455 "patterns": [
456 {
457 "include": "#function_body_context"
458 }
459 ]
460 },
461 "block_comment": {
462 "begin": "\\s*+(\\/\\*)",
463 "end": "\\*\\/|(?=(?<!\\\\)\n)",
464 "beginCaptures": {
465 "1": {
466 "name": "punctuation.definition.comment.begin.cpp"
467 }
468 },
469 "endCaptures": {
470 "0": {
471 "name": "punctuation.definition.comment.end.cpp"
472 }
473 },
474 "name": "comment.block.cpp"
475 },
476 "builtin_storage_type_initilizer": {
477 "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)(\\()",
478 "end": "\\)|(?=(?<!\\\\)\n)",
479 "beginCaptures": {
480 "1": {
481 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
482 },
483 "2": {
484 "name": "storage.type.cpp storage.type.built-in.cpp"
485 },
486 "3": {
487 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
488 },
489 "4": {
490 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
491 },
492 "5": {
493 "name": "punctuation.section.arguments.begin.bracket.round.initializer.cpp"
494 }
495 },
496 "endCaptures": {
497 "0": {
498 "name": "punctuation.section.arguments.end.bracket.round.initializer.cpp"
499 }
500 },
501 "patterns": [
502 {
503 "include": "#evaluation_context"
504 }
505 ]
506 },
507 "case_statement": {
508 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)case(?!\\w))",
509 "end": ":|(?=(?<!\\\\)\n)",
510 "beginCaptures": {
511 "1": {
512 "patterns": [
513 {
514 "include": "source.cpp#inline_comment"
515 }
516 ]
517 },
518 "2": {
519 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
520 },
521 "3": {
522 "name": "comment.block.cpp"
523 },
524 "4": {
525 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
526 },
527 "5": {
528 "name": "keyword.control.case.cpp"
529 }
530 },
531 "endCaptures": {
532 "0": {
533 "name": "punctuation.separator.colon.case.cpp"
534 }
535 },
536 "name": "meta.conditional.case.cpp",
537 "patterns": [
538 {
539 "include": "#evaluation_context"
540 }
541 ]
542 },
543 "class_block": {
544 "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))(:(?!:)))?)",
545 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
546 "beginCaptures": {
547 "0": {
548 "name": "meta.head.class.cpp"
549 },
550 "1": {
551 "name": "storage.type.$1.cpp"
552 },
553 "2": {
554 "patterns": [
555 {
556 "include": "source.cpp#inline_comment"
557 }
558 ]
559 },
560 "3": {
561 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
562 },
563 "4": {
564 "name": "comment.block.cpp"
565 },
566 "5": {
567 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
568 },
569 "6": {
570 "patterns": [
571 {
572 "include": "#attributes_context"
573 },
574 {
575 "include": "source.cpp#number_literal"
576 }
577 ]
578 },
579 "7": {
580 "patterns": [
581 {
582 "include": "source.cpp#inline_comment"
583 }
584 ]
585 },
586 "8": {
587 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
588 },
589 "9": {
590 "name": "comment.block.cpp"
591 },
592 "10": {
593 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
594 },
595 "11": {
596 "patterns": [
597 {
598 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
599 "captures": {
600 "1": {
601 "name": "storage.type.modifier.final.cpp"
602 },
603 "2": {
604 "patterns": [
605 {
606 "include": "source.cpp#inline_comment"
607 }
608 ]
609 },
610 "3": {
611 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
612 },
613 "4": {
614 "name": "comment.block.cpp"
615 },
616 "5": {
617 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
618 }
619 }
620 },
621 {
622 "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)))?(?=:|{|$)",
623 "captures": {
624 "1": {
625 "name": "entity.name.type.class.cpp"
626 },
627 "2": {
628 "patterns": [
629 {
630 "include": "source.cpp#inline_comment"
631 }
632 ]
633 },
634 "3": {
635 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
636 },
637 "4": {
638 "name": "comment.block.cpp"
639 },
640 "5": {
641 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
642 },
643 "6": {
644 "name": "storage.type.modifier.final.cpp"
645 },
646 "7": {
647 "patterns": [
648 {
649 "include": "source.cpp#inline_comment"
650 }
651 ]
652 },
653 "8": {
654 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
655 },
656 "9": {
657 "name": "comment.block.cpp"
658 },
659 "10": {
660 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
661 }
662 }
663 },
664 {
665 "match": "DLLEXPORT",
666 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
667 },
668 {
669 "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}))*",
670 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
671 }
672 ]
673 },
674 "12": {
675 "patterns": [
676 {
677 "include": "source.cpp#inline_comment"
678 }
679 ]
680 },
681 "13": {
682 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
683 },
684 "14": {
685 "name": "comment.block.cpp"
686 },
687 "15": {
688 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
689 },
690 "16": {
691 "patterns": [
692 {
693 "include": "source.cpp#inline_comment"
694 }
695 ]
696 },
697 "17": {
698 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
699 },
700 "18": {
701 "name": "comment.block.cpp"
702 },
703 "19": {
704 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
705 },
706 "20": {
707 "name": "punctuation.separator.colon.inheritance.cpp"
708 }
709 },
710 "endCaptures": {
711 "1": {
712 "name": "punctuation.terminator.statement.cpp"
713 },
714 "2": {
715 "name": "punctuation.terminator.statement.cpp"
716 }
717 },
718 "name": "meta.block.class.cpp",
719 "patterns": [
720 {
721 "begin": "\\G ?",
722 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
723 "beginCaptures": {},
724 "endCaptures": {
725 "0": {
726 "name": "punctuation.section.block.begin.bracket.curly.class.cpp"
727 }
728 },
729 "name": "meta.head.class.cpp",
730 "patterns": [
731 {
732 "include": "#ever_present_context"
733 },
734 {
735 "include": "#inheritance_context"
736 },
737 {
738 "include": "#template_call_range"
739 }
740 ]
741 },
742 {
743 "begin": "(?<=\\{|<%|\\?\\?<)",
744 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
745 "beginCaptures": {},
746 "endCaptures": {
747 "0": {
748 "name": "punctuation.section.block.end.bracket.curly.class.cpp"
749 }
750 },
751 "name": "meta.body.class.cpp",
752 "patterns": [
753 {
754 "include": "#function_pointer"
755 },
756 {
757 "include": "#static_assert"
758 },
759 {
760 "include": "#constructor_inline"
761 },
762 {
763 "include": "#destructor_inline"
764 },
765 {
766 "include": "$self"
767 }
768 ]
769 },
770 {
771 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
772 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
773 "beginCaptures": {},
774 "endCaptures": {},
775 "name": "meta.tail.class.cpp",
776 "patterns": [
777 {
778 "include": "$self"
779 }
780 ]
781 }
782 ]
783 },
784 "comments": {
785 "patterns": [
786 {
787 "begin": "^(?:\\s+)?+(\\/\\/[!\\/]+)",
788 "end": "(?<=\\n)(?<!\\\\\\n)|(?=(?<!\\\\)\n)",
789 "beginCaptures": {
790 "1": {
791 "name": "punctuation.definition.comment.documentation.cpp"
792 }
793 },
794 "endCaptures": {},
795 "name": "comment.line.double-slash.documentation.cpp",
796 "patterns": [
797 {
798 "include": "source.cpp#line_continuation_character"
799 },
800 {
801 "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(?:\\{[^}]*\\})?",
802 "name": "storage.type.class.doxygen.cpp"
803 },
804 {
805 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
806 "captures": {
807 "1": {
808 "name": "storage.type.class.doxygen.cpp"
809 },
810 "2": {
811 "name": "markup.italic.doxygen.cpp"
812 }
813 }
814 },
815 {
816 "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
817 "captures": {
818 "1": {
819 "name": "storage.type.class.doxygen.cpp"
820 },
821 "2": {
822 "name": "markup.bold.doxygen.cpp"
823 }
824 }
825 },
826 {
827 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
828 "captures": {
829 "1": {
830 "name": "storage.type.class.doxygen.cpp"
831 },
832 "2": {
833 "name": "markup.inline.raw.string.cpp"
834 }
835 }
836 },
837 {
838 "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(?:\\{[^}]*\\})?",
839 "name": "storage.type.class.doxygen.cpp"
840 },
841 {
842 "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(?:\\{[^}]*\\})?",
843 "name": "storage.type.class.doxygen.cpp"
844 },
845 {
846 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)",
847 "captures": {
848 "1": {
849 "name": "storage.type.class.doxygen.cpp"
850 },
851 "2": {
852 "patterns": [
853 {
854 "match": "in|out",
855 "name": "keyword.other.parameter.direction.$0.cpp"
856 }
857 ]
858 },
859 "3": {
860 "patterns": [
861 {
862 "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)",
863 "name": "variable.parameter.cpp"
864 },
865 {
866 "match": ",",
867 "name": "punctuation.cpp"
868 }
869 ]
870 },
871 "4": {
872 "name": "variable.parameter.cpp"
873 },
874 "5": {
875 "name": "punctuation.cpp"
876 },
877 "6": {
878 "name": "variable.parameter.cpp"
879 }
880 }
881 },
882 {
883 "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(?:\\{[^}]*\\})?",
884 "name": "storage.type.class.doxygen.cpp"
885 },
886 {
887 "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(?:\\{[^}]*\\})?",
888 "name": "storage.type.class.doxygen.cpp"
889 },
890 {
891 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
892 "name": "storage.type.class.gtkdoc.cpp"
893 }
894 ]
895 },
896 {
897 "match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
898 "captures": {
899 "1": {
900 "name": "punctuation.definition.comment.begin.documentation.cpp"
901 },
902 "2": {
903 "patterns": [
904 {
905 "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(?:\\{[^}]*\\})?",
906 "name": "storage.type.class.doxygen.cpp"
907 },
908 {
909 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
910 "captures": {
911 "1": {
912 "name": "storage.type.class.doxygen.cpp"
913 },
914 "2": {
915 "name": "markup.italic.doxygen.cpp"
916 }
917 }
918 },
919 {
920 "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
921 "captures": {
922 "1": {
923 "name": "storage.type.class.doxygen.cpp"
924 },
925 "2": {
926 "name": "markup.bold.doxygen.cpp"
927 }
928 }
929 },
930 {
931 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
932 "captures": {
933 "1": {
934 "name": "storage.type.class.doxygen.cpp"
935 },
936 "2": {
937 "name": "markup.inline.raw.string.cpp"
938 }
939 }
940 },
941 {
942 "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(?:\\{[^}]*\\})?",
943 "name": "storage.type.class.doxygen.cpp"
944 },
945 {
946 "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(?:\\{[^}]*\\})?",
947 "name": "storage.type.class.doxygen.cpp"
948 },
949 {
950 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)",
951 "captures": {
952 "1": {
953 "name": "storage.type.class.doxygen.cpp"
954 },
955 "2": {
956 "patterns": [
957 {
958 "match": "in|out",
959 "name": "keyword.other.parameter.direction.$0.cpp"
960 }
961 ]
962 },
963 "3": {
964 "patterns": [
965 {
966 "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)",
967 "name": "variable.parameter.cpp"
968 },
969 {
970 "match": ",",
971 "name": "punctuation.cpp"
972 }
973 ]
974 },
975 "4": {
976 "name": "variable.parameter.cpp"
977 },
978 "5": {
979 "name": "punctuation.cpp"
980 },
981 "6": {
982 "name": "variable.parameter.cpp"
983 }
984 }
985 },
986 {
987 "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(?:\\{[^}]*\\})?",
988 "name": "storage.type.class.doxygen.cpp"
989 },
990 {
991 "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(?:\\{[^}]*\\})?",
992 "name": "storage.type.class.doxygen.cpp"
993 },
994 {
995 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
996 "name": "storage.type.class.gtkdoc.cpp"
997 }
998 ]
999 },
1000 "3": {
1001 "name": "punctuation.definition.comment.end.documentation.cpp"
1002 }
1003 },
1004 "name": "comment.block.documentation.cpp"
1005 },
1006 {
1007 "begin": "(?:\\s+)?+\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s))",
1008 "end": "[!*]*\\*\\/|(?=(?<!\\\\)\n)",
1009 "beginCaptures": {
1010 "0": {
1011 "name": "punctuation.definition.comment.begin.documentation.cpp"
1012 }
1013 },
1014 "endCaptures": {
1015 "0": {
1016 "name": "punctuation.definition.comment.end.documentation.cpp"
1017 }
1018 },
1019 "name": "comment.block.documentation.cpp",
1020 "patterns": [
1021 {
1022 "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(?:\\{[^}]*\\})?",
1023 "name": "storage.type.class.doxygen.cpp"
1024 },
1025 {
1026 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
1027 "captures": {
1028 "1": {
1029 "name": "storage.type.class.doxygen.cpp"
1030 },
1031 "2": {
1032 "name": "markup.italic.doxygen.cpp"
1033 }
1034 }
1035 },
1036 {
1037 "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
1038 "captures": {
1039 "1": {
1040 "name": "storage.type.class.doxygen.cpp"
1041 },
1042 "2": {
1043 "name": "markup.bold.doxygen.cpp"
1044 }
1045 }
1046 },
1047 {
1048 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
1049 "captures": {
1050 "1": {
1051 "name": "storage.type.class.doxygen.cpp"
1052 },
1053 "2": {
1054 "name": "markup.inline.raw.string.cpp"
1055 }
1056 }
1057 },
1058 {
1059 "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(?:\\{[^}]*\\})?",
1060 "name": "storage.type.class.doxygen.cpp"
1061 },
1062 {
1063 "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(?:\\{[^}]*\\})?",
1064 "name": "storage.type.class.doxygen.cpp"
1065 },
1066 {
1067 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)",
1068 "captures": {
1069 "1": {
1070 "name": "storage.type.class.doxygen.cpp"
1071 },
1072 "2": {
1073 "patterns": [
1074 {
1075 "match": "in|out",
1076 "name": "keyword.other.parameter.direction.$0.cpp"
1077 }
1078 ]
1079 },
1080 "3": {
1081 "patterns": [
1082 {
1083 "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)",
1084 "name": "variable.parameter.cpp"
1085 },
1086 {
1087 "match": ",",
1088 "name": "punctuation.cpp"
1089 }
1090 ]
1091 },
1092 "4": {
1093 "name": "variable.parameter.cpp"
1094 },
1095 "5": {
1096 "name": "punctuation.cpp"
1097 },
1098 "6": {
1099 "name": "variable.parameter.cpp"
1100 }
1101 }
1102 },
1103 {
1104 "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(?:\\{[^}]*\\})?",
1105 "name": "storage.type.class.doxygen.cpp"
1106 },
1107 {
1108 "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(?:\\{[^}]*\\})?",
1109 "name": "storage.type.class.doxygen.cpp"
1110 },
1111 {
1112 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1113 "name": "storage.type.class.gtkdoc.cpp"
1114 }
1115 ]
1116 },
1117 {
1118 "include": "source.cpp#emacs_file_banner"
1119 },
1120 {
1121 "include": "#block_comment"
1122 },
1123 {
1124 "include": "#line_comment"
1125 },
1126 {
1127 "include": "source.cpp#invalid_comment_end"
1128 }
1129 ]
1130 },
1131 "constructor_inline": {
1132 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())",
1133 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
1134 "beginCaptures": {
1135 "0": {
1136 "name": "meta.head.function.definition.special.constructor.cpp"
1137 },
1138 "1": {
1139 "patterns": [
1140 {
1141 "include": "source.cpp#inline_comment"
1142 }
1143 ]
1144 },
1145 "2": {
1146 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1147 },
1148 "3": {
1149 "name": "comment.block.cpp"
1150 },
1151 "4": {
1152 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1153 },
1154 "5": {
1155 "patterns": [
1156 {
1157 "include": "source.cpp#functional_specifiers_pre_parameters"
1158 }
1159 ]
1160 },
1161 "6": {
1162 "patterns": [
1163 {
1164 "include": "source.cpp#inline_comment"
1165 }
1166 ]
1167 },
1168 "7": {
1169 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1170 },
1171 "8": {
1172 "name": "comment.block.cpp"
1173 },
1174 "9": {
1175 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1176 },
1177 "10": {
1178 "name": "storage.type.modifier.calling-convention.cpp"
1179 },
1180 "11": {
1181 "patterns": [
1182 {
1183 "include": "source.cpp#inline_comment"
1184 }
1185 ]
1186 },
1187 "12": {
1188 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1189 },
1190 "13": {
1191 "name": "comment.block.cpp"
1192 },
1193 "14": {
1194 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1195 },
1196 "15": {
1197 "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"
1198 }
1199 },
1200 "endCaptures": {},
1201 "name": "meta.function.definition.special.constructor.cpp",
1202 "patterns": [
1203 {
1204 "begin": "\\G ?",
1205 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
1206 "beginCaptures": {},
1207 "endCaptures": {
1208 "0": {
1209 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
1210 }
1211 },
1212 "name": "meta.head.function.definition.special.constructor.cpp",
1213 "patterns": [
1214 {
1215 "include": "#ever_present_context"
1216 },
1217 {
1218 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
1219 "captures": {
1220 "1": {
1221 "name": "keyword.operator.assignment.cpp"
1222 },
1223 "2": {
1224 "patterns": [
1225 {
1226 "include": "source.cpp#inline_comment"
1227 }
1228 ]
1229 },
1230 "3": {
1231 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1232 },
1233 "4": {
1234 "name": "comment.block.cpp"
1235 },
1236 "5": {
1237 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1238 },
1239 "6": {
1240 "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"
1241 },
1242 "7": {
1243 "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"
1244 }
1245 }
1246 },
1247 {
1248 "include": "source.cpp#functional_specifiers_pre_parameters"
1249 },
1250 {
1251 "begin": ":",
1252 "end": "(?=\\{)|(?=(?<!\\\\)\n)",
1253 "beginCaptures": {
1254 "0": {
1255 "name": "punctuation.separator.initializers.cpp"
1256 }
1257 },
1258 "endCaptures": {},
1259 "patterns": [
1260 {
1261 "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*+)?(\\()",
1262 "end": "\\)|(?=(?<!\\\\)\n)",
1263 "beginCaptures": {
1264 "1": {
1265 "name": "entity.name.function.call.initializer.cpp"
1266 },
1267 "2": {
1268 "name": "meta.template.call.cpp",
1269 "patterns": [
1270 {
1271 "include": "#template_call_range"
1272 }
1273 ]
1274 },
1275 "3": {},
1276 "4": {
1277 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1278 },
1279 "5": {
1280 "name": "comment.block.cpp"
1281 },
1282 "6": {
1283 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1284 },
1285 "7": {
1286 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1287 }
1288 },
1289 "endCaptures": {
1290 "0": {
1291 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1292 }
1293 },
1294 "contentName": "meta.parameter.initialization",
1295 "patterns": [
1296 {
1297 "include": "#evaluation_context"
1298 }
1299 ]
1300 },
1301 {
1302 "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))(\\{)",
1303 "end": "\\}|(?=(?<!\\\\)\n)",
1304 "beginCaptures": {
1305 "1": {
1306 "name": "entity.name.function.call.initializer.cpp"
1307 },
1308 "2": {
1309 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1310 }
1311 },
1312 "endCaptures": {
1313 "0": {
1314 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1315 }
1316 },
1317 "contentName": "meta.parameter.initialization",
1318 "patterns": [
1319 {
1320 "include": "#evaluation_context"
1321 }
1322 ]
1323 },
1324 {
1325 "match": ",",
1326 "name": "punctuation.separator.delimiter.comma.cpp"
1327 },
1328 {
1329 "include": "#comments"
1330 }
1331 ]
1332 },
1333 {
1334 "begin": "\\(",
1335 "end": "\\)|(?=(?<!\\\\)\n)",
1336 "beginCaptures": {
1337 "0": {
1338 "name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
1339 }
1340 },
1341 "endCaptures": {
1342 "0": {
1343 "name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
1344 }
1345 },
1346 "contentName": "meta.function.definition.parameters.special.constructor",
1347 "patterns": [
1348 {
1349 "include": "#function_parameter_context"
1350 },
1351 {
1352 "include": "#evaluation_context"
1353 }
1354 ]
1355 },
1356 {
1357 "include": "source.cpp#qualifiers_and_specifiers_post_parameters"
1358 },
1359 {
1360 "include": "$self"
1361 }
1362 ]
1363 },
1364 {
1365 "begin": "(?<=\\{|<%|\\?\\?<)",
1366 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
1367 "beginCaptures": {},
1368 "endCaptures": {
1369 "0": {
1370 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
1371 }
1372 },
1373 "name": "meta.body.function.definition.special.constructor.cpp",
1374 "patterns": [
1375 {
1376 "include": "#function_body_context"
1377 }
1378 ]
1379 },
1380 {
1381 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
1382 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
1383 "beginCaptures": {},
1384 "endCaptures": {},
1385 "name": "meta.tail.function.definition.special.constructor.cpp",
1386 "patterns": [
1387 {
1388 "include": "$self"
1389 }
1390 ]
1391 }
1392 ]
1393 },
1394 "constructor_root": {
1395 "begin": "\\s*+((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<8>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\10)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\())",
1396 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
1397 "beginCaptures": {
1398 "0": {
1399 "name": "meta.head.function.definition.special.constructor.cpp"
1400 },
1401 "1": {
1402 "name": "storage.type.modifier.calling-convention.cpp"
1403 },
1404 "2": {
1405 "patterns": [
1406 {
1407 "include": "source.cpp#inline_comment"
1408 }
1409 ]
1410 },
1411 "3": {
1412 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1413 },
1414 "4": {
1415 "name": "comment.block.cpp"
1416 },
1417 "5": {
1418 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1419 },
1420 "6": {
1421 "patterns": [
1422 {
1423 "match": "::",
1424 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
1425 },
1426 {
1427 "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)",
1428 "name": "entity.name.scope-resolution.constructor.cpp"
1429 },
1430 {
1431 "include": "#template_call_range"
1432 }
1433 ]
1434 },
1435 "7": {
1436 "patterns": [
1437 {
1438 "include": "#template_call_range"
1439 }
1440 ]
1441 },
1442 "8": {},
1443 "9": {
1444 "patterns": [
1445 {
1446 "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}))*(?=:)",
1447 "name": "entity.name.type.constructor.cpp"
1448 },
1449 {
1450 "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}))*",
1451 "name": "entity.name.function.definition.special.constructor.cpp"
1452 },
1453 {
1454 "match": "::",
1455 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
1456 }
1457 ]
1458 },
1459 "10": {},
1460 "11": {
1461 "patterns": [
1462 {
1463 "include": "source.cpp#inline_comment"
1464 }
1465 ]
1466 },
1467 "12": {
1468 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1469 },
1470 "13": {
1471 "name": "comment.block.cpp"
1472 },
1473 "14": {
1474 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1475 },
1476 "15": {
1477 "patterns": [
1478 {
1479 "include": "source.cpp#inline_comment"
1480 }
1481 ]
1482 },
1483 "16": {
1484 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1485 },
1486 "17": {
1487 "name": "comment.block.cpp"
1488 },
1489 "18": {
1490 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1491 },
1492 "19": {
1493 "patterns": [
1494 {
1495 "include": "source.cpp#inline_comment"
1496 }
1497 ]
1498 },
1499 "20": {
1500 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1501 },
1502 "21": {
1503 "name": "comment.block.cpp"
1504 },
1505 "22": {
1506 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1507 }
1508 },
1509 "endCaptures": {},
1510 "name": "meta.function.definition.special.constructor.cpp",
1511 "patterns": [
1512 {
1513 "begin": "\\G ?",
1514 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
1515 "beginCaptures": {},
1516 "endCaptures": {
1517 "0": {
1518 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
1519 }
1520 },
1521 "name": "meta.head.function.definition.special.constructor.cpp",
1522 "patterns": [
1523 {
1524 "include": "#ever_present_context"
1525 },
1526 {
1527 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
1528 "captures": {
1529 "1": {
1530 "name": "keyword.operator.assignment.cpp"
1531 },
1532 "2": {
1533 "patterns": [
1534 {
1535 "include": "source.cpp#inline_comment"
1536 }
1537 ]
1538 },
1539 "3": {
1540 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1541 },
1542 "4": {
1543 "name": "comment.block.cpp"
1544 },
1545 "5": {
1546 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1547 },
1548 "6": {
1549 "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"
1550 },
1551 "7": {
1552 "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"
1553 }
1554 }
1555 },
1556 {
1557 "include": "source.cpp#functional_specifiers_pre_parameters"
1558 },
1559 {
1560 "begin": ":",
1561 "end": "(?=\\{)|(?=(?<!\\\\)\n)",
1562 "beginCaptures": {
1563 "0": {
1564 "name": "punctuation.separator.initializers.cpp"
1565 }
1566 },
1567 "endCaptures": {},
1568 "patterns": [
1569 {
1570 "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*+)?(\\()",
1571 "end": "\\)|(?=(?<!\\\\)\n)",
1572 "beginCaptures": {
1573 "1": {
1574 "name": "entity.name.function.call.initializer.cpp"
1575 },
1576 "2": {
1577 "name": "meta.template.call.cpp",
1578 "patterns": [
1579 {
1580 "include": "#template_call_range"
1581 }
1582 ]
1583 },
1584 "3": {},
1585 "4": {
1586 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1587 },
1588 "5": {
1589 "name": "comment.block.cpp"
1590 },
1591 "6": {
1592 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1593 },
1594 "7": {
1595 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1596 }
1597 },
1598 "endCaptures": {
1599 "0": {
1600 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1601 }
1602 },
1603 "contentName": "meta.parameter.initialization",
1604 "patterns": [
1605 {
1606 "include": "#evaluation_context"
1607 }
1608 ]
1609 },
1610 {
1611 "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))(\\{)",
1612 "end": "\\}|(?=(?<!\\\\)\n)",
1613 "beginCaptures": {
1614 "1": {
1615 "name": "entity.name.function.call.initializer.cpp"
1616 },
1617 "2": {
1618 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
1619 }
1620 },
1621 "endCaptures": {
1622 "0": {
1623 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
1624 }
1625 },
1626 "contentName": "meta.parameter.initialization",
1627 "patterns": [
1628 {
1629 "include": "#evaluation_context"
1630 }
1631 ]
1632 },
1633 {
1634 "match": ",",
1635 "name": "punctuation.separator.delimiter.comma.cpp"
1636 },
1637 {
1638 "include": "#comments"
1639 }
1640 ]
1641 },
1642 {
1643 "begin": "\\(",
1644 "end": "\\)|(?=(?<!\\\\)\n)",
1645 "beginCaptures": {
1646 "0": {
1647 "name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
1648 }
1649 },
1650 "endCaptures": {
1651 "0": {
1652 "name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
1653 }
1654 },
1655 "contentName": "meta.function.definition.parameters.special.constructor",
1656 "patterns": [
1657 {
1658 "include": "#function_parameter_context"
1659 },
1660 {
1661 "include": "#evaluation_context"
1662 }
1663 ]
1664 },
1665 {
1666 "include": "source.cpp#qualifiers_and_specifiers_post_parameters"
1667 },
1668 {
1669 "include": "$self"
1670 }
1671 ]
1672 },
1673 {
1674 "begin": "(?<=\\{|<%|\\?\\?<)",
1675 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
1676 "beginCaptures": {},
1677 "endCaptures": {
1678 "0": {
1679 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
1680 }
1681 },
1682 "name": "meta.body.function.definition.special.constructor.cpp",
1683 "patterns": [
1684 {
1685 "include": "#function_body_context"
1686 }
1687 ]
1688 },
1689 {
1690 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
1691 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
1692 "beginCaptures": {},
1693 "endCaptures": {},
1694 "name": "meta.tail.function.definition.special.constructor.cpp",
1695 "patterns": [
1696 {
1697 "include": "$self"
1698 }
1699 ]
1700 }
1701 ]
1702 },
1703 "cpp_attributes": {
1704 "begin": "\\[\\[",
1705 "end": "\\]\\]|(?=(?<!\\\\)\n)",
1706 "beginCaptures": {
1707 "0": {
1708 "name": "punctuation.section.attribute.begin.cpp"
1709 }
1710 },
1711 "endCaptures": {
1712 "0": {
1713 "name": "punctuation.section.attribute.end.cpp"
1714 }
1715 },
1716 "name": "support.other.attribute.cpp",
1717 "patterns": [
1718 {
1719 "include": "#attributes_context"
1720 },
1721 {
1722 "begin": "\\(",
1723 "end": "\\)|(?=(?<!\\\\)\n)",
1724 "beginCaptures": {},
1725 "endCaptures": {},
1726 "patterns": [
1727 {
1728 "include": "#attributes_context"
1729 },
1730 {
1731 "include": "#string_context"
1732 },
1733 {
1734 "include": "#ever_present_context"
1735 }
1736 ]
1737 },
1738 {
1739 "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))",
1740 "captures": {
1741 "1": {
1742 "name": "keyword.other.using.directive.cpp"
1743 },
1744 "2": {
1745 "name": "entity.name.namespace.cpp"
1746 }
1747 }
1748 },
1749 {
1750 "match": ",",
1751 "name": "punctuation.separator.attribute.cpp"
1752 },
1753 {
1754 "match": ":",
1755 "name": "punctuation.accessor.attribute.cpp"
1756 },
1757 {
1758 "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)(?=::)",
1759 "name": "entity.name.namespace.cpp"
1760 },
1761 {
1762 "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)",
1763 "name": "entity.other.attribute.$0.cpp"
1764 },
1765 {
1766 "include": "source.cpp#number_literal"
1767 },
1768 {
1769 "include": "#ever_present_context"
1770 }
1771 ]
1772 },
1773 "curly_initializer": {
1774 "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))(\\{)",
1775 "end": "\\}|(?=(?<!\\\\)\n)",
1776 "beginCaptures": {
1777 "1": {
1778 "name": "meta.qualified_type.cpp",
1779 "patterns": [
1780 {
1781 "match": "::",
1782 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
1783 },
1784 {
1785 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
1786 "name": "storage.type.$0.cpp"
1787 },
1788 {
1789 "include": "#attributes_context"
1790 },
1791 {
1792 "include": "#storage_types"
1793 },
1794 {
1795 "include": "source.cpp#number_literal"
1796 },
1797 {
1798 "include": "#string_context"
1799 },
1800 {
1801 "include": "source.cpp#comma"
1802 },
1803 {
1804 "include": "source.cpp#scope_resolution_inner_generated"
1805 },
1806 {
1807 "begin": "<",
1808 "end": ">|(?=(?<!\\\\)\n)",
1809 "beginCaptures": {
1810 "0": {
1811 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
1812 }
1813 },
1814 "endCaptures": {
1815 "0": {
1816 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
1817 }
1818 },
1819 "name": "meta.template.call.cpp",
1820 "patterns": [
1821 {
1822 "include": "#template_call_context"
1823 }
1824 ]
1825 },
1826 {
1827 "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}))*",
1828 "name": "entity.name.type.cpp"
1829 }
1830 ]
1831 },
1832 "2": {
1833 "patterns": [
1834 {
1835 "include": "#attributes_context"
1836 },
1837 {
1838 "include": "source.cpp#number_literal"
1839 }
1840 ]
1841 },
1842 "3": {
1843 "patterns": [
1844 {
1845 "include": "source.cpp#inline_comment"
1846 }
1847 ]
1848 },
1849 "4": {
1850 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1851 },
1852 "5": {
1853 "name": "comment.block.cpp"
1854 },
1855 "6": {
1856 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1857 },
1858 "7": {
1859 "patterns": [
1860 {
1861 "include": "source.cpp#inline_comment"
1862 }
1863 ]
1864 },
1865 "8": {
1866 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1867 },
1868 "9": {
1869 "name": "comment.block.cpp"
1870 },
1871 "10": {
1872 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1873 },
1874 "11": {
1875 "patterns": [
1876 {
1877 "match": "::",
1878 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
1879 },
1880 {
1881 "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)",
1882 "name": "entity.name.scope-resolution.type.cpp"
1883 },
1884 {
1885 "include": "#template_call_range"
1886 }
1887 ]
1888 },
1889 "12": {
1890 "patterns": [
1891 {
1892 "include": "#template_call_range"
1893 }
1894 ]
1895 },
1896 "13": {},
1897 "14": {
1898 "patterns": [
1899 {
1900 "include": "source.cpp#inline_comment"
1901 }
1902 ]
1903 },
1904 "15": {
1905 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1906 },
1907 "16": {
1908 "name": "comment.block.cpp"
1909 },
1910 "17": {
1911 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1912 },
1913 "18": {},
1914 "19": {
1915 "patterns": [
1916 {
1917 "include": "source.cpp#inline_comment"
1918 }
1919 ]
1920 },
1921 "20": {
1922 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1923 },
1924 "21": {
1925 "name": "comment.block.cpp"
1926 },
1927 "22": {
1928 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1929 },
1930 "23": {
1931 "name": "punctuation.section.arguments.begin.bracket.curly.initializer.cpp"
1932 }
1933 },
1934 "endCaptures": {
1935 "0": {
1936 "name": "punctuation.section.arguments.end.bracket.curly.initializer.cpp"
1937 }
1938 },
1939 "name": "meta.initialization.cpp",
1940 "patterns": [
1941 {
1942 "include": "#evaluation_context"
1943 },
1944 {
1945 "include": "source.cpp#comma"
1946 }
1947 ]
1948 },
1949 "decltype": {
1950 "begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
1951 "end": "\\)|(?=(?<!\\\\)\n)",
1952 "beginCaptures": {
1953 "1": {
1954 "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
1955 },
1956 "2": {
1957 "patterns": [
1958 {
1959 "include": "source.cpp#inline_comment"
1960 }
1961 ]
1962 },
1963 "3": {
1964 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
1965 },
1966 "4": {
1967 "name": "comment.block.cpp"
1968 },
1969 "5": {
1970 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
1971 },
1972 "6": {
1973 "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
1974 }
1975 },
1976 "endCaptures": {
1977 "0": {
1978 "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
1979 }
1980 },
1981 "contentName": "meta.arguments.decltype",
1982 "patterns": [
1983 {
1984 "include": "#evaluation_context"
1985 }
1986 ]
1987 },
1988 "decltype_specifier": {
1989 "begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
1990 "end": "\\)|(?=(?<!\\\\)\n)",
1991 "beginCaptures": {
1992 "1": {
1993 "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
1994 },
1995 "2": {
1996 "patterns": [
1997 {
1998 "include": "source.cpp#inline_comment"
1999 }
2000 ]
2001 },
2002 "3": {
2003 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2004 },
2005 "4": {
2006 "name": "comment.block.cpp"
2007 },
2008 "5": {
2009 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2010 },
2011 "6": {
2012 "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
2013 }
2014 },
2015 "endCaptures": {
2016 "0": {
2017 "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
2018 }
2019 },
2020 "contentName": "meta.arguments.decltype",
2021 "patterns": [
2022 {
2023 "include": "#evaluation_context"
2024 }
2025 ]
2026 },
2027 "default_statement": {
2028 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)default(?!\\w))",
2029 "end": ":|(?=(?<!\\\\)\n)",
2030 "beginCaptures": {
2031 "1": {
2032 "patterns": [
2033 {
2034 "include": "source.cpp#inline_comment"
2035 }
2036 ]
2037 },
2038 "2": {
2039 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2040 },
2041 "3": {
2042 "name": "comment.block.cpp"
2043 },
2044 "4": {
2045 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2046 },
2047 "5": {
2048 "name": "keyword.control.default.cpp"
2049 }
2050 },
2051 "endCaptures": {
2052 "0": {
2053 "name": "punctuation.separator.colon.case.default.cpp"
2054 }
2055 },
2056 "name": "meta.conditional.case.cpp",
2057 "patterns": [
2058 {
2059 "include": "#evaluation_context"
2060 }
2061 ]
2062 },
2063 "destructor_inline": {
2064 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)(~(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())",
2065 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
2066 "beginCaptures": {
2067 "0": {
2068 "name": "meta.head.function.definition.special.member.destructor.cpp"
2069 },
2070 "1": {
2071 "patterns": [
2072 {
2073 "include": "source.cpp#inline_comment"
2074 }
2075 ]
2076 },
2077 "2": {
2078 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2079 },
2080 "3": {
2081 "name": "comment.block.cpp"
2082 },
2083 "4": {
2084 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2085 },
2086 "5": {
2087 "name": "storage.type.modifier.calling-convention.cpp"
2088 },
2089 "6": {
2090 "patterns": [
2091 {
2092 "include": "source.cpp#inline_comment"
2093 }
2094 ]
2095 },
2096 "7": {
2097 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2098 },
2099 "8": {
2100 "name": "comment.block.cpp"
2101 },
2102 "9": {
2103 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2104 },
2105 "10": {
2106 "patterns": [
2107 {
2108 "include": "source.cpp#functional_specifiers_pre_parameters"
2109 }
2110 ]
2111 },
2112 "11": {
2113 "patterns": [
2114 {
2115 "include": "source.cpp#inline_comment"
2116 }
2117 ]
2118 },
2119 "12": {
2120 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2121 },
2122 "13": {
2123 "name": "comment.block.cpp"
2124 },
2125 "14": {
2126 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2127 },
2128 "15": {
2129 "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"
2130 }
2131 },
2132 "endCaptures": {},
2133 "name": "meta.function.definition.special.member.destructor.cpp",
2134 "patterns": [
2135 {
2136 "begin": "\\G ?",
2137 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
2138 "beginCaptures": {},
2139 "endCaptures": {
2140 "0": {
2141 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
2142 }
2143 },
2144 "name": "meta.head.function.definition.special.member.destructor.cpp",
2145 "patterns": [
2146 {
2147 "include": "#ever_present_context"
2148 },
2149 {
2150 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
2151 "captures": {
2152 "1": {
2153 "name": "keyword.operator.assignment.cpp"
2154 },
2155 "2": {
2156 "patterns": [
2157 {
2158 "include": "source.cpp#inline_comment"
2159 }
2160 ]
2161 },
2162 "3": {
2163 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2164 },
2165 "4": {
2166 "name": "comment.block.cpp"
2167 },
2168 "5": {
2169 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2170 },
2171 "6": {
2172 "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"
2173 },
2174 "7": {
2175 "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"
2176 }
2177 }
2178 },
2179 {
2180 "begin": "\\(",
2181 "end": "\\)|(?=(?<!\\\\)\n)",
2182 "beginCaptures": {
2183 "0": {
2184 "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
2185 }
2186 },
2187 "endCaptures": {
2188 "0": {
2189 "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
2190 }
2191 },
2192 "contentName": "meta.function.definition.parameters.special.member.destructor",
2193 "patterns": []
2194 },
2195 {
2196 "include": "source.cpp#qualifiers_and_specifiers_post_parameters"
2197 },
2198 {
2199 "include": "$self"
2200 }
2201 ]
2202 },
2203 {
2204 "begin": "(?<=\\{|<%|\\?\\?<)",
2205 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
2206 "beginCaptures": {},
2207 "endCaptures": {
2208 "0": {
2209 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
2210 }
2211 },
2212 "name": "meta.body.function.definition.special.member.destructor.cpp",
2213 "patterns": [
2214 {
2215 "include": "#function_body_context"
2216 }
2217 ]
2218 },
2219 {
2220 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
2221 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
2222 "beginCaptures": {},
2223 "endCaptures": {},
2224 "name": "meta.tail.function.definition.special.member.destructor.cpp",
2225 "patterns": [
2226 {
2227 "include": "$self"
2228 }
2229 ]
2230 }
2231 ]
2232 },
2233 "destructor_root": {
2234 "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))(?=\\())",
2235 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
2236 "beginCaptures": {
2237 "0": {
2238 "name": "meta.head.function.definition.special.member.destructor.cpp"
2239 },
2240 "1": {
2241 "patterns": [
2242 {
2243 "include": "source.cpp#inline_comment"
2244 }
2245 ]
2246 },
2247 "2": {
2248 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2249 },
2250 "3": {
2251 "name": "comment.block.cpp"
2252 },
2253 "4": {
2254 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2255 },
2256 "5": {
2257 "name": "storage.type.modifier.calling-convention.cpp"
2258 },
2259 "6": {
2260 "patterns": [
2261 {
2262 "include": "source.cpp#inline_comment"
2263 }
2264 ]
2265 },
2266 "7": {
2267 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2268 },
2269 "8": {
2270 "name": "comment.block.cpp"
2271 },
2272 "9": {
2273 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2274 },
2275 "10": {
2276 "patterns": [
2277 {
2278 "match": "::",
2279 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
2280 },
2281 {
2282 "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)",
2283 "name": "entity.name.scope-resolution.destructor.cpp"
2284 },
2285 {
2286 "include": "#template_call_range"
2287 }
2288 ]
2289 },
2290 "11": {
2291 "patterns": [
2292 {
2293 "include": "#template_call_range"
2294 }
2295 ]
2296 },
2297 "12": {},
2298 "13": {
2299 "patterns": [
2300 {
2301 "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}))*(?=:)",
2302 "name": "entity.name.type.destructor.cpp"
2303 },
2304 {
2305 "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}))*",
2306 "name": "entity.name.function.definition.special.member.destructor.cpp"
2307 },
2308 {
2309 "match": "::",
2310 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
2311 }
2312 ]
2313 },
2314 "14": {},
2315 "15": {
2316 "patterns": [
2317 {
2318 "include": "source.cpp#inline_comment"
2319 }
2320 ]
2321 },
2322 "16": {
2323 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2324 },
2325 "17": {
2326 "name": "comment.block.cpp"
2327 },
2328 "18": {
2329 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2330 },
2331 "19": {
2332 "patterns": [
2333 {
2334 "include": "source.cpp#inline_comment"
2335 }
2336 ]
2337 },
2338 "20": {
2339 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2340 },
2341 "21": {
2342 "name": "comment.block.cpp"
2343 },
2344 "22": {
2345 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2346 },
2347 "23": {
2348 "patterns": [
2349 {
2350 "include": "source.cpp#inline_comment"
2351 }
2352 ]
2353 },
2354 "24": {
2355 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2356 },
2357 "25": {
2358 "name": "comment.block.cpp"
2359 },
2360 "26": {
2361 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2362 }
2363 },
2364 "endCaptures": {},
2365 "name": "meta.function.definition.special.member.destructor.cpp",
2366 "patterns": [
2367 {
2368 "begin": "\\G ?",
2369 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
2370 "beginCaptures": {},
2371 "endCaptures": {
2372 "0": {
2373 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
2374 }
2375 },
2376 "name": "meta.head.function.definition.special.member.destructor.cpp",
2377 "patterns": [
2378 {
2379 "include": "#ever_present_context"
2380 },
2381 {
2382 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
2383 "captures": {
2384 "1": {
2385 "name": "keyword.operator.assignment.cpp"
2386 },
2387 "2": {
2388 "patterns": [
2389 {
2390 "include": "source.cpp#inline_comment"
2391 }
2392 ]
2393 },
2394 "3": {
2395 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2396 },
2397 "4": {
2398 "name": "comment.block.cpp"
2399 },
2400 "5": {
2401 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2402 },
2403 "6": {
2404 "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"
2405 },
2406 "7": {
2407 "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"
2408 }
2409 }
2410 },
2411 {
2412 "begin": "\\(",
2413 "end": "\\)|(?=(?<!\\\\)\n)",
2414 "beginCaptures": {
2415 "0": {
2416 "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
2417 }
2418 },
2419 "endCaptures": {
2420 "0": {
2421 "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
2422 }
2423 },
2424 "contentName": "meta.function.definition.parameters.special.member.destructor",
2425 "patterns": []
2426 },
2427 {
2428 "include": "source.cpp#qualifiers_and_specifiers_post_parameters"
2429 },
2430 {
2431 "include": "$self"
2432 }
2433 ]
2434 },
2435 {
2436 "begin": "(?<=\\{|<%|\\?\\?<)",
2437 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
2438 "beginCaptures": {},
2439 "endCaptures": {
2440 "0": {
2441 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
2442 }
2443 },
2444 "name": "meta.body.function.definition.special.member.destructor.cpp",
2445 "patterns": [
2446 {
2447 "include": "#function_body_context"
2448 }
2449 ]
2450 },
2451 {
2452 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
2453 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
2454 "beginCaptures": {},
2455 "endCaptures": {},
2456 "name": "meta.tail.function.definition.special.member.destructor.cpp",
2457 "patterns": [
2458 {
2459 "include": "$self"
2460 }
2461 ]
2462 }
2463 ]
2464 },
2465 "diagnostic": {
2466 "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:error|warning)))\\b(?:\\s+)?",
2467 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",
2468 "beginCaptures": {
2469 "1": {
2470 "name": "keyword.control.directive.diagnostic.$7.cpp"
2471 },
2472 "2": {
2473 "patterns": [
2474 {
2475 "include": "source.cpp#inline_comment"
2476 }
2477 ]
2478 },
2479 "3": {
2480 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2481 },
2482 "4": {
2483 "name": "comment.block.cpp"
2484 },
2485 "5": {
2486 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2487 },
2488 "6": {
2489 "name": "punctuation.definition.directive.cpp"
2490 },
2491 "7": {}
2492 },
2493 "endCaptures": {},
2494 "name": "meta.preprocessor.diagnostic.$reference(directive).cpp",
2495 "patterns": [
2496 {
2497 "include": "#comments"
2498 },
2499 {
2500 "begin": "\"",
2501 "end": "(?:(\")|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))|(?=(?<!\\\\)\n)",
2502 "beginCaptures": {
2503 "0": {
2504 "name": "punctuation.definition.string.begin.cpp"
2505 }
2506 },
2507 "endCaptures": {
2508 "1": {
2509 "name": "punctuation.definition.string.end.cpp"
2510 }
2511 },
2512 "name": "string.quoted.double.cpp",
2513 "patterns": [
2514 {
2515 "include": "source.cpp#line_continuation_character"
2516 }
2517 ]
2518 },
2519 {
2520 "begin": "'",
2521 "end": "(?:(')|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))|(?=(?<!\\\\)\n)",
2522 "beginCaptures": {
2523 "0": {
2524 "name": "punctuation.definition.string.begin.cpp"
2525 }
2526 },
2527 "endCaptures": {
2528 "1": {
2529 "name": "punctuation.definition.string.end.cpp"
2530 }
2531 },
2532 "name": "string.quoted.single.cpp",
2533 "patterns": [
2534 {
2535 "include": "source.cpp#line_continuation_character"
2536 }
2537 ]
2538 },
2539 {
2540 "begin": "[^'\"]",
2541 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",
2542 "beginCaptures": {},
2543 "endCaptures": {},
2544 "name": "string.unquoted.cpp",
2545 "patterns": [
2546 {
2547 "include": "source.cpp#line_continuation_character"
2548 },
2549 {
2550 "include": "#comments"
2551 }
2552 ]
2553 }
2554 ]
2555 },
2556 "enum_block": {
2557 "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)))?",
2558 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
2559 "beginCaptures": {
2560 "0": {
2561 "name": "meta.head.enum.cpp"
2562 },
2563 "1": {
2564 "name": "storage.type.enum.cpp"
2565 },
2566 "2": {
2567 "name": "storage.type.enum.enum-key.$2.cpp"
2568 },
2569 "3": {
2570 "patterns": [
2571 {
2572 "include": "#attributes_context"
2573 },
2574 {
2575 "include": "source.cpp#number_literal"
2576 }
2577 ]
2578 },
2579 "4": {
2580 "name": "entity.name.type.enum.cpp"
2581 },
2582 "5": {
2583 "name": "punctuation.separator.colon.type-specifier.cpp"
2584 },
2585 "6": {
2586 "patterns": [
2587 {
2588 "include": "source.cpp#scope_resolution_inner_generated"
2589 }
2590 ]
2591 },
2592 "7": {
2593 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
2594 },
2595 "8": {
2596 "patterns": [
2597 {
2598 "include": "#template_call_range"
2599 }
2600 ]
2601 },
2602 "9": {},
2603 "10": {
2604 "name": "entity.name.scope-resolution.cpp"
2605 },
2606 "11": {
2607 "name": "meta.template.call.cpp",
2608 "patterns": [
2609 {
2610 "include": "#template_call_range"
2611 }
2612 ]
2613 },
2614 "12": {},
2615 "13": {
2616 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2617 },
2618 "14": {
2619 "name": "comment.block.cpp"
2620 },
2621 "15": {
2622 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2623 },
2624 "16": {
2625 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
2626 },
2627 "17": {
2628 "name": "storage.type.integral.$17.cpp"
2629 }
2630 },
2631 "endCaptures": {
2632 "1": {
2633 "name": "punctuation.terminator.statement.cpp"
2634 },
2635 "2": {
2636 "name": "punctuation.terminator.statement.cpp"
2637 }
2638 },
2639 "name": "meta.block.enum.cpp",
2640 "patterns": [
2641 {
2642 "begin": "\\G ?",
2643 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
2644 "beginCaptures": {},
2645 "endCaptures": {
2646 "0": {
2647 "name": "punctuation.section.block.begin.bracket.curly.enum.cpp"
2648 }
2649 },
2650 "name": "meta.head.enum.cpp",
2651 "patterns": [
2652 {
2653 "include": "$self"
2654 }
2655 ]
2656 },
2657 {
2658 "begin": "(?<=\\{|<%|\\?\\?<)",
2659 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
2660 "beginCaptures": {},
2661 "endCaptures": {
2662 "0": {
2663 "name": "punctuation.section.block.end.bracket.curly.enum.cpp"
2664 }
2665 },
2666 "name": "meta.body.enum.cpp",
2667 "patterns": [
2668 {
2669 "include": "#ever_present_context"
2670 },
2671 {
2672 "include": "source.cpp#enumerator_list"
2673 },
2674 {
2675 "include": "#comments"
2676 },
2677 {
2678 "include": "source.cpp#comma"
2679 },
2680 {
2681 "include": "source.cpp#semicolon"
2682 }
2683 ]
2684 },
2685 {
2686 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
2687 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
2688 "beginCaptures": {},
2689 "endCaptures": {},
2690 "name": "meta.tail.enum.cpp",
2691 "patterns": [
2692 {
2693 "include": "$self"
2694 }
2695 ]
2696 }
2697 ]
2698 },
2699 "evaluation_context": {
2700 "patterns": [
2701 {
2702 "include": "#ever_present_context"
2703 },
2704 {
2705 "include": "#string_context"
2706 },
2707 {
2708 "include": "source.cpp#number_literal"
2709 },
2710 {
2711 "include": "#method_access"
2712 },
2713 {
2714 "include": "source.cpp#member_access"
2715 },
2716 {
2717 "include": "source.cpp#predefined_macros"
2718 },
2719 {
2720 "include": "#operators"
2721 },
2722 {
2723 "include": "source.cpp#memory_operators"
2724 },
2725 {
2726 "include": "source.cpp#wordlike_operators"
2727 },
2728 {
2729 "include": "source.cpp#type_casting_operators"
2730 },
2731 {
2732 "include": "source.cpp#control_flow_keywords"
2733 },
2734 {
2735 "include": "source.cpp#exception_keywords"
2736 },
2737 {
2738 "include": "source.cpp#the_this_keyword"
2739 },
2740 {
2741 "include": "source.cpp#language_constants"
2742 },
2743 {
2744 "include": "#builtin_storage_type_initilizer"
2745 },
2746 {
2747 "include": "source.cpp#qualifiers_and_specifiers_post_parameters"
2748 },
2749 {
2750 "include": "source.cpp#functional_specifiers_pre_parameters"
2751 },
2752 {
2753 "include": "#storage_types"
2754 },
2755 {
2756 "include": "#lambdas"
2757 },
2758 {
2759 "include": "#attributes_context"
2760 },
2761 {
2762 "include": "#parentheses"
2763 },
2764 {
2765 "include": "#function_call"
2766 },
2767 {
2768 "include": "source.cpp#scope_resolution_inner_generated"
2769 },
2770 {
2771 "include": "#square_brackets"
2772 },
2773 {
2774 "include": "source.cpp#semicolon"
2775 },
2776 {
2777 "include": "source.cpp#comma"
2778 }
2779 ]
2780 },
2781 "ever_present_context": {
2782 "patterns": [
2783 {
2784 "include": "source.cpp#pragma_mark"
2785 },
2786 {
2787 "include": "#pragma"
2788 },
2789 {
2790 "include": "source.cpp#include"
2791 },
2792 {
2793 "include": "#line"
2794 },
2795 {
2796 "include": "#diagnostic"
2797 },
2798 {
2799 "include": "source.cpp#undef"
2800 },
2801 {
2802 "include": "#preprocessor_conditional_range"
2803 },
2804 {
2805 "include": "source.cpp#single_line_macro"
2806 },
2807 {
2808 "include": "#macro"
2809 },
2810 {
2811 "include": "source.cpp#preprocessor_conditional_standalone"
2812 },
2813 {
2814 "include": "source.cpp#macro_argument"
2815 },
2816 {
2817 "include": "#comments"
2818 },
2819 {
2820 "include": "source.cpp#line_continuation_character"
2821 }
2822 ]
2823 },
2824 "extern_block": {
2825 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(extern)(?=\\s*\\\")",
2826 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
2827 "beginCaptures": {
2828 "0": {
2829 "name": "meta.head.extern.cpp"
2830 },
2831 "1": {
2832 "patterns": [
2833 {
2834 "include": "source.cpp#inline_comment"
2835 }
2836 ]
2837 },
2838 "2": {
2839 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
2840 },
2841 "3": {
2842 "name": "comment.block.cpp"
2843 },
2844 "4": {
2845 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
2846 },
2847 "5": {
2848 "name": "storage.type.extern.cpp"
2849 }
2850 },
2851 "endCaptures": {
2852 "1": {
2853 "name": "punctuation.terminator.statement.cpp"
2854 },
2855 "2": {
2856 "name": "punctuation.terminator.statement.cpp"
2857 }
2858 },
2859 "name": "meta.block.extern.cpp",
2860 "patterns": [
2861 {
2862 "begin": "\\G ?",
2863 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
2864 "beginCaptures": {},
2865 "endCaptures": {
2866 "0": {
2867 "name": "punctuation.section.block.begin.bracket.curly.extern.cpp"
2868 }
2869 },
2870 "name": "meta.head.extern.cpp",
2871 "patterns": [
2872 {
2873 "include": "$self"
2874 }
2875 ]
2876 },
2877 {
2878 "begin": "(?<=\\{|<%|\\?\\?<)",
2879 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
2880 "beginCaptures": {},
2881 "endCaptures": {
2882 "0": {
2883 "name": "punctuation.section.block.end.bracket.curly.extern.cpp"
2884 }
2885 },
2886 "name": "meta.body.extern.cpp",
2887 "patterns": [
2888 {
2889 "include": "$self"
2890 }
2891 ]
2892 },
2893 {
2894 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
2895 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
2896 "beginCaptures": {},
2897 "endCaptures": {},
2898 "name": "meta.tail.extern.cpp",
2899 "patterns": [
2900 {
2901 "include": "$self"
2902 }
2903 ]
2904 },
2905 {
2906 "include": "$self"
2907 }
2908 ]
2909 },
2910 "function_body_context": {
2911 "patterns": [
2912 {
2913 "include": "#ever_present_context"
2914 },
2915 {
2916 "include": "#using_namespace"
2917 },
2918 {
2919 "include": "source.cpp#type_alias"
2920 },
2921 {
2922 "include": "source.cpp#using_name"
2923 },
2924 {
2925 "include": "source.cpp#namespace_alias"
2926 },
2927 {
2928 "include": "#typedef_class"
2929 },
2930 {
2931 "include": "#typedef_struct"
2932 },
2933 {
2934 "include": "#typedef_union"
2935 },
2936 {
2937 "include": "source.cpp#misc_keywords"
2938 },
2939 {
2940 "include": "source.cpp#standard_declares"
2941 },
2942 {
2943 "include": "#class_block"
2944 },
2945 {
2946 "include": "#struct_block"
2947 },
2948 {
2949 "include": "#union_block"
2950 },
2951 {
2952 "include": "#enum_block"
2953 },
2954 {
2955 "include": "source.cpp#access_control_keywords"
2956 },
2957 {
2958 "include": "#block"
2959 },
2960 {
2961 "include": "#static_assert"
2962 },
2963 {
2964 "include": "#assembly"
2965 },
2966 {
2967 "include": "#function_pointer"
2968 },
2969 {
2970 "include": "#switch_statement"
2971 },
2972 {
2973 "include": "source.cpp#goto_statement"
2974 },
2975 {
2976 "include": "#evaluation_context"
2977 },
2978 {
2979 "include": "source.cpp#label"
2980 }
2981 ]
2982 },
2983 "function_call": {
2984 "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*+)?(\\()",
2985 "end": "\\)|(?=(?<!\\\\)\n)",
2986 "beginCaptures": {
2987 "1": {
2988 "patterns": [
2989 {
2990 "include": "source.cpp#scope_resolution_function_call_inner_generated"
2991 }
2992 ]
2993 },
2994 "2": {
2995 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
2996 },
2997 "3": {
2998 "patterns": [
2999 {
3000 "include": "#template_call_range"
3001 }
3002 ]
3003 },
3004 "4": {},
3005 "5": {
3006 "name": "entity.name.function.call.cpp"
3007 },
3008 "6": {
3009 "patterns": [
3010 {
3011 "include": "source.cpp#inline_comment"
3012 }
3013 ]
3014 },
3015 "7": {
3016 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3017 },
3018 "8": {
3019 "name": "comment.block.cpp"
3020 },
3021 "9": {
3022 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3023 },
3024 "10": {
3025 "name": "meta.template.call.cpp",
3026 "patterns": [
3027 {
3028 "include": "#template_call_range"
3029 }
3030 ]
3031 },
3032 "11": {},
3033 "12": {
3034 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3035 },
3036 "13": {
3037 "name": "comment.block.cpp"
3038 },
3039 "14": {
3040 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3041 },
3042 "15": {
3043 "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp"
3044 }
3045 },
3046 "endCaptures": {
3047 "0": {
3048 "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp"
3049 }
3050 },
3051 "patterns": [
3052 {
3053 "include": "#evaluation_context"
3054 }
3055 ]
3056 },
3057 "function_definition": {
3058 "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?<!\\w)template(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\()",
3059 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
3060 "beginCaptures": {
3061 "0": {
3062 "name": "meta.head.function.definition.cpp"
3063 },
3064 "1": {
3065 "name": "storage.type.template.cpp"
3066 },
3067 "2": {
3068 "patterns": [
3069 {
3070 "include": "source.cpp#inline_comment"
3071 }
3072 ]
3073 },
3074 "3": {
3075 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3076 },
3077 "4": {
3078 "name": "comment.block.cpp"
3079 },
3080 "5": {
3081 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3082 },
3083 "6": {
3084 "patterns": [
3085 {
3086 "include": "#attributes_context"
3087 },
3088 {
3089 "include": "source.cpp#number_literal"
3090 }
3091 ]
3092 },
3093 "7": {
3094 "patterns": [
3095 {
3096 "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))",
3097 "captures": {
3098 "1": {
3099 "name": "storage.modifier.$1.cpp"
3100 },
3101 "2": {
3102 "patterns": [
3103 {
3104 "include": "source.cpp#inline_comment"
3105 }
3106 ]
3107 },
3108 "3": {
3109 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3110 },
3111 "4": {
3112 "name": "comment.block.cpp"
3113 },
3114 "5": {
3115 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3116 }
3117 }
3118 }
3119 ]
3120 },
3121 "8": {
3122 "name": "storage.modifier.$8.cpp"
3123 },
3124 "9": {
3125 "patterns": [
3126 {
3127 "include": "source.cpp#inline_comment"
3128 }
3129 ]
3130 },
3131 "10": {
3132 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3133 },
3134 "11": {
3135 "name": "comment.block.cpp"
3136 },
3137 "12": {
3138 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3139 },
3140 "13": {
3141 "name": "meta.qualified_type.cpp",
3142 "patterns": [
3143 {
3144 "match": "::",
3145 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3146 },
3147 {
3148 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
3149 "name": "storage.type.$0.cpp"
3150 },
3151 {
3152 "include": "#attributes_context"
3153 },
3154 {
3155 "include": "#storage_types"
3156 },
3157 {
3158 "include": "source.cpp#number_literal"
3159 },
3160 {
3161 "include": "#string_context"
3162 },
3163 {
3164 "include": "source.cpp#comma"
3165 },
3166 {
3167 "include": "source.cpp#scope_resolution_inner_generated"
3168 },
3169 {
3170 "begin": "<",
3171 "end": ">|(?=(?<!\\\\)\n)",
3172 "beginCaptures": {
3173 "0": {
3174 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
3175 }
3176 },
3177 "endCaptures": {
3178 "0": {
3179 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
3180 }
3181 },
3182 "name": "meta.template.call.cpp",
3183 "patterns": [
3184 {
3185 "include": "#template_call_context"
3186 }
3187 ]
3188 },
3189 {
3190 "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}))*",
3191 "name": "entity.name.type.cpp"
3192 }
3193 ]
3194 },
3195 "14": {
3196 "patterns": [
3197 {
3198 "include": "#attributes_context"
3199 },
3200 {
3201 "include": "source.cpp#number_literal"
3202 }
3203 ]
3204 },
3205 "15": {
3206 "patterns": [
3207 {
3208 "include": "source.cpp#inline_comment"
3209 }
3210 ]
3211 },
3212 "16": {
3213 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3214 },
3215 "17": {
3216 "name": "comment.block.cpp"
3217 },
3218 "18": {
3219 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3220 },
3221 "19": {
3222 "patterns": [
3223 {
3224 "include": "source.cpp#inline_comment"
3225 }
3226 ]
3227 },
3228 "20": {
3229 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3230 },
3231 "21": {
3232 "name": "comment.block.cpp"
3233 },
3234 "22": {
3235 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3236 },
3237 "23": {
3238 "patterns": [
3239 {
3240 "match": "::",
3241 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
3242 },
3243 {
3244 "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)",
3245 "name": "entity.name.scope-resolution.type.cpp"
3246 },
3247 {
3248 "include": "#template_call_range"
3249 }
3250 ]
3251 },
3252 "24": {
3253 "patterns": [
3254 {
3255 "include": "#template_call_range"
3256 }
3257 ]
3258 },
3259 "25": {},
3260 "26": {
3261 "patterns": [
3262 {
3263 "include": "source.cpp#inline_comment"
3264 }
3265 ]
3266 },
3267 "27": {
3268 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3269 },
3270 "28": {
3271 "name": "comment.block.cpp"
3272 },
3273 "29": {
3274 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3275 },
3276 "30": {},
3277 "31": {
3278 "patterns": [
3279 {
3280 "match": "\\*",
3281 "name": "storage.modifier.pointer.cpp"
3282 },
3283 {
3284 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
3285 "captures": {
3286 "1": {
3287 "patterns": [
3288 {
3289 "include": "source.cpp#inline_comment"
3290 }
3291 ]
3292 },
3293 "2": {
3294 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3295 },
3296 "3": {
3297 "name": "comment.block.cpp"
3298 },
3299 "4": {
3300 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3301 }
3302 },
3303 "name": "invalid.illegal.reference-type.cpp"
3304 },
3305 {
3306 "match": "\\&",
3307 "name": "storage.modifier.reference.cpp"
3308 }
3309 ]
3310 },
3311 "32": {
3312 "patterns": [
3313 {
3314 "include": "source.cpp#inline_comment"
3315 }
3316 ]
3317 },
3318 "33": {
3319 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3320 },
3321 "34": {
3322 "name": "comment.block.cpp"
3323 },
3324 "35": {
3325 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3326 },
3327 "36": {
3328 "patterns": [
3329 {
3330 "include": "source.cpp#inline_comment"
3331 }
3332 ]
3333 },
3334 "37": {
3335 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3336 },
3337 "38": {
3338 "name": "comment.block.cpp"
3339 },
3340 "39": {
3341 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3342 },
3343 "40": {
3344 "patterns": [
3345 {
3346 "include": "source.cpp#inline_comment"
3347 }
3348 ]
3349 },
3350 "41": {
3351 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3352 },
3353 "42": {
3354 "name": "comment.block.cpp"
3355 },
3356 "43": {
3357 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3358 },
3359 "44": {
3360 "name": "storage.type.modifier.calling-convention.cpp"
3361 },
3362 "45": {
3363 "patterns": [
3364 {
3365 "include": "source.cpp#inline_comment"
3366 }
3367 ]
3368 },
3369 "46": {
3370 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3371 },
3372 "47": {
3373 "name": "comment.block.cpp"
3374 },
3375 "48": {
3376 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3377 },
3378 "49": {
3379 "patterns": [
3380 {
3381 "include": "source.cpp#scope_resolution_function_definition_inner_generated"
3382 }
3383 ]
3384 },
3385 "50": {
3386 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
3387 },
3388 "51": {
3389 "patterns": [
3390 {
3391 "include": "#template_call_range"
3392 }
3393 ]
3394 },
3395 "52": {},
3396 "53": {
3397 "name": "entity.name.function.definition.cpp"
3398 },
3399 "54": {
3400 "patterns": [
3401 {
3402 "include": "source.cpp#inline_comment"
3403 }
3404 ]
3405 },
3406 "55": {
3407 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3408 },
3409 "56": {
3410 "name": "comment.block.cpp"
3411 },
3412 "57": {
3413 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3414 }
3415 },
3416 "endCaptures": {},
3417 "name": "meta.function.definition.cpp",
3418 "patterns": [
3419 {
3420 "begin": "\\G ?",
3421 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
3422 "beginCaptures": {},
3423 "endCaptures": {
3424 "0": {
3425 "name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp"
3426 }
3427 },
3428 "name": "meta.head.function.definition.cpp",
3429 "patterns": [
3430 {
3431 "include": "#ever_present_context"
3432 },
3433 {
3434 "begin": "\\(",
3435 "end": "\\)|(?=(?<!\\\\)\n)",
3436 "beginCaptures": {
3437 "0": {
3438 "name": "punctuation.section.parameters.begin.bracket.round.cpp"
3439 }
3440 },
3441 "endCaptures": {
3442 "0": {
3443 "name": "punctuation.section.parameters.end.bracket.round.cpp"
3444 }
3445 },
3446 "contentName": "meta.function.definition.parameters",
3447 "patterns": [
3448 {
3449 "include": "#ever_present_context"
3450 },
3451 {
3452 "include": "#parameter_or_maybe_value"
3453 },
3454 {
3455 "include": "source.cpp#comma"
3456 },
3457 {
3458 "include": "#evaluation_context"
3459 }
3460 ]
3461 },
3462 {
3463 "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<:.]))",
3464 "captures": {
3465 "1": {
3466 "name": "punctuation.definition.function.return-type.cpp"
3467 },
3468 "2": {
3469 "patterns": [
3470 {
3471 "include": "source.cpp#inline_comment"
3472 }
3473 ]
3474 },
3475 "3": {
3476 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3477 },
3478 "4": {
3479 "name": "comment.block.cpp"
3480 },
3481 "5": {
3482 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3483 },
3484 "6": {
3485 "name": "meta.qualified_type.cpp",
3486 "patterns": [
3487 {
3488 "match": "::",
3489 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3490 },
3491 {
3492 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
3493 "name": "storage.type.$0.cpp"
3494 },
3495 {
3496 "include": "#attributes_context"
3497 },
3498 {
3499 "include": "#storage_types"
3500 },
3501 {
3502 "include": "source.cpp#number_literal"
3503 },
3504 {
3505 "include": "#string_context"
3506 },
3507 {
3508 "include": "source.cpp#comma"
3509 },
3510 {
3511 "include": "source.cpp#scope_resolution_inner_generated"
3512 },
3513 {
3514 "begin": "<",
3515 "end": ">|(?=(?<!\\\\)\n)",
3516 "beginCaptures": {
3517 "0": {
3518 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
3519 }
3520 },
3521 "endCaptures": {
3522 "0": {
3523 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
3524 }
3525 },
3526 "name": "meta.template.call.cpp",
3527 "patterns": [
3528 {
3529 "include": "#template_call_context"
3530 }
3531 ]
3532 },
3533 {
3534 "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}))*",
3535 "name": "entity.name.type.cpp"
3536 }
3537 ]
3538 },
3539 "7": {
3540 "patterns": [
3541 {
3542 "include": "#attributes_context"
3543 },
3544 {
3545 "include": "source.cpp#number_literal"
3546 }
3547 ]
3548 },
3549 "8": {
3550 "patterns": [
3551 {
3552 "include": "source.cpp#inline_comment"
3553 }
3554 ]
3555 },
3556 "9": {
3557 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3558 },
3559 "10": {
3560 "name": "comment.block.cpp"
3561 },
3562 "11": {
3563 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3564 },
3565 "12": {
3566 "patterns": [
3567 {
3568 "include": "source.cpp#inline_comment"
3569 }
3570 ]
3571 },
3572 "13": {
3573 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3574 },
3575 "14": {
3576 "name": "comment.block.cpp"
3577 },
3578 "15": {
3579 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3580 },
3581 "16": {
3582 "patterns": [
3583 {
3584 "match": "::",
3585 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
3586 },
3587 {
3588 "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)",
3589 "name": "entity.name.scope-resolution.type.cpp"
3590 },
3591 {
3592 "include": "#template_call_range"
3593 }
3594 ]
3595 },
3596 "17": {
3597 "patterns": [
3598 {
3599 "include": "#template_call_range"
3600 }
3601 ]
3602 },
3603 "18": {},
3604 "19": {
3605 "patterns": [
3606 {
3607 "include": "source.cpp#inline_comment"
3608 }
3609 ]
3610 },
3611 "20": {
3612 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3613 },
3614 "21": {
3615 "name": "comment.block.cpp"
3616 },
3617 "22": {
3618 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3619 },
3620 "23": {}
3621 }
3622 },
3623 {
3624 "include": "$self"
3625 }
3626 ]
3627 },
3628 {
3629 "begin": "(?<=\\{|<%|\\?\\?<)",
3630 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
3631 "beginCaptures": {},
3632 "endCaptures": {
3633 "0": {
3634 "name": "punctuation.section.block.end.bracket.curly.function.definition.cpp"
3635 }
3636 },
3637 "name": "meta.body.function.definition.cpp",
3638 "patterns": [
3639 {
3640 "include": "#function_body_context"
3641 }
3642 ]
3643 },
3644 {
3645 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3646 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
3647 "beginCaptures": {},
3648 "endCaptures": {},
3649 "name": "meta.tail.function.definition.cpp",
3650 "patterns": [
3651 {
3652 "include": "$self"
3653 }
3654 ]
3655 }
3656 ]
3657 },
3658 "function_parameter_context": {
3659 "patterns": [
3660 {
3661 "include": "#ever_present_context"
3662 },
3663 {
3664 "include": "#parameter"
3665 },
3666 {
3667 "include": "source.cpp#comma"
3668 }
3669 ]
3670 },
3671 "function_pointer": {
3672 "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+)?(\\()",
3673 "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?<!\\\\)\n)",
3674 "beginCaptures": {
3675 "1": {
3676 "name": "meta.qualified_type.cpp",
3677 "patterns": [
3678 {
3679 "match": "::",
3680 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3681 },
3682 {
3683 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
3684 "name": "storage.type.$0.cpp"
3685 },
3686 {
3687 "include": "#attributes_context"
3688 },
3689 {
3690 "include": "#storage_types"
3691 },
3692 {
3693 "include": "source.cpp#number_literal"
3694 },
3695 {
3696 "include": "#string_context"
3697 },
3698 {
3699 "include": "source.cpp#comma"
3700 },
3701 {
3702 "include": "source.cpp#scope_resolution_inner_generated"
3703 },
3704 {
3705 "begin": "<",
3706 "end": ">|(?=(?<!\\\\)\n)",
3707 "beginCaptures": {
3708 "0": {
3709 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
3710 }
3711 },
3712 "endCaptures": {
3713 "0": {
3714 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
3715 }
3716 },
3717 "name": "meta.template.call.cpp",
3718 "patterns": [
3719 {
3720 "include": "#template_call_context"
3721 }
3722 ]
3723 },
3724 {
3725 "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}))*",
3726 "name": "entity.name.type.cpp"
3727 }
3728 ]
3729 },
3730 "2": {
3731 "patterns": [
3732 {
3733 "include": "#attributes_context"
3734 },
3735 {
3736 "include": "source.cpp#number_literal"
3737 }
3738 ]
3739 },
3740 "3": {
3741 "patterns": [
3742 {
3743 "include": "source.cpp#inline_comment"
3744 }
3745 ]
3746 },
3747 "4": {
3748 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3749 },
3750 "5": {
3751 "name": "comment.block.cpp"
3752 },
3753 "6": {
3754 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3755 },
3756 "7": {
3757 "patterns": [
3758 {
3759 "include": "source.cpp#inline_comment"
3760 }
3761 ]
3762 },
3763 "8": {
3764 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3765 },
3766 "9": {
3767 "name": "comment.block.cpp"
3768 },
3769 "10": {
3770 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3771 },
3772 "11": {
3773 "patterns": [
3774 {
3775 "match": "::",
3776 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
3777 },
3778 {
3779 "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)",
3780 "name": "entity.name.scope-resolution.type.cpp"
3781 },
3782 {
3783 "include": "#template_call_range"
3784 }
3785 ]
3786 },
3787 "12": {
3788 "patterns": [
3789 {
3790 "include": "#template_call_range"
3791 }
3792 ]
3793 },
3794 "13": {},
3795 "14": {
3796 "patterns": [
3797 {
3798 "include": "source.cpp#inline_comment"
3799 }
3800 ]
3801 },
3802 "15": {
3803 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3804 },
3805 "16": {
3806 "name": "comment.block.cpp"
3807 },
3808 "17": {
3809 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3810 },
3811 "18": {},
3812 "19": {
3813 "patterns": [
3814 {
3815 "match": "\\*",
3816 "name": "storage.modifier.pointer.cpp"
3817 },
3818 {
3819 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
3820 "captures": {
3821 "1": {
3822 "patterns": [
3823 {
3824 "include": "source.cpp#inline_comment"
3825 }
3826 ]
3827 },
3828 "2": {
3829 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3830 },
3831 "3": {
3832 "name": "comment.block.cpp"
3833 },
3834 "4": {
3835 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3836 }
3837 },
3838 "name": "invalid.illegal.reference-type.cpp"
3839 },
3840 {
3841 "match": "\\&",
3842 "name": "storage.modifier.reference.cpp"
3843 }
3844 ]
3845 },
3846 "20": {
3847 "patterns": [
3848 {
3849 "include": "source.cpp#inline_comment"
3850 }
3851 ]
3852 },
3853 "21": {
3854 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3855 },
3856 "22": {
3857 "name": "comment.block.cpp"
3858 },
3859 "23": {
3860 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3861 },
3862 "24": {
3863 "patterns": [
3864 {
3865 "include": "source.cpp#inline_comment"
3866 }
3867 ]
3868 },
3869 "25": {
3870 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3871 },
3872 "26": {
3873 "name": "comment.block.cpp"
3874 },
3875 "27": {
3876 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3877 },
3878 "28": {
3879 "patterns": [
3880 {
3881 "include": "source.cpp#inline_comment"
3882 }
3883 ]
3884 },
3885 "29": {
3886 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3887 },
3888 "30": {
3889 "name": "comment.block.cpp"
3890 },
3891 "31": {
3892 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3893 },
3894 "32": {
3895 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
3896 },
3897 "33": {
3898 "name": "punctuation.definition.function.pointer.dereference.cpp"
3899 },
3900 "34": {
3901 "name": "variable.other.definition.pointer.function.cpp"
3902 },
3903 "35": {
3904 "name": "punctuation.definition.begin.bracket.square.cpp"
3905 },
3906 "36": {
3907 "patterns": [
3908 {
3909 "include": "#evaluation_context"
3910 }
3911 ]
3912 },
3913 "37": {
3914 "name": "punctuation.definition.end.bracket.square.cpp"
3915 },
3916 "38": {
3917 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
3918 },
3919 "39": {
3920 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
3921 }
3922 },
3923 "endCaptures": {
3924 "1": {
3925 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
3926 },
3927 "2": {
3928 "patterns": [
3929 {
3930 "include": "source.cpp#inline_comment"
3931 }
3932 ]
3933 },
3934 "3": {
3935 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
3936 },
3937 "4": {
3938 "name": "comment.block.cpp"
3939 },
3940 "5": {
3941 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
3942 }
3943 },
3944 "patterns": [
3945 {
3946 "include": "#function_parameter_context"
3947 }
3948 ]
3949 },
3950 "function_pointer_parameter": {
3951 "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+)?(\\()",
3952 "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?<!\\\\)\n)",
3953 "beginCaptures": {
3954 "1": {
3955 "name": "meta.qualified_type.cpp",
3956 "patterns": [
3957 {
3958 "match": "::",
3959 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
3960 },
3961 {
3962 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
3963 "name": "storage.type.$0.cpp"
3964 },
3965 {
3966 "include": "#attributes_context"
3967 },
3968 {
3969 "include": "#storage_types"
3970 },
3971 {
3972 "include": "source.cpp#number_literal"
3973 },
3974 {
3975 "include": "#string_context"
3976 },
3977 {
3978 "include": "source.cpp#comma"
3979 },
3980 {
3981 "include": "source.cpp#scope_resolution_inner_generated"
3982 },
3983 {
3984 "begin": "<",
3985 "end": ">|(?=(?<!\\\\)\n)",
3986 "beginCaptures": {
3987 "0": {
3988 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
3989 }
3990 },
3991 "endCaptures": {
3992 "0": {
3993 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
3994 }
3995 },
3996 "name": "meta.template.call.cpp",
3997 "patterns": [
3998 {
3999 "include": "#template_call_context"
4000 }
4001 ]
4002 },
4003 {
4004 "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}))*",
4005 "name": "entity.name.type.cpp"
4006 }
4007 ]
4008 },
4009 "2": {
4010 "patterns": [
4011 {
4012 "include": "#attributes_context"
4013 },
4014 {
4015 "include": "source.cpp#number_literal"
4016 }
4017 ]
4018 },
4019 "3": {
4020 "patterns": [
4021 {
4022 "include": "source.cpp#inline_comment"
4023 }
4024 ]
4025 },
4026 "4": {
4027 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4028 },
4029 "5": {
4030 "name": "comment.block.cpp"
4031 },
4032 "6": {
4033 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4034 },
4035 "7": {
4036 "patterns": [
4037 {
4038 "include": "source.cpp#inline_comment"
4039 }
4040 ]
4041 },
4042 "8": {
4043 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4044 },
4045 "9": {
4046 "name": "comment.block.cpp"
4047 },
4048 "10": {
4049 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4050 },
4051 "11": {
4052 "patterns": [
4053 {
4054 "match": "::",
4055 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4056 },
4057 {
4058 "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)",
4059 "name": "entity.name.scope-resolution.type.cpp"
4060 },
4061 {
4062 "include": "#template_call_range"
4063 }
4064 ]
4065 },
4066 "12": {
4067 "patterns": [
4068 {
4069 "include": "#template_call_range"
4070 }
4071 ]
4072 },
4073 "13": {},
4074 "14": {
4075 "patterns": [
4076 {
4077 "include": "source.cpp#inline_comment"
4078 }
4079 ]
4080 },
4081 "15": {
4082 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4083 },
4084 "16": {
4085 "name": "comment.block.cpp"
4086 },
4087 "17": {
4088 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4089 },
4090 "18": {},
4091 "19": {
4092 "patterns": [
4093 {
4094 "match": "\\*",
4095 "name": "storage.modifier.pointer.cpp"
4096 },
4097 {
4098 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
4099 "captures": {
4100 "1": {
4101 "patterns": [
4102 {
4103 "include": "source.cpp#inline_comment"
4104 }
4105 ]
4106 },
4107 "2": {
4108 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4109 },
4110 "3": {
4111 "name": "comment.block.cpp"
4112 },
4113 "4": {
4114 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4115 }
4116 },
4117 "name": "invalid.illegal.reference-type.cpp"
4118 },
4119 {
4120 "match": "\\&",
4121 "name": "storage.modifier.reference.cpp"
4122 }
4123 ]
4124 },
4125 "20": {
4126 "patterns": [
4127 {
4128 "include": "source.cpp#inline_comment"
4129 }
4130 ]
4131 },
4132 "21": {
4133 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4134 },
4135 "22": {
4136 "name": "comment.block.cpp"
4137 },
4138 "23": {
4139 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4140 },
4141 "24": {
4142 "patterns": [
4143 {
4144 "include": "source.cpp#inline_comment"
4145 }
4146 ]
4147 },
4148 "25": {
4149 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4150 },
4151 "26": {
4152 "name": "comment.block.cpp"
4153 },
4154 "27": {
4155 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4156 },
4157 "28": {
4158 "patterns": [
4159 {
4160 "include": "source.cpp#inline_comment"
4161 }
4162 ]
4163 },
4164 "29": {
4165 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4166 },
4167 "30": {
4168 "name": "comment.block.cpp"
4169 },
4170 "31": {
4171 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4172 },
4173 "32": {
4174 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
4175 },
4176 "33": {
4177 "name": "punctuation.definition.function.pointer.dereference.cpp"
4178 },
4179 "34": {
4180 "name": "variable.parameter.pointer.function.cpp"
4181 },
4182 "35": {
4183 "name": "punctuation.definition.begin.bracket.square.cpp"
4184 },
4185 "36": {
4186 "patterns": [
4187 {
4188 "include": "#evaluation_context"
4189 }
4190 ]
4191 },
4192 "37": {
4193 "name": "punctuation.definition.end.bracket.square.cpp"
4194 },
4195 "38": {
4196 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
4197 },
4198 "39": {
4199 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
4200 }
4201 },
4202 "endCaptures": {
4203 "1": {
4204 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
4205 },
4206 "2": {
4207 "patterns": [
4208 {
4209 "include": "source.cpp#inline_comment"
4210 }
4211 ]
4212 },
4213 "3": {
4214 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4215 },
4216 "4": {
4217 "name": "comment.block.cpp"
4218 },
4219 "5": {
4220 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4221 }
4222 },
4223 "patterns": [
4224 {
4225 "include": "#function_parameter_context"
4226 }
4227 ]
4228 },
4229 "gcc_attributes": {
4230 "begin": "__attribute(?:__)?\\s*\\(\\s*\\(",
4231 "end": "\\)\\s*\\)|(?=(?<!\\\\)\n)",
4232 "beginCaptures": {
4233 "0": {
4234 "name": "punctuation.section.attribute.begin.cpp"
4235 }
4236 },
4237 "endCaptures": {
4238 "0": {
4239 "name": "punctuation.section.attribute.end.cpp"
4240 }
4241 },
4242 "name": "support.other.attribute.cpp",
4243 "patterns": [
4244 {
4245 "include": "#attributes_context"
4246 },
4247 {
4248 "begin": "\\(",
4249 "end": "\\)|(?=(?<!\\\\)\n)",
4250 "beginCaptures": {},
4251 "endCaptures": {},
4252 "patterns": [
4253 {
4254 "include": "#attributes_context"
4255 },
4256 {
4257 "include": "#string_context"
4258 },
4259 {
4260 "include": "#ever_present_context"
4261 }
4262 ]
4263 },
4264 {
4265 "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))",
4266 "captures": {
4267 "1": {
4268 "name": "keyword.other.using.directive.cpp"
4269 },
4270 "2": {
4271 "name": "entity.name.namespace.cpp"
4272 }
4273 }
4274 },
4275 {
4276 "match": ",",
4277 "name": "punctuation.separator.attribute.cpp"
4278 },
4279 {
4280 "match": ":",
4281 "name": "punctuation.accessor.attribute.cpp"
4282 },
4283 {
4284 "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)(?=::)",
4285 "name": "entity.name.namespace.cpp"
4286 },
4287 {
4288 "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)",
4289 "name": "entity.other.attribute.$0.cpp"
4290 },
4291 {
4292 "include": "source.cpp#number_literal"
4293 },
4294 {
4295 "include": "#ever_present_context"
4296 }
4297 ]
4298 },
4299 "inheritance_context": {
4300 "patterns": [
4301 {
4302 "include": "#ever_present_context"
4303 },
4304 {
4305 "match": ",",
4306 "name": "punctuation.separator.delimiter.comma.inheritance.cpp"
4307 },
4308 {
4309 "match": "(?<!\\w)(?:(?:protected)|(?:private)|(?:public))(?!\\w)",
4310 "name": "storage.type.modifier.access.$0.cpp"
4311 },
4312 {
4313 "match": "(?<!\\w)virtual(?!\\w)",
4314 "name": "storage.type.modifier.virtual.cpp"
4315 },
4316 {
4317 "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<:.]))",
4318 "captures": {
4319 "1": {
4320 "name": "meta.qualified_type.cpp",
4321 "patterns": [
4322 {
4323 "match": "::",
4324 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
4325 },
4326 {
4327 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4328 "name": "storage.type.$0.cpp"
4329 },
4330 {
4331 "include": "#attributes_context"
4332 },
4333 {
4334 "include": "#storage_types"
4335 },
4336 {
4337 "include": "source.cpp#number_literal"
4338 },
4339 {
4340 "include": "#string_context"
4341 },
4342 {
4343 "include": "source.cpp#comma"
4344 },
4345 {
4346 "include": "source.cpp#scope_resolution_inner_generated"
4347 },
4348 {
4349 "begin": "<",
4350 "end": ">|(?=(?<!\\\\)\n)",
4351 "beginCaptures": {
4352 "0": {
4353 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
4354 }
4355 },
4356 "endCaptures": {
4357 "0": {
4358 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
4359 }
4360 },
4361 "name": "meta.template.call.cpp",
4362 "patterns": [
4363 {
4364 "include": "#template_call_context"
4365 }
4366 ]
4367 },
4368 {
4369 "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}))*",
4370 "name": "entity.name.type.cpp"
4371 }
4372 ]
4373 },
4374 "2": {
4375 "patterns": [
4376 {
4377 "include": "#attributes_context"
4378 },
4379 {
4380 "include": "source.cpp#number_literal"
4381 }
4382 ]
4383 },
4384 "3": {
4385 "patterns": [
4386 {
4387 "include": "source.cpp#inline_comment"
4388 }
4389 ]
4390 },
4391 "4": {
4392 "patterns": [
4393 {
4394 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
4395 "captures": {
4396 "1": {
4397 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4398 },
4399 "2": {
4400 "name": "comment.block.cpp"
4401 },
4402 "3": {
4403 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4404 }
4405 }
4406 }
4407 ]
4408 },
4409 "5": {
4410 "patterns": [
4411 {
4412 "include": "source.cpp#inline_comment"
4413 }
4414 ]
4415 },
4416 "6": {
4417 "patterns": [
4418 {
4419 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
4420 "captures": {
4421 "1": {
4422 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4423 },
4424 "2": {
4425 "name": "comment.block.cpp"
4426 },
4427 "3": {
4428 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4429 }
4430 }
4431 }
4432 ]
4433 },
4434 "7": {
4435 "patterns": [
4436 {
4437 "match": "::",
4438 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
4439 },
4440 {
4441 "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)",
4442 "name": "entity.name.scope-resolution.type.cpp"
4443 },
4444 {
4445 "include": "#template_call_range"
4446 }
4447 ]
4448 },
4449 "8": {
4450 "patterns": [
4451 {
4452 "include": "#template_call_range"
4453 }
4454 ]
4455 },
4456 "9": {},
4457 "10": {
4458 "patterns": [
4459 {
4460 "include": "source.cpp#inline_comment"
4461 }
4462 ]
4463 },
4464 "11": {
4465 "patterns": [
4466 {
4467 "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",
4468 "captures": {
4469 "1": {
4470 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4471 },
4472 "2": {
4473 "name": "comment.block.cpp"
4474 },
4475 "3": {
4476 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4477 }
4478 }
4479 }
4480 ]
4481 },
4482 "12": {}
4483 }
4484 }
4485 ]
4486 },
4487 "lambdas": {
4488 "begin": "(?:(?<=[^\\s]|^)(?<![\\w\\]\\)\\[\\*&\">])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:[^\\[\\]]*+\\g<3>?)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))",
4489 "end": "(?<=[;}])|(?=(?<!\\\\)\n)",
4490 "beginCaptures": {
4491 "1": {
4492 "name": "punctuation.definition.capture.begin.lambda.cpp"
4493 },
4494 "2": {
4495 "name": "meta.lambda.capture.cpp",
4496 "patterns": [
4497 {
4498 "include": "source.cpp#the_this_keyword"
4499 },
4500 {
4501 "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|$)|(,))|(\\=))",
4502 "captures": {
4503 "1": {
4504 "name": "variable.parameter.capture.cpp"
4505 },
4506 "2": {
4507 "patterns": [
4508 {
4509 "include": "source.cpp#inline_comment"
4510 }
4511 ]
4512 },
4513 "3": {
4514 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4515 },
4516 "4": {
4517 "name": "comment.block.cpp"
4518 },
4519 "5": {
4520 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4521 },
4522 "6": {
4523 "name": "punctuation.separator.delimiter.comma.cpp"
4524 },
4525 "7": {
4526 "name": "keyword.operator.assignment.cpp"
4527 }
4528 }
4529 },
4530 {
4531 "include": "#evaluation_context"
4532 }
4533 ]
4534 },
4535 "3": {},
4536 "4": {
4537 "name": "punctuation.definition.capture.end.lambda.cpp"
4538 },
4539 "5": {
4540 "patterns": [
4541 {
4542 "include": "source.cpp#inline_comment"
4543 }
4544 ]
4545 },
4546 "6": {
4547 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4548 },
4549 "7": {
4550 "name": "comment.block.cpp"
4551 },
4552 "8": {
4553 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4554 }
4555 },
4556 "endCaptures": {},
4557 "patterns": [
4558 {
4559 "begin": "\\(",
4560 "end": "\\)|(?=(?<!\\\\)\n)",
4561 "beginCaptures": {
4562 "0": {
4563 "name": "punctuation.definition.parameters.begin.lambda.cpp"
4564 }
4565 },
4566 "endCaptures": {
4567 "0": {
4568 "name": "punctuation.definition.parameters.end.lambda.cpp"
4569 }
4570 },
4571 "name": "meta.function.definition.parameters.lambda.cpp",
4572 "patterns": [
4573 {
4574 "include": "#function_parameter_context"
4575 }
4576 ]
4577 },
4578 {
4579 "match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:mutable))(?!\\w)",
4580 "name": "storage.modifier.lambda.$0.cpp"
4581 },
4582 {
4583 "begin": "->",
4584 "end": "(?=\\{)|(?=(?<!\\\\)\n)",
4585 "beginCaptures": {
4586 "0": {
4587 "name": "punctuation.definition.lambda.return-type.cpp"
4588 }
4589 },
4590 "endCaptures": {},
4591 "patterns": [
4592 {
4593 "include": "#comments"
4594 },
4595 {
4596 "match": "\\S+",
4597 "name": "storage.type.return-type.lambda.cpp"
4598 }
4599 ]
4600 },
4601 {
4602 "begin": "\\{",
4603 "end": "\\}|(?=(?<!\\\\)\n)",
4604 "beginCaptures": {
4605 "0": {
4606 "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp"
4607 }
4608 },
4609 "endCaptures": {
4610 "0": {
4611 "name": "punctuation.section.block.end.bracket.curly.lambda.cpp"
4612 }
4613 },
4614 "name": "meta.function.definition.body.lambda.cpp",
4615 "patterns": [
4616 {
4617 "include": "$self"
4618 }
4619 ]
4620 }
4621 ]
4622 },
4623 "line": {
4624 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?line\\b",
4625 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",
4626 "beginCaptures": {
4627 "0": {
4628 "name": "keyword.control.directive.line.cpp"
4629 },
4630 "1": {
4631 "patterns": [
4632 {
4633 "include": "source.cpp#inline_comment"
4634 }
4635 ]
4636 },
4637 "2": {
4638 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4639 },
4640 "3": {
4641 "name": "comment.block.cpp"
4642 },
4643 "4": {
4644 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4645 },
4646 "5": {
4647 "name": "punctuation.definition.directive.cpp"
4648 }
4649 },
4650 "endCaptures": {},
4651 "name": "meta.preprocessor.line.cpp",
4652 "patterns": [
4653 {
4654 "include": "#string_context"
4655 },
4656 {
4657 "include": "#preprocessor_number_literal"
4658 },
4659 {
4660 "include": "source.cpp#line_continuation_character"
4661 }
4662 ]
4663 },
4664 "line_comment": {
4665 "begin": "\\s*+(\\/\\/)",
4666 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",
4667 "beginCaptures": {
4668 "1": {
4669 "name": "punctuation.definition.comment.cpp"
4670 }
4671 },
4672 "endCaptures": {},
4673 "name": "comment.line.double-slash.cpp",
4674 "patterns": [
4675 {
4676 "include": "source.cpp#line_continuation_character"
4677 }
4678 ]
4679 },
4680 "macro": {
4681 "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))",
4682 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",
4683 "beginCaptures": {
4684 "1": {
4685 "name": "keyword.control.directive.define.cpp"
4686 },
4687 "2": {
4688 "patterns": [
4689 {
4690 "include": "source.cpp#inline_comment"
4691 }
4692 ]
4693 },
4694 "3": {
4695 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4696 },
4697 "4": {
4698 "name": "comment.block.cpp"
4699 },
4700 "5": {
4701 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4702 },
4703 "6": {
4704 "name": "punctuation.definition.directive.cpp"
4705 },
4706 "7": {
4707 "name": "entity.name.function.preprocessor.cpp"
4708 }
4709 },
4710 "endCaptures": {},
4711 "name": "meta.preprocessor.macro.cpp",
4712 "patterns": [
4713 {
4714 "match": "\\G(?:\\s+)?(\\()([^\\(]*)(\\))",
4715 "captures": {
4716 "1": {
4717 "name": "punctuation.definition.parameters.begin.preprocessor.cpp"
4718 },
4719 "2": {
4720 "name": "meta.function.preprocessor.parameters.cpp",
4721 "patterns": [
4722 {
4723 "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+)?",
4724 "captures": {
4725 "1": {
4726 "name": "variable.parameter.preprocessor.cpp"
4727 }
4728 }
4729 },
4730 {
4731 "match": ",",
4732 "name": "punctuation.separator.parameters.cpp"
4733 },
4734 {
4735 "match": "\\.\\.\\.",
4736 "name": "punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"
4737 }
4738 ]
4739 },
4740 "3": {
4741 "name": "punctuation.definition.parameters.end.preprocessor.cpp"
4742 }
4743 }
4744 },
4745 {
4746 "include": "#macro_context"
4747 },
4748 {
4749 "include": "source.cpp#macro_argument"
4750 }
4751 ]
4752 },
4753 "macro_context": {
4754 "patterns": [
4755 {
4756 "include": "source.cpp.embedded.macro"
4757 }
4758 ]
4759 },
4760 "method_access": {
4761 "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+)?(\\()",
4762 "end": "\\)|(?=(?<!\\\\)\n)",
4763 "beginCaptures": {
4764 "1": {
4765 "patterns": [
4766 {
4767 "include": "source.cpp#inline_comment"
4768 }
4769 ]
4770 },
4771 "2": {
4772 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4773 },
4774 "3": {
4775 "name": "comment.block.cpp"
4776 },
4777 "4": {
4778 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4779 },
4780 "5": {
4781 "name": "variable.language.this.cpp"
4782 },
4783 "6": {
4784 "name": "variable.other.object.access.cpp"
4785 },
4786 "7": {
4787 "name": "punctuation.separator.dot-access.cpp"
4788 },
4789 "8": {
4790 "name": "punctuation.separator.pointer-access.cpp"
4791 },
4792 "9": {
4793 "patterns": [
4794 {
4795 "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+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
4796 "captures": {
4797 "1": {
4798 "patterns": [
4799 {
4800 "include": "source.cpp#inline_comment"
4801 }
4802 ]
4803 },
4804 "2": {
4805 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4806 },
4807 "3": {
4808 "name": "comment.block.cpp"
4809 },
4810 "4": {
4811 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4812 },
4813 "5": {
4814 "name": "variable.language.this.cpp"
4815 },
4816 "6": {
4817 "name": "variable.other.object.property.cpp"
4818 },
4819 "7": {
4820 "name": "punctuation.separator.dot-access.cpp"
4821 },
4822 "8": {
4823 "name": "punctuation.separator.pointer-access.cpp"
4824 }
4825 }
4826 },
4827 {
4828 "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+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
4829 "captures": {
4830 "1": {
4831 "patterns": [
4832 {
4833 "include": "source.cpp#inline_comment"
4834 }
4835 ]
4836 },
4837 "2": {
4838 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
4839 },
4840 "3": {
4841 "name": "comment.block.cpp"
4842 },
4843 "4": {
4844 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
4845 },
4846 "5": {
4847 "name": "variable.language.this.cpp"
4848 },
4849 "6": {
4850 "name": "variable.other.object.access.cpp"
4851 },
4852 "7": {
4853 "name": "punctuation.separator.dot-access.cpp"
4854 },
4855 "8": {
4856 "name": "punctuation.separator.pointer-access.cpp"
4857 }
4858 }
4859 },
4860 {
4861 "include": "source.cpp#member_access"
4862 },
4863 {
4864 "include": "#method_access"
4865 }
4866 ]
4867 },
4868 "10": {
4869 "name": "entity.name.function.member.cpp"
4870 },
4871 "11": {
4872 "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp"
4873 }
4874 },
4875 "endCaptures": {
4876 "0": {
4877 "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp"
4878 }
4879 },
4880 "patterns": [
4881 {
4882 "include": "#evaluation_context"
4883 }
4884 ]
4885 },
4886 "ms_attributes": {
4887 "begin": "__declspec\\(",
4888 "end": "\\)|(?=(?<!\\\\)\n)",
4889 "beginCaptures": {
4890 "0": {
4891 "name": "punctuation.section.attribute.begin.cpp"
4892 }
4893 },
4894 "endCaptures": {
4895 "0": {
4896 "name": "punctuation.section.attribute.end.cpp"
4897 }
4898 },
4899 "name": "support.other.attribute.cpp",
4900 "patterns": [
4901 {
4902 "include": "#attributes_context"
4903 },
4904 {
4905 "begin": "\\(",
4906 "end": "\\)|(?=(?<!\\\\)\n)",
4907 "beginCaptures": {},
4908 "endCaptures": {},
4909 "patterns": [
4910 {
4911 "include": "#attributes_context"
4912 },
4913 {
4914 "include": "#string_context"
4915 },
4916 {
4917 "include": "#ever_present_context"
4918 }
4919 ]
4920 },
4921 {
4922 "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))",
4923 "captures": {
4924 "1": {
4925 "name": "keyword.other.using.directive.cpp"
4926 },
4927 "2": {
4928 "name": "entity.name.namespace.cpp"
4929 }
4930 }
4931 },
4932 {
4933 "match": ",",
4934 "name": "punctuation.separator.attribute.cpp"
4935 },
4936 {
4937 "match": ":",
4938 "name": "punctuation.accessor.attribute.cpp"
4939 },
4940 {
4941 "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)(?=::)",
4942 "name": "entity.name.namespace.cpp"
4943 },
4944 {
4945 "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)",
4946 "name": "entity.other.attribute.$0.cpp"
4947 },
4948 {
4949 "include": "source.cpp#number_literal"
4950 },
4951 {
4952 "include": "#ever_present_context"
4953 }
4954 ]
4955 },
4956 "namespace_block": {
4957 "begin": "((?<!\\w)namespace(?!\\w))",
4958 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
4959 "beginCaptures": {
4960 "0": {
4961 "name": "meta.head.namespace.cpp"
4962 },
4963 "1": {
4964 "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"
4965 }
4966 },
4967 "endCaptures": {},
4968 "name": "meta.block.namespace.cpp",
4969 "patterns": [
4970 {
4971 "begin": "\\G ?",
4972 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
4973 "beginCaptures": {},
4974 "endCaptures": {
4975 "0": {
4976 "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp"
4977 }
4978 },
4979 "name": "meta.head.namespace.cpp",
4980 "patterns": [
4981 {
4982 "include": "#ever_present_context"
4983 },
4984 {
4985 "include": "#attributes_context"
4986 },
4987 {
4988 "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))?",
4989 "captures": {
4990 "1": {
4991 "patterns": [
4992 {
4993 "include": "source.cpp#scope_resolution_namespace_block_inner_generated"
4994 }
4995 ]
4996 },
4997 "2": {
4998 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
4999 },
5000 "3": {
5001 "patterns": [
5002 {
5003 "include": "#template_call_range"
5004 }
5005 ]
5006 },
5007 "4": {},
5008 "5": {
5009 "name": "entity.name.namespace.cpp"
5010 },
5011 "6": {
5012 "name": "punctuation.separator.scope-resolution.namespace.block.cpp"
5013 },
5014 "7": {
5015 "name": "storage.modifier.inline.cpp"
5016 }
5017 }
5018 }
5019 ]
5020 },
5021 {
5022 "begin": "(?<=\\{|<%|\\?\\?<)",
5023 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
5024 "beginCaptures": {},
5025 "endCaptures": {
5026 "0": {
5027 "name": "punctuation.section.block.end.bracket.curly.namespace.cpp"
5028 }
5029 },
5030 "name": "meta.body.namespace.cpp",
5031 "patterns": [
5032 {
5033 "include": "$self"
5034 }
5035 ]
5036 },
5037 {
5038 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
5039 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
5040 "beginCaptures": {},
5041 "endCaptures": {},
5042 "name": "meta.tail.namespace.cpp",
5043 "patterns": [
5044 {
5045 "include": "$self"
5046 }
5047 ]
5048 }
5049 ]
5050 },
5051 "noexcept_operator": {
5052 "begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
5053 "end": "\\)|(?=(?<!\\\\)\n)",
5054 "beginCaptures": {
5055 "1": {
5056 "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
5057 },
5058 "2": {
5059 "patterns": [
5060 {
5061 "include": "source.cpp#inline_comment"
5062 }
5063 ]
5064 },
5065 "3": {
5066 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5067 },
5068 "4": {
5069 "name": "comment.block.cpp"
5070 },
5071 "5": {
5072 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5073 },
5074 "6": {
5075 "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
5076 }
5077 },
5078 "endCaptures": {
5079 "0": {
5080 "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
5081 }
5082 },
5083 "contentName": "meta.arguments.operator.noexcept",
5084 "patterns": [
5085 {
5086 "include": "#evaluation_context"
5087 }
5088 ]
5089 },
5090 "operator_overload": {
5091 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:\\[\\])?)))|(\"\")((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\<|\\()",
5092 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
5093 "beginCaptures": {
5094 "0": {
5095 "name": "meta.head.function.definition.special.operator-overload.cpp"
5096 },
5097 "1": {
5098 "patterns": [
5099 {
5100 "include": "source.cpp#inline_comment"
5101 }
5102 ]
5103 },
5104 "2": {
5105 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5106 },
5107 "3": {
5108 "name": "comment.block.cpp"
5109 },
5110 "4": {
5111 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5112 },
5113 "5": {
5114 "name": "meta.qualified_type.cpp",
5115 "patterns": [
5116 {
5117 "match": "::",
5118 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
5119 },
5120 {
5121 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
5122 "name": "storage.type.$0.cpp"
5123 },
5124 {
5125 "include": "#attributes_context"
5126 },
5127 {
5128 "include": "#storage_types"
5129 },
5130 {
5131 "include": "source.cpp#number_literal"
5132 },
5133 {
5134 "include": "#string_context"
5135 },
5136 {
5137 "include": "source.cpp#comma"
5138 },
5139 {
5140 "include": "source.cpp#scope_resolution_inner_generated"
5141 },
5142 {
5143 "begin": "<",
5144 "end": ">|(?=(?<!\\\\)\n)",
5145 "beginCaptures": {
5146 "0": {
5147 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
5148 }
5149 },
5150 "endCaptures": {
5151 "0": {
5152 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
5153 }
5154 },
5155 "name": "meta.template.call.cpp",
5156 "patterns": [
5157 {
5158 "include": "#template_call_context"
5159 }
5160 ]
5161 },
5162 {
5163 "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}))*",
5164 "name": "entity.name.type.cpp"
5165 }
5166 ]
5167 },
5168 "6": {
5169 "patterns": [
5170 {
5171 "include": "#attributes_context"
5172 },
5173 {
5174 "include": "source.cpp#number_literal"
5175 }
5176 ]
5177 },
5178 "7": {
5179 "patterns": [
5180 {
5181 "include": "source.cpp#inline_comment"
5182 }
5183 ]
5184 },
5185 "8": {
5186 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5187 },
5188 "9": {
5189 "name": "comment.block.cpp"
5190 },
5191 "10": {
5192 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5193 },
5194 "11": {
5195 "patterns": [
5196 {
5197 "include": "source.cpp#inline_comment"
5198 }
5199 ]
5200 },
5201 "12": {
5202 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5203 },
5204 "13": {
5205 "name": "comment.block.cpp"
5206 },
5207 "14": {
5208 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5209 },
5210 "15": {
5211 "patterns": [
5212 {
5213 "match": "::",
5214 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
5215 },
5216 {
5217 "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)",
5218 "name": "entity.name.scope-resolution.type.cpp"
5219 },
5220 {
5221 "include": "#template_call_range"
5222 }
5223 ]
5224 },
5225 "16": {
5226 "patterns": [
5227 {
5228 "include": "#template_call_range"
5229 }
5230 ]
5231 },
5232 "17": {},
5233 "18": {
5234 "patterns": [
5235 {
5236 "include": "source.cpp#inline_comment"
5237 }
5238 ]
5239 },
5240 "19": {
5241 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5242 },
5243 "20": {
5244 "name": "comment.block.cpp"
5245 },
5246 "21": {
5247 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5248 },
5249 "22": {},
5250 "23": {
5251 "patterns": [
5252 {
5253 "match": "\\*",
5254 "name": "storage.modifier.pointer.cpp"
5255 },
5256 {
5257 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
5258 "captures": {
5259 "1": {
5260 "patterns": [
5261 {
5262 "include": "source.cpp#inline_comment"
5263 }
5264 ]
5265 },
5266 "2": {
5267 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5268 },
5269 "3": {
5270 "name": "comment.block.cpp"
5271 },
5272 "4": {
5273 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5274 }
5275 },
5276 "name": "invalid.illegal.reference-type.cpp"
5277 },
5278 {
5279 "match": "\\&",
5280 "name": "storage.modifier.reference.cpp"
5281 }
5282 ]
5283 },
5284 "24": {
5285 "patterns": [
5286 {
5287 "include": "source.cpp#inline_comment"
5288 }
5289 ]
5290 },
5291 "25": {
5292 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5293 },
5294 "26": {
5295 "name": "comment.block.cpp"
5296 },
5297 "27": {
5298 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5299 },
5300 "28": {
5301 "patterns": [
5302 {
5303 "include": "source.cpp#inline_comment"
5304 }
5305 ]
5306 },
5307 "29": {
5308 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5309 },
5310 "30": {
5311 "name": "comment.block.cpp"
5312 },
5313 "31": {
5314 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5315 },
5316 "32": {
5317 "patterns": [
5318 {
5319 "include": "source.cpp#inline_comment"
5320 }
5321 ]
5322 },
5323 "33": {
5324 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5325 },
5326 "34": {
5327 "name": "comment.block.cpp"
5328 },
5329 "35": {
5330 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5331 },
5332 "36": {
5333 "name": "storage.type.modifier.calling-convention.cpp"
5334 },
5335 "37": {
5336 "patterns": [
5337 {
5338 "include": "source.cpp#inline_comment"
5339 }
5340 ]
5341 },
5342 "38": {
5343 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5344 },
5345 "39": {
5346 "name": "comment.block.cpp"
5347 },
5348 "40": {
5349 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5350 },
5351 "41": {
5352 "patterns": [
5353 {
5354 "include": "source.cpp#inline_comment"
5355 }
5356 ]
5357 },
5358 "42": {
5359 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5360 },
5361 "43": {
5362 "name": "comment.block.cpp"
5363 },
5364 "44": {
5365 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5366 },
5367 "45": {
5368 "patterns": [
5369 {
5370 "match": "::",
5371 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"
5372 },
5373 {
5374 "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)",
5375 "name": "entity.name.scope-resolution.operator.cpp"
5376 },
5377 {
5378 "include": "#template_call_range"
5379 }
5380 ]
5381 },
5382 "46": {
5383 "patterns": [
5384 {
5385 "include": "#template_call_range"
5386 }
5387 ]
5388 },
5389 "47": {},
5390 "48": {
5391 "name": "keyword.other.operator.overload.cpp"
5392 },
5393 "49": {
5394 "patterns": [
5395 {
5396 "include": "source.cpp#inline_comment"
5397 }
5398 ]
5399 },
5400 "50": {
5401 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5402 },
5403 "51": {
5404 "name": "comment.block.cpp"
5405 },
5406 "52": {
5407 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5408 },
5409 "53": {
5410 "patterns": [
5411 {
5412 "match": "::",
5413 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"
5414 },
5415 {
5416 "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)",
5417 "name": "entity.name.scope-resolution.operator-overload.cpp"
5418 },
5419 {
5420 "include": "#template_call_range"
5421 }
5422 ]
5423 },
5424 "54": {
5425 "patterns": [
5426 {
5427 "include": "#template_call_range"
5428 }
5429 ]
5430 },
5431 "55": {},
5432 "56": {
5433 "name": "entity.name.operator.cpp"
5434 },
5435 "57": {
5436 "name": "entity.name.operator.type.cpp"
5437 },
5438 "58": {
5439 "patterns": [
5440 {
5441 "match": "\\*",
5442 "name": "entity.name.operator.type.pointer.cpp"
5443 },
5444 {
5445 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
5446 "captures": {
5447 "1": {
5448 "patterns": [
5449 {
5450 "include": "source.cpp#inline_comment"
5451 }
5452 ]
5453 },
5454 "2": {
5455 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5456 },
5457 "3": {
5458 "name": "comment.block.cpp"
5459 },
5460 "4": {
5461 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5462 }
5463 },
5464 "name": "invalid.illegal.reference-type.cpp"
5465 },
5466 {
5467 "match": "\\&",
5468 "name": "entity.name.operator.type.reference.cpp"
5469 }
5470 ]
5471 },
5472 "59": {
5473 "patterns": [
5474 {
5475 "include": "source.cpp#inline_comment"
5476 }
5477 ]
5478 },
5479 "60": {
5480 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5481 },
5482 "61": {
5483 "name": "comment.block.cpp"
5484 },
5485 "62": {
5486 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5487 },
5488 "63": {
5489 "patterns": [
5490 {
5491 "include": "source.cpp#inline_comment"
5492 }
5493 ]
5494 },
5495 "64": {
5496 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5497 },
5498 "65": {
5499 "name": "comment.block.cpp"
5500 },
5501 "66": {
5502 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5503 },
5504 "67": {
5505 "patterns": [
5506 {
5507 "include": "source.cpp#inline_comment"
5508 }
5509 ]
5510 },
5511 "68": {
5512 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5513 },
5514 "69": {
5515 "name": "comment.block.cpp"
5516 },
5517 "70": {
5518 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5519 },
5520 "71": {
5521 "name": "entity.name.operator.type.array.cpp"
5522 },
5523 "72": {
5524 "name": "entity.name.operator.custom-literal.cpp"
5525 },
5526 "73": {
5527 "patterns": [
5528 {
5529 "include": "source.cpp#inline_comment"
5530 }
5531 ]
5532 },
5533 "74": {
5534 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5535 },
5536 "75": {
5537 "name": "comment.block.cpp"
5538 },
5539 "76": {
5540 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5541 },
5542 "77": {
5543 "name": "entity.name.operator.custom-literal.cpp"
5544 },
5545 "78": {
5546 "patterns": [
5547 {
5548 "include": "source.cpp#inline_comment"
5549 }
5550 ]
5551 },
5552 "79": {
5553 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5554 },
5555 "80": {
5556 "name": "comment.block.cpp"
5557 },
5558 "81": {
5559 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5560 }
5561 },
5562 "endCaptures": {},
5563 "name": "meta.function.definition.special.operator-overload.cpp",
5564 "patterns": [
5565 {
5566 "begin": "\\G ?",
5567 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
5568 "beginCaptures": {},
5569 "endCaptures": {
5570 "0": {
5571 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"
5572 }
5573 },
5574 "name": "meta.head.function.definition.special.operator-overload.cpp",
5575 "patterns": [
5576 {
5577 "include": "#ever_present_context"
5578 },
5579 {
5580 "include": "#template_call_range"
5581 },
5582 {
5583 "begin": "\\(",
5584 "end": "\\)|(?=(?<!\\\\)\n)",
5585 "beginCaptures": {
5586 "0": {
5587 "name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"
5588 }
5589 },
5590 "endCaptures": {
5591 "0": {
5592 "name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"
5593 }
5594 },
5595 "contentName": "meta.function.definition.parameters.special.operator-overload",
5596 "patterns": [
5597 {
5598 "include": "#function_parameter_context"
5599 },
5600 {
5601 "include": "#evaluation_context"
5602 }
5603 ]
5604 },
5605 {
5606 "include": "source.cpp#qualifiers_and_specifiers_post_parameters"
5607 },
5608 {
5609 "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",
5610 "captures": {
5611 "1": {
5612 "name": "keyword.operator.assignment.cpp"
5613 },
5614 "2": {
5615 "patterns": [
5616 {
5617 "include": "source.cpp#inline_comment"
5618 }
5619 ]
5620 },
5621 "3": {
5622 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5623 },
5624 "4": {
5625 "name": "comment.block.cpp"
5626 },
5627 "5": {
5628 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5629 },
5630 "6": {
5631 "name": "keyword.other.default.function.cpp"
5632 },
5633 "7": {
5634 "name": "keyword.other.delete.function.cpp"
5635 }
5636 }
5637 },
5638 {
5639 "include": "$self"
5640 }
5641 ]
5642 },
5643 {
5644 "begin": "(?<=\\{|<%|\\?\\?<)",
5645 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
5646 "beginCaptures": {},
5647 "endCaptures": {
5648 "0": {
5649 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"
5650 }
5651 },
5652 "name": "meta.body.function.definition.special.operator-overload.cpp",
5653 "patterns": [
5654 {
5655 "include": "#function_body_context"
5656 }
5657 ]
5658 },
5659 {
5660 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
5661 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
5662 "beginCaptures": {},
5663 "endCaptures": {},
5664 "name": "meta.tail.function.definition.special.operator-overload.cpp",
5665 "patterns": [
5666 {
5667 "include": "$self"
5668 }
5669 ]
5670 }
5671 ]
5672 },
5673 "operators": {
5674 "patterns": [
5675 {
5676 "begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
5677 "end": "\\)|(?=(?<!\\\\)\n)",
5678 "beginCaptures": {
5679 "1": {
5680 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
5681 },
5682 "2": {
5683 "patterns": [
5684 {
5685 "include": "source.cpp#inline_comment"
5686 }
5687 ]
5688 },
5689 "3": {
5690 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5691 },
5692 "4": {
5693 "name": "comment.block.cpp"
5694 },
5695 "5": {
5696 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5697 },
5698 "6": {
5699 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
5700 }
5701 },
5702 "endCaptures": {
5703 "0": {
5704 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
5705 }
5706 },
5707 "contentName": "meta.arguments.operator.sizeof",
5708 "patterns": [
5709 {
5710 "include": "#evaluation_context"
5711 }
5712 ]
5713 },
5714 {
5715 "begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
5716 "end": "\\)|(?=(?<!\\\\)\n)",
5717 "beginCaptures": {
5718 "1": {
5719 "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
5720 },
5721 "2": {
5722 "patterns": [
5723 {
5724 "include": "source.cpp#inline_comment"
5725 }
5726 ]
5727 },
5728 "3": {
5729 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5730 },
5731 "4": {
5732 "name": "comment.block.cpp"
5733 },
5734 "5": {
5735 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5736 },
5737 "6": {
5738 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
5739 }
5740 },
5741 "endCaptures": {
5742 "0": {
5743 "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
5744 }
5745 },
5746 "contentName": "meta.arguments.operator.alignof",
5747 "patterns": [
5748 {
5749 "include": "#evaluation_context"
5750 }
5751 ]
5752 },
5753 {
5754 "begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
5755 "end": "\\)|(?=(?<!\\\\)\n)",
5756 "beginCaptures": {
5757 "1": {
5758 "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
5759 },
5760 "2": {
5761 "patterns": [
5762 {
5763 "include": "source.cpp#inline_comment"
5764 }
5765 ]
5766 },
5767 "3": {
5768 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5769 },
5770 "4": {
5771 "name": "comment.block.cpp"
5772 },
5773 "5": {
5774 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5775 },
5776 "6": {
5777 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
5778 }
5779 },
5780 "endCaptures": {
5781 "0": {
5782 "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
5783 }
5784 },
5785 "contentName": "meta.arguments.operator.alignas",
5786 "patterns": [
5787 {
5788 "include": "#evaluation_context"
5789 }
5790 ]
5791 },
5792 {
5793 "begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
5794 "end": "\\)|(?=(?<!\\\\)\n)",
5795 "beginCaptures": {
5796 "1": {
5797 "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
5798 },
5799 "2": {
5800 "patterns": [
5801 {
5802 "include": "source.cpp#inline_comment"
5803 }
5804 ]
5805 },
5806 "3": {
5807 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5808 },
5809 "4": {
5810 "name": "comment.block.cpp"
5811 },
5812 "5": {
5813 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5814 },
5815 "6": {
5816 "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
5817 }
5818 },
5819 "endCaptures": {
5820 "0": {
5821 "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
5822 }
5823 },
5824 "contentName": "meta.arguments.operator.typeid",
5825 "patterns": [
5826 {
5827 "include": "#evaluation_context"
5828 }
5829 ]
5830 },
5831 {
5832 "begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
5833 "end": "\\)|(?=(?<!\\\\)\n)",
5834 "beginCaptures": {
5835 "1": {
5836 "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
5837 },
5838 "2": {
5839 "patterns": [
5840 {
5841 "include": "source.cpp#inline_comment"
5842 }
5843 ]
5844 },
5845 "3": {
5846 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5847 },
5848 "4": {
5849 "name": "comment.block.cpp"
5850 },
5851 "5": {
5852 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5853 },
5854 "6": {
5855 "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
5856 }
5857 },
5858 "endCaptures": {
5859 "0": {
5860 "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
5861 }
5862 },
5863 "contentName": "meta.arguments.operator.noexcept",
5864 "patterns": [
5865 {
5866 "include": "#evaluation_context"
5867 }
5868 ]
5869 },
5870 {
5871 "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
5872 "end": "\\)|(?=(?<!\\\\)\n)",
5873 "beginCaptures": {
5874 "1": {
5875 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
5876 },
5877 "2": {
5878 "patterns": [
5879 {
5880 "include": "source.cpp#inline_comment"
5881 }
5882 ]
5883 },
5884 "3": {
5885 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5886 },
5887 "4": {
5888 "name": "comment.block.cpp"
5889 },
5890 "5": {
5891 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5892 },
5893 "6": {
5894 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
5895 }
5896 },
5897 "endCaptures": {
5898 "0": {
5899 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
5900 }
5901 },
5902 "contentName": "meta.arguments.operator.sizeof.variadic",
5903 "patterns": [
5904 {
5905 "include": "#evaluation_context"
5906 }
5907 ]
5908 },
5909 {
5910 "match": "--",
5911 "name": "keyword.operator.decrement.cpp"
5912 },
5913 {
5914 "match": "\\+\\+",
5915 "name": "keyword.operator.increment.cpp"
5916 },
5917 {
5918 "match": "%=|\\+=|-=|\\*=|(?<!\\()\\/=",
5919 "name": "keyword.operator.assignment.compound.cpp"
5920 },
5921 {
5922 "match": "&=|\\^=|<<=|>>=|\\|=",
5923 "name": "keyword.operator.assignment.compound.bitwise.cpp"
5924 },
5925 {
5926 "match": "<<|>>",
5927 "name": "keyword.operator.bitwise.shift.cpp"
5928 },
5929 {
5930 "match": "!=|<=|>=|==|<|>",
5931 "name": "keyword.operator.comparison.cpp"
5932 },
5933 {
5934 "match": "&&|!|\\|\\|",
5935 "name": "keyword.operator.logical.cpp"
5936 },
5937 {
5938 "match": "&|\\||\\^|~",
5939 "name": "keyword.operator.bitwise.cpp"
5940 },
5941 {
5942 "include": "source.cpp#assignment_operator"
5943 },
5944 {
5945 "match": "%|\\*|\\/|-|\\+",
5946 "name": "keyword.operator.arithmetic.cpp"
5947 },
5948 {
5949 "include": "#ternary_operator"
5950 }
5951 ]
5952 },
5953 "parameter": {
5954 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)",
5955 "end": "(?:(?=\\))|(,))|(?=(?<!\\\\)\n)",
5956 "beginCaptures": {
5957 "1": {
5958 "patterns": [
5959 {
5960 "include": "source.cpp#inline_comment"
5961 }
5962 ]
5963 },
5964 "2": {
5965 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
5966 },
5967 "3": {
5968 "name": "comment.block.cpp"
5969 },
5970 "4": {
5971 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
5972 }
5973 },
5974 "endCaptures": {
5975 "1": {
5976 "name": "punctuation.separator.delimiter.comma.cpp"
5977 }
5978 },
5979 "name": "meta.parameter.cpp",
5980 "patterns": [
5981 {
5982 "include": "#ever_present_context"
5983 },
5984 {
5985 "include": "#string_context"
5986 },
5987 {
5988 "include": "#function_pointer_parameter"
5989 },
5990 {
5991 "include": "#decltype"
5992 },
5993 {
5994 "include": "source.cpp#vararg_ellipses"
5995 },
5996 {
5997 "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))(?=,|\\)|=)",
5998 "captures": {
5999 "1": {
6000 "patterns": [
6001 {
6002 "include": "#storage_types"
6003 }
6004 ]
6005 },
6006 "2": {
6007 "name": "storage.modifier.specifier.parameter.cpp"
6008 },
6009 "3": {
6010 "patterns": [
6011 {
6012 "include": "source.cpp#inline_comment"
6013 }
6014 ]
6015 },
6016 "4": {
6017 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6018 },
6019 "5": {
6020 "name": "comment.block.cpp"
6021 },
6022 "6": {
6023 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6024 },
6025 "7": {
6026 "patterns": [
6027 {
6028 "include": "source.cpp#inline_comment"
6029 }
6030 ]
6031 },
6032 "8": {
6033 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6034 },
6035 "9": {
6036 "name": "comment.block.cpp"
6037 },
6038 "10": {
6039 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6040 },
6041 "11": {
6042 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
6043 },
6044 "12": {
6045 "name": "storage.type.cpp storage.type.built-in.cpp"
6046 },
6047 "13": {
6048 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
6049 },
6050 "14": {
6051 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
6052 },
6053 "15": {
6054 "name": "entity.name.type.parameter.cpp"
6055 },
6056 "16": {
6057 "patterns": [
6058 {
6059 "include": "source.cpp#inline_comment"
6060 }
6061 ]
6062 },
6063 "17": {
6064 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6065 },
6066 "18": {
6067 "name": "comment.block.cpp"
6068 },
6069 "19": {
6070 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6071 }
6072 }
6073 },
6074 {
6075 "include": "#storage_types"
6076 },
6077 {
6078 "include": "source.cpp#scope_resolution_parameter_inner_generated"
6079 },
6080 {
6081 "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
6082 "name": "storage.type.$0.cpp"
6083 },
6084 {
6085 "begin": "(?<==)",
6086 "end": "(?:(?=\\))|(,))|(?=(?<!\\\\)\n)",
6087 "beginCaptures": {},
6088 "endCaptures": {
6089 "1": {
6090 "name": "punctuation.separator.delimiter.comma.cpp"
6091 }
6092 },
6093 "patterns": [
6094 {
6095 "include": "#evaluation_context"
6096 }
6097 ]
6098 },
6099 {
6100 "match": "\\=",
6101 "name": "keyword.operator.assignment.cpp"
6102 },
6103 {
6104 "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)",
6105 "captures": {
6106 "1": {
6107 "patterns": [
6108 {
6109 "include": "source.cpp#inline_comment"
6110 }
6111 ]
6112 },
6113 "2": {
6114 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6115 },
6116 "3": {
6117 "name": "comment.block.cpp"
6118 },
6119 "4": {
6120 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6121 },
6122 "5": {
6123 "name": "variable.parameter.cpp"
6124 },
6125 "6": {
6126 "patterns": [
6127 {
6128 "include": "source.cpp#inline_comment"
6129 }
6130 ]
6131 },
6132 "7": {
6133 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6134 },
6135 "8": {
6136 "name": "comment.block.cpp"
6137 },
6138 "9": {
6139 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6140 }
6141 }
6142 },
6143 {
6144 "include": "#attributes_context"
6145 },
6146 {
6147 "begin": "\\[",
6148 "end": "\\]|(?=(?<!\\\\)\n)",
6149 "beginCaptures": {
6150 "0": {
6151 "name": "punctuation.definition.begin.bracket.square.array.type.cpp"
6152 }
6153 },
6154 "endCaptures": {
6155 "0": {
6156 "name": "punctuation.definition.end.bracket.square.array.type.cpp"
6157 }
6158 },
6159 "name": "meta.bracket.square.array.cpp",
6160 "patterns": [
6161 {
6162 "include": "#evaluation_context"
6163 }
6164 ]
6165 },
6166 {
6167 "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)",
6168 "name": "entity.name.type.parameter.cpp"
6169 },
6170 {
6171 "include": "#template_call_range"
6172 },
6173 {
6174 "match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)",
6175 "captures": {
6176 "0": {
6177 "patterns": [
6178 {
6179 "match": "\\*",
6180 "name": "storage.modifier.pointer.cpp"
6181 },
6182 {
6183 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
6184 "captures": {
6185 "1": {
6186 "patterns": [
6187 {
6188 "include": "source.cpp#inline_comment"
6189 }
6190 ]
6191 },
6192 "2": {
6193 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6194 },
6195 "3": {
6196 "name": "comment.block.cpp"
6197 },
6198 "4": {
6199 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6200 }
6201 },
6202 "name": "invalid.illegal.reference-type.cpp"
6203 },
6204 {
6205 "match": "\\&",
6206 "name": "storage.modifier.reference.cpp"
6207 }
6208 ]
6209 },
6210 "1": {
6211 "patterns": [
6212 {
6213 "include": "source.cpp#inline_comment"
6214 }
6215 ]
6216 },
6217 "2": {
6218 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6219 },
6220 "3": {
6221 "name": "comment.block.cpp"
6222 },
6223 "4": {
6224 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6225 },
6226 "5": {
6227 "patterns": [
6228 {
6229 "include": "source.cpp#inline_comment"
6230 }
6231 ]
6232 },
6233 "6": {
6234 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6235 },
6236 "7": {
6237 "name": "comment.block.cpp"
6238 },
6239 "8": {
6240 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6241 }
6242 }
6243 },
6244 {
6245 "include": "#ever_present_context"
6246 }
6247 ]
6248 },
6249 "parameter_or_maybe_value": {
6250 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)",
6251 "end": "(?:(?=\\))|(,))|(?=(?<!\\\\)\n)",
6252 "beginCaptures": {
6253 "1": {
6254 "patterns": [
6255 {
6256 "include": "source.cpp#inline_comment"
6257 }
6258 ]
6259 },
6260 "2": {
6261 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6262 },
6263 "3": {
6264 "name": "comment.block.cpp"
6265 },
6266 "4": {
6267 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6268 }
6269 },
6270 "endCaptures": {
6271 "1": {
6272 "name": "punctuation.separator.delimiter.comma.cpp"
6273 }
6274 },
6275 "name": "meta.parameter.cpp",
6276 "patterns": [
6277 {
6278 "include": "#ever_present_context"
6279 },
6280 {
6281 "include": "#function_pointer_parameter"
6282 },
6283 {
6284 "include": "source.cpp#memory_operators"
6285 },
6286 {
6287 "include": "#builtin_storage_type_initilizer"
6288 },
6289 {
6290 "include": "#curly_initializer"
6291 },
6292 {
6293 "include": "#decltype"
6294 },
6295 {
6296 "include": "source.cpp#vararg_ellipses"
6297 },
6298 {
6299 "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))(?=,|\\)|=)",
6300 "captures": {
6301 "1": {
6302 "patterns": [
6303 {
6304 "include": "#storage_types"
6305 }
6306 ]
6307 },
6308 "2": {
6309 "name": "storage.modifier.specifier.parameter.cpp"
6310 },
6311 "3": {
6312 "patterns": [
6313 {
6314 "include": "source.cpp#inline_comment"
6315 }
6316 ]
6317 },
6318 "4": {
6319 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6320 },
6321 "5": {
6322 "name": "comment.block.cpp"
6323 },
6324 "6": {
6325 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6326 },
6327 "7": {
6328 "patterns": [
6329 {
6330 "include": "source.cpp#inline_comment"
6331 }
6332 ]
6333 },
6334 "8": {
6335 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6336 },
6337 "9": {
6338 "name": "comment.block.cpp"
6339 },
6340 "10": {
6341 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6342 },
6343 "11": {
6344 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
6345 },
6346 "12": {
6347 "name": "storage.type.cpp storage.type.built-in.cpp"
6348 },
6349 "13": {
6350 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
6351 },
6352 "14": {
6353 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
6354 },
6355 "15": {
6356 "name": "entity.name.type.parameter.cpp"
6357 },
6358 "16": {
6359 "patterns": [
6360 {
6361 "include": "source.cpp#inline_comment"
6362 }
6363 ]
6364 },
6365 "17": {
6366 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6367 },
6368 "18": {
6369 "name": "comment.block.cpp"
6370 },
6371 "19": {
6372 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6373 }
6374 }
6375 },
6376 {
6377 "include": "#storage_types"
6378 },
6379 {
6380 "include": "#function_call"
6381 },
6382 {
6383 "include": "source.cpp#scope_resolution_parameter_inner_generated"
6384 },
6385 {
6386 "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
6387 "name": "storage.type.$0.cpp"
6388 },
6389 {
6390 "begin": "(?<==)",
6391 "end": "(?:(?=\\))|(,))|(?=(?<!\\\\)\n)",
6392 "beginCaptures": {},
6393 "endCaptures": {
6394 "1": {
6395 "name": "punctuation.separator.delimiter.comma.cpp"
6396 }
6397 },
6398 "patterns": [
6399 {
6400 "include": "#evaluation_context"
6401 }
6402 ]
6403 },
6404 {
6405 "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|$)))",
6406 "captures": {
6407 "1": {
6408 "patterns": [
6409 {
6410 "include": "source.cpp#inline_comment"
6411 }
6412 ]
6413 },
6414 "2": {
6415 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6416 },
6417 "3": {
6418 "name": "comment.block.cpp"
6419 },
6420 "4": {
6421 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6422 },
6423 "5": {
6424 "name": "variable.parameter.cpp"
6425 },
6426 "6": {
6427 "patterns": [
6428 {
6429 "include": "source.cpp#inline_comment"
6430 }
6431 ]
6432 },
6433 "7": {
6434 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6435 },
6436 "8": {
6437 "name": "comment.block.cpp"
6438 },
6439 "9": {
6440 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6441 }
6442 }
6443 },
6444 {
6445 "include": "#attributes_context"
6446 },
6447 {
6448 "begin": "\\[",
6449 "end": "\\]|(?=(?<!\\\\)\n)",
6450 "beginCaptures": {
6451 "0": {
6452 "name": "punctuation.definition.begin.bracket.square.array.type.cpp"
6453 }
6454 },
6455 "endCaptures": {
6456 "0": {
6457 "name": "punctuation.definition.end.bracket.square.array.type.cpp"
6458 }
6459 },
6460 "name": "meta.bracket.square.array.cpp",
6461 "patterns": [
6462 {
6463 "include": "#evaluation_context"
6464 }
6465 ]
6466 },
6467 {
6468 "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)",
6469 "name": "entity.name.type.parameter.cpp"
6470 },
6471 {
6472 "include": "#template_call_range"
6473 },
6474 {
6475 "match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)",
6476 "captures": {
6477 "0": {
6478 "patterns": [
6479 {
6480 "match": "\\*",
6481 "name": "storage.modifier.pointer.cpp"
6482 },
6483 {
6484 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
6485 "captures": {
6486 "1": {
6487 "patterns": [
6488 {
6489 "include": "source.cpp#inline_comment"
6490 }
6491 ]
6492 },
6493 "2": {
6494 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6495 },
6496 "3": {
6497 "name": "comment.block.cpp"
6498 },
6499 "4": {
6500 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6501 }
6502 },
6503 "name": "invalid.illegal.reference-type.cpp"
6504 },
6505 {
6506 "match": "\\&",
6507 "name": "storage.modifier.reference.cpp"
6508 }
6509 ]
6510 },
6511 "1": {
6512 "patterns": [
6513 {
6514 "include": "source.cpp#inline_comment"
6515 }
6516 ]
6517 },
6518 "2": {
6519 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6520 },
6521 "3": {
6522 "name": "comment.block.cpp"
6523 },
6524 "4": {
6525 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6526 },
6527 "5": {
6528 "patterns": [
6529 {
6530 "include": "source.cpp#inline_comment"
6531 }
6532 ]
6533 },
6534 "6": {
6535 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6536 },
6537 "7": {
6538 "name": "comment.block.cpp"
6539 },
6540 "8": {
6541 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6542 }
6543 }
6544 },
6545 {
6546 "include": "#evaluation_context"
6547 },
6548 {
6549 "include": "#ever_present_context"
6550 }
6551 ]
6552 },
6553 "parentheses": {
6554 "begin": "\\(",
6555 "end": "\\)|(?=(?<!\\\\)\n)",
6556 "beginCaptures": {
6557 "0": {
6558 "name": "punctuation.section.parens.begin.bracket.round.cpp"
6559 }
6560 },
6561 "endCaptures": {
6562 "0": {
6563 "name": "punctuation.section.parens.end.bracket.round.cpp"
6564 }
6565 },
6566 "name": "meta.parens.cpp",
6567 "patterns": [
6568 {
6569 "include": "source.cpp#over_qualified_types"
6570 },
6571 {
6572 "match": "(?<!:):(?!:)",
6573 "name": "punctuation.separator.colon.range-based.cpp"
6574 },
6575 {
6576 "include": "#evaluation_context"
6577 }
6578 ]
6579 },
6580 "pragma": {
6581 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?pragma\\b",
6582 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",
6583 "beginCaptures": {
6584 "0": {
6585 "name": "keyword.control.directive.pragma.cpp"
6586 },
6587 "1": {
6588 "patterns": [
6589 {
6590 "include": "source.cpp#inline_comment"
6591 }
6592 ]
6593 },
6594 "2": {
6595 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6596 },
6597 "3": {
6598 "name": "comment.block.cpp"
6599 },
6600 "4": {
6601 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6602 },
6603 "5": {
6604 "name": "punctuation.definition.directive.cpp"
6605 }
6606 },
6607 "endCaptures": {},
6608 "name": "meta.preprocessor.pragma.cpp",
6609 "patterns": [
6610 {
6611 "include": "#comments"
6612 },
6613 {
6614 "include": "#string_context"
6615 },
6616 {
6617 "match": "[a-zA-Z_$][\\w\\-$]*",
6618 "name": "entity.other.attribute-name.pragma.preprocessor.cpp"
6619 },
6620 {
6621 "include": "#preprocessor_number_literal"
6622 },
6623 {
6624 "include": "source.cpp#line_continuation_character"
6625 }
6626 ]
6627 },
6628 "preprocessor_conditional_context": {
6629 "patterns": [
6630 {
6631 "include": "#preprocessor_conditional_defined"
6632 },
6633 {
6634 "include": "#comments"
6635 },
6636 {
6637 "include": "source.cpp#language_constants"
6638 },
6639 {
6640 "include": "#string_context"
6641 },
6642 {
6643 "include": "source.cpp#d9bc4796b0b_preprocessor_number_literal"
6644 },
6645 {
6646 "include": "#operators"
6647 },
6648 {
6649 "include": "source.cpp#predefined_macros"
6650 },
6651 {
6652 "include": "source.cpp#macro_name"
6653 },
6654 {
6655 "include": "source.cpp#line_continuation_character"
6656 }
6657 ]
6658 },
6659 "preprocessor_conditional_defined": {
6660 "begin": "((?<!\\w)defined(?!\\w))(\\()",
6661 "end": "(?:\\)|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))|(?=(?<!\\\\)\n)",
6662 "beginCaptures": {
6663 "1": {
6664 "name": "keyword.control.directive.conditional.defined.cpp"
6665 },
6666 "2": {
6667 "name": "punctuation.section.parens.control.defined.cpp"
6668 }
6669 },
6670 "endCaptures": {
6671 "0": {
6672 "name": "punctuation.section.parens.control.defined.cpp"
6673 }
6674 },
6675 "patterns": [
6676 {
6677 "include": "source.cpp#macro_name"
6678 }
6679 ]
6680 },
6681 "preprocessor_conditional_parentheses": {
6682 "begin": "\\(",
6683 "end": "\\)|(?=(?<!\\\\)\n)",
6684 "beginCaptures": {
6685 "0": {
6686 "name": "punctuation.section.parens.begin.bracket.round.cpp"
6687 }
6688 },
6689 "endCaptures": {
6690 "0": {
6691 "name": "punctuation.section.parens.end.bracket.round.cpp"
6692 }
6693 },
6694 "name": "meta.parens.preprocessor.conditional.cpp"
6695 },
6696 "preprocessor_conditional_range": {
6697 "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:(?:ifndef|ifdef)|if))",
6698 "end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",
6699 "beginCaptures": {
6700 "0": {
6701 "name": "keyword.control.directive.conditional.$6.cpp"
6702 },
6703 "1": {
6704 "patterns": [
6705 {
6706 "include": "source.cpp#inline_comment"
6707 }
6708 ]
6709 },
6710 "2": {
6711 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6712 },
6713 "3": {
6714 "name": "comment.block.cpp"
6715 },
6716 "4": {
6717 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6718 },
6719 "5": {
6720 "name": "punctuation.definition.directive.cpp"
6721 },
6722 "6": {}
6723 },
6724 "endCaptures": {},
6725 "contentName": "meta.preprocessor.conditional",
6726 "patterns": [
6727 {
6728 "include": "#preprocessor_conditional_context"
6729 }
6730 ]
6731 },
6732 "preprocessor_context": {
6733 "patterns": [
6734 {
6735 "include": "source.cpp#pragma_mark"
6736 },
6737 {
6738 "include": "#pragma"
6739 },
6740 {
6741 "include": "source.cpp#include"
6742 },
6743 {
6744 "include": "#line"
6745 },
6746 {
6747 "include": "#diagnostic"
6748 },
6749 {
6750 "include": "source.cpp#undef"
6751 },
6752 {
6753 "include": "#preprocessor_conditional_range"
6754 },
6755 {
6756 "include": "source.cpp#single_line_macro"
6757 },
6758 {
6759 "include": "#macro"
6760 },
6761 {
6762 "include": "source.cpp#preprocessor_conditional_standalone"
6763 },
6764 {
6765 "include": "source.cpp#macro_argument"
6766 }
6767 ]
6768 },
6769 "sizeof_operator": {
6770 "begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
6771 "end": "\\)|(?=(?<!\\\\)\n)",
6772 "beginCaptures": {
6773 "1": {
6774 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
6775 },
6776 "2": {
6777 "patterns": [
6778 {
6779 "include": "source.cpp#inline_comment"
6780 }
6781 ]
6782 },
6783 "3": {
6784 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6785 },
6786 "4": {
6787 "name": "comment.block.cpp"
6788 },
6789 "5": {
6790 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6791 },
6792 "6": {
6793 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
6794 }
6795 },
6796 "endCaptures": {
6797 "0": {
6798 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
6799 }
6800 },
6801 "contentName": "meta.arguments.operator.sizeof",
6802 "patterns": [
6803 {
6804 "include": "#evaluation_context"
6805 }
6806 ]
6807 },
6808 "sizeof_variadic_operator": {
6809 "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
6810 "end": "\\)|(?=(?<!\\\\)\n)",
6811 "beginCaptures": {
6812 "1": {
6813 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
6814 },
6815 "2": {
6816 "patterns": [
6817 {
6818 "include": "source.cpp#inline_comment"
6819 }
6820 ]
6821 },
6822 "3": {
6823 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6824 },
6825 "4": {
6826 "name": "comment.block.cpp"
6827 },
6828 "5": {
6829 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6830 },
6831 "6": {
6832 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
6833 }
6834 },
6835 "endCaptures": {
6836 "0": {
6837 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
6838 }
6839 },
6840 "contentName": "meta.arguments.operator.sizeof.variadic",
6841 "patterns": [
6842 {
6843 "include": "#evaluation_context"
6844 }
6845 ]
6846 },
6847 "square_brackets": {
6848 "name": "meta.bracket.square.access",
6849 "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",
6850 "beginCaptures": {
6851 "1": {
6852 "name": "variable.other.object"
6853 },
6854 "2": {
6855 "name": "punctuation.definition.begin.bracket.square"
6856 }
6857 },
6858 "end": "\\]|(?=(?<!\\\\)\n)",
6859 "endCaptures": {
6860 "0": {
6861 "name": "punctuation.definition.end.bracket.square"
6862 }
6863 },
6864 "patterns": [
6865 {
6866 "include": "#evaluation_context"
6867 }
6868 ]
6869 },
6870 "static_assert": {
6871 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)static_assert|_Static_assert(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
6872 "end": "\\)|(?=(?<!\\\\)\n)",
6873 "beginCaptures": {
6874 "1": {
6875 "patterns": [
6876 {
6877 "include": "source.cpp#inline_comment"
6878 }
6879 ]
6880 },
6881 "2": {
6882 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6883 },
6884 "3": {
6885 "name": "comment.block.cpp"
6886 },
6887 "4": {
6888 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6889 },
6890 "5": {
6891 "name": "keyword.other.static_assert.cpp"
6892 },
6893 "6": {
6894 "patterns": [
6895 {
6896 "include": "source.cpp#inline_comment"
6897 }
6898 ]
6899 },
6900 "7": {
6901 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
6902 },
6903 "8": {
6904 "name": "comment.block.cpp"
6905 },
6906 "9": {
6907 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
6908 },
6909 "10": {
6910 "name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp"
6911 }
6912 },
6913 "endCaptures": {
6914 "0": {
6915 "name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp"
6916 }
6917 },
6918 "patterns": [
6919 {
6920 "begin": "(,)(?:\\s+)?(?=(?:L|u8|u|U(?:\\s+)?\\\")?)",
6921 "end": "(?=\\))|(?=(?<!\\\\)\n)",
6922 "beginCaptures": {
6923 "1": {
6924 "name": "punctuation.separator.delimiter.comma.cpp"
6925 }
6926 },
6927 "endCaptures": {},
6928 "name": "meta.static_assert.message.cpp",
6929 "patterns": [
6930 {
6931 "include": "#string_context"
6932 }
6933 ]
6934 },
6935 {
6936 "include": "#evaluation_context"
6937 }
6938 ]
6939 },
6940 "storage_types": {
6941 "patterns": [
6942 {
6943 "include": "source.cpp#storage_specifiers"
6944 },
6945 {
6946 "include": "source.cpp#inline_builtin_storage_type"
6947 },
6948 {
6949 "include": "#decltype"
6950 },
6951 {
6952 "include": "source.cpp#typename"
6953 }
6954 ]
6955 },
6956 "string_context": {
6957 "patterns": [
6958 {
6959 "begin": "((?:u|u8|U|L)?)\"",
6960 "end": "(\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\\\)\n)",
6961 "beginCaptures": {
6962 "0": {
6963 "name": "punctuation.definition.string.begin.cpp"
6964 },
6965 "1": {
6966 "name": "meta.encoding.cpp"
6967 }
6968 },
6969 "endCaptures": {
6970 "1": {
6971 "name": "punctuation.definition.string.end.cpp"
6972 },
6973 "2": {
6974 "name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp"
6975 },
6976 "3": {
6977 "name": "keyword.other.suffix.literal.user-defined.string.cpp"
6978 }
6979 },
6980 "name": "string.quoted.double.cpp",
6981 "patterns": [
6982 {
6983 "match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})",
6984 "name": "constant.character.escape.cpp"
6985 },
6986 {
6987 "match": "\\\\['\"?\\\\abfnrtv]",
6988 "name": "constant.character.escape.cpp"
6989 },
6990 {
6991 "match": "\\\\[0-7]{1,3}",
6992 "name": "constant.character.escape.cpp"
6993 },
6994 {
6995 "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
6996 "captures": {
6997 "1": {
6998 "name": "constant.character.escape.cpp"
6999 },
7000 "2": {
7001 "name": "invalid.illegal.unknown-escape.cpp"
7002 }
7003 }
7004 },
7005 {
7006 "include": "source.cpp#string_escapes_context_c"
7007 }
7008 ]
7009 },
7010 {
7011 "begin": "(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'",
7012 "end": "(')(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\\\)\n)",
7013 "beginCaptures": {
7014 "0": {
7015 "name": "punctuation.definition.string.begin.cpp"
7016 },
7017 "1": {
7018 "name": "meta.encoding.cpp"
7019 }
7020 },
7021 "endCaptures": {
7022 "1": {
7023 "name": "punctuation.definition.string.end.cpp"
7024 },
7025 "2": {
7026 "name": "keyword.other.suffix.literal.user-defined.reserved.character.cpp"
7027 },
7028 "3": {
7029 "name": "keyword.other.suffix.literal.user-defined.character.cpp"
7030 }
7031 },
7032 "name": "string.quoted.single.cpp",
7033 "patterns": [
7034 {
7035 "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
7036 "captures": {
7037 "1": {
7038 "name": "constant.character.escape.cpp"
7039 },
7040 "2": {
7041 "name": "invalid.illegal.unknown-escape.cpp"
7042 }
7043 }
7044 },
7045 {
7046 "include": "source.cpp#string_escapes_context_c"
7047 },
7048 {
7049 "include": "source.cpp#line_continuation_character"
7050 }
7051 ]
7052 },
7053 {
7054 "begin": "((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\(",
7055 "end": "\\)(?:(?:_r|re)|regex)\\\"|(?=(?<!\\\\)\n)",
7056 "beginCaptures": {
7057 "0": {
7058 "name": "punctuation.definition.string.begin.cpp"
7059 },
7060 "1": {
7061 "name": "meta.encoding.cpp"
7062 }
7063 },
7064 "endCaptures": {
7065 "0": {
7066 "name": "punctuation.definition.string.end.cpp"
7067 }
7068 },
7069 "name": "string.quoted.double.raw.regex.cpp",
7070 "patterns": [
7071 {
7072 "include": "source.regexp.python"
7073 }
7074 ]
7075 },
7076 {
7077 "begin": "((?:[uUL]8?)?R)\\\"(?:glsl|GLSL)\\(",
7078 "end": "\\)(?:glsl|GLSL)\\\"|(?=(?<!\\\\)\n)",
7079 "beginCaptures": {
7080 "0": {
7081 "name": "punctuation.definition.string.begin.cpp"
7082 },
7083 "1": {
7084 "name": "meta.encoding.cpp"
7085 }
7086 },
7087 "endCaptures": {
7088 "0": {
7089 "name": "punctuation.definition.string.end.cpp"
7090 }
7091 },
7092 "name": "meta.string.quoted.double.raw.glsl.cpp",
7093 "patterns": [
7094 {
7095 "include": "source.glsl"
7096 }
7097 ]
7098 },
7099 {
7100 "begin": "((?:[uUL]8?)?R)\\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(",
7101 "end": "\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\\"|(?=(?<!\\\\)\n)",
7102 "beginCaptures": {
7103 "0": {
7104 "name": "punctuation.definition.string.begin.cpp"
7105 },
7106 "1": {
7107 "name": "meta.encoding.cpp"
7108 }
7109 },
7110 "endCaptures": {
7111 "0": {
7112 "name": "punctuation.definition.string.end.cpp"
7113 }
7114 },
7115 "name": "meta.string.quoted.double.raw.sql.cpp",
7116 "patterns": [
7117 {
7118 "include": "source.sql"
7119 }
7120 ]
7121 },
7122 {
7123 "begin": "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(",
7124 "beginCaptures": {
7125 "0": {
7126 "name": "punctuation.definition.string.begin"
7127 },
7128 "1": {
7129 "name": "meta.encoding"
7130 },
7131 "3": {
7132 "name": "invalid.illegal.delimiter-too-long"
7133 }
7134 },
7135 "end": "(\\)\\2(\\3)\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\\\)\n)",
7136 "endCaptures": {
7137 "1": {
7138 "name": "punctuation.definition.string.end"
7139 },
7140 "2": {
7141 "name": "invalid.illegal.delimiter-too-long"
7142 },
7143 "3": {
7144 "name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp"
7145 },
7146 "4": {
7147 "name": "keyword.other.suffix.literal.user-defined.string.cpp"
7148 }
7149 },
7150 "name": "string.quoted.double.raw"
7151 }
7152 ]
7153 },
7154 "struct_block": {
7155 "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))(:(?!:)))?)",
7156 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
7157 "beginCaptures": {
7158 "0": {
7159 "name": "meta.head.struct.cpp"
7160 },
7161 "1": {
7162 "name": "storage.type.$1.cpp"
7163 },
7164 "2": {
7165 "patterns": [
7166 {
7167 "include": "source.cpp#inline_comment"
7168 }
7169 ]
7170 },
7171 "3": {
7172 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7173 },
7174 "4": {
7175 "name": "comment.block.cpp"
7176 },
7177 "5": {
7178 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7179 },
7180 "6": {
7181 "patterns": [
7182 {
7183 "include": "#attributes_context"
7184 },
7185 {
7186 "include": "source.cpp#number_literal"
7187 }
7188 ]
7189 },
7190 "7": {
7191 "patterns": [
7192 {
7193 "include": "source.cpp#inline_comment"
7194 }
7195 ]
7196 },
7197 "8": {
7198 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7199 },
7200 "9": {
7201 "name": "comment.block.cpp"
7202 },
7203 "10": {
7204 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7205 },
7206 "11": {
7207 "patterns": [
7208 {
7209 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
7210 "captures": {
7211 "1": {
7212 "name": "storage.type.modifier.final.cpp"
7213 },
7214 "2": {
7215 "patterns": [
7216 {
7217 "include": "source.cpp#inline_comment"
7218 }
7219 ]
7220 },
7221 "3": {
7222 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7223 },
7224 "4": {
7225 "name": "comment.block.cpp"
7226 },
7227 "5": {
7228 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7229 }
7230 }
7231 },
7232 {
7233 "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)))?(?=:|{|$)",
7234 "captures": {
7235 "1": {
7236 "name": "entity.name.type.struct.cpp"
7237 },
7238 "2": {
7239 "patterns": [
7240 {
7241 "include": "source.cpp#inline_comment"
7242 }
7243 ]
7244 },
7245 "3": {
7246 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7247 },
7248 "4": {
7249 "name": "comment.block.cpp"
7250 },
7251 "5": {
7252 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7253 },
7254 "6": {
7255 "name": "storage.type.modifier.final.cpp"
7256 },
7257 "7": {
7258 "patterns": [
7259 {
7260 "include": "source.cpp#inline_comment"
7261 }
7262 ]
7263 },
7264 "8": {
7265 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7266 },
7267 "9": {
7268 "name": "comment.block.cpp"
7269 },
7270 "10": {
7271 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7272 }
7273 }
7274 },
7275 {
7276 "match": "DLLEXPORT",
7277 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
7278 },
7279 {
7280 "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}))*",
7281 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
7282 }
7283 ]
7284 },
7285 "12": {
7286 "patterns": [
7287 {
7288 "include": "source.cpp#inline_comment"
7289 }
7290 ]
7291 },
7292 "13": {
7293 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7294 },
7295 "14": {
7296 "name": "comment.block.cpp"
7297 },
7298 "15": {
7299 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7300 },
7301 "16": {
7302 "patterns": [
7303 {
7304 "include": "source.cpp#inline_comment"
7305 }
7306 ]
7307 },
7308 "17": {
7309 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7310 },
7311 "18": {
7312 "name": "comment.block.cpp"
7313 },
7314 "19": {
7315 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7316 },
7317 "20": {
7318 "name": "punctuation.separator.colon.inheritance.cpp"
7319 }
7320 },
7321 "endCaptures": {
7322 "1": {
7323 "name": "punctuation.terminator.statement.cpp"
7324 },
7325 "2": {
7326 "name": "punctuation.terminator.statement.cpp"
7327 }
7328 },
7329 "name": "meta.block.struct.cpp",
7330 "patterns": [
7331 {
7332 "begin": "\\G ?",
7333 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
7334 "beginCaptures": {},
7335 "endCaptures": {
7336 "0": {
7337 "name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
7338 }
7339 },
7340 "name": "meta.head.struct.cpp",
7341 "patterns": [
7342 {
7343 "include": "#ever_present_context"
7344 },
7345 {
7346 "include": "#inheritance_context"
7347 },
7348 {
7349 "include": "#template_call_range"
7350 }
7351 ]
7352 },
7353 {
7354 "begin": "(?<=\\{|<%|\\?\\?<)",
7355 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
7356 "beginCaptures": {},
7357 "endCaptures": {
7358 "0": {
7359 "name": "punctuation.section.block.end.bracket.curly.struct.cpp"
7360 }
7361 },
7362 "name": "meta.body.struct.cpp",
7363 "patterns": [
7364 {
7365 "include": "#function_pointer"
7366 },
7367 {
7368 "include": "#static_assert"
7369 },
7370 {
7371 "include": "#constructor_inline"
7372 },
7373 {
7374 "include": "#destructor_inline"
7375 },
7376 {
7377 "include": "$self"
7378 }
7379 ]
7380 },
7381 {
7382 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
7383 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
7384 "beginCaptures": {},
7385 "endCaptures": {},
7386 "name": "meta.tail.struct.cpp",
7387 "patterns": [
7388 {
7389 "include": "$self"
7390 }
7391 ]
7392 }
7393 ]
7394 },
7395 "switch_conditional_parentheses": {
7396 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
7397 "end": "\\)|(?=(?<!\\\\)\n)",
7398 "beginCaptures": {
7399 "1": {
7400 "patterns": [
7401 {
7402 "include": "source.cpp#inline_comment"
7403 }
7404 ]
7405 },
7406 "2": {
7407 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7408 },
7409 "3": {
7410 "name": "comment.block.cpp"
7411 },
7412 "4": {
7413 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7414 },
7415 "5": {
7416 "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"
7417 }
7418 },
7419 "endCaptures": {
7420 "0": {
7421 "name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp"
7422 }
7423 },
7424 "name": "meta.conditional.switch.cpp",
7425 "patterns": [
7426 {
7427 "include": "#evaluation_context"
7428 }
7429 ]
7430 },
7431 "switch_statement": {
7432 "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)switch(?!\\w))",
7433 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
7434 "beginCaptures": {
7435 "0": {
7436 "name": "meta.head.switch.cpp"
7437 },
7438 "1": {
7439 "patterns": [
7440 {
7441 "include": "source.cpp#inline_comment"
7442 }
7443 ]
7444 },
7445 "2": {
7446 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7447 },
7448 "3": {
7449 "name": "comment.block.cpp"
7450 },
7451 "4": {
7452 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7453 },
7454 "5": {
7455 "name": "keyword.control.switch.cpp"
7456 }
7457 },
7458 "endCaptures": {},
7459 "name": "meta.block.switch.cpp",
7460 "patterns": [
7461 {
7462 "begin": "\\G ?",
7463 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
7464 "beginCaptures": {},
7465 "endCaptures": {
7466 "0": {
7467 "name": "punctuation.section.block.begin.bracket.curly.switch.cpp"
7468 }
7469 },
7470 "name": "meta.head.switch.cpp",
7471 "patterns": [
7472 {
7473 "include": "#switch_conditional_parentheses"
7474 },
7475 {
7476 "include": "$self"
7477 }
7478 ]
7479 },
7480 {
7481 "begin": "(?<=\\{|<%|\\?\\?<)",
7482 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
7483 "beginCaptures": {},
7484 "endCaptures": {
7485 "0": {
7486 "name": "punctuation.section.block.end.bracket.curly.switch.cpp"
7487 }
7488 },
7489 "name": "meta.body.switch.cpp",
7490 "patterns": [
7491 {
7492 "include": "#default_statement"
7493 },
7494 {
7495 "include": "#case_statement"
7496 },
7497 {
7498 "include": "$self"
7499 }
7500 ]
7501 },
7502 {
7503 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
7504 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
7505 "beginCaptures": {},
7506 "endCaptures": {},
7507 "name": "meta.tail.switch.cpp",
7508 "patterns": [
7509 {
7510 "include": "$self"
7511 }
7512 ]
7513 }
7514 ]
7515 },
7516 "template_call_context": {
7517 "patterns": [
7518 {
7519 "include": "#ever_present_context"
7520 },
7521 {
7522 "include": "#template_call_range"
7523 },
7524 {
7525 "include": "#storage_types"
7526 },
7527 {
7528 "include": "source.cpp#language_constants"
7529 },
7530 {
7531 "include": "source.cpp#scope_resolution_template_call_inner_generated"
7532 },
7533 {
7534 "include": "#operators"
7535 },
7536 {
7537 "include": "source.cpp#number_literal"
7538 },
7539 {
7540 "include": "#string_context"
7541 },
7542 {
7543 "include": "source.cpp#comma_in_template_argument"
7544 },
7545 {
7546 "include": "source.cpp#qualified_type"
7547 }
7548 ]
7549 },
7550 "template_call_range": {
7551 "begin": "<",
7552 "end": ">|(?=(?<!\\\\)\n)",
7553 "beginCaptures": {
7554 "0": {
7555 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
7556 }
7557 },
7558 "endCaptures": {
7559 "0": {
7560 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
7561 }
7562 },
7563 "name": "meta.template.call.cpp",
7564 "patterns": [
7565 {
7566 "include": "#template_call_context"
7567 }
7568 ]
7569 },
7570 "template_definition": {
7571 "begin": "(?<!\\w)(template)(?:\\s+)?(<)",
7572 "end": ">|(?=(?<!\\\\)\n)",
7573 "beginCaptures": {
7574 "1": {
7575 "name": "storage.type.template.cpp"
7576 },
7577 "2": {
7578 "name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
7579 }
7580 },
7581 "endCaptures": {
7582 "0": {
7583 "name": "punctuation.section.angle-brackets.end.template.definition.cpp"
7584 }
7585 },
7586 "name": "meta.template.definition.cpp",
7587 "patterns": [
7588 {
7589 "begin": "(?<=\\w)(?:\\s+)?<",
7590 "end": ">|(?=(?<!\\\\)\n)",
7591 "beginCaptures": {
7592 "0": {
7593 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
7594 }
7595 },
7596 "endCaptures": {
7597 "0": {
7598 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
7599 }
7600 },
7601 "patterns": [
7602 {
7603 "include": "#template_call_context"
7604 }
7605 ]
7606 },
7607 {
7608 "include": "#template_definition_context"
7609 }
7610 ]
7611 },
7612 "template_definition_context": {
7613 "patterns": [
7614 {
7615 "include": "source.cpp#scope_resolution_template_definition_inner_generated"
7616 },
7617 {
7618 "include": "source.cpp#template_definition_argument"
7619 },
7620 {
7621 "include": "source.cpp#template_argument_defaulted"
7622 },
7623 {
7624 "include": "source.cpp#template_call_innards"
7625 },
7626 {
7627 "include": "#evaluation_context"
7628 }
7629 ]
7630 },
7631 "ternary_operator": {
7632 "begin": "\\?",
7633 "end": ":|(?=(?<!\\\\)\n)",
7634 "beginCaptures": {
7635 "0": {
7636 "name": "keyword.operator.ternary.cpp"
7637 }
7638 },
7639 "endCaptures": {
7640 "0": {
7641 "name": "keyword.operator.ternary.cpp"
7642 }
7643 },
7644 "patterns": [
7645 {
7646 "include": "#ever_present_context"
7647 },
7648 {
7649 "include": "#string_context"
7650 },
7651 {
7652 "include": "source.cpp#number_literal"
7653 },
7654 {
7655 "include": "#method_access"
7656 },
7657 {
7658 "include": "source.cpp#member_access"
7659 },
7660 {
7661 "include": "source.cpp#predefined_macros"
7662 },
7663 {
7664 "include": "#operators"
7665 },
7666 {
7667 "include": "source.cpp#memory_operators"
7668 },
7669 {
7670 "include": "source.cpp#wordlike_operators"
7671 },
7672 {
7673 "include": "source.cpp#type_casting_operators"
7674 },
7675 {
7676 "include": "source.cpp#control_flow_keywords"
7677 },
7678 {
7679 "include": "source.cpp#exception_keywords"
7680 },
7681 {
7682 "include": "source.cpp#the_this_keyword"
7683 },
7684 {
7685 "include": "source.cpp#language_constants"
7686 },
7687 {
7688 "include": "#builtin_storage_type_initilizer"
7689 },
7690 {
7691 "include": "source.cpp#qualifiers_and_specifiers_post_parameters"
7692 },
7693 {
7694 "include": "source.cpp#functional_specifiers_pre_parameters"
7695 },
7696 {
7697 "include": "#storage_types"
7698 },
7699 {
7700 "include": "#lambdas"
7701 },
7702 {
7703 "include": "#attributes_context"
7704 },
7705 {
7706 "include": "#parentheses"
7707 },
7708 {
7709 "include": "#function_call"
7710 },
7711 {
7712 "include": "source.cpp#scope_resolution_inner_generated"
7713 },
7714 {
7715 "include": "#square_brackets"
7716 },
7717 {
7718 "include": "source.cpp#semicolon"
7719 },
7720 {
7721 "include": "source.cpp#comma"
7722 }
7723 ],
7724 "applyEndPatternLast": 1
7725 },
7726 "typedef_class": {
7727 "begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)class(?!\\w))",
7728 "end": "(?<=;)|(?=(?<!\\\\)\n)",
7729 "beginCaptures": {
7730 "1": {
7731 "name": "keyword.other.typedef.cpp"
7732 }
7733 },
7734 "endCaptures": {},
7735 "patterns": [
7736 {
7737 "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))(:(?!:)))?)",
7738 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
7739 "beginCaptures": {
7740 "0": {
7741 "name": "meta.head.class.cpp"
7742 },
7743 "1": {
7744 "name": "storage.type.$1.cpp"
7745 },
7746 "2": {
7747 "patterns": [
7748 {
7749 "include": "source.cpp#inline_comment"
7750 }
7751 ]
7752 },
7753 "3": {
7754 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7755 },
7756 "4": {
7757 "name": "comment.block.cpp"
7758 },
7759 "5": {
7760 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7761 },
7762 "6": {
7763 "patterns": [
7764 {
7765 "include": "#attributes_context"
7766 },
7767 {
7768 "include": "source.cpp#number_literal"
7769 }
7770 ]
7771 },
7772 "7": {
7773 "patterns": [
7774 {
7775 "include": "source.cpp#inline_comment"
7776 }
7777 ]
7778 },
7779 "8": {
7780 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7781 },
7782 "9": {
7783 "name": "comment.block.cpp"
7784 },
7785 "10": {
7786 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7787 },
7788 "11": {
7789 "patterns": [
7790 {
7791 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
7792 "captures": {
7793 "1": {
7794 "name": "storage.type.modifier.final.cpp"
7795 },
7796 "2": {
7797 "patterns": [
7798 {
7799 "include": "source.cpp#inline_comment"
7800 }
7801 ]
7802 },
7803 "3": {
7804 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7805 },
7806 "4": {
7807 "name": "comment.block.cpp"
7808 },
7809 "5": {
7810 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7811 }
7812 }
7813 },
7814 {
7815 "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)))?(?=:|{|$)",
7816 "captures": {
7817 "1": {
7818 "name": "entity.name.type.class.cpp"
7819 },
7820 "2": {
7821 "patterns": [
7822 {
7823 "include": "source.cpp#inline_comment"
7824 }
7825 ]
7826 },
7827 "3": {
7828 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7829 },
7830 "4": {
7831 "name": "comment.block.cpp"
7832 },
7833 "5": {
7834 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7835 },
7836 "6": {
7837 "name": "storage.type.modifier.final.cpp"
7838 },
7839 "7": {
7840 "patterns": [
7841 {
7842 "include": "source.cpp#inline_comment"
7843 }
7844 ]
7845 },
7846 "8": {
7847 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7848 },
7849 "9": {
7850 "name": "comment.block.cpp"
7851 },
7852 "10": {
7853 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7854 }
7855 }
7856 },
7857 {
7858 "match": "DLLEXPORT",
7859 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
7860 },
7861 {
7862 "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}))*",
7863 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
7864 }
7865 ]
7866 },
7867 "12": {
7868 "patterns": [
7869 {
7870 "include": "source.cpp#inline_comment"
7871 }
7872 ]
7873 },
7874 "13": {
7875 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7876 },
7877 "14": {
7878 "name": "comment.block.cpp"
7879 },
7880 "15": {
7881 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7882 },
7883 "16": {
7884 "patterns": [
7885 {
7886 "include": "source.cpp#inline_comment"
7887 }
7888 ]
7889 },
7890 "17": {
7891 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7892 },
7893 "18": {
7894 "name": "comment.block.cpp"
7895 },
7896 "19": {
7897 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7898 },
7899 "20": {
7900 "name": "punctuation.separator.colon.inheritance.cpp"
7901 }
7902 },
7903 "endCaptures": {
7904 "1": {
7905 "name": "punctuation.terminator.statement.cpp"
7906 },
7907 "2": {
7908 "name": "punctuation.terminator.statement.cpp"
7909 }
7910 },
7911 "name": "meta.block.class.cpp",
7912 "patterns": [
7913 {
7914 "begin": "\\G ?",
7915 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
7916 "beginCaptures": {},
7917 "endCaptures": {
7918 "0": {
7919 "name": "punctuation.section.block.begin.bracket.curly.class.cpp"
7920 }
7921 },
7922 "name": "meta.head.class.cpp",
7923 "patterns": [
7924 {
7925 "include": "#ever_present_context"
7926 },
7927 {
7928 "include": "#inheritance_context"
7929 },
7930 {
7931 "include": "#template_call_range"
7932 }
7933 ]
7934 },
7935 {
7936 "begin": "(?<=\\{|<%|\\?\\?<)",
7937 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
7938 "beginCaptures": {},
7939 "endCaptures": {
7940 "0": {
7941 "name": "punctuation.section.block.end.bracket.curly.class.cpp"
7942 }
7943 },
7944 "name": "meta.body.class.cpp",
7945 "patterns": [
7946 {
7947 "include": "#function_pointer"
7948 },
7949 {
7950 "include": "#static_assert"
7951 },
7952 {
7953 "include": "#constructor_inline"
7954 },
7955 {
7956 "include": "#destructor_inline"
7957 },
7958 {
7959 "include": "$self"
7960 }
7961 ]
7962 },
7963 {
7964 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
7965 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
7966 "beginCaptures": {},
7967 "endCaptures": {},
7968 "name": "meta.tail.class.cpp",
7969 "patterns": [
7970 {
7971 "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))",
7972 "captures": {
7973 "1": {
7974 "patterns": [
7975 {
7976 "match": "\\*",
7977 "name": "storage.modifier.pointer.cpp"
7978 },
7979 {
7980 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
7981 "captures": {
7982 "1": {
7983 "patterns": [
7984 {
7985 "include": "source.cpp#inline_comment"
7986 }
7987 ]
7988 },
7989 "2": {
7990 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
7991 },
7992 "3": {
7993 "name": "comment.block.cpp"
7994 },
7995 "4": {
7996 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
7997 }
7998 },
7999 "name": "invalid.illegal.reference-type.cpp"
8000 },
8001 {
8002 "match": "\\&",
8003 "name": "storage.modifier.reference.cpp"
8004 }
8005 ]
8006 },
8007 "2": {
8008 "patterns": [
8009 {
8010 "include": "source.cpp#inline_comment"
8011 }
8012 ]
8013 },
8014 "3": {
8015 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8016 },
8017 "4": {
8018 "name": "comment.block.cpp"
8019 },
8020 "5": {
8021 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8022 },
8023 "6": {
8024 "patterns": [
8025 {
8026 "include": "source.cpp#inline_comment"
8027 }
8028 ]
8029 },
8030 "7": {
8031 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8032 },
8033 "8": {
8034 "name": "comment.block.cpp"
8035 },
8036 "9": {
8037 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8038 },
8039 "10": {
8040 "patterns": [
8041 {
8042 "include": "source.cpp#inline_comment"
8043 }
8044 ]
8045 },
8046 "11": {
8047 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8048 },
8049 "12": {
8050 "name": "comment.block.cpp"
8051 },
8052 "13": {
8053 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8054 },
8055 "14": {
8056 "name": "entity.name.type.alias.cpp"
8057 }
8058 }
8059 },
8060 {
8061 "match": ","
8062 }
8063 ]
8064 }
8065 ]
8066 }
8067 ]
8068 },
8069 "typedef_function_pointer": {
8070 "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*\\))",
8071 "end": "(?<=;)|(?=(?<!\\\\)\n)",
8072 "beginCaptures": {
8073 "1": {
8074 "name": "keyword.other.typedef.cpp"
8075 }
8076 },
8077 "endCaptures": {},
8078 "patterns": [
8079 {
8080 "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+)?(\\()",
8081 "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?<!\\\\)\n)",
8082 "beginCaptures": {
8083 "1": {
8084 "name": "meta.qualified_type.cpp",
8085 "patterns": [
8086 {
8087 "match": "::",
8088 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
8089 },
8090 {
8091 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
8092 "name": "storage.type.$0.cpp"
8093 },
8094 {
8095 "include": "#attributes_context"
8096 },
8097 {
8098 "include": "#storage_types"
8099 },
8100 {
8101 "include": "source.cpp#number_literal"
8102 },
8103 {
8104 "include": "#string_context"
8105 },
8106 {
8107 "include": "source.cpp#comma"
8108 },
8109 {
8110 "include": "source.cpp#scope_resolution_inner_generated"
8111 },
8112 {
8113 "begin": "<",
8114 "end": ">|(?=(?<!\\\\)\n)",
8115 "beginCaptures": {
8116 "0": {
8117 "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
8118 }
8119 },
8120 "endCaptures": {
8121 "0": {
8122 "name": "punctuation.section.angle-brackets.end.template.call.cpp"
8123 }
8124 },
8125 "name": "meta.template.call.cpp",
8126 "patterns": [
8127 {
8128 "include": "#template_call_context"
8129 }
8130 ]
8131 },
8132 {
8133 "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}))*",
8134 "name": "entity.name.type.cpp"
8135 }
8136 ]
8137 },
8138 "2": {
8139 "patterns": [
8140 {
8141 "include": "#attributes_context"
8142 },
8143 {
8144 "include": "source.cpp#number_literal"
8145 }
8146 ]
8147 },
8148 "3": {
8149 "patterns": [
8150 {
8151 "include": "source.cpp#inline_comment"
8152 }
8153 ]
8154 },
8155 "4": {
8156 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8157 },
8158 "5": {
8159 "name": "comment.block.cpp"
8160 },
8161 "6": {
8162 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8163 },
8164 "7": {
8165 "patterns": [
8166 {
8167 "include": "source.cpp#inline_comment"
8168 }
8169 ]
8170 },
8171 "8": {
8172 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8173 },
8174 "9": {
8175 "name": "comment.block.cpp"
8176 },
8177 "10": {
8178 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8179 },
8180 "11": {
8181 "patterns": [
8182 {
8183 "match": "::",
8184 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
8185 },
8186 {
8187 "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)",
8188 "name": "entity.name.scope-resolution.type.cpp"
8189 },
8190 {
8191 "include": "#template_call_range"
8192 }
8193 ]
8194 },
8195 "12": {
8196 "patterns": [
8197 {
8198 "include": "#template_call_range"
8199 }
8200 ]
8201 },
8202 "13": {},
8203 "14": {
8204 "patterns": [
8205 {
8206 "include": "source.cpp#inline_comment"
8207 }
8208 ]
8209 },
8210 "15": {
8211 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8212 },
8213 "16": {
8214 "name": "comment.block.cpp"
8215 },
8216 "17": {
8217 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8218 },
8219 "18": {},
8220 "19": {
8221 "patterns": [
8222 {
8223 "match": "\\*",
8224 "name": "storage.modifier.pointer.cpp"
8225 },
8226 {
8227 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
8228 "captures": {
8229 "1": {
8230 "patterns": [
8231 {
8232 "include": "source.cpp#inline_comment"
8233 }
8234 ]
8235 },
8236 "2": {
8237 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8238 },
8239 "3": {
8240 "name": "comment.block.cpp"
8241 },
8242 "4": {
8243 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8244 }
8245 },
8246 "name": "invalid.illegal.reference-type.cpp"
8247 },
8248 {
8249 "match": "\\&",
8250 "name": "storage.modifier.reference.cpp"
8251 }
8252 ]
8253 },
8254 "20": {
8255 "patterns": [
8256 {
8257 "include": "source.cpp#inline_comment"
8258 }
8259 ]
8260 },
8261 "21": {
8262 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8263 },
8264 "22": {
8265 "name": "comment.block.cpp"
8266 },
8267 "23": {
8268 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8269 },
8270 "24": {
8271 "patterns": [
8272 {
8273 "include": "source.cpp#inline_comment"
8274 }
8275 ]
8276 },
8277 "25": {
8278 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8279 },
8280 "26": {
8281 "name": "comment.block.cpp"
8282 },
8283 "27": {
8284 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8285 },
8286 "28": {
8287 "patterns": [
8288 {
8289 "include": "source.cpp#inline_comment"
8290 }
8291 ]
8292 },
8293 "29": {
8294 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8295 },
8296 "30": {
8297 "name": "comment.block.cpp"
8298 },
8299 "31": {
8300 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8301 },
8302 "32": {
8303 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
8304 },
8305 "33": {
8306 "name": "punctuation.definition.function.pointer.dereference.cpp"
8307 },
8308 "34": {
8309 "name": "entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"
8310 },
8311 "35": {
8312 "name": "punctuation.definition.begin.bracket.square.cpp"
8313 },
8314 "36": {
8315 "patterns": [
8316 {
8317 "include": "#evaluation_context"
8318 }
8319 ]
8320 },
8321 "37": {
8322 "name": "punctuation.definition.end.bracket.square.cpp"
8323 },
8324 "38": {
8325 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
8326 },
8327 "39": {
8328 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
8329 }
8330 },
8331 "endCaptures": {
8332 "1": {
8333 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
8334 },
8335 "2": {
8336 "patterns": [
8337 {
8338 "include": "source.cpp#inline_comment"
8339 }
8340 ]
8341 },
8342 "3": {
8343 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8344 },
8345 "4": {
8346 "name": "comment.block.cpp"
8347 },
8348 "5": {
8349 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8350 }
8351 },
8352 "patterns": [
8353 {
8354 "include": "#function_parameter_context"
8355 }
8356 ]
8357 }
8358 ]
8359 },
8360 "typedef_struct": {
8361 "begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)struct(?!\\w))",
8362 "end": "(?<=;)|(?=(?<!\\\\)\n)",
8363 "beginCaptures": {
8364 "1": {
8365 "name": "keyword.other.typedef.cpp"
8366 }
8367 },
8368 "endCaptures": {},
8369 "patterns": [
8370 {
8371 "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))(:(?!:)))?)",
8372 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
8373 "beginCaptures": {
8374 "0": {
8375 "name": "meta.head.struct.cpp"
8376 },
8377 "1": {
8378 "name": "storage.type.$1.cpp"
8379 },
8380 "2": {
8381 "patterns": [
8382 {
8383 "include": "source.cpp#inline_comment"
8384 }
8385 ]
8386 },
8387 "3": {
8388 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8389 },
8390 "4": {
8391 "name": "comment.block.cpp"
8392 },
8393 "5": {
8394 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8395 },
8396 "6": {
8397 "patterns": [
8398 {
8399 "include": "#attributes_context"
8400 },
8401 {
8402 "include": "source.cpp#number_literal"
8403 }
8404 ]
8405 },
8406 "7": {
8407 "patterns": [
8408 {
8409 "include": "source.cpp#inline_comment"
8410 }
8411 ]
8412 },
8413 "8": {
8414 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8415 },
8416 "9": {
8417 "name": "comment.block.cpp"
8418 },
8419 "10": {
8420 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8421 },
8422 "11": {
8423 "patterns": [
8424 {
8425 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
8426 "captures": {
8427 "1": {
8428 "name": "storage.type.modifier.final.cpp"
8429 },
8430 "2": {
8431 "patterns": [
8432 {
8433 "include": "source.cpp#inline_comment"
8434 }
8435 ]
8436 },
8437 "3": {
8438 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8439 },
8440 "4": {
8441 "name": "comment.block.cpp"
8442 },
8443 "5": {
8444 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8445 }
8446 }
8447 },
8448 {
8449 "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)))?(?=:|{|$)",
8450 "captures": {
8451 "1": {
8452 "name": "entity.name.type.struct.cpp"
8453 },
8454 "2": {
8455 "patterns": [
8456 {
8457 "include": "source.cpp#inline_comment"
8458 }
8459 ]
8460 },
8461 "3": {
8462 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8463 },
8464 "4": {
8465 "name": "comment.block.cpp"
8466 },
8467 "5": {
8468 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8469 },
8470 "6": {
8471 "name": "storage.type.modifier.final.cpp"
8472 },
8473 "7": {
8474 "patterns": [
8475 {
8476 "include": "source.cpp#inline_comment"
8477 }
8478 ]
8479 },
8480 "8": {
8481 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8482 },
8483 "9": {
8484 "name": "comment.block.cpp"
8485 },
8486 "10": {
8487 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8488 }
8489 }
8490 },
8491 {
8492 "match": "DLLEXPORT",
8493 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
8494 },
8495 {
8496 "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}))*",
8497 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
8498 }
8499 ]
8500 },
8501 "12": {
8502 "patterns": [
8503 {
8504 "include": "source.cpp#inline_comment"
8505 }
8506 ]
8507 },
8508 "13": {
8509 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8510 },
8511 "14": {
8512 "name": "comment.block.cpp"
8513 },
8514 "15": {
8515 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8516 },
8517 "16": {
8518 "patterns": [
8519 {
8520 "include": "source.cpp#inline_comment"
8521 }
8522 ]
8523 },
8524 "17": {
8525 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8526 },
8527 "18": {
8528 "name": "comment.block.cpp"
8529 },
8530 "19": {
8531 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8532 },
8533 "20": {
8534 "name": "punctuation.separator.colon.inheritance.cpp"
8535 }
8536 },
8537 "endCaptures": {
8538 "1": {
8539 "name": "punctuation.terminator.statement.cpp"
8540 },
8541 "2": {
8542 "name": "punctuation.terminator.statement.cpp"
8543 }
8544 },
8545 "name": "meta.block.struct.cpp",
8546 "patterns": [
8547 {
8548 "begin": "\\G ?",
8549 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
8550 "beginCaptures": {},
8551 "endCaptures": {
8552 "0": {
8553 "name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
8554 }
8555 },
8556 "name": "meta.head.struct.cpp",
8557 "patterns": [
8558 {
8559 "include": "#ever_present_context"
8560 },
8561 {
8562 "include": "#inheritance_context"
8563 },
8564 {
8565 "include": "#template_call_range"
8566 }
8567 ]
8568 },
8569 {
8570 "begin": "(?<=\\{|<%|\\?\\?<)",
8571 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
8572 "beginCaptures": {},
8573 "endCaptures": {
8574 "0": {
8575 "name": "punctuation.section.block.end.bracket.curly.struct.cpp"
8576 }
8577 },
8578 "name": "meta.body.struct.cpp",
8579 "patterns": [
8580 {
8581 "include": "#function_pointer"
8582 },
8583 {
8584 "include": "#static_assert"
8585 },
8586 {
8587 "include": "#constructor_inline"
8588 },
8589 {
8590 "include": "#destructor_inline"
8591 },
8592 {
8593 "include": "$self"
8594 }
8595 ]
8596 },
8597 {
8598 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
8599 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
8600 "beginCaptures": {},
8601 "endCaptures": {},
8602 "name": "meta.tail.struct.cpp",
8603 "patterns": [
8604 {
8605 "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))",
8606 "captures": {
8607 "1": {
8608 "patterns": [
8609 {
8610 "match": "\\*",
8611 "name": "storage.modifier.pointer.cpp"
8612 },
8613 {
8614 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
8615 "captures": {
8616 "1": {
8617 "patterns": [
8618 {
8619 "include": "source.cpp#inline_comment"
8620 }
8621 ]
8622 },
8623 "2": {
8624 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8625 },
8626 "3": {
8627 "name": "comment.block.cpp"
8628 },
8629 "4": {
8630 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8631 }
8632 },
8633 "name": "invalid.illegal.reference-type.cpp"
8634 },
8635 {
8636 "match": "\\&",
8637 "name": "storage.modifier.reference.cpp"
8638 }
8639 ]
8640 },
8641 "2": {
8642 "patterns": [
8643 {
8644 "include": "source.cpp#inline_comment"
8645 }
8646 ]
8647 },
8648 "3": {
8649 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8650 },
8651 "4": {
8652 "name": "comment.block.cpp"
8653 },
8654 "5": {
8655 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8656 },
8657 "6": {
8658 "patterns": [
8659 {
8660 "include": "source.cpp#inline_comment"
8661 }
8662 ]
8663 },
8664 "7": {
8665 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8666 },
8667 "8": {
8668 "name": "comment.block.cpp"
8669 },
8670 "9": {
8671 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8672 },
8673 "10": {
8674 "patterns": [
8675 {
8676 "include": "source.cpp#inline_comment"
8677 }
8678 ]
8679 },
8680 "11": {
8681 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8682 },
8683 "12": {
8684 "name": "comment.block.cpp"
8685 },
8686 "13": {
8687 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8688 },
8689 "14": {
8690 "name": "entity.name.type.alias.cpp"
8691 }
8692 }
8693 },
8694 {
8695 "match": ","
8696 }
8697 ]
8698 }
8699 ]
8700 }
8701 ]
8702 },
8703 "typedef_union": {
8704 "begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)union(?!\\w))",
8705 "end": "(?<=;)|(?=(?<!\\\\)\n)",
8706 "beginCaptures": {
8707 "1": {
8708 "name": "keyword.other.typedef.cpp"
8709 }
8710 },
8711 "endCaptures": {},
8712 "patterns": [
8713 {
8714 "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))(:(?!:)))?)",
8715 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
8716 "beginCaptures": {
8717 "0": {
8718 "name": "meta.head.union.cpp"
8719 },
8720 "1": {
8721 "name": "storage.type.$1.cpp"
8722 },
8723 "2": {
8724 "patterns": [
8725 {
8726 "include": "source.cpp#inline_comment"
8727 }
8728 ]
8729 },
8730 "3": {
8731 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8732 },
8733 "4": {
8734 "name": "comment.block.cpp"
8735 },
8736 "5": {
8737 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8738 },
8739 "6": {
8740 "patterns": [
8741 {
8742 "include": "#attributes_context"
8743 },
8744 {
8745 "include": "source.cpp#number_literal"
8746 }
8747 ]
8748 },
8749 "7": {
8750 "patterns": [
8751 {
8752 "include": "source.cpp#inline_comment"
8753 }
8754 ]
8755 },
8756 "8": {
8757 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8758 },
8759 "9": {
8760 "name": "comment.block.cpp"
8761 },
8762 "10": {
8763 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8764 },
8765 "11": {
8766 "patterns": [
8767 {
8768 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
8769 "captures": {
8770 "1": {
8771 "name": "storage.type.modifier.final.cpp"
8772 },
8773 "2": {
8774 "patterns": [
8775 {
8776 "include": "source.cpp#inline_comment"
8777 }
8778 ]
8779 },
8780 "3": {
8781 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8782 },
8783 "4": {
8784 "name": "comment.block.cpp"
8785 },
8786 "5": {
8787 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8788 }
8789 }
8790 },
8791 {
8792 "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)))?(?=:|{|$)",
8793 "captures": {
8794 "1": {
8795 "name": "entity.name.type.union.cpp"
8796 },
8797 "2": {
8798 "patterns": [
8799 {
8800 "include": "source.cpp#inline_comment"
8801 }
8802 ]
8803 },
8804 "3": {
8805 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8806 },
8807 "4": {
8808 "name": "comment.block.cpp"
8809 },
8810 "5": {
8811 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8812 },
8813 "6": {
8814 "name": "storage.type.modifier.final.cpp"
8815 },
8816 "7": {
8817 "patterns": [
8818 {
8819 "include": "source.cpp#inline_comment"
8820 }
8821 ]
8822 },
8823 "8": {
8824 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8825 },
8826 "9": {
8827 "name": "comment.block.cpp"
8828 },
8829 "10": {
8830 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8831 }
8832 }
8833 },
8834 {
8835 "match": "DLLEXPORT",
8836 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
8837 },
8838 {
8839 "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}))*",
8840 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
8841 }
8842 ]
8843 },
8844 "12": {
8845 "patterns": [
8846 {
8847 "include": "source.cpp#inline_comment"
8848 }
8849 ]
8850 },
8851 "13": {
8852 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8853 },
8854 "14": {
8855 "name": "comment.block.cpp"
8856 },
8857 "15": {
8858 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8859 },
8860 "16": {
8861 "patterns": [
8862 {
8863 "include": "source.cpp#inline_comment"
8864 }
8865 ]
8866 },
8867 "17": {
8868 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8869 },
8870 "18": {
8871 "name": "comment.block.cpp"
8872 },
8873 "19": {
8874 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8875 },
8876 "20": {
8877 "name": "punctuation.separator.colon.inheritance.cpp"
8878 }
8879 },
8880 "endCaptures": {
8881 "1": {
8882 "name": "punctuation.terminator.statement.cpp"
8883 },
8884 "2": {
8885 "name": "punctuation.terminator.statement.cpp"
8886 }
8887 },
8888 "name": "meta.block.union.cpp",
8889 "patterns": [
8890 {
8891 "begin": "\\G ?",
8892 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
8893 "beginCaptures": {},
8894 "endCaptures": {
8895 "0": {
8896 "name": "punctuation.section.block.begin.bracket.curly.union.cpp"
8897 }
8898 },
8899 "name": "meta.head.union.cpp",
8900 "patterns": [
8901 {
8902 "include": "#ever_present_context"
8903 },
8904 {
8905 "include": "#inheritance_context"
8906 },
8907 {
8908 "include": "#template_call_range"
8909 }
8910 ]
8911 },
8912 {
8913 "begin": "(?<=\\{|<%|\\?\\?<)",
8914 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
8915 "beginCaptures": {},
8916 "endCaptures": {
8917 "0": {
8918 "name": "punctuation.section.block.end.bracket.curly.union.cpp"
8919 }
8920 },
8921 "name": "meta.body.union.cpp",
8922 "patterns": [
8923 {
8924 "include": "#function_pointer"
8925 },
8926 {
8927 "include": "#static_assert"
8928 },
8929 {
8930 "include": "#constructor_inline"
8931 },
8932 {
8933 "include": "#destructor_inline"
8934 },
8935 {
8936 "include": "$self"
8937 }
8938 ]
8939 },
8940 {
8941 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
8942 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
8943 "beginCaptures": {},
8944 "endCaptures": {},
8945 "name": "meta.tail.union.cpp",
8946 "patterns": [
8947 {
8948 "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))",
8949 "captures": {
8950 "1": {
8951 "patterns": [
8952 {
8953 "match": "\\*",
8954 "name": "storage.modifier.pointer.cpp"
8955 },
8956 {
8957 "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",
8958 "captures": {
8959 "1": {
8960 "patterns": [
8961 {
8962 "include": "source.cpp#inline_comment"
8963 }
8964 ]
8965 },
8966 "2": {
8967 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8968 },
8969 "3": {
8970 "name": "comment.block.cpp"
8971 },
8972 "4": {
8973 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8974 }
8975 },
8976 "name": "invalid.illegal.reference-type.cpp"
8977 },
8978 {
8979 "match": "\\&",
8980 "name": "storage.modifier.reference.cpp"
8981 }
8982 ]
8983 },
8984 "2": {
8985 "patterns": [
8986 {
8987 "include": "source.cpp#inline_comment"
8988 }
8989 ]
8990 },
8991 "3": {
8992 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
8993 },
8994 "4": {
8995 "name": "comment.block.cpp"
8996 },
8997 "5": {
8998 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
8999 },
9000 "6": {
9001 "patterns": [
9002 {
9003 "include": "source.cpp#inline_comment"
9004 }
9005 ]
9006 },
9007 "7": {
9008 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9009 },
9010 "8": {
9011 "name": "comment.block.cpp"
9012 },
9013 "9": {
9014 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9015 },
9016 "10": {
9017 "patterns": [
9018 {
9019 "include": "source.cpp#inline_comment"
9020 }
9021 ]
9022 },
9023 "11": {
9024 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9025 },
9026 "12": {
9027 "name": "comment.block.cpp"
9028 },
9029 "13": {
9030 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9031 },
9032 "14": {
9033 "name": "entity.name.type.alias.cpp"
9034 }
9035 }
9036 },
9037 {
9038 "match": ","
9039 }
9040 ]
9041 }
9042 ]
9043 }
9044 ]
9045 },
9046 "typeid_operator": {
9047 "begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",
9048 "end": "\\)|(?=(?<!\\\\)\n)",
9049 "beginCaptures": {
9050 "1": {
9051 "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
9052 },
9053 "2": {
9054 "patterns": [
9055 {
9056 "include": "source.cpp#inline_comment"
9057 }
9058 ]
9059 },
9060 "3": {
9061 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9062 },
9063 "4": {
9064 "name": "comment.block.cpp"
9065 },
9066 "5": {
9067 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9068 },
9069 "6": {
9070 "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
9071 }
9072 },
9073 "endCaptures": {
9074 "0": {
9075 "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
9076 }
9077 },
9078 "contentName": "meta.arguments.operator.typeid",
9079 "patterns": [
9080 {
9081 "include": "#evaluation_context"
9082 }
9083 ]
9084 },
9085 "union_block": {
9086 "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))(:(?!:)))?)",
9087 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",
9088 "beginCaptures": {
9089 "0": {
9090 "name": "meta.head.union.cpp"
9091 },
9092 "1": {
9093 "name": "storage.type.$1.cpp"
9094 },
9095 "2": {
9096 "patterns": [
9097 {
9098 "include": "source.cpp#inline_comment"
9099 }
9100 ]
9101 },
9102 "3": {
9103 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9104 },
9105 "4": {
9106 "name": "comment.block.cpp"
9107 },
9108 "5": {
9109 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9110 },
9111 "6": {
9112 "patterns": [
9113 {
9114 "include": "#attributes_context"
9115 },
9116 {
9117 "include": "source.cpp#number_literal"
9118 }
9119 ]
9120 },
9121 "7": {
9122 "patterns": [
9123 {
9124 "include": "source.cpp#inline_comment"
9125 }
9126 ]
9127 },
9128 "8": {
9129 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9130 },
9131 "9": {
9132 "name": "comment.block.cpp"
9133 },
9134 "10": {
9135 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9136 },
9137 "11": {
9138 "patterns": [
9139 {
9140 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",
9141 "captures": {
9142 "1": {
9143 "name": "storage.type.modifier.final.cpp"
9144 },
9145 "2": {
9146 "patterns": [
9147 {
9148 "include": "source.cpp#inline_comment"
9149 }
9150 ]
9151 },
9152 "3": {
9153 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9154 },
9155 "4": {
9156 "name": "comment.block.cpp"
9157 },
9158 "5": {
9159 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9160 }
9161 }
9162 },
9163 {
9164 "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)))?(?=:|{|$)",
9165 "captures": {
9166 "1": {
9167 "name": "entity.name.type.union.cpp"
9168 },
9169 "2": {
9170 "patterns": [
9171 {
9172 "include": "source.cpp#inline_comment"
9173 }
9174 ]
9175 },
9176 "3": {
9177 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9178 },
9179 "4": {
9180 "name": "comment.block.cpp"
9181 },
9182 "5": {
9183 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9184 },
9185 "6": {
9186 "name": "storage.type.modifier.final.cpp"
9187 },
9188 "7": {
9189 "patterns": [
9190 {
9191 "include": "source.cpp#inline_comment"
9192 }
9193 ]
9194 },
9195 "8": {
9196 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9197 },
9198 "9": {
9199 "name": "comment.block.cpp"
9200 },
9201 "10": {
9202 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9203 }
9204 }
9205 },
9206 {
9207 "match": "DLLEXPORT",
9208 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
9209 },
9210 {
9211 "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}))*",
9212 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
9213 }
9214 ]
9215 },
9216 "12": {
9217 "patterns": [
9218 {
9219 "include": "source.cpp#inline_comment"
9220 }
9221 ]
9222 },
9223 "13": {
9224 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9225 },
9226 "14": {
9227 "name": "comment.block.cpp"
9228 },
9229 "15": {
9230 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9231 },
9232 "16": {
9233 "patterns": [
9234 {
9235 "include": "source.cpp#inline_comment"
9236 }
9237 ]
9238 },
9239 "17": {
9240 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
9241 },
9242 "18": {
9243 "name": "comment.block.cpp"
9244 },
9245 "19": {
9246 "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
9247 },
9248 "20": {
9249 "name": "punctuation.separator.colon.inheritance.cpp"
9250 }
9251 },
9252 "endCaptures": {
9253 "1": {
9254 "name": "punctuation.terminator.statement.cpp"
9255 },
9256 "2": {
9257 "name": "punctuation.terminator.statement.cpp"
9258 }
9259 },
9260 "name": "meta.block.union.cpp",
9261 "patterns": [
9262 {
9263 "begin": "\\G ?",
9264 "end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",
9265 "beginCaptures": {},
9266 "endCaptures": {
9267 "0": {
9268 "name": "punctuation.section.block.begin.bracket.curly.union.cpp"
9269 }
9270 },
9271 "name": "meta.head.union.cpp",
9272 "patterns": [
9273 {
9274 "include": "#ever_present_context"
9275 },
9276 {
9277 "include": "#inheritance_context"
9278 },
9279 {
9280 "include": "#template_call_range"
9281 }
9282 ]
9283 },
9284 {
9285 "begin": "(?<=\\{|<%|\\?\\?<)",
9286 "end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",
9287 "beginCaptures": {},
9288 "endCaptures": {
9289 "0": {
9290 "name": "punctuation.section.block.end.bracket.curly.union.cpp"
9291 }
9292 },
9293 "name": "meta.body.union.cpp",
9294 "patterns": [
9295 {
9296 "include": "#function_pointer"
9297 },
9298 {
9299 "include": "#static_assert"
9300 },
9301 {
9302 "include": "#constructor_inline"
9303 },
9304 {
9305 "include": "#destructor_inline"
9306 },
9307 {
9308 "include": "$self"
9309 }
9310 ]
9311 },
9312 {
9313 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
9314 "end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",
9315 "beginCaptures": {},
9316 "endCaptures": {},
9317 "name": "meta.tail.union.cpp",
9318 "patterns": [
9319 {
9320 "include": "$self"
9321 }
9322 ]
9323 }
9324 ]
9325 },
9326 "using_namespace": {
9327 "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)",
9328 "end": ";|(?=(?<!\\\\)\n)",
9329 "beginCaptures": {
9330 "1": {
9331 "name": "keyword.other.using.directive.cpp"
9332 },
9333 "2": {
9334 "name": "keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"
9335 },
9336 "3": {
9337 "patterns": [
9338 {
9339 "include": "source.cpp#scope_resolution_namespace_using_inner_generated"
9340 }
9341 ]
9342 },
9343 "4": {
9344 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
9345 },
9346 "5": {
9347 "patterns": [
9348 {
9349 "include": "#template_call_range"
9350 }
9351 ]
9352 },
9353 "6": {},
9354 "7": {
9355 "name": "entity.name.namespace.cpp"
9356 }
9357 },
9358 "endCaptures": {
9359 "0": {
9360 "name": "punctuation.terminator.statement.cpp"
9361 }
9362 },
9363 "name": "meta.using-namespace.cpp"
9364 }
9365 }
9366 }
9367