1{ 2 "information_for_contributors": [ 3 "This file has been converted from https://github.com/jeff-hykin/cpp-textmate-grammar/blob/master/syntaxes/cpp.tmLanguage.json", 4 "If you want to provide a fix or improvement, please create a pull request against the original repository.", 5 "Once accepted there, we are happy to receive an update request." 6 ], 7 "version": "https://github.com/jeff-hykin/cpp-textmate-grammar/commit/f074a48ae0b7ba313af3faf3d8bfda8537864bd1", 8 "name": "C++", 9 "scopeName": "source.cpp", 10 "patterns": [ 11 { 12 "include": "#ever_present_context" 13 }, 14 { 15 "include": "#constructor_root" 16 }, 17 { 18 "include": "#destructor_root" 19 }, 20 { 21 "include": "#function_definition" 22 }, 23 { 24 "include": "#operator_overload" 25 }, 26 { 27 "include": "#using_namespace" 28 }, 29 { 30 "include": "#type_alias" 31 }, 32 { 33 "include": "#using_name" 34 }, 35 { 36 "include": "#namespace_alias" 37 }, 38 { 39 "include": "#namespace_block" 40 }, 41 { 42 "include": "#extern_block" 43 }, 44 { 45 "include": "#typedef_class" 46 }, 47 { 48 "include": "#typedef_struct" 49 }, 50 { 51 "include": "#typedef_union" 52 }, 53 { 54 "include": "#misc_keywords" 55 }, 56 { 57 "include": "#standard_declares" 58 }, 59 { 60 "include": "#class_block" 61 }, 62 { 63 "include": "#struct_block" 64 }, 65 { 66 "include": "#union_block" 67 }, 68 { 69 "include": "#enum_block" 70 }, 71 { 72 "include": "#template_isolated_definition" 73 }, 74 { 75 "include": "#template_definition" 76 }, 77 { 78 "include": "#access_control_keywords" 79 }, 80 { 81 "include": "#block" 82 }, 83 { 84 "include": "#static_assert" 85 }, 86 { 87 "include": "#assembly" 88 }, 89 { 90 "include": "#function_pointer" 91 }, 92 { 93 "include": "#evaluation_context" 94 } 95 ], 96 "repository": { 97 "access_control_keywords": { 98 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\s)+)?(:))", 99 "captures": { 100 "1": { 101 "patterns": [ 102 { 103 "include": "#inline_comment" 104 } 105 ] 106 }, 107 "2": { 108 "patterns": [ 109 { 110 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 111 "captures": { 112 "1": { 113 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 114 }, 115 "2": { 116 "name": "comment.block.cpp" 117 }, 118 "3": { 119 "patterns": [ 120 { 121 "match": "\\*\\/", 122 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 123 }, 124 { 125 "match": "\\*", 126 "name": "comment.block.cpp" 127 } 128 ] 129 } 130 } 131 } 132 ] 133 }, 134 "3": { 135 "name": "storage.type.modifier.access.control.$4.cpp" 136 }, 137 "4": {}, 138 "5": { 139 "name": "punctuation.separator.colon.access.control.cpp" 140 } 141 } 142 }, 143 "alignas_attribute": { 144 "begin": "alignas\\(", 145 "end": "\\)", 146 "beginCaptures": { 147 "0": { 148 "name": "punctuation.section.attribute.begin.cpp" 149 } 150 }, 151 "endCaptures": { 152 "0": { 153 "name": "punctuation.section.attribute.end.cpp" 154 } 155 }, 156 "name": "support.other.attribute.cpp", 157 "patterns": [ 158 { 159 "include": "#attributes_context" 160 }, 161 { 162 "begin": "\\(", 163 "end": "\\)", 164 "beginCaptures": {}, 165 "endCaptures": {}, 166 "patterns": [ 167 { 168 "include": "#attributes_context" 169 }, 170 { 171 "include": "#string_context" 172 } 173 ] 174 }, 175 { 176 "match": "(using)(?:\\s)+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))", 177 "captures": { 178 "1": { 179 "name": "keyword.other.using.directive.cpp" 180 }, 181 "2": { 182 "name": "entity.name.namespace.cpp" 183 } 184 } 185 }, 186 { 187 "match": ",", 188 "name": "punctuation.separator.attribute.cpp" 189 }, 190 { 191 "match": ":", 192 "name": "punctuation.accessor.attribute.cpp" 193 }, 194 { 195 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)", 196 "name": "entity.name.namespace.cpp" 197 }, 198 { 199 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", 200 "name": "entity.other.attribute.$0.cpp" 201 }, 202 { 203 "include": "#number_literal" 204 } 205 ] 206 }, 207 "alignas_operator": { 208 "begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 209 "end": "\\)", 210 "beginCaptures": { 211 "1": { 212 "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp" 213 }, 214 "2": { 215 "patterns": [ 216 { 217 "include": "#inline_comment" 218 } 219 ] 220 }, 221 "3": { 222 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 223 }, 224 "4": { 225 "name": "comment.block.cpp" 226 }, 227 "5": { 228 "patterns": [ 229 { 230 "match": "\\*\\/", 231 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 232 }, 233 { 234 "match": "\\*", 235 "name": "comment.block.cpp" 236 } 237 ] 238 }, 239 "6": { 240 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp" 241 } 242 }, 243 "endCaptures": { 244 "0": { 245 "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" 246 } 247 }, 248 "contentName": "meta.arguments.operator.alignas", 249 "patterns": [ 250 { 251 "include": "#evaluation_context" 252 } 253 ] 254 }, 255 "alignof_operator": { 256 "begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 257 "end": "\\)", 258 "beginCaptures": { 259 "1": { 260 "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp" 261 }, 262 "2": { 263 "patterns": [ 264 { 265 "include": "#inline_comment" 266 } 267 ] 268 }, 269 "3": { 270 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 271 }, 272 "4": { 273 "name": "comment.block.cpp" 274 }, 275 "5": { 276 "patterns": [ 277 { 278 "match": "\\*\\/", 279 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 280 }, 281 { 282 "match": "\\*", 283 "name": "comment.block.cpp" 284 } 285 ] 286 }, 287 "6": { 288 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp" 289 } 290 }, 291 "endCaptures": { 292 "0": { 293 "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp" 294 } 295 }, 296 "contentName": "meta.arguments.operator.alignof", 297 "patterns": [ 298 { 299 "include": "#evaluation_context" 300 } 301 ] 302 }, 303 "assembly": { 304 "begin": "(\\b(?:__asm__|asm)\\b)(?:(?:\\s)+)?((?:volatile)?)", 305 "end": "(?!\\G)", 306 "beginCaptures": { 307 "1": { 308 "name": "storage.type.asm.cpp" 309 }, 310 "2": { 311 "name": "storage.modifier.cpp" 312 } 313 }, 314 "endCaptures": {}, 315 "name": "meta.asm.cpp", 316 "patterns": [ 317 { 318 "match": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\n)|$)", 319 "captures": { 320 "1": { 321 "patterns": [ 322 { 323 "include": "#inline_comment" 324 } 325 ] 326 }, 327 "2": { 328 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 329 }, 330 "3": { 331 "name": "comment.block.cpp" 332 }, 333 "4": { 334 "patterns": [ 335 { 336 "match": "\\*\\/", 337 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 338 }, 339 { 340 "match": "\\*", 341 "name": "comment.block.cpp" 342 } 343 ] 344 } 345 } 346 }, 347 { 348 "include": "#comments" 349 }, 350 { 351 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\(", 352 "end": "\\)", 353 "beginCaptures": { 354 "0": { 355 "name": "punctuation.section.parens.begin.bracket.round.assembly.cpp" 356 }, 357 "1": { 358 "patterns": [ 359 { 360 "include": "#inline_comment" 361 } 362 ] 363 }, 364 "2": { 365 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 366 }, 367 "3": { 368 "name": "comment.block.cpp" 369 }, 370 "4": { 371 "patterns": [ 372 { 373 "match": "\\*\\/", 374 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 375 }, 376 { 377 "match": "\\*", 378 "name": "comment.block.cpp" 379 } 380 ] 381 } 382 }, 383 "endCaptures": { 384 "0": { 385 "name": "punctuation.section.parens.end.bracket.round.assembly.cpp" 386 } 387 }, 388 "patterns": [ 389 { 390 "begin": "(R?)(\")", 391 "end": "\"", 392 "beginCaptures": { 393 "1": { 394 "name": "meta.encoding.cpp" 395 }, 396 "2": { 397 "name": "punctuation.definition.string.begin.assembly.cpp" 398 } 399 }, 400 "endCaptures": { 401 "0": { 402 "name": "punctuation.definition.string.end.assembly.cpp" 403 } 404 }, 405 "name": "string.quoted.double.cpp", 406 "contentName": "meta.embedded.assembly", 407 "patterns": [ 408 { 409 "include": "source.asm" 410 }, 411 { 412 "include": "source.x86" 413 }, 414 { 415 "include": "source.x86_64" 416 }, 417 { 418 "include": "source.arm" 419 }, 420 { 421 "include": "#backslash_escapes" 422 }, 423 { 424 "include": "#string_escaped_char" 425 } 426 ] 427 }, 428 { 429 "begin": "\\(", 430 "end": "\\)", 431 "beginCaptures": { 432 "0": { 433 "name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp" 434 } 435 }, 436 "endCaptures": { 437 "0": { 438 "name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp" 439 } 440 }, 441 "patterns": [ 442 { 443 "include": "#evaluation_context" 444 } 445 ] 446 }, 447 { 448 "match": "\\[((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]", 449 "captures": { 450 "1": { 451 "patterns": [ 452 { 453 "include": "#inline_comment" 454 } 455 ] 456 }, 457 "2": { 458 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 459 }, 460 "3": { 461 "name": "comment.block.cpp" 462 }, 463 "4": { 464 "patterns": [ 465 { 466 "match": "\\*\\/", 467 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 468 }, 469 { 470 "match": "\\*", 471 "name": "comment.block.cpp" 472 } 473 ] 474 }, 475 "5": { 476 "name": "variable.other.asm.label.cpp" 477 }, 478 "6": { 479 "patterns": [ 480 { 481 "include": "#inline_comment" 482 } 483 ] 484 }, 485 "7": { 486 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 487 }, 488 "8": { 489 "name": "comment.block.cpp" 490 }, 491 "9": { 492 "patterns": [ 493 { 494 "match": "\\*\\/", 495 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 496 }, 497 { 498 "match": "\\*", 499 "name": "comment.block.cpp" 500 } 501 ] 502 } 503 } 504 }, 505 { 506 "match": ":", 507 "name": "punctuation.separator.delimiter.colon.assembly.cpp" 508 }, 509 { 510 "include": "#comments" 511 } 512 ] 513 } 514 ] 515 }, 516 "assignment_operator": { 517 "match": "\\=", 518 "name": "keyword.operator.assignment.cpp" 519 }, 520 "attributes_context": { 521 "patterns": [ 522 { 523 "include": "#cpp_attributes" 524 }, 525 { 526 "include": "#gcc_attributes" 527 }, 528 { 529 "include": "#ms_attributes" 530 }, 531 { 532 "include": "#alignas_attribute" 533 } 534 ] 535 }, 536 "backslash_escapes": { 537 "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )", 538 "name": "constant.character.escape" 539 }, 540 "block": { 541 "begin": "{", 542 "end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)", 543 "beginCaptures": { 544 "0": { 545 "name": "punctuation.section.block.begin.bracket.curly.cpp" 546 } 547 }, 548 "endCaptures": { 549 "0": { 550 "name": "punctuation.section.block.end.bracket.curly.cpp" 551 } 552 }, 553 "name": "meta.block.cpp", 554 "patterns": [ 555 { 556 "include": "#function_body_context" 557 } 558 ] 559 }, 560 "block_comment": { 561 "begin": "\\s*+(\\/\\*)", 562 "end": "\\*\\/", 563 "beginCaptures": { 564 "1": { 565 "name": "punctuation.definition.comment.begin.cpp" 566 } 567 }, 568 "endCaptures": { 569 "0": { 570 "name": "punctuation.definition.comment.end.cpp" 571 } 572 }, 573 "name": "comment.block.cpp" 574 }, 575 "builtin_storage_type_initilizer": { 576 "begin": "(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?: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)(\\()", 577 "end": "\\)", 578 "beginCaptures": { 579 "1": { 580 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" 581 }, 582 "2": { 583 "name": "storage.type.cpp storage.type.built-in.cpp" 584 }, 585 "3": { 586 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" 587 }, 588 "4": { 589 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" 590 }, 591 "5": { 592 "name": "punctuation.section.arguments.begin.bracket.round.initializer.cpp" 593 } 594 }, 595 "endCaptures": { 596 "0": { 597 "name": "punctuation.section.arguments.end.bracket.round.initializer.cpp" 598 } 599 }, 600 "patterns": [ 601 { 602 "include": "#evaluation_context" 603 } 604 ] 605 }, 606 "case_statement": { 607 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)case(?!\\w))", 608 "end": ":", 609 "beginCaptures": { 610 "1": { 611 "patterns": [ 612 { 613 "include": "#inline_comment" 614 } 615 ] 616 }, 617 "2": { 618 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 619 }, 620 "3": { 621 "name": "comment.block.cpp" 622 }, 623 "4": { 624 "patterns": [ 625 { 626 "match": "\\*\\/", 627 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 628 }, 629 { 630 "match": "\\*", 631 "name": "comment.block.cpp" 632 } 633 ] 634 }, 635 "5": { 636 "name": "keyword.control.case.cpp" 637 } 638 }, 639 "endCaptures": { 640 "0": { 641 "name": "punctuation.separator.colon.case.cpp" 642 } 643 }, 644 "name": "meta.conditional.case.cpp", 645 "patterns": [ 646 { 647 "include": "#evaluation_context" 648 }, 649 { 650 "include": "#c_conditional_context" 651 } 652 ] 653 }, 654 "class_block": { 655 "begin": "((?<!\\w)class(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", 656 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", 657 "beginCaptures": { 658 "0": { 659 "name": "meta.head.class.cpp" 660 }, 661 "1": { 662 "name": "storage.type.$1.cpp" 663 }, 664 "2": { 665 "patterns": [ 666 { 667 "include": "#inline_comment" 668 } 669 ] 670 }, 671 "3": { 672 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 673 }, 674 "4": { 675 "name": "comment.block.cpp" 676 }, 677 "5": { 678 "patterns": [ 679 { 680 "match": "\\*\\/", 681 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 682 }, 683 { 684 "match": "\\*", 685 "name": "comment.block.cpp" 686 } 687 ] 688 }, 689 "6": { 690 "patterns": [ 691 { 692 "include": "#attributes_context" 693 }, 694 { 695 "include": "#number_literal" 696 } 697 ] 698 }, 699 "7": { 700 "patterns": [ 701 { 702 "include": "#inline_comment" 703 } 704 ] 705 }, 706 "8": { 707 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 708 }, 709 "9": { 710 "name": "comment.block.cpp" 711 }, 712 "10": { 713 "patterns": [ 714 { 715 "match": "\\*\\/", 716 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 717 }, 718 { 719 "match": "\\*", 720 "name": "comment.block.cpp" 721 } 722 ] 723 }, 724 "11": { 725 "patterns": [ 726 { 727 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", 728 "captures": { 729 "1": { 730 "name": "storage.type.modifier.final.cpp" 731 }, 732 "2": { 733 "patterns": [ 734 { 735 "include": "#inline_comment" 736 } 737 ] 738 }, 739 "3": { 740 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 741 }, 742 "4": { 743 "name": "comment.block.cpp" 744 }, 745 "5": { 746 "patterns": [ 747 { 748 "match": "\\*\\/", 749 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 750 }, 751 { 752 "match": "\\*", 753 "name": "comment.block.cpp" 754 } 755 ] 756 } 757 } 758 }, 759 { 760 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", 761 "captures": { 762 "1": { 763 "name": "entity.name.type.class.cpp" 764 }, 765 "2": { 766 "patterns": [ 767 { 768 "include": "#inline_comment" 769 } 770 ] 771 }, 772 "3": { 773 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 774 }, 775 "4": { 776 "name": "comment.block.cpp" 777 }, 778 "5": { 779 "patterns": [ 780 { 781 "match": "\\*\\/", 782 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 783 }, 784 { 785 "match": "\\*", 786 "name": "comment.block.cpp" 787 } 788 ] 789 }, 790 "6": { 791 "name": "storage.type.modifier.final.cpp" 792 }, 793 "7": { 794 "patterns": [ 795 { 796 "include": "#inline_comment" 797 } 798 ] 799 }, 800 "8": { 801 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 802 }, 803 "9": { 804 "name": "comment.block.cpp" 805 }, 806 "10": { 807 "patterns": [ 808 { 809 "match": "\\*\\/", 810 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 811 }, 812 { 813 "match": "\\*", 814 "name": "comment.block.cpp" 815 } 816 ] 817 } 818 } 819 }, 820 { 821 "match": "DLLEXPORT", 822 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" 823 }, 824 { 825 "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}))*", 826 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" 827 } 828 ] 829 }, 830 "12": { 831 "patterns": [ 832 { 833 "include": "#inline_comment" 834 } 835 ] 836 }, 837 "13": { 838 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 839 }, 840 "14": { 841 "name": "comment.block.cpp" 842 }, 843 "15": { 844 "patterns": [ 845 { 846 "match": "\\*\\/", 847 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 848 }, 849 { 850 "match": "\\*", 851 "name": "comment.block.cpp" 852 } 853 ] 854 }, 855 "16": { 856 "patterns": [ 857 { 858 "include": "#inline_comment" 859 } 860 ] 861 }, 862 "17": { 863 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 864 }, 865 "18": { 866 "name": "comment.block.cpp" 867 }, 868 "19": { 869 "patterns": [ 870 { 871 "match": "\\*\\/", 872 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 873 }, 874 { 875 "match": "\\*", 876 "name": "comment.block.cpp" 877 } 878 ] 879 }, 880 "20": { 881 "name": "punctuation.separator.colon.inheritance.cpp" 882 } 883 }, 884 "endCaptures": { 885 "1": { 886 "name": "punctuation.terminator.statement.cpp" 887 }, 888 "2": { 889 "name": "punctuation.terminator.statement.cpp" 890 } 891 }, 892 "name": "meta.block.class.cpp", 893 "patterns": [ 894 { 895 "begin": "\\G ?", 896 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 897 "beginCaptures": {}, 898 "endCaptures": { 899 "0": { 900 "name": "punctuation.section.block.begin.bracket.curly.class.cpp" 901 } 902 }, 903 "name": "meta.head.class.cpp", 904 "patterns": [ 905 { 906 "include": "#ever_present_context" 907 }, 908 { 909 "include": "#inheritance_context" 910 }, 911 { 912 "include": "#template_call_range" 913 } 914 ] 915 }, 916 { 917 "begin": "(?<=\\{|<%|\\?\\?<)", 918 "end": "\\}|%>|\\?\\?>", 919 "beginCaptures": {}, 920 "endCaptures": { 921 "0": { 922 "name": "punctuation.section.block.end.bracket.curly.class.cpp" 923 } 924 }, 925 "name": "meta.body.class.cpp", 926 "patterns": [ 927 { 928 "include": "#function_pointer" 929 }, 930 { 931 "include": "#static_assert" 932 }, 933 { 934 "include": "#constructor_inline" 935 }, 936 { 937 "include": "#destructor_inline" 938 }, 939 { 940 "include": "$self" 941 } 942 ] 943 }, 944 { 945 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 946 "end": "[\\s]*(?=;)", 947 "beginCaptures": {}, 948 "endCaptures": {}, 949 "name": "meta.tail.class.cpp", 950 "patterns": [ 951 { 952 "include": "$self" 953 } 954 ] 955 } 956 ] 957 }, 958 "class_declare": { 959 "match": "((?<!\\w)class(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", 960 "captures": { 961 "1": { 962 "name": "storage.type.class.declare.cpp" 963 }, 964 "2": { 965 "patterns": [ 966 { 967 "include": "#inline_comment" 968 } 969 ] 970 }, 971 "3": { 972 "patterns": [ 973 { 974 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 975 "captures": { 976 "1": { 977 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 978 }, 979 "2": { 980 "name": "comment.block.cpp" 981 }, 982 "3": { 983 "patterns": [ 984 { 985 "match": "\\*\\/", 986 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 987 }, 988 { 989 "match": "\\*", 990 "name": "comment.block.cpp" 991 } 992 ] 993 } 994 } 995 } 996 ] 997 }, 998 "4": { 999 "name": "entity.name.type.class.cpp" 1000 }, 1001 "5": { 1002 "patterns": [ 1003 { 1004 "match": "\\*", 1005 "name": "storage.modifier.pointer.cpp" 1006 }, 1007 { 1008 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 1009 "captures": { 1010 "1": { 1011 "patterns": [ 1012 { 1013 "include": "#inline_comment" 1014 } 1015 ] 1016 }, 1017 "2": { 1018 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1019 }, 1020 "3": { 1021 "name": "comment.block.cpp" 1022 }, 1023 "4": { 1024 "patterns": [ 1025 { 1026 "match": "\\*\\/", 1027 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1028 }, 1029 { 1030 "match": "\\*", 1031 "name": "comment.block.cpp" 1032 } 1033 ] 1034 } 1035 }, 1036 "name": "invalid.illegal.reference-type.cpp" 1037 }, 1038 { 1039 "match": "\\&", 1040 "name": "storage.modifier.reference.cpp" 1041 } 1042 ] 1043 }, 1044 "6": { 1045 "patterns": [ 1046 { 1047 "include": "#inline_comment" 1048 } 1049 ] 1050 }, 1051 "7": { 1052 "patterns": [ 1053 { 1054 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 1055 "captures": { 1056 "1": { 1057 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1058 }, 1059 "2": { 1060 "name": "comment.block.cpp" 1061 }, 1062 "3": { 1063 "patterns": [ 1064 { 1065 "match": "\\*\\/", 1066 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1067 }, 1068 { 1069 "match": "\\*", 1070 "name": "comment.block.cpp" 1071 } 1072 ] 1073 } 1074 } 1075 } 1076 ] 1077 }, 1078 "8": { 1079 "patterns": [ 1080 { 1081 "include": "#inline_comment" 1082 } 1083 ] 1084 }, 1085 "9": { 1086 "patterns": [ 1087 { 1088 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 1089 "captures": { 1090 "1": { 1091 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1092 }, 1093 "2": { 1094 "name": "comment.block.cpp" 1095 }, 1096 "3": { 1097 "patterns": [ 1098 { 1099 "match": "\\*\\/", 1100 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1101 }, 1102 { 1103 "match": "\\*", 1104 "name": "comment.block.cpp" 1105 } 1106 ] 1107 } 1108 } 1109 } 1110 ] 1111 }, 1112 "10": { 1113 "patterns": [ 1114 { 1115 "include": "#inline_comment" 1116 } 1117 ] 1118 }, 1119 "11": { 1120 "patterns": [ 1121 { 1122 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 1123 "captures": { 1124 "1": { 1125 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1126 }, 1127 "2": { 1128 "name": "comment.block.cpp" 1129 }, 1130 "3": { 1131 "patterns": [ 1132 { 1133 "match": "\\*\\/", 1134 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1135 }, 1136 { 1137 "match": "\\*", 1138 "name": "comment.block.cpp" 1139 } 1140 ] 1141 } 1142 } 1143 } 1144 ] 1145 }, 1146 "12": { 1147 "name": "variable.other.object.declare.cpp" 1148 }, 1149 "13": { 1150 "patterns": [ 1151 { 1152 "include": "#inline_comment" 1153 } 1154 ] 1155 }, 1156 "14": { 1157 "patterns": [ 1158 { 1159 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 1160 "captures": { 1161 "1": { 1162 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1163 }, 1164 "2": { 1165 "name": "comment.block.cpp" 1166 }, 1167 "3": { 1168 "patterns": [ 1169 { 1170 "match": "\\*\\/", 1171 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1172 }, 1173 { 1174 "match": "\\*", 1175 "name": "comment.block.cpp" 1176 } 1177 ] 1178 } 1179 } 1180 } 1181 ] 1182 } 1183 } 1184 }, 1185 "comma": { 1186 "match": ",", 1187 "name": "punctuation.separator.delimiter.comma.cpp" 1188 }, 1189 "comma_in_template_argument": { 1190 "match": ",", 1191 "name": "punctuation.separator.delimiter.comma.template.argument.cpp" 1192 }, 1193 "comments": { 1194 "patterns": [ 1195 { 1196 "begin": "^(?:(?:\\s)+)?+(\\/\\/[!\\/]+)", 1197 "end": "(?<=\\n)(?<!\\\\\\n)", 1198 "beginCaptures": { 1199 "1": { 1200 "name": "punctuation.definition.comment.documentation.cpp" 1201 } 1202 }, 1203 "endCaptures": {}, 1204 "name": "comment.line.double-slash.documentation.cpp", 1205 "patterns": [ 1206 { 1207 "include": "#line_continuation_character" 1208 }, 1209 { 1210 "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(?:\\{[^}]*\\})?", 1211 "name": "storage.type.class.doxygen.cpp" 1212 }, 1213 { 1214 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", 1215 "captures": { 1216 "1": { 1217 "name": "storage.type.class.doxygen.cpp" 1218 }, 1219 "2": { 1220 "name": "markup.italic.doxygen.cpp" 1221 } 1222 } 1223 }, 1224 { 1225 "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", 1226 "captures": { 1227 "1": { 1228 "name": "storage.type.class.doxygen.cpp" 1229 }, 1230 "2": { 1231 "name": "markup.bold.doxygen.cpp" 1232 } 1233 } 1234 }, 1235 { 1236 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", 1237 "captures": { 1238 "1": { 1239 "name": "storage.type.class.doxygen.cpp" 1240 }, 1241 "2": { 1242 "name": "markup.inline.raw.string.cpp" 1243 } 1244 } 1245 }, 1246 { 1247 "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(?:\\{[^}]*\\})?", 1248 "name": "storage.type.class.doxygen.cpp" 1249 }, 1250 { 1251 "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(?:\\{[^}]*\\})?", 1252 "name": "storage.type.class.doxygen.cpp" 1253 }, 1254 { 1255 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", 1256 "captures": { 1257 "1": { 1258 "name": "storage.type.class.doxygen.cpp" 1259 }, 1260 "2": { 1261 "patterns": [ 1262 { 1263 "match": "in|out", 1264 "name": "keyword.other.parameter.direction.$0.cpp" 1265 } 1266 ] 1267 }, 1268 "3": { 1269 "name": "variable.parameter.cpp" 1270 } 1271 } 1272 }, 1273 { 1274 "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(?:\\{[^}]*\\})?", 1275 "name": "storage.type.class.doxygen.cpp" 1276 }, 1277 { 1278 "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(?:\\{[^}]*\\})?", 1279 "name": "storage.type.class.doxygen.cpp" 1280 }, 1281 { 1282 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)", 1283 "name": "storage.type.class.gtkdoc.cpp" 1284 } 1285 ] 1286 }, 1287 { 1288 "match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)", 1289 "captures": { 1290 "1": { 1291 "name": "punctuation.definition.comment.begin.documentation.cpp" 1292 }, 1293 "2": { 1294 "patterns": [ 1295 { 1296 "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(?:\\{[^}]*\\})?", 1297 "name": "storage.type.class.doxygen.cpp" 1298 }, 1299 { 1300 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", 1301 "captures": { 1302 "1": { 1303 "name": "storage.type.class.doxygen.cpp" 1304 }, 1305 "2": { 1306 "name": "markup.italic.doxygen.cpp" 1307 } 1308 } 1309 }, 1310 { 1311 "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", 1312 "captures": { 1313 "1": { 1314 "name": "storage.type.class.doxygen.cpp" 1315 }, 1316 "2": { 1317 "name": "markup.bold.doxygen.cpp" 1318 } 1319 } 1320 }, 1321 { 1322 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", 1323 "captures": { 1324 "1": { 1325 "name": "storage.type.class.doxygen.cpp" 1326 }, 1327 "2": { 1328 "name": "markup.inline.raw.string.cpp" 1329 } 1330 } 1331 }, 1332 { 1333 "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(?:\\{[^}]*\\})?", 1334 "name": "storage.type.class.doxygen.cpp" 1335 }, 1336 { 1337 "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(?:\\{[^}]*\\})?", 1338 "name": "storage.type.class.doxygen.cpp" 1339 }, 1340 { 1341 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", 1342 "captures": { 1343 "1": { 1344 "name": "storage.type.class.doxygen.cpp" 1345 }, 1346 "2": { 1347 "patterns": [ 1348 { 1349 "match": "in|out", 1350 "name": "keyword.other.parameter.direction.$0.cpp" 1351 } 1352 ] 1353 }, 1354 "3": { 1355 "name": "variable.parameter.cpp" 1356 } 1357 } 1358 }, 1359 { 1360 "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(?:\\{[^}]*\\})?", 1361 "name": "storage.type.class.doxygen.cpp" 1362 }, 1363 { 1364 "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(?:\\{[^}]*\\})?", 1365 "name": "storage.type.class.doxygen.cpp" 1366 }, 1367 { 1368 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)", 1369 "name": "storage.type.class.gtkdoc.cpp" 1370 } 1371 ] 1372 }, 1373 "3": { 1374 "name": "punctuation.definition.comment.end.documentation.cpp" 1375 } 1376 }, 1377 "name": "comment.block.documentation.cpp" 1378 }, 1379 { 1380 "begin": "(?:(?:\\s)+)?+\\/\\*[!*]+(?:(?:(?:\\n)|$)|(?=\\s))", 1381 "end": "[!*]*\\*\\/", 1382 "beginCaptures": { 1383 "0": { 1384 "name": "punctuation.definition.comment.begin.documentation.cpp" 1385 } 1386 }, 1387 "endCaptures": { 1388 "0": { 1389 "name": "punctuation.definition.comment.end.documentation.cpp" 1390 } 1391 }, 1392 "name": "comment.block.documentation.cpp", 1393 "patterns": [ 1394 { 1395 "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(?:\\{[^}]*\\})?", 1396 "name": "storage.type.class.doxygen.cpp" 1397 }, 1398 { 1399 "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", 1400 "captures": { 1401 "1": { 1402 "name": "storage.type.class.doxygen.cpp" 1403 }, 1404 "2": { 1405 "name": "markup.italic.doxygen.cpp" 1406 } 1407 } 1408 }, 1409 { 1410 "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", 1411 "captures": { 1412 "1": { 1413 "name": "storage.type.class.doxygen.cpp" 1414 }, 1415 "2": { 1416 "name": "markup.bold.doxygen.cpp" 1417 } 1418 } 1419 }, 1420 { 1421 "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", 1422 "captures": { 1423 "1": { 1424 "name": "storage.type.class.doxygen.cpp" 1425 }, 1426 "2": { 1427 "name": "markup.inline.raw.string.cpp" 1428 } 1429 } 1430 }, 1431 { 1432 "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(?:\\{[^}]*\\})?", 1433 "name": "storage.type.class.doxygen.cpp" 1434 }, 1435 { 1436 "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(?:\\{[^}]*\\})?", 1437 "name": "storage.type.class.doxygen.cpp" 1438 }, 1439 { 1440 "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", 1441 "captures": { 1442 "1": { 1443 "name": "storage.type.class.doxygen.cpp" 1444 }, 1445 "2": { 1446 "patterns": [ 1447 { 1448 "match": "in|out", 1449 "name": "keyword.other.parameter.direction.$0.cpp" 1450 } 1451 ] 1452 }, 1453 "3": { 1454 "name": "variable.parameter.cpp" 1455 } 1456 } 1457 }, 1458 { 1459 "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(?:\\{[^}]*\\})?", 1460 "name": "storage.type.class.doxygen.cpp" 1461 }, 1462 { 1463 "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(?:\\{[^}]*\\})?", 1464 "name": "storage.type.class.doxygen.cpp" 1465 }, 1466 { 1467 "match": "(?:\\b[A-Z]+:|@[a-z_]+:)", 1468 "name": "storage.type.class.gtkdoc.cpp" 1469 } 1470 ] 1471 }, 1472 { 1473 "include": "#emacs_file_banner" 1474 }, 1475 { 1476 "include": "#block_comment" 1477 }, 1478 { 1479 "include": "#line_comment" 1480 }, 1481 { 1482 "include": "#invalid_comment_end" 1483 } 1484 ] 1485 }, 1486 "constructor_inline": { 1487 "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())", 1488 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", 1489 "beginCaptures": { 1490 "0": { 1491 "name": "meta.head.function.definition.special.constructor.cpp" 1492 }, 1493 "1": { 1494 "patterns": [ 1495 { 1496 "include": "#inline_comment" 1497 } 1498 ] 1499 }, 1500 "2": { 1501 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1502 }, 1503 "3": { 1504 "name": "comment.block.cpp" 1505 }, 1506 "4": { 1507 "patterns": [ 1508 { 1509 "match": "\\*\\/", 1510 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1511 }, 1512 { 1513 "match": "\\*", 1514 "name": "comment.block.cpp" 1515 } 1516 ] 1517 }, 1518 "5": { 1519 "patterns": [ 1520 { 1521 "include": "#functional_specifiers_pre_parameters" 1522 } 1523 ] 1524 }, 1525 "6": { 1526 "patterns": [ 1527 { 1528 "include": "#inline_comment" 1529 } 1530 ] 1531 }, 1532 "7": { 1533 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1534 }, 1535 "8": { 1536 "name": "comment.block.cpp" 1537 }, 1538 "9": { 1539 "patterns": [ 1540 { 1541 "match": "\\*\\/", 1542 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1543 }, 1544 { 1545 "match": "\\*", 1546 "name": "comment.block.cpp" 1547 } 1548 ] 1549 }, 1550 "10": { 1551 "patterns": [ 1552 { 1553 "include": "#inline_comment" 1554 } 1555 ] 1556 }, 1557 "11": { 1558 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1559 }, 1560 "12": { 1561 "name": "comment.block.cpp" 1562 }, 1563 "13": { 1564 "patterns": [ 1565 { 1566 "match": "\\*\\/", 1567 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1568 }, 1569 { 1570 "match": "\\*", 1571 "name": "comment.block.cpp" 1572 } 1573 ] 1574 }, 1575 "14": { 1576 "name": "storage.type.modifier.calling-convention.cpp" 1577 }, 1578 "15": { 1579 "patterns": [ 1580 { 1581 "include": "#inline_comment" 1582 } 1583 ] 1584 }, 1585 "16": { 1586 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1587 }, 1588 "17": { 1589 "name": "comment.block.cpp" 1590 }, 1591 "18": { 1592 "patterns": [ 1593 { 1594 "match": "\\*\\/", 1595 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1596 }, 1597 { 1598 "match": "\\*", 1599 "name": "comment.block.cpp" 1600 } 1601 ] 1602 }, 1603 "19": { 1604 "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" 1605 } 1606 }, 1607 "endCaptures": {}, 1608 "name": "meta.function.definition.special.constructor.cpp", 1609 "patterns": [ 1610 { 1611 "begin": "\\G ?", 1612 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 1613 "beginCaptures": {}, 1614 "endCaptures": { 1615 "0": { 1616 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp" 1617 } 1618 }, 1619 "name": "meta.head.function.definition.special.constructor.cpp", 1620 "patterns": [ 1621 { 1622 "include": "#ever_present_context" 1623 }, 1624 { 1625 "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", 1626 "captures": { 1627 "1": { 1628 "name": "keyword.operator.assignment.cpp" 1629 }, 1630 "2": { 1631 "patterns": [ 1632 { 1633 "include": "#inline_comment" 1634 } 1635 ] 1636 }, 1637 "3": { 1638 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1639 }, 1640 "4": { 1641 "name": "comment.block.cpp" 1642 }, 1643 "5": { 1644 "patterns": [ 1645 { 1646 "match": "\\*\\/", 1647 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1648 }, 1649 { 1650 "match": "\\*", 1651 "name": "comment.block.cpp" 1652 } 1653 ] 1654 }, 1655 "6": { 1656 "name": "keyword.other.default.constructor.cpp" 1657 }, 1658 "7": { 1659 "name": "keyword.other.delete.constructor.cpp" 1660 } 1661 } 1662 }, 1663 { 1664 "include": "#functional_specifiers_pre_parameters" 1665 }, 1666 { 1667 "begin": ":", 1668 "end": "(?=\\{)", 1669 "beginCaptures": { 1670 "0": { 1671 "name": "punctuation.separator.initializers.cpp" 1672 } 1673 }, 1674 "endCaptures": {}, 1675 "patterns": [ 1676 { 1677 "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)*+)?(\\()", 1678 "end": "\\)", 1679 "beginCaptures": { 1680 "1": { 1681 "name": "entity.name.function.call.initializer.cpp" 1682 }, 1683 "2": { 1684 "name": "meta.template.call.cpp", 1685 "patterns": [ 1686 { 1687 "include": "#template_call_range" 1688 } 1689 ] 1690 }, 1691 "3": {}, 1692 "4": { 1693 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" 1694 } 1695 }, 1696 "endCaptures": { 1697 "0": { 1698 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" 1699 } 1700 }, 1701 "contentName": "meta.parameter.initialization", 1702 "patterns": [ 1703 { 1704 "include": "#evaluation_context" 1705 } 1706 ] 1707 }, 1708 { 1709 "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))(\\{)", 1710 "end": "\\}", 1711 "beginCaptures": { 1712 "1": { 1713 "name": "entity.name.function.call.initializer.cpp" 1714 }, 1715 "2": { 1716 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" 1717 } 1718 }, 1719 "endCaptures": { 1720 "0": { 1721 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" 1722 } 1723 }, 1724 "contentName": "meta.parameter.initialization", 1725 "patterns": [ 1726 { 1727 "include": "#evaluation_context" 1728 } 1729 ] 1730 }, 1731 { 1732 "match": ",", 1733 "name": "punctuation.separator.delimiter.comma.cpp" 1734 }, 1735 { 1736 "include": "#comments" 1737 } 1738 ] 1739 }, 1740 { 1741 "begin": "\\(", 1742 "end": "\\)", 1743 "beginCaptures": { 1744 "0": { 1745 "name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp" 1746 } 1747 }, 1748 "endCaptures": { 1749 "0": { 1750 "name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp" 1751 } 1752 }, 1753 "contentName": "meta.function.definition.parameters.special.constructor", 1754 "patterns": [ 1755 { 1756 "include": "#function_parameter_context" 1757 }, 1758 { 1759 "include": "#evaluation_context" 1760 } 1761 ] 1762 }, 1763 { 1764 "match": "((?:(?:final)|(?:override)))+", 1765 "captures": { 1766 "1": { 1767 "name": "keyword.operator.$1.cpp" 1768 } 1769 } 1770 }, 1771 { 1772 "include": "$self" 1773 } 1774 ] 1775 }, 1776 { 1777 "begin": "(?<=\\{|<%|\\?\\?<)", 1778 "end": "\\}|%>|\\?\\?>", 1779 "beginCaptures": {}, 1780 "endCaptures": { 1781 "0": { 1782 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp" 1783 } 1784 }, 1785 "name": "meta.body.function.definition.special.constructor.cpp", 1786 "patterns": [ 1787 { 1788 "include": "#function_body_context" 1789 } 1790 ] 1791 }, 1792 { 1793 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 1794 "end": "[\\s]*(?=;)", 1795 "beginCaptures": {}, 1796 "endCaptures": {}, 1797 "name": "meta.tail.function.definition.special.constructor.cpp", 1798 "patterns": [ 1799 { 1800 "include": "$self" 1801 } 1802 ] 1803 } 1804 ] 1805 }, 1806 "constructor_root": { 1807 "begin": "\\s*+((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())", 1808 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", 1809 "beginCaptures": { 1810 "0": { 1811 "name": "meta.head.function.definition.special.constructor.cpp" 1812 }, 1813 "1": { 1814 "patterns": [ 1815 { 1816 "include": "#inline_comment" 1817 } 1818 ] 1819 }, 1820 "2": { 1821 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1822 }, 1823 "3": { 1824 "name": "comment.block.cpp" 1825 }, 1826 "4": { 1827 "patterns": [ 1828 { 1829 "match": "\\*\\/", 1830 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1831 }, 1832 { 1833 "match": "\\*", 1834 "name": "comment.block.cpp" 1835 } 1836 ] 1837 }, 1838 "5": { 1839 "name": "storage.type.modifier.calling-convention.cpp" 1840 }, 1841 "6": { 1842 "patterns": [ 1843 { 1844 "include": "#inline_comment" 1845 } 1846 ] 1847 }, 1848 "7": { 1849 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1850 }, 1851 "8": { 1852 "name": "comment.block.cpp" 1853 }, 1854 "9": { 1855 "patterns": [ 1856 { 1857 "match": "\\*\\/", 1858 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1859 }, 1860 { 1861 "match": "\\*", 1862 "name": "comment.block.cpp" 1863 } 1864 ] 1865 }, 1866 "10": { 1867 "patterns": [ 1868 { 1869 "match": "::", 1870 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" 1871 }, 1872 { 1873 "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)", 1874 "name": "entity.name.scope-resolution.constructor.cpp" 1875 }, 1876 { 1877 "include": "#template_call_range" 1878 } 1879 ] 1880 }, 1881 "11": { 1882 "patterns": [ 1883 { 1884 "include": "#template_call_range" 1885 } 1886 ] 1887 }, 1888 "12": {}, 1889 "13": { 1890 "patterns": [ 1891 { 1892 "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}))*(?=:)", 1893 "name": "entity.name.type.constructor.cpp" 1894 }, 1895 { 1896 "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}))*", 1897 "name": "entity.name.function.definition.special.constructor.cpp" 1898 }, 1899 { 1900 "match": "::", 1901 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" 1902 } 1903 ] 1904 }, 1905 "14": {}, 1906 "15": { 1907 "patterns": [ 1908 { 1909 "include": "#inline_comment" 1910 } 1911 ] 1912 }, 1913 "16": { 1914 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1915 }, 1916 "17": { 1917 "name": "comment.block.cpp" 1918 }, 1919 "18": { 1920 "patterns": [ 1921 { 1922 "match": "\\*\\/", 1923 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1924 }, 1925 { 1926 "match": "\\*", 1927 "name": "comment.block.cpp" 1928 } 1929 ] 1930 }, 1931 "19": { 1932 "patterns": [ 1933 { 1934 "include": "#inline_comment" 1935 } 1936 ] 1937 }, 1938 "20": { 1939 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1940 }, 1941 "21": { 1942 "name": "comment.block.cpp" 1943 }, 1944 "22": { 1945 "patterns": [ 1946 { 1947 "match": "\\*\\/", 1948 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1949 }, 1950 { 1951 "match": "\\*", 1952 "name": "comment.block.cpp" 1953 } 1954 ] 1955 }, 1956 "23": { 1957 "patterns": [ 1958 { 1959 "include": "#inline_comment" 1960 } 1961 ] 1962 }, 1963 "24": { 1964 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 1965 }, 1966 "25": { 1967 "name": "comment.block.cpp" 1968 }, 1969 "26": { 1970 "patterns": [ 1971 { 1972 "match": "\\*\\/", 1973 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 1974 }, 1975 { 1976 "match": "\\*", 1977 "name": "comment.block.cpp" 1978 } 1979 ] 1980 } 1981 }, 1982 "endCaptures": {}, 1983 "name": "meta.function.definition.special.constructor.cpp", 1984 "patterns": [ 1985 { 1986 "begin": "\\G ?", 1987 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 1988 "beginCaptures": {}, 1989 "endCaptures": { 1990 "0": { 1991 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp" 1992 } 1993 }, 1994 "name": "meta.head.function.definition.special.constructor.cpp", 1995 "patterns": [ 1996 { 1997 "include": "#ever_present_context" 1998 }, 1999 { 2000 "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", 2001 "captures": { 2002 "1": { 2003 "name": "keyword.operator.assignment.cpp" 2004 }, 2005 "2": { 2006 "patterns": [ 2007 { 2008 "include": "#inline_comment" 2009 } 2010 ] 2011 }, 2012 "3": { 2013 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 2014 }, 2015 "4": { 2016 "name": "comment.block.cpp" 2017 }, 2018 "5": { 2019 "patterns": [ 2020 { 2021 "match": "\\*\\/", 2022 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 2023 }, 2024 { 2025 "match": "\\*", 2026 "name": "comment.block.cpp" 2027 } 2028 ] 2029 }, 2030 "6": { 2031 "name": "keyword.other.default.constructor.cpp" 2032 }, 2033 "7": { 2034 "name": "keyword.other.delete.constructor.cpp" 2035 } 2036 } 2037 }, 2038 { 2039 "include": "#functional_specifiers_pre_parameters" 2040 }, 2041 { 2042 "begin": ":", 2043 "end": "(?=\\{)", 2044 "beginCaptures": { 2045 "0": { 2046 "name": "punctuation.separator.initializers.cpp" 2047 } 2048 }, 2049 "endCaptures": {}, 2050 "patterns": [ 2051 { 2052 "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)*+)?(\\()", 2053 "end": "\\)", 2054 "beginCaptures": { 2055 "1": { 2056 "name": "entity.name.function.call.initializer.cpp" 2057 }, 2058 "2": { 2059 "name": "meta.template.call.cpp", 2060 "patterns": [ 2061 { 2062 "include": "#template_call_range" 2063 } 2064 ] 2065 }, 2066 "3": {}, 2067 "4": { 2068 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" 2069 } 2070 }, 2071 "endCaptures": { 2072 "0": { 2073 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" 2074 } 2075 }, 2076 "contentName": "meta.parameter.initialization", 2077 "patterns": [ 2078 { 2079 "include": "#evaluation_context" 2080 } 2081 ] 2082 }, 2083 { 2084 "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))(\\{)", 2085 "end": "\\}", 2086 "beginCaptures": { 2087 "1": { 2088 "name": "entity.name.function.call.initializer.cpp" 2089 }, 2090 "2": { 2091 "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" 2092 } 2093 }, 2094 "endCaptures": { 2095 "0": { 2096 "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" 2097 } 2098 }, 2099 "contentName": "meta.parameter.initialization", 2100 "patterns": [ 2101 { 2102 "include": "#evaluation_context" 2103 } 2104 ] 2105 }, 2106 { 2107 "match": ",", 2108 "name": "punctuation.separator.delimiter.comma.cpp" 2109 }, 2110 { 2111 "include": "#comments" 2112 } 2113 ] 2114 }, 2115 { 2116 "begin": "\\(", 2117 "end": "\\)", 2118 "beginCaptures": { 2119 "0": { 2120 "name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp" 2121 } 2122 }, 2123 "endCaptures": { 2124 "0": { 2125 "name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp" 2126 } 2127 }, 2128 "contentName": "meta.function.definition.parameters.special.constructor", 2129 "patterns": [ 2130 { 2131 "include": "#function_parameter_context" 2132 }, 2133 { 2134 "include": "#evaluation_context" 2135 } 2136 ] 2137 }, 2138 { 2139 "match": "((?:(?:final)|(?:override)))+", 2140 "captures": { 2141 "1": { 2142 "name": "keyword.operator.$1.cpp" 2143 } 2144 } 2145 }, 2146 { 2147 "include": "$self" 2148 } 2149 ] 2150 }, 2151 { 2152 "begin": "(?<=\\{|<%|\\?\\?<)", 2153 "end": "\\}|%>|\\?\\?>", 2154 "beginCaptures": {}, 2155 "endCaptures": { 2156 "0": { 2157 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp" 2158 } 2159 }, 2160 "name": "meta.body.function.definition.special.constructor.cpp", 2161 "patterns": [ 2162 { 2163 "include": "#function_body_context" 2164 } 2165 ] 2166 }, 2167 { 2168 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 2169 "end": "[\\s]*(?=;)", 2170 "beginCaptures": {}, 2171 "endCaptures": {}, 2172 "name": "meta.tail.function.definition.special.constructor.cpp", 2173 "patterns": [ 2174 { 2175 "include": "$self" 2176 } 2177 ] 2178 } 2179 ] 2180 }, 2181 "control_flow_keywords": { 2182 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:co_return)|(?:co_yield)|(?:co_await)|(?:continue)|(?:default)|(?:return)|(?:switch)|(?:catch)|(?:while)|(?:throw)|(?:break)|(?:else)|(?:case)|(?:goto)|(?:for)|(?:try)|(?:if)|(?:do))(?!\\w))", 2183 "captures": { 2184 "1": { 2185 "patterns": [ 2186 { 2187 "include": "#inline_comment" 2188 } 2189 ] 2190 }, 2191 "2": { 2192 "patterns": [ 2193 { 2194 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 2195 "captures": { 2196 "1": { 2197 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 2198 }, 2199 "2": { 2200 "name": "comment.block.cpp" 2201 }, 2202 "3": { 2203 "patterns": [ 2204 { 2205 "match": "\\*\\/", 2206 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 2207 }, 2208 { 2209 "match": "\\*", 2210 "name": "comment.block.cpp" 2211 } 2212 ] 2213 } 2214 } 2215 } 2216 ] 2217 }, 2218 "3": { 2219 "name": "keyword.control.$3.cpp" 2220 } 2221 } 2222 }, 2223 "cpp_attributes": { 2224 "begin": "\\[\\[", 2225 "end": "\\]\\]", 2226 "beginCaptures": { 2227 "0": { 2228 "name": "punctuation.section.attribute.begin.cpp" 2229 } 2230 }, 2231 "endCaptures": { 2232 "0": { 2233 "name": "punctuation.section.attribute.end.cpp" 2234 } 2235 }, 2236 "name": "support.other.attribute.cpp", 2237 "patterns": [ 2238 { 2239 "include": "#attributes_context" 2240 }, 2241 { 2242 "begin": "\\(", 2243 "end": "\\)", 2244 "beginCaptures": {}, 2245 "endCaptures": {}, 2246 "patterns": [ 2247 { 2248 "include": "#attributes_context" 2249 }, 2250 { 2251 "include": "#string_context" 2252 } 2253 ] 2254 }, 2255 { 2256 "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))", 2257 "captures": { 2258 "1": { 2259 "name": "keyword.other.using.directive.cpp" 2260 }, 2261 "2": { 2262 "name": "entity.name.namespace.cpp" 2263 } 2264 } 2265 }, 2266 { 2267 "match": ",", 2268 "name": "punctuation.separator.attribute.cpp" 2269 }, 2270 { 2271 "match": ":", 2272 "name": "punctuation.accessor.attribute.cpp" 2273 }, 2274 { 2275 "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)(?=::)", 2276 "name": "entity.name.namespace.cpp" 2277 }, 2278 { 2279 "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)", 2280 "name": "entity.other.attribute.$0.cpp" 2281 }, 2282 { 2283 "include": "#number_literal" 2284 } 2285 ] 2286 }, 2287 "curly_initializer": { 2288 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?: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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\{)", 2289 "end": "\\}", 2290 "beginCaptures": { 2291 "1": { 2292 "name": "meta.qualified_type.cpp", 2293 "patterns": [ 2294 { 2295 "match": "::", 2296 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 2297 }, 2298 { 2299 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 2300 "name": "storage.type.$0.cpp" 2301 }, 2302 { 2303 "include": "#attributes_context" 2304 }, 2305 { 2306 "include": "#storage_types" 2307 }, 2308 { 2309 "include": "#number_literal" 2310 }, 2311 { 2312 "include": "#string_context" 2313 }, 2314 { 2315 "include": "#comma" 2316 }, 2317 { 2318 "include": "#scope_resolution_inner_generated" 2319 }, 2320 { 2321 "begin": "<", 2322 "end": ">", 2323 "beginCaptures": { 2324 "0": { 2325 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 2326 } 2327 }, 2328 "endCaptures": { 2329 "0": { 2330 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 2331 } 2332 }, 2333 "name": "meta.template.call.cpp", 2334 "patterns": [ 2335 { 2336 "include": "#template_call_context" 2337 } 2338 ] 2339 }, 2340 { 2341 "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}))*", 2342 "name": "entity.name.type.cpp" 2343 } 2344 ] 2345 }, 2346 "2": { 2347 "patterns": [ 2348 { 2349 "include": "#attributes_context" 2350 }, 2351 { 2352 "include": "#number_literal" 2353 } 2354 ] 2355 }, 2356 "3": { 2357 "patterns": [ 2358 { 2359 "include": "#inline_comment" 2360 } 2361 ] 2362 }, 2363 "4": { 2364 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 2365 }, 2366 "5": { 2367 "name": "comment.block.cpp" 2368 }, 2369 "6": { 2370 "patterns": [ 2371 { 2372 "match": "\\*\\/", 2373 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 2374 }, 2375 { 2376 "match": "\\*", 2377 "name": "comment.block.cpp" 2378 } 2379 ] 2380 }, 2381 "7": { 2382 "patterns": [ 2383 { 2384 "include": "#inline_comment" 2385 } 2386 ] 2387 }, 2388 "8": { 2389 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 2390 }, 2391 "9": { 2392 "name": "comment.block.cpp" 2393 }, 2394 "10": { 2395 "patterns": [ 2396 { 2397 "match": "\\*\\/", 2398 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 2399 }, 2400 { 2401 "match": "\\*", 2402 "name": "comment.block.cpp" 2403 } 2404 ] 2405 }, 2406 "11": { 2407 "patterns": [ 2408 { 2409 "match": "::", 2410 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 2411 }, 2412 { 2413 "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)", 2414 "name": "entity.name.scope-resolution.type.cpp" 2415 }, 2416 { 2417 "include": "#template_call_range" 2418 } 2419 ] 2420 }, 2421 "12": { 2422 "patterns": [ 2423 { 2424 "include": "#template_call_range" 2425 } 2426 ] 2427 }, 2428 "13": {}, 2429 "14": { 2430 "patterns": [ 2431 { 2432 "include": "#inline_comment" 2433 } 2434 ] 2435 }, 2436 "15": { 2437 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 2438 }, 2439 "16": { 2440 "name": "comment.block.cpp" 2441 }, 2442 "17": { 2443 "patterns": [ 2444 { 2445 "match": "\\*\\/", 2446 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 2447 }, 2448 { 2449 "match": "\\*", 2450 "name": "comment.block.cpp" 2451 } 2452 ] 2453 }, 2454 "18": {}, 2455 "19": { 2456 "patterns": [ 2457 { 2458 "include": "#inline_comment" 2459 } 2460 ] 2461 }, 2462 "20": { 2463 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 2464 }, 2465 "21": { 2466 "name": "comment.block.cpp" 2467 }, 2468 "22": { 2469 "patterns": [ 2470 { 2471 "match": "\\*\\/", 2472 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 2473 }, 2474 { 2475 "match": "\\*", 2476 "name": "comment.block.cpp" 2477 } 2478 ] 2479 }, 2480 "23": { 2481 "name": "punctuation.section.arguments.begin.bracket.curly.initializer.cpp" 2482 } 2483 }, 2484 "endCaptures": { 2485 "0": { 2486 "name": "punctuation.section.arguments.end.bracket.curly.initializer.cpp" 2487 } 2488 }, 2489 "name": "meta.initialization.cpp", 2490 "patterns": [ 2491 { 2492 "include": "#evaluation_context" 2493 }, 2494 { 2495 "include": "#comma" 2496 } 2497 ] 2498 }, 2499 "d9bc4796b0b_module_import": { 2500 "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((import))(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)", 2501 "captures": { 2502 "1": { 2503 "patterns": [ 2504 { 2505 "include": "#inline_comment" 2506 } 2507 ] 2508 }, 2509 "2": { 2510 "patterns": [ 2511 { 2512 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 2513 "captures": { 2514 "1": { 2515 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 2516 }, 2517 "2": { 2518 "name": "comment.block.cpp" 2519 }, 2520 "3": { 2521 "patterns": [ 2522 { 2523 "match": "\\*\\/", 2524 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 2525 }, 2526 { 2527 "match": "\\*", 2528 "name": "comment.block.cpp" 2529 } 2530 ] 2531 } 2532 } 2533 } 2534 ] 2535 }, 2536 "3": { 2537 "name": "keyword.control.directive.import.cpp" 2538 }, 2539 "5": { 2540 "name": "string.quoted.other.lt-gt.include.cpp" 2541 }, 2542 "6": { 2543 "name": "punctuation.definition.string.begin.cpp" 2544 }, 2545 "7": { 2546 "name": "punctuation.definition.string.end.cpp" 2547 }, 2548 "8": { 2549 "patterns": [ 2550 { 2551 "include": "#inline_comment" 2552 } 2553 ] 2554 }, 2555 "9": { 2556 "patterns": [ 2557 { 2558 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 2559 "captures": { 2560 "1": { 2561 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 2562 }, 2563 "2": { 2564 "name": "comment.block.cpp" 2565 }, 2566 "3": { 2567 "patterns": [ 2568 { 2569 "match": "\\*\\/", 2570 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 2571 }, 2572 { 2573 "match": "\\*", 2574 "name": "comment.block.cpp" 2575 } 2576 ] 2577 } 2578 } 2579 } 2580 ] 2581 }, 2582 "10": { 2583 "name": "string.quoted.double.include.cpp" 2584 }, 2585 "11": { 2586 "name": "punctuation.definition.string.begin.cpp" 2587 }, 2588 "12": { 2589 "name": "punctuation.definition.string.end.cpp" 2590 }, 2591 "13": { 2592 "patterns": [ 2593 { 2594 "include": "#inline_comment" 2595 } 2596 ] 2597 }, 2598 "14": { 2599 "patterns": [ 2600 { 2601 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 2602 "captures": { 2603 "1": { 2604 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 2605 }, 2606 "2": { 2607 "name": "comment.block.cpp" 2608 }, 2609 "3": { 2610 "patterns": [ 2611 { 2612 "match": "\\*\\/", 2613 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 2614 }, 2615 { 2616 "match": "\\*", 2617 "name": "comment.block.cpp" 2618 } 2619 ] 2620 } 2621 } 2622 } 2623 ] 2624 }, 2625 "15": { 2626 "name": "entity.name.other.preprocessor.macro.include.cpp" 2627 }, 2628 "16": { 2629 "patterns": [ 2630 { 2631 "include": "#inline_comment" 2632 } 2633 ] 2634 }, 2635 "17": { 2636 "patterns": [ 2637 { 2638 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 2639 "captures": { 2640 "1": { 2641 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 2642 }, 2643 "2": { 2644 "name": "comment.block.cpp" 2645 }, 2646 "3": { 2647 "patterns": [ 2648 { 2649 "match": "\\*\\/", 2650 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 2651 }, 2652 { 2653 "match": "\\*", 2654 "name": "comment.block.cpp" 2655 } 2656 ] 2657 } 2658 } 2659 } 2660 ] 2661 }, 2662 "18": { 2663 "patterns": [ 2664 { 2665 "include": "#inline_comment" 2666 } 2667 ] 2668 }, 2669 "19": { 2670 "patterns": [ 2671 { 2672 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 2673 "captures": { 2674 "1": { 2675 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 2676 }, 2677 "2": { 2678 "name": "comment.block.cpp" 2679 }, 2680 "3": { 2681 "patterns": [ 2682 { 2683 "match": "\\*\\/", 2684 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 2685 }, 2686 { 2687 "match": "\\*", 2688 "name": "comment.block.cpp" 2689 } 2690 ] 2691 } 2692 } 2693 } 2694 ] 2695 }, 2696 "20": { 2697 "patterns": [ 2698 { 2699 "include": "#inline_comment" 2700 } 2701 ] 2702 }, 2703 "21": { 2704 "patterns": [ 2705 { 2706 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 2707 "captures": { 2708 "1": { 2709 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 2710 }, 2711 "2": { 2712 "name": "comment.block.cpp" 2713 }, 2714 "3": { 2715 "patterns": [ 2716 { 2717 "match": "\\*\\/", 2718 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 2719 }, 2720 { 2721 "match": "\\*", 2722 "name": "comment.block.cpp" 2723 } 2724 ] 2725 } 2726 } 2727 } 2728 ] 2729 }, 2730 "22": { 2731 "name": "punctuation.terminator.statement.cpp" 2732 } 2733 }, 2734 "name": "meta.preprocessor.import.cpp" 2735 }, 2736 "d9bc4796b0b_preprocessor_number_literal": { 2737 "match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*", 2738 "captures": { 2739 "0": { 2740 "patterns": [ 2741 { 2742 "begin": "(?=.)", 2743 "end": "$", 2744 "beginCaptures": {}, 2745 "endCaptures": {}, 2746 "patterns": [ 2747 { 2748 "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?$", 2749 "captures": { 2750 "1": { 2751 "name": "keyword.other.unit.hexadecimal.cpp" 2752 }, 2753 "2": { 2754 "name": "constant.numeric.hexadecimal.cpp", 2755 "patterns": [ 2756 { 2757 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 2758 "name": "punctuation.separator.constant.numeric.cpp" 2759 } 2760 ] 2761 }, 2762 "3": { 2763 "name": "punctuation.separator.constant.numeric.cpp" 2764 }, 2765 "4": { 2766 "name": "constant.numeric.hexadecimal.cpp" 2767 }, 2768 "5": { 2769 "name": "constant.numeric.hexadecimal.cpp", 2770 "patterns": [ 2771 { 2772 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 2773 "name": "punctuation.separator.constant.numeric.cpp" 2774 } 2775 ] 2776 }, 2777 "6": { 2778 "name": "punctuation.separator.constant.numeric.cpp" 2779 }, 2780 "7": { 2781 "name": "keyword.other.unit.exponent.hexadecimal.cpp" 2782 }, 2783 "8": { 2784 "name": "keyword.operator.plus.exponent.hexadecimal.cpp" 2785 }, 2786 "9": { 2787 "name": "keyword.operator.minus.exponent.hexadecimal.cpp" 2788 }, 2789 "10": { 2790 "name": "constant.numeric.exponent.hexadecimal.cpp", 2791 "patterns": [ 2792 { 2793 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 2794 "name": "punctuation.separator.constant.numeric.cpp" 2795 } 2796 ] 2797 }, 2798 "11": { 2799 "name": "keyword.other.unit.suffix.floating-point.cpp" 2800 } 2801 } 2802 }, 2803 { 2804 "match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?$", 2805 "captures": { 2806 "1": { 2807 "name": "constant.numeric.decimal.cpp", 2808 "patterns": [ 2809 { 2810 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 2811 "name": "punctuation.separator.constant.numeric.cpp" 2812 } 2813 ] 2814 }, 2815 "2": { 2816 "name": "punctuation.separator.constant.numeric.cpp" 2817 }, 2818 "3": { 2819 "name": "constant.numeric.decimal.point.cpp" 2820 }, 2821 "4": { 2822 "name": "constant.numeric.decimal.cpp", 2823 "patterns": [ 2824 { 2825 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 2826 "name": "punctuation.separator.constant.numeric.cpp" 2827 } 2828 ] 2829 }, 2830 "5": { 2831 "name": "punctuation.separator.constant.numeric.cpp" 2832 }, 2833 "6": { 2834 "name": "keyword.other.unit.exponent.decimal.cpp" 2835 }, 2836 "7": { 2837 "name": "keyword.operator.plus.exponent.decimal.cpp" 2838 }, 2839 "8": { 2840 "name": "keyword.operator.minus.exponent.decimal.cpp" 2841 }, 2842 "9": { 2843 "name": "constant.numeric.exponent.decimal.cpp", 2844 "patterns": [ 2845 { 2846 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 2847 "name": "punctuation.separator.constant.numeric.cpp" 2848 } 2849 ] 2850 }, 2851 "10": { 2852 "name": "keyword.other.unit.suffix.floating-point.cpp" 2853 } 2854 } 2855 }, 2856 { 2857 "match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$", 2858 "captures": { 2859 "1": { 2860 "name": "keyword.other.unit.binary.cpp" 2861 }, 2862 "2": { 2863 "name": "constant.numeric.binary.cpp", 2864 "patterns": [ 2865 { 2866 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 2867 "name": "punctuation.separator.constant.numeric.cpp" 2868 } 2869 ] 2870 }, 2871 "3": { 2872 "name": "punctuation.separator.constant.numeric.cpp" 2873 }, 2874 "4": { 2875 "name": "keyword.other.unit.suffix.integer.cpp" 2876 } 2877 } 2878 }, 2879 { 2880 "match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$", 2881 "captures": { 2882 "1": { 2883 "name": "keyword.other.unit.octal.cpp" 2884 }, 2885 "2": { 2886 "name": "constant.numeric.octal.cpp", 2887 "patterns": [ 2888 { 2889 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 2890 "name": "punctuation.separator.constant.numeric.cpp" 2891 } 2892 ] 2893 }, 2894 "3": { 2895 "name": "punctuation.separator.constant.numeric.cpp" 2896 }, 2897 "4": { 2898 "name": "keyword.other.unit.suffix.integer.cpp" 2899 } 2900 } 2901 }, 2902 { 2903 "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$", 2904 "captures": { 2905 "1": { 2906 "name": "keyword.other.unit.hexadecimal.cpp" 2907 }, 2908 "2": { 2909 "name": "constant.numeric.hexadecimal.cpp", 2910 "patterns": [ 2911 { 2912 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 2913 "name": "punctuation.separator.constant.numeric.cpp" 2914 } 2915 ] 2916 }, 2917 "3": { 2918 "name": "punctuation.separator.constant.numeric.cpp" 2919 }, 2920 "4": { 2921 "name": "keyword.other.unit.exponent.hexadecimal.cpp" 2922 }, 2923 "5": { 2924 "name": "keyword.operator.plus.exponent.hexadecimal.cpp" 2925 }, 2926 "6": { 2927 "name": "keyword.operator.minus.exponent.hexadecimal.cpp" 2928 }, 2929 "7": { 2930 "name": "constant.numeric.exponent.hexadecimal.cpp", 2931 "patterns": [ 2932 { 2933 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 2934 "name": "punctuation.separator.constant.numeric.cpp" 2935 } 2936 ] 2937 }, 2938 "8": { 2939 "name": "keyword.other.unit.suffix.integer.cpp" 2940 } 2941 } 2942 }, 2943 { 2944 "match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$", 2945 "captures": { 2946 "1": { 2947 "name": "constant.numeric.decimal.cpp", 2948 "patterns": [ 2949 { 2950 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 2951 "name": "punctuation.separator.constant.numeric.cpp" 2952 } 2953 ] 2954 }, 2955 "2": { 2956 "name": "punctuation.separator.constant.numeric.cpp" 2957 }, 2958 "3": { 2959 "name": "keyword.other.unit.exponent.decimal.cpp" 2960 }, 2961 "4": { 2962 "name": "keyword.operator.plus.exponent.decimal.cpp" 2963 }, 2964 "5": { 2965 "name": "keyword.operator.minus.exponent.decimal.cpp" 2966 }, 2967 "6": { 2968 "name": "constant.numeric.exponent.decimal.cpp", 2969 "patterns": [ 2970 { 2971 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 2972 "name": "punctuation.separator.constant.numeric.cpp" 2973 } 2974 ] 2975 }, 2976 "7": { 2977 "name": "keyword.other.unit.suffix.integer.cpp" 2978 } 2979 } 2980 }, 2981 { 2982 "match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+", 2983 "name": "invalid.illegal.constant.numeric.cpp" 2984 } 2985 ] 2986 } 2987 ] 2988 } 2989 } 2990 }, 2991 "decltype": { 2992 "begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 2993 "end": "\\)", 2994 "beginCaptures": { 2995 "1": { 2996 "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp" 2997 }, 2998 "2": { 2999 "patterns": [ 3000 { 3001 "include": "#inline_comment" 3002 } 3003 ] 3004 }, 3005 "3": { 3006 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3007 }, 3008 "4": { 3009 "name": "comment.block.cpp" 3010 }, 3011 "5": { 3012 "patterns": [ 3013 { 3014 "match": "\\*\\/", 3015 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3016 }, 3017 { 3018 "match": "\\*", 3019 "name": "comment.block.cpp" 3020 } 3021 ] 3022 }, 3023 "6": { 3024 "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp" 3025 } 3026 }, 3027 "endCaptures": { 3028 "0": { 3029 "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp" 3030 } 3031 }, 3032 "contentName": "meta.arguments.decltype", 3033 "patterns": [ 3034 { 3035 "include": "#evaluation_context" 3036 } 3037 ] 3038 }, 3039 "decltype_specifier": { 3040 "begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 3041 "end": "\\)", 3042 "beginCaptures": { 3043 "1": { 3044 "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp" 3045 }, 3046 "2": { 3047 "patterns": [ 3048 { 3049 "include": "#inline_comment" 3050 } 3051 ] 3052 }, 3053 "3": { 3054 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3055 }, 3056 "4": { 3057 "name": "comment.block.cpp" 3058 }, 3059 "5": { 3060 "patterns": [ 3061 { 3062 "match": "\\*\\/", 3063 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3064 }, 3065 { 3066 "match": "\\*", 3067 "name": "comment.block.cpp" 3068 } 3069 ] 3070 }, 3071 "6": { 3072 "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp" 3073 } 3074 }, 3075 "endCaptures": { 3076 "0": { 3077 "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp" 3078 } 3079 }, 3080 "contentName": "meta.arguments.decltype", 3081 "patterns": [ 3082 { 3083 "include": "#evaluation_context" 3084 } 3085 ] 3086 }, 3087 "default_statement": { 3088 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)default(?!\\w))", 3089 "end": ":", 3090 "beginCaptures": { 3091 "1": { 3092 "patterns": [ 3093 { 3094 "include": "#inline_comment" 3095 } 3096 ] 3097 }, 3098 "2": { 3099 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3100 }, 3101 "3": { 3102 "name": "comment.block.cpp" 3103 }, 3104 "4": { 3105 "patterns": [ 3106 { 3107 "match": "\\*\\/", 3108 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3109 }, 3110 { 3111 "match": "\\*", 3112 "name": "comment.block.cpp" 3113 } 3114 ] 3115 }, 3116 "5": { 3117 "name": "keyword.control.default.cpp" 3118 } 3119 }, 3120 "endCaptures": { 3121 "0": { 3122 "name": "punctuation.separator.colon.case.default.cpp" 3123 } 3124 }, 3125 "name": "meta.conditional.case.cpp", 3126 "patterns": [ 3127 { 3128 "include": "#evaluation_context" 3129 }, 3130 { 3131 "include": "#c_conditional_context" 3132 } 3133 ] 3134 }, 3135 "destructor_inline": { 3136 "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(~(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())", 3137 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", 3138 "beginCaptures": { 3139 "0": { 3140 "name": "meta.head.function.definition.special.member.destructor.cpp" 3141 }, 3142 "1": { 3143 "patterns": [ 3144 { 3145 "include": "#inline_comment" 3146 } 3147 ] 3148 }, 3149 "2": { 3150 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3151 }, 3152 "3": { 3153 "name": "comment.block.cpp" 3154 }, 3155 "4": { 3156 "patterns": [ 3157 { 3158 "match": "\\*\\/", 3159 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3160 }, 3161 { 3162 "match": "\\*", 3163 "name": "comment.block.cpp" 3164 } 3165 ] 3166 }, 3167 "5": { 3168 "patterns": [ 3169 { 3170 "include": "#inline_comment" 3171 } 3172 ] 3173 }, 3174 "6": { 3175 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3176 }, 3177 "7": { 3178 "name": "comment.block.cpp" 3179 }, 3180 "8": { 3181 "patterns": [ 3182 { 3183 "match": "\\*\\/", 3184 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3185 }, 3186 { 3187 "match": "\\*", 3188 "name": "comment.block.cpp" 3189 } 3190 ] 3191 }, 3192 "9": { 3193 "name": "storage.type.modifier.calling-convention.cpp" 3194 }, 3195 "10": { 3196 "patterns": [ 3197 { 3198 "include": "#inline_comment" 3199 } 3200 ] 3201 }, 3202 "11": { 3203 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3204 }, 3205 "12": { 3206 "name": "comment.block.cpp" 3207 }, 3208 "13": { 3209 "patterns": [ 3210 { 3211 "match": "\\*\\/", 3212 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3213 }, 3214 { 3215 "match": "\\*", 3216 "name": "comment.block.cpp" 3217 } 3218 ] 3219 }, 3220 "14": { 3221 "patterns": [ 3222 { 3223 "include": "#functional_specifiers_pre_parameters" 3224 } 3225 ] 3226 }, 3227 "15": { 3228 "patterns": [ 3229 { 3230 "include": "#inline_comment" 3231 } 3232 ] 3233 }, 3234 "16": { 3235 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3236 }, 3237 "17": { 3238 "name": "comment.block.cpp" 3239 }, 3240 "18": { 3241 "patterns": [ 3242 { 3243 "match": "\\*\\/", 3244 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3245 }, 3246 { 3247 "match": "\\*", 3248 "name": "comment.block.cpp" 3249 } 3250 ] 3251 }, 3252 "19": { 3253 "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" 3254 } 3255 }, 3256 "endCaptures": {}, 3257 "name": "meta.function.definition.special.member.destructor.cpp", 3258 "patterns": [ 3259 { 3260 "begin": "\\G ?", 3261 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 3262 "beginCaptures": {}, 3263 "endCaptures": { 3264 "0": { 3265 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp" 3266 } 3267 }, 3268 "name": "meta.head.function.definition.special.member.destructor.cpp", 3269 "patterns": [ 3270 { 3271 "include": "#ever_present_context" 3272 }, 3273 { 3274 "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", 3275 "captures": { 3276 "1": { 3277 "name": "keyword.operator.assignment.cpp" 3278 }, 3279 "2": { 3280 "patterns": [ 3281 { 3282 "include": "#inline_comment" 3283 } 3284 ] 3285 }, 3286 "3": { 3287 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3288 }, 3289 "4": { 3290 "name": "comment.block.cpp" 3291 }, 3292 "5": { 3293 "patterns": [ 3294 { 3295 "match": "\\*\\/", 3296 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3297 }, 3298 { 3299 "match": "\\*", 3300 "name": "comment.block.cpp" 3301 } 3302 ] 3303 }, 3304 "6": { 3305 "name": "keyword.other.default.constructor.cpp" 3306 }, 3307 "7": { 3308 "name": "keyword.other.delete.constructor.cpp" 3309 } 3310 } 3311 }, 3312 { 3313 "begin": "\\(", 3314 "end": "\\)", 3315 "beginCaptures": { 3316 "0": { 3317 "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" 3318 } 3319 }, 3320 "endCaptures": { 3321 "0": { 3322 "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" 3323 } 3324 }, 3325 "contentName": "meta.function.definition.parameters.special.member.destructor", 3326 "patterns": [] 3327 }, 3328 { 3329 "match": "((?:(?:final)|(?:override)))+", 3330 "captures": { 3331 "1": { 3332 "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp" 3333 } 3334 } 3335 }, 3336 { 3337 "include": "$self" 3338 } 3339 ] 3340 }, 3341 { 3342 "begin": "(?<=\\{|<%|\\?\\?<)", 3343 "end": "\\}|%>|\\?\\?>", 3344 "beginCaptures": {}, 3345 "endCaptures": { 3346 "0": { 3347 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp" 3348 } 3349 }, 3350 "name": "meta.body.function.definition.special.member.destructor.cpp", 3351 "patterns": [ 3352 { 3353 "include": "#function_body_context" 3354 } 3355 ] 3356 }, 3357 { 3358 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 3359 "end": "[\\s]*(?=;)", 3360 "beginCaptures": {}, 3361 "endCaptures": {}, 3362 "name": "meta.tail.function.definition.special.member.destructor.cpp", 3363 "patterns": [ 3364 { 3365 "include": "$self" 3366 } 3367 ] 3368 } 3369 ] 3370 }, 3371 "destructor_root": { 3372 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))~\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())", 3373 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", 3374 "beginCaptures": { 3375 "0": { 3376 "name": "meta.head.function.definition.special.member.destructor.cpp" 3377 }, 3378 "1": { 3379 "patterns": [ 3380 { 3381 "include": "#inline_comment" 3382 } 3383 ] 3384 }, 3385 "2": { 3386 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3387 }, 3388 "3": { 3389 "name": "comment.block.cpp" 3390 }, 3391 "4": { 3392 "patterns": [ 3393 { 3394 "match": "\\*\\/", 3395 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3396 }, 3397 { 3398 "match": "\\*", 3399 "name": "comment.block.cpp" 3400 } 3401 ] 3402 }, 3403 "5": { 3404 "name": "storage.type.modifier.calling-convention.cpp" 3405 }, 3406 "6": { 3407 "patterns": [ 3408 { 3409 "include": "#inline_comment" 3410 } 3411 ] 3412 }, 3413 "7": { 3414 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3415 }, 3416 "8": { 3417 "name": "comment.block.cpp" 3418 }, 3419 "9": { 3420 "patterns": [ 3421 { 3422 "match": "\\*\\/", 3423 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3424 }, 3425 { 3426 "match": "\\*", 3427 "name": "comment.block.cpp" 3428 } 3429 ] 3430 }, 3431 "10": { 3432 "patterns": [ 3433 { 3434 "match": "::", 3435 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp" 3436 }, 3437 { 3438 "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)", 3439 "name": "entity.name.scope-resolution.destructor.cpp" 3440 }, 3441 { 3442 "include": "#template_call_range" 3443 } 3444 ] 3445 }, 3446 "11": { 3447 "patterns": [ 3448 { 3449 "include": "#template_call_range" 3450 } 3451 ] 3452 }, 3453 "12": {}, 3454 "13": { 3455 "patterns": [ 3456 { 3457 "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}))*(?=:)", 3458 "name": "entity.name.type.destructor.cpp" 3459 }, 3460 { 3461 "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}))*", 3462 "name": "entity.name.function.definition.special.member.destructor.cpp" 3463 }, 3464 { 3465 "match": "::", 3466 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp" 3467 } 3468 ] 3469 }, 3470 "14": {}, 3471 "15": { 3472 "patterns": [ 3473 { 3474 "include": "#inline_comment" 3475 } 3476 ] 3477 }, 3478 "16": { 3479 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3480 }, 3481 "17": { 3482 "name": "comment.block.cpp" 3483 }, 3484 "18": { 3485 "patterns": [ 3486 { 3487 "match": "\\*\\/", 3488 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3489 }, 3490 { 3491 "match": "\\*", 3492 "name": "comment.block.cpp" 3493 } 3494 ] 3495 }, 3496 "19": { 3497 "patterns": [ 3498 { 3499 "include": "#inline_comment" 3500 } 3501 ] 3502 }, 3503 "20": { 3504 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3505 }, 3506 "21": { 3507 "name": "comment.block.cpp" 3508 }, 3509 "22": { 3510 "patterns": [ 3511 { 3512 "match": "\\*\\/", 3513 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3514 }, 3515 { 3516 "match": "\\*", 3517 "name": "comment.block.cpp" 3518 } 3519 ] 3520 }, 3521 "23": { 3522 "patterns": [ 3523 { 3524 "include": "#inline_comment" 3525 } 3526 ] 3527 }, 3528 "24": { 3529 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3530 }, 3531 "25": { 3532 "name": "comment.block.cpp" 3533 }, 3534 "26": { 3535 "patterns": [ 3536 { 3537 "match": "\\*\\/", 3538 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3539 }, 3540 { 3541 "match": "\\*", 3542 "name": "comment.block.cpp" 3543 } 3544 ] 3545 } 3546 }, 3547 "endCaptures": {}, 3548 "name": "meta.function.definition.special.member.destructor.cpp", 3549 "patterns": [ 3550 { 3551 "begin": "\\G ?", 3552 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 3553 "beginCaptures": {}, 3554 "endCaptures": { 3555 "0": { 3556 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp" 3557 } 3558 }, 3559 "name": "meta.head.function.definition.special.member.destructor.cpp", 3560 "patterns": [ 3561 { 3562 "include": "#ever_present_context" 3563 }, 3564 { 3565 "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", 3566 "captures": { 3567 "1": { 3568 "name": "keyword.operator.assignment.cpp" 3569 }, 3570 "2": { 3571 "patterns": [ 3572 { 3573 "include": "#inline_comment" 3574 } 3575 ] 3576 }, 3577 "3": { 3578 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3579 }, 3580 "4": { 3581 "name": "comment.block.cpp" 3582 }, 3583 "5": { 3584 "patterns": [ 3585 { 3586 "match": "\\*\\/", 3587 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3588 }, 3589 { 3590 "match": "\\*", 3591 "name": "comment.block.cpp" 3592 } 3593 ] 3594 }, 3595 "6": { 3596 "name": "keyword.other.default.constructor.cpp" 3597 }, 3598 "7": { 3599 "name": "keyword.other.delete.constructor.cpp" 3600 } 3601 } 3602 }, 3603 { 3604 "begin": "\\(", 3605 "end": "\\)", 3606 "beginCaptures": { 3607 "0": { 3608 "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" 3609 } 3610 }, 3611 "endCaptures": { 3612 "0": { 3613 "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" 3614 } 3615 }, 3616 "contentName": "meta.function.definition.parameters.special.member.destructor", 3617 "patterns": [] 3618 }, 3619 { 3620 "match": "((?:(?:final)|(?:override)))+", 3621 "captures": { 3622 "1": { 3623 "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp" 3624 } 3625 } 3626 }, 3627 { 3628 "include": "$self" 3629 } 3630 ] 3631 }, 3632 { 3633 "begin": "(?<=\\{|<%|\\?\\?<)", 3634 "end": "\\}|%>|\\?\\?>", 3635 "beginCaptures": {}, 3636 "endCaptures": { 3637 "0": { 3638 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp" 3639 } 3640 }, 3641 "name": "meta.body.function.definition.special.member.destructor.cpp", 3642 "patterns": [ 3643 { 3644 "include": "#function_body_context" 3645 } 3646 ] 3647 }, 3648 { 3649 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 3650 "end": "[\\s]*(?=;)", 3651 "beginCaptures": {}, 3652 "endCaptures": {}, 3653 "name": "meta.tail.function.definition.special.member.destructor.cpp", 3654 "patterns": [ 3655 { 3656 "include": "$self" 3657 } 3658 ] 3659 } 3660 ] 3661 }, 3662 "diagnostic": { 3663 "begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?", 3664 "end": "(?<!\\\\)(?=\\n)", 3665 "beginCaptures": { 3666 "1": { 3667 "name": "keyword.control.directive.diagnostic.$7.cpp" 3668 }, 3669 "2": { 3670 "patterns": [ 3671 { 3672 "include": "#inline_comment" 3673 } 3674 ] 3675 }, 3676 "3": { 3677 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3678 }, 3679 "4": { 3680 "name": "comment.block.cpp" 3681 }, 3682 "5": { 3683 "patterns": [ 3684 { 3685 "match": "\\*\\/", 3686 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3687 }, 3688 { 3689 "match": "\\*", 3690 "name": "comment.block.cpp" 3691 } 3692 ] 3693 }, 3694 "6": { 3695 "name": "punctuation.definition.directive.cpp" 3696 }, 3697 "7": {} 3698 }, 3699 "endCaptures": {}, 3700 "name": "meta.preprocessor.diagnostic.$reference(directive).cpp", 3701 "patterns": [ 3702 { 3703 "begin": "\"", 3704 "end": "(?:(\")|(?<!\\\\)(?=\\n))", 3705 "beginCaptures": { 3706 "0": { 3707 "name": "punctuation.definition.string.begin.cpp" 3708 } 3709 }, 3710 "endCaptures": { 3711 "1": { 3712 "name": "punctuation.definition.string.end.cpp" 3713 } 3714 }, 3715 "name": "string.quoted.double.cpp", 3716 "patterns": [ 3717 { 3718 "include": "#line_continuation_character" 3719 } 3720 ] 3721 }, 3722 { 3723 "begin": "'", 3724 "end": "(?:(')|(?<!\\\\)(?=\\n))", 3725 "beginCaptures": { 3726 "0": { 3727 "name": "punctuation.definition.string.begin.cpp" 3728 } 3729 }, 3730 "endCaptures": { 3731 "1": { 3732 "name": "punctuation.definition.string.end.cpp" 3733 } 3734 }, 3735 "name": "string.quoted.single.cpp", 3736 "patterns": [ 3737 { 3738 "include": "#line_continuation_character" 3739 } 3740 ] 3741 }, 3742 { 3743 "begin": "[^'\"]", 3744 "end": "(?<!\\\\)(?=\\n)", 3745 "beginCaptures": {}, 3746 "endCaptures": {}, 3747 "name": "string.unquoted.cpp", 3748 "patterns": [ 3749 { 3750 "include": "#line_continuation_character" 3751 }, 3752 { 3753 "include": "#comments" 3754 } 3755 ] 3756 } 3757 ] 3758 }, 3759 "emacs_file_banner": { 3760 "match": "(?:(^(?:(?:\\s)+)?((\\/\\/)(?:(?:\\s)+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:(?:\\s)+)?.+(?:(?:\\s)+)?\\4(?:(?:\\s)+)?(?:\\n|$)))|(^(?:(?:\\s)+)?((\\/\\*)(?:(?:\\s)+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:(?:\\s)+)?.+(?:(?:\\s)+)?\\8(?:(?:\\s)+)?\\*\\/)))", 3761 "captures": { 3762 "1": { 3763 "name": "meta.toc-list.banner.double-slash.cpp" 3764 }, 3765 "2": { 3766 "name": "comment.line.double-slash.cpp" 3767 }, 3768 "3": { 3769 "name": "punctuation.definition.comment.cpp" 3770 }, 3771 "4": { 3772 "name": "meta.banner.character.cpp" 3773 }, 3774 "5": { 3775 "name": "meta.toc-list.banner.block.cpp" 3776 }, 3777 "6": { 3778 "name": "comment.line.banner.cpp" 3779 }, 3780 "7": { 3781 "name": "punctuation.definition.comment.cpp" 3782 }, 3783 "8": { 3784 "name": "meta.banner.character.cpp" 3785 } 3786 } 3787 }, 3788 "empty_square_brackets": { 3789 "name": "storage.modifier.array.bracket.square", 3790 "match": "(?<!delete)\\[(?:(?:\\s)+)?\\]" 3791 }, 3792 "enum_block": { 3793 "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|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|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|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|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)))?", 3794 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", 3795 "beginCaptures": { 3796 "0": { 3797 "name": "meta.head.enum.cpp" 3798 }, 3799 "1": { 3800 "name": "storage.type.enum.cpp" 3801 }, 3802 "2": { 3803 "name": "storage.type.enum.enum-key.$2.cpp" 3804 }, 3805 "3": { 3806 "patterns": [ 3807 { 3808 "include": "#attributes_context" 3809 }, 3810 { 3811 "include": "#number_literal" 3812 } 3813 ] 3814 }, 3815 "4": { 3816 "name": "entity.name.type.enum.cpp" 3817 }, 3818 "5": { 3819 "name": "punctuation.separator.colon.type-specifier.cpp" 3820 }, 3821 "6": { 3822 "patterns": [ 3823 { 3824 "include": "#scope_resolution_inner_generated" 3825 } 3826 ] 3827 }, 3828 "7": { 3829 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 3830 }, 3831 "8": { 3832 "patterns": [ 3833 { 3834 "include": "#template_call_range" 3835 } 3836 ] 3837 }, 3838 "9": {}, 3839 "10": { 3840 "name": "entity.name.scope-resolution.cpp" 3841 }, 3842 "11": { 3843 "name": "meta.template.call.cpp", 3844 "patterns": [ 3845 { 3846 "include": "#template_call_range" 3847 } 3848 ] 3849 }, 3850 "12": {}, 3851 "13": { 3852 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 3853 }, 3854 "14": { 3855 "name": "storage.type.integral.$14.cpp" 3856 } 3857 }, 3858 "endCaptures": { 3859 "1": { 3860 "name": "punctuation.terminator.statement.cpp" 3861 }, 3862 "2": { 3863 "name": "punctuation.terminator.statement.cpp" 3864 } 3865 }, 3866 "name": "meta.block.enum.cpp", 3867 "patterns": [ 3868 { 3869 "begin": "\\G ?", 3870 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 3871 "beginCaptures": {}, 3872 "endCaptures": { 3873 "0": { 3874 "name": "punctuation.section.block.begin.bracket.curly.enum.cpp" 3875 } 3876 }, 3877 "name": "meta.head.enum.cpp", 3878 "patterns": [ 3879 { 3880 "include": "$self" 3881 } 3882 ] 3883 }, 3884 { 3885 "begin": "(?<=\\{|<%|\\?\\?<)", 3886 "end": "\\}|%>|\\?\\?>", 3887 "beginCaptures": {}, 3888 "endCaptures": { 3889 "0": { 3890 "name": "punctuation.section.block.end.bracket.curly.enum.cpp" 3891 } 3892 }, 3893 "name": "meta.body.enum.cpp", 3894 "patterns": [ 3895 { 3896 "include": "#ever_present_context" 3897 }, 3898 { 3899 "include": "#enumerator_list" 3900 }, 3901 { 3902 "include": "#comments" 3903 }, 3904 { 3905 "include": "#comma" 3906 }, 3907 { 3908 "include": "#semicolon" 3909 } 3910 ] 3911 }, 3912 { 3913 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 3914 "end": "[\\s]*(?=;)", 3915 "beginCaptures": {}, 3916 "endCaptures": {}, 3917 "name": "meta.tail.enum.cpp", 3918 "patterns": [ 3919 { 3920 "include": "$self" 3921 } 3922 ] 3923 } 3924 ] 3925 }, 3926 "enum_declare": { 3927 "match": "((?<!\\w)enum(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", 3928 "captures": { 3929 "1": { 3930 "name": "storage.type.enum.declare.cpp" 3931 }, 3932 "2": { 3933 "patterns": [ 3934 { 3935 "include": "#inline_comment" 3936 } 3937 ] 3938 }, 3939 "3": { 3940 "patterns": [ 3941 { 3942 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 3943 "captures": { 3944 "1": { 3945 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3946 }, 3947 "2": { 3948 "name": "comment.block.cpp" 3949 }, 3950 "3": { 3951 "patterns": [ 3952 { 3953 "match": "\\*\\/", 3954 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3955 }, 3956 { 3957 "match": "\\*", 3958 "name": "comment.block.cpp" 3959 } 3960 ] 3961 } 3962 } 3963 } 3964 ] 3965 }, 3966 "4": { 3967 "name": "entity.name.type.enum.cpp" 3968 }, 3969 "5": { 3970 "patterns": [ 3971 { 3972 "match": "\\*", 3973 "name": "storage.modifier.pointer.cpp" 3974 }, 3975 { 3976 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 3977 "captures": { 3978 "1": { 3979 "patterns": [ 3980 { 3981 "include": "#inline_comment" 3982 } 3983 ] 3984 }, 3985 "2": { 3986 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 3987 }, 3988 "3": { 3989 "name": "comment.block.cpp" 3990 }, 3991 "4": { 3992 "patterns": [ 3993 { 3994 "match": "\\*\\/", 3995 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 3996 }, 3997 { 3998 "match": "\\*", 3999 "name": "comment.block.cpp" 4000 } 4001 ] 4002 } 4003 }, 4004 "name": "invalid.illegal.reference-type.cpp" 4005 }, 4006 { 4007 "match": "\\&", 4008 "name": "storage.modifier.reference.cpp" 4009 } 4010 ] 4011 }, 4012 "6": { 4013 "patterns": [ 4014 { 4015 "include": "#inline_comment" 4016 } 4017 ] 4018 }, 4019 "7": { 4020 "patterns": [ 4021 { 4022 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 4023 "captures": { 4024 "1": { 4025 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4026 }, 4027 "2": { 4028 "name": "comment.block.cpp" 4029 }, 4030 "3": { 4031 "patterns": [ 4032 { 4033 "match": "\\*\\/", 4034 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4035 }, 4036 { 4037 "match": "\\*", 4038 "name": "comment.block.cpp" 4039 } 4040 ] 4041 } 4042 } 4043 } 4044 ] 4045 }, 4046 "8": { 4047 "patterns": [ 4048 { 4049 "include": "#inline_comment" 4050 } 4051 ] 4052 }, 4053 "9": { 4054 "patterns": [ 4055 { 4056 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 4057 "captures": { 4058 "1": { 4059 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4060 }, 4061 "2": { 4062 "name": "comment.block.cpp" 4063 }, 4064 "3": { 4065 "patterns": [ 4066 { 4067 "match": "\\*\\/", 4068 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4069 }, 4070 { 4071 "match": "\\*", 4072 "name": "comment.block.cpp" 4073 } 4074 ] 4075 } 4076 } 4077 } 4078 ] 4079 }, 4080 "10": { 4081 "patterns": [ 4082 { 4083 "include": "#inline_comment" 4084 } 4085 ] 4086 }, 4087 "11": { 4088 "patterns": [ 4089 { 4090 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 4091 "captures": { 4092 "1": { 4093 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4094 }, 4095 "2": { 4096 "name": "comment.block.cpp" 4097 }, 4098 "3": { 4099 "patterns": [ 4100 { 4101 "match": "\\*\\/", 4102 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4103 }, 4104 { 4105 "match": "\\*", 4106 "name": "comment.block.cpp" 4107 } 4108 ] 4109 } 4110 } 4111 } 4112 ] 4113 }, 4114 "12": { 4115 "name": "variable.other.object.declare.cpp" 4116 }, 4117 "13": { 4118 "patterns": [ 4119 { 4120 "include": "#inline_comment" 4121 } 4122 ] 4123 }, 4124 "14": { 4125 "patterns": [ 4126 { 4127 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 4128 "captures": { 4129 "1": { 4130 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4131 }, 4132 "2": { 4133 "name": "comment.block.cpp" 4134 }, 4135 "3": { 4136 "patterns": [ 4137 { 4138 "match": "\\*\\/", 4139 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4140 }, 4141 { 4142 "match": "\\*", 4143 "name": "comment.block.cpp" 4144 } 4145 ] 4146 } 4147 } 4148 } 4149 ] 4150 } 4151 } 4152 }, 4153 "enumerator_list": { 4154 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(?:\\s)+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:(?:\\s)+)?(?:(\\=)(?:(?:\\s)+)?(.+?)(?:(?:\\s)+)?)?(?:(?:((?:[,;](?!')|\\n))|(?=\\}[^']))|(?=(?:\\/\\/|\\/\\*)))", 4155 "captures": { 4156 "1": { 4157 "name": "variable.other.enummember.cpp" 4158 }, 4159 "2": { 4160 "patterns": [ 4161 { 4162 "include": "#attributes_context" 4163 }, 4164 { 4165 "include": "#number_literal" 4166 } 4167 ] 4168 }, 4169 "3": { 4170 "name": "keyword.operator.assignment.cpp" 4171 }, 4172 "4": { 4173 "patterns": [ 4174 { 4175 "include": "#evaluation_context" 4176 } 4177 ] 4178 }, 4179 "5": { 4180 "patterns": [ 4181 { 4182 "include": "#comma" 4183 }, 4184 { 4185 "include": "#semicolon" 4186 } 4187 ] 4188 } 4189 }, 4190 "name": "meta.enum.definition.cpp" 4191 }, 4192 "evaluation_context": { 4193 "patterns": [ 4194 { 4195 "include": "#ever_present_context" 4196 }, 4197 { 4198 "include": "#string_context" 4199 }, 4200 { 4201 "include": "#number_literal" 4202 }, 4203 { 4204 "include": "#method_access" 4205 }, 4206 { 4207 "include": "#member_access" 4208 }, 4209 { 4210 "include": "#predefined_macros" 4211 }, 4212 { 4213 "include": "#operators" 4214 }, 4215 { 4216 "include": "#memory_operators" 4217 }, 4218 { 4219 "include": "#wordlike_operators" 4220 }, 4221 { 4222 "include": "#type_casting_operators" 4223 }, 4224 { 4225 "include": "#control_flow_keywords" 4226 }, 4227 { 4228 "include": "#exception_keywords" 4229 }, 4230 { 4231 "include": "#the_this_keyword" 4232 }, 4233 { 4234 "include": "#language_constants" 4235 }, 4236 { 4237 "include": "#builtin_storage_type_initilizer" 4238 }, 4239 { 4240 "include": "#qualifiers_and_specifiers_post_parameters" 4241 }, 4242 { 4243 "include": "#functional_specifiers_pre_parameters" 4244 }, 4245 { 4246 "include": "#storage_types" 4247 }, 4248 { 4249 "include": "#lambdas" 4250 }, 4251 { 4252 "include": "#attributes_context" 4253 }, 4254 { 4255 "include": "#parentheses" 4256 }, 4257 { 4258 "include": "#function_call" 4259 }, 4260 { 4261 "include": "#scope_resolution_inner_generated" 4262 }, 4263 { 4264 "include": "#square_brackets" 4265 }, 4266 { 4267 "include": "#semicolon" 4268 }, 4269 { 4270 "include": "#comma" 4271 } 4272 ] 4273 }, 4274 "ever_present_context": { 4275 "patterns": [ 4276 { 4277 "include": "#pragma_mark" 4278 }, 4279 { 4280 "include": "#pragma" 4281 }, 4282 { 4283 "include": "#include" 4284 }, 4285 { 4286 "include": "#line" 4287 }, 4288 { 4289 "include": "#diagnostic" 4290 }, 4291 { 4292 "include": "#undef" 4293 }, 4294 { 4295 "include": "#preprocessor_conditional_range" 4296 }, 4297 { 4298 "include": "#single_line_macro" 4299 }, 4300 { 4301 "include": "#macro" 4302 }, 4303 { 4304 "include": "#preprocessor_conditional_standalone" 4305 }, 4306 { 4307 "include": "#macro_argument" 4308 }, 4309 { 4310 "include": "#comments" 4311 }, 4312 { 4313 "include": "#line_continuation_character" 4314 } 4315 ] 4316 }, 4317 "exception_keywords": { 4318 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:throw)|(?:catch)|(?:try))(?!\\w))", 4319 "captures": { 4320 "1": { 4321 "patterns": [ 4322 { 4323 "include": "#inline_comment" 4324 } 4325 ] 4326 }, 4327 "2": { 4328 "patterns": [ 4329 { 4330 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 4331 "captures": { 4332 "1": { 4333 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4334 }, 4335 "2": { 4336 "name": "comment.block.cpp" 4337 }, 4338 "3": { 4339 "patterns": [ 4340 { 4341 "match": "\\*\\/", 4342 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4343 }, 4344 { 4345 "match": "\\*", 4346 "name": "comment.block.cpp" 4347 } 4348 ] 4349 } 4350 } 4351 } 4352 ] 4353 }, 4354 "3": { 4355 "name": "keyword.control.exception.$3.cpp" 4356 } 4357 } 4358 }, 4359 "extern_block": { 4360 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(extern)(?=\\s*\\\")", 4361 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", 4362 "beginCaptures": { 4363 "0": { 4364 "name": "meta.head.extern.cpp" 4365 }, 4366 "1": { 4367 "patterns": [ 4368 { 4369 "include": "#inline_comment" 4370 } 4371 ] 4372 }, 4373 "2": { 4374 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4375 }, 4376 "3": { 4377 "name": "comment.block.cpp" 4378 }, 4379 "4": { 4380 "patterns": [ 4381 { 4382 "match": "\\*\\/", 4383 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4384 }, 4385 { 4386 "match": "\\*", 4387 "name": "comment.block.cpp" 4388 } 4389 ] 4390 }, 4391 "5": { 4392 "name": "storage.type.extern.cpp" 4393 } 4394 }, 4395 "endCaptures": { 4396 "1": { 4397 "name": "punctuation.terminator.statement.cpp" 4398 }, 4399 "2": { 4400 "name": "punctuation.terminator.statement.cpp" 4401 } 4402 }, 4403 "name": "meta.block.extern.cpp", 4404 "patterns": [ 4405 { 4406 "begin": "\\G ?", 4407 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 4408 "beginCaptures": {}, 4409 "endCaptures": { 4410 "0": { 4411 "name": "punctuation.section.block.begin.bracket.curly.extern.cpp" 4412 } 4413 }, 4414 "name": "meta.head.extern.cpp", 4415 "patterns": [ 4416 { 4417 "include": "$self" 4418 } 4419 ] 4420 }, 4421 { 4422 "begin": "(?<=\\{|<%|\\?\\?<)", 4423 "end": "\\}|%>|\\?\\?>", 4424 "beginCaptures": {}, 4425 "endCaptures": { 4426 "0": { 4427 "name": "punctuation.section.block.end.bracket.curly.extern.cpp" 4428 } 4429 }, 4430 "name": "meta.body.extern.cpp", 4431 "patterns": [ 4432 { 4433 "include": "$self" 4434 } 4435 ] 4436 }, 4437 { 4438 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 4439 "end": "[\\s]*(?=;)", 4440 "beginCaptures": {}, 4441 "endCaptures": {}, 4442 "name": "meta.tail.extern.cpp", 4443 "patterns": [ 4444 { 4445 "include": "$self" 4446 } 4447 ] 4448 }, 4449 { 4450 "include": "$self" 4451 } 4452 ] 4453 }, 4454 "function_body_context": { 4455 "patterns": [ 4456 { 4457 "include": "#ever_present_context" 4458 }, 4459 { 4460 "include": "#using_namespace" 4461 }, 4462 { 4463 "include": "#type_alias" 4464 }, 4465 { 4466 "include": "#using_name" 4467 }, 4468 { 4469 "include": "#namespace_alias" 4470 }, 4471 { 4472 "include": "#typedef_class" 4473 }, 4474 { 4475 "include": "#typedef_struct" 4476 }, 4477 { 4478 "include": "#typedef_union" 4479 }, 4480 { 4481 "include": "#misc_keywords" 4482 }, 4483 { 4484 "include": "#standard_declares" 4485 }, 4486 { 4487 "include": "#class_block" 4488 }, 4489 { 4490 "include": "#struct_block" 4491 }, 4492 { 4493 "include": "#union_block" 4494 }, 4495 { 4496 "include": "#enum_block" 4497 }, 4498 { 4499 "include": "#access_control_keywords" 4500 }, 4501 { 4502 "include": "#block" 4503 }, 4504 { 4505 "include": "#static_assert" 4506 }, 4507 { 4508 "include": "#assembly" 4509 }, 4510 { 4511 "include": "#function_pointer" 4512 }, 4513 { 4514 "include": "#switch_statement" 4515 }, 4516 { 4517 "include": "#goto_statement" 4518 }, 4519 { 4520 "include": "#evaluation_context" 4521 }, 4522 { 4523 "include": "#label" 4524 } 4525 ] 4526 }, 4527 "function_call": { 4528 "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|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|\\Wuint_fast16_t|^uint_fast16_t|\\Wint_least16_t|^int_least16_t|\\Watomic_commit|^atomic_commit|\\Watomic_cancel|^atomic_cancel|\\Wuint_fast64_t|^uint_fast64_t|\\Wuint_least8_t|^uint_least8_t|\\Wint_least64_t|^int_least64_t|\\Wint_least32_t|^int_least32_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wdynamic_cast|^dynamic_cast|\\Wthread_local|^thread_local|\\Wuint_fast8_t|^uint_fast8_t|\\Wint_fast64_t|^int_fast64_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast16_t|^int_fast16_t|\\Wsynchronized|^synchronized|\\Wint_least8_t|^int_least8_t|\\Wsuseconds_t|^suseconds_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wnamespace|^namespace|\\Wco_return|^co_return|\\Wblksize_t|^blksize_t|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wco_return|^co_return|\\Wco_await|^co_await|\\Wnoexcept|^noexcept|\\Wrestrict|^restrict|\\Wnoexcept|^noexcept|\\Wdecltype|^decltype|\\Wintmax_t|^intmax_t|\\Wuint64_t|^uint64_t|\\Wintmax_t|^intmax_t|\\Wcontinue|^continue|\\Wreflexpr|^reflexpr|\\Wintptr_t|^intptr_t|\\Wuint32_t|^uint32_t|\\Wuint16_t|^uint16_t|\\Wexplicit|^explicit|\\Wtypename|^typename|\\Wu_quad_t|^u_quad_t|\\Wvolatile|^volatile|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wco_yield|^co_yield|\\Wco_await|^co_await|\\Wvolatile|^volatile|\\Woperator|^operator|\\Wunsigned|^unsigned|\\Wregister|^register|\\Wblkcnt_t|^blkcnt_t|\\Wrequires|^requires|\\Wco_yield|^co_yield|\\Wnullptr|^nullptr|\\Wqaddr_t|^qaddr_t|\\Wcaddr_t|^caddr_t|\\Wmutable|^mutable|\\Wvirtual|^virtual|\\Wmutable|^mutable|\\Wdaddr_t|^daddr_t|\\Wfixpt_t|^fixpt_t|\\Wconcept|^concept|\\Wnlink_t|^nlink_t|\\Wdefault|^default|\\Wwchar_t|^wchar_t|\\Wsegsz_t|^segsz_t|\\Wswblk_t|^swblk_t|\\Wclock_t|^clock_t|\\Wssize_t|^ssize_t|\\W__asm__|^__asm__|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wu_short|^u_short|\\Walignas|^alignas|\\Walignof|^alignof|\\Wtypedef|^typedef|\\Wprivate|^private|\\Wu_char|^u_char|\\Wmode_t|^mode_t|\\Wstatic|^static|\\Wdouble|^double|\\Wnot_eq|^not_eq|\\Wtypeid|^typeid|\\Wmodule|^module|\\Wstruct|^struct|\\Wexport|^export|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wu_long|^u_long|\\Wquad_t|^quad_t|\\Wsigned|^signed|\\Wushort|^ushort|\\Wimport|^import|\\Wbitand|^bitand|\\Wfriend|^friend|\\Wtime_t|^time_t|\\Wdelete|^delete|\\Wsize_t|^size_t|\\Wint8_t|^int8_t|\\Winline|^inline|\\Wextern|^extern|\\Wpublic|^public|\\Wsizeof|^sizeof|\\Wswitch|^switch|\\Wreturn|^return|\\Wconst|^const|\\Wshort|^short|\\Wfloat|^float|\\Wu_int|^u_int|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wwhile|^while|\\Wor_eq|^or_eq|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wcompl|^compl|\\Wusing|^using|\\Wcatch|^catch|\\Wbreak|^break|\\Wtrue|^true|\\Wid_t|^id_t|\\Wchar|^char|\\Wid_t|^id_t|\\Wauto|^auto|\\Wcase|^case|\\Wuint|^uint|\\Wbool|^bool|\\Wlong|^long|\\Wvoid|^void|\\Wenum|^enum|\\WNULL|^NULL|\\Wthis|^this|\\Welse|^else|\\Wgoto|^goto|\\Wnew|^new|\\Wtry|^try|\\Wxor|^xor|\\Wnot|^not|\\Wint|^int|\\Wand|^and|\\Wfor|^for|\\Wasm|^asm|\\Wdo|^do|\\Wor|^or|\\Wif|^if)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?(\\()", 4529 "end": "\\)", 4530 "beginCaptures": { 4531 "1": { 4532 "patterns": [ 4533 { 4534 "include": "#scope_resolution_function_call_inner_generated" 4535 } 4536 ] 4537 }, 4538 "2": { 4539 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" 4540 }, 4541 "3": { 4542 "patterns": [ 4543 { 4544 "include": "#template_call_range" 4545 } 4546 ] 4547 }, 4548 "4": {}, 4549 "5": { 4550 "name": "entity.name.function.call.cpp" 4551 }, 4552 "6": { 4553 "patterns": [ 4554 { 4555 "include": "#inline_comment" 4556 } 4557 ] 4558 }, 4559 "7": { 4560 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4561 }, 4562 "8": { 4563 "name": "comment.block.cpp" 4564 }, 4565 "9": { 4566 "patterns": [ 4567 { 4568 "match": "\\*\\/", 4569 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4570 }, 4571 { 4572 "match": "\\*", 4573 "name": "comment.block.cpp" 4574 } 4575 ] 4576 }, 4577 "10": { 4578 "name": "meta.template.call.cpp", 4579 "patterns": [ 4580 { 4581 "include": "#template_call_range" 4582 } 4583 ] 4584 }, 4585 "11": {}, 4586 "12": { 4587 "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp" 4588 } 4589 }, 4590 "endCaptures": { 4591 "0": { 4592 "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" 4593 } 4594 }, 4595 "patterns": [ 4596 { 4597 "include": "#evaluation_context" 4598 } 4599 ] 4600 }, 4601 "function_definition": { 4602 "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)template(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?<!\\w)(?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wint_least16_t|^int_least16_t|\\Watomic_commit|^atomic_commit|\\Watomic_cancel|^atomic_cancel|\\Wuint_fast64_t|^uint_fast64_t|\\Wuint_least8_t|^uint_least8_t|\\Wint_least64_t|^int_least64_t|\\Wint_least32_t|^int_least32_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wdynamic_cast|^dynamic_cast|\\Wthread_local|^thread_local|\\Wuint_fast8_t|^uint_fast8_t|\\Wint_fast64_t|^int_fast64_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast16_t|^int_fast16_t|\\Wsynchronized|^synchronized|\\Wint_least8_t|^int_least8_t|\\Wsuseconds_t|^suseconds_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wnamespace|^namespace|\\Wco_return|^co_return|\\Wblksize_t|^blksize_t|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wco_return|^co_return|\\Wco_await|^co_await|\\Wnoexcept|^noexcept|\\Wrestrict|^restrict|\\Wnoexcept|^noexcept|\\Wdecltype|^decltype|\\Wintmax_t|^intmax_t|\\Wuint64_t|^uint64_t|\\Wintmax_t|^intmax_t|\\Wcontinue|^continue|\\Wreflexpr|^reflexpr|\\Wintptr_t|^intptr_t|\\Wuint32_t|^uint32_t|\\Wuint16_t|^uint16_t|\\Wexplicit|^explicit|\\Wtypename|^typename|\\Wu_quad_t|^u_quad_t|\\Wvolatile|^volatile|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wco_yield|^co_yield|\\Wco_await|^co_await|\\Wvolatile|^volatile|\\Woperator|^operator|\\Wunsigned|^unsigned|\\Wregister|^register|\\Wblkcnt_t|^blkcnt_t|\\Wrequires|^requires|\\Wco_yield|^co_yield|\\Wnullptr|^nullptr|\\Wqaddr_t|^qaddr_t|\\Wcaddr_t|^caddr_t|\\Wmutable|^mutable|\\Wvirtual|^virtual|\\Wmutable|^mutable|\\Wdaddr_t|^daddr_t|\\Wfixpt_t|^fixpt_t|\\Wconcept|^concept|\\Wnlink_t|^nlink_t|\\Wdefault|^default|\\Wwchar_t|^wchar_t|\\Wsegsz_t|^segsz_t|\\Wswblk_t|^swblk_t|\\Wclock_t|^clock_t|\\Wssize_t|^ssize_t|\\W__asm__|^__asm__|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wu_short|^u_short|\\Walignas|^alignas|\\Walignof|^alignof|\\Wtypedef|^typedef|\\Wprivate|^private|\\Wu_char|^u_char|\\Wmode_t|^mode_t|\\Wstatic|^static|\\Wdouble|^double|\\Wnot_eq|^not_eq|\\Wtypeid|^typeid|\\Wmodule|^module|\\Wstruct|^struct|\\Wexport|^export|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wu_long|^u_long|\\Wquad_t|^quad_t|\\Wsigned|^signed|\\Wushort|^ushort|\\Wimport|^import|\\Wbitand|^bitand|\\Wfriend|^friend|\\Wtime_t|^time_t|\\Wdelete|^delete|\\Wsize_t|^size_t|\\Wint8_t|^int8_t|\\Winline|^inline|\\Wextern|^extern|\\Wpublic|^public|\\Wsizeof|^sizeof|\\Wswitch|^switch|\\Wreturn|^return|\\Wconst|^const|\\Wshort|^short|\\Wfloat|^float|\\Wu_int|^u_int|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wwhile|^while|\\Wor_eq|^or_eq|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wcompl|^compl|\\Wusing|^using|\\Wcatch|^catch|\\Wbreak|^break|\\Wtrue|^true|\\Wid_t|^id_t|\\Wchar|^char|\\Wid_t|^id_t|\\Wauto|^auto|\\Wcase|^case|\\Wuint|^uint|\\Wbool|^bool|\\Wlong|^long|\\Wvoid|^void|\\Wenum|^enum|\\WNULL|^NULL|\\Wthis|^this|\\Welse|^else|\\Wgoto|^goto|\\Wnew|^new|\\Wtry|^try|\\Wxor|^xor|\\Wnot|^not|\\Wint|^int|\\Wand|^and|\\Wfor|^for|\\Wasm|^asm|\\Wdo|^do|\\Wor|^or|\\Wif|^if)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\()", 4603 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", 4604 "beginCaptures": { 4605 "0": { 4606 "name": "meta.head.function.definition.cpp" 4607 }, 4608 "1": { 4609 "patterns": [ 4610 { 4611 "include": "#inline_comment" 4612 } 4613 ] 4614 }, 4615 "2": { 4616 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4617 }, 4618 "3": { 4619 "name": "comment.block.cpp" 4620 }, 4621 "4": { 4622 "patterns": [ 4623 { 4624 "match": "\\*\\/", 4625 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4626 }, 4627 { 4628 "match": "\\*", 4629 "name": "comment.block.cpp" 4630 } 4631 ] 4632 }, 4633 "5": { 4634 "name": "storage.type.template.cpp" 4635 }, 4636 "6": { 4637 "patterns": [ 4638 { 4639 "include": "#inline_comment" 4640 } 4641 ] 4642 }, 4643 "7": { 4644 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4645 }, 4646 "8": { 4647 "name": "comment.block.cpp" 4648 }, 4649 "9": { 4650 "patterns": [ 4651 { 4652 "match": "\\*\\/", 4653 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4654 }, 4655 { 4656 "match": "\\*", 4657 "name": "comment.block.cpp" 4658 } 4659 ] 4660 }, 4661 "10": { 4662 "patterns": [ 4663 { 4664 "include": "#attributes_context" 4665 }, 4666 { 4667 "include": "#number_literal" 4668 } 4669 ] 4670 }, 4671 "11": { 4672 "patterns": [ 4673 { 4674 "match": "((?<!\\w)(?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", 4675 "captures": { 4676 "1": { 4677 "name": "storage.modifier.$1.cpp" 4678 }, 4679 "2": { 4680 "patterns": [ 4681 { 4682 "include": "#inline_comment" 4683 } 4684 ] 4685 }, 4686 "3": { 4687 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4688 }, 4689 "4": { 4690 "name": "comment.block.cpp" 4691 }, 4692 "5": { 4693 "patterns": [ 4694 { 4695 "match": "\\*\\/", 4696 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4697 }, 4698 { 4699 "match": "\\*", 4700 "name": "comment.block.cpp" 4701 } 4702 ] 4703 } 4704 } 4705 } 4706 ] 4707 }, 4708 "12": { 4709 "name": "storage.modifier.$12.cpp" 4710 }, 4711 "13": { 4712 "patterns": [ 4713 { 4714 "include": "#inline_comment" 4715 } 4716 ] 4717 }, 4718 "14": { 4719 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4720 }, 4721 "15": { 4722 "name": "comment.block.cpp" 4723 }, 4724 "16": { 4725 "patterns": [ 4726 { 4727 "match": "\\*\\/", 4728 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4729 }, 4730 { 4731 "match": "\\*", 4732 "name": "comment.block.cpp" 4733 } 4734 ] 4735 }, 4736 "17": { 4737 "name": "meta.qualified_type.cpp", 4738 "patterns": [ 4739 { 4740 "match": "::", 4741 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 4742 }, 4743 { 4744 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 4745 "name": "storage.type.$0.cpp" 4746 }, 4747 { 4748 "include": "#attributes_context" 4749 }, 4750 { 4751 "include": "#storage_types" 4752 }, 4753 { 4754 "include": "#number_literal" 4755 }, 4756 { 4757 "include": "#string_context" 4758 }, 4759 { 4760 "include": "#comma" 4761 }, 4762 { 4763 "include": "#scope_resolution_inner_generated" 4764 }, 4765 { 4766 "begin": "<", 4767 "end": ">", 4768 "beginCaptures": { 4769 "0": { 4770 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 4771 } 4772 }, 4773 "endCaptures": { 4774 "0": { 4775 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 4776 } 4777 }, 4778 "name": "meta.template.call.cpp", 4779 "patterns": [ 4780 { 4781 "include": "#template_call_context" 4782 } 4783 ] 4784 }, 4785 { 4786 "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}))*", 4787 "name": "entity.name.type.cpp" 4788 } 4789 ] 4790 }, 4791 "18": { 4792 "patterns": [ 4793 { 4794 "include": "#attributes_context" 4795 }, 4796 { 4797 "include": "#number_literal" 4798 } 4799 ] 4800 }, 4801 "19": { 4802 "patterns": [ 4803 { 4804 "include": "#inline_comment" 4805 } 4806 ] 4807 }, 4808 "20": { 4809 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4810 }, 4811 "21": { 4812 "name": "comment.block.cpp" 4813 }, 4814 "22": { 4815 "patterns": [ 4816 { 4817 "match": "\\*\\/", 4818 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4819 }, 4820 { 4821 "match": "\\*", 4822 "name": "comment.block.cpp" 4823 } 4824 ] 4825 }, 4826 "23": { 4827 "patterns": [ 4828 { 4829 "include": "#inline_comment" 4830 } 4831 ] 4832 }, 4833 "24": { 4834 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4835 }, 4836 "25": { 4837 "name": "comment.block.cpp" 4838 }, 4839 "26": { 4840 "patterns": [ 4841 { 4842 "match": "\\*\\/", 4843 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4844 }, 4845 { 4846 "match": "\\*", 4847 "name": "comment.block.cpp" 4848 } 4849 ] 4850 }, 4851 "27": { 4852 "patterns": [ 4853 { 4854 "match": "::", 4855 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 4856 }, 4857 { 4858 "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)", 4859 "name": "entity.name.scope-resolution.type.cpp" 4860 }, 4861 { 4862 "include": "#template_call_range" 4863 } 4864 ] 4865 }, 4866 "28": { 4867 "patterns": [ 4868 { 4869 "include": "#template_call_range" 4870 } 4871 ] 4872 }, 4873 "29": {}, 4874 "30": { 4875 "patterns": [ 4876 { 4877 "include": "#inline_comment" 4878 } 4879 ] 4880 }, 4881 "31": { 4882 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4883 }, 4884 "32": { 4885 "name": "comment.block.cpp" 4886 }, 4887 "33": { 4888 "patterns": [ 4889 { 4890 "match": "\\*\\/", 4891 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4892 }, 4893 { 4894 "match": "\\*", 4895 "name": "comment.block.cpp" 4896 } 4897 ] 4898 }, 4899 "34": {}, 4900 "35": { 4901 "patterns": [ 4902 { 4903 "match": "\\*", 4904 "name": "storage.modifier.pointer.cpp" 4905 }, 4906 { 4907 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 4908 "captures": { 4909 "1": { 4910 "patterns": [ 4911 { 4912 "include": "#inline_comment" 4913 } 4914 ] 4915 }, 4916 "2": { 4917 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4918 }, 4919 "3": { 4920 "name": "comment.block.cpp" 4921 }, 4922 "4": { 4923 "patterns": [ 4924 { 4925 "match": "\\*\\/", 4926 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4927 }, 4928 { 4929 "match": "\\*", 4930 "name": "comment.block.cpp" 4931 } 4932 ] 4933 } 4934 }, 4935 "name": "invalid.illegal.reference-type.cpp" 4936 }, 4937 { 4938 "match": "\\&", 4939 "name": "storage.modifier.reference.cpp" 4940 } 4941 ] 4942 }, 4943 "36": { 4944 "patterns": [ 4945 { 4946 "include": "#inline_comment" 4947 } 4948 ] 4949 }, 4950 "37": { 4951 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4952 }, 4953 "38": { 4954 "name": "comment.block.cpp" 4955 }, 4956 "39": { 4957 "patterns": [ 4958 { 4959 "match": "\\*\\/", 4960 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4961 }, 4962 { 4963 "match": "\\*", 4964 "name": "comment.block.cpp" 4965 } 4966 ] 4967 }, 4968 "40": { 4969 "patterns": [ 4970 { 4971 "include": "#inline_comment" 4972 } 4973 ] 4974 }, 4975 "41": { 4976 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 4977 }, 4978 "42": { 4979 "name": "comment.block.cpp" 4980 }, 4981 "43": { 4982 "patterns": [ 4983 { 4984 "match": "\\*\\/", 4985 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 4986 }, 4987 { 4988 "match": "\\*", 4989 "name": "comment.block.cpp" 4990 } 4991 ] 4992 }, 4993 "44": { 4994 "patterns": [ 4995 { 4996 "include": "#inline_comment" 4997 } 4998 ] 4999 }, 5000 "45": { 5001 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5002 }, 5003 "46": { 5004 "name": "comment.block.cpp" 5005 }, 5006 "47": { 5007 "patterns": [ 5008 { 5009 "match": "\\*\\/", 5010 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5011 }, 5012 { 5013 "match": "\\*", 5014 "name": "comment.block.cpp" 5015 } 5016 ] 5017 }, 5018 "48": { 5019 "patterns": [ 5020 { 5021 "include": "#inline_comment" 5022 } 5023 ] 5024 }, 5025 "49": { 5026 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5027 }, 5028 "50": { 5029 "name": "comment.block.cpp" 5030 }, 5031 "51": { 5032 "patterns": [ 5033 { 5034 "match": "\\*\\/", 5035 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5036 }, 5037 { 5038 "match": "\\*", 5039 "name": "comment.block.cpp" 5040 } 5041 ] 5042 }, 5043 "52": { 5044 "name": "storage.type.modifier.calling-convention.cpp" 5045 }, 5046 "53": { 5047 "patterns": [ 5048 { 5049 "include": "#inline_comment" 5050 } 5051 ] 5052 }, 5053 "54": { 5054 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5055 }, 5056 "55": { 5057 "name": "comment.block.cpp" 5058 }, 5059 "56": { 5060 "patterns": [ 5061 { 5062 "match": "\\*\\/", 5063 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5064 }, 5065 { 5066 "match": "\\*", 5067 "name": "comment.block.cpp" 5068 } 5069 ] 5070 }, 5071 "57": { 5072 "patterns": [ 5073 { 5074 "include": "#scope_resolution_function_definition_inner_generated" 5075 } 5076 ] 5077 }, 5078 "58": { 5079 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" 5080 }, 5081 "59": { 5082 "patterns": [ 5083 { 5084 "include": "#template_call_range" 5085 } 5086 ] 5087 }, 5088 "60": {}, 5089 "61": { 5090 "name": "entity.name.function.definition.cpp" 5091 }, 5092 "62": { 5093 "patterns": [ 5094 { 5095 "include": "#inline_comment" 5096 } 5097 ] 5098 }, 5099 "63": { 5100 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5101 }, 5102 "64": { 5103 "name": "comment.block.cpp" 5104 }, 5105 "65": { 5106 "patterns": [ 5107 { 5108 "match": "\\*\\/", 5109 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5110 }, 5111 { 5112 "match": "\\*", 5113 "name": "comment.block.cpp" 5114 } 5115 ] 5116 } 5117 }, 5118 "endCaptures": {}, 5119 "name": "meta.function.definition.cpp", 5120 "patterns": [ 5121 { 5122 "begin": "\\G ?", 5123 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 5124 "beginCaptures": {}, 5125 "endCaptures": { 5126 "0": { 5127 "name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp" 5128 } 5129 }, 5130 "name": "meta.head.function.definition.cpp", 5131 "patterns": [ 5132 { 5133 "include": "#ever_present_context" 5134 }, 5135 { 5136 "begin": "\\(", 5137 "end": "\\)", 5138 "beginCaptures": { 5139 "0": { 5140 "name": "punctuation.section.parameters.begin.bracket.round.cpp" 5141 } 5142 }, 5143 "endCaptures": { 5144 "0": { 5145 "name": "punctuation.section.parameters.end.bracket.round.cpp" 5146 } 5147 }, 5148 "contentName": "meta.function.definition.parameters", 5149 "patterns": [ 5150 { 5151 "include": "#ever_present_context" 5152 }, 5153 { 5154 "include": "#parameter_or_maybe_value" 5155 }, 5156 { 5157 "include": "#comma" 5158 }, 5159 { 5160 "include": "#evaluation_context" 5161 } 5162 ] 5163 }, 5164 { 5165 "match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?: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<:.]))", 5166 "captures": { 5167 "1": { 5168 "name": "punctuation.definition.function.return-type.cpp" 5169 }, 5170 "2": { 5171 "patterns": [ 5172 { 5173 "include": "#inline_comment" 5174 } 5175 ] 5176 }, 5177 "3": { 5178 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5179 }, 5180 "4": { 5181 "name": "comment.block.cpp" 5182 }, 5183 "5": { 5184 "patterns": [ 5185 { 5186 "match": "\\*\\/", 5187 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5188 }, 5189 { 5190 "match": "\\*", 5191 "name": "comment.block.cpp" 5192 } 5193 ] 5194 }, 5195 "6": { 5196 "name": "meta.qualified_type.cpp", 5197 "patterns": [ 5198 { 5199 "match": "::", 5200 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 5201 }, 5202 { 5203 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 5204 "name": "storage.type.$0.cpp" 5205 }, 5206 { 5207 "include": "#attributes_context" 5208 }, 5209 { 5210 "include": "#storage_types" 5211 }, 5212 { 5213 "include": "#number_literal" 5214 }, 5215 { 5216 "include": "#string_context" 5217 }, 5218 { 5219 "include": "#comma" 5220 }, 5221 { 5222 "include": "#scope_resolution_inner_generated" 5223 }, 5224 { 5225 "begin": "<", 5226 "end": ">", 5227 "beginCaptures": { 5228 "0": { 5229 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 5230 } 5231 }, 5232 "endCaptures": { 5233 "0": { 5234 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 5235 } 5236 }, 5237 "name": "meta.template.call.cpp", 5238 "patterns": [ 5239 { 5240 "include": "#template_call_context" 5241 } 5242 ] 5243 }, 5244 { 5245 "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}))*", 5246 "name": "entity.name.type.cpp" 5247 } 5248 ] 5249 }, 5250 "7": { 5251 "patterns": [ 5252 { 5253 "include": "#attributes_context" 5254 }, 5255 { 5256 "include": "#number_literal" 5257 } 5258 ] 5259 }, 5260 "8": { 5261 "patterns": [ 5262 { 5263 "include": "#inline_comment" 5264 } 5265 ] 5266 }, 5267 "9": { 5268 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5269 }, 5270 "10": { 5271 "name": "comment.block.cpp" 5272 }, 5273 "11": { 5274 "patterns": [ 5275 { 5276 "match": "\\*\\/", 5277 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5278 }, 5279 { 5280 "match": "\\*", 5281 "name": "comment.block.cpp" 5282 } 5283 ] 5284 }, 5285 "12": { 5286 "patterns": [ 5287 { 5288 "include": "#inline_comment" 5289 } 5290 ] 5291 }, 5292 "13": { 5293 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5294 }, 5295 "14": { 5296 "name": "comment.block.cpp" 5297 }, 5298 "15": { 5299 "patterns": [ 5300 { 5301 "match": "\\*\\/", 5302 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5303 }, 5304 { 5305 "match": "\\*", 5306 "name": "comment.block.cpp" 5307 } 5308 ] 5309 }, 5310 "16": { 5311 "patterns": [ 5312 { 5313 "match": "::", 5314 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 5315 }, 5316 { 5317 "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)", 5318 "name": "entity.name.scope-resolution.type.cpp" 5319 }, 5320 { 5321 "include": "#template_call_range" 5322 } 5323 ] 5324 }, 5325 "17": { 5326 "patterns": [ 5327 { 5328 "include": "#template_call_range" 5329 } 5330 ] 5331 }, 5332 "18": {}, 5333 "19": { 5334 "patterns": [ 5335 { 5336 "include": "#inline_comment" 5337 } 5338 ] 5339 }, 5340 "20": { 5341 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5342 }, 5343 "21": { 5344 "name": "comment.block.cpp" 5345 }, 5346 "22": { 5347 "patterns": [ 5348 { 5349 "match": "\\*\\/", 5350 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5351 }, 5352 { 5353 "match": "\\*", 5354 "name": "comment.block.cpp" 5355 } 5356 ] 5357 }, 5358 "23": {} 5359 } 5360 }, 5361 { 5362 "include": "$self" 5363 } 5364 ] 5365 }, 5366 { 5367 "begin": "(?<=\\{|<%|\\?\\?<)", 5368 "end": "\\}|%>|\\?\\?>", 5369 "beginCaptures": {}, 5370 "endCaptures": { 5371 "0": { 5372 "name": "punctuation.section.block.end.bracket.curly.function.definition.cpp" 5373 } 5374 }, 5375 "name": "meta.body.function.definition.cpp", 5376 "patterns": [ 5377 { 5378 "include": "#function_body_context" 5379 } 5380 ] 5381 }, 5382 { 5383 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 5384 "end": "[\\s]*(?=;)", 5385 "beginCaptures": {}, 5386 "endCaptures": {}, 5387 "name": "meta.tail.function.definition.cpp", 5388 "patterns": [ 5389 { 5390 "include": "$self" 5391 } 5392 ] 5393 } 5394 ] 5395 }, 5396 "function_parameter_context": { 5397 "patterns": [ 5398 { 5399 "include": "#ever_present_context" 5400 }, 5401 { 5402 "include": "#parameter" 5403 }, 5404 { 5405 "include": "#comma" 5406 } 5407 ] 5408 }, 5409 "function_pointer": { 5410 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?: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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", 5411 "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", 5412 "beginCaptures": { 5413 "1": { 5414 "name": "meta.qualified_type.cpp", 5415 "patterns": [ 5416 { 5417 "match": "::", 5418 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 5419 }, 5420 { 5421 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 5422 "name": "storage.type.$0.cpp" 5423 }, 5424 { 5425 "include": "#attributes_context" 5426 }, 5427 { 5428 "include": "#storage_types" 5429 }, 5430 { 5431 "include": "#number_literal" 5432 }, 5433 { 5434 "include": "#string_context" 5435 }, 5436 { 5437 "include": "#comma" 5438 }, 5439 { 5440 "include": "#scope_resolution_inner_generated" 5441 }, 5442 { 5443 "begin": "<", 5444 "end": ">", 5445 "beginCaptures": { 5446 "0": { 5447 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 5448 } 5449 }, 5450 "endCaptures": { 5451 "0": { 5452 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 5453 } 5454 }, 5455 "name": "meta.template.call.cpp", 5456 "patterns": [ 5457 { 5458 "include": "#template_call_context" 5459 } 5460 ] 5461 }, 5462 { 5463 "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}))*", 5464 "name": "entity.name.type.cpp" 5465 } 5466 ] 5467 }, 5468 "2": { 5469 "patterns": [ 5470 { 5471 "include": "#attributes_context" 5472 }, 5473 { 5474 "include": "#number_literal" 5475 } 5476 ] 5477 }, 5478 "3": { 5479 "patterns": [ 5480 { 5481 "include": "#inline_comment" 5482 } 5483 ] 5484 }, 5485 "4": { 5486 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5487 }, 5488 "5": { 5489 "name": "comment.block.cpp" 5490 }, 5491 "6": { 5492 "patterns": [ 5493 { 5494 "match": "\\*\\/", 5495 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5496 }, 5497 { 5498 "match": "\\*", 5499 "name": "comment.block.cpp" 5500 } 5501 ] 5502 }, 5503 "7": { 5504 "patterns": [ 5505 { 5506 "include": "#inline_comment" 5507 } 5508 ] 5509 }, 5510 "8": { 5511 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5512 }, 5513 "9": { 5514 "name": "comment.block.cpp" 5515 }, 5516 "10": { 5517 "patterns": [ 5518 { 5519 "match": "\\*\\/", 5520 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5521 }, 5522 { 5523 "match": "\\*", 5524 "name": "comment.block.cpp" 5525 } 5526 ] 5527 }, 5528 "11": { 5529 "patterns": [ 5530 { 5531 "match": "::", 5532 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 5533 }, 5534 { 5535 "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)", 5536 "name": "entity.name.scope-resolution.type.cpp" 5537 }, 5538 { 5539 "include": "#template_call_range" 5540 } 5541 ] 5542 }, 5543 "12": { 5544 "patterns": [ 5545 { 5546 "include": "#template_call_range" 5547 } 5548 ] 5549 }, 5550 "13": {}, 5551 "14": { 5552 "patterns": [ 5553 { 5554 "include": "#inline_comment" 5555 } 5556 ] 5557 }, 5558 "15": { 5559 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5560 }, 5561 "16": { 5562 "name": "comment.block.cpp" 5563 }, 5564 "17": { 5565 "patterns": [ 5566 { 5567 "match": "\\*\\/", 5568 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5569 }, 5570 { 5571 "match": "\\*", 5572 "name": "comment.block.cpp" 5573 } 5574 ] 5575 }, 5576 "18": {}, 5577 "19": { 5578 "patterns": [ 5579 { 5580 "match": "\\*", 5581 "name": "storage.modifier.pointer.cpp" 5582 }, 5583 { 5584 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 5585 "captures": { 5586 "1": { 5587 "patterns": [ 5588 { 5589 "include": "#inline_comment" 5590 } 5591 ] 5592 }, 5593 "2": { 5594 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5595 }, 5596 "3": { 5597 "name": "comment.block.cpp" 5598 }, 5599 "4": { 5600 "patterns": [ 5601 { 5602 "match": "\\*\\/", 5603 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5604 }, 5605 { 5606 "match": "\\*", 5607 "name": "comment.block.cpp" 5608 } 5609 ] 5610 } 5611 }, 5612 "name": "invalid.illegal.reference-type.cpp" 5613 }, 5614 { 5615 "match": "\\&", 5616 "name": "storage.modifier.reference.cpp" 5617 } 5618 ] 5619 }, 5620 "20": { 5621 "patterns": [ 5622 { 5623 "include": "#inline_comment" 5624 } 5625 ] 5626 }, 5627 "21": { 5628 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5629 }, 5630 "22": { 5631 "name": "comment.block.cpp" 5632 }, 5633 "23": { 5634 "patterns": [ 5635 { 5636 "match": "\\*\\/", 5637 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5638 }, 5639 { 5640 "match": "\\*", 5641 "name": "comment.block.cpp" 5642 } 5643 ] 5644 }, 5645 "24": { 5646 "patterns": [ 5647 { 5648 "include": "#inline_comment" 5649 } 5650 ] 5651 }, 5652 "25": { 5653 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5654 }, 5655 "26": { 5656 "name": "comment.block.cpp" 5657 }, 5658 "27": { 5659 "patterns": [ 5660 { 5661 "match": "\\*\\/", 5662 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5663 }, 5664 { 5665 "match": "\\*", 5666 "name": "comment.block.cpp" 5667 } 5668 ] 5669 }, 5670 "28": { 5671 "patterns": [ 5672 { 5673 "include": "#inline_comment" 5674 } 5675 ] 5676 }, 5677 "29": { 5678 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5679 }, 5680 "30": { 5681 "name": "comment.block.cpp" 5682 }, 5683 "31": { 5684 "patterns": [ 5685 { 5686 "match": "\\*\\/", 5687 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5688 }, 5689 { 5690 "match": "\\*", 5691 "name": "comment.block.cpp" 5692 } 5693 ] 5694 }, 5695 "32": { 5696 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp" 5697 }, 5698 "33": { 5699 "name": "punctuation.definition.function.pointer.dereference.cpp" 5700 }, 5701 "34": { 5702 "name": "variable.other.definition.pointer.function.cpp" 5703 }, 5704 "35": { 5705 "name": "punctuation.definition.begin.bracket.square.cpp" 5706 }, 5707 "36": { 5708 "patterns": [ 5709 { 5710 "include": "#evaluation_context" 5711 } 5712 ] 5713 }, 5714 "37": { 5715 "name": "punctuation.definition.end.bracket.square.cpp" 5716 }, 5717 "38": { 5718 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp" 5719 }, 5720 "39": { 5721 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp" 5722 } 5723 }, 5724 "endCaptures": { 5725 "1": { 5726 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" 5727 }, 5728 "2": { 5729 "patterns": [ 5730 { 5731 "include": "#inline_comment" 5732 } 5733 ] 5734 }, 5735 "3": { 5736 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5737 }, 5738 "4": { 5739 "name": "comment.block.cpp" 5740 }, 5741 "5": { 5742 "patterns": [ 5743 { 5744 "match": "\\*\\/", 5745 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5746 }, 5747 { 5748 "match": "\\*", 5749 "name": "comment.block.cpp" 5750 } 5751 ] 5752 } 5753 }, 5754 "patterns": [ 5755 { 5756 "include": "#function_parameter_context" 5757 } 5758 ] 5759 }, 5760 "function_pointer_parameter": { 5761 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?: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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", 5762 "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", 5763 "beginCaptures": { 5764 "1": { 5765 "name": "meta.qualified_type.cpp", 5766 "patterns": [ 5767 { 5768 "match": "::", 5769 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 5770 }, 5771 { 5772 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 5773 "name": "storage.type.$0.cpp" 5774 }, 5775 { 5776 "include": "#attributes_context" 5777 }, 5778 { 5779 "include": "#storage_types" 5780 }, 5781 { 5782 "include": "#number_literal" 5783 }, 5784 { 5785 "include": "#string_context" 5786 }, 5787 { 5788 "include": "#comma" 5789 }, 5790 { 5791 "include": "#scope_resolution_inner_generated" 5792 }, 5793 { 5794 "begin": "<", 5795 "end": ">", 5796 "beginCaptures": { 5797 "0": { 5798 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 5799 } 5800 }, 5801 "endCaptures": { 5802 "0": { 5803 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 5804 } 5805 }, 5806 "name": "meta.template.call.cpp", 5807 "patterns": [ 5808 { 5809 "include": "#template_call_context" 5810 } 5811 ] 5812 }, 5813 { 5814 "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}))*", 5815 "name": "entity.name.type.cpp" 5816 } 5817 ] 5818 }, 5819 "2": { 5820 "patterns": [ 5821 { 5822 "include": "#attributes_context" 5823 }, 5824 { 5825 "include": "#number_literal" 5826 } 5827 ] 5828 }, 5829 "3": { 5830 "patterns": [ 5831 { 5832 "include": "#inline_comment" 5833 } 5834 ] 5835 }, 5836 "4": { 5837 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5838 }, 5839 "5": { 5840 "name": "comment.block.cpp" 5841 }, 5842 "6": { 5843 "patterns": [ 5844 { 5845 "match": "\\*\\/", 5846 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5847 }, 5848 { 5849 "match": "\\*", 5850 "name": "comment.block.cpp" 5851 } 5852 ] 5853 }, 5854 "7": { 5855 "patterns": [ 5856 { 5857 "include": "#inline_comment" 5858 } 5859 ] 5860 }, 5861 "8": { 5862 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5863 }, 5864 "9": { 5865 "name": "comment.block.cpp" 5866 }, 5867 "10": { 5868 "patterns": [ 5869 { 5870 "match": "\\*\\/", 5871 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5872 }, 5873 { 5874 "match": "\\*", 5875 "name": "comment.block.cpp" 5876 } 5877 ] 5878 }, 5879 "11": { 5880 "patterns": [ 5881 { 5882 "match": "::", 5883 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 5884 }, 5885 { 5886 "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)", 5887 "name": "entity.name.scope-resolution.type.cpp" 5888 }, 5889 { 5890 "include": "#template_call_range" 5891 } 5892 ] 5893 }, 5894 "12": { 5895 "patterns": [ 5896 { 5897 "include": "#template_call_range" 5898 } 5899 ] 5900 }, 5901 "13": {}, 5902 "14": { 5903 "patterns": [ 5904 { 5905 "include": "#inline_comment" 5906 } 5907 ] 5908 }, 5909 "15": { 5910 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5911 }, 5912 "16": { 5913 "name": "comment.block.cpp" 5914 }, 5915 "17": { 5916 "patterns": [ 5917 { 5918 "match": "\\*\\/", 5919 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5920 }, 5921 { 5922 "match": "\\*", 5923 "name": "comment.block.cpp" 5924 } 5925 ] 5926 }, 5927 "18": {}, 5928 "19": { 5929 "patterns": [ 5930 { 5931 "match": "\\*", 5932 "name": "storage.modifier.pointer.cpp" 5933 }, 5934 { 5935 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 5936 "captures": { 5937 "1": { 5938 "patterns": [ 5939 { 5940 "include": "#inline_comment" 5941 } 5942 ] 5943 }, 5944 "2": { 5945 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5946 }, 5947 "3": { 5948 "name": "comment.block.cpp" 5949 }, 5950 "4": { 5951 "patterns": [ 5952 { 5953 "match": "\\*\\/", 5954 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5955 }, 5956 { 5957 "match": "\\*", 5958 "name": "comment.block.cpp" 5959 } 5960 ] 5961 } 5962 }, 5963 "name": "invalid.illegal.reference-type.cpp" 5964 }, 5965 { 5966 "match": "\\&", 5967 "name": "storage.modifier.reference.cpp" 5968 } 5969 ] 5970 }, 5971 "20": { 5972 "patterns": [ 5973 { 5974 "include": "#inline_comment" 5975 } 5976 ] 5977 }, 5978 "21": { 5979 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 5980 }, 5981 "22": { 5982 "name": "comment.block.cpp" 5983 }, 5984 "23": { 5985 "patterns": [ 5986 { 5987 "match": "\\*\\/", 5988 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 5989 }, 5990 { 5991 "match": "\\*", 5992 "name": "comment.block.cpp" 5993 } 5994 ] 5995 }, 5996 "24": { 5997 "patterns": [ 5998 { 5999 "include": "#inline_comment" 6000 } 6001 ] 6002 }, 6003 "25": { 6004 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6005 }, 6006 "26": { 6007 "name": "comment.block.cpp" 6008 }, 6009 "27": { 6010 "patterns": [ 6011 { 6012 "match": "\\*\\/", 6013 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6014 }, 6015 { 6016 "match": "\\*", 6017 "name": "comment.block.cpp" 6018 } 6019 ] 6020 }, 6021 "28": { 6022 "patterns": [ 6023 { 6024 "include": "#inline_comment" 6025 } 6026 ] 6027 }, 6028 "29": { 6029 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6030 }, 6031 "30": { 6032 "name": "comment.block.cpp" 6033 }, 6034 "31": { 6035 "patterns": [ 6036 { 6037 "match": "\\*\\/", 6038 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6039 }, 6040 { 6041 "match": "\\*", 6042 "name": "comment.block.cpp" 6043 } 6044 ] 6045 }, 6046 "32": { 6047 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp" 6048 }, 6049 "33": { 6050 "name": "punctuation.definition.function.pointer.dereference.cpp" 6051 }, 6052 "34": { 6053 "name": "variable.parameter.pointer.function.cpp" 6054 }, 6055 "35": { 6056 "name": "punctuation.definition.begin.bracket.square.cpp" 6057 }, 6058 "36": { 6059 "patterns": [ 6060 { 6061 "include": "#evaluation_context" 6062 } 6063 ] 6064 }, 6065 "37": { 6066 "name": "punctuation.definition.end.bracket.square.cpp" 6067 }, 6068 "38": { 6069 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp" 6070 }, 6071 "39": { 6072 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp" 6073 } 6074 }, 6075 "endCaptures": { 6076 "1": { 6077 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" 6078 }, 6079 "2": { 6080 "patterns": [ 6081 { 6082 "include": "#inline_comment" 6083 } 6084 ] 6085 }, 6086 "3": { 6087 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6088 }, 6089 "4": { 6090 "name": "comment.block.cpp" 6091 }, 6092 "5": { 6093 "patterns": [ 6094 { 6095 "match": "\\*\\/", 6096 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6097 }, 6098 { 6099 "match": "\\*", 6100 "name": "comment.block.cpp" 6101 } 6102 ] 6103 } 6104 }, 6105 "patterns": [ 6106 { 6107 "include": "#function_parameter_context" 6108 } 6109 ] 6110 }, 6111 "functional_specifiers_pre_parameters": { 6112 "match": "(?<!\\w)(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))(?!\\w)", 6113 "name": "storage.modifier.specifier.functional.pre-parameters.$0.cpp" 6114 }, 6115 "gcc_attributes": { 6116 "begin": "__attribute(?:__)?\\s*\\(\\s*\\(", 6117 "end": "\\)\\s*\\)", 6118 "beginCaptures": { 6119 "0": { 6120 "name": "punctuation.section.attribute.begin.cpp" 6121 } 6122 }, 6123 "endCaptures": { 6124 "0": { 6125 "name": "punctuation.section.attribute.end.cpp" 6126 } 6127 }, 6128 "name": "support.other.attribute.cpp", 6129 "patterns": [ 6130 { 6131 "include": "#attributes_context" 6132 }, 6133 { 6134 "begin": "\\(", 6135 "end": "\\)", 6136 "beginCaptures": {}, 6137 "endCaptures": {}, 6138 "patterns": [ 6139 { 6140 "include": "#attributes_context" 6141 }, 6142 { 6143 "include": "#string_context" 6144 } 6145 ] 6146 }, 6147 { 6148 "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))", 6149 "captures": { 6150 "1": { 6151 "name": "keyword.other.using.directive.cpp" 6152 }, 6153 "2": { 6154 "name": "entity.name.namespace.cpp" 6155 } 6156 } 6157 }, 6158 { 6159 "match": ",", 6160 "name": "punctuation.separator.attribute.cpp" 6161 }, 6162 { 6163 "match": ":", 6164 "name": "punctuation.accessor.attribute.cpp" 6165 }, 6166 { 6167 "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)(?=::)", 6168 "name": "entity.name.namespace.cpp" 6169 }, 6170 { 6171 "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)", 6172 "name": "entity.other.attribute.$0.cpp" 6173 }, 6174 { 6175 "include": "#number_literal" 6176 } 6177 ] 6178 }, 6179 "goto_statement": { 6180 "match": "((?<!\\w)goto(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)", 6181 "captures": { 6182 "1": { 6183 "name": "keyword.control.goto.cpp" 6184 }, 6185 "2": { 6186 "patterns": [ 6187 { 6188 "include": "#inline_comment" 6189 } 6190 ] 6191 }, 6192 "3": { 6193 "patterns": [ 6194 { 6195 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 6196 "captures": { 6197 "1": { 6198 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6199 }, 6200 "2": { 6201 "name": "comment.block.cpp" 6202 }, 6203 "3": { 6204 "patterns": [ 6205 { 6206 "match": "\\*\\/", 6207 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6208 }, 6209 { 6210 "match": "\\*", 6211 "name": "comment.block.cpp" 6212 } 6213 ] 6214 } 6215 } 6216 } 6217 ] 6218 }, 6219 "4": { 6220 "name": "entity.name.label.call.cpp" 6221 } 6222 } 6223 }, 6224 "identifier": { 6225 "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}))*" 6226 }, 6227 "include": { 6228 "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((#)(?:(?:\\s)+)?((?:include|include_next))\\b)(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))", 6229 "captures": { 6230 "1": { 6231 "patterns": [ 6232 { 6233 "include": "#inline_comment" 6234 } 6235 ] 6236 }, 6237 "2": { 6238 "patterns": [ 6239 { 6240 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 6241 "captures": { 6242 "1": { 6243 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6244 }, 6245 "2": { 6246 "name": "comment.block.cpp" 6247 }, 6248 "3": { 6249 "patterns": [ 6250 { 6251 "match": "\\*\\/", 6252 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6253 }, 6254 { 6255 "match": "\\*", 6256 "name": "comment.block.cpp" 6257 } 6258 ] 6259 } 6260 } 6261 } 6262 ] 6263 }, 6264 "3": { 6265 "name": "keyword.control.directive.$5.cpp" 6266 }, 6267 "4": { 6268 "name": "punctuation.definition.directive.cpp" 6269 }, 6270 "6": { 6271 "name": "string.quoted.other.lt-gt.include.cpp" 6272 }, 6273 "7": { 6274 "name": "punctuation.definition.string.begin.cpp" 6275 }, 6276 "8": { 6277 "name": "punctuation.definition.string.end.cpp" 6278 }, 6279 "9": { 6280 "patterns": [ 6281 { 6282 "include": "#inline_comment" 6283 } 6284 ] 6285 }, 6286 "10": { 6287 "patterns": [ 6288 { 6289 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 6290 "captures": { 6291 "1": { 6292 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6293 }, 6294 "2": { 6295 "name": "comment.block.cpp" 6296 }, 6297 "3": { 6298 "patterns": [ 6299 { 6300 "match": "\\*\\/", 6301 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6302 }, 6303 { 6304 "match": "\\*", 6305 "name": "comment.block.cpp" 6306 } 6307 ] 6308 } 6309 } 6310 } 6311 ] 6312 }, 6313 "11": { 6314 "name": "string.quoted.double.include.cpp" 6315 }, 6316 "12": { 6317 "name": "punctuation.definition.string.begin.cpp" 6318 }, 6319 "13": { 6320 "name": "punctuation.definition.string.end.cpp" 6321 }, 6322 "14": { 6323 "patterns": [ 6324 { 6325 "include": "#inline_comment" 6326 } 6327 ] 6328 }, 6329 "15": { 6330 "patterns": [ 6331 { 6332 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 6333 "captures": { 6334 "1": { 6335 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6336 }, 6337 "2": { 6338 "name": "comment.block.cpp" 6339 }, 6340 "3": { 6341 "patterns": [ 6342 { 6343 "match": "\\*\\/", 6344 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6345 }, 6346 { 6347 "match": "\\*", 6348 "name": "comment.block.cpp" 6349 } 6350 ] 6351 } 6352 } 6353 } 6354 ] 6355 }, 6356 "16": { 6357 "name": "entity.name.other.preprocessor.macro.include.cpp" 6358 }, 6359 "17": { 6360 "patterns": [ 6361 { 6362 "include": "#inline_comment" 6363 } 6364 ] 6365 }, 6366 "18": { 6367 "patterns": [ 6368 { 6369 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 6370 "captures": { 6371 "1": { 6372 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6373 }, 6374 "2": { 6375 "name": "comment.block.cpp" 6376 }, 6377 "3": { 6378 "patterns": [ 6379 { 6380 "match": "\\*\\/", 6381 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6382 }, 6383 { 6384 "match": "\\*", 6385 "name": "comment.block.cpp" 6386 } 6387 ] 6388 } 6389 } 6390 } 6391 ] 6392 }, 6393 "19": { 6394 "patterns": [ 6395 { 6396 "include": "#inline_comment" 6397 } 6398 ] 6399 }, 6400 "20": { 6401 "patterns": [ 6402 { 6403 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 6404 "captures": { 6405 "1": { 6406 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6407 }, 6408 "2": { 6409 "name": "comment.block.cpp" 6410 }, 6411 "3": { 6412 "patterns": [ 6413 { 6414 "match": "\\*\\/", 6415 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6416 }, 6417 { 6418 "match": "\\*", 6419 "name": "comment.block.cpp" 6420 } 6421 ] 6422 } 6423 } 6424 } 6425 ] 6426 }, 6427 "21": { 6428 "patterns": [ 6429 { 6430 "include": "#inline_comment" 6431 } 6432 ] 6433 }, 6434 "22": { 6435 "patterns": [ 6436 { 6437 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 6438 "captures": { 6439 "1": { 6440 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6441 }, 6442 "2": { 6443 "name": "comment.block.cpp" 6444 }, 6445 "3": { 6446 "patterns": [ 6447 { 6448 "match": "\\*\\/", 6449 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6450 }, 6451 { 6452 "match": "\\*", 6453 "name": "comment.block.cpp" 6454 } 6455 ] 6456 } 6457 } 6458 } 6459 ] 6460 } 6461 }, 6462 "name": "meta.preprocessor.include.cpp" 6463 }, 6464 "inheritance_context": { 6465 "patterns": [ 6466 { 6467 "include": "#ever_present_context" 6468 }, 6469 { 6470 "match": ",", 6471 "name": "punctuation.separator.delimiter.comma.inheritance.cpp" 6472 }, 6473 { 6474 "match": "(?<!\\w)(?:(?:protected)|(?:private)|(?:public))(?!\\w)", 6475 "name": "storage.type.modifier.access.$0.cpp" 6476 }, 6477 { 6478 "match": "(?<!\\w)virtual(?!\\w)", 6479 "name": "storage.type.modifier.virtual.cpp" 6480 }, 6481 { 6482 "match": "(?<=protected|virtual|private|public|,|:)(?:(?:\\s)+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|virtual))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?: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<:.]))", 6483 "captures": { 6484 "1": { 6485 "name": "meta.qualified_type.cpp", 6486 "patterns": [ 6487 { 6488 "match": "::", 6489 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 6490 }, 6491 { 6492 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 6493 "name": "storage.type.$0.cpp" 6494 }, 6495 { 6496 "include": "#attributes_context" 6497 }, 6498 { 6499 "include": "#storage_types" 6500 }, 6501 { 6502 "include": "#number_literal" 6503 }, 6504 { 6505 "include": "#string_context" 6506 }, 6507 { 6508 "include": "#comma" 6509 }, 6510 { 6511 "include": "#scope_resolution_inner_generated" 6512 }, 6513 { 6514 "begin": "<", 6515 "end": ">", 6516 "beginCaptures": { 6517 "0": { 6518 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 6519 } 6520 }, 6521 "endCaptures": { 6522 "0": { 6523 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 6524 } 6525 }, 6526 "name": "meta.template.call.cpp", 6527 "patterns": [ 6528 { 6529 "include": "#template_call_context" 6530 } 6531 ] 6532 }, 6533 { 6534 "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}))*", 6535 "name": "entity.name.type.cpp" 6536 } 6537 ] 6538 }, 6539 "2": { 6540 "patterns": [ 6541 { 6542 "include": "#attributes_context" 6543 }, 6544 { 6545 "include": "#number_literal" 6546 } 6547 ] 6548 }, 6549 "3": { 6550 "patterns": [ 6551 { 6552 "include": "#inline_comment" 6553 } 6554 ] 6555 }, 6556 "4": { 6557 "patterns": [ 6558 { 6559 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 6560 "captures": { 6561 "1": { 6562 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6563 }, 6564 "2": { 6565 "name": "comment.block.cpp" 6566 }, 6567 "3": { 6568 "patterns": [ 6569 { 6570 "match": "\\*\\/", 6571 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6572 }, 6573 { 6574 "match": "\\*", 6575 "name": "comment.block.cpp" 6576 } 6577 ] 6578 } 6579 } 6580 } 6581 ] 6582 }, 6583 "5": { 6584 "patterns": [ 6585 { 6586 "include": "#inline_comment" 6587 } 6588 ] 6589 }, 6590 "6": { 6591 "patterns": [ 6592 { 6593 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 6594 "captures": { 6595 "1": { 6596 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6597 }, 6598 "2": { 6599 "name": "comment.block.cpp" 6600 }, 6601 "3": { 6602 "patterns": [ 6603 { 6604 "match": "\\*\\/", 6605 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6606 }, 6607 { 6608 "match": "\\*", 6609 "name": "comment.block.cpp" 6610 } 6611 ] 6612 } 6613 } 6614 } 6615 ] 6616 }, 6617 "7": { 6618 "patterns": [ 6619 { 6620 "match": "::", 6621 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 6622 }, 6623 { 6624 "match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", 6625 "name": "entity.name.scope-resolution.type.cpp" 6626 }, 6627 { 6628 "include": "#template_call_range" 6629 } 6630 ] 6631 }, 6632 "8": { 6633 "patterns": [ 6634 { 6635 "include": "#template_call_range" 6636 } 6637 ] 6638 }, 6639 "9": {}, 6640 "10": { 6641 "patterns": [ 6642 { 6643 "include": "#inline_comment" 6644 } 6645 ] 6646 }, 6647 "11": { 6648 "patterns": [ 6649 { 6650 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 6651 "captures": { 6652 "1": { 6653 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6654 }, 6655 "2": { 6656 "name": "comment.block.cpp" 6657 }, 6658 "3": { 6659 "patterns": [ 6660 { 6661 "match": "\\*\\/", 6662 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6663 }, 6664 { 6665 "match": "\\*", 6666 "name": "comment.block.cpp" 6667 } 6668 ] 6669 } 6670 } 6671 } 6672 ] 6673 }, 6674 "12": {} 6675 } 6676 } 6677 ] 6678 }, 6679 "inline_builtin_storage_type": { 6680 "match": "(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)", 6681 "captures": { 6682 "1": { 6683 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" 6684 }, 6685 "2": { 6686 "name": "storage.type.cpp storage.type.built-in.cpp" 6687 }, 6688 "3": { 6689 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" 6690 }, 6691 "4": { 6692 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" 6693 } 6694 } 6695 }, 6696 "inline_comment": { 6697 "match": "(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/))", 6698 "captures": { 6699 "1": { 6700 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6701 }, 6702 "2": { 6703 "name": "comment.block.cpp" 6704 }, 6705 "3": { 6706 "patterns": [ 6707 { 6708 "match": "\\*\\/", 6709 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6710 }, 6711 { 6712 "match": "\\*", 6713 "name": "comment.block.cpp" 6714 } 6715 ] 6716 } 6717 } 6718 }, 6719 "invalid_comment_end": { 6720 "match": "\\*\\/", 6721 "name": "invalid.illegal.unexpected.punctuation.definition.comment.end.cpp" 6722 }, 6723 "label": { 6724 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\b(?<!case|default)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:)", 6725 "captures": { 6726 "1": { 6727 "patterns": [ 6728 { 6729 "include": "#inline_comment" 6730 } 6731 ] 6732 }, 6733 "2": { 6734 "patterns": [ 6735 { 6736 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 6737 "captures": { 6738 "1": { 6739 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6740 }, 6741 "2": { 6742 "name": "comment.block.cpp" 6743 }, 6744 "3": { 6745 "patterns": [ 6746 { 6747 "match": "\\*\\/", 6748 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6749 }, 6750 { 6751 "match": "\\*", 6752 "name": "comment.block.cpp" 6753 } 6754 ] 6755 } 6756 } 6757 } 6758 ] 6759 }, 6760 "3": { 6761 "name": "entity.name.label.cpp" 6762 }, 6763 "4": { 6764 "patterns": [ 6765 { 6766 "include": "#inline_comment" 6767 } 6768 ] 6769 }, 6770 "5": { 6771 "patterns": [ 6772 { 6773 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 6774 "captures": { 6775 "1": { 6776 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6777 }, 6778 "2": { 6779 "name": "comment.block.cpp" 6780 }, 6781 "3": { 6782 "patterns": [ 6783 { 6784 "match": "\\*\\/", 6785 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6786 }, 6787 { 6788 "match": "\\*", 6789 "name": "comment.block.cpp" 6790 } 6791 ] 6792 } 6793 } 6794 } 6795 ] 6796 }, 6797 "6": { 6798 "name": "punctuation.separator.label.cpp" 6799 } 6800 } 6801 }, 6802 "lambdas": { 6803 "begin": "(?:(?<=[^\\s]|^)(?<![\\w\\]\\)\\[\\*&\">])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:[^\\[\\]]*+\\g<3>?)++\\]))*+)(\\](?!((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))[\\[\\];]))", 6804 "end": "(?<=[;}])", 6805 "beginCaptures": { 6806 "1": { 6807 "name": "punctuation.definition.capture.begin.lambda.cpp" 6808 }, 6809 "2": { 6810 "name": "meta.lambda.capture.cpp", 6811 "patterns": [ 6812 { 6813 "include": "#the_this_keyword" 6814 }, 6815 { 6816 "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", 6817 "captures": { 6818 "1": { 6819 "name": "variable.parameter.capture.cpp" 6820 }, 6821 "2": { 6822 "patterns": [ 6823 { 6824 "include": "#inline_comment" 6825 } 6826 ] 6827 }, 6828 "3": { 6829 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6830 }, 6831 "4": { 6832 "name": "comment.block.cpp" 6833 }, 6834 "5": { 6835 "patterns": [ 6836 { 6837 "match": "\\*\\/", 6838 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6839 }, 6840 { 6841 "match": "\\*", 6842 "name": "comment.block.cpp" 6843 } 6844 ] 6845 }, 6846 "6": { 6847 "name": "punctuation.separator.delimiter.comma.cpp" 6848 }, 6849 "7": { 6850 "name": "keyword.operator.assignment.cpp" 6851 } 6852 } 6853 }, 6854 { 6855 "include": "#evaluation_context" 6856 } 6857 ] 6858 }, 6859 "3": {}, 6860 "4": { 6861 "name": "punctuation.definition.capture.end.lambda.cpp" 6862 }, 6863 "5": { 6864 "patterns": [ 6865 { 6866 "include": "#inline_comment" 6867 } 6868 ] 6869 }, 6870 "6": { 6871 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6872 }, 6873 "7": { 6874 "name": "comment.block.cpp" 6875 }, 6876 "8": { 6877 "patterns": [ 6878 { 6879 "match": "\\*\\/", 6880 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6881 }, 6882 { 6883 "match": "\\*", 6884 "name": "comment.block.cpp" 6885 } 6886 ] 6887 } 6888 }, 6889 "endCaptures": {}, 6890 "patterns": [ 6891 { 6892 "begin": "\\(", 6893 "end": "\\)", 6894 "beginCaptures": { 6895 "0": { 6896 "name": "punctuation.definition.parameters.begin.lambda.cpp" 6897 } 6898 }, 6899 "endCaptures": { 6900 "0": { 6901 "name": "punctuation.definition.parameters.end.lambda.cpp" 6902 } 6903 }, 6904 "name": "meta.function.definition.parameters.lambda.cpp", 6905 "patterns": [ 6906 { 6907 "include": "#function_parameter_context" 6908 } 6909 ] 6910 }, 6911 { 6912 "match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:mutable))(?!\\w)", 6913 "name": "storage.modifier.lambda.$0.cpp" 6914 }, 6915 { 6916 "match": "(->)((?:.+?(?=\\{|$))?)", 6917 "captures": { 6918 "1": { 6919 "name": "punctuation.definition.lambda.return-type.cpp" 6920 }, 6921 "2": { 6922 "name": "storage.type.return-type.lambda.cpp" 6923 } 6924 } 6925 }, 6926 { 6927 "begin": "\\{", 6928 "end": "\\}", 6929 "beginCaptures": { 6930 "0": { 6931 "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp" 6932 } 6933 }, 6934 "endCaptures": { 6935 "0": { 6936 "name": "punctuation.section.block.end.bracket.curly.lambda.cpp" 6937 } 6938 }, 6939 "name": "meta.function.definition.body.lambda.cpp", 6940 "patterns": [ 6941 { 6942 "include": "$self" 6943 } 6944 ] 6945 } 6946 ] 6947 }, 6948 "language_constants": { 6949 "match": "(?<!\\w)(?:(?:nullptr)|(?:false)|(?:NULL)|(?:true))(?!\\w)", 6950 "name": "constant.language.$0.cpp" 6951 }, 6952 "line": { 6953 "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?line\\b", 6954 "end": "(?<!\\\\)(?=\\n)", 6955 "beginCaptures": { 6956 "0": { 6957 "name": "keyword.control.directive.line.cpp" 6958 }, 6959 "1": { 6960 "patterns": [ 6961 { 6962 "include": "#inline_comment" 6963 } 6964 ] 6965 }, 6966 "2": { 6967 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 6968 }, 6969 "3": { 6970 "name": "comment.block.cpp" 6971 }, 6972 "4": { 6973 "patterns": [ 6974 { 6975 "match": "\\*\\/", 6976 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 6977 }, 6978 { 6979 "match": "\\*", 6980 "name": "comment.block.cpp" 6981 } 6982 ] 6983 }, 6984 "5": { 6985 "name": "punctuation.definition.directive.cpp" 6986 } 6987 }, 6988 "endCaptures": {}, 6989 "name": "meta.preprocessor.line.cpp", 6990 "patterns": [ 6991 { 6992 "include": "#string_context" 6993 }, 6994 { 6995 "include": "#preprocessor_number_literal" 6996 }, 6997 { 6998 "include": "#line_continuation_character" 6999 } 7000 ] 7001 }, 7002 "line_comment": { 7003 "begin": "\\s*+(\\/\\/)", 7004 "end": "(?<=\\n)(?<!\\\\\\n)", 7005 "beginCaptures": { 7006 "1": { 7007 "name": "punctuation.definition.comment.cpp" 7008 } 7009 }, 7010 "endCaptures": {}, 7011 "name": "comment.line.double-slash.cpp", 7012 "patterns": [ 7013 { 7014 "include": "#line_continuation_character" 7015 } 7016 ] 7017 }, 7018 "line_continuation_character": { 7019 "match": "\\\\\\n", 7020 "name": "constant.character.escape.line-continuation.cpp" 7021 }, 7022 "macro": { 7023 "begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?define\\b)(?:(?:\\s)+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))", 7024 "end": "(?<!\\\\)(?=\\n)", 7025 "beginCaptures": { 7026 "1": { 7027 "name": "keyword.control.directive.define.cpp" 7028 }, 7029 "2": { 7030 "patterns": [ 7031 { 7032 "include": "#inline_comment" 7033 } 7034 ] 7035 }, 7036 "3": { 7037 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 7038 }, 7039 "4": { 7040 "name": "comment.block.cpp" 7041 }, 7042 "5": { 7043 "patterns": [ 7044 { 7045 "match": "\\*\\/", 7046 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 7047 }, 7048 { 7049 "match": "\\*", 7050 "name": "comment.block.cpp" 7051 } 7052 ] 7053 }, 7054 "6": { 7055 "name": "punctuation.definition.directive.cpp" 7056 }, 7057 "7": { 7058 "name": "entity.name.function.preprocessor.cpp" 7059 } 7060 }, 7061 "endCaptures": {}, 7062 "name": "meta.preprocessor.macro.cpp", 7063 "patterns": [ 7064 { 7065 "match": "\\G(?:(?:\\s)+)?(\\()([^\\(]*)(\\))", 7066 "captures": { 7067 "1": { 7068 "name": "punctuation.definition.parameters.begin.preprocessor.cpp" 7069 }, 7070 "2": { 7071 "patterns": [ 7072 { 7073 "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)+)?", 7074 "captures": { 7075 "1": { 7076 "name": "variable.parameter.preprocessor.cpp" 7077 } 7078 } 7079 }, 7080 { 7081 "match": ",", 7082 "name": "punctuation.separator.parameters.cpp" 7083 }, 7084 { 7085 "match": "\\.\\.\\.", 7086 "name": "punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp" 7087 } 7088 ] 7089 }, 7090 "3": { 7091 "name": "punctuation.definition.parameters.end.preprocessor.cpp" 7092 } 7093 } 7094 }, 7095 { 7096 "include": "#macro_context" 7097 }, 7098 { 7099 "include": "#macro_argument" 7100 } 7101 ] 7102 }, 7103 "macro_argument": { 7104 "match": "##?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", 7105 "name": "variable.other.macro.argument.cpp" 7106 }, 7107 "macro_context": { 7108 "patterns": [ 7109 { 7110 "include": "source.cpp.embedded.macro" 7111 } 7112 ] 7113 }, 7114 "macro_name": { 7115 "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)", 7116 "name": "entity.name.function.preprocessor.cpp" 7117 }, 7118 "member_access": { 7119 "match": "(?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|suseconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|useconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_addr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_port_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|blksize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|unsigned[^Pattern.new(\n match: \\/\\w\\/,\n)]|blkcnt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|swblk_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|wchar_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_short[^Pattern.new(\n match: \\/\\w\\/,\n)]|qaddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|caddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|daddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|fixpt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|nlink_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|segsz_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|clock_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ssize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|mode_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_long[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_char[^Pattern.new(\n match: \\/\\w\\/,\n)]|double[^Pattern.new(\n match: \\/\\w\\/,\n)]|signed[^Pattern.new(\n match: \\/\\w\\/,\n)]|time_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|size_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|key_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|div_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ino_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|gid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|off_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|pid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|float[^Pattern.new(\n match: \\/\\w\\/,\n)]|dev_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_int[^Pattern.new(\n match: \\/\\w\\/,\n)]|short[^Pattern.new(\n match: \\/\\w\\/,\n)]|bool[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint[^Pattern.new(\n match: \\/\\w\\/,\n)]|long[^Pattern.new(\n match: \\/\\w\\/,\n)]|char[^Pattern.new(\n match: \\/\\w\\/,\n)]|void[^Pattern.new(\n match: \\/\\w\\/,\n)]|auto[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int[^Pattern.new(\n match: \\/\\w\\/,\n)])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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(?!\\())", 7120 "captures": { 7121 "1": { 7122 "patterns": [ 7123 { 7124 "include": "#inline_comment" 7125 } 7126 ] 7127 }, 7128 "2": { 7129 "patterns": [ 7130 { 7131 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 7132 "captures": { 7133 "1": { 7134 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 7135 }, 7136 "2": { 7137 "name": "comment.block.cpp" 7138 }, 7139 "3": { 7140 "patterns": [ 7141 { 7142 "match": "\\*\\/", 7143 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 7144 }, 7145 { 7146 "match": "\\*", 7147 "name": "comment.block.cpp" 7148 } 7149 ] 7150 } 7151 } 7152 } 7153 ] 7154 }, 7155 "3": { 7156 "name": "variable.language.this.cpp" 7157 }, 7158 "4": { 7159 "name": "variable.other.object.access.cpp" 7160 }, 7161 "5": { 7162 "name": "punctuation.separator.dot-access.cpp" 7163 }, 7164 "6": { 7165 "name": "punctuation.separator.pointer-access.cpp" 7166 }, 7167 "7": { 7168 "patterns": [ 7169 { 7170 "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))", 7171 "captures": { 7172 "1": { 7173 "patterns": [ 7174 { 7175 "include": "#inline_comment" 7176 } 7177 ] 7178 }, 7179 "2": { 7180 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 7181 }, 7182 "3": { 7183 "name": "comment.block.cpp" 7184 }, 7185 "4": { 7186 "patterns": [ 7187 { 7188 "match": "\\*\\/", 7189 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 7190 }, 7191 { 7192 "match": "\\*", 7193 "name": "comment.block.cpp" 7194 } 7195 ] 7196 }, 7197 "5": { 7198 "name": "variable.language.this.cpp" 7199 }, 7200 "6": { 7201 "name": "variable.other.object.property.cpp" 7202 }, 7203 "7": { 7204 "name": "punctuation.separator.dot-access.cpp" 7205 }, 7206 "8": { 7207 "name": "punctuation.separator.pointer-access.cpp" 7208 } 7209 } 7210 }, 7211 { 7212 "match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))", 7213 "captures": { 7214 "1": { 7215 "patterns": [ 7216 { 7217 "include": "#inline_comment" 7218 } 7219 ] 7220 }, 7221 "2": { 7222 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 7223 }, 7224 "3": { 7225 "name": "comment.block.cpp" 7226 }, 7227 "4": { 7228 "patterns": [ 7229 { 7230 "match": "\\*\\/", 7231 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 7232 }, 7233 { 7234 "match": "\\*", 7235 "name": "comment.block.cpp" 7236 } 7237 ] 7238 }, 7239 "5": { 7240 "name": "variable.language.this.cpp" 7241 }, 7242 "6": { 7243 "name": "variable.other.object.access.cpp" 7244 }, 7245 "7": { 7246 "name": "punctuation.separator.dot-access.cpp" 7247 }, 7248 "8": { 7249 "name": "punctuation.separator.pointer-access.cpp" 7250 } 7251 } 7252 }, 7253 { 7254 "include": "#member_access" 7255 }, 7256 { 7257 "include": "#method_access" 7258 } 7259 ] 7260 }, 7261 "8": { 7262 "name": "variable.other.property.cpp" 7263 } 7264 } 7265 }, 7266 "memory_operators": { 7267 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))", 7268 "captures": { 7269 "1": { 7270 "patterns": [ 7271 { 7272 "include": "#inline_comment" 7273 } 7274 ] 7275 }, 7276 "2": { 7277 "patterns": [ 7278 { 7279 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 7280 "captures": { 7281 "1": { 7282 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 7283 }, 7284 "2": { 7285 "name": "comment.block.cpp" 7286 }, 7287 "3": { 7288 "patterns": [ 7289 { 7290 "match": "\\*\\/", 7291 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 7292 }, 7293 { 7294 "match": "\\*", 7295 "name": "comment.block.cpp" 7296 } 7297 ] 7298 } 7299 } 7300 } 7301 ] 7302 }, 7303 "3": { 7304 "name": "keyword.operator.wordlike.cpp" 7305 }, 7306 "4": { 7307 "name": "keyword.operator.delete.array.cpp" 7308 }, 7309 "5": { 7310 "name": "keyword.operator.delete.array.bracket.cpp" 7311 }, 7312 "6": { 7313 "name": "keyword.operator.delete.cpp" 7314 }, 7315 "7": { 7316 "name": "keyword.operator.new.cpp" 7317 } 7318 } 7319 }, 7320 "method_access": { 7321 "begin": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()", 7322 "end": "\\)", 7323 "beginCaptures": { 7324 "1": { 7325 "patterns": [ 7326 { 7327 "include": "#inline_comment" 7328 } 7329 ] 7330 }, 7331 "2": { 7332 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 7333 }, 7334 "3": { 7335 "name": "comment.block.cpp" 7336 }, 7337 "4": { 7338 "patterns": [ 7339 { 7340 "match": "\\*\\/", 7341 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 7342 }, 7343 { 7344 "match": "\\*", 7345 "name": "comment.block.cpp" 7346 } 7347 ] 7348 }, 7349 "5": { 7350 "name": "variable.language.this.cpp" 7351 }, 7352 "6": { 7353 "name": "variable.other.object.access.cpp" 7354 }, 7355 "7": { 7356 "name": "punctuation.separator.dot-access.cpp" 7357 }, 7358 "8": { 7359 "name": "punctuation.separator.pointer-access.cpp" 7360 }, 7361 "9": { 7362 "patterns": [ 7363 { 7364 "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))", 7365 "captures": { 7366 "1": { 7367 "patterns": [ 7368 { 7369 "include": "#inline_comment" 7370 } 7371 ] 7372 }, 7373 "2": { 7374 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 7375 }, 7376 "3": { 7377 "name": "comment.block.cpp" 7378 }, 7379 "4": { 7380 "patterns": [ 7381 { 7382 "match": "\\*\\/", 7383 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 7384 }, 7385 { 7386 "match": "\\*", 7387 "name": "comment.block.cpp" 7388 } 7389 ] 7390 }, 7391 "5": { 7392 "name": "variable.language.this.cpp" 7393 }, 7394 "6": { 7395 "name": "variable.other.object.property.cpp" 7396 }, 7397 "7": { 7398 "name": "punctuation.separator.dot-access.cpp" 7399 }, 7400 "8": { 7401 "name": "punctuation.separator.pointer-access.cpp" 7402 } 7403 } 7404 }, 7405 { 7406 "match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))", 7407 "captures": { 7408 "1": { 7409 "patterns": [ 7410 { 7411 "include": "#inline_comment" 7412 } 7413 ] 7414 }, 7415 "2": { 7416 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 7417 }, 7418 "3": { 7419 "name": "comment.block.cpp" 7420 }, 7421 "4": { 7422 "patterns": [ 7423 { 7424 "match": "\\*\\/", 7425 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 7426 }, 7427 { 7428 "match": "\\*", 7429 "name": "comment.block.cpp" 7430 } 7431 ] 7432 }, 7433 "5": { 7434 "name": "variable.language.this.cpp" 7435 }, 7436 "6": { 7437 "name": "variable.other.object.access.cpp" 7438 }, 7439 "7": { 7440 "name": "punctuation.separator.dot-access.cpp" 7441 }, 7442 "8": { 7443 "name": "punctuation.separator.pointer-access.cpp" 7444 } 7445 } 7446 }, 7447 { 7448 "include": "#member_access" 7449 }, 7450 { 7451 "include": "#method_access" 7452 } 7453 ] 7454 }, 7455 "10": { 7456 "name": "entity.name.function.member.cpp" 7457 }, 7458 "11": { 7459 "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp" 7460 } 7461 }, 7462 "endCaptures": { 7463 "0": { 7464 "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp" 7465 } 7466 }, 7467 "patterns": [ 7468 { 7469 "include": "#evaluation_context" 7470 } 7471 ] 7472 }, 7473 "misc_keywords": { 7474 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:requires)|(?:typedef)|(?:concept)|(?:export)|(?:module))(?!\\w))", 7475 "captures": { 7476 "1": { 7477 "patterns": [ 7478 { 7479 "include": "#inline_comment" 7480 } 7481 ] 7482 }, 7483 "2": { 7484 "patterns": [ 7485 { 7486 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 7487 "captures": { 7488 "1": { 7489 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 7490 }, 7491 "2": { 7492 "name": "comment.block.cpp" 7493 }, 7494 "3": { 7495 "patterns": [ 7496 { 7497 "match": "\\*\\/", 7498 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 7499 }, 7500 { 7501 "match": "\\*", 7502 "name": "comment.block.cpp" 7503 } 7504 ] 7505 } 7506 } 7507 } 7508 ] 7509 }, 7510 "3": { 7511 "name": "keyword.other.$3.cpp" 7512 } 7513 } 7514 }, 7515 "ms_attributes": { 7516 "begin": "__declspec\\(", 7517 "end": "\\)", 7518 "beginCaptures": { 7519 "0": { 7520 "name": "punctuation.section.attribute.begin.cpp" 7521 } 7522 }, 7523 "endCaptures": { 7524 "0": { 7525 "name": "punctuation.section.attribute.end.cpp" 7526 } 7527 }, 7528 "name": "support.other.attribute.cpp", 7529 "patterns": [ 7530 { 7531 "include": "#attributes_context" 7532 }, 7533 { 7534 "begin": "\\(", 7535 "end": "\\)", 7536 "beginCaptures": {}, 7537 "endCaptures": {}, 7538 "patterns": [ 7539 { 7540 "include": "#attributes_context" 7541 }, 7542 { 7543 "include": "#string_context" 7544 } 7545 ] 7546 }, 7547 { 7548 "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))", 7549 "captures": { 7550 "1": { 7551 "name": "keyword.other.using.directive.cpp" 7552 }, 7553 "2": { 7554 "name": "entity.name.namespace.cpp" 7555 } 7556 } 7557 }, 7558 { 7559 "match": ",", 7560 "name": "punctuation.separator.attribute.cpp" 7561 }, 7562 { 7563 "match": ":", 7564 "name": "punctuation.accessor.attribute.cpp" 7565 }, 7566 { 7567 "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)(?=::)", 7568 "name": "entity.name.namespace.cpp" 7569 }, 7570 { 7571 "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)", 7572 "name": "entity.other.attribute.$0.cpp" 7573 }, 7574 { 7575 "include": "#number_literal" 7576 } 7577 ] 7578 }, 7579 "namespace_alias": { 7580 "match": "(?<!\\w)(namespace)(?:\\s)+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?(((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<8>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(?:\\s)+)?(?:(;)|\\n))", 7581 "captures": { 7582 "1": { 7583 "name": "keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp" 7584 }, 7585 "2": { 7586 "name": "entity.name.namespace.alias.cpp" 7587 }, 7588 "3": { 7589 "name": "keyword.operator.assignment.cpp" 7590 }, 7591 "4": { 7592 "name": "meta.declaration.namespace.alias.value.cpp" 7593 }, 7594 "5": { 7595 "patterns": [ 7596 { 7597 "include": "#scope_resolution_namespace_alias_inner_generated" 7598 } 7599 ] 7600 }, 7601 "6": { 7602 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" 7603 }, 7604 "7": { 7605 "patterns": [ 7606 { 7607 "include": "#template_call_range" 7608 } 7609 ] 7610 }, 7611 "9": { 7612 "name": "entity.name.namespace.cpp" 7613 }, 7614 "10": { 7615 "name": "punctuation.terminator.statement.cpp" 7616 } 7617 }, 7618 "name": "meta.declaration.namespace.alias.cpp" 7619 }, 7620 "namespace_block": { 7621 "begin": "((?<!\\w)namespace(?!\\w))", 7622 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", 7623 "beginCaptures": { 7624 "0": { 7625 "name": "meta.head.namespace.cpp" 7626 }, 7627 "1": { 7628 "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp" 7629 } 7630 }, 7631 "endCaptures": {}, 7632 "name": "meta.block.namespace.cpp", 7633 "patterns": [ 7634 { 7635 "begin": "\\G ?", 7636 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 7637 "beginCaptures": {}, 7638 "endCaptures": { 7639 "0": { 7640 "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp" 7641 } 7642 }, 7643 "name": "meta.head.namespace.cpp", 7644 "patterns": [ 7645 { 7646 "include": "#ever_present_context" 7647 }, 7648 { 7649 "include": "#attributes_context" 7650 }, 7651 { 7652 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|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))?", 7653 "captures": { 7654 "1": { 7655 "patterns": [ 7656 { 7657 "include": "#scope_resolution_namespace_block_inner_generated" 7658 } 7659 ] 7660 }, 7661 "2": { 7662 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" 7663 }, 7664 "3": { 7665 "patterns": [ 7666 { 7667 "include": "#template_call_range" 7668 } 7669 ] 7670 }, 7671 "4": {}, 7672 "5": { 7673 "name": "entity.name.namespace.cpp" 7674 }, 7675 "6": { 7676 "name": "punctuation.separator.scope-resolution.namespace.block.cpp" 7677 }, 7678 "7": { 7679 "name": "storage.modifier.inline.cpp" 7680 } 7681 } 7682 } 7683 ] 7684 }, 7685 { 7686 "begin": "(?<=\\{|<%|\\?\\?<)", 7687 "end": "\\}|%>|\\?\\?>", 7688 "beginCaptures": {}, 7689 "endCaptures": { 7690 "0": { 7691 "name": "punctuation.section.block.end.bracket.curly.namespace.cpp" 7692 } 7693 }, 7694 "name": "meta.body.namespace.cpp", 7695 "patterns": [ 7696 { 7697 "include": "$self" 7698 } 7699 ] 7700 }, 7701 { 7702 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 7703 "end": "[\\s]*(?=;)", 7704 "beginCaptures": {}, 7705 "endCaptures": {}, 7706 "name": "meta.tail.namespace.cpp", 7707 "patterns": [ 7708 { 7709 "include": "$self" 7710 } 7711 ] 7712 } 7713 ] 7714 }, 7715 "noexcept_operator": { 7716 "begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 7717 "end": "\\)", 7718 "beginCaptures": { 7719 "1": { 7720 "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp" 7721 }, 7722 "2": { 7723 "patterns": [ 7724 { 7725 "include": "#inline_comment" 7726 } 7727 ] 7728 }, 7729 "3": { 7730 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 7731 }, 7732 "4": { 7733 "name": "comment.block.cpp" 7734 }, 7735 "5": { 7736 "patterns": [ 7737 { 7738 "match": "\\*\\/", 7739 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 7740 }, 7741 { 7742 "match": "\\*", 7743 "name": "comment.block.cpp" 7744 } 7745 ] 7746 }, 7747 "6": { 7748 "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp" 7749 } 7750 }, 7751 "endCaptures": { 7752 "0": { 7753 "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" 7754 } 7755 }, 7756 "contentName": "meta.arguments.operator.noexcept", 7757 "patterns": [ 7758 { 7759 "include": "#evaluation_context" 7760 } 7761 ] 7762 }, 7763 "number_literal": { 7764 "match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*", 7765 "captures": { 7766 "0": { 7767 "patterns": [ 7768 { 7769 "begin": "(?=.)", 7770 "end": "$", 7771 "beginCaptures": {}, 7772 "endCaptures": {}, 7773 "patterns": [ 7774 { 7775 "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)", 7776 "captures": { 7777 "1": { 7778 "name": "keyword.other.unit.hexadecimal.cpp" 7779 }, 7780 "2": { 7781 "name": "constant.numeric.hexadecimal.cpp", 7782 "patterns": [ 7783 { 7784 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 7785 "name": "punctuation.separator.constant.numeric.cpp" 7786 } 7787 ] 7788 }, 7789 "3": { 7790 "name": "punctuation.separator.constant.numeric.cpp" 7791 }, 7792 "4": { 7793 "name": "constant.numeric.hexadecimal.cpp" 7794 }, 7795 "5": { 7796 "name": "constant.numeric.hexadecimal.cpp", 7797 "patterns": [ 7798 { 7799 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 7800 "name": "punctuation.separator.constant.numeric.cpp" 7801 } 7802 ] 7803 }, 7804 "6": { 7805 "name": "punctuation.separator.constant.numeric.cpp" 7806 }, 7807 "7": { 7808 "name": "keyword.other.unit.exponent.hexadecimal.cpp" 7809 }, 7810 "8": { 7811 "name": "keyword.operator.plus.exponent.hexadecimal.cpp" 7812 }, 7813 "9": { 7814 "name": "keyword.operator.minus.exponent.hexadecimal.cpp" 7815 }, 7816 "10": { 7817 "name": "constant.numeric.exponent.hexadecimal.cpp", 7818 "patterns": [ 7819 { 7820 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 7821 "name": "punctuation.separator.constant.numeric.cpp" 7822 } 7823 ] 7824 }, 7825 "11": { 7826 "name": "keyword.other.unit.suffix.floating-point.cpp" 7827 }, 7828 "12": { 7829 "name": "keyword.other.unit.user-defined.cpp" 7830 } 7831 } 7832 }, 7833 { 7834 "match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)", 7835 "captures": { 7836 "1": { 7837 "name": "constant.numeric.decimal.cpp", 7838 "patterns": [ 7839 { 7840 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 7841 "name": "punctuation.separator.constant.numeric.cpp" 7842 } 7843 ] 7844 }, 7845 "2": { 7846 "name": "punctuation.separator.constant.numeric.cpp" 7847 }, 7848 "3": { 7849 "name": "constant.numeric.decimal.point.cpp" 7850 }, 7851 "4": { 7852 "name": "constant.numeric.decimal.cpp", 7853 "patterns": [ 7854 { 7855 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 7856 "name": "punctuation.separator.constant.numeric.cpp" 7857 } 7858 ] 7859 }, 7860 "5": { 7861 "name": "punctuation.separator.constant.numeric.cpp" 7862 }, 7863 "6": { 7864 "name": "keyword.other.unit.exponent.decimal.cpp" 7865 }, 7866 "7": { 7867 "name": "keyword.operator.plus.exponent.decimal.cpp" 7868 }, 7869 "8": { 7870 "name": "keyword.operator.minus.exponent.decimal.cpp" 7871 }, 7872 "9": { 7873 "name": "constant.numeric.exponent.decimal.cpp", 7874 "patterns": [ 7875 { 7876 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 7877 "name": "punctuation.separator.constant.numeric.cpp" 7878 } 7879 ] 7880 }, 7881 "10": { 7882 "name": "keyword.other.unit.suffix.floating-point.cpp" 7883 }, 7884 "11": { 7885 "name": "keyword.other.unit.user-defined.cpp" 7886 } 7887 } 7888 }, 7889 { 7890 "match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)", 7891 "captures": { 7892 "1": { 7893 "name": "keyword.other.unit.binary.cpp" 7894 }, 7895 "2": { 7896 "name": "constant.numeric.binary.cpp", 7897 "patterns": [ 7898 { 7899 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 7900 "name": "punctuation.separator.constant.numeric.cpp" 7901 } 7902 ] 7903 }, 7904 "3": { 7905 "name": "punctuation.separator.constant.numeric.cpp" 7906 }, 7907 "4": { 7908 "name": "keyword.other.unit.suffix.integer.cpp" 7909 }, 7910 "5": { 7911 "name": "keyword.other.unit.user-defined.cpp" 7912 } 7913 } 7914 }, 7915 { 7916 "match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)", 7917 "captures": { 7918 "1": { 7919 "name": "keyword.other.unit.octal.cpp" 7920 }, 7921 "2": { 7922 "name": "constant.numeric.octal.cpp", 7923 "patterns": [ 7924 { 7925 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 7926 "name": "punctuation.separator.constant.numeric.cpp" 7927 } 7928 ] 7929 }, 7930 "3": { 7931 "name": "punctuation.separator.constant.numeric.cpp" 7932 }, 7933 "4": { 7934 "name": "keyword.other.unit.suffix.integer.cpp" 7935 }, 7936 "5": { 7937 "name": "keyword.other.unit.user-defined.cpp" 7938 } 7939 } 7940 }, 7941 { 7942 "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)", 7943 "captures": { 7944 "1": { 7945 "name": "keyword.other.unit.hexadecimal.cpp" 7946 }, 7947 "2": { 7948 "name": "constant.numeric.hexadecimal.cpp", 7949 "patterns": [ 7950 { 7951 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 7952 "name": "punctuation.separator.constant.numeric.cpp" 7953 } 7954 ] 7955 }, 7956 "3": { 7957 "name": "punctuation.separator.constant.numeric.cpp" 7958 }, 7959 "4": { 7960 "name": "keyword.other.unit.exponent.hexadecimal.cpp" 7961 }, 7962 "5": { 7963 "name": "keyword.operator.plus.exponent.hexadecimal.cpp" 7964 }, 7965 "6": { 7966 "name": "keyword.operator.minus.exponent.hexadecimal.cpp" 7967 }, 7968 "7": { 7969 "name": "constant.numeric.exponent.hexadecimal.cpp", 7970 "patterns": [ 7971 { 7972 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 7973 "name": "punctuation.separator.constant.numeric.cpp" 7974 } 7975 ] 7976 }, 7977 "8": { 7978 "name": "keyword.other.unit.suffix.integer.cpp" 7979 }, 7980 "9": { 7981 "name": "keyword.other.unit.user-defined.cpp" 7982 } 7983 } 7984 }, 7985 { 7986 "match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)", 7987 "captures": { 7988 "1": { 7989 "name": "constant.numeric.decimal.cpp", 7990 "patterns": [ 7991 { 7992 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 7993 "name": "punctuation.separator.constant.numeric.cpp" 7994 } 7995 ] 7996 }, 7997 "2": { 7998 "name": "punctuation.separator.constant.numeric.cpp" 7999 }, 8000 "3": { 8001 "name": "keyword.other.unit.exponent.decimal.cpp" 8002 }, 8003 "4": { 8004 "name": "keyword.operator.plus.exponent.decimal.cpp" 8005 }, 8006 "5": { 8007 "name": "keyword.operator.minus.exponent.decimal.cpp" 8008 }, 8009 "6": { 8010 "name": "constant.numeric.exponent.decimal.cpp", 8011 "patterns": [ 8012 { 8013 "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", 8014 "name": "punctuation.separator.constant.numeric.cpp" 8015 } 8016 ] 8017 }, 8018 "7": { 8019 "name": "keyword.other.unit.suffix.integer.cpp" 8020 }, 8021 "8": { 8022 "name": "keyword.other.unit.user-defined.cpp" 8023 } 8024 } 8025 }, 8026 { 8027 "match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+", 8028 "name": "invalid.illegal.constant.numeric.cpp" 8029 } 8030 ] 8031 } 8032 ] 8033 } 8034 } 8035 }, 8036 "operator_overload": { 8037 "begin": "(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?: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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\<|\\()", 8038 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", 8039 "beginCaptures": { 8040 "0": { 8041 "name": "meta.head.function.definition.special.operator-overload.cpp" 8042 }, 8043 "1": { 8044 "name": "meta.qualified_type.cpp", 8045 "patterns": [ 8046 { 8047 "match": "::", 8048 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 8049 }, 8050 { 8051 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 8052 "name": "storage.type.$0.cpp" 8053 }, 8054 { 8055 "include": "#attributes_context" 8056 }, 8057 { 8058 "include": "#storage_types" 8059 }, 8060 { 8061 "include": "#number_literal" 8062 }, 8063 { 8064 "include": "#string_context" 8065 }, 8066 { 8067 "include": "#comma" 8068 }, 8069 { 8070 "include": "#scope_resolution_inner_generated" 8071 }, 8072 { 8073 "begin": "<", 8074 "end": ">", 8075 "beginCaptures": { 8076 "0": { 8077 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 8078 } 8079 }, 8080 "endCaptures": { 8081 "0": { 8082 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 8083 } 8084 }, 8085 "name": "meta.template.call.cpp", 8086 "patterns": [ 8087 { 8088 "include": "#template_call_context" 8089 } 8090 ] 8091 }, 8092 { 8093 "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}))*", 8094 "name": "entity.name.type.cpp" 8095 } 8096 ] 8097 }, 8098 "2": { 8099 "patterns": [ 8100 { 8101 "include": "#attributes_context" 8102 }, 8103 { 8104 "include": "#number_literal" 8105 } 8106 ] 8107 }, 8108 "3": { 8109 "patterns": [ 8110 { 8111 "include": "#inline_comment" 8112 } 8113 ] 8114 }, 8115 "4": { 8116 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8117 }, 8118 "5": { 8119 "name": "comment.block.cpp" 8120 }, 8121 "6": { 8122 "patterns": [ 8123 { 8124 "match": "\\*\\/", 8125 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8126 }, 8127 { 8128 "match": "\\*", 8129 "name": "comment.block.cpp" 8130 } 8131 ] 8132 }, 8133 "7": { 8134 "patterns": [ 8135 { 8136 "include": "#inline_comment" 8137 } 8138 ] 8139 }, 8140 "8": { 8141 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8142 }, 8143 "9": { 8144 "name": "comment.block.cpp" 8145 }, 8146 "10": { 8147 "patterns": [ 8148 { 8149 "match": "\\*\\/", 8150 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8151 }, 8152 { 8153 "match": "\\*", 8154 "name": "comment.block.cpp" 8155 } 8156 ] 8157 }, 8158 "11": { 8159 "patterns": [ 8160 { 8161 "match": "::", 8162 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 8163 }, 8164 { 8165 "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)", 8166 "name": "entity.name.scope-resolution.type.cpp" 8167 }, 8168 { 8169 "include": "#template_call_range" 8170 } 8171 ] 8172 }, 8173 "12": { 8174 "patterns": [ 8175 { 8176 "include": "#template_call_range" 8177 } 8178 ] 8179 }, 8180 "13": {}, 8181 "14": { 8182 "patterns": [ 8183 { 8184 "include": "#inline_comment" 8185 } 8186 ] 8187 }, 8188 "15": { 8189 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8190 }, 8191 "16": { 8192 "name": "comment.block.cpp" 8193 }, 8194 "17": { 8195 "patterns": [ 8196 { 8197 "match": "\\*\\/", 8198 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8199 }, 8200 { 8201 "match": "\\*", 8202 "name": "comment.block.cpp" 8203 } 8204 ] 8205 }, 8206 "18": {}, 8207 "19": { 8208 "patterns": [ 8209 { 8210 "match": "\\*", 8211 "name": "storage.modifier.pointer.cpp" 8212 }, 8213 { 8214 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 8215 "captures": { 8216 "1": { 8217 "patterns": [ 8218 { 8219 "include": "#inline_comment" 8220 } 8221 ] 8222 }, 8223 "2": { 8224 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8225 }, 8226 "3": { 8227 "name": "comment.block.cpp" 8228 }, 8229 "4": { 8230 "patterns": [ 8231 { 8232 "match": "\\*\\/", 8233 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8234 }, 8235 { 8236 "match": "\\*", 8237 "name": "comment.block.cpp" 8238 } 8239 ] 8240 } 8241 }, 8242 "name": "invalid.illegal.reference-type.cpp" 8243 }, 8244 { 8245 "match": "\\&", 8246 "name": "storage.modifier.reference.cpp" 8247 } 8248 ] 8249 }, 8250 "20": { 8251 "patterns": [ 8252 { 8253 "include": "#inline_comment" 8254 } 8255 ] 8256 }, 8257 "21": { 8258 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8259 }, 8260 "22": { 8261 "name": "comment.block.cpp" 8262 }, 8263 "23": { 8264 "patterns": [ 8265 { 8266 "match": "\\*\\/", 8267 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8268 }, 8269 { 8270 "match": "\\*", 8271 "name": "comment.block.cpp" 8272 } 8273 ] 8274 }, 8275 "24": { 8276 "patterns": [ 8277 { 8278 "include": "#inline_comment" 8279 } 8280 ] 8281 }, 8282 "25": { 8283 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8284 }, 8285 "26": { 8286 "name": "comment.block.cpp" 8287 }, 8288 "27": { 8289 "patterns": [ 8290 { 8291 "match": "\\*\\/", 8292 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8293 }, 8294 { 8295 "match": "\\*", 8296 "name": "comment.block.cpp" 8297 } 8298 ] 8299 }, 8300 "28": { 8301 "patterns": [ 8302 { 8303 "include": "#inline_comment" 8304 } 8305 ] 8306 }, 8307 "29": { 8308 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8309 }, 8310 "30": { 8311 "name": "comment.block.cpp" 8312 }, 8313 "31": { 8314 "patterns": [ 8315 { 8316 "match": "\\*\\/", 8317 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8318 }, 8319 { 8320 "match": "\\*", 8321 "name": "comment.block.cpp" 8322 } 8323 ] 8324 }, 8325 "32": { 8326 "patterns": [ 8327 { 8328 "include": "#inline_comment" 8329 } 8330 ] 8331 }, 8332 "33": { 8333 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8334 }, 8335 "34": { 8336 "name": "comment.block.cpp" 8337 }, 8338 "35": { 8339 "patterns": [ 8340 { 8341 "match": "\\*\\/", 8342 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8343 }, 8344 { 8345 "match": "\\*", 8346 "name": "comment.block.cpp" 8347 } 8348 ] 8349 }, 8350 "36": { 8351 "name": "storage.type.modifier.calling-convention.cpp" 8352 }, 8353 "37": { 8354 "patterns": [ 8355 { 8356 "include": "#inline_comment" 8357 } 8358 ] 8359 }, 8360 "38": { 8361 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8362 }, 8363 "39": { 8364 "name": "comment.block.cpp" 8365 }, 8366 "40": { 8367 "patterns": [ 8368 { 8369 "match": "\\*\\/", 8370 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8371 }, 8372 { 8373 "match": "\\*", 8374 "name": "comment.block.cpp" 8375 } 8376 ] 8377 }, 8378 "41": { 8379 "patterns": [ 8380 { 8381 "include": "#inline_comment" 8382 } 8383 ] 8384 }, 8385 "42": { 8386 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8387 }, 8388 "43": { 8389 "name": "comment.block.cpp" 8390 }, 8391 "44": { 8392 "patterns": [ 8393 { 8394 "match": "\\*\\/", 8395 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8396 }, 8397 { 8398 "match": "\\*", 8399 "name": "comment.block.cpp" 8400 } 8401 ] 8402 }, 8403 "45": { 8404 "patterns": [ 8405 { 8406 "match": "::", 8407 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp" 8408 }, 8409 { 8410 "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)", 8411 "name": "entity.name.scope-resolution.operator.cpp" 8412 }, 8413 { 8414 "include": "#template_call_range" 8415 } 8416 ] 8417 }, 8418 "46": { 8419 "patterns": [ 8420 { 8421 "include": "#template_call_range" 8422 } 8423 ] 8424 }, 8425 "47": {}, 8426 "48": { 8427 "name": "keyword.other.operator.overload.cpp" 8428 }, 8429 "49": { 8430 "patterns": [ 8431 { 8432 "include": "#inline_comment" 8433 } 8434 ] 8435 }, 8436 "50": { 8437 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8438 }, 8439 "51": { 8440 "name": "comment.block.cpp" 8441 }, 8442 "52": { 8443 "patterns": [ 8444 { 8445 "match": "\\*\\/", 8446 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8447 }, 8448 { 8449 "match": "\\*", 8450 "name": "comment.block.cpp" 8451 } 8452 ] 8453 }, 8454 "53": { 8455 "patterns": [ 8456 { 8457 "match": "::", 8458 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp" 8459 }, 8460 { 8461 "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)", 8462 "name": "entity.name.scope-resolution.operator-overload.cpp" 8463 }, 8464 { 8465 "include": "#template_call_range" 8466 } 8467 ] 8468 }, 8469 "54": { 8470 "patterns": [ 8471 { 8472 "include": "#template_call_range" 8473 } 8474 ] 8475 }, 8476 "55": {}, 8477 "56": { 8478 "name": "entity.name.operator.cpp" 8479 }, 8480 "57": { 8481 "name": "entity.name.operator.type.cpp" 8482 }, 8483 "58": { 8484 "patterns": [ 8485 { 8486 "match": "\\*", 8487 "name": "entity.name.operator.type.pointer.cpp" 8488 }, 8489 { 8490 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 8491 "captures": { 8492 "1": { 8493 "patterns": [ 8494 { 8495 "include": "#inline_comment" 8496 } 8497 ] 8498 }, 8499 "2": { 8500 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8501 }, 8502 "3": { 8503 "name": "comment.block.cpp" 8504 }, 8505 "4": { 8506 "patterns": [ 8507 { 8508 "match": "\\*\\/", 8509 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8510 }, 8511 { 8512 "match": "\\*", 8513 "name": "comment.block.cpp" 8514 } 8515 ] 8516 } 8517 }, 8518 "name": "invalid.illegal.reference-type.cpp" 8519 }, 8520 { 8521 "match": "\\&", 8522 "name": "entity.name.operator.type.reference.cpp" 8523 } 8524 ] 8525 }, 8526 "59": { 8527 "patterns": [ 8528 { 8529 "include": "#inline_comment" 8530 } 8531 ] 8532 }, 8533 "60": { 8534 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8535 }, 8536 "61": { 8537 "name": "comment.block.cpp" 8538 }, 8539 "62": { 8540 "patterns": [ 8541 { 8542 "match": "\\*\\/", 8543 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8544 }, 8545 { 8546 "match": "\\*", 8547 "name": "comment.block.cpp" 8548 } 8549 ] 8550 }, 8551 "63": { 8552 "patterns": [ 8553 { 8554 "include": "#inline_comment" 8555 } 8556 ] 8557 }, 8558 "64": { 8559 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8560 }, 8561 "65": { 8562 "name": "comment.block.cpp" 8563 }, 8564 "66": { 8565 "patterns": [ 8566 { 8567 "match": "\\*\\/", 8568 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8569 }, 8570 { 8571 "match": "\\*", 8572 "name": "comment.block.cpp" 8573 } 8574 ] 8575 }, 8576 "67": { 8577 "patterns": [ 8578 { 8579 "include": "#inline_comment" 8580 } 8581 ] 8582 }, 8583 "68": { 8584 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8585 }, 8586 "69": { 8587 "name": "comment.block.cpp" 8588 }, 8589 "70": { 8590 "patterns": [ 8591 { 8592 "match": "\\*\\/", 8593 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8594 }, 8595 { 8596 "match": "\\*", 8597 "name": "comment.block.cpp" 8598 } 8599 ] 8600 }, 8601 "71": { 8602 "name": "entity.name.operator.type.array.cpp" 8603 }, 8604 "72": { 8605 "name": "entity.name.operator.custom-literal.cpp" 8606 }, 8607 "73": { 8608 "patterns": [ 8609 { 8610 "include": "#inline_comment" 8611 } 8612 ] 8613 }, 8614 "74": { 8615 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8616 }, 8617 "75": { 8618 "name": "comment.block.cpp" 8619 }, 8620 "76": { 8621 "patterns": [ 8622 { 8623 "match": "\\*\\/", 8624 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8625 }, 8626 { 8627 "match": "\\*", 8628 "name": "comment.block.cpp" 8629 } 8630 ] 8631 }, 8632 "77": { 8633 "name": "entity.name.operator.custom-literal.cpp" 8634 }, 8635 "78": { 8636 "patterns": [ 8637 { 8638 "include": "#inline_comment" 8639 } 8640 ] 8641 }, 8642 "79": { 8643 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8644 }, 8645 "80": { 8646 "name": "comment.block.cpp" 8647 }, 8648 "81": { 8649 "patterns": [ 8650 { 8651 "match": "\\*\\/", 8652 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8653 }, 8654 { 8655 "match": "\\*", 8656 "name": "comment.block.cpp" 8657 } 8658 ] 8659 } 8660 }, 8661 "endCaptures": {}, 8662 "name": "meta.function.definition.special.operator-overload.cpp", 8663 "patterns": [ 8664 { 8665 "begin": "\\G ?", 8666 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 8667 "beginCaptures": {}, 8668 "endCaptures": { 8669 "0": { 8670 "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp" 8671 } 8672 }, 8673 "name": "meta.head.function.definition.special.operator-overload.cpp", 8674 "patterns": [ 8675 { 8676 "include": "#ever_present_context" 8677 }, 8678 { 8679 "include": "#template_call_range" 8680 }, 8681 { 8682 "begin": "\\(", 8683 "end": "\\)", 8684 "beginCaptures": { 8685 "0": { 8686 "name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp" 8687 } 8688 }, 8689 "endCaptures": { 8690 "0": { 8691 "name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp" 8692 } 8693 }, 8694 "contentName": "meta.function.definition.parameters.special.operator-overload", 8695 "patterns": [ 8696 { 8697 "include": "#function_parameter_context" 8698 }, 8699 { 8700 "include": "#evaluation_context" 8701 } 8702 ] 8703 }, 8704 { 8705 "include": "#qualifiers_and_specifiers_post_parameters" 8706 }, 8707 { 8708 "include": "$self" 8709 } 8710 ] 8711 }, 8712 { 8713 "begin": "(?<=\\{|<%|\\?\\?<)", 8714 "end": "\\}|%>|\\?\\?>", 8715 "beginCaptures": {}, 8716 "endCaptures": { 8717 "0": { 8718 "name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp" 8719 } 8720 }, 8721 "name": "meta.body.function.definition.special.operator-overload.cpp", 8722 "patterns": [ 8723 { 8724 "include": "#function_body_context" 8725 } 8726 ] 8727 }, 8728 { 8729 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 8730 "end": "[\\s]*(?=;)", 8731 "beginCaptures": {}, 8732 "endCaptures": {}, 8733 "name": "meta.tail.function.definition.special.operator-overload.cpp", 8734 "patterns": [ 8735 { 8736 "include": "$self" 8737 } 8738 ] 8739 } 8740 ] 8741 }, 8742 "operators": { 8743 "patterns": [ 8744 { 8745 "begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 8746 "end": "\\)", 8747 "beginCaptures": { 8748 "1": { 8749 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp" 8750 }, 8751 "2": { 8752 "patterns": [ 8753 { 8754 "include": "#inline_comment" 8755 } 8756 ] 8757 }, 8758 "3": { 8759 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8760 }, 8761 "4": { 8762 "name": "comment.block.cpp" 8763 }, 8764 "5": { 8765 "patterns": [ 8766 { 8767 "match": "\\*\\/", 8768 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8769 }, 8770 { 8771 "match": "\\*", 8772 "name": "comment.block.cpp" 8773 } 8774 ] 8775 }, 8776 "6": { 8777 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp" 8778 } 8779 }, 8780 "endCaptures": { 8781 "0": { 8782 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" 8783 } 8784 }, 8785 "contentName": "meta.arguments.operator.sizeof", 8786 "patterns": [ 8787 { 8788 "include": "#evaluation_context" 8789 } 8790 ] 8791 }, 8792 { 8793 "begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 8794 "end": "\\)", 8795 "beginCaptures": { 8796 "1": { 8797 "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp" 8798 }, 8799 "2": { 8800 "patterns": [ 8801 { 8802 "include": "#inline_comment" 8803 } 8804 ] 8805 }, 8806 "3": { 8807 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8808 }, 8809 "4": { 8810 "name": "comment.block.cpp" 8811 }, 8812 "5": { 8813 "patterns": [ 8814 { 8815 "match": "\\*\\/", 8816 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8817 }, 8818 { 8819 "match": "\\*", 8820 "name": "comment.block.cpp" 8821 } 8822 ] 8823 }, 8824 "6": { 8825 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp" 8826 } 8827 }, 8828 "endCaptures": { 8829 "0": { 8830 "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp" 8831 } 8832 }, 8833 "contentName": "meta.arguments.operator.alignof", 8834 "patterns": [ 8835 { 8836 "include": "#evaluation_context" 8837 } 8838 ] 8839 }, 8840 { 8841 "begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 8842 "end": "\\)", 8843 "beginCaptures": { 8844 "1": { 8845 "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp" 8846 }, 8847 "2": { 8848 "patterns": [ 8849 { 8850 "include": "#inline_comment" 8851 } 8852 ] 8853 }, 8854 "3": { 8855 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8856 }, 8857 "4": { 8858 "name": "comment.block.cpp" 8859 }, 8860 "5": { 8861 "patterns": [ 8862 { 8863 "match": "\\*\\/", 8864 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8865 }, 8866 { 8867 "match": "\\*", 8868 "name": "comment.block.cpp" 8869 } 8870 ] 8871 }, 8872 "6": { 8873 "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp" 8874 } 8875 }, 8876 "endCaptures": { 8877 "0": { 8878 "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" 8879 } 8880 }, 8881 "contentName": "meta.arguments.operator.alignas", 8882 "patterns": [ 8883 { 8884 "include": "#evaluation_context" 8885 } 8886 ] 8887 }, 8888 { 8889 "begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 8890 "end": "\\)", 8891 "beginCaptures": { 8892 "1": { 8893 "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp" 8894 }, 8895 "2": { 8896 "patterns": [ 8897 { 8898 "include": "#inline_comment" 8899 } 8900 ] 8901 }, 8902 "3": { 8903 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8904 }, 8905 "4": { 8906 "name": "comment.block.cpp" 8907 }, 8908 "5": { 8909 "patterns": [ 8910 { 8911 "match": "\\*\\/", 8912 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8913 }, 8914 { 8915 "match": "\\*", 8916 "name": "comment.block.cpp" 8917 } 8918 ] 8919 }, 8920 "6": { 8921 "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp" 8922 } 8923 }, 8924 "endCaptures": { 8925 "0": { 8926 "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" 8927 } 8928 }, 8929 "contentName": "meta.arguments.operator.typeid", 8930 "patterns": [ 8931 { 8932 "include": "#evaluation_context" 8933 } 8934 ] 8935 }, 8936 { 8937 "begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 8938 "end": "\\)", 8939 "beginCaptures": { 8940 "1": { 8941 "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp" 8942 }, 8943 "2": { 8944 "patterns": [ 8945 { 8946 "include": "#inline_comment" 8947 } 8948 ] 8949 }, 8950 "3": { 8951 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 8952 }, 8953 "4": { 8954 "name": "comment.block.cpp" 8955 }, 8956 "5": { 8957 "patterns": [ 8958 { 8959 "match": "\\*\\/", 8960 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 8961 }, 8962 { 8963 "match": "\\*", 8964 "name": "comment.block.cpp" 8965 } 8966 ] 8967 }, 8968 "6": { 8969 "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp" 8970 } 8971 }, 8972 "endCaptures": { 8973 "0": { 8974 "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" 8975 } 8976 }, 8977 "contentName": "meta.arguments.operator.noexcept", 8978 "patterns": [ 8979 { 8980 "include": "#evaluation_context" 8981 } 8982 ] 8983 }, 8984 { 8985 "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 8986 "end": "\\)", 8987 "beginCaptures": { 8988 "1": { 8989 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" 8990 }, 8991 "2": { 8992 "patterns": [ 8993 { 8994 "include": "#inline_comment" 8995 } 8996 ] 8997 }, 8998 "3": { 8999 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9000 }, 9001 "4": { 9002 "name": "comment.block.cpp" 9003 }, 9004 "5": { 9005 "patterns": [ 9006 { 9007 "match": "\\*\\/", 9008 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9009 }, 9010 { 9011 "match": "\\*", 9012 "name": "comment.block.cpp" 9013 } 9014 ] 9015 }, 9016 "6": { 9017 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" 9018 } 9019 }, 9020 "endCaptures": { 9021 "0": { 9022 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" 9023 } 9024 }, 9025 "contentName": "meta.arguments.operator.sizeof.variadic", 9026 "patterns": [ 9027 { 9028 "include": "#evaluation_context" 9029 } 9030 ] 9031 }, 9032 { 9033 "match": "--", 9034 "name": "keyword.operator.decrement.cpp" 9035 }, 9036 { 9037 "match": "\\+\\+", 9038 "name": "keyword.operator.increment.cpp" 9039 }, 9040 { 9041 "match": "%=|\\+=|-=|\\*=|(?<!\\()\\/=", 9042 "name": "keyword.operator.assignment.compound.cpp" 9043 }, 9044 { 9045 "match": "&=|\\^=|<<=|>>=|\\|=", 9046 "name": "keyword.operator.assignment.compound.bitwise.cpp" 9047 }, 9048 { 9049 "match": "<<|>>", 9050 "name": "keyword.operator.bitwise.shift.cpp" 9051 }, 9052 { 9053 "match": "!=|<=|>=|==|<|>", 9054 "name": "keyword.operator.comparison.cpp" 9055 }, 9056 { 9057 "match": "&&|!|\\|\\|", 9058 "name": "keyword.operator.logical.cpp" 9059 }, 9060 { 9061 "match": "&|\\||\\^|~", 9062 "name": "keyword.operator.cpp" 9063 }, 9064 { 9065 "include": "#assignment_operator" 9066 }, 9067 { 9068 "match": "%|\\*|\\/|-|\\+", 9069 "name": "keyword.operator.cpp" 9070 }, 9071 { 9072 "include": "#ternary_operator" 9073 } 9074 ] 9075 }, 9076 "over_qualified_types": { 9077 "patterns": [ 9078 { 9079 "match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", 9080 "captures": { 9081 "1": { 9082 "name": "storage.type.struct.parameter.cpp" 9083 }, 9084 "2": { 9085 "patterns": [ 9086 { 9087 "include": "#inline_comment" 9088 } 9089 ] 9090 }, 9091 "3": { 9092 "patterns": [ 9093 { 9094 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9095 "captures": { 9096 "1": { 9097 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9098 }, 9099 "2": { 9100 "name": "comment.block.cpp" 9101 }, 9102 "3": { 9103 "patterns": [ 9104 { 9105 "match": "\\*\\/", 9106 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9107 }, 9108 { 9109 "match": "\\*", 9110 "name": "comment.block.cpp" 9111 } 9112 ] 9113 } 9114 } 9115 } 9116 ] 9117 }, 9118 "4": { 9119 "name": "entity.name.type.struct.parameter.cpp" 9120 }, 9121 "5": { 9122 "patterns": [ 9123 { 9124 "include": "#inline_comment" 9125 } 9126 ] 9127 }, 9128 "6": { 9129 "patterns": [ 9130 { 9131 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9132 "captures": { 9133 "1": { 9134 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9135 }, 9136 "2": { 9137 "name": "comment.block.cpp" 9138 }, 9139 "3": { 9140 "patterns": [ 9141 { 9142 "match": "\\*\\/", 9143 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9144 }, 9145 { 9146 "match": "\\*", 9147 "name": "comment.block.cpp" 9148 } 9149 ] 9150 } 9151 } 9152 } 9153 ] 9154 }, 9155 "7": { 9156 "patterns": [ 9157 { 9158 "match": "\\*", 9159 "name": "storage.modifier.pointer.cpp" 9160 }, 9161 { 9162 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 9163 "captures": { 9164 "1": { 9165 "patterns": [ 9166 { 9167 "include": "#inline_comment" 9168 } 9169 ] 9170 }, 9171 "2": { 9172 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9173 }, 9174 "3": { 9175 "name": "comment.block.cpp" 9176 }, 9177 "4": { 9178 "patterns": [ 9179 { 9180 "match": "\\*\\/", 9181 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9182 }, 9183 { 9184 "match": "\\*", 9185 "name": "comment.block.cpp" 9186 } 9187 ] 9188 } 9189 }, 9190 "name": "invalid.illegal.reference-type.cpp" 9191 }, 9192 { 9193 "match": "\\&", 9194 "name": "storage.modifier.reference.cpp" 9195 } 9196 ] 9197 }, 9198 "8": { 9199 "patterns": [ 9200 { 9201 "include": "#inline_comment" 9202 } 9203 ] 9204 }, 9205 "9": { 9206 "patterns": [ 9207 { 9208 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9209 "captures": { 9210 "1": { 9211 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9212 }, 9213 "2": { 9214 "name": "comment.block.cpp" 9215 }, 9216 "3": { 9217 "patterns": [ 9218 { 9219 "match": "\\*\\/", 9220 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9221 }, 9222 { 9223 "match": "\\*", 9224 "name": "comment.block.cpp" 9225 } 9226 ] 9227 } 9228 } 9229 } 9230 ] 9231 }, 9232 "10": { 9233 "patterns": [ 9234 { 9235 "include": "#inline_comment" 9236 } 9237 ] 9238 }, 9239 "11": { 9240 "patterns": [ 9241 { 9242 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9243 "captures": { 9244 "1": { 9245 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9246 }, 9247 "2": { 9248 "name": "comment.block.cpp" 9249 }, 9250 "3": { 9251 "patterns": [ 9252 { 9253 "match": "\\*\\/", 9254 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9255 }, 9256 { 9257 "match": "\\*", 9258 "name": "comment.block.cpp" 9259 } 9260 ] 9261 } 9262 } 9263 } 9264 ] 9265 }, 9266 "12": { 9267 "patterns": [ 9268 { 9269 "include": "#inline_comment" 9270 } 9271 ] 9272 }, 9273 "13": { 9274 "patterns": [ 9275 { 9276 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9277 "captures": { 9278 "1": { 9279 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9280 }, 9281 "2": { 9282 "name": "comment.block.cpp" 9283 }, 9284 "3": { 9285 "patterns": [ 9286 { 9287 "match": "\\*\\/", 9288 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9289 }, 9290 { 9291 "match": "\\*", 9292 "name": "comment.block.cpp" 9293 } 9294 ] 9295 } 9296 } 9297 } 9298 ] 9299 }, 9300 "14": { 9301 "name": "variable.other.object.declare.cpp" 9302 }, 9303 "15": { 9304 "patterns": [ 9305 { 9306 "include": "#inline_comment" 9307 } 9308 ] 9309 }, 9310 "16": { 9311 "patterns": [ 9312 { 9313 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9314 "captures": { 9315 "1": { 9316 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9317 }, 9318 "2": { 9319 "name": "comment.block.cpp" 9320 }, 9321 "3": { 9322 "patterns": [ 9323 { 9324 "match": "\\*\\/", 9325 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9326 }, 9327 { 9328 "match": "\\*", 9329 "name": "comment.block.cpp" 9330 } 9331 ] 9332 } 9333 } 9334 } 9335 ] 9336 }, 9337 "17": { 9338 "patterns": [ 9339 { 9340 "include": "#inline_comment" 9341 } 9342 ] 9343 }, 9344 "18": { 9345 "patterns": [ 9346 { 9347 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9348 "captures": { 9349 "1": { 9350 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9351 }, 9352 "2": { 9353 "name": "comment.block.cpp" 9354 }, 9355 "3": { 9356 "patterns": [ 9357 { 9358 "match": "\\*\\/", 9359 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9360 }, 9361 { 9362 "match": "\\*", 9363 "name": "comment.block.cpp" 9364 } 9365 ] 9366 } 9367 } 9368 } 9369 ] 9370 }, 9371 "19": { 9372 "patterns": [ 9373 { 9374 "include": "#inline_comment" 9375 } 9376 ] 9377 }, 9378 "20": { 9379 "patterns": [ 9380 { 9381 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9382 "captures": { 9383 "1": { 9384 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9385 }, 9386 "2": { 9387 "name": "comment.block.cpp" 9388 }, 9389 "3": { 9390 "patterns": [ 9391 { 9392 "match": "\\*\\/", 9393 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9394 }, 9395 { 9396 "match": "\\*", 9397 "name": "comment.block.cpp" 9398 } 9399 ] 9400 } 9401 } 9402 } 9403 ] 9404 } 9405 } 9406 }, 9407 { 9408 "match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", 9409 "captures": { 9410 "1": { 9411 "name": "storage.type.enum.parameter.cpp" 9412 }, 9413 "2": { 9414 "patterns": [ 9415 { 9416 "include": "#inline_comment" 9417 } 9418 ] 9419 }, 9420 "3": { 9421 "patterns": [ 9422 { 9423 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9424 "captures": { 9425 "1": { 9426 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9427 }, 9428 "2": { 9429 "name": "comment.block.cpp" 9430 }, 9431 "3": { 9432 "patterns": [ 9433 { 9434 "match": "\\*\\/", 9435 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9436 }, 9437 { 9438 "match": "\\*", 9439 "name": "comment.block.cpp" 9440 } 9441 ] 9442 } 9443 } 9444 } 9445 ] 9446 }, 9447 "4": { 9448 "name": "entity.name.type.enum.parameter.cpp" 9449 }, 9450 "5": { 9451 "patterns": [ 9452 { 9453 "include": "#inline_comment" 9454 } 9455 ] 9456 }, 9457 "6": { 9458 "patterns": [ 9459 { 9460 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9461 "captures": { 9462 "1": { 9463 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9464 }, 9465 "2": { 9466 "name": "comment.block.cpp" 9467 }, 9468 "3": { 9469 "patterns": [ 9470 { 9471 "match": "\\*\\/", 9472 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9473 }, 9474 { 9475 "match": "\\*", 9476 "name": "comment.block.cpp" 9477 } 9478 ] 9479 } 9480 } 9481 } 9482 ] 9483 }, 9484 "7": { 9485 "patterns": [ 9486 { 9487 "match": "\\*", 9488 "name": "storage.modifier.pointer.cpp" 9489 }, 9490 { 9491 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 9492 "captures": { 9493 "1": { 9494 "patterns": [ 9495 { 9496 "include": "#inline_comment" 9497 } 9498 ] 9499 }, 9500 "2": { 9501 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9502 }, 9503 "3": { 9504 "name": "comment.block.cpp" 9505 }, 9506 "4": { 9507 "patterns": [ 9508 { 9509 "match": "\\*\\/", 9510 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9511 }, 9512 { 9513 "match": "\\*", 9514 "name": "comment.block.cpp" 9515 } 9516 ] 9517 } 9518 }, 9519 "name": "invalid.illegal.reference-type.cpp" 9520 }, 9521 { 9522 "match": "\\&", 9523 "name": "storage.modifier.reference.cpp" 9524 } 9525 ] 9526 }, 9527 "8": { 9528 "patterns": [ 9529 { 9530 "include": "#inline_comment" 9531 } 9532 ] 9533 }, 9534 "9": { 9535 "patterns": [ 9536 { 9537 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9538 "captures": { 9539 "1": { 9540 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9541 }, 9542 "2": { 9543 "name": "comment.block.cpp" 9544 }, 9545 "3": { 9546 "patterns": [ 9547 { 9548 "match": "\\*\\/", 9549 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9550 }, 9551 { 9552 "match": "\\*", 9553 "name": "comment.block.cpp" 9554 } 9555 ] 9556 } 9557 } 9558 } 9559 ] 9560 }, 9561 "10": { 9562 "patterns": [ 9563 { 9564 "include": "#inline_comment" 9565 } 9566 ] 9567 }, 9568 "11": { 9569 "patterns": [ 9570 { 9571 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9572 "captures": { 9573 "1": { 9574 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9575 }, 9576 "2": { 9577 "name": "comment.block.cpp" 9578 }, 9579 "3": { 9580 "patterns": [ 9581 { 9582 "match": "\\*\\/", 9583 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9584 }, 9585 { 9586 "match": "\\*", 9587 "name": "comment.block.cpp" 9588 } 9589 ] 9590 } 9591 } 9592 } 9593 ] 9594 }, 9595 "12": { 9596 "patterns": [ 9597 { 9598 "include": "#inline_comment" 9599 } 9600 ] 9601 }, 9602 "13": { 9603 "patterns": [ 9604 { 9605 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9606 "captures": { 9607 "1": { 9608 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9609 }, 9610 "2": { 9611 "name": "comment.block.cpp" 9612 }, 9613 "3": { 9614 "patterns": [ 9615 { 9616 "match": "\\*\\/", 9617 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9618 }, 9619 { 9620 "match": "\\*", 9621 "name": "comment.block.cpp" 9622 } 9623 ] 9624 } 9625 } 9626 } 9627 ] 9628 }, 9629 "14": { 9630 "name": "variable.other.object.declare.cpp" 9631 }, 9632 "15": { 9633 "patterns": [ 9634 { 9635 "include": "#inline_comment" 9636 } 9637 ] 9638 }, 9639 "16": { 9640 "patterns": [ 9641 { 9642 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9643 "captures": { 9644 "1": { 9645 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9646 }, 9647 "2": { 9648 "name": "comment.block.cpp" 9649 }, 9650 "3": { 9651 "patterns": [ 9652 { 9653 "match": "\\*\\/", 9654 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9655 }, 9656 { 9657 "match": "\\*", 9658 "name": "comment.block.cpp" 9659 } 9660 ] 9661 } 9662 } 9663 } 9664 ] 9665 }, 9666 "17": { 9667 "patterns": [ 9668 { 9669 "include": "#inline_comment" 9670 } 9671 ] 9672 }, 9673 "18": { 9674 "patterns": [ 9675 { 9676 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9677 "captures": { 9678 "1": { 9679 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9680 }, 9681 "2": { 9682 "name": "comment.block.cpp" 9683 }, 9684 "3": { 9685 "patterns": [ 9686 { 9687 "match": "\\*\\/", 9688 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9689 }, 9690 { 9691 "match": "\\*", 9692 "name": "comment.block.cpp" 9693 } 9694 ] 9695 } 9696 } 9697 } 9698 ] 9699 }, 9700 "19": { 9701 "patterns": [ 9702 { 9703 "include": "#inline_comment" 9704 } 9705 ] 9706 }, 9707 "20": { 9708 "patterns": [ 9709 { 9710 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9711 "captures": { 9712 "1": { 9713 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9714 }, 9715 "2": { 9716 "name": "comment.block.cpp" 9717 }, 9718 "3": { 9719 "patterns": [ 9720 { 9721 "match": "\\*\\/", 9722 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9723 }, 9724 { 9725 "match": "\\*", 9726 "name": "comment.block.cpp" 9727 } 9728 ] 9729 } 9730 } 9731 } 9732 ] 9733 } 9734 } 9735 }, 9736 { 9737 "match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", 9738 "captures": { 9739 "1": { 9740 "name": "storage.type.union.parameter.cpp" 9741 }, 9742 "2": { 9743 "patterns": [ 9744 { 9745 "include": "#inline_comment" 9746 } 9747 ] 9748 }, 9749 "3": { 9750 "patterns": [ 9751 { 9752 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9753 "captures": { 9754 "1": { 9755 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9756 }, 9757 "2": { 9758 "name": "comment.block.cpp" 9759 }, 9760 "3": { 9761 "patterns": [ 9762 { 9763 "match": "\\*\\/", 9764 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9765 }, 9766 { 9767 "match": "\\*", 9768 "name": "comment.block.cpp" 9769 } 9770 ] 9771 } 9772 } 9773 } 9774 ] 9775 }, 9776 "4": { 9777 "name": "entity.name.type.union.parameter.cpp" 9778 }, 9779 "5": { 9780 "patterns": [ 9781 { 9782 "include": "#inline_comment" 9783 } 9784 ] 9785 }, 9786 "6": { 9787 "patterns": [ 9788 { 9789 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9790 "captures": { 9791 "1": { 9792 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9793 }, 9794 "2": { 9795 "name": "comment.block.cpp" 9796 }, 9797 "3": { 9798 "patterns": [ 9799 { 9800 "match": "\\*\\/", 9801 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9802 }, 9803 { 9804 "match": "\\*", 9805 "name": "comment.block.cpp" 9806 } 9807 ] 9808 } 9809 } 9810 } 9811 ] 9812 }, 9813 "7": { 9814 "patterns": [ 9815 { 9816 "match": "\\*", 9817 "name": "storage.modifier.pointer.cpp" 9818 }, 9819 { 9820 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 9821 "captures": { 9822 "1": { 9823 "patterns": [ 9824 { 9825 "include": "#inline_comment" 9826 } 9827 ] 9828 }, 9829 "2": { 9830 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9831 }, 9832 "3": { 9833 "name": "comment.block.cpp" 9834 }, 9835 "4": { 9836 "patterns": [ 9837 { 9838 "match": "\\*\\/", 9839 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9840 }, 9841 { 9842 "match": "\\*", 9843 "name": "comment.block.cpp" 9844 } 9845 ] 9846 } 9847 }, 9848 "name": "invalid.illegal.reference-type.cpp" 9849 }, 9850 { 9851 "match": "\\&", 9852 "name": "storage.modifier.reference.cpp" 9853 } 9854 ] 9855 }, 9856 "8": { 9857 "patterns": [ 9858 { 9859 "include": "#inline_comment" 9860 } 9861 ] 9862 }, 9863 "9": { 9864 "patterns": [ 9865 { 9866 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9867 "captures": { 9868 "1": { 9869 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9870 }, 9871 "2": { 9872 "name": "comment.block.cpp" 9873 }, 9874 "3": { 9875 "patterns": [ 9876 { 9877 "match": "\\*\\/", 9878 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9879 }, 9880 { 9881 "match": "\\*", 9882 "name": "comment.block.cpp" 9883 } 9884 ] 9885 } 9886 } 9887 } 9888 ] 9889 }, 9890 "10": { 9891 "patterns": [ 9892 { 9893 "include": "#inline_comment" 9894 } 9895 ] 9896 }, 9897 "11": { 9898 "patterns": [ 9899 { 9900 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9901 "captures": { 9902 "1": { 9903 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9904 }, 9905 "2": { 9906 "name": "comment.block.cpp" 9907 }, 9908 "3": { 9909 "patterns": [ 9910 { 9911 "match": "\\*\\/", 9912 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9913 }, 9914 { 9915 "match": "\\*", 9916 "name": "comment.block.cpp" 9917 } 9918 ] 9919 } 9920 } 9921 } 9922 ] 9923 }, 9924 "12": { 9925 "patterns": [ 9926 { 9927 "include": "#inline_comment" 9928 } 9929 ] 9930 }, 9931 "13": { 9932 "patterns": [ 9933 { 9934 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9935 "captures": { 9936 "1": { 9937 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9938 }, 9939 "2": { 9940 "name": "comment.block.cpp" 9941 }, 9942 "3": { 9943 "patterns": [ 9944 { 9945 "match": "\\*\\/", 9946 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9947 }, 9948 { 9949 "match": "\\*", 9950 "name": "comment.block.cpp" 9951 } 9952 ] 9953 } 9954 } 9955 } 9956 ] 9957 }, 9958 "14": { 9959 "name": "variable.other.object.declare.cpp" 9960 }, 9961 "15": { 9962 "patterns": [ 9963 { 9964 "include": "#inline_comment" 9965 } 9966 ] 9967 }, 9968 "16": { 9969 "patterns": [ 9970 { 9971 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 9972 "captures": { 9973 "1": { 9974 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 9975 }, 9976 "2": { 9977 "name": "comment.block.cpp" 9978 }, 9979 "3": { 9980 "patterns": [ 9981 { 9982 "match": "\\*\\/", 9983 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 9984 }, 9985 { 9986 "match": "\\*", 9987 "name": "comment.block.cpp" 9988 } 9989 ] 9990 } 9991 } 9992 } 9993 ] 9994 }, 9995 "17": { 9996 "patterns": [ 9997 { 9998 "include": "#inline_comment" 9999 } 10000 ] 10001 }, 10002 "18": { 10003 "patterns": [ 10004 { 10005 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10006 "captures": { 10007 "1": { 10008 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10009 }, 10010 "2": { 10011 "name": "comment.block.cpp" 10012 }, 10013 "3": { 10014 "patterns": [ 10015 { 10016 "match": "\\*\\/", 10017 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10018 }, 10019 { 10020 "match": "\\*", 10021 "name": "comment.block.cpp" 10022 } 10023 ] 10024 } 10025 } 10026 } 10027 ] 10028 }, 10029 "19": { 10030 "patterns": [ 10031 { 10032 "include": "#inline_comment" 10033 } 10034 ] 10035 }, 10036 "20": { 10037 "patterns": [ 10038 { 10039 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10040 "captures": { 10041 "1": { 10042 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10043 }, 10044 "2": { 10045 "name": "comment.block.cpp" 10046 }, 10047 "3": { 10048 "patterns": [ 10049 { 10050 "match": "\\*\\/", 10051 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10052 }, 10053 { 10054 "match": "\\*", 10055 "name": "comment.block.cpp" 10056 } 10057 ] 10058 } 10059 } 10060 } 10061 ] 10062 } 10063 } 10064 }, 10065 { 10066 "match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", 10067 "captures": { 10068 "1": { 10069 "name": "storage.type.class.parameter.cpp" 10070 }, 10071 "2": { 10072 "patterns": [ 10073 { 10074 "include": "#inline_comment" 10075 } 10076 ] 10077 }, 10078 "3": { 10079 "patterns": [ 10080 { 10081 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10082 "captures": { 10083 "1": { 10084 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10085 }, 10086 "2": { 10087 "name": "comment.block.cpp" 10088 }, 10089 "3": { 10090 "patterns": [ 10091 { 10092 "match": "\\*\\/", 10093 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10094 }, 10095 { 10096 "match": "\\*", 10097 "name": "comment.block.cpp" 10098 } 10099 ] 10100 } 10101 } 10102 } 10103 ] 10104 }, 10105 "4": { 10106 "name": "entity.name.type.class.parameter.cpp" 10107 }, 10108 "5": { 10109 "patterns": [ 10110 { 10111 "include": "#inline_comment" 10112 } 10113 ] 10114 }, 10115 "6": { 10116 "patterns": [ 10117 { 10118 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10119 "captures": { 10120 "1": { 10121 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10122 }, 10123 "2": { 10124 "name": "comment.block.cpp" 10125 }, 10126 "3": { 10127 "patterns": [ 10128 { 10129 "match": "\\*\\/", 10130 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10131 }, 10132 { 10133 "match": "\\*", 10134 "name": "comment.block.cpp" 10135 } 10136 ] 10137 } 10138 } 10139 } 10140 ] 10141 }, 10142 "7": { 10143 "patterns": [ 10144 { 10145 "match": "\\*", 10146 "name": "storage.modifier.pointer.cpp" 10147 }, 10148 { 10149 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 10150 "captures": { 10151 "1": { 10152 "patterns": [ 10153 { 10154 "include": "#inline_comment" 10155 } 10156 ] 10157 }, 10158 "2": { 10159 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10160 }, 10161 "3": { 10162 "name": "comment.block.cpp" 10163 }, 10164 "4": { 10165 "patterns": [ 10166 { 10167 "match": "\\*\\/", 10168 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10169 }, 10170 { 10171 "match": "\\*", 10172 "name": "comment.block.cpp" 10173 } 10174 ] 10175 } 10176 }, 10177 "name": "invalid.illegal.reference-type.cpp" 10178 }, 10179 { 10180 "match": "\\&", 10181 "name": "storage.modifier.reference.cpp" 10182 } 10183 ] 10184 }, 10185 "8": { 10186 "patterns": [ 10187 { 10188 "include": "#inline_comment" 10189 } 10190 ] 10191 }, 10192 "9": { 10193 "patterns": [ 10194 { 10195 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10196 "captures": { 10197 "1": { 10198 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10199 }, 10200 "2": { 10201 "name": "comment.block.cpp" 10202 }, 10203 "3": { 10204 "patterns": [ 10205 { 10206 "match": "\\*\\/", 10207 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10208 }, 10209 { 10210 "match": "\\*", 10211 "name": "comment.block.cpp" 10212 } 10213 ] 10214 } 10215 } 10216 } 10217 ] 10218 }, 10219 "10": { 10220 "patterns": [ 10221 { 10222 "include": "#inline_comment" 10223 } 10224 ] 10225 }, 10226 "11": { 10227 "patterns": [ 10228 { 10229 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10230 "captures": { 10231 "1": { 10232 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10233 }, 10234 "2": { 10235 "name": "comment.block.cpp" 10236 }, 10237 "3": { 10238 "patterns": [ 10239 { 10240 "match": "\\*\\/", 10241 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10242 }, 10243 { 10244 "match": "\\*", 10245 "name": "comment.block.cpp" 10246 } 10247 ] 10248 } 10249 } 10250 } 10251 ] 10252 }, 10253 "12": { 10254 "patterns": [ 10255 { 10256 "include": "#inline_comment" 10257 } 10258 ] 10259 }, 10260 "13": { 10261 "patterns": [ 10262 { 10263 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10264 "captures": { 10265 "1": { 10266 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10267 }, 10268 "2": { 10269 "name": "comment.block.cpp" 10270 }, 10271 "3": { 10272 "patterns": [ 10273 { 10274 "match": "\\*\\/", 10275 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10276 }, 10277 { 10278 "match": "\\*", 10279 "name": "comment.block.cpp" 10280 } 10281 ] 10282 } 10283 } 10284 } 10285 ] 10286 }, 10287 "14": { 10288 "name": "variable.other.object.declare.cpp" 10289 }, 10290 "15": { 10291 "patterns": [ 10292 { 10293 "include": "#inline_comment" 10294 } 10295 ] 10296 }, 10297 "16": { 10298 "patterns": [ 10299 { 10300 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10301 "captures": { 10302 "1": { 10303 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10304 }, 10305 "2": { 10306 "name": "comment.block.cpp" 10307 }, 10308 "3": { 10309 "patterns": [ 10310 { 10311 "match": "\\*\\/", 10312 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10313 }, 10314 { 10315 "match": "\\*", 10316 "name": "comment.block.cpp" 10317 } 10318 ] 10319 } 10320 } 10321 } 10322 ] 10323 }, 10324 "17": { 10325 "patterns": [ 10326 { 10327 "include": "#inline_comment" 10328 } 10329 ] 10330 }, 10331 "18": { 10332 "patterns": [ 10333 { 10334 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10335 "captures": { 10336 "1": { 10337 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10338 }, 10339 "2": { 10340 "name": "comment.block.cpp" 10341 }, 10342 "3": { 10343 "patterns": [ 10344 { 10345 "match": "\\*\\/", 10346 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10347 }, 10348 { 10349 "match": "\\*", 10350 "name": "comment.block.cpp" 10351 } 10352 ] 10353 } 10354 } 10355 } 10356 ] 10357 }, 10358 "19": { 10359 "patterns": [ 10360 { 10361 "include": "#inline_comment" 10362 } 10363 ] 10364 }, 10365 "20": { 10366 "patterns": [ 10367 { 10368 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10369 "captures": { 10370 "1": { 10371 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10372 }, 10373 "2": { 10374 "name": "comment.block.cpp" 10375 }, 10376 "3": { 10377 "patterns": [ 10378 { 10379 "match": "\\*\\/", 10380 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10381 }, 10382 { 10383 "match": "\\*", 10384 "name": "comment.block.cpp" 10385 } 10386 ] 10387 } 10388 } 10389 } 10390 ] 10391 } 10392 } 10393 } 10394 ] 10395 }, 10396 "parameter": { 10397 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)", 10398 "end": "(?:(?=\\))|(,))", 10399 "beginCaptures": { 10400 "1": { 10401 "patterns": [ 10402 { 10403 "include": "#inline_comment" 10404 } 10405 ] 10406 }, 10407 "2": { 10408 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10409 }, 10410 "3": { 10411 "name": "comment.block.cpp" 10412 }, 10413 "4": { 10414 "patterns": [ 10415 { 10416 "match": "\\*\\/", 10417 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10418 }, 10419 { 10420 "match": "\\*", 10421 "name": "comment.block.cpp" 10422 } 10423 ] 10424 } 10425 }, 10426 "endCaptures": { 10427 "1": { 10428 "name": "punctuation.separator.delimiter.comma.cpp" 10429 } 10430 }, 10431 "name": "meta.parameter.cpp", 10432 "patterns": [ 10433 { 10434 "include": "#ever_present_context" 10435 }, 10436 { 10437 "include": "#function_pointer_parameter" 10438 }, 10439 { 10440 "include": "#decltype" 10441 }, 10442 { 10443 "include": "#vararg_ellipses" 10444 }, 10445 { 10446 "match": "((?:((?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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(?<!\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)", 10447 "captures": { 10448 "1": { 10449 "patterns": [ 10450 { 10451 "include": "#storage_types" 10452 } 10453 ] 10454 }, 10455 "2": { 10456 "name": "storage.modifier.specifier.parameter.cpp" 10457 }, 10458 "3": { 10459 "patterns": [ 10460 { 10461 "include": "#inline_comment" 10462 } 10463 ] 10464 }, 10465 "4": { 10466 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10467 }, 10468 "5": { 10469 "name": "comment.block.cpp" 10470 }, 10471 "6": { 10472 "patterns": [ 10473 { 10474 "match": "\\*\\/", 10475 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10476 }, 10477 { 10478 "match": "\\*", 10479 "name": "comment.block.cpp" 10480 } 10481 ] 10482 }, 10483 "7": { 10484 "patterns": [ 10485 { 10486 "include": "#inline_comment" 10487 } 10488 ] 10489 }, 10490 "8": { 10491 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10492 }, 10493 "9": { 10494 "name": "comment.block.cpp" 10495 }, 10496 "10": { 10497 "patterns": [ 10498 { 10499 "match": "\\*\\/", 10500 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10501 }, 10502 { 10503 "match": "\\*", 10504 "name": "comment.block.cpp" 10505 } 10506 ] 10507 }, 10508 "11": { 10509 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" 10510 }, 10511 "12": { 10512 "name": "storage.type.cpp storage.type.built-in.cpp" 10513 }, 10514 "13": { 10515 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" 10516 }, 10517 "14": { 10518 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" 10519 }, 10520 "15": { 10521 "name": "entity.name.type.parameter.cpp" 10522 }, 10523 "16": { 10524 "patterns": [ 10525 { 10526 "include": "#inline_comment" 10527 } 10528 ] 10529 }, 10530 "17": { 10531 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10532 }, 10533 "18": { 10534 "name": "comment.block.cpp" 10535 }, 10536 "19": { 10537 "patterns": [ 10538 { 10539 "match": "\\*\\/", 10540 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10541 }, 10542 { 10543 "match": "\\*", 10544 "name": "comment.block.cpp" 10545 } 10546 ] 10547 } 10548 } 10549 }, 10550 { 10551 "include": "#storage_types" 10552 }, 10553 { 10554 "include": "#scope_resolution_parameter_inner_generated" 10555 }, 10556 { 10557 "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", 10558 "name": "storage.type.$0.cpp" 10559 }, 10560 { 10561 "begin": "(?<==)", 10562 "end": "(?:(?=\\))|(,))", 10563 "beginCaptures": {}, 10564 "endCaptures": { 10565 "1": { 10566 "name": "punctuation.separator.delimiter.comma.cpp" 10567 } 10568 }, 10569 "patterns": [ 10570 { 10571 "include": "#evaluation_context" 10572 } 10573 ] 10574 }, 10575 { 10576 "match": "\\=", 10577 "name": "keyword.operator.assignment.cpp" 10578 }, 10579 { 10580 "match": "(?<!\\s|\\(|,|:)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\)|,|\\[|=|\\n)", 10581 "captures": { 10582 "1": { 10583 "patterns": [ 10584 { 10585 "include": "#inline_comment" 10586 } 10587 ] 10588 }, 10589 "2": { 10590 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10591 }, 10592 "3": { 10593 "name": "comment.block.cpp" 10594 }, 10595 "4": { 10596 "patterns": [ 10597 { 10598 "match": "\\*\\/", 10599 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10600 }, 10601 { 10602 "match": "\\*", 10603 "name": "comment.block.cpp" 10604 } 10605 ] 10606 }, 10607 "5": { 10608 "name": "variable.parameter.cpp" 10609 }, 10610 "6": { 10611 "patterns": [ 10612 { 10613 "include": "#inline_comment" 10614 } 10615 ] 10616 }, 10617 "7": { 10618 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10619 }, 10620 "8": { 10621 "name": "comment.block.cpp" 10622 }, 10623 "9": { 10624 "patterns": [ 10625 { 10626 "match": "\\*\\/", 10627 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10628 }, 10629 { 10630 "match": "\\*", 10631 "name": "comment.block.cpp" 10632 } 10633 ] 10634 } 10635 } 10636 }, 10637 { 10638 "include": "#attributes_context" 10639 }, 10640 { 10641 "begin": "\\[", 10642 "end": "\\]", 10643 "beginCaptures": { 10644 "0": { 10645 "name": "punctuation.definition.begin.bracket.square.array.type.cpp" 10646 } 10647 }, 10648 "endCaptures": { 10649 "0": { 10650 "name": "punctuation.definition.end.bracket.square.array.type.cpp" 10651 } 10652 }, 10653 "name": "meta.bracket.square.array.cpp", 10654 "patterns": [ 10655 { 10656 "include": "#evaluation_context" 10657 } 10658 ] 10659 }, 10660 { 10661 "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)", 10662 "name": "entity.name.type.parameter.cpp" 10663 }, 10664 { 10665 "include": "#template_call_range" 10666 }, 10667 { 10668 "match": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))", 10669 "captures": { 10670 "0": { 10671 "patterns": [ 10672 { 10673 "match": "\\*", 10674 "name": "storage.modifier.pointer.cpp" 10675 }, 10676 { 10677 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 10678 "captures": { 10679 "1": { 10680 "patterns": [ 10681 { 10682 "include": "#inline_comment" 10683 } 10684 ] 10685 }, 10686 "2": { 10687 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10688 }, 10689 "3": { 10690 "name": "comment.block.cpp" 10691 }, 10692 "4": { 10693 "patterns": [ 10694 { 10695 "match": "\\*\\/", 10696 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10697 }, 10698 { 10699 "match": "\\*", 10700 "name": "comment.block.cpp" 10701 } 10702 ] 10703 } 10704 }, 10705 "name": "invalid.illegal.reference-type.cpp" 10706 }, 10707 { 10708 "match": "\\&", 10709 "name": "storage.modifier.reference.cpp" 10710 } 10711 ] 10712 }, 10713 "1": { 10714 "patterns": [ 10715 { 10716 "include": "#inline_comment" 10717 } 10718 ] 10719 }, 10720 "2": { 10721 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10722 }, 10723 "3": { 10724 "name": "comment.block.cpp" 10725 }, 10726 "4": { 10727 "patterns": [ 10728 { 10729 "match": "\\*\\/", 10730 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10731 }, 10732 { 10733 "match": "\\*", 10734 "name": "comment.block.cpp" 10735 } 10736 ] 10737 }, 10738 "5": { 10739 "patterns": [ 10740 { 10741 "include": "#inline_comment" 10742 } 10743 ] 10744 }, 10745 "6": { 10746 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10747 }, 10748 "7": { 10749 "name": "comment.block.cpp" 10750 }, 10751 "8": { 10752 "patterns": [ 10753 { 10754 "match": "\\*\\/", 10755 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10756 }, 10757 { 10758 "match": "\\*", 10759 "name": "comment.block.cpp" 10760 } 10761 ] 10762 } 10763 } 10764 } 10765 ] 10766 }, 10767 "parameter_class": { 10768 "match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", 10769 "captures": { 10770 "1": { 10771 "name": "storage.type.class.parameter.cpp" 10772 }, 10773 "2": { 10774 "patterns": [ 10775 { 10776 "include": "#inline_comment" 10777 } 10778 ] 10779 }, 10780 "3": { 10781 "patterns": [ 10782 { 10783 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10784 "captures": { 10785 "1": { 10786 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10787 }, 10788 "2": { 10789 "name": "comment.block.cpp" 10790 }, 10791 "3": { 10792 "patterns": [ 10793 { 10794 "match": "\\*\\/", 10795 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10796 }, 10797 { 10798 "match": "\\*", 10799 "name": "comment.block.cpp" 10800 } 10801 ] 10802 } 10803 } 10804 } 10805 ] 10806 }, 10807 "4": { 10808 "name": "entity.name.type.class.parameter.cpp" 10809 }, 10810 "5": { 10811 "patterns": [ 10812 { 10813 "include": "#inline_comment" 10814 } 10815 ] 10816 }, 10817 "6": { 10818 "patterns": [ 10819 { 10820 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10821 "captures": { 10822 "1": { 10823 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10824 }, 10825 "2": { 10826 "name": "comment.block.cpp" 10827 }, 10828 "3": { 10829 "patterns": [ 10830 { 10831 "match": "\\*\\/", 10832 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10833 }, 10834 { 10835 "match": "\\*", 10836 "name": "comment.block.cpp" 10837 } 10838 ] 10839 } 10840 } 10841 } 10842 ] 10843 }, 10844 "7": { 10845 "patterns": [ 10846 { 10847 "match": "\\*", 10848 "name": "storage.modifier.pointer.cpp" 10849 }, 10850 { 10851 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 10852 "captures": { 10853 "1": { 10854 "patterns": [ 10855 { 10856 "include": "#inline_comment" 10857 } 10858 ] 10859 }, 10860 "2": { 10861 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10862 }, 10863 "3": { 10864 "name": "comment.block.cpp" 10865 }, 10866 "4": { 10867 "patterns": [ 10868 { 10869 "match": "\\*\\/", 10870 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10871 }, 10872 { 10873 "match": "\\*", 10874 "name": "comment.block.cpp" 10875 } 10876 ] 10877 } 10878 }, 10879 "name": "invalid.illegal.reference-type.cpp" 10880 }, 10881 { 10882 "match": "\\&", 10883 "name": "storage.modifier.reference.cpp" 10884 } 10885 ] 10886 }, 10887 "8": { 10888 "patterns": [ 10889 { 10890 "include": "#inline_comment" 10891 } 10892 ] 10893 }, 10894 "9": { 10895 "patterns": [ 10896 { 10897 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10898 "captures": { 10899 "1": { 10900 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10901 }, 10902 "2": { 10903 "name": "comment.block.cpp" 10904 }, 10905 "3": { 10906 "patterns": [ 10907 { 10908 "match": "\\*\\/", 10909 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10910 }, 10911 { 10912 "match": "\\*", 10913 "name": "comment.block.cpp" 10914 } 10915 ] 10916 } 10917 } 10918 } 10919 ] 10920 }, 10921 "10": { 10922 "patterns": [ 10923 { 10924 "include": "#inline_comment" 10925 } 10926 ] 10927 }, 10928 "11": { 10929 "patterns": [ 10930 { 10931 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10932 "captures": { 10933 "1": { 10934 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10935 }, 10936 "2": { 10937 "name": "comment.block.cpp" 10938 }, 10939 "3": { 10940 "patterns": [ 10941 { 10942 "match": "\\*\\/", 10943 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10944 }, 10945 { 10946 "match": "\\*", 10947 "name": "comment.block.cpp" 10948 } 10949 ] 10950 } 10951 } 10952 } 10953 ] 10954 }, 10955 "12": { 10956 "patterns": [ 10957 { 10958 "include": "#inline_comment" 10959 } 10960 ] 10961 }, 10962 "13": { 10963 "patterns": [ 10964 { 10965 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 10966 "captures": { 10967 "1": { 10968 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 10969 }, 10970 "2": { 10971 "name": "comment.block.cpp" 10972 }, 10973 "3": { 10974 "patterns": [ 10975 { 10976 "match": "\\*\\/", 10977 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 10978 }, 10979 { 10980 "match": "\\*", 10981 "name": "comment.block.cpp" 10982 } 10983 ] 10984 } 10985 } 10986 } 10987 ] 10988 }, 10989 "14": { 10990 "name": "variable.other.object.declare.cpp" 10991 }, 10992 "15": { 10993 "patterns": [ 10994 { 10995 "include": "#inline_comment" 10996 } 10997 ] 10998 }, 10999 "16": { 11000 "patterns": [ 11001 { 11002 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11003 "captures": { 11004 "1": { 11005 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11006 }, 11007 "2": { 11008 "name": "comment.block.cpp" 11009 }, 11010 "3": { 11011 "patterns": [ 11012 { 11013 "match": "\\*\\/", 11014 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11015 }, 11016 { 11017 "match": "\\*", 11018 "name": "comment.block.cpp" 11019 } 11020 ] 11021 } 11022 } 11023 } 11024 ] 11025 }, 11026 "17": { 11027 "patterns": [ 11028 { 11029 "include": "#inline_comment" 11030 } 11031 ] 11032 }, 11033 "18": { 11034 "patterns": [ 11035 { 11036 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11037 "captures": { 11038 "1": { 11039 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11040 }, 11041 "2": { 11042 "name": "comment.block.cpp" 11043 }, 11044 "3": { 11045 "patterns": [ 11046 { 11047 "match": "\\*\\/", 11048 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11049 }, 11050 { 11051 "match": "\\*", 11052 "name": "comment.block.cpp" 11053 } 11054 ] 11055 } 11056 } 11057 } 11058 ] 11059 }, 11060 "19": { 11061 "patterns": [ 11062 { 11063 "include": "#inline_comment" 11064 } 11065 ] 11066 }, 11067 "20": { 11068 "patterns": [ 11069 { 11070 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11071 "captures": { 11072 "1": { 11073 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11074 }, 11075 "2": { 11076 "name": "comment.block.cpp" 11077 }, 11078 "3": { 11079 "patterns": [ 11080 { 11081 "match": "\\*\\/", 11082 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11083 }, 11084 { 11085 "match": "\\*", 11086 "name": "comment.block.cpp" 11087 } 11088 ] 11089 } 11090 } 11091 } 11092 ] 11093 } 11094 } 11095 }, 11096 "parameter_enum": { 11097 "match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", 11098 "captures": { 11099 "1": { 11100 "name": "storage.type.enum.parameter.cpp" 11101 }, 11102 "2": { 11103 "patterns": [ 11104 { 11105 "include": "#inline_comment" 11106 } 11107 ] 11108 }, 11109 "3": { 11110 "patterns": [ 11111 { 11112 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11113 "captures": { 11114 "1": { 11115 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11116 }, 11117 "2": { 11118 "name": "comment.block.cpp" 11119 }, 11120 "3": { 11121 "patterns": [ 11122 { 11123 "match": "\\*\\/", 11124 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11125 }, 11126 { 11127 "match": "\\*", 11128 "name": "comment.block.cpp" 11129 } 11130 ] 11131 } 11132 } 11133 } 11134 ] 11135 }, 11136 "4": { 11137 "name": "entity.name.type.enum.parameter.cpp" 11138 }, 11139 "5": { 11140 "patterns": [ 11141 { 11142 "include": "#inline_comment" 11143 } 11144 ] 11145 }, 11146 "6": { 11147 "patterns": [ 11148 { 11149 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11150 "captures": { 11151 "1": { 11152 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11153 }, 11154 "2": { 11155 "name": "comment.block.cpp" 11156 }, 11157 "3": { 11158 "patterns": [ 11159 { 11160 "match": "\\*\\/", 11161 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11162 }, 11163 { 11164 "match": "\\*", 11165 "name": "comment.block.cpp" 11166 } 11167 ] 11168 } 11169 } 11170 } 11171 ] 11172 }, 11173 "7": { 11174 "patterns": [ 11175 { 11176 "match": "\\*", 11177 "name": "storage.modifier.pointer.cpp" 11178 }, 11179 { 11180 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 11181 "captures": { 11182 "1": { 11183 "patterns": [ 11184 { 11185 "include": "#inline_comment" 11186 } 11187 ] 11188 }, 11189 "2": { 11190 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11191 }, 11192 "3": { 11193 "name": "comment.block.cpp" 11194 }, 11195 "4": { 11196 "patterns": [ 11197 { 11198 "match": "\\*\\/", 11199 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11200 }, 11201 { 11202 "match": "\\*", 11203 "name": "comment.block.cpp" 11204 } 11205 ] 11206 } 11207 }, 11208 "name": "invalid.illegal.reference-type.cpp" 11209 }, 11210 { 11211 "match": "\\&", 11212 "name": "storage.modifier.reference.cpp" 11213 } 11214 ] 11215 }, 11216 "8": { 11217 "patterns": [ 11218 { 11219 "include": "#inline_comment" 11220 } 11221 ] 11222 }, 11223 "9": { 11224 "patterns": [ 11225 { 11226 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11227 "captures": { 11228 "1": { 11229 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11230 }, 11231 "2": { 11232 "name": "comment.block.cpp" 11233 }, 11234 "3": { 11235 "patterns": [ 11236 { 11237 "match": "\\*\\/", 11238 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11239 }, 11240 { 11241 "match": "\\*", 11242 "name": "comment.block.cpp" 11243 } 11244 ] 11245 } 11246 } 11247 } 11248 ] 11249 }, 11250 "10": { 11251 "patterns": [ 11252 { 11253 "include": "#inline_comment" 11254 } 11255 ] 11256 }, 11257 "11": { 11258 "patterns": [ 11259 { 11260 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11261 "captures": { 11262 "1": { 11263 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11264 }, 11265 "2": { 11266 "name": "comment.block.cpp" 11267 }, 11268 "3": { 11269 "patterns": [ 11270 { 11271 "match": "\\*\\/", 11272 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11273 }, 11274 { 11275 "match": "\\*", 11276 "name": "comment.block.cpp" 11277 } 11278 ] 11279 } 11280 } 11281 } 11282 ] 11283 }, 11284 "12": { 11285 "patterns": [ 11286 { 11287 "include": "#inline_comment" 11288 } 11289 ] 11290 }, 11291 "13": { 11292 "patterns": [ 11293 { 11294 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11295 "captures": { 11296 "1": { 11297 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11298 }, 11299 "2": { 11300 "name": "comment.block.cpp" 11301 }, 11302 "3": { 11303 "patterns": [ 11304 { 11305 "match": "\\*\\/", 11306 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11307 }, 11308 { 11309 "match": "\\*", 11310 "name": "comment.block.cpp" 11311 } 11312 ] 11313 } 11314 } 11315 } 11316 ] 11317 }, 11318 "14": { 11319 "name": "variable.other.object.declare.cpp" 11320 }, 11321 "15": { 11322 "patterns": [ 11323 { 11324 "include": "#inline_comment" 11325 } 11326 ] 11327 }, 11328 "16": { 11329 "patterns": [ 11330 { 11331 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11332 "captures": { 11333 "1": { 11334 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11335 }, 11336 "2": { 11337 "name": "comment.block.cpp" 11338 }, 11339 "3": { 11340 "patterns": [ 11341 { 11342 "match": "\\*\\/", 11343 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11344 }, 11345 { 11346 "match": "\\*", 11347 "name": "comment.block.cpp" 11348 } 11349 ] 11350 } 11351 } 11352 } 11353 ] 11354 }, 11355 "17": { 11356 "patterns": [ 11357 { 11358 "include": "#inline_comment" 11359 } 11360 ] 11361 }, 11362 "18": { 11363 "patterns": [ 11364 { 11365 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11366 "captures": { 11367 "1": { 11368 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11369 }, 11370 "2": { 11371 "name": "comment.block.cpp" 11372 }, 11373 "3": { 11374 "patterns": [ 11375 { 11376 "match": "\\*\\/", 11377 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11378 }, 11379 { 11380 "match": "\\*", 11381 "name": "comment.block.cpp" 11382 } 11383 ] 11384 } 11385 } 11386 } 11387 ] 11388 }, 11389 "19": { 11390 "patterns": [ 11391 { 11392 "include": "#inline_comment" 11393 } 11394 ] 11395 }, 11396 "20": { 11397 "patterns": [ 11398 { 11399 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11400 "captures": { 11401 "1": { 11402 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11403 }, 11404 "2": { 11405 "name": "comment.block.cpp" 11406 }, 11407 "3": { 11408 "patterns": [ 11409 { 11410 "match": "\\*\\/", 11411 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11412 }, 11413 { 11414 "match": "\\*", 11415 "name": "comment.block.cpp" 11416 } 11417 ] 11418 } 11419 } 11420 } 11421 ] 11422 } 11423 } 11424 }, 11425 "parameter_or_maybe_value": { 11426 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)", 11427 "end": "(?:(?=\\))|(,))", 11428 "beginCaptures": { 11429 "1": { 11430 "patterns": [ 11431 { 11432 "include": "#inline_comment" 11433 } 11434 ] 11435 }, 11436 "2": { 11437 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11438 }, 11439 "3": { 11440 "name": "comment.block.cpp" 11441 }, 11442 "4": { 11443 "patterns": [ 11444 { 11445 "match": "\\*\\/", 11446 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11447 }, 11448 { 11449 "match": "\\*", 11450 "name": "comment.block.cpp" 11451 } 11452 ] 11453 } 11454 }, 11455 "endCaptures": { 11456 "1": { 11457 "name": "punctuation.separator.delimiter.comma.cpp" 11458 } 11459 }, 11460 "name": "meta.parameter.cpp", 11461 "patterns": [ 11462 { 11463 "include": "#ever_present_context" 11464 }, 11465 { 11466 "include": "#function_pointer_parameter" 11467 }, 11468 { 11469 "include": "#memory_operators" 11470 }, 11471 { 11472 "include": "#builtin_storage_type_initilizer" 11473 }, 11474 { 11475 "include": "#curly_initializer" 11476 }, 11477 { 11478 "include": "#decltype" 11479 }, 11480 { 11481 "include": "#vararg_ellipses" 11482 }, 11483 { 11484 "match": "((?:((?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\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(?<!\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)", 11485 "captures": { 11486 "1": { 11487 "patterns": [ 11488 { 11489 "include": "#storage_types" 11490 } 11491 ] 11492 }, 11493 "2": { 11494 "name": "storage.modifier.specifier.parameter.cpp" 11495 }, 11496 "3": { 11497 "patterns": [ 11498 { 11499 "include": "#inline_comment" 11500 } 11501 ] 11502 }, 11503 "4": { 11504 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11505 }, 11506 "5": { 11507 "name": "comment.block.cpp" 11508 }, 11509 "6": { 11510 "patterns": [ 11511 { 11512 "match": "\\*\\/", 11513 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11514 }, 11515 { 11516 "match": "\\*", 11517 "name": "comment.block.cpp" 11518 } 11519 ] 11520 }, 11521 "7": { 11522 "patterns": [ 11523 { 11524 "include": "#inline_comment" 11525 } 11526 ] 11527 }, 11528 "8": { 11529 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11530 }, 11531 "9": { 11532 "name": "comment.block.cpp" 11533 }, 11534 "10": { 11535 "patterns": [ 11536 { 11537 "match": "\\*\\/", 11538 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11539 }, 11540 { 11541 "match": "\\*", 11542 "name": "comment.block.cpp" 11543 } 11544 ] 11545 }, 11546 "11": { 11547 "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" 11548 }, 11549 "12": { 11550 "name": "storage.type.cpp storage.type.built-in.cpp" 11551 }, 11552 "13": { 11553 "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" 11554 }, 11555 "14": { 11556 "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" 11557 }, 11558 "15": { 11559 "name": "entity.name.type.parameter.cpp" 11560 }, 11561 "16": { 11562 "patterns": [ 11563 { 11564 "include": "#inline_comment" 11565 } 11566 ] 11567 }, 11568 "17": { 11569 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11570 }, 11571 "18": { 11572 "name": "comment.block.cpp" 11573 }, 11574 "19": { 11575 "patterns": [ 11576 { 11577 "match": "\\*\\/", 11578 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11579 }, 11580 { 11581 "match": "\\*", 11582 "name": "comment.block.cpp" 11583 } 11584 ] 11585 } 11586 } 11587 }, 11588 { 11589 "include": "#storage_types" 11590 }, 11591 { 11592 "include": "#function_call" 11593 }, 11594 { 11595 "include": "#scope_resolution_parameter_inner_generated" 11596 }, 11597 { 11598 "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", 11599 "name": "storage.type.$0.cpp" 11600 }, 11601 { 11602 "begin": "(?<==)", 11603 "end": "(?:(?=\\))|(,))", 11604 "beginCaptures": {}, 11605 "endCaptures": { 11606 "1": { 11607 "name": "punctuation.separator.delimiter.comma.cpp" 11608 } 11609 }, 11610 "patterns": [ 11611 { 11612 "include": "#evaluation_context" 11613 } 11614 ] 11615 }, 11616 { 11617 "match": "(?<!\\s|\\(|,|:)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=(?:\\)|,|\\[|=|\\/\\/|(?:(?:\\n)|$)))", 11618 "captures": { 11619 "1": { 11620 "patterns": [ 11621 { 11622 "include": "#inline_comment" 11623 } 11624 ] 11625 }, 11626 "2": { 11627 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11628 }, 11629 "3": { 11630 "name": "comment.block.cpp" 11631 }, 11632 "4": { 11633 "patterns": [ 11634 { 11635 "match": "\\*\\/", 11636 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11637 }, 11638 { 11639 "match": "\\*", 11640 "name": "comment.block.cpp" 11641 } 11642 ] 11643 }, 11644 "5": { 11645 "name": "variable.parameter.cpp" 11646 }, 11647 "6": { 11648 "patterns": [ 11649 { 11650 "include": "#inline_comment" 11651 } 11652 ] 11653 }, 11654 "7": { 11655 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11656 }, 11657 "8": { 11658 "name": "comment.block.cpp" 11659 }, 11660 "9": { 11661 "patterns": [ 11662 { 11663 "match": "\\*\\/", 11664 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11665 }, 11666 { 11667 "match": "\\*", 11668 "name": "comment.block.cpp" 11669 } 11670 ] 11671 } 11672 } 11673 }, 11674 { 11675 "include": "#attributes_context" 11676 }, 11677 { 11678 "begin": "\\[", 11679 "end": "\\]", 11680 "beginCaptures": { 11681 "0": { 11682 "name": "punctuation.definition.begin.bracket.square.array.type.cpp" 11683 } 11684 }, 11685 "endCaptures": { 11686 "0": { 11687 "name": "punctuation.definition.end.bracket.square.array.type.cpp" 11688 } 11689 }, 11690 "name": "meta.bracket.square.array.cpp", 11691 "patterns": [ 11692 { 11693 "include": "#evaluation_context" 11694 } 11695 ] 11696 }, 11697 { 11698 "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)", 11699 "name": "entity.name.type.parameter.cpp" 11700 }, 11701 { 11702 "include": "#template_call_range" 11703 }, 11704 { 11705 "match": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))", 11706 "captures": { 11707 "0": { 11708 "patterns": [ 11709 { 11710 "match": "\\*", 11711 "name": "storage.modifier.pointer.cpp" 11712 }, 11713 { 11714 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 11715 "captures": { 11716 "1": { 11717 "patterns": [ 11718 { 11719 "include": "#inline_comment" 11720 } 11721 ] 11722 }, 11723 "2": { 11724 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11725 }, 11726 "3": { 11727 "name": "comment.block.cpp" 11728 }, 11729 "4": { 11730 "patterns": [ 11731 { 11732 "match": "\\*\\/", 11733 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11734 }, 11735 { 11736 "match": "\\*", 11737 "name": "comment.block.cpp" 11738 } 11739 ] 11740 } 11741 }, 11742 "name": "invalid.illegal.reference-type.cpp" 11743 }, 11744 { 11745 "match": "\\&", 11746 "name": "storage.modifier.reference.cpp" 11747 } 11748 ] 11749 }, 11750 "1": { 11751 "patterns": [ 11752 { 11753 "include": "#inline_comment" 11754 } 11755 ] 11756 }, 11757 "2": { 11758 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11759 }, 11760 "3": { 11761 "name": "comment.block.cpp" 11762 }, 11763 "4": { 11764 "patterns": [ 11765 { 11766 "match": "\\*\\/", 11767 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11768 }, 11769 { 11770 "match": "\\*", 11771 "name": "comment.block.cpp" 11772 } 11773 ] 11774 }, 11775 "5": { 11776 "patterns": [ 11777 { 11778 "include": "#inline_comment" 11779 } 11780 ] 11781 }, 11782 "6": { 11783 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11784 }, 11785 "7": { 11786 "name": "comment.block.cpp" 11787 }, 11788 "8": { 11789 "patterns": [ 11790 { 11791 "match": "\\*\\/", 11792 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11793 }, 11794 { 11795 "match": "\\*", 11796 "name": "comment.block.cpp" 11797 } 11798 ] 11799 } 11800 } 11801 }, 11802 { 11803 "include": "#evaluation_context" 11804 } 11805 ] 11806 }, 11807 "parameter_struct": { 11808 "match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", 11809 "captures": { 11810 "1": { 11811 "name": "storage.type.struct.parameter.cpp" 11812 }, 11813 "2": { 11814 "patterns": [ 11815 { 11816 "include": "#inline_comment" 11817 } 11818 ] 11819 }, 11820 "3": { 11821 "patterns": [ 11822 { 11823 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11824 "captures": { 11825 "1": { 11826 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11827 }, 11828 "2": { 11829 "name": "comment.block.cpp" 11830 }, 11831 "3": { 11832 "patterns": [ 11833 { 11834 "match": "\\*\\/", 11835 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11836 }, 11837 { 11838 "match": "\\*", 11839 "name": "comment.block.cpp" 11840 } 11841 ] 11842 } 11843 } 11844 } 11845 ] 11846 }, 11847 "4": { 11848 "name": "entity.name.type.struct.parameter.cpp" 11849 }, 11850 "5": { 11851 "patterns": [ 11852 { 11853 "include": "#inline_comment" 11854 } 11855 ] 11856 }, 11857 "6": { 11858 "patterns": [ 11859 { 11860 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11861 "captures": { 11862 "1": { 11863 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11864 }, 11865 "2": { 11866 "name": "comment.block.cpp" 11867 }, 11868 "3": { 11869 "patterns": [ 11870 { 11871 "match": "\\*\\/", 11872 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11873 }, 11874 { 11875 "match": "\\*", 11876 "name": "comment.block.cpp" 11877 } 11878 ] 11879 } 11880 } 11881 } 11882 ] 11883 }, 11884 "7": { 11885 "patterns": [ 11886 { 11887 "match": "\\*", 11888 "name": "storage.modifier.pointer.cpp" 11889 }, 11890 { 11891 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 11892 "captures": { 11893 "1": { 11894 "patterns": [ 11895 { 11896 "include": "#inline_comment" 11897 } 11898 ] 11899 }, 11900 "2": { 11901 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11902 }, 11903 "3": { 11904 "name": "comment.block.cpp" 11905 }, 11906 "4": { 11907 "patterns": [ 11908 { 11909 "match": "\\*\\/", 11910 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11911 }, 11912 { 11913 "match": "\\*", 11914 "name": "comment.block.cpp" 11915 } 11916 ] 11917 } 11918 }, 11919 "name": "invalid.illegal.reference-type.cpp" 11920 }, 11921 { 11922 "match": "\\&", 11923 "name": "storage.modifier.reference.cpp" 11924 } 11925 ] 11926 }, 11927 "8": { 11928 "patterns": [ 11929 { 11930 "include": "#inline_comment" 11931 } 11932 ] 11933 }, 11934 "9": { 11935 "patterns": [ 11936 { 11937 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11938 "captures": { 11939 "1": { 11940 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11941 }, 11942 "2": { 11943 "name": "comment.block.cpp" 11944 }, 11945 "3": { 11946 "patterns": [ 11947 { 11948 "match": "\\*\\/", 11949 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11950 }, 11951 { 11952 "match": "\\*", 11953 "name": "comment.block.cpp" 11954 } 11955 ] 11956 } 11957 } 11958 } 11959 ] 11960 }, 11961 "10": { 11962 "patterns": [ 11963 { 11964 "include": "#inline_comment" 11965 } 11966 ] 11967 }, 11968 "11": { 11969 "patterns": [ 11970 { 11971 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 11972 "captures": { 11973 "1": { 11974 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 11975 }, 11976 "2": { 11977 "name": "comment.block.cpp" 11978 }, 11979 "3": { 11980 "patterns": [ 11981 { 11982 "match": "\\*\\/", 11983 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 11984 }, 11985 { 11986 "match": "\\*", 11987 "name": "comment.block.cpp" 11988 } 11989 ] 11990 } 11991 } 11992 } 11993 ] 11994 }, 11995 "12": { 11996 "patterns": [ 11997 { 11998 "include": "#inline_comment" 11999 } 12000 ] 12001 }, 12002 "13": { 12003 "patterns": [ 12004 { 12005 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12006 "captures": { 12007 "1": { 12008 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12009 }, 12010 "2": { 12011 "name": "comment.block.cpp" 12012 }, 12013 "3": { 12014 "patterns": [ 12015 { 12016 "match": "\\*\\/", 12017 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12018 }, 12019 { 12020 "match": "\\*", 12021 "name": "comment.block.cpp" 12022 } 12023 ] 12024 } 12025 } 12026 } 12027 ] 12028 }, 12029 "14": { 12030 "name": "variable.other.object.declare.cpp" 12031 }, 12032 "15": { 12033 "patterns": [ 12034 { 12035 "include": "#inline_comment" 12036 } 12037 ] 12038 }, 12039 "16": { 12040 "patterns": [ 12041 { 12042 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12043 "captures": { 12044 "1": { 12045 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12046 }, 12047 "2": { 12048 "name": "comment.block.cpp" 12049 }, 12050 "3": { 12051 "patterns": [ 12052 { 12053 "match": "\\*\\/", 12054 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12055 }, 12056 { 12057 "match": "\\*", 12058 "name": "comment.block.cpp" 12059 } 12060 ] 12061 } 12062 } 12063 } 12064 ] 12065 }, 12066 "17": { 12067 "patterns": [ 12068 { 12069 "include": "#inline_comment" 12070 } 12071 ] 12072 }, 12073 "18": { 12074 "patterns": [ 12075 { 12076 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12077 "captures": { 12078 "1": { 12079 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12080 }, 12081 "2": { 12082 "name": "comment.block.cpp" 12083 }, 12084 "3": { 12085 "patterns": [ 12086 { 12087 "match": "\\*\\/", 12088 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12089 }, 12090 { 12091 "match": "\\*", 12092 "name": "comment.block.cpp" 12093 } 12094 ] 12095 } 12096 } 12097 } 12098 ] 12099 }, 12100 "19": { 12101 "patterns": [ 12102 { 12103 "include": "#inline_comment" 12104 } 12105 ] 12106 }, 12107 "20": { 12108 "patterns": [ 12109 { 12110 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12111 "captures": { 12112 "1": { 12113 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12114 }, 12115 "2": { 12116 "name": "comment.block.cpp" 12117 }, 12118 "3": { 12119 "patterns": [ 12120 { 12121 "match": "\\*\\/", 12122 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12123 }, 12124 { 12125 "match": "\\*", 12126 "name": "comment.block.cpp" 12127 } 12128 ] 12129 } 12130 } 12131 } 12132 ] 12133 } 12134 } 12135 }, 12136 "parameter_union": { 12137 "match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", 12138 "captures": { 12139 "1": { 12140 "name": "storage.type.union.parameter.cpp" 12141 }, 12142 "2": { 12143 "patterns": [ 12144 { 12145 "include": "#inline_comment" 12146 } 12147 ] 12148 }, 12149 "3": { 12150 "patterns": [ 12151 { 12152 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12153 "captures": { 12154 "1": { 12155 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12156 }, 12157 "2": { 12158 "name": "comment.block.cpp" 12159 }, 12160 "3": { 12161 "patterns": [ 12162 { 12163 "match": "\\*\\/", 12164 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12165 }, 12166 { 12167 "match": "\\*", 12168 "name": "comment.block.cpp" 12169 } 12170 ] 12171 } 12172 } 12173 } 12174 ] 12175 }, 12176 "4": { 12177 "name": "entity.name.type.union.parameter.cpp" 12178 }, 12179 "5": { 12180 "patterns": [ 12181 { 12182 "include": "#inline_comment" 12183 } 12184 ] 12185 }, 12186 "6": { 12187 "patterns": [ 12188 { 12189 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12190 "captures": { 12191 "1": { 12192 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12193 }, 12194 "2": { 12195 "name": "comment.block.cpp" 12196 }, 12197 "3": { 12198 "patterns": [ 12199 { 12200 "match": "\\*\\/", 12201 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12202 }, 12203 { 12204 "match": "\\*", 12205 "name": "comment.block.cpp" 12206 } 12207 ] 12208 } 12209 } 12210 } 12211 ] 12212 }, 12213 "7": { 12214 "patterns": [ 12215 { 12216 "match": "\\*", 12217 "name": "storage.modifier.pointer.cpp" 12218 }, 12219 { 12220 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 12221 "captures": { 12222 "1": { 12223 "patterns": [ 12224 { 12225 "include": "#inline_comment" 12226 } 12227 ] 12228 }, 12229 "2": { 12230 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12231 }, 12232 "3": { 12233 "name": "comment.block.cpp" 12234 }, 12235 "4": { 12236 "patterns": [ 12237 { 12238 "match": "\\*\\/", 12239 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12240 }, 12241 { 12242 "match": "\\*", 12243 "name": "comment.block.cpp" 12244 } 12245 ] 12246 } 12247 }, 12248 "name": "invalid.illegal.reference-type.cpp" 12249 }, 12250 { 12251 "match": "\\&", 12252 "name": "storage.modifier.reference.cpp" 12253 } 12254 ] 12255 }, 12256 "8": { 12257 "patterns": [ 12258 { 12259 "include": "#inline_comment" 12260 } 12261 ] 12262 }, 12263 "9": { 12264 "patterns": [ 12265 { 12266 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12267 "captures": { 12268 "1": { 12269 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12270 }, 12271 "2": { 12272 "name": "comment.block.cpp" 12273 }, 12274 "3": { 12275 "patterns": [ 12276 { 12277 "match": "\\*\\/", 12278 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12279 }, 12280 { 12281 "match": "\\*", 12282 "name": "comment.block.cpp" 12283 } 12284 ] 12285 } 12286 } 12287 } 12288 ] 12289 }, 12290 "10": { 12291 "patterns": [ 12292 { 12293 "include": "#inline_comment" 12294 } 12295 ] 12296 }, 12297 "11": { 12298 "patterns": [ 12299 { 12300 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12301 "captures": { 12302 "1": { 12303 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12304 }, 12305 "2": { 12306 "name": "comment.block.cpp" 12307 }, 12308 "3": { 12309 "patterns": [ 12310 { 12311 "match": "\\*\\/", 12312 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12313 }, 12314 { 12315 "match": "\\*", 12316 "name": "comment.block.cpp" 12317 } 12318 ] 12319 } 12320 } 12321 } 12322 ] 12323 }, 12324 "12": { 12325 "patterns": [ 12326 { 12327 "include": "#inline_comment" 12328 } 12329 ] 12330 }, 12331 "13": { 12332 "patterns": [ 12333 { 12334 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12335 "captures": { 12336 "1": { 12337 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12338 }, 12339 "2": { 12340 "name": "comment.block.cpp" 12341 }, 12342 "3": { 12343 "patterns": [ 12344 { 12345 "match": "\\*\\/", 12346 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12347 }, 12348 { 12349 "match": "\\*", 12350 "name": "comment.block.cpp" 12351 } 12352 ] 12353 } 12354 } 12355 } 12356 ] 12357 }, 12358 "14": { 12359 "name": "variable.other.object.declare.cpp" 12360 }, 12361 "15": { 12362 "patterns": [ 12363 { 12364 "include": "#inline_comment" 12365 } 12366 ] 12367 }, 12368 "16": { 12369 "patterns": [ 12370 { 12371 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12372 "captures": { 12373 "1": { 12374 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12375 }, 12376 "2": { 12377 "name": "comment.block.cpp" 12378 }, 12379 "3": { 12380 "patterns": [ 12381 { 12382 "match": "\\*\\/", 12383 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12384 }, 12385 { 12386 "match": "\\*", 12387 "name": "comment.block.cpp" 12388 } 12389 ] 12390 } 12391 } 12392 } 12393 ] 12394 }, 12395 "17": { 12396 "patterns": [ 12397 { 12398 "include": "#inline_comment" 12399 } 12400 ] 12401 }, 12402 "18": { 12403 "patterns": [ 12404 { 12405 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12406 "captures": { 12407 "1": { 12408 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12409 }, 12410 "2": { 12411 "name": "comment.block.cpp" 12412 }, 12413 "3": { 12414 "patterns": [ 12415 { 12416 "match": "\\*\\/", 12417 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12418 }, 12419 { 12420 "match": "\\*", 12421 "name": "comment.block.cpp" 12422 } 12423 ] 12424 } 12425 } 12426 } 12427 ] 12428 }, 12429 "19": { 12430 "patterns": [ 12431 { 12432 "include": "#inline_comment" 12433 } 12434 ] 12435 }, 12436 "20": { 12437 "patterns": [ 12438 { 12439 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12440 "captures": { 12441 "1": { 12442 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12443 }, 12444 "2": { 12445 "name": "comment.block.cpp" 12446 }, 12447 "3": { 12448 "patterns": [ 12449 { 12450 "match": "\\*\\/", 12451 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12452 }, 12453 { 12454 "match": "\\*", 12455 "name": "comment.block.cpp" 12456 } 12457 ] 12458 } 12459 } 12460 } 12461 ] 12462 } 12463 } 12464 }, 12465 "parentheses": { 12466 "begin": "\\(", 12467 "end": "\\)", 12468 "beginCaptures": { 12469 "0": { 12470 "name": "punctuation.section.parens.begin.bracket.round.cpp" 12471 } 12472 }, 12473 "endCaptures": { 12474 "0": { 12475 "name": "punctuation.section.parens.end.bracket.round.cpp" 12476 } 12477 }, 12478 "name": "meta.parens.cpp", 12479 "patterns": [ 12480 { 12481 "include": "#over_qualified_types" 12482 }, 12483 { 12484 "match": "(?<!:):(?!:)", 12485 "name": "punctuation.separator.colon.range-based.cpp" 12486 }, 12487 { 12488 "include": "#evaluation_context" 12489 } 12490 ] 12491 }, 12492 "pragma": { 12493 "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma\\b", 12494 "end": "(?<!\\\\)(?=\\n)", 12495 "beginCaptures": { 12496 "0": { 12497 "name": "keyword.control.directive.pragma.cpp" 12498 }, 12499 "1": { 12500 "patterns": [ 12501 { 12502 "include": "#inline_comment" 12503 } 12504 ] 12505 }, 12506 "2": { 12507 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12508 }, 12509 "3": { 12510 "name": "comment.block.cpp" 12511 }, 12512 "4": { 12513 "patterns": [ 12514 { 12515 "match": "\\*\\/", 12516 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12517 }, 12518 { 12519 "match": "\\*", 12520 "name": "comment.block.cpp" 12521 } 12522 ] 12523 }, 12524 "5": { 12525 "name": "punctuation.definition.directive.cpp" 12526 } 12527 }, 12528 "endCaptures": {}, 12529 "name": "meta.preprocessor.pragma.cpp", 12530 "patterns": [ 12531 { 12532 "include": "#comments" 12533 }, 12534 { 12535 "include": "#string_context" 12536 }, 12537 { 12538 "match": "[a-zA-Z_$][\\w\\-$]*", 12539 "name": "entity.other.attribute-name.pragma.preprocessor.cpp" 12540 }, 12541 { 12542 "include": "#preprocessor_number_literal" 12543 }, 12544 { 12545 "include": "#line_continuation_character" 12546 } 12547 ] 12548 }, 12549 "pragma_mark": { 12550 "match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma(?:\\s)+mark)(?:\\s)+(.*)", 12551 "captures": { 12552 "1": { 12553 "name": "keyword.control.directive.pragma.pragma-mark.cpp" 12554 }, 12555 "2": { 12556 "patterns": [ 12557 { 12558 "include": "#inline_comment" 12559 } 12560 ] 12561 }, 12562 "3": { 12563 "patterns": [ 12564 { 12565 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12566 "captures": { 12567 "1": { 12568 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12569 }, 12570 "2": { 12571 "name": "comment.block.cpp" 12572 }, 12573 "3": { 12574 "patterns": [ 12575 { 12576 "match": "\\*\\/", 12577 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12578 }, 12579 { 12580 "match": "\\*", 12581 "name": "comment.block.cpp" 12582 } 12583 ] 12584 } 12585 } 12586 } 12587 ] 12588 }, 12589 "4": { 12590 "name": "punctuation.definition.directive.cpp" 12591 }, 12592 "5": { 12593 "name": "entity.name.tag.pragma-mark.cpp" 12594 } 12595 }, 12596 "name": "meta.preprocessor.pragma.cpp" 12597 }, 12598 "predefined_macros": { 12599 "patterns": [ 12600 { 12601 "match": "\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b", 12602 "captures": { 12603 "1": { 12604 "name": "entity.name.other.preprocessor.macro.predefined.$1.cpp" 12605 } 12606 } 12607 }, 12608 { 12609 "match": "\\b__([A-Z_]+)__\\b", 12610 "name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp" 12611 } 12612 ] 12613 }, 12614 "preprocessor_conditional_context": { 12615 "patterns": [ 12616 { 12617 "include": "#preprocessor_conditional_defined" 12618 }, 12619 { 12620 "include": "#comments" 12621 }, 12622 { 12623 "include": "#language_constants" 12624 }, 12625 { 12626 "include": "#string_context" 12627 }, 12628 { 12629 "include": "#d9bc4796b0b_preprocessor_number_literal" 12630 }, 12631 { 12632 "include": "#operators" 12633 }, 12634 { 12635 "include": "#predefined_macros" 12636 }, 12637 { 12638 "include": "#macro_name" 12639 }, 12640 { 12641 "include": "#line_continuation_character" 12642 } 12643 ] 12644 }, 12645 "preprocessor_conditional_defined": { 12646 "begin": "((?<!\\w)defined(?!\\w))(\\()", 12647 "end": "(?:\\)|(?<!\\\\)(?=\\n))", 12648 "beginCaptures": { 12649 "1": { 12650 "name": "keyword.control.directive.conditional.defined.cpp" 12651 }, 12652 "2": { 12653 "name": "punctuation.section.parens.control.defined.cpp" 12654 } 12655 }, 12656 "endCaptures": { 12657 "0": { 12658 "name": "punctuation.section.parens.control.defined.cpp" 12659 } 12660 }, 12661 "patterns": [ 12662 { 12663 "include": "#macro_name" 12664 } 12665 ] 12666 }, 12667 "preprocessor_conditional_parentheses": { 12668 "begin": "\\(", 12669 "end": "\\)", 12670 "beginCaptures": { 12671 "0": { 12672 "name": "punctuation.section.parens.begin.bracket.round.cpp" 12673 } 12674 }, 12675 "endCaptures": { 12676 "0": { 12677 "name": "punctuation.section.parens.end.bracket.round.cpp" 12678 } 12679 }, 12680 "name": "meta.parens.preprocessor.conditional.cpp" 12681 }, 12682 "preprocessor_conditional_range": { 12683 "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:(?:ifndef|ifdef)|if))", 12684 "end": "^(?!\\s*+#\\s*(?:else|endif))", 12685 "beginCaptures": { 12686 "0": { 12687 "name": "keyword.control.directive.conditional.$6.cpp" 12688 }, 12689 "1": { 12690 "patterns": [ 12691 { 12692 "include": "#inline_comment" 12693 } 12694 ] 12695 }, 12696 "2": { 12697 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12698 }, 12699 "3": { 12700 "name": "comment.block.cpp" 12701 }, 12702 "4": { 12703 "patterns": [ 12704 { 12705 "match": "\\*\\/", 12706 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12707 }, 12708 { 12709 "match": "\\*", 12710 "name": "comment.block.cpp" 12711 } 12712 ] 12713 }, 12714 "5": { 12715 "name": "punctuation.definition.directive.cpp" 12716 }, 12717 "6": {} 12718 }, 12719 "endCaptures": {}, 12720 "patterns": [ 12721 { 12722 "begin": "\\G(?<=ifndef|ifdef|if)", 12723 "end": "(?<!\\\\)(?=\\n)", 12724 "beginCaptures": {}, 12725 "endCaptures": {}, 12726 "name": "meta.preprocessor.conditional.cpp", 12727 "patterns": [ 12728 { 12729 "include": "#preprocessor_conditional_context" 12730 } 12731 ] 12732 }, 12733 { 12734 "include": "$self" 12735 } 12736 ] 12737 }, 12738 "preprocessor_conditional_standalone": { 12739 "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?<!\\w)(?:endif|else|elif)(?!\\w))", 12740 "captures": { 12741 "1": { 12742 "patterns": [ 12743 { 12744 "include": "#inline_comment" 12745 } 12746 ] 12747 }, 12748 "2": { 12749 "patterns": [ 12750 { 12751 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12752 "captures": { 12753 "1": { 12754 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12755 }, 12756 "2": { 12757 "name": "comment.block.cpp" 12758 }, 12759 "3": { 12760 "patterns": [ 12761 { 12762 "match": "\\*\\/", 12763 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12764 }, 12765 { 12766 "match": "\\*", 12767 "name": "comment.block.cpp" 12768 } 12769 ] 12770 } 12771 } 12772 } 12773 ] 12774 }, 12775 "3": { 12776 "name": "punctuation.definition.directive.cpp" 12777 } 12778 }, 12779 "name": "keyword.control.directive.$4.cpp" 12780 }, 12781 "preprocessor_context": { 12782 "patterns": [ 12783 { 12784 "include": "#pragma_mark" 12785 }, 12786 { 12787 "include": "#pragma" 12788 }, 12789 { 12790 "include": "#include" 12791 }, 12792 { 12793 "include": "#line" 12794 }, 12795 { 12796 "include": "#diagnostic" 12797 }, 12798 { 12799 "include": "#undef" 12800 }, 12801 { 12802 "include": "#preprocessor_conditional_range" 12803 }, 12804 { 12805 "include": "#single_line_macro" 12806 }, 12807 { 12808 "include": "#macro" 12809 }, 12810 { 12811 "include": "#preprocessor_conditional_standalone" 12812 }, 12813 { 12814 "include": "#macro_argument" 12815 } 12816 ] 12817 }, 12818 "qualified_type": { 12819 "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)?(?![\\w<:.])", 12820 "captures": { 12821 "0": { 12822 "patterns": [ 12823 { 12824 "match": "::", 12825 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 12826 }, 12827 { 12828 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 12829 "name": "storage.type.$0.cpp" 12830 }, 12831 { 12832 "include": "#attributes_context" 12833 }, 12834 { 12835 "include": "#storage_types" 12836 }, 12837 { 12838 "include": "#number_literal" 12839 }, 12840 { 12841 "include": "#string_context" 12842 }, 12843 { 12844 "include": "#comma" 12845 }, 12846 { 12847 "include": "#scope_resolution_inner_generated" 12848 }, 12849 { 12850 "begin": "<", 12851 "end": ">", 12852 "beginCaptures": { 12853 "0": { 12854 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 12855 } 12856 }, 12857 "endCaptures": { 12858 "0": { 12859 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 12860 } 12861 }, 12862 "name": "meta.template.call.cpp", 12863 "patterns": [ 12864 { 12865 "include": "#template_call_context" 12866 } 12867 ] 12868 }, 12869 { 12870 "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}))*", 12871 "name": "entity.name.type.cpp" 12872 } 12873 ] 12874 }, 12875 "1": { 12876 "patterns": [ 12877 { 12878 "include": "#attributes_context" 12879 }, 12880 { 12881 "include": "#number_literal" 12882 } 12883 ] 12884 }, 12885 "2": { 12886 "patterns": [ 12887 { 12888 "include": "#inline_comment" 12889 } 12890 ] 12891 }, 12892 "3": { 12893 "patterns": [ 12894 { 12895 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12896 "captures": { 12897 "1": { 12898 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12899 }, 12900 "2": { 12901 "name": "comment.block.cpp" 12902 }, 12903 "3": { 12904 "patterns": [ 12905 { 12906 "match": "\\*\\/", 12907 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12908 }, 12909 { 12910 "match": "\\*", 12911 "name": "comment.block.cpp" 12912 } 12913 ] 12914 } 12915 } 12916 } 12917 ] 12918 }, 12919 "4": { 12920 "patterns": [ 12921 { 12922 "include": "#inline_comment" 12923 } 12924 ] 12925 }, 12926 "5": { 12927 "patterns": [ 12928 { 12929 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12930 "captures": { 12931 "1": { 12932 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12933 }, 12934 "2": { 12935 "name": "comment.block.cpp" 12936 }, 12937 "3": { 12938 "patterns": [ 12939 { 12940 "match": "\\*\\/", 12941 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12942 }, 12943 { 12944 "match": "\\*", 12945 "name": "comment.block.cpp" 12946 } 12947 ] 12948 } 12949 } 12950 } 12951 ] 12952 }, 12953 "6": { 12954 "patterns": [ 12955 { 12956 "match": "::", 12957 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 12958 }, 12959 { 12960 "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)", 12961 "name": "entity.name.scope-resolution.type.cpp" 12962 }, 12963 { 12964 "include": "#template_call_range" 12965 } 12966 ] 12967 }, 12968 "7": { 12969 "patterns": [ 12970 { 12971 "include": "#template_call_range" 12972 } 12973 ] 12974 }, 12975 "9": { 12976 "patterns": [ 12977 { 12978 "include": "#inline_comment" 12979 } 12980 ] 12981 }, 12982 "10": { 12983 "patterns": [ 12984 { 12985 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 12986 "captures": { 12987 "1": { 12988 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 12989 }, 12990 "2": { 12991 "name": "comment.block.cpp" 12992 }, 12993 "3": { 12994 "patterns": [ 12995 { 12996 "match": "\\*\\/", 12997 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 12998 }, 12999 { 13000 "match": "\\*", 13001 "name": "comment.block.cpp" 13002 } 13003 ] 13004 } 13005 } 13006 } 13007 ] 13008 } 13009 }, 13010 "name": "meta.qualified_type.cpp" 13011 }, 13012 "qualifiers_and_specifiers_post_parameters": { 13013 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?<!\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\w))+(?=\\s*(?:(?:\\{|;)|[\\n\\r])))", 13014 "captures": { 13015 "1": { 13016 "patterns": [ 13017 { 13018 "include": "#inline_comment" 13019 } 13020 ] 13021 }, 13022 "2": { 13023 "patterns": [ 13024 { 13025 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 13026 "captures": { 13027 "1": { 13028 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 13029 }, 13030 "2": { 13031 "name": "comment.block.cpp" 13032 }, 13033 "3": { 13034 "patterns": [ 13035 { 13036 "match": "\\*\\/", 13037 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 13038 }, 13039 { 13040 "match": "\\*", 13041 "name": "comment.block.cpp" 13042 } 13043 ] 13044 } 13045 } 13046 } 13047 ] 13048 }, 13049 "3": { 13050 "name": "storage.modifier.specifier.functional.post-parameters.$3.cpp" 13051 }, 13052 "4": { 13053 "patterns": [ 13054 { 13055 "include": "#inline_comment" 13056 } 13057 ] 13058 }, 13059 "5": { 13060 "patterns": [ 13061 { 13062 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 13063 "captures": { 13064 "1": { 13065 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 13066 }, 13067 "2": { 13068 "name": "comment.block.cpp" 13069 }, 13070 "3": { 13071 "patterns": [ 13072 { 13073 "match": "\\*\\/", 13074 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 13075 }, 13076 { 13077 "match": "\\*", 13078 "name": "comment.block.cpp" 13079 } 13080 ] 13081 } 13082 } 13083 } 13084 ] 13085 } 13086 } 13087 }, 13088 "scope_resolution": { 13089 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", 13090 "captures": { 13091 "0": { 13092 "patterns": [ 13093 { 13094 "include": "#scope_resolution_inner_generated" 13095 } 13096 ] 13097 }, 13098 "1": { 13099 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 13100 }, 13101 "2": { 13102 "patterns": [ 13103 { 13104 "include": "#template_call_range" 13105 } 13106 ] 13107 } 13108 } 13109 }, 13110 "scope_resolution_function_call": { 13111 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", 13112 "captures": { 13113 "0": { 13114 "patterns": [ 13115 { 13116 "include": "#scope_resolution_function_call_inner_generated" 13117 } 13118 ] 13119 }, 13120 "1": { 13121 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" 13122 }, 13123 "2": { 13124 "patterns": [ 13125 { 13126 "include": "#template_call_range" 13127 } 13128 ] 13129 } 13130 } 13131 }, 13132 "scope_resolution_function_call_inner_generated": { 13133 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", 13134 "captures": { 13135 "1": { 13136 "patterns": [ 13137 { 13138 "include": "#scope_resolution_function_call_inner_generated" 13139 } 13140 ] 13141 }, 13142 "2": { 13143 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" 13144 }, 13145 "3": { 13146 "patterns": [ 13147 { 13148 "include": "#template_call_range" 13149 } 13150 ] 13151 }, 13152 "4": {}, 13153 "5": { 13154 "name": "entity.name.scope-resolution.function.call.cpp" 13155 }, 13156 "6": { 13157 "name": "meta.template.call.cpp", 13158 "patterns": [ 13159 { 13160 "include": "#template_call_range" 13161 } 13162 ] 13163 }, 13164 "7": {}, 13165 "8": { 13166 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" 13167 } 13168 } 13169 }, 13170 "scope_resolution_function_definition": { 13171 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", 13172 "captures": { 13173 "0": { 13174 "patterns": [ 13175 { 13176 "include": "#scope_resolution_function_definition_inner_generated" 13177 } 13178 ] 13179 }, 13180 "1": { 13181 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" 13182 }, 13183 "2": { 13184 "patterns": [ 13185 { 13186 "include": "#template_call_range" 13187 } 13188 ] 13189 } 13190 } 13191 }, 13192 "scope_resolution_function_definition_inner_generated": { 13193 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", 13194 "captures": { 13195 "1": { 13196 "patterns": [ 13197 { 13198 "include": "#scope_resolution_function_definition_inner_generated" 13199 } 13200 ] 13201 }, 13202 "2": { 13203 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" 13204 }, 13205 "3": { 13206 "patterns": [ 13207 { 13208 "include": "#template_call_range" 13209 } 13210 ] 13211 }, 13212 "4": {}, 13213 "5": { 13214 "name": "entity.name.scope-resolution.function.definition.cpp" 13215 }, 13216 "6": { 13217 "name": "meta.template.call.cpp", 13218 "patterns": [ 13219 { 13220 "include": "#template_call_range" 13221 } 13222 ] 13223 }, 13224 "7": {}, 13225 "8": { 13226 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" 13227 } 13228 } 13229 }, 13230 "scope_resolution_function_definition_operator_overload": { 13231 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", 13232 "captures": { 13233 "0": { 13234 "patterns": [ 13235 { 13236 "include": "#scope_resolution_function_definition_operator_overload_inner_generated" 13237 } 13238 ] 13239 }, 13240 "1": { 13241 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" 13242 }, 13243 "2": { 13244 "patterns": [ 13245 { 13246 "include": "#template_call_range" 13247 } 13248 ] 13249 } 13250 } 13251 }, 13252 "scope_resolution_function_definition_operator_overload_inner_generated": { 13253 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", 13254 "captures": { 13255 "1": { 13256 "patterns": [ 13257 { 13258 "include": "#scope_resolution_function_definition_operator_overload_inner_generated" 13259 } 13260 ] 13261 }, 13262 "2": { 13263 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" 13264 }, 13265 "3": { 13266 "patterns": [ 13267 { 13268 "include": "#template_call_range" 13269 } 13270 ] 13271 }, 13272 "4": {}, 13273 "5": { 13274 "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp" 13275 }, 13276 "6": { 13277 "name": "meta.template.call.cpp", 13278 "patterns": [ 13279 { 13280 "include": "#template_call_range" 13281 } 13282 ] 13283 }, 13284 "7": {}, 13285 "8": { 13286 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" 13287 } 13288 } 13289 }, 13290 "scope_resolution_inner_generated": { 13291 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", 13292 "captures": { 13293 "1": { 13294 "patterns": [ 13295 { 13296 "include": "#scope_resolution_inner_generated" 13297 } 13298 ] 13299 }, 13300 "2": { 13301 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 13302 }, 13303 "3": { 13304 "patterns": [ 13305 { 13306 "include": "#template_call_range" 13307 } 13308 ] 13309 }, 13310 "4": {}, 13311 "5": { 13312 "name": "entity.name.scope-resolution.cpp" 13313 }, 13314 "6": { 13315 "name": "meta.template.call.cpp", 13316 "patterns": [ 13317 { 13318 "include": "#template_call_range" 13319 } 13320 ] 13321 }, 13322 "7": {}, 13323 "8": { 13324 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 13325 } 13326 } 13327 }, 13328 "scope_resolution_namespace_alias": { 13329 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", 13330 "captures": { 13331 "0": { 13332 "patterns": [ 13333 { 13334 "include": "#scope_resolution_namespace_alias_inner_generated" 13335 } 13336 ] 13337 }, 13338 "1": { 13339 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" 13340 }, 13341 "2": { 13342 "patterns": [ 13343 { 13344 "include": "#template_call_range" 13345 } 13346 ] 13347 } 13348 } 13349 }, 13350 "scope_resolution_namespace_alias_inner_generated": { 13351 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", 13352 "captures": { 13353 "1": { 13354 "patterns": [ 13355 { 13356 "include": "#scope_resolution_namespace_alias_inner_generated" 13357 } 13358 ] 13359 }, 13360 "2": { 13361 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" 13362 }, 13363 "3": { 13364 "patterns": [ 13365 { 13366 "include": "#template_call_range" 13367 } 13368 ] 13369 }, 13370 "4": {}, 13371 "5": { 13372 "name": "entity.name.scope-resolution.namespace.alias.cpp" 13373 }, 13374 "6": { 13375 "name": "meta.template.call.cpp", 13376 "patterns": [ 13377 { 13378 "include": "#template_call_range" 13379 } 13380 ] 13381 }, 13382 "7": {}, 13383 "8": { 13384 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" 13385 } 13386 } 13387 }, 13388 "scope_resolution_namespace_block": { 13389 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", 13390 "captures": { 13391 "0": { 13392 "patterns": [ 13393 { 13394 "include": "#scope_resolution_namespace_block_inner_generated" 13395 } 13396 ] 13397 }, 13398 "1": { 13399 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" 13400 }, 13401 "2": { 13402 "patterns": [ 13403 { 13404 "include": "#template_call_range" 13405 } 13406 ] 13407 } 13408 } 13409 }, 13410 "scope_resolution_namespace_block_inner_generated": { 13411 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", 13412 "captures": { 13413 "1": { 13414 "patterns": [ 13415 { 13416 "include": "#scope_resolution_namespace_block_inner_generated" 13417 } 13418 ] 13419 }, 13420 "2": { 13421 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" 13422 }, 13423 "3": { 13424 "patterns": [ 13425 { 13426 "include": "#template_call_range" 13427 } 13428 ] 13429 }, 13430 "4": {}, 13431 "5": { 13432 "name": "entity.name.scope-resolution.namespace.block.cpp" 13433 }, 13434 "6": { 13435 "name": "meta.template.call.cpp", 13436 "patterns": [ 13437 { 13438 "include": "#template_call_range" 13439 } 13440 ] 13441 }, 13442 "7": {}, 13443 "8": { 13444 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" 13445 } 13446 } 13447 }, 13448 "scope_resolution_namespace_using": { 13449 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", 13450 "captures": { 13451 "0": { 13452 "patterns": [ 13453 { 13454 "include": "#scope_resolution_namespace_using_inner_generated" 13455 } 13456 ] 13457 }, 13458 "1": { 13459 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" 13460 }, 13461 "2": { 13462 "patterns": [ 13463 { 13464 "include": "#template_call_range" 13465 } 13466 ] 13467 } 13468 } 13469 }, 13470 "scope_resolution_namespace_using_inner_generated": { 13471 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", 13472 "captures": { 13473 "1": { 13474 "patterns": [ 13475 { 13476 "include": "#scope_resolution_namespace_using_inner_generated" 13477 } 13478 ] 13479 }, 13480 "2": { 13481 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" 13482 }, 13483 "3": { 13484 "patterns": [ 13485 { 13486 "include": "#template_call_range" 13487 } 13488 ] 13489 }, 13490 "4": {}, 13491 "5": { 13492 "name": "entity.name.scope-resolution.namespace.using.cpp" 13493 }, 13494 "6": { 13495 "name": "meta.template.call.cpp", 13496 "patterns": [ 13497 { 13498 "include": "#template_call_range" 13499 } 13500 ] 13501 }, 13502 "7": {}, 13503 "8": { 13504 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" 13505 } 13506 } 13507 }, 13508 "scope_resolution_parameter": { 13509 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", 13510 "captures": { 13511 "0": { 13512 "patterns": [ 13513 { 13514 "include": "#scope_resolution_parameter_inner_generated" 13515 } 13516 ] 13517 }, 13518 "1": { 13519 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" 13520 }, 13521 "2": { 13522 "patterns": [ 13523 { 13524 "include": "#template_call_range" 13525 } 13526 ] 13527 } 13528 } 13529 }, 13530 "scope_resolution_parameter_inner_generated": { 13531 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", 13532 "captures": { 13533 "1": { 13534 "patterns": [ 13535 { 13536 "include": "#scope_resolution_parameter_inner_generated" 13537 } 13538 ] 13539 }, 13540 "2": { 13541 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" 13542 }, 13543 "3": { 13544 "patterns": [ 13545 { 13546 "include": "#template_call_range" 13547 } 13548 ] 13549 }, 13550 "4": {}, 13551 "5": { 13552 "name": "entity.name.scope-resolution.parameter.cpp" 13553 }, 13554 "6": { 13555 "name": "meta.template.call.cpp", 13556 "patterns": [ 13557 { 13558 "include": "#template_call_range" 13559 } 13560 ] 13561 }, 13562 "7": {}, 13563 "8": { 13564 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" 13565 } 13566 } 13567 }, 13568 "scope_resolution_template_call": { 13569 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", 13570 "captures": { 13571 "0": { 13572 "patterns": [ 13573 { 13574 "include": "#scope_resolution_template_call_inner_generated" 13575 } 13576 ] 13577 }, 13578 "1": { 13579 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" 13580 }, 13581 "2": { 13582 "patterns": [ 13583 { 13584 "include": "#template_call_range" 13585 } 13586 ] 13587 } 13588 } 13589 }, 13590 "scope_resolution_template_call_inner_generated": { 13591 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", 13592 "captures": { 13593 "1": { 13594 "patterns": [ 13595 { 13596 "include": "#scope_resolution_template_call_inner_generated" 13597 } 13598 ] 13599 }, 13600 "2": { 13601 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" 13602 }, 13603 "3": { 13604 "patterns": [ 13605 { 13606 "include": "#template_call_range" 13607 } 13608 ] 13609 }, 13610 "4": {}, 13611 "5": { 13612 "name": "entity.name.scope-resolution.template.call.cpp" 13613 }, 13614 "6": { 13615 "name": "meta.template.call.cpp", 13616 "patterns": [ 13617 { 13618 "include": "#template_call_range" 13619 } 13620 ] 13621 }, 13622 "7": {}, 13623 "8": { 13624 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" 13625 } 13626 } 13627 }, 13628 "scope_resolution_template_definition": { 13629 "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", 13630 "captures": { 13631 "0": { 13632 "patterns": [ 13633 { 13634 "include": "#scope_resolution_template_definition_inner_generated" 13635 } 13636 ] 13637 }, 13638 "1": { 13639 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" 13640 }, 13641 "2": { 13642 "patterns": [ 13643 { 13644 "include": "#template_call_range" 13645 } 13646 ] 13647 } 13648 } 13649 }, 13650 "scope_resolution_template_definition_inner_generated": { 13651 "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", 13652 "captures": { 13653 "1": { 13654 "patterns": [ 13655 { 13656 "include": "#scope_resolution_template_definition_inner_generated" 13657 } 13658 ] 13659 }, 13660 "2": { 13661 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" 13662 }, 13663 "3": { 13664 "patterns": [ 13665 { 13666 "include": "#template_call_range" 13667 } 13668 ] 13669 }, 13670 "4": {}, 13671 "5": { 13672 "name": "entity.name.scope-resolution.template.definition.cpp" 13673 }, 13674 "6": { 13675 "name": "meta.template.call.cpp", 13676 "patterns": [ 13677 { 13678 "include": "#template_call_range" 13679 } 13680 ] 13681 }, 13682 "7": {}, 13683 "8": { 13684 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" 13685 } 13686 } 13687 }, 13688 "semicolon": { 13689 "match": ";", 13690 "name": "punctuation.terminator.statement.cpp" 13691 }, 13692 "simple_type": { 13693 "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", 13694 "captures": { 13695 "1": { 13696 "name": "meta.qualified_type.cpp", 13697 "patterns": [ 13698 { 13699 "match": "::", 13700 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 13701 }, 13702 { 13703 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 13704 "name": "storage.type.$0.cpp" 13705 }, 13706 { 13707 "include": "#attributes_context" 13708 }, 13709 { 13710 "include": "#storage_types" 13711 }, 13712 { 13713 "include": "#number_literal" 13714 }, 13715 { 13716 "include": "#string_context" 13717 }, 13718 { 13719 "include": "#comma" 13720 }, 13721 { 13722 "include": "#scope_resolution_inner_generated" 13723 }, 13724 { 13725 "begin": "<", 13726 "end": ">", 13727 "beginCaptures": { 13728 "0": { 13729 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 13730 } 13731 }, 13732 "endCaptures": { 13733 "0": { 13734 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 13735 } 13736 }, 13737 "name": "meta.template.call.cpp", 13738 "patterns": [ 13739 { 13740 "include": "#template_call_context" 13741 } 13742 ] 13743 }, 13744 { 13745 "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}))*", 13746 "name": "entity.name.type.cpp" 13747 } 13748 ] 13749 }, 13750 "2": { 13751 "patterns": [ 13752 { 13753 "include": "#attributes_context" 13754 }, 13755 { 13756 "include": "#number_literal" 13757 } 13758 ] 13759 }, 13760 "3": { 13761 "patterns": [ 13762 { 13763 "include": "#inline_comment" 13764 } 13765 ] 13766 }, 13767 "4": { 13768 "patterns": [ 13769 { 13770 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 13771 "captures": { 13772 "1": { 13773 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 13774 }, 13775 "2": { 13776 "name": "comment.block.cpp" 13777 }, 13778 "3": { 13779 "patterns": [ 13780 { 13781 "match": "\\*\\/", 13782 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 13783 }, 13784 { 13785 "match": "\\*", 13786 "name": "comment.block.cpp" 13787 } 13788 ] 13789 } 13790 } 13791 } 13792 ] 13793 }, 13794 "5": { 13795 "patterns": [ 13796 { 13797 "include": "#inline_comment" 13798 } 13799 ] 13800 }, 13801 "6": { 13802 "patterns": [ 13803 { 13804 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 13805 "captures": { 13806 "1": { 13807 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 13808 }, 13809 "2": { 13810 "name": "comment.block.cpp" 13811 }, 13812 "3": { 13813 "patterns": [ 13814 { 13815 "match": "\\*\\/", 13816 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 13817 }, 13818 { 13819 "match": "\\*", 13820 "name": "comment.block.cpp" 13821 } 13822 ] 13823 } 13824 } 13825 } 13826 ] 13827 }, 13828 "7": { 13829 "patterns": [ 13830 { 13831 "match": "::", 13832 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 13833 }, 13834 { 13835 "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)", 13836 "name": "entity.name.scope-resolution.type.cpp" 13837 }, 13838 { 13839 "include": "#template_call_range" 13840 } 13841 ] 13842 }, 13843 "8": { 13844 "patterns": [ 13845 { 13846 "include": "#template_call_range" 13847 } 13848 ] 13849 }, 13850 "9": {}, 13851 "10": { 13852 "patterns": [ 13853 { 13854 "include": "#inline_comment" 13855 } 13856 ] 13857 }, 13858 "11": { 13859 "patterns": [ 13860 { 13861 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 13862 "captures": { 13863 "1": { 13864 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 13865 }, 13866 "2": { 13867 "name": "comment.block.cpp" 13868 }, 13869 "3": { 13870 "patterns": [ 13871 { 13872 "match": "\\*\\/", 13873 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 13874 }, 13875 { 13876 "match": "\\*", 13877 "name": "comment.block.cpp" 13878 } 13879 ] 13880 } 13881 } 13882 } 13883 ] 13884 }, 13885 "12": {}, 13886 "13": { 13887 "patterns": [ 13888 { 13889 "match": "\\*", 13890 "name": "storage.modifier.pointer.cpp" 13891 }, 13892 { 13893 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 13894 "captures": { 13895 "1": { 13896 "patterns": [ 13897 { 13898 "include": "#inline_comment" 13899 } 13900 ] 13901 }, 13902 "2": { 13903 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 13904 }, 13905 "3": { 13906 "name": "comment.block.cpp" 13907 }, 13908 "4": { 13909 "patterns": [ 13910 { 13911 "match": "\\*\\/", 13912 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 13913 }, 13914 { 13915 "match": "\\*", 13916 "name": "comment.block.cpp" 13917 } 13918 ] 13919 } 13920 }, 13921 "name": "invalid.illegal.reference-type.cpp" 13922 }, 13923 { 13924 "match": "\\&", 13925 "name": "storage.modifier.reference.cpp" 13926 } 13927 ] 13928 }, 13929 "14": { 13930 "patterns": [ 13931 { 13932 "include": "#inline_comment" 13933 } 13934 ] 13935 }, 13936 "15": { 13937 "patterns": [ 13938 { 13939 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 13940 "captures": { 13941 "1": { 13942 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 13943 }, 13944 "2": { 13945 "name": "comment.block.cpp" 13946 }, 13947 "3": { 13948 "patterns": [ 13949 { 13950 "match": "\\*\\/", 13951 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 13952 }, 13953 { 13954 "match": "\\*", 13955 "name": "comment.block.cpp" 13956 } 13957 ] 13958 } 13959 } 13960 } 13961 ] 13962 }, 13963 "16": { 13964 "patterns": [ 13965 { 13966 "include": "#inline_comment" 13967 } 13968 ] 13969 }, 13970 "17": { 13971 "patterns": [ 13972 { 13973 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 13974 "captures": { 13975 "1": { 13976 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 13977 }, 13978 "2": { 13979 "name": "comment.block.cpp" 13980 }, 13981 "3": { 13982 "patterns": [ 13983 { 13984 "match": "\\*\\/", 13985 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 13986 }, 13987 { 13988 "match": "\\*", 13989 "name": "comment.block.cpp" 13990 } 13991 ] 13992 } 13993 } 13994 } 13995 ] 13996 } 13997 } 13998 }, 13999 "single_line_macro": { 14000 "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))#define.*(?<![\\\\])(?:(?:\\n)|$)", 14001 "captures": { 14002 "0": { 14003 "patterns": [ 14004 { 14005 "include": "#macro" 14006 }, 14007 { 14008 "include": "#comments" 14009 } 14010 ] 14011 }, 14012 "1": { 14013 "patterns": [ 14014 { 14015 "include": "#inline_comment" 14016 } 14017 ] 14018 }, 14019 "2": { 14020 "patterns": [ 14021 { 14022 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14023 "captures": { 14024 "1": { 14025 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14026 }, 14027 "2": { 14028 "name": "comment.block.cpp" 14029 }, 14030 "3": { 14031 "patterns": [ 14032 { 14033 "match": "\\*\\/", 14034 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14035 }, 14036 { 14037 "match": "\\*", 14038 "name": "comment.block.cpp" 14039 } 14040 ] 14041 } 14042 } 14043 } 14044 ] 14045 } 14046 } 14047 }, 14048 "sizeof_operator": { 14049 "begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 14050 "end": "\\)", 14051 "beginCaptures": { 14052 "1": { 14053 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp" 14054 }, 14055 "2": { 14056 "patterns": [ 14057 { 14058 "include": "#inline_comment" 14059 } 14060 ] 14061 }, 14062 "3": { 14063 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14064 }, 14065 "4": { 14066 "name": "comment.block.cpp" 14067 }, 14068 "5": { 14069 "patterns": [ 14070 { 14071 "match": "\\*\\/", 14072 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14073 }, 14074 { 14075 "match": "\\*", 14076 "name": "comment.block.cpp" 14077 } 14078 ] 14079 }, 14080 "6": { 14081 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp" 14082 } 14083 }, 14084 "endCaptures": { 14085 "0": { 14086 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" 14087 } 14088 }, 14089 "contentName": "meta.arguments.operator.sizeof", 14090 "patterns": [ 14091 { 14092 "include": "#evaluation_context" 14093 } 14094 ] 14095 }, 14096 "sizeof_variadic_operator": { 14097 "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 14098 "end": "\\)", 14099 "beginCaptures": { 14100 "1": { 14101 "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" 14102 }, 14103 "2": { 14104 "patterns": [ 14105 { 14106 "include": "#inline_comment" 14107 } 14108 ] 14109 }, 14110 "3": { 14111 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14112 }, 14113 "4": { 14114 "name": "comment.block.cpp" 14115 }, 14116 "5": { 14117 "patterns": [ 14118 { 14119 "match": "\\*\\/", 14120 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14121 }, 14122 { 14123 "match": "\\*", 14124 "name": "comment.block.cpp" 14125 } 14126 ] 14127 }, 14128 "6": { 14129 "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" 14130 } 14131 }, 14132 "endCaptures": { 14133 "0": { 14134 "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" 14135 } 14136 }, 14137 "contentName": "meta.arguments.operator.sizeof.variadic", 14138 "patterns": [ 14139 { 14140 "include": "#evaluation_context" 14141 } 14142 ] 14143 }, 14144 "square_brackets": { 14145 "name": "meta.bracket.square.access", 14146 "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])", 14147 "beginCaptures": { 14148 "1": { 14149 "name": "variable.other.object" 14150 }, 14151 "2": { 14152 "name": "punctuation.definition.begin.bracket.square" 14153 } 14154 }, 14155 "end": "\\]", 14156 "endCaptures": { 14157 "0": { 14158 "name": "punctuation.definition.end.bracket.square" 14159 } 14160 }, 14161 "patterns": [ 14162 { 14163 "include": "#evaluation_context" 14164 } 14165 ] 14166 }, 14167 "standard_declares": { 14168 "patterns": [ 14169 { 14170 "match": "((?<!\\w)struct(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", 14171 "captures": { 14172 "1": { 14173 "name": "storage.type.struct.declare.cpp" 14174 }, 14175 "2": { 14176 "patterns": [ 14177 { 14178 "include": "#inline_comment" 14179 } 14180 ] 14181 }, 14182 "3": { 14183 "patterns": [ 14184 { 14185 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14186 "captures": { 14187 "1": { 14188 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14189 }, 14190 "2": { 14191 "name": "comment.block.cpp" 14192 }, 14193 "3": { 14194 "patterns": [ 14195 { 14196 "match": "\\*\\/", 14197 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14198 }, 14199 { 14200 "match": "\\*", 14201 "name": "comment.block.cpp" 14202 } 14203 ] 14204 } 14205 } 14206 } 14207 ] 14208 }, 14209 "4": { 14210 "name": "entity.name.type.struct.cpp" 14211 }, 14212 "5": { 14213 "patterns": [ 14214 { 14215 "match": "\\*", 14216 "name": "storage.modifier.pointer.cpp" 14217 }, 14218 { 14219 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 14220 "captures": { 14221 "1": { 14222 "patterns": [ 14223 { 14224 "include": "#inline_comment" 14225 } 14226 ] 14227 }, 14228 "2": { 14229 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14230 }, 14231 "3": { 14232 "name": "comment.block.cpp" 14233 }, 14234 "4": { 14235 "patterns": [ 14236 { 14237 "match": "\\*\\/", 14238 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14239 }, 14240 { 14241 "match": "\\*", 14242 "name": "comment.block.cpp" 14243 } 14244 ] 14245 } 14246 }, 14247 "name": "invalid.illegal.reference-type.cpp" 14248 }, 14249 { 14250 "match": "\\&", 14251 "name": "storage.modifier.reference.cpp" 14252 } 14253 ] 14254 }, 14255 "6": { 14256 "patterns": [ 14257 { 14258 "include": "#inline_comment" 14259 } 14260 ] 14261 }, 14262 "7": { 14263 "patterns": [ 14264 { 14265 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14266 "captures": { 14267 "1": { 14268 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14269 }, 14270 "2": { 14271 "name": "comment.block.cpp" 14272 }, 14273 "3": { 14274 "patterns": [ 14275 { 14276 "match": "\\*\\/", 14277 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14278 }, 14279 { 14280 "match": "\\*", 14281 "name": "comment.block.cpp" 14282 } 14283 ] 14284 } 14285 } 14286 } 14287 ] 14288 }, 14289 "8": { 14290 "patterns": [ 14291 { 14292 "include": "#inline_comment" 14293 } 14294 ] 14295 }, 14296 "9": { 14297 "patterns": [ 14298 { 14299 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14300 "captures": { 14301 "1": { 14302 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14303 }, 14304 "2": { 14305 "name": "comment.block.cpp" 14306 }, 14307 "3": { 14308 "patterns": [ 14309 { 14310 "match": "\\*\\/", 14311 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14312 }, 14313 { 14314 "match": "\\*", 14315 "name": "comment.block.cpp" 14316 } 14317 ] 14318 } 14319 } 14320 } 14321 ] 14322 }, 14323 "10": { 14324 "patterns": [ 14325 { 14326 "include": "#inline_comment" 14327 } 14328 ] 14329 }, 14330 "11": { 14331 "patterns": [ 14332 { 14333 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14334 "captures": { 14335 "1": { 14336 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14337 }, 14338 "2": { 14339 "name": "comment.block.cpp" 14340 }, 14341 "3": { 14342 "patterns": [ 14343 { 14344 "match": "\\*\\/", 14345 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14346 }, 14347 { 14348 "match": "\\*", 14349 "name": "comment.block.cpp" 14350 } 14351 ] 14352 } 14353 } 14354 } 14355 ] 14356 }, 14357 "12": { 14358 "name": "variable.other.object.declare.cpp" 14359 }, 14360 "13": { 14361 "patterns": [ 14362 { 14363 "include": "#inline_comment" 14364 } 14365 ] 14366 }, 14367 "14": { 14368 "patterns": [ 14369 { 14370 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14371 "captures": { 14372 "1": { 14373 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14374 }, 14375 "2": { 14376 "name": "comment.block.cpp" 14377 }, 14378 "3": { 14379 "patterns": [ 14380 { 14381 "match": "\\*\\/", 14382 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14383 }, 14384 { 14385 "match": "\\*", 14386 "name": "comment.block.cpp" 14387 } 14388 ] 14389 } 14390 } 14391 } 14392 ] 14393 } 14394 } 14395 }, 14396 { 14397 "match": "((?<!\\w)union(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", 14398 "captures": { 14399 "1": { 14400 "name": "storage.type.union.declare.cpp" 14401 }, 14402 "2": { 14403 "patterns": [ 14404 { 14405 "include": "#inline_comment" 14406 } 14407 ] 14408 }, 14409 "3": { 14410 "patterns": [ 14411 { 14412 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14413 "captures": { 14414 "1": { 14415 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14416 }, 14417 "2": { 14418 "name": "comment.block.cpp" 14419 }, 14420 "3": { 14421 "patterns": [ 14422 { 14423 "match": "\\*\\/", 14424 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14425 }, 14426 { 14427 "match": "\\*", 14428 "name": "comment.block.cpp" 14429 } 14430 ] 14431 } 14432 } 14433 } 14434 ] 14435 }, 14436 "4": { 14437 "name": "entity.name.type.union.cpp" 14438 }, 14439 "5": { 14440 "patterns": [ 14441 { 14442 "match": "\\*", 14443 "name": "storage.modifier.pointer.cpp" 14444 }, 14445 { 14446 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 14447 "captures": { 14448 "1": { 14449 "patterns": [ 14450 { 14451 "include": "#inline_comment" 14452 } 14453 ] 14454 }, 14455 "2": { 14456 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14457 }, 14458 "3": { 14459 "name": "comment.block.cpp" 14460 }, 14461 "4": { 14462 "patterns": [ 14463 { 14464 "match": "\\*\\/", 14465 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14466 }, 14467 { 14468 "match": "\\*", 14469 "name": "comment.block.cpp" 14470 } 14471 ] 14472 } 14473 }, 14474 "name": "invalid.illegal.reference-type.cpp" 14475 }, 14476 { 14477 "match": "\\&", 14478 "name": "storage.modifier.reference.cpp" 14479 } 14480 ] 14481 }, 14482 "6": { 14483 "patterns": [ 14484 { 14485 "include": "#inline_comment" 14486 } 14487 ] 14488 }, 14489 "7": { 14490 "patterns": [ 14491 { 14492 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14493 "captures": { 14494 "1": { 14495 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14496 }, 14497 "2": { 14498 "name": "comment.block.cpp" 14499 }, 14500 "3": { 14501 "patterns": [ 14502 { 14503 "match": "\\*\\/", 14504 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14505 }, 14506 { 14507 "match": "\\*", 14508 "name": "comment.block.cpp" 14509 } 14510 ] 14511 } 14512 } 14513 } 14514 ] 14515 }, 14516 "8": { 14517 "patterns": [ 14518 { 14519 "include": "#inline_comment" 14520 } 14521 ] 14522 }, 14523 "9": { 14524 "patterns": [ 14525 { 14526 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14527 "captures": { 14528 "1": { 14529 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14530 }, 14531 "2": { 14532 "name": "comment.block.cpp" 14533 }, 14534 "3": { 14535 "patterns": [ 14536 { 14537 "match": "\\*\\/", 14538 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14539 }, 14540 { 14541 "match": "\\*", 14542 "name": "comment.block.cpp" 14543 } 14544 ] 14545 } 14546 } 14547 } 14548 ] 14549 }, 14550 "10": { 14551 "patterns": [ 14552 { 14553 "include": "#inline_comment" 14554 } 14555 ] 14556 }, 14557 "11": { 14558 "patterns": [ 14559 { 14560 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14561 "captures": { 14562 "1": { 14563 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14564 }, 14565 "2": { 14566 "name": "comment.block.cpp" 14567 }, 14568 "3": { 14569 "patterns": [ 14570 { 14571 "match": "\\*\\/", 14572 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14573 }, 14574 { 14575 "match": "\\*", 14576 "name": "comment.block.cpp" 14577 } 14578 ] 14579 } 14580 } 14581 } 14582 ] 14583 }, 14584 "12": { 14585 "name": "variable.other.object.declare.cpp" 14586 }, 14587 "13": { 14588 "patterns": [ 14589 { 14590 "include": "#inline_comment" 14591 } 14592 ] 14593 }, 14594 "14": { 14595 "patterns": [ 14596 { 14597 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14598 "captures": { 14599 "1": { 14600 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14601 }, 14602 "2": { 14603 "name": "comment.block.cpp" 14604 }, 14605 "3": { 14606 "patterns": [ 14607 { 14608 "match": "\\*\\/", 14609 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14610 }, 14611 { 14612 "match": "\\*", 14613 "name": "comment.block.cpp" 14614 } 14615 ] 14616 } 14617 } 14618 } 14619 ] 14620 } 14621 } 14622 }, 14623 { 14624 "match": "((?<!\\w)enum(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", 14625 "captures": { 14626 "1": { 14627 "name": "storage.type.enum.declare.cpp" 14628 }, 14629 "2": { 14630 "patterns": [ 14631 { 14632 "include": "#inline_comment" 14633 } 14634 ] 14635 }, 14636 "3": { 14637 "patterns": [ 14638 { 14639 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14640 "captures": { 14641 "1": { 14642 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14643 }, 14644 "2": { 14645 "name": "comment.block.cpp" 14646 }, 14647 "3": { 14648 "patterns": [ 14649 { 14650 "match": "\\*\\/", 14651 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14652 }, 14653 { 14654 "match": "\\*", 14655 "name": "comment.block.cpp" 14656 } 14657 ] 14658 } 14659 } 14660 } 14661 ] 14662 }, 14663 "4": { 14664 "name": "entity.name.type.enum.cpp" 14665 }, 14666 "5": { 14667 "patterns": [ 14668 { 14669 "match": "\\*", 14670 "name": "storage.modifier.pointer.cpp" 14671 }, 14672 { 14673 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 14674 "captures": { 14675 "1": { 14676 "patterns": [ 14677 { 14678 "include": "#inline_comment" 14679 } 14680 ] 14681 }, 14682 "2": { 14683 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14684 }, 14685 "3": { 14686 "name": "comment.block.cpp" 14687 }, 14688 "4": { 14689 "patterns": [ 14690 { 14691 "match": "\\*\\/", 14692 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14693 }, 14694 { 14695 "match": "\\*", 14696 "name": "comment.block.cpp" 14697 } 14698 ] 14699 } 14700 }, 14701 "name": "invalid.illegal.reference-type.cpp" 14702 }, 14703 { 14704 "match": "\\&", 14705 "name": "storage.modifier.reference.cpp" 14706 } 14707 ] 14708 }, 14709 "6": { 14710 "patterns": [ 14711 { 14712 "include": "#inline_comment" 14713 } 14714 ] 14715 }, 14716 "7": { 14717 "patterns": [ 14718 { 14719 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14720 "captures": { 14721 "1": { 14722 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14723 }, 14724 "2": { 14725 "name": "comment.block.cpp" 14726 }, 14727 "3": { 14728 "patterns": [ 14729 { 14730 "match": "\\*\\/", 14731 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14732 }, 14733 { 14734 "match": "\\*", 14735 "name": "comment.block.cpp" 14736 } 14737 ] 14738 } 14739 } 14740 } 14741 ] 14742 }, 14743 "8": { 14744 "patterns": [ 14745 { 14746 "include": "#inline_comment" 14747 } 14748 ] 14749 }, 14750 "9": { 14751 "patterns": [ 14752 { 14753 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14754 "captures": { 14755 "1": { 14756 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14757 }, 14758 "2": { 14759 "name": "comment.block.cpp" 14760 }, 14761 "3": { 14762 "patterns": [ 14763 { 14764 "match": "\\*\\/", 14765 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14766 }, 14767 { 14768 "match": "\\*", 14769 "name": "comment.block.cpp" 14770 } 14771 ] 14772 } 14773 } 14774 } 14775 ] 14776 }, 14777 "10": { 14778 "patterns": [ 14779 { 14780 "include": "#inline_comment" 14781 } 14782 ] 14783 }, 14784 "11": { 14785 "patterns": [ 14786 { 14787 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14788 "captures": { 14789 "1": { 14790 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14791 }, 14792 "2": { 14793 "name": "comment.block.cpp" 14794 }, 14795 "3": { 14796 "patterns": [ 14797 { 14798 "match": "\\*\\/", 14799 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14800 }, 14801 { 14802 "match": "\\*", 14803 "name": "comment.block.cpp" 14804 } 14805 ] 14806 } 14807 } 14808 } 14809 ] 14810 }, 14811 "12": { 14812 "name": "variable.other.object.declare.cpp" 14813 }, 14814 "13": { 14815 "patterns": [ 14816 { 14817 "include": "#inline_comment" 14818 } 14819 ] 14820 }, 14821 "14": { 14822 "patterns": [ 14823 { 14824 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14825 "captures": { 14826 "1": { 14827 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14828 }, 14829 "2": { 14830 "name": "comment.block.cpp" 14831 }, 14832 "3": { 14833 "patterns": [ 14834 { 14835 "match": "\\*\\/", 14836 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14837 }, 14838 { 14839 "match": "\\*", 14840 "name": "comment.block.cpp" 14841 } 14842 ] 14843 } 14844 } 14845 } 14846 ] 14847 } 14848 } 14849 }, 14850 { 14851 "match": "((?<!\\w)class(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", 14852 "captures": { 14853 "1": { 14854 "name": "storage.type.class.declare.cpp" 14855 }, 14856 "2": { 14857 "patterns": [ 14858 { 14859 "include": "#inline_comment" 14860 } 14861 ] 14862 }, 14863 "3": { 14864 "patterns": [ 14865 { 14866 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14867 "captures": { 14868 "1": { 14869 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14870 }, 14871 "2": { 14872 "name": "comment.block.cpp" 14873 }, 14874 "3": { 14875 "patterns": [ 14876 { 14877 "match": "\\*\\/", 14878 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14879 }, 14880 { 14881 "match": "\\*", 14882 "name": "comment.block.cpp" 14883 } 14884 ] 14885 } 14886 } 14887 } 14888 ] 14889 }, 14890 "4": { 14891 "name": "entity.name.type.class.cpp" 14892 }, 14893 "5": { 14894 "patterns": [ 14895 { 14896 "match": "\\*", 14897 "name": "storage.modifier.pointer.cpp" 14898 }, 14899 { 14900 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 14901 "captures": { 14902 "1": { 14903 "patterns": [ 14904 { 14905 "include": "#inline_comment" 14906 } 14907 ] 14908 }, 14909 "2": { 14910 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14911 }, 14912 "3": { 14913 "name": "comment.block.cpp" 14914 }, 14915 "4": { 14916 "patterns": [ 14917 { 14918 "match": "\\*\\/", 14919 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14920 }, 14921 { 14922 "match": "\\*", 14923 "name": "comment.block.cpp" 14924 } 14925 ] 14926 } 14927 }, 14928 "name": "invalid.illegal.reference-type.cpp" 14929 }, 14930 { 14931 "match": "\\&", 14932 "name": "storage.modifier.reference.cpp" 14933 } 14934 ] 14935 }, 14936 "6": { 14937 "patterns": [ 14938 { 14939 "include": "#inline_comment" 14940 } 14941 ] 14942 }, 14943 "7": { 14944 "patterns": [ 14945 { 14946 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14947 "captures": { 14948 "1": { 14949 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14950 }, 14951 "2": { 14952 "name": "comment.block.cpp" 14953 }, 14954 "3": { 14955 "patterns": [ 14956 { 14957 "match": "\\*\\/", 14958 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14959 }, 14960 { 14961 "match": "\\*", 14962 "name": "comment.block.cpp" 14963 } 14964 ] 14965 } 14966 } 14967 } 14968 ] 14969 }, 14970 "8": { 14971 "patterns": [ 14972 { 14973 "include": "#inline_comment" 14974 } 14975 ] 14976 }, 14977 "9": { 14978 "patterns": [ 14979 { 14980 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 14981 "captures": { 14982 "1": { 14983 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 14984 }, 14985 "2": { 14986 "name": "comment.block.cpp" 14987 }, 14988 "3": { 14989 "patterns": [ 14990 { 14991 "match": "\\*\\/", 14992 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 14993 }, 14994 { 14995 "match": "\\*", 14996 "name": "comment.block.cpp" 14997 } 14998 ] 14999 } 15000 } 15001 } 15002 ] 15003 }, 15004 "10": { 15005 "patterns": [ 15006 { 15007 "include": "#inline_comment" 15008 } 15009 ] 15010 }, 15011 "11": { 15012 "patterns": [ 15013 { 15014 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 15015 "captures": { 15016 "1": { 15017 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15018 }, 15019 "2": { 15020 "name": "comment.block.cpp" 15021 }, 15022 "3": { 15023 "patterns": [ 15024 { 15025 "match": "\\*\\/", 15026 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15027 }, 15028 { 15029 "match": "\\*", 15030 "name": "comment.block.cpp" 15031 } 15032 ] 15033 } 15034 } 15035 } 15036 ] 15037 }, 15038 "12": { 15039 "name": "variable.other.object.declare.cpp" 15040 }, 15041 "13": { 15042 "patterns": [ 15043 { 15044 "include": "#inline_comment" 15045 } 15046 ] 15047 }, 15048 "14": { 15049 "patterns": [ 15050 { 15051 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 15052 "captures": { 15053 "1": { 15054 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15055 }, 15056 "2": { 15057 "name": "comment.block.cpp" 15058 }, 15059 "3": { 15060 "patterns": [ 15061 { 15062 "match": "\\*\\/", 15063 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15064 }, 15065 { 15066 "match": "\\*", 15067 "name": "comment.block.cpp" 15068 } 15069 ] 15070 } 15071 } 15072 } 15073 ] 15074 } 15075 } 15076 } 15077 ] 15078 }, 15079 "static_assert": { 15080 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)static_assert|_Static_assert(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 15081 "end": "\\)", 15082 "beginCaptures": { 15083 "1": { 15084 "patterns": [ 15085 { 15086 "include": "#inline_comment" 15087 } 15088 ] 15089 }, 15090 "2": { 15091 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15092 }, 15093 "3": { 15094 "name": "comment.block.cpp" 15095 }, 15096 "4": { 15097 "patterns": [ 15098 { 15099 "match": "\\*\\/", 15100 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15101 }, 15102 { 15103 "match": "\\*", 15104 "name": "comment.block.cpp" 15105 } 15106 ] 15107 }, 15108 "5": { 15109 "name": "keyword.other.static_assert.cpp" 15110 }, 15111 "6": { 15112 "patterns": [ 15113 { 15114 "include": "#inline_comment" 15115 } 15116 ] 15117 }, 15118 "7": { 15119 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15120 }, 15121 "8": { 15122 "name": "comment.block.cpp" 15123 }, 15124 "9": { 15125 "patterns": [ 15126 { 15127 "match": "\\*\\/", 15128 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15129 }, 15130 { 15131 "match": "\\*", 15132 "name": "comment.block.cpp" 15133 } 15134 ] 15135 }, 15136 "10": { 15137 "name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp" 15138 } 15139 }, 15140 "endCaptures": { 15141 "0": { 15142 "name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp" 15143 } 15144 }, 15145 "patterns": [ 15146 { 15147 "begin": "(,)(?:(?:\\s)+)?(?=(?:L|u8|u|U(?:(?:\\s)+)?\\\")?)", 15148 "end": "(?=\\))", 15149 "beginCaptures": { 15150 "1": { 15151 "name": "punctuation.separator.delimiter.comma.cpp" 15152 } 15153 }, 15154 "endCaptures": {}, 15155 "name": "meta.static_assert.message.cpp", 15156 "patterns": [ 15157 { 15158 "include": "#string_context" 15159 } 15160 ] 15161 }, 15162 { 15163 "include": "#evaluation_context" 15164 } 15165 ] 15166 }, 15167 "std_space": { 15168 "match": "(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))", 15169 "captures": { 15170 "0": { 15171 "patterns": [ 15172 { 15173 "include": "#inline_comment" 15174 } 15175 ] 15176 }, 15177 "1": { 15178 "patterns": [ 15179 { 15180 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 15181 "captures": { 15182 "1": { 15183 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15184 }, 15185 "2": { 15186 "name": "comment.block.cpp" 15187 }, 15188 "3": { 15189 "patterns": [ 15190 { 15191 "match": "\\*\\/", 15192 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15193 }, 15194 { 15195 "match": "\\*", 15196 "name": "comment.block.cpp" 15197 } 15198 ] 15199 } 15200 } 15201 } 15202 ] 15203 } 15204 } 15205 }, 15206 "storage_specifiers": { 15207 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w))", 15208 "captures": { 15209 "1": { 15210 "patterns": [ 15211 { 15212 "include": "#inline_comment" 15213 } 15214 ] 15215 }, 15216 "2": { 15217 "patterns": [ 15218 { 15219 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 15220 "captures": { 15221 "1": { 15222 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15223 }, 15224 "2": { 15225 "name": "comment.block.cpp" 15226 }, 15227 "3": { 15228 "patterns": [ 15229 { 15230 "match": "\\*\\/", 15231 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15232 }, 15233 { 15234 "match": "\\*", 15235 "name": "comment.block.cpp" 15236 } 15237 ] 15238 } 15239 } 15240 } 15241 ] 15242 }, 15243 "3": { 15244 "name": "storage.modifier.specifier.$3.cpp" 15245 } 15246 } 15247 }, 15248 "storage_types": { 15249 "patterns": [ 15250 { 15251 "include": "#storage_specifiers" 15252 }, 15253 { 15254 "include": "#inline_builtin_storage_type" 15255 }, 15256 { 15257 "include": "#decltype" 15258 }, 15259 { 15260 "include": "#typename" 15261 } 15262 ] 15263 }, 15264 "string_context": { 15265 "patterns": [ 15266 { 15267 "begin": "((?:u|u8|U|L)?)\"", 15268 "end": "\"", 15269 "beginCaptures": { 15270 "0": { 15271 "name": "punctuation.definition.string.begin.cpp" 15272 }, 15273 "1": { 15274 "name": "meta.encoding.cpp" 15275 } 15276 }, 15277 "endCaptures": { 15278 "0": { 15279 "name": "punctuation.definition.string.end.cpp" 15280 } 15281 }, 15282 "name": "string.quoted.double.cpp", 15283 "patterns": [ 15284 { 15285 "match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})", 15286 "name": "constant.character.escape.cpp" 15287 }, 15288 { 15289 "match": "\\\\['\"?\\\\abfnrtv]", 15290 "name": "constant.character.escape.cpp" 15291 }, 15292 { 15293 "match": "\\\\[0-7]{1,3}", 15294 "name": "constant.character.escape.cpp" 15295 }, 15296 { 15297 "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))", 15298 "captures": { 15299 "1": { 15300 "name": "constant.character.escape.cpp" 15301 }, 15302 "2": { 15303 "name": "invalid.illegal.unknown-escape.cpp" 15304 } 15305 } 15306 }, 15307 { 15308 "include": "#string_escapes_context_c" 15309 } 15310 ] 15311 }, 15312 { 15313 "begin": "(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'", 15314 "end": "'", 15315 "beginCaptures": { 15316 "0": { 15317 "name": "punctuation.definition.string.begin.cpp" 15318 }, 15319 "1": { 15320 "name": "meta.encoding.cpp" 15321 } 15322 }, 15323 "endCaptures": { 15324 "0": { 15325 "name": "punctuation.definition.string.end.cpp" 15326 } 15327 }, 15328 "name": "string.quoted.single.cpp", 15329 "patterns": [ 15330 { 15331 "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))", 15332 "captures": { 15333 "1": { 15334 "name": "constant.character.escape.cpp" 15335 }, 15336 "2": { 15337 "name": "invalid.illegal.unknown-escape.cpp" 15338 } 15339 } 15340 }, 15341 { 15342 "include": "#string_escapes_context_c" 15343 }, 15344 { 15345 "include": "#line_continuation_character" 15346 } 15347 ] 15348 }, 15349 { 15350 "begin": "((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\(", 15351 "end": "\\)(?:(?:_r|re)|regex)\\\"", 15352 "beginCaptures": { 15353 "0": { 15354 "name": "punctuation.definition.string.begin.cpp" 15355 }, 15356 "1": { 15357 "name": "meta.encoding.cpp" 15358 } 15359 }, 15360 "endCaptures": { 15361 "0": { 15362 "name": "punctuation.definition.string.end.cpp" 15363 } 15364 }, 15365 "name": "string.quoted.double.raw.regex.cpp", 15366 "patterns": [ 15367 { 15368 "include": "source.regexp.python" 15369 } 15370 ] 15371 }, 15372 { 15373 "begin": "((?:[uUL]8?)?R)\\\"(?:glsl|GLSL)\\(", 15374 "end": "\\)(?:glsl|GLSL)\\\"", 15375 "beginCaptures": { 15376 "0": { 15377 "name": "punctuation.definition.string.begin.cpp" 15378 }, 15379 "1": { 15380 "name": "meta.encoding.cpp" 15381 } 15382 }, 15383 "endCaptures": { 15384 "0": { 15385 "name": "punctuation.definition.string.end.cpp" 15386 } 15387 }, 15388 "name": "meta.string.quoted.double.raw.glsl.cpp", 15389 "patterns": [ 15390 { 15391 "include": "source.glsl" 15392 } 15393 ] 15394 }, 15395 { 15396 "begin": "((?:[uUL]8?)?R)\\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(", 15397 "end": "\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\\"", 15398 "beginCaptures": { 15399 "0": { 15400 "name": "punctuation.definition.string.begin.cpp" 15401 }, 15402 "1": { 15403 "name": "meta.encoding.cpp" 15404 } 15405 }, 15406 "endCaptures": { 15407 "0": { 15408 "name": "punctuation.definition.string.end.cpp" 15409 } 15410 }, 15411 "name": "meta.string.quoted.double.raw.sql.cpp", 15412 "patterns": [ 15413 { 15414 "include": "source.sql" 15415 } 15416 ] 15417 }, 15418 { 15419 "begin": "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(", 15420 "beginCaptures": { 15421 "0": { 15422 "name": "punctuation.definition.string.begin" 15423 }, 15424 "1": { 15425 "name": "meta.encoding" 15426 }, 15427 "3": { 15428 "name": "invalid.illegal.delimiter-too-long" 15429 } 15430 }, 15431 "end": "\\)\\2(\\3)\"", 15432 "endCaptures": { 15433 "0": { 15434 "name": "punctuation.definition.string.end" 15435 }, 15436 "1": { 15437 "name": "invalid.illegal.delimiter-too-long" 15438 } 15439 }, 15440 "name": "string.quoted.double.raw" 15441 } 15442 ] 15443 }, 15444 "string_escapes_context_c": { 15445 "patterns": [ 15446 { 15447 "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )", 15448 "name": "constant.character.escape" 15449 }, 15450 { 15451 "match": "\\\\.", 15452 "name": "invalid.illegal.unknown-escape" 15453 }, 15454 { 15455 "match": "(?x) (?!%')(?!%\")%\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type", 15456 "name": "constant.other.placeholder" 15457 } 15458 ] 15459 }, 15460 "struct_block": { 15461 "begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", 15462 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", 15463 "beginCaptures": { 15464 "0": { 15465 "name": "meta.head.struct.cpp" 15466 }, 15467 "1": { 15468 "name": "storage.type.$1.cpp" 15469 }, 15470 "2": { 15471 "patterns": [ 15472 { 15473 "include": "#inline_comment" 15474 } 15475 ] 15476 }, 15477 "3": { 15478 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15479 }, 15480 "4": { 15481 "name": "comment.block.cpp" 15482 }, 15483 "5": { 15484 "patterns": [ 15485 { 15486 "match": "\\*\\/", 15487 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15488 }, 15489 { 15490 "match": "\\*", 15491 "name": "comment.block.cpp" 15492 } 15493 ] 15494 }, 15495 "6": { 15496 "patterns": [ 15497 { 15498 "include": "#attributes_context" 15499 }, 15500 { 15501 "include": "#number_literal" 15502 } 15503 ] 15504 }, 15505 "7": { 15506 "patterns": [ 15507 { 15508 "include": "#inline_comment" 15509 } 15510 ] 15511 }, 15512 "8": { 15513 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15514 }, 15515 "9": { 15516 "name": "comment.block.cpp" 15517 }, 15518 "10": { 15519 "patterns": [ 15520 { 15521 "match": "\\*\\/", 15522 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15523 }, 15524 { 15525 "match": "\\*", 15526 "name": "comment.block.cpp" 15527 } 15528 ] 15529 }, 15530 "11": { 15531 "patterns": [ 15532 { 15533 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", 15534 "captures": { 15535 "1": { 15536 "name": "storage.type.modifier.final.cpp" 15537 }, 15538 "2": { 15539 "patterns": [ 15540 { 15541 "include": "#inline_comment" 15542 } 15543 ] 15544 }, 15545 "3": { 15546 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15547 }, 15548 "4": { 15549 "name": "comment.block.cpp" 15550 }, 15551 "5": { 15552 "patterns": [ 15553 { 15554 "match": "\\*\\/", 15555 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15556 }, 15557 { 15558 "match": "\\*", 15559 "name": "comment.block.cpp" 15560 } 15561 ] 15562 } 15563 } 15564 }, 15565 { 15566 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", 15567 "captures": { 15568 "1": { 15569 "name": "entity.name.type.struct.cpp" 15570 }, 15571 "2": { 15572 "patterns": [ 15573 { 15574 "include": "#inline_comment" 15575 } 15576 ] 15577 }, 15578 "3": { 15579 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15580 }, 15581 "4": { 15582 "name": "comment.block.cpp" 15583 }, 15584 "5": { 15585 "patterns": [ 15586 { 15587 "match": "\\*\\/", 15588 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15589 }, 15590 { 15591 "match": "\\*", 15592 "name": "comment.block.cpp" 15593 } 15594 ] 15595 }, 15596 "6": { 15597 "name": "storage.type.modifier.final.cpp" 15598 }, 15599 "7": { 15600 "patterns": [ 15601 { 15602 "include": "#inline_comment" 15603 } 15604 ] 15605 }, 15606 "8": { 15607 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15608 }, 15609 "9": { 15610 "name": "comment.block.cpp" 15611 }, 15612 "10": { 15613 "patterns": [ 15614 { 15615 "match": "\\*\\/", 15616 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15617 }, 15618 { 15619 "match": "\\*", 15620 "name": "comment.block.cpp" 15621 } 15622 ] 15623 } 15624 } 15625 }, 15626 { 15627 "match": "DLLEXPORT", 15628 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" 15629 }, 15630 { 15631 "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}))*", 15632 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" 15633 } 15634 ] 15635 }, 15636 "12": { 15637 "patterns": [ 15638 { 15639 "include": "#inline_comment" 15640 } 15641 ] 15642 }, 15643 "13": { 15644 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15645 }, 15646 "14": { 15647 "name": "comment.block.cpp" 15648 }, 15649 "15": { 15650 "patterns": [ 15651 { 15652 "match": "\\*\\/", 15653 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15654 }, 15655 { 15656 "match": "\\*", 15657 "name": "comment.block.cpp" 15658 } 15659 ] 15660 }, 15661 "16": { 15662 "patterns": [ 15663 { 15664 "include": "#inline_comment" 15665 } 15666 ] 15667 }, 15668 "17": { 15669 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15670 }, 15671 "18": { 15672 "name": "comment.block.cpp" 15673 }, 15674 "19": { 15675 "patterns": [ 15676 { 15677 "match": "\\*\\/", 15678 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15679 }, 15680 { 15681 "match": "\\*", 15682 "name": "comment.block.cpp" 15683 } 15684 ] 15685 }, 15686 "20": { 15687 "name": "punctuation.separator.colon.inheritance.cpp" 15688 } 15689 }, 15690 "endCaptures": { 15691 "1": { 15692 "name": "punctuation.terminator.statement.cpp" 15693 }, 15694 "2": { 15695 "name": "punctuation.terminator.statement.cpp" 15696 } 15697 }, 15698 "name": "meta.block.struct.cpp", 15699 "patterns": [ 15700 { 15701 "begin": "\\G ?", 15702 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 15703 "beginCaptures": {}, 15704 "endCaptures": { 15705 "0": { 15706 "name": "punctuation.section.block.begin.bracket.curly.struct.cpp" 15707 } 15708 }, 15709 "name": "meta.head.struct.cpp", 15710 "patterns": [ 15711 { 15712 "include": "#ever_present_context" 15713 }, 15714 { 15715 "include": "#inheritance_context" 15716 }, 15717 { 15718 "include": "#template_call_range" 15719 } 15720 ] 15721 }, 15722 { 15723 "begin": "(?<=\\{|<%|\\?\\?<)", 15724 "end": "\\}|%>|\\?\\?>", 15725 "beginCaptures": {}, 15726 "endCaptures": { 15727 "0": { 15728 "name": "punctuation.section.block.end.bracket.curly.struct.cpp" 15729 } 15730 }, 15731 "name": "meta.body.struct.cpp", 15732 "patterns": [ 15733 { 15734 "include": "#function_pointer" 15735 }, 15736 { 15737 "include": "#static_assert" 15738 }, 15739 { 15740 "include": "#constructor_inline" 15741 }, 15742 { 15743 "include": "#destructor_inline" 15744 }, 15745 { 15746 "include": "$self" 15747 } 15748 ] 15749 }, 15750 { 15751 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 15752 "end": "[\\s]*(?=;)", 15753 "beginCaptures": {}, 15754 "endCaptures": {}, 15755 "name": "meta.tail.struct.cpp", 15756 "patterns": [ 15757 { 15758 "include": "$self" 15759 } 15760 ] 15761 } 15762 ] 15763 }, 15764 "struct_declare": { 15765 "match": "((?<!\\w)struct(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", 15766 "captures": { 15767 "1": { 15768 "name": "storage.type.struct.declare.cpp" 15769 }, 15770 "2": { 15771 "patterns": [ 15772 { 15773 "include": "#inline_comment" 15774 } 15775 ] 15776 }, 15777 "3": { 15778 "patterns": [ 15779 { 15780 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 15781 "captures": { 15782 "1": { 15783 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15784 }, 15785 "2": { 15786 "name": "comment.block.cpp" 15787 }, 15788 "3": { 15789 "patterns": [ 15790 { 15791 "match": "\\*\\/", 15792 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15793 }, 15794 { 15795 "match": "\\*", 15796 "name": "comment.block.cpp" 15797 } 15798 ] 15799 } 15800 } 15801 } 15802 ] 15803 }, 15804 "4": { 15805 "name": "entity.name.type.struct.cpp" 15806 }, 15807 "5": { 15808 "patterns": [ 15809 { 15810 "match": "\\*", 15811 "name": "storage.modifier.pointer.cpp" 15812 }, 15813 { 15814 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 15815 "captures": { 15816 "1": { 15817 "patterns": [ 15818 { 15819 "include": "#inline_comment" 15820 } 15821 ] 15822 }, 15823 "2": { 15824 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15825 }, 15826 "3": { 15827 "name": "comment.block.cpp" 15828 }, 15829 "4": { 15830 "patterns": [ 15831 { 15832 "match": "\\*\\/", 15833 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15834 }, 15835 { 15836 "match": "\\*", 15837 "name": "comment.block.cpp" 15838 } 15839 ] 15840 } 15841 }, 15842 "name": "invalid.illegal.reference-type.cpp" 15843 }, 15844 { 15845 "match": "\\&", 15846 "name": "storage.modifier.reference.cpp" 15847 } 15848 ] 15849 }, 15850 "6": { 15851 "patterns": [ 15852 { 15853 "include": "#inline_comment" 15854 } 15855 ] 15856 }, 15857 "7": { 15858 "patterns": [ 15859 { 15860 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 15861 "captures": { 15862 "1": { 15863 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15864 }, 15865 "2": { 15866 "name": "comment.block.cpp" 15867 }, 15868 "3": { 15869 "patterns": [ 15870 { 15871 "match": "\\*\\/", 15872 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15873 }, 15874 { 15875 "match": "\\*", 15876 "name": "comment.block.cpp" 15877 } 15878 ] 15879 } 15880 } 15881 } 15882 ] 15883 }, 15884 "8": { 15885 "patterns": [ 15886 { 15887 "include": "#inline_comment" 15888 } 15889 ] 15890 }, 15891 "9": { 15892 "patterns": [ 15893 { 15894 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 15895 "captures": { 15896 "1": { 15897 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15898 }, 15899 "2": { 15900 "name": "comment.block.cpp" 15901 }, 15902 "3": { 15903 "patterns": [ 15904 { 15905 "match": "\\*\\/", 15906 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15907 }, 15908 { 15909 "match": "\\*", 15910 "name": "comment.block.cpp" 15911 } 15912 ] 15913 } 15914 } 15915 } 15916 ] 15917 }, 15918 "10": { 15919 "patterns": [ 15920 { 15921 "include": "#inline_comment" 15922 } 15923 ] 15924 }, 15925 "11": { 15926 "patterns": [ 15927 { 15928 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 15929 "captures": { 15930 "1": { 15931 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15932 }, 15933 "2": { 15934 "name": "comment.block.cpp" 15935 }, 15936 "3": { 15937 "patterns": [ 15938 { 15939 "match": "\\*\\/", 15940 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15941 }, 15942 { 15943 "match": "\\*", 15944 "name": "comment.block.cpp" 15945 } 15946 ] 15947 } 15948 } 15949 } 15950 ] 15951 }, 15952 "12": { 15953 "name": "variable.other.object.declare.cpp" 15954 }, 15955 "13": { 15956 "patterns": [ 15957 { 15958 "include": "#inline_comment" 15959 } 15960 ] 15961 }, 15962 "14": { 15963 "patterns": [ 15964 { 15965 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 15966 "captures": { 15967 "1": { 15968 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 15969 }, 15970 "2": { 15971 "name": "comment.block.cpp" 15972 }, 15973 "3": { 15974 "patterns": [ 15975 { 15976 "match": "\\*\\/", 15977 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 15978 }, 15979 { 15980 "match": "\\*", 15981 "name": "comment.block.cpp" 15982 } 15983 ] 15984 } 15985 } 15986 } 15987 ] 15988 } 15989 } 15990 }, 15991 "switch_conditional_parentheses": { 15992 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 15993 "end": "\\)", 15994 "beginCaptures": { 15995 "1": { 15996 "patterns": [ 15997 { 15998 "include": "#inline_comment" 15999 } 16000 ] 16001 }, 16002 "2": { 16003 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16004 }, 16005 "3": { 16006 "name": "comment.block.cpp" 16007 }, 16008 "4": { 16009 "patterns": [ 16010 { 16011 "match": "\\*\\/", 16012 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 16013 }, 16014 { 16015 "match": "\\*", 16016 "name": "comment.block.cpp" 16017 } 16018 ] 16019 }, 16020 "5": { 16021 "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp" 16022 } 16023 }, 16024 "endCaptures": { 16025 "0": { 16026 "name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp" 16027 } 16028 }, 16029 "name": "meta.conditional.switch.cpp", 16030 "patterns": [ 16031 { 16032 "include": "#evaluation_context" 16033 }, 16034 { 16035 "include": "#c_conditional_context" 16036 } 16037 ] 16038 }, 16039 "switch_statement": { 16040 "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)switch(?!\\w))", 16041 "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", 16042 "beginCaptures": { 16043 "0": { 16044 "name": "meta.head.switch.cpp" 16045 }, 16046 "1": { 16047 "patterns": [ 16048 { 16049 "include": "#inline_comment" 16050 } 16051 ] 16052 }, 16053 "2": { 16054 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16055 }, 16056 "3": { 16057 "name": "comment.block.cpp" 16058 }, 16059 "4": { 16060 "patterns": [ 16061 { 16062 "match": "\\*\\/", 16063 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 16064 }, 16065 { 16066 "match": "\\*", 16067 "name": "comment.block.cpp" 16068 } 16069 ] 16070 }, 16071 "5": { 16072 "name": "keyword.control.switch.cpp" 16073 } 16074 }, 16075 "endCaptures": {}, 16076 "name": "meta.block.switch.cpp", 16077 "patterns": [ 16078 { 16079 "begin": "\\G ?", 16080 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 16081 "beginCaptures": {}, 16082 "endCaptures": { 16083 "0": { 16084 "name": "punctuation.section.block.begin.bracket.curly.switch.cpp" 16085 } 16086 }, 16087 "name": "meta.head.switch.cpp", 16088 "patterns": [ 16089 { 16090 "include": "#switch_conditional_parentheses" 16091 }, 16092 { 16093 "include": "$self" 16094 } 16095 ] 16096 }, 16097 { 16098 "begin": "(?<=\\{|<%|\\?\\?<)", 16099 "end": "\\}|%>|\\?\\?>", 16100 "beginCaptures": {}, 16101 "endCaptures": { 16102 "0": { 16103 "name": "punctuation.section.block.end.bracket.curly.switch.cpp" 16104 } 16105 }, 16106 "name": "meta.body.switch.cpp", 16107 "patterns": [ 16108 { 16109 "include": "#default_statement" 16110 }, 16111 { 16112 "include": "#case_statement" 16113 }, 16114 { 16115 "include": "$self" 16116 }, 16117 { 16118 "include": "#block_innards" 16119 } 16120 ] 16121 }, 16122 { 16123 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 16124 "end": "[\\s]*(?=;)", 16125 "beginCaptures": {}, 16126 "endCaptures": {}, 16127 "name": "meta.tail.switch.cpp", 16128 "patterns": [ 16129 { 16130 "include": "$self" 16131 } 16132 ] 16133 } 16134 ] 16135 }, 16136 "template_argument_defaulted": { 16137 "match": "(?<=<|,)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)*)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?([=])", 16138 "captures": { 16139 "1": { 16140 "name": "storage.type.template.cpp" 16141 }, 16142 "2": { 16143 "name": "entity.name.type.template.cpp" 16144 }, 16145 "3": { 16146 "name": "keyword.operator.assignment.cpp" 16147 } 16148 } 16149 }, 16150 "template_call_context": { 16151 "patterns": [ 16152 { 16153 "include": "#ever_present_context" 16154 }, 16155 { 16156 "include": "#template_call_range" 16157 }, 16158 { 16159 "include": "#storage_types" 16160 }, 16161 { 16162 "include": "#language_constants" 16163 }, 16164 { 16165 "include": "#scope_resolution_template_call_inner_generated" 16166 }, 16167 { 16168 "include": "#operators" 16169 }, 16170 { 16171 "include": "#number_literal" 16172 }, 16173 { 16174 "include": "#string_context" 16175 }, 16176 { 16177 "include": "#comma_in_template_argument" 16178 }, 16179 { 16180 "include": "#qualified_type" 16181 } 16182 ] 16183 }, 16184 "template_call_innards": { 16185 "match": "((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<1>?)+>)(?:\\s)*+", 16186 "captures": { 16187 "0": { 16188 "patterns": [ 16189 { 16190 "include": "#template_call_range" 16191 } 16192 ] 16193 } 16194 }, 16195 "name": "meta.template.call.cpp" 16196 }, 16197 "template_call_range": { 16198 "begin": "<", 16199 "end": ">", 16200 "beginCaptures": { 16201 "0": { 16202 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 16203 } 16204 }, 16205 "endCaptures": { 16206 "0": { 16207 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 16208 } 16209 }, 16210 "name": "meta.template.call.cpp", 16211 "patterns": [ 16212 { 16213 "include": "#template_call_context" 16214 } 16215 ] 16216 }, 16217 "template_definition": { 16218 "begin": "(?<!\\w)(template)(?:(?:\\s)+)?(<)", 16219 "end": ">", 16220 "beginCaptures": { 16221 "1": { 16222 "name": "storage.type.template.cpp" 16223 }, 16224 "2": { 16225 "name": "punctuation.section.angle-brackets.start.template.definition.cpp" 16226 } 16227 }, 16228 "endCaptures": { 16229 "0": { 16230 "name": "punctuation.section.angle-brackets.end.template.definition.cpp" 16231 } 16232 }, 16233 "name": "meta.template.definition.cpp", 16234 "patterns": [ 16235 { 16236 "begin": "(?<=\\w)(?:(?:\\s)+)?<", 16237 "end": ">", 16238 "beginCaptures": { 16239 "0": { 16240 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 16241 } 16242 }, 16243 "endCaptures": { 16244 "0": { 16245 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 16246 } 16247 }, 16248 "patterns": [ 16249 { 16250 "include": "#template_call_context" 16251 } 16252 ] 16253 }, 16254 { 16255 "include": "#template_definition_context" 16256 } 16257 ] 16258 }, 16259 "template_definition_argument": { 16260 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))(?:(?:\\s)+)?(?:(,)|(?=>|$))", 16261 "captures": { 16262 "1": { 16263 "patterns": [ 16264 { 16265 "include": "#inline_comment" 16266 } 16267 ] 16268 }, 16269 "2": { 16270 "patterns": [ 16271 { 16272 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 16273 "captures": { 16274 "1": { 16275 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16276 }, 16277 "2": { 16278 "name": "comment.block.cpp" 16279 }, 16280 "3": { 16281 "patterns": [ 16282 { 16283 "match": "\\*\\/", 16284 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 16285 }, 16286 { 16287 "match": "\\*", 16288 "name": "comment.block.cpp" 16289 } 16290 ] 16291 } 16292 } 16293 } 16294 ] 16295 }, 16296 "3": { 16297 "name": "storage.type.template.argument.$3.cpp" 16298 }, 16299 "4": { 16300 "patterns": [ 16301 { 16302 "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}))*", 16303 "name": "storage.type.template.argument.$0.cpp" 16304 } 16305 ] 16306 }, 16307 "5": { 16308 "name": "entity.name.type.template.cpp" 16309 }, 16310 "6": { 16311 "name": "storage.type.template.cpp" 16312 }, 16313 "7": { 16314 "name": "punctuation.vararg-ellipses.template.definition.cpp" 16315 }, 16316 "8": { 16317 "name": "entity.name.type.template.cpp" 16318 }, 16319 "9": { 16320 "name": "punctuation.separator.delimiter.comma.template.argument.cpp" 16321 } 16322 } 16323 }, 16324 "template_definition_context": { 16325 "patterns": [ 16326 { 16327 "include": "#scope_resolution_template_definition_inner_generated" 16328 }, 16329 { 16330 "include": "#template_definition_argument" 16331 }, 16332 { 16333 "include": "#template_argument_defaulted" 16334 }, 16335 { 16336 "include": "#template_call_innards" 16337 }, 16338 { 16339 "include": "#evaluation_context" 16340 } 16341 ] 16342 }, 16343 "template_isolated_definition": { 16344 "match": "(?<!\\w)(template)(?:(?:\\s)+)?(<)(.*)(>(?:(?:\\s)+)?$)", 16345 "captures": { 16346 "1": { 16347 "name": "storage.type.template.cpp" 16348 }, 16349 "2": { 16350 "name": "punctuation.section.angle-brackets.start.template.definition.cpp" 16351 }, 16352 "3": { 16353 "name": "meta.template.definition.cpp", 16354 "patterns": [ 16355 { 16356 "include": "#template_definition_context" 16357 } 16358 ] 16359 }, 16360 "4": { 16361 "name": "punctuation.section.angle-brackets.end.template.definition.cpp" 16362 } 16363 } 16364 }, 16365 "ternary_operator": { 16366 "begin": "\\?", 16367 "end": ":", 16368 "beginCaptures": { 16369 "0": { 16370 "name": "keyword.operator.ternary.cpp" 16371 } 16372 }, 16373 "endCaptures": { 16374 "0": { 16375 "name": "keyword.operator.ternary.cpp" 16376 } 16377 }, 16378 "patterns": [ 16379 { 16380 "include": "#ever_present_context" 16381 }, 16382 { 16383 "include": "#string_context" 16384 }, 16385 { 16386 "include": "#number_literal" 16387 }, 16388 { 16389 "include": "#method_access" 16390 }, 16391 { 16392 "include": "#member_access" 16393 }, 16394 { 16395 "include": "#predefined_macros" 16396 }, 16397 { 16398 "include": "#operators" 16399 }, 16400 { 16401 "include": "#memory_operators" 16402 }, 16403 { 16404 "include": "#wordlike_operators" 16405 }, 16406 { 16407 "include": "#type_casting_operators" 16408 }, 16409 { 16410 "include": "#control_flow_keywords" 16411 }, 16412 { 16413 "include": "#exception_keywords" 16414 }, 16415 { 16416 "include": "#the_this_keyword" 16417 }, 16418 { 16419 "include": "#language_constants" 16420 }, 16421 { 16422 "include": "#builtin_storage_type_initilizer" 16423 }, 16424 { 16425 "include": "#qualifiers_and_specifiers_post_parameters" 16426 }, 16427 { 16428 "include": "#functional_specifiers_pre_parameters" 16429 }, 16430 { 16431 "include": "#storage_types" 16432 }, 16433 { 16434 "include": "#lambdas" 16435 }, 16436 { 16437 "include": "#attributes_context" 16438 }, 16439 { 16440 "include": "#parentheses" 16441 }, 16442 { 16443 "include": "#function_call" 16444 }, 16445 { 16446 "include": "#scope_resolution_inner_generated" 16447 }, 16448 { 16449 "include": "#square_brackets" 16450 }, 16451 { 16452 "include": "#semicolon" 16453 }, 16454 { 16455 "include": "#comma" 16456 } 16457 ], 16458 "applyEndPatternLast": 1 16459 }, 16460 "the_this_keyword": { 16461 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))", 16462 "captures": { 16463 "1": { 16464 "patterns": [ 16465 { 16466 "include": "#inline_comment" 16467 } 16468 ] 16469 }, 16470 "2": { 16471 "patterns": [ 16472 { 16473 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 16474 "captures": { 16475 "1": { 16476 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16477 }, 16478 "2": { 16479 "name": "comment.block.cpp" 16480 }, 16481 "3": { 16482 "patterns": [ 16483 { 16484 "match": "\\*\\/", 16485 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 16486 }, 16487 { 16488 "match": "\\*", 16489 "name": "comment.block.cpp" 16490 } 16491 ] 16492 } 16493 } 16494 } 16495 ] 16496 }, 16497 "3": { 16498 "name": "variable.language.this.cpp" 16499 } 16500 } 16501 }, 16502 "type_alias": { 16503 "match": "(using)(?:(?:\\s)+)?(?!namespace)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?: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<29>?)+>)?(?![\\w<:.]))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))(?<!\\w)(?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w)(?:\\s)+)+)?(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?: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<29>?)+>)?(?![\\w<:.]))|(.*(?<!;)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)?(?:(?:\\s)+)?(?:(;)|\\n)", 16504 "captures": { 16505 "1": { 16506 "name": "keyword.other.using.directive.cpp" 16507 }, 16508 "2": { 16509 "name": "meta.qualified_type.cpp", 16510 "patterns": [ 16511 { 16512 "match": "::", 16513 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 16514 }, 16515 { 16516 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 16517 "name": "storage.type.$0.cpp" 16518 }, 16519 { 16520 "include": "#attributes_context" 16521 }, 16522 { 16523 "include": "#storage_types" 16524 }, 16525 { 16526 "include": "#number_literal" 16527 }, 16528 { 16529 "include": "#string_context" 16530 }, 16531 { 16532 "include": "#comma" 16533 }, 16534 { 16535 "include": "#scope_resolution_inner_generated" 16536 }, 16537 { 16538 "begin": "<", 16539 "end": ">", 16540 "beginCaptures": { 16541 "0": { 16542 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 16543 } 16544 }, 16545 "endCaptures": { 16546 "0": { 16547 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 16548 } 16549 }, 16550 "name": "meta.template.call.cpp", 16551 "patterns": [ 16552 { 16553 "include": "#template_call_context" 16554 } 16555 ] 16556 }, 16557 { 16558 "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}))*", 16559 "name": "entity.name.type.cpp" 16560 } 16561 ] 16562 }, 16563 "3": { 16564 "patterns": [ 16565 { 16566 "include": "#attributes_context" 16567 }, 16568 { 16569 "include": "#number_literal" 16570 } 16571 ] 16572 }, 16573 "4": { 16574 "patterns": [ 16575 { 16576 "include": "#inline_comment" 16577 } 16578 ] 16579 }, 16580 "5": { 16581 "patterns": [ 16582 { 16583 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 16584 "captures": { 16585 "1": { 16586 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16587 }, 16588 "2": { 16589 "name": "comment.block.cpp" 16590 }, 16591 "3": { 16592 "patterns": [ 16593 { 16594 "match": "\\*\\/", 16595 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 16596 }, 16597 { 16598 "match": "\\*", 16599 "name": "comment.block.cpp" 16600 } 16601 ] 16602 } 16603 } 16604 } 16605 ] 16606 }, 16607 "6": { 16608 "patterns": [ 16609 { 16610 "include": "#inline_comment" 16611 } 16612 ] 16613 }, 16614 "7": { 16615 "patterns": [ 16616 { 16617 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 16618 "captures": { 16619 "1": { 16620 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16621 }, 16622 "2": { 16623 "name": "comment.block.cpp" 16624 }, 16625 "3": { 16626 "patterns": [ 16627 { 16628 "match": "\\*\\/", 16629 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 16630 }, 16631 { 16632 "match": "\\*", 16633 "name": "comment.block.cpp" 16634 } 16635 ] 16636 } 16637 } 16638 } 16639 ] 16640 }, 16641 "8": { 16642 "patterns": [ 16643 { 16644 "match": "::", 16645 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 16646 }, 16647 { 16648 "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)", 16649 "name": "entity.name.scope-resolution.type.cpp" 16650 }, 16651 { 16652 "include": "#template_call_range" 16653 } 16654 ] 16655 }, 16656 "9": { 16657 "patterns": [ 16658 { 16659 "include": "#template_call_range" 16660 } 16661 ] 16662 }, 16663 "11": { 16664 "patterns": [ 16665 { 16666 "include": "#inline_comment" 16667 } 16668 ] 16669 }, 16670 "12": { 16671 "patterns": [ 16672 { 16673 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 16674 "captures": { 16675 "1": { 16676 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16677 }, 16678 "2": { 16679 "name": "comment.block.cpp" 16680 }, 16681 "3": { 16682 "patterns": [ 16683 { 16684 "match": "\\*\\/", 16685 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 16686 }, 16687 { 16688 "match": "\\*", 16689 "name": "comment.block.cpp" 16690 } 16691 ] 16692 } 16693 } 16694 } 16695 ] 16696 }, 16697 "14": { 16698 "name": "keyword.operator.assignment.cpp" 16699 }, 16700 "15": { 16701 "name": "keyword.other.typename.cpp" 16702 }, 16703 "16": { 16704 "patterns": [ 16705 { 16706 "include": "#storage_specifiers" 16707 } 16708 ] 16709 }, 16710 "17": { 16711 "patterns": [ 16712 { 16713 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 16714 "captures": { 16715 "1": { 16716 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16717 }, 16718 "2": { 16719 "name": "comment.block.cpp" 16720 }, 16721 "3": { 16722 "patterns": [ 16723 { 16724 "match": "\\*\\/", 16725 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 16726 }, 16727 { 16728 "match": "\\*", 16729 "name": "comment.block.cpp" 16730 } 16731 ] 16732 } 16733 } 16734 } 16735 ] 16736 }, 16737 "18": { 16738 "name": "meta.qualified_type.cpp", 16739 "patterns": [ 16740 { 16741 "match": "::", 16742 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 16743 }, 16744 { 16745 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 16746 "name": "storage.type.$0.cpp" 16747 }, 16748 { 16749 "include": "#attributes_context" 16750 }, 16751 { 16752 "include": "#storage_types" 16753 }, 16754 { 16755 "include": "#number_literal" 16756 }, 16757 { 16758 "include": "#string_context" 16759 }, 16760 { 16761 "include": "#comma" 16762 }, 16763 { 16764 "include": "#scope_resolution_inner_generated" 16765 }, 16766 { 16767 "begin": "<", 16768 "end": ">", 16769 "beginCaptures": { 16770 "0": { 16771 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 16772 } 16773 }, 16774 "endCaptures": { 16775 "0": { 16776 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 16777 } 16778 }, 16779 "name": "meta.template.call.cpp", 16780 "patterns": [ 16781 { 16782 "include": "#template_call_context" 16783 } 16784 ] 16785 }, 16786 { 16787 "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}))*", 16788 "name": "entity.name.type.cpp" 16789 } 16790 ] 16791 }, 16792 "19": { 16793 "patterns": [ 16794 { 16795 "include": "#attributes_context" 16796 }, 16797 { 16798 "include": "#number_literal" 16799 } 16800 ] 16801 }, 16802 "20": { 16803 "patterns": [ 16804 { 16805 "include": "#inline_comment" 16806 } 16807 ] 16808 }, 16809 "21": { 16810 "patterns": [ 16811 { 16812 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 16813 "captures": { 16814 "1": { 16815 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16816 }, 16817 "2": { 16818 "name": "comment.block.cpp" 16819 }, 16820 "3": { 16821 "patterns": [ 16822 { 16823 "match": "\\*\\/", 16824 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 16825 }, 16826 { 16827 "match": "\\*", 16828 "name": "comment.block.cpp" 16829 } 16830 ] 16831 } 16832 } 16833 } 16834 ] 16835 }, 16836 "22": { 16837 "patterns": [ 16838 { 16839 "include": "#inline_comment" 16840 } 16841 ] 16842 }, 16843 "23": { 16844 "patterns": [ 16845 { 16846 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 16847 "captures": { 16848 "1": { 16849 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16850 }, 16851 "2": { 16852 "name": "comment.block.cpp" 16853 }, 16854 "3": { 16855 "patterns": [ 16856 { 16857 "match": "\\*\\/", 16858 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 16859 }, 16860 { 16861 "match": "\\*", 16862 "name": "comment.block.cpp" 16863 } 16864 ] 16865 } 16866 } 16867 } 16868 ] 16869 }, 16870 "24": { 16871 "patterns": [ 16872 { 16873 "match": "::", 16874 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 16875 }, 16876 { 16877 "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)", 16878 "name": "entity.name.scope-resolution.type.cpp" 16879 }, 16880 { 16881 "include": "#template_call_range" 16882 } 16883 ] 16884 }, 16885 "25": { 16886 "patterns": [ 16887 { 16888 "include": "#template_call_range" 16889 } 16890 ] 16891 }, 16892 "27": { 16893 "patterns": [ 16894 { 16895 "include": "#inline_comment" 16896 } 16897 ] 16898 }, 16899 "28": { 16900 "patterns": [ 16901 { 16902 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 16903 "captures": { 16904 "1": { 16905 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16906 }, 16907 "2": { 16908 "name": "comment.block.cpp" 16909 }, 16910 "3": { 16911 "patterns": [ 16912 { 16913 "match": "\\*\\/", 16914 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 16915 }, 16916 { 16917 "match": "\\*", 16918 "name": "comment.block.cpp" 16919 } 16920 ] 16921 } 16922 } 16923 } 16924 ] 16925 }, 16926 "30": { 16927 "name": "meta.declaration.type.alias.value.unknown.cpp", 16928 "patterns": [ 16929 { 16930 "include": "#evaluation_context" 16931 } 16932 ] 16933 }, 16934 "31": { 16935 "patterns": [ 16936 { 16937 "match": "\\*", 16938 "name": "storage.modifier.pointer.cpp" 16939 }, 16940 { 16941 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 16942 "captures": { 16943 "1": { 16944 "patterns": [ 16945 { 16946 "include": "#inline_comment" 16947 } 16948 ] 16949 }, 16950 "2": { 16951 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16952 }, 16953 "3": { 16954 "name": "comment.block.cpp" 16955 }, 16956 "4": { 16957 "patterns": [ 16958 { 16959 "match": "\\*\\/", 16960 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 16961 }, 16962 { 16963 "match": "\\*", 16964 "name": "comment.block.cpp" 16965 } 16966 ] 16967 } 16968 }, 16969 "name": "invalid.illegal.reference-type.cpp" 16970 }, 16971 { 16972 "match": "\\&", 16973 "name": "storage.modifier.reference.cpp" 16974 } 16975 ] 16976 }, 16977 "32": { 16978 "patterns": [ 16979 { 16980 "include": "#inline_comment" 16981 } 16982 ] 16983 }, 16984 "33": { 16985 "patterns": [ 16986 { 16987 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 16988 "captures": { 16989 "1": { 16990 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 16991 }, 16992 "2": { 16993 "name": "comment.block.cpp" 16994 }, 16995 "3": { 16996 "patterns": [ 16997 { 16998 "match": "\\*\\/", 16999 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17000 }, 17001 { 17002 "match": "\\*", 17003 "name": "comment.block.cpp" 17004 } 17005 ] 17006 } 17007 } 17008 } 17009 ] 17010 }, 17011 "34": { 17012 "patterns": [ 17013 { 17014 "include": "#inline_comment" 17015 } 17016 ] 17017 }, 17018 "35": { 17019 "patterns": [ 17020 { 17021 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 17022 "captures": { 17023 "1": { 17024 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17025 }, 17026 "2": { 17027 "name": "comment.block.cpp" 17028 }, 17029 "3": { 17030 "patterns": [ 17031 { 17032 "match": "\\*\\/", 17033 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17034 }, 17035 { 17036 "match": "\\*", 17037 "name": "comment.block.cpp" 17038 } 17039 ] 17040 } 17041 } 17042 } 17043 ] 17044 }, 17045 "36": { 17046 "patterns": [ 17047 { 17048 "include": "#inline_comment" 17049 } 17050 ] 17051 }, 17052 "37": { 17053 "patterns": [ 17054 { 17055 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 17056 "captures": { 17057 "1": { 17058 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17059 }, 17060 "2": { 17061 "name": "comment.block.cpp" 17062 }, 17063 "3": { 17064 "patterns": [ 17065 { 17066 "match": "\\*\\/", 17067 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17068 }, 17069 { 17070 "match": "\\*", 17071 "name": "comment.block.cpp" 17072 } 17073 ] 17074 } 17075 } 17076 } 17077 ] 17078 }, 17079 "38": { 17080 "name": "punctuation.definition.begin.bracket.square.cpp" 17081 }, 17082 "39": { 17083 "patterns": [ 17084 { 17085 "include": "#evaluation_context" 17086 } 17087 ] 17088 }, 17089 "40": { 17090 "name": "punctuation.definition.end.bracket.square.cpp" 17091 }, 17092 "41": { 17093 "name": "punctuation.terminator.statement.cpp" 17094 } 17095 }, 17096 "name": "meta.declaration.type.alias.cpp" 17097 }, 17098 "type_casting_operators": { 17099 "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:reinterpret_cast)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast))(?!\\w))", 17100 "captures": { 17101 "1": { 17102 "patterns": [ 17103 { 17104 "include": "#inline_comment" 17105 } 17106 ] 17107 }, 17108 "2": { 17109 "patterns": [ 17110 { 17111 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 17112 "captures": { 17113 "1": { 17114 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17115 }, 17116 "2": { 17117 "name": "comment.block.cpp" 17118 }, 17119 "3": { 17120 "patterns": [ 17121 { 17122 "match": "\\*\\/", 17123 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17124 }, 17125 { 17126 "match": "\\*", 17127 "name": "comment.block.cpp" 17128 } 17129 ] 17130 } 17131 } 17132 } 17133 ] 17134 }, 17135 "3": { 17136 "name": "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp" 17137 } 17138 } 17139 }, 17140 "typedef_class": { 17141 "begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)class(?!\\w))", 17142 "end": "(?<=;)", 17143 "beginCaptures": { 17144 "1": { 17145 "name": "keyword.other.typedef.cpp" 17146 } 17147 }, 17148 "endCaptures": {}, 17149 "patterns": [ 17150 { 17151 "begin": "((?<!\\w)class(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", 17152 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", 17153 "beginCaptures": { 17154 "0": { 17155 "name": "meta.head.class.cpp" 17156 }, 17157 "1": { 17158 "name": "storage.type.$1.cpp" 17159 }, 17160 "2": { 17161 "patterns": [ 17162 { 17163 "include": "#inline_comment" 17164 } 17165 ] 17166 }, 17167 "3": { 17168 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17169 }, 17170 "4": { 17171 "name": "comment.block.cpp" 17172 }, 17173 "5": { 17174 "patterns": [ 17175 { 17176 "match": "\\*\\/", 17177 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17178 }, 17179 { 17180 "match": "\\*", 17181 "name": "comment.block.cpp" 17182 } 17183 ] 17184 }, 17185 "6": { 17186 "patterns": [ 17187 { 17188 "include": "#attributes_context" 17189 }, 17190 { 17191 "include": "#number_literal" 17192 } 17193 ] 17194 }, 17195 "7": { 17196 "patterns": [ 17197 { 17198 "include": "#inline_comment" 17199 } 17200 ] 17201 }, 17202 "8": { 17203 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17204 }, 17205 "9": { 17206 "name": "comment.block.cpp" 17207 }, 17208 "10": { 17209 "patterns": [ 17210 { 17211 "match": "\\*\\/", 17212 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17213 }, 17214 { 17215 "match": "\\*", 17216 "name": "comment.block.cpp" 17217 } 17218 ] 17219 }, 17220 "11": { 17221 "patterns": [ 17222 { 17223 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", 17224 "captures": { 17225 "1": { 17226 "name": "storage.type.modifier.final.cpp" 17227 }, 17228 "2": { 17229 "patterns": [ 17230 { 17231 "include": "#inline_comment" 17232 } 17233 ] 17234 }, 17235 "3": { 17236 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17237 }, 17238 "4": { 17239 "name": "comment.block.cpp" 17240 }, 17241 "5": { 17242 "patterns": [ 17243 { 17244 "match": "\\*\\/", 17245 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17246 }, 17247 { 17248 "match": "\\*", 17249 "name": "comment.block.cpp" 17250 } 17251 ] 17252 } 17253 } 17254 }, 17255 { 17256 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", 17257 "captures": { 17258 "1": { 17259 "name": "entity.name.type.class.cpp" 17260 }, 17261 "2": { 17262 "patterns": [ 17263 { 17264 "include": "#inline_comment" 17265 } 17266 ] 17267 }, 17268 "3": { 17269 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17270 }, 17271 "4": { 17272 "name": "comment.block.cpp" 17273 }, 17274 "5": { 17275 "patterns": [ 17276 { 17277 "match": "\\*\\/", 17278 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17279 }, 17280 { 17281 "match": "\\*", 17282 "name": "comment.block.cpp" 17283 } 17284 ] 17285 }, 17286 "6": { 17287 "name": "storage.type.modifier.final.cpp" 17288 }, 17289 "7": { 17290 "patterns": [ 17291 { 17292 "include": "#inline_comment" 17293 } 17294 ] 17295 }, 17296 "8": { 17297 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17298 }, 17299 "9": { 17300 "name": "comment.block.cpp" 17301 }, 17302 "10": { 17303 "patterns": [ 17304 { 17305 "match": "\\*\\/", 17306 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17307 }, 17308 { 17309 "match": "\\*", 17310 "name": "comment.block.cpp" 17311 } 17312 ] 17313 } 17314 } 17315 }, 17316 { 17317 "match": "DLLEXPORT", 17318 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" 17319 }, 17320 { 17321 "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}))*", 17322 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" 17323 } 17324 ] 17325 }, 17326 "12": { 17327 "patterns": [ 17328 { 17329 "include": "#inline_comment" 17330 } 17331 ] 17332 }, 17333 "13": { 17334 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17335 }, 17336 "14": { 17337 "name": "comment.block.cpp" 17338 }, 17339 "15": { 17340 "patterns": [ 17341 { 17342 "match": "\\*\\/", 17343 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17344 }, 17345 { 17346 "match": "\\*", 17347 "name": "comment.block.cpp" 17348 } 17349 ] 17350 }, 17351 "16": { 17352 "patterns": [ 17353 { 17354 "include": "#inline_comment" 17355 } 17356 ] 17357 }, 17358 "17": { 17359 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17360 }, 17361 "18": { 17362 "name": "comment.block.cpp" 17363 }, 17364 "19": { 17365 "patterns": [ 17366 { 17367 "match": "\\*\\/", 17368 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17369 }, 17370 { 17371 "match": "\\*", 17372 "name": "comment.block.cpp" 17373 } 17374 ] 17375 }, 17376 "20": { 17377 "name": "punctuation.separator.colon.inheritance.cpp" 17378 } 17379 }, 17380 "endCaptures": { 17381 "1": { 17382 "name": "punctuation.terminator.statement.cpp" 17383 }, 17384 "2": { 17385 "name": "punctuation.terminator.statement.cpp" 17386 } 17387 }, 17388 "name": "meta.block.class.cpp", 17389 "patterns": [ 17390 { 17391 "begin": "\\G ?", 17392 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 17393 "beginCaptures": {}, 17394 "endCaptures": { 17395 "0": { 17396 "name": "punctuation.section.block.begin.bracket.curly.class.cpp" 17397 } 17398 }, 17399 "name": "meta.head.class.cpp", 17400 "patterns": [ 17401 { 17402 "include": "#ever_present_context" 17403 }, 17404 { 17405 "include": "#inheritance_context" 17406 }, 17407 { 17408 "include": "#template_call_range" 17409 } 17410 ] 17411 }, 17412 { 17413 "begin": "(?<=\\{|<%|\\?\\?<)", 17414 "end": "\\}|%>|\\?\\?>", 17415 "beginCaptures": {}, 17416 "endCaptures": { 17417 "0": { 17418 "name": "punctuation.section.block.end.bracket.curly.class.cpp" 17419 } 17420 }, 17421 "name": "meta.body.class.cpp", 17422 "patterns": [ 17423 { 17424 "include": "#function_pointer" 17425 }, 17426 { 17427 "include": "#static_assert" 17428 }, 17429 { 17430 "include": "#constructor_inline" 17431 }, 17432 { 17433 "include": "#destructor_inline" 17434 }, 17435 { 17436 "include": "$self" 17437 } 17438 ] 17439 }, 17440 { 17441 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 17442 "end": "[\\s]*(?=;)", 17443 "beginCaptures": {}, 17444 "endCaptures": {}, 17445 "name": "meta.tail.class.cpp", 17446 "patterns": [ 17447 { 17448 "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))", 17449 "captures": { 17450 "1": { 17451 "patterns": [ 17452 { 17453 "match": "\\*", 17454 "name": "storage.modifier.pointer.cpp" 17455 }, 17456 { 17457 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 17458 "captures": { 17459 "1": { 17460 "patterns": [ 17461 { 17462 "include": "#inline_comment" 17463 } 17464 ] 17465 }, 17466 "2": { 17467 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17468 }, 17469 "3": { 17470 "name": "comment.block.cpp" 17471 }, 17472 "4": { 17473 "patterns": [ 17474 { 17475 "match": "\\*\\/", 17476 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17477 }, 17478 { 17479 "match": "\\*", 17480 "name": "comment.block.cpp" 17481 } 17482 ] 17483 } 17484 }, 17485 "name": "invalid.illegal.reference-type.cpp" 17486 }, 17487 { 17488 "match": "\\&", 17489 "name": "storage.modifier.reference.cpp" 17490 } 17491 ] 17492 }, 17493 "2": { 17494 "patterns": [ 17495 { 17496 "include": "#inline_comment" 17497 } 17498 ] 17499 }, 17500 "3": { 17501 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17502 }, 17503 "4": { 17504 "name": "comment.block.cpp" 17505 }, 17506 "5": { 17507 "patterns": [ 17508 { 17509 "match": "\\*\\/", 17510 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17511 }, 17512 { 17513 "match": "\\*", 17514 "name": "comment.block.cpp" 17515 } 17516 ] 17517 }, 17518 "6": { 17519 "patterns": [ 17520 { 17521 "include": "#inline_comment" 17522 } 17523 ] 17524 }, 17525 "7": { 17526 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17527 }, 17528 "8": { 17529 "name": "comment.block.cpp" 17530 }, 17531 "9": { 17532 "patterns": [ 17533 { 17534 "match": "\\*\\/", 17535 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17536 }, 17537 { 17538 "match": "\\*", 17539 "name": "comment.block.cpp" 17540 } 17541 ] 17542 }, 17543 "10": { 17544 "patterns": [ 17545 { 17546 "include": "#inline_comment" 17547 } 17548 ] 17549 }, 17550 "11": { 17551 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17552 }, 17553 "12": { 17554 "name": "comment.block.cpp" 17555 }, 17556 "13": { 17557 "patterns": [ 17558 { 17559 "match": "\\*\\/", 17560 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17561 }, 17562 { 17563 "match": "\\*", 17564 "name": "comment.block.cpp" 17565 } 17566 ] 17567 }, 17568 "14": { 17569 "name": "entity.name.type.alias.cpp" 17570 } 17571 } 17572 }, 17573 { 17574 "match": "," 17575 } 17576 ] 17577 } 17578 ] 17579 } 17580 ] 17581 }, 17582 "typedef_function_pointer": { 17583 "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*\\))", 17584 "end": "(?<=;)", 17585 "beginCaptures": { 17586 "1": { 17587 "name": "keyword.other.typedef.cpp" 17588 } 17589 }, 17590 "endCaptures": {}, 17591 "patterns": [ 17592 { 17593 "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?: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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", 17594 "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", 17595 "beginCaptures": { 17596 "1": { 17597 "name": "meta.qualified_type.cpp", 17598 "patterns": [ 17599 { 17600 "match": "::", 17601 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 17602 }, 17603 { 17604 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 17605 "name": "storage.type.$0.cpp" 17606 }, 17607 { 17608 "include": "#attributes_context" 17609 }, 17610 { 17611 "include": "#storage_types" 17612 }, 17613 { 17614 "include": "#number_literal" 17615 }, 17616 { 17617 "include": "#string_context" 17618 }, 17619 { 17620 "include": "#comma" 17621 }, 17622 { 17623 "include": "#scope_resolution_inner_generated" 17624 }, 17625 { 17626 "begin": "<", 17627 "end": ">", 17628 "beginCaptures": { 17629 "0": { 17630 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 17631 } 17632 }, 17633 "endCaptures": { 17634 "0": { 17635 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 17636 } 17637 }, 17638 "name": "meta.template.call.cpp", 17639 "patterns": [ 17640 { 17641 "include": "#template_call_context" 17642 } 17643 ] 17644 }, 17645 { 17646 "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}))*", 17647 "name": "entity.name.type.cpp" 17648 } 17649 ] 17650 }, 17651 "2": { 17652 "patterns": [ 17653 { 17654 "include": "#attributes_context" 17655 }, 17656 { 17657 "include": "#number_literal" 17658 } 17659 ] 17660 }, 17661 "3": { 17662 "patterns": [ 17663 { 17664 "include": "#inline_comment" 17665 } 17666 ] 17667 }, 17668 "4": { 17669 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17670 }, 17671 "5": { 17672 "name": "comment.block.cpp" 17673 }, 17674 "6": { 17675 "patterns": [ 17676 { 17677 "match": "\\*\\/", 17678 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17679 }, 17680 { 17681 "match": "\\*", 17682 "name": "comment.block.cpp" 17683 } 17684 ] 17685 }, 17686 "7": { 17687 "patterns": [ 17688 { 17689 "include": "#inline_comment" 17690 } 17691 ] 17692 }, 17693 "8": { 17694 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17695 }, 17696 "9": { 17697 "name": "comment.block.cpp" 17698 }, 17699 "10": { 17700 "patterns": [ 17701 { 17702 "match": "\\*\\/", 17703 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17704 }, 17705 { 17706 "match": "\\*", 17707 "name": "comment.block.cpp" 17708 } 17709 ] 17710 }, 17711 "11": { 17712 "patterns": [ 17713 { 17714 "match": "::", 17715 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 17716 }, 17717 { 17718 "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)", 17719 "name": "entity.name.scope-resolution.type.cpp" 17720 }, 17721 { 17722 "include": "#template_call_range" 17723 } 17724 ] 17725 }, 17726 "12": { 17727 "patterns": [ 17728 { 17729 "include": "#template_call_range" 17730 } 17731 ] 17732 }, 17733 "13": {}, 17734 "14": { 17735 "patterns": [ 17736 { 17737 "include": "#inline_comment" 17738 } 17739 ] 17740 }, 17741 "15": { 17742 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17743 }, 17744 "16": { 17745 "name": "comment.block.cpp" 17746 }, 17747 "17": { 17748 "patterns": [ 17749 { 17750 "match": "\\*\\/", 17751 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17752 }, 17753 { 17754 "match": "\\*", 17755 "name": "comment.block.cpp" 17756 } 17757 ] 17758 }, 17759 "18": {}, 17760 "19": { 17761 "patterns": [ 17762 { 17763 "match": "\\*", 17764 "name": "storage.modifier.pointer.cpp" 17765 }, 17766 { 17767 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 17768 "captures": { 17769 "1": { 17770 "patterns": [ 17771 { 17772 "include": "#inline_comment" 17773 } 17774 ] 17775 }, 17776 "2": { 17777 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17778 }, 17779 "3": { 17780 "name": "comment.block.cpp" 17781 }, 17782 "4": { 17783 "patterns": [ 17784 { 17785 "match": "\\*\\/", 17786 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17787 }, 17788 { 17789 "match": "\\*", 17790 "name": "comment.block.cpp" 17791 } 17792 ] 17793 } 17794 }, 17795 "name": "invalid.illegal.reference-type.cpp" 17796 }, 17797 { 17798 "match": "\\&", 17799 "name": "storage.modifier.reference.cpp" 17800 } 17801 ] 17802 }, 17803 "20": { 17804 "patterns": [ 17805 { 17806 "include": "#inline_comment" 17807 } 17808 ] 17809 }, 17810 "21": { 17811 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17812 }, 17813 "22": { 17814 "name": "comment.block.cpp" 17815 }, 17816 "23": { 17817 "patterns": [ 17818 { 17819 "match": "\\*\\/", 17820 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17821 }, 17822 { 17823 "match": "\\*", 17824 "name": "comment.block.cpp" 17825 } 17826 ] 17827 }, 17828 "24": { 17829 "patterns": [ 17830 { 17831 "include": "#inline_comment" 17832 } 17833 ] 17834 }, 17835 "25": { 17836 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17837 }, 17838 "26": { 17839 "name": "comment.block.cpp" 17840 }, 17841 "27": { 17842 "patterns": [ 17843 { 17844 "match": "\\*\\/", 17845 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17846 }, 17847 { 17848 "match": "\\*", 17849 "name": "comment.block.cpp" 17850 } 17851 ] 17852 }, 17853 "28": { 17854 "patterns": [ 17855 { 17856 "include": "#inline_comment" 17857 } 17858 ] 17859 }, 17860 "29": { 17861 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17862 }, 17863 "30": { 17864 "name": "comment.block.cpp" 17865 }, 17866 "31": { 17867 "patterns": [ 17868 { 17869 "match": "\\*\\/", 17870 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17871 }, 17872 { 17873 "match": "\\*", 17874 "name": "comment.block.cpp" 17875 } 17876 ] 17877 }, 17878 "32": { 17879 "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp" 17880 }, 17881 "33": { 17882 "name": "punctuation.definition.function.pointer.dereference.cpp" 17883 }, 17884 "34": { 17885 "name": "entity.name.type.alias.cpp entity.name.type.pointer.function.cpp" 17886 }, 17887 "35": { 17888 "name": "punctuation.definition.begin.bracket.square.cpp" 17889 }, 17890 "36": { 17891 "patterns": [ 17892 { 17893 "include": "#evaluation_context" 17894 } 17895 ] 17896 }, 17897 "37": { 17898 "name": "punctuation.definition.end.bracket.square.cpp" 17899 }, 17900 "38": { 17901 "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp" 17902 }, 17903 "39": { 17904 "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp" 17905 } 17906 }, 17907 "endCaptures": { 17908 "1": { 17909 "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" 17910 }, 17911 "2": { 17912 "patterns": [ 17913 { 17914 "include": "#inline_comment" 17915 } 17916 ] 17917 }, 17918 "3": { 17919 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17920 }, 17921 "4": { 17922 "name": "comment.block.cpp" 17923 }, 17924 "5": { 17925 "patterns": [ 17926 { 17927 "match": "\\*\\/", 17928 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17929 }, 17930 { 17931 "match": "\\*", 17932 "name": "comment.block.cpp" 17933 } 17934 ] 17935 } 17936 }, 17937 "patterns": [ 17938 { 17939 "include": "#function_parameter_context" 17940 } 17941 ] 17942 } 17943 ] 17944 }, 17945 "typedef_struct": { 17946 "begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)struct(?!\\w))", 17947 "end": "(?<=;)", 17948 "beginCaptures": { 17949 "1": { 17950 "name": "keyword.other.typedef.cpp" 17951 } 17952 }, 17953 "endCaptures": {}, 17954 "patterns": [ 17955 { 17956 "begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", 17957 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", 17958 "beginCaptures": { 17959 "0": { 17960 "name": "meta.head.struct.cpp" 17961 }, 17962 "1": { 17963 "name": "storage.type.$1.cpp" 17964 }, 17965 "2": { 17966 "patterns": [ 17967 { 17968 "include": "#inline_comment" 17969 } 17970 ] 17971 }, 17972 "3": { 17973 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 17974 }, 17975 "4": { 17976 "name": "comment.block.cpp" 17977 }, 17978 "5": { 17979 "patterns": [ 17980 { 17981 "match": "\\*\\/", 17982 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 17983 }, 17984 { 17985 "match": "\\*", 17986 "name": "comment.block.cpp" 17987 } 17988 ] 17989 }, 17990 "6": { 17991 "patterns": [ 17992 { 17993 "include": "#attributes_context" 17994 }, 17995 { 17996 "include": "#number_literal" 17997 } 17998 ] 17999 }, 18000 "7": { 18001 "patterns": [ 18002 { 18003 "include": "#inline_comment" 18004 } 18005 ] 18006 }, 18007 "8": { 18008 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18009 }, 18010 "9": { 18011 "name": "comment.block.cpp" 18012 }, 18013 "10": { 18014 "patterns": [ 18015 { 18016 "match": "\\*\\/", 18017 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18018 }, 18019 { 18020 "match": "\\*", 18021 "name": "comment.block.cpp" 18022 } 18023 ] 18024 }, 18025 "11": { 18026 "patterns": [ 18027 { 18028 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", 18029 "captures": { 18030 "1": { 18031 "name": "storage.type.modifier.final.cpp" 18032 }, 18033 "2": { 18034 "patterns": [ 18035 { 18036 "include": "#inline_comment" 18037 } 18038 ] 18039 }, 18040 "3": { 18041 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18042 }, 18043 "4": { 18044 "name": "comment.block.cpp" 18045 }, 18046 "5": { 18047 "patterns": [ 18048 { 18049 "match": "\\*\\/", 18050 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18051 }, 18052 { 18053 "match": "\\*", 18054 "name": "comment.block.cpp" 18055 } 18056 ] 18057 } 18058 } 18059 }, 18060 { 18061 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", 18062 "captures": { 18063 "1": { 18064 "name": "entity.name.type.struct.cpp" 18065 }, 18066 "2": { 18067 "patterns": [ 18068 { 18069 "include": "#inline_comment" 18070 } 18071 ] 18072 }, 18073 "3": { 18074 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18075 }, 18076 "4": { 18077 "name": "comment.block.cpp" 18078 }, 18079 "5": { 18080 "patterns": [ 18081 { 18082 "match": "\\*\\/", 18083 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18084 }, 18085 { 18086 "match": "\\*", 18087 "name": "comment.block.cpp" 18088 } 18089 ] 18090 }, 18091 "6": { 18092 "name": "storage.type.modifier.final.cpp" 18093 }, 18094 "7": { 18095 "patterns": [ 18096 { 18097 "include": "#inline_comment" 18098 } 18099 ] 18100 }, 18101 "8": { 18102 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18103 }, 18104 "9": { 18105 "name": "comment.block.cpp" 18106 }, 18107 "10": { 18108 "patterns": [ 18109 { 18110 "match": "\\*\\/", 18111 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18112 }, 18113 { 18114 "match": "\\*", 18115 "name": "comment.block.cpp" 18116 } 18117 ] 18118 } 18119 } 18120 }, 18121 { 18122 "match": "DLLEXPORT", 18123 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" 18124 }, 18125 { 18126 "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}))*", 18127 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" 18128 } 18129 ] 18130 }, 18131 "12": { 18132 "patterns": [ 18133 { 18134 "include": "#inline_comment" 18135 } 18136 ] 18137 }, 18138 "13": { 18139 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18140 }, 18141 "14": { 18142 "name": "comment.block.cpp" 18143 }, 18144 "15": { 18145 "patterns": [ 18146 { 18147 "match": "\\*\\/", 18148 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18149 }, 18150 { 18151 "match": "\\*", 18152 "name": "comment.block.cpp" 18153 } 18154 ] 18155 }, 18156 "16": { 18157 "patterns": [ 18158 { 18159 "include": "#inline_comment" 18160 } 18161 ] 18162 }, 18163 "17": { 18164 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18165 }, 18166 "18": { 18167 "name": "comment.block.cpp" 18168 }, 18169 "19": { 18170 "patterns": [ 18171 { 18172 "match": "\\*\\/", 18173 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18174 }, 18175 { 18176 "match": "\\*", 18177 "name": "comment.block.cpp" 18178 } 18179 ] 18180 }, 18181 "20": { 18182 "name": "punctuation.separator.colon.inheritance.cpp" 18183 } 18184 }, 18185 "endCaptures": { 18186 "1": { 18187 "name": "punctuation.terminator.statement.cpp" 18188 }, 18189 "2": { 18190 "name": "punctuation.terminator.statement.cpp" 18191 } 18192 }, 18193 "name": "meta.block.struct.cpp", 18194 "patterns": [ 18195 { 18196 "begin": "\\G ?", 18197 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 18198 "beginCaptures": {}, 18199 "endCaptures": { 18200 "0": { 18201 "name": "punctuation.section.block.begin.bracket.curly.struct.cpp" 18202 } 18203 }, 18204 "name": "meta.head.struct.cpp", 18205 "patterns": [ 18206 { 18207 "include": "#ever_present_context" 18208 }, 18209 { 18210 "include": "#inheritance_context" 18211 }, 18212 { 18213 "include": "#template_call_range" 18214 } 18215 ] 18216 }, 18217 { 18218 "begin": "(?<=\\{|<%|\\?\\?<)", 18219 "end": "\\}|%>|\\?\\?>", 18220 "beginCaptures": {}, 18221 "endCaptures": { 18222 "0": { 18223 "name": "punctuation.section.block.end.bracket.curly.struct.cpp" 18224 } 18225 }, 18226 "name": "meta.body.struct.cpp", 18227 "patterns": [ 18228 { 18229 "include": "#function_pointer" 18230 }, 18231 { 18232 "include": "#static_assert" 18233 }, 18234 { 18235 "include": "#constructor_inline" 18236 }, 18237 { 18238 "include": "#destructor_inline" 18239 }, 18240 { 18241 "include": "$self" 18242 } 18243 ] 18244 }, 18245 { 18246 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 18247 "end": "[\\s]*(?=;)", 18248 "beginCaptures": {}, 18249 "endCaptures": {}, 18250 "name": "meta.tail.struct.cpp", 18251 "patterns": [ 18252 { 18253 "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))", 18254 "captures": { 18255 "1": { 18256 "patterns": [ 18257 { 18258 "match": "\\*", 18259 "name": "storage.modifier.pointer.cpp" 18260 }, 18261 { 18262 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 18263 "captures": { 18264 "1": { 18265 "patterns": [ 18266 { 18267 "include": "#inline_comment" 18268 } 18269 ] 18270 }, 18271 "2": { 18272 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18273 }, 18274 "3": { 18275 "name": "comment.block.cpp" 18276 }, 18277 "4": { 18278 "patterns": [ 18279 { 18280 "match": "\\*\\/", 18281 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18282 }, 18283 { 18284 "match": "\\*", 18285 "name": "comment.block.cpp" 18286 } 18287 ] 18288 } 18289 }, 18290 "name": "invalid.illegal.reference-type.cpp" 18291 }, 18292 { 18293 "match": "\\&", 18294 "name": "storage.modifier.reference.cpp" 18295 } 18296 ] 18297 }, 18298 "2": { 18299 "patterns": [ 18300 { 18301 "include": "#inline_comment" 18302 } 18303 ] 18304 }, 18305 "3": { 18306 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18307 }, 18308 "4": { 18309 "name": "comment.block.cpp" 18310 }, 18311 "5": { 18312 "patterns": [ 18313 { 18314 "match": "\\*\\/", 18315 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18316 }, 18317 { 18318 "match": "\\*", 18319 "name": "comment.block.cpp" 18320 } 18321 ] 18322 }, 18323 "6": { 18324 "patterns": [ 18325 { 18326 "include": "#inline_comment" 18327 } 18328 ] 18329 }, 18330 "7": { 18331 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18332 }, 18333 "8": { 18334 "name": "comment.block.cpp" 18335 }, 18336 "9": { 18337 "patterns": [ 18338 { 18339 "match": "\\*\\/", 18340 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18341 }, 18342 { 18343 "match": "\\*", 18344 "name": "comment.block.cpp" 18345 } 18346 ] 18347 }, 18348 "10": { 18349 "patterns": [ 18350 { 18351 "include": "#inline_comment" 18352 } 18353 ] 18354 }, 18355 "11": { 18356 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18357 }, 18358 "12": { 18359 "name": "comment.block.cpp" 18360 }, 18361 "13": { 18362 "patterns": [ 18363 { 18364 "match": "\\*\\/", 18365 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18366 }, 18367 { 18368 "match": "\\*", 18369 "name": "comment.block.cpp" 18370 } 18371 ] 18372 }, 18373 "14": { 18374 "name": "entity.name.type.alias.cpp" 18375 } 18376 } 18377 }, 18378 { 18379 "match": "," 18380 } 18381 ] 18382 } 18383 ] 18384 } 18385 ] 18386 }, 18387 "typedef_union": { 18388 "begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)union(?!\\w))", 18389 "end": "(?<=;)", 18390 "beginCaptures": { 18391 "1": { 18392 "name": "keyword.other.typedef.cpp" 18393 } 18394 }, 18395 "endCaptures": {}, 18396 "patterns": [ 18397 { 18398 "begin": "((?<!\\w)union(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", 18399 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", 18400 "beginCaptures": { 18401 "0": { 18402 "name": "meta.head.union.cpp" 18403 }, 18404 "1": { 18405 "name": "storage.type.$1.cpp" 18406 }, 18407 "2": { 18408 "patterns": [ 18409 { 18410 "include": "#inline_comment" 18411 } 18412 ] 18413 }, 18414 "3": { 18415 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18416 }, 18417 "4": { 18418 "name": "comment.block.cpp" 18419 }, 18420 "5": { 18421 "patterns": [ 18422 { 18423 "match": "\\*\\/", 18424 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18425 }, 18426 { 18427 "match": "\\*", 18428 "name": "comment.block.cpp" 18429 } 18430 ] 18431 }, 18432 "6": { 18433 "patterns": [ 18434 { 18435 "include": "#attributes_context" 18436 }, 18437 { 18438 "include": "#number_literal" 18439 } 18440 ] 18441 }, 18442 "7": { 18443 "patterns": [ 18444 { 18445 "include": "#inline_comment" 18446 } 18447 ] 18448 }, 18449 "8": { 18450 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18451 }, 18452 "9": { 18453 "name": "comment.block.cpp" 18454 }, 18455 "10": { 18456 "patterns": [ 18457 { 18458 "match": "\\*\\/", 18459 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18460 }, 18461 { 18462 "match": "\\*", 18463 "name": "comment.block.cpp" 18464 } 18465 ] 18466 }, 18467 "11": { 18468 "patterns": [ 18469 { 18470 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", 18471 "captures": { 18472 "1": { 18473 "name": "storage.type.modifier.final.cpp" 18474 }, 18475 "2": { 18476 "patterns": [ 18477 { 18478 "include": "#inline_comment" 18479 } 18480 ] 18481 }, 18482 "3": { 18483 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18484 }, 18485 "4": { 18486 "name": "comment.block.cpp" 18487 }, 18488 "5": { 18489 "patterns": [ 18490 { 18491 "match": "\\*\\/", 18492 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18493 }, 18494 { 18495 "match": "\\*", 18496 "name": "comment.block.cpp" 18497 } 18498 ] 18499 } 18500 } 18501 }, 18502 { 18503 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", 18504 "captures": { 18505 "1": { 18506 "name": "entity.name.type.union.cpp" 18507 }, 18508 "2": { 18509 "patterns": [ 18510 { 18511 "include": "#inline_comment" 18512 } 18513 ] 18514 }, 18515 "3": { 18516 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18517 }, 18518 "4": { 18519 "name": "comment.block.cpp" 18520 }, 18521 "5": { 18522 "patterns": [ 18523 { 18524 "match": "\\*\\/", 18525 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18526 }, 18527 { 18528 "match": "\\*", 18529 "name": "comment.block.cpp" 18530 } 18531 ] 18532 }, 18533 "6": { 18534 "name": "storage.type.modifier.final.cpp" 18535 }, 18536 "7": { 18537 "patterns": [ 18538 { 18539 "include": "#inline_comment" 18540 } 18541 ] 18542 }, 18543 "8": { 18544 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18545 }, 18546 "9": { 18547 "name": "comment.block.cpp" 18548 }, 18549 "10": { 18550 "patterns": [ 18551 { 18552 "match": "\\*\\/", 18553 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18554 }, 18555 { 18556 "match": "\\*", 18557 "name": "comment.block.cpp" 18558 } 18559 ] 18560 } 18561 } 18562 }, 18563 { 18564 "match": "DLLEXPORT", 18565 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" 18566 }, 18567 { 18568 "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}))*", 18569 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" 18570 } 18571 ] 18572 }, 18573 "12": { 18574 "patterns": [ 18575 { 18576 "include": "#inline_comment" 18577 } 18578 ] 18579 }, 18580 "13": { 18581 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18582 }, 18583 "14": { 18584 "name": "comment.block.cpp" 18585 }, 18586 "15": { 18587 "patterns": [ 18588 { 18589 "match": "\\*\\/", 18590 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18591 }, 18592 { 18593 "match": "\\*", 18594 "name": "comment.block.cpp" 18595 } 18596 ] 18597 }, 18598 "16": { 18599 "patterns": [ 18600 { 18601 "include": "#inline_comment" 18602 } 18603 ] 18604 }, 18605 "17": { 18606 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18607 }, 18608 "18": { 18609 "name": "comment.block.cpp" 18610 }, 18611 "19": { 18612 "patterns": [ 18613 { 18614 "match": "\\*\\/", 18615 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18616 }, 18617 { 18618 "match": "\\*", 18619 "name": "comment.block.cpp" 18620 } 18621 ] 18622 }, 18623 "20": { 18624 "name": "punctuation.separator.colon.inheritance.cpp" 18625 } 18626 }, 18627 "endCaptures": { 18628 "1": { 18629 "name": "punctuation.terminator.statement.cpp" 18630 }, 18631 "2": { 18632 "name": "punctuation.terminator.statement.cpp" 18633 } 18634 }, 18635 "name": "meta.block.union.cpp", 18636 "patterns": [ 18637 { 18638 "begin": "\\G ?", 18639 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 18640 "beginCaptures": {}, 18641 "endCaptures": { 18642 "0": { 18643 "name": "punctuation.section.block.begin.bracket.curly.union.cpp" 18644 } 18645 }, 18646 "name": "meta.head.union.cpp", 18647 "patterns": [ 18648 { 18649 "include": "#ever_present_context" 18650 }, 18651 { 18652 "include": "#inheritance_context" 18653 }, 18654 { 18655 "include": "#template_call_range" 18656 } 18657 ] 18658 }, 18659 { 18660 "begin": "(?<=\\{|<%|\\?\\?<)", 18661 "end": "\\}|%>|\\?\\?>", 18662 "beginCaptures": {}, 18663 "endCaptures": { 18664 "0": { 18665 "name": "punctuation.section.block.end.bracket.curly.union.cpp" 18666 } 18667 }, 18668 "name": "meta.body.union.cpp", 18669 "patterns": [ 18670 { 18671 "include": "#function_pointer" 18672 }, 18673 { 18674 "include": "#static_assert" 18675 }, 18676 { 18677 "include": "#constructor_inline" 18678 }, 18679 { 18680 "include": "#destructor_inline" 18681 }, 18682 { 18683 "include": "$self" 18684 } 18685 ] 18686 }, 18687 { 18688 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 18689 "end": "[\\s]*(?=;)", 18690 "beginCaptures": {}, 18691 "endCaptures": {}, 18692 "name": "meta.tail.union.cpp", 18693 "patterns": [ 18694 { 18695 "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))", 18696 "captures": { 18697 "1": { 18698 "patterns": [ 18699 { 18700 "match": "\\*", 18701 "name": "storage.modifier.pointer.cpp" 18702 }, 18703 { 18704 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 18705 "captures": { 18706 "1": { 18707 "patterns": [ 18708 { 18709 "include": "#inline_comment" 18710 } 18711 ] 18712 }, 18713 "2": { 18714 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18715 }, 18716 "3": { 18717 "name": "comment.block.cpp" 18718 }, 18719 "4": { 18720 "patterns": [ 18721 { 18722 "match": "\\*\\/", 18723 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18724 }, 18725 { 18726 "match": "\\*", 18727 "name": "comment.block.cpp" 18728 } 18729 ] 18730 } 18731 }, 18732 "name": "invalid.illegal.reference-type.cpp" 18733 }, 18734 { 18735 "match": "\\&", 18736 "name": "storage.modifier.reference.cpp" 18737 } 18738 ] 18739 }, 18740 "2": { 18741 "patterns": [ 18742 { 18743 "include": "#inline_comment" 18744 } 18745 ] 18746 }, 18747 "3": { 18748 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18749 }, 18750 "4": { 18751 "name": "comment.block.cpp" 18752 }, 18753 "5": { 18754 "patterns": [ 18755 { 18756 "match": "\\*\\/", 18757 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18758 }, 18759 { 18760 "match": "\\*", 18761 "name": "comment.block.cpp" 18762 } 18763 ] 18764 }, 18765 "6": { 18766 "patterns": [ 18767 { 18768 "include": "#inline_comment" 18769 } 18770 ] 18771 }, 18772 "7": { 18773 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18774 }, 18775 "8": { 18776 "name": "comment.block.cpp" 18777 }, 18778 "9": { 18779 "patterns": [ 18780 { 18781 "match": "\\*\\/", 18782 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18783 }, 18784 { 18785 "match": "\\*", 18786 "name": "comment.block.cpp" 18787 } 18788 ] 18789 }, 18790 "10": { 18791 "patterns": [ 18792 { 18793 "include": "#inline_comment" 18794 } 18795 ] 18796 }, 18797 "11": { 18798 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18799 }, 18800 "12": { 18801 "name": "comment.block.cpp" 18802 }, 18803 "13": { 18804 "patterns": [ 18805 { 18806 "match": "\\*\\/", 18807 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18808 }, 18809 { 18810 "match": "\\*", 18811 "name": "comment.block.cpp" 18812 } 18813 ] 18814 }, 18815 "14": { 18816 "name": "entity.name.type.alias.cpp" 18817 } 18818 } 18819 }, 18820 { 18821 "match": "," 18822 } 18823 ] 18824 } 18825 ] 18826 } 18827 ] 18828 }, 18829 "typeid_operator": { 18830 "begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", 18831 "end": "\\)", 18832 "beginCaptures": { 18833 "1": { 18834 "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp" 18835 }, 18836 "2": { 18837 "patterns": [ 18838 { 18839 "include": "#inline_comment" 18840 } 18841 ] 18842 }, 18843 "3": { 18844 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18845 }, 18846 "4": { 18847 "name": "comment.block.cpp" 18848 }, 18849 "5": { 18850 "patterns": [ 18851 { 18852 "match": "\\*\\/", 18853 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18854 }, 18855 { 18856 "match": "\\*", 18857 "name": "comment.block.cpp" 18858 } 18859 ] 18860 }, 18861 "6": { 18862 "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp" 18863 } 18864 }, 18865 "endCaptures": { 18866 "0": { 18867 "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" 18868 } 18869 }, 18870 "contentName": "meta.arguments.operator.typeid", 18871 "patterns": [ 18872 { 18873 "include": "#evaluation_context" 18874 } 18875 ] 18876 }, 18877 "typename": { 18878 "match": "(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?<!\\w)typename(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)?(?![\\w<:.]))", 18879 "captures": { 18880 "1": { 18881 "name": "storage.modifier.cpp" 18882 }, 18883 "2": { 18884 "patterns": [ 18885 { 18886 "include": "#inline_comment" 18887 } 18888 ] 18889 }, 18890 "3": { 18891 "patterns": [ 18892 { 18893 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 18894 "captures": { 18895 "1": { 18896 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18897 }, 18898 "2": { 18899 "name": "comment.block.cpp" 18900 }, 18901 "3": { 18902 "patterns": [ 18903 { 18904 "match": "\\*\\/", 18905 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18906 }, 18907 { 18908 "match": "\\*", 18909 "name": "comment.block.cpp" 18910 } 18911 ] 18912 } 18913 } 18914 } 18915 ] 18916 }, 18917 "4": { 18918 "patterns": [ 18919 { 18920 "include": "#inline_comment" 18921 } 18922 ] 18923 }, 18924 "5": { 18925 "patterns": [ 18926 { 18927 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 18928 "captures": { 18929 "1": { 18930 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 18931 }, 18932 "2": { 18933 "name": "comment.block.cpp" 18934 }, 18935 "3": { 18936 "patterns": [ 18937 { 18938 "match": "\\*\\/", 18939 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 18940 }, 18941 { 18942 "match": "\\*", 18943 "name": "comment.block.cpp" 18944 } 18945 ] 18946 } 18947 } 18948 } 18949 ] 18950 }, 18951 "6": { 18952 "name": "meta.qualified_type.cpp", 18953 "patterns": [ 18954 { 18955 "match": "::", 18956 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" 18957 }, 18958 { 18959 "match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", 18960 "name": "storage.type.$0.cpp" 18961 }, 18962 { 18963 "include": "#attributes_context" 18964 }, 18965 { 18966 "include": "#storage_types" 18967 }, 18968 { 18969 "include": "#number_literal" 18970 }, 18971 { 18972 "include": "#string_context" 18973 }, 18974 { 18975 "include": "#comma" 18976 }, 18977 { 18978 "include": "#scope_resolution_inner_generated" 18979 }, 18980 { 18981 "begin": "<", 18982 "end": ">", 18983 "beginCaptures": { 18984 "0": { 18985 "name": "punctuation.section.angle-brackets.begin.template.call.cpp" 18986 } 18987 }, 18988 "endCaptures": { 18989 "0": { 18990 "name": "punctuation.section.angle-brackets.end.template.call.cpp" 18991 } 18992 }, 18993 "name": "meta.template.call.cpp", 18994 "patterns": [ 18995 { 18996 "include": "#template_call_context" 18997 } 18998 ] 18999 }, 19000 { 19001 "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}))*", 19002 "name": "entity.name.type.cpp" 19003 } 19004 ] 19005 }, 19006 "7": { 19007 "patterns": [ 19008 { 19009 "include": "#attributes_context" 19010 }, 19011 { 19012 "include": "#number_literal" 19013 } 19014 ] 19015 }, 19016 "8": { 19017 "patterns": [ 19018 { 19019 "include": "#inline_comment" 19020 } 19021 ] 19022 }, 19023 "9": { 19024 "patterns": [ 19025 { 19026 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 19027 "captures": { 19028 "1": { 19029 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19030 }, 19031 "2": { 19032 "name": "comment.block.cpp" 19033 }, 19034 "3": { 19035 "patterns": [ 19036 { 19037 "match": "\\*\\/", 19038 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19039 }, 19040 { 19041 "match": "\\*", 19042 "name": "comment.block.cpp" 19043 } 19044 ] 19045 } 19046 } 19047 } 19048 ] 19049 }, 19050 "10": { 19051 "patterns": [ 19052 { 19053 "include": "#inline_comment" 19054 } 19055 ] 19056 }, 19057 "11": { 19058 "patterns": [ 19059 { 19060 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 19061 "captures": { 19062 "1": { 19063 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19064 }, 19065 "2": { 19066 "name": "comment.block.cpp" 19067 }, 19068 "3": { 19069 "patterns": [ 19070 { 19071 "match": "\\*\\/", 19072 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19073 }, 19074 { 19075 "match": "\\*", 19076 "name": "comment.block.cpp" 19077 } 19078 ] 19079 } 19080 } 19081 } 19082 ] 19083 }, 19084 "12": { 19085 "patterns": [ 19086 { 19087 "match": "::", 19088 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" 19089 }, 19090 { 19091 "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)", 19092 "name": "entity.name.scope-resolution.type.cpp" 19093 }, 19094 { 19095 "include": "#template_call_range" 19096 } 19097 ] 19098 }, 19099 "13": { 19100 "patterns": [ 19101 { 19102 "include": "#template_call_range" 19103 } 19104 ] 19105 }, 19106 "14": {}, 19107 "15": { 19108 "patterns": [ 19109 { 19110 "include": "#inline_comment" 19111 } 19112 ] 19113 }, 19114 "16": { 19115 "patterns": [ 19116 { 19117 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 19118 "captures": { 19119 "1": { 19120 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19121 }, 19122 "2": { 19123 "name": "comment.block.cpp" 19124 }, 19125 "3": { 19126 "patterns": [ 19127 { 19128 "match": "\\*\\/", 19129 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19130 }, 19131 { 19132 "match": "\\*", 19133 "name": "comment.block.cpp" 19134 } 19135 ] 19136 } 19137 } 19138 } 19139 ] 19140 }, 19141 "17": {} 19142 } 19143 }, 19144 "undef": { 19145 "match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))", 19146 "captures": { 19147 "1": { 19148 "name": "keyword.control.directive.undef.cpp" 19149 }, 19150 "2": { 19151 "patterns": [ 19152 { 19153 "include": "#inline_comment" 19154 } 19155 ] 19156 }, 19157 "3": { 19158 "patterns": [ 19159 { 19160 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 19161 "captures": { 19162 "1": { 19163 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19164 }, 19165 "2": { 19166 "name": "comment.block.cpp" 19167 }, 19168 "3": { 19169 "patterns": [ 19170 { 19171 "match": "\\*\\/", 19172 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19173 }, 19174 { 19175 "match": "\\*", 19176 "name": "comment.block.cpp" 19177 } 19178 ] 19179 } 19180 } 19181 } 19182 ] 19183 }, 19184 "4": { 19185 "name": "punctuation.definition.directive.cpp" 19186 }, 19187 "5": { 19188 "patterns": [ 19189 { 19190 "include": "#inline_comment" 19191 } 19192 ] 19193 }, 19194 "6": { 19195 "patterns": [ 19196 { 19197 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 19198 "captures": { 19199 "1": { 19200 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19201 }, 19202 "2": { 19203 "name": "comment.block.cpp" 19204 }, 19205 "3": { 19206 "patterns": [ 19207 { 19208 "match": "\\*\\/", 19209 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19210 }, 19211 { 19212 "match": "\\*", 19213 "name": "comment.block.cpp" 19214 } 19215 ] 19216 } 19217 } 19218 } 19219 ] 19220 }, 19221 "7": { 19222 "name": "entity.name.function.preprocessor.cpp" 19223 } 19224 }, 19225 "name": "meta.preprocessor.undef.cpp" 19226 }, 19227 "union_block": { 19228 "begin": "((?<!\\w)union(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", 19229 "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", 19230 "beginCaptures": { 19231 "0": { 19232 "name": "meta.head.union.cpp" 19233 }, 19234 "1": { 19235 "name": "storage.type.$1.cpp" 19236 }, 19237 "2": { 19238 "patterns": [ 19239 { 19240 "include": "#inline_comment" 19241 } 19242 ] 19243 }, 19244 "3": { 19245 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19246 }, 19247 "4": { 19248 "name": "comment.block.cpp" 19249 }, 19250 "5": { 19251 "patterns": [ 19252 { 19253 "match": "\\*\\/", 19254 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19255 }, 19256 { 19257 "match": "\\*", 19258 "name": "comment.block.cpp" 19259 } 19260 ] 19261 }, 19262 "6": { 19263 "patterns": [ 19264 { 19265 "include": "#attributes_context" 19266 }, 19267 { 19268 "include": "#number_literal" 19269 } 19270 ] 19271 }, 19272 "7": { 19273 "patterns": [ 19274 { 19275 "include": "#inline_comment" 19276 } 19277 ] 19278 }, 19279 "8": { 19280 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19281 }, 19282 "9": { 19283 "name": "comment.block.cpp" 19284 }, 19285 "10": { 19286 "patterns": [ 19287 { 19288 "match": "\\*\\/", 19289 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19290 }, 19291 { 19292 "match": "\\*", 19293 "name": "comment.block.cpp" 19294 } 19295 ] 19296 }, 19297 "11": { 19298 "patterns": [ 19299 { 19300 "match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", 19301 "captures": { 19302 "1": { 19303 "name": "storage.type.modifier.final.cpp" 19304 }, 19305 "2": { 19306 "patterns": [ 19307 { 19308 "include": "#inline_comment" 19309 } 19310 ] 19311 }, 19312 "3": { 19313 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19314 }, 19315 "4": { 19316 "name": "comment.block.cpp" 19317 }, 19318 "5": { 19319 "patterns": [ 19320 { 19321 "match": "\\*\\/", 19322 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19323 }, 19324 { 19325 "match": "\\*", 19326 "name": "comment.block.cpp" 19327 } 19328 ] 19329 } 19330 } 19331 }, 19332 { 19333 "match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", 19334 "captures": { 19335 "1": { 19336 "name": "entity.name.type.union.cpp" 19337 }, 19338 "2": { 19339 "patterns": [ 19340 { 19341 "include": "#inline_comment" 19342 } 19343 ] 19344 }, 19345 "3": { 19346 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19347 }, 19348 "4": { 19349 "name": "comment.block.cpp" 19350 }, 19351 "5": { 19352 "patterns": [ 19353 { 19354 "match": "\\*\\/", 19355 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19356 }, 19357 { 19358 "match": "\\*", 19359 "name": "comment.block.cpp" 19360 } 19361 ] 19362 }, 19363 "6": { 19364 "name": "storage.type.modifier.final.cpp" 19365 }, 19366 "7": { 19367 "patterns": [ 19368 { 19369 "include": "#inline_comment" 19370 } 19371 ] 19372 }, 19373 "8": { 19374 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19375 }, 19376 "9": { 19377 "name": "comment.block.cpp" 19378 }, 19379 "10": { 19380 "patterns": [ 19381 { 19382 "match": "\\*\\/", 19383 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19384 }, 19385 { 19386 "match": "\\*", 19387 "name": "comment.block.cpp" 19388 } 19389 ] 19390 } 19391 } 19392 }, 19393 { 19394 "match": "DLLEXPORT", 19395 "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" 19396 }, 19397 { 19398 "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}))*", 19399 "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" 19400 } 19401 ] 19402 }, 19403 "12": { 19404 "patterns": [ 19405 { 19406 "include": "#inline_comment" 19407 } 19408 ] 19409 }, 19410 "13": { 19411 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19412 }, 19413 "14": { 19414 "name": "comment.block.cpp" 19415 }, 19416 "15": { 19417 "patterns": [ 19418 { 19419 "match": "\\*\\/", 19420 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19421 }, 19422 { 19423 "match": "\\*", 19424 "name": "comment.block.cpp" 19425 } 19426 ] 19427 }, 19428 "16": { 19429 "patterns": [ 19430 { 19431 "include": "#inline_comment" 19432 } 19433 ] 19434 }, 19435 "17": { 19436 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19437 }, 19438 "18": { 19439 "name": "comment.block.cpp" 19440 }, 19441 "19": { 19442 "patterns": [ 19443 { 19444 "match": "\\*\\/", 19445 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19446 }, 19447 { 19448 "match": "\\*", 19449 "name": "comment.block.cpp" 19450 } 19451 ] 19452 }, 19453 "20": { 19454 "name": "punctuation.separator.colon.inheritance.cpp" 19455 } 19456 }, 19457 "endCaptures": { 19458 "1": { 19459 "name": "punctuation.terminator.statement.cpp" 19460 }, 19461 "2": { 19462 "name": "punctuation.terminator.statement.cpp" 19463 } 19464 }, 19465 "name": "meta.block.union.cpp", 19466 "patterns": [ 19467 { 19468 "begin": "\\G ?", 19469 "end": "(?:\\{|<%|\\?\\?<|(?=;))", 19470 "beginCaptures": {}, 19471 "endCaptures": { 19472 "0": { 19473 "name": "punctuation.section.block.begin.bracket.curly.union.cpp" 19474 } 19475 }, 19476 "name": "meta.head.union.cpp", 19477 "patterns": [ 19478 { 19479 "include": "#ever_present_context" 19480 }, 19481 { 19482 "include": "#inheritance_context" 19483 }, 19484 { 19485 "include": "#template_call_range" 19486 } 19487 ] 19488 }, 19489 { 19490 "begin": "(?<=\\{|<%|\\?\\?<)", 19491 "end": "\\}|%>|\\?\\?>", 19492 "beginCaptures": {}, 19493 "endCaptures": { 19494 "0": { 19495 "name": "punctuation.section.block.end.bracket.curly.union.cpp" 19496 } 19497 }, 19498 "name": "meta.body.union.cpp", 19499 "patterns": [ 19500 { 19501 "include": "#function_pointer" 19502 }, 19503 { 19504 "include": "#static_assert" 19505 }, 19506 { 19507 "include": "#constructor_inline" 19508 }, 19509 { 19510 "include": "#destructor_inline" 19511 }, 19512 { 19513 "include": "$self" 19514 } 19515 ] 19516 }, 19517 { 19518 "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", 19519 "end": "[\\s]*(?=;)", 19520 "beginCaptures": {}, 19521 "endCaptures": {}, 19522 "name": "meta.tail.union.cpp", 19523 "patterns": [ 19524 { 19525 "include": "$self" 19526 } 19527 ] 19528 } 19529 ] 19530 }, 19531 "union_declare": { 19532 "match": "((?<!\\w)union(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", 19533 "captures": { 19534 "1": { 19535 "name": "storage.type.union.declare.cpp" 19536 }, 19537 "2": { 19538 "patterns": [ 19539 { 19540 "include": "#inline_comment" 19541 } 19542 ] 19543 }, 19544 "3": { 19545 "patterns": [ 19546 { 19547 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 19548 "captures": { 19549 "1": { 19550 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19551 }, 19552 "2": { 19553 "name": "comment.block.cpp" 19554 }, 19555 "3": { 19556 "patterns": [ 19557 { 19558 "match": "\\*\\/", 19559 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19560 }, 19561 { 19562 "match": "\\*", 19563 "name": "comment.block.cpp" 19564 } 19565 ] 19566 } 19567 } 19568 } 19569 ] 19570 }, 19571 "4": { 19572 "name": "entity.name.type.union.cpp" 19573 }, 19574 "5": { 19575 "patterns": [ 19576 { 19577 "match": "\\*", 19578 "name": "storage.modifier.pointer.cpp" 19579 }, 19580 { 19581 "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", 19582 "captures": { 19583 "1": { 19584 "patterns": [ 19585 { 19586 "include": "#inline_comment" 19587 } 19588 ] 19589 }, 19590 "2": { 19591 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19592 }, 19593 "3": { 19594 "name": "comment.block.cpp" 19595 }, 19596 "4": { 19597 "patterns": [ 19598 { 19599 "match": "\\*\\/", 19600 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19601 }, 19602 { 19603 "match": "\\*", 19604 "name": "comment.block.cpp" 19605 } 19606 ] 19607 } 19608 }, 19609 "name": "invalid.illegal.reference-type.cpp" 19610 }, 19611 { 19612 "match": "\\&", 19613 "name": "storage.modifier.reference.cpp" 19614 } 19615 ] 19616 }, 19617 "6": { 19618 "patterns": [ 19619 { 19620 "include": "#inline_comment" 19621 } 19622 ] 19623 }, 19624 "7": { 19625 "patterns": [ 19626 { 19627 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 19628 "captures": { 19629 "1": { 19630 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19631 }, 19632 "2": { 19633 "name": "comment.block.cpp" 19634 }, 19635 "3": { 19636 "patterns": [ 19637 { 19638 "match": "\\*\\/", 19639 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19640 }, 19641 { 19642 "match": "\\*", 19643 "name": "comment.block.cpp" 19644 } 19645 ] 19646 } 19647 } 19648 } 19649 ] 19650 }, 19651 "8": { 19652 "patterns": [ 19653 { 19654 "include": "#inline_comment" 19655 } 19656 ] 19657 }, 19658 "9": { 19659 "patterns": [ 19660 { 19661 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 19662 "captures": { 19663 "1": { 19664 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19665 }, 19666 "2": { 19667 "name": "comment.block.cpp" 19668 }, 19669 "3": { 19670 "patterns": [ 19671 { 19672 "match": "\\*\\/", 19673 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19674 }, 19675 { 19676 "match": "\\*", 19677 "name": "comment.block.cpp" 19678 } 19679 ] 19680 } 19681 } 19682 } 19683 ] 19684 }, 19685 "10": { 19686 "patterns": [ 19687 { 19688 "include": "#inline_comment" 19689 } 19690 ] 19691 }, 19692 "11": { 19693 "patterns": [ 19694 { 19695 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 19696 "captures": { 19697 "1": { 19698 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19699 }, 19700 "2": { 19701 "name": "comment.block.cpp" 19702 }, 19703 "3": { 19704 "patterns": [ 19705 { 19706 "match": "\\*\\/", 19707 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19708 }, 19709 { 19710 "match": "\\*", 19711 "name": "comment.block.cpp" 19712 } 19713 ] 19714 } 19715 } 19716 } 19717 ] 19718 }, 19719 "12": { 19720 "name": "variable.other.object.declare.cpp" 19721 }, 19722 "13": { 19723 "patterns": [ 19724 { 19725 "include": "#inline_comment" 19726 } 19727 ] 19728 }, 19729 "14": { 19730 "patterns": [ 19731 { 19732 "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", 19733 "captures": { 19734 "1": { 19735 "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" 19736 }, 19737 "2": { 19738 "name": "comment.block.cpp" 19739 }, 19740 "3": { 19741 "patterns": [ 19742 { 19743 "match": "\\*\\/", 19744 "name": "comment.block.cpp punctuation.definition.comment.end.cpp" 19745 }, 19746 { 19747 "match": "\\*", 19748 "name": "comment.block.cpp" 19749 } 19750 ] 19751 } 19752 } 19753 } 19754 ] 19755 } 19756 } 19757 }, 19758 "using_name": { 19759 "match": "(using)(?:\\s)+(?!namespace\\b)", 19760 "captures": { 19761 "1": { 19762 "name": "keyword.other.using.directive.cpp" 19763 } 19764 } 19765 }, 19766 "using_namespace": { 19767 "begin": "(?<!\\w)(using)(?:\\s)+(namespace)(?:\\s)+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|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)", 19768 "end": ";", 19769 "beginCaptures": { 19770 "1": { 19771 "name": "keyword.other.using.directive.cpp" 19772 }, 19773 "2": { 19774 "name": "keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp" 19775 }, 19776 "3": { 19777 "patterns": [ 19778 { 19779 "include": "#scope_resolution_namespace_using_inner_generated" 19780 } 19781 ] 19782 }, 19783 "4": { 19784 "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" 19785 }, 19786 "5": { 19787 "patterns": [ 19788 { 19789 "include": "#template_call_range" 19790 } 19791 ] 19792 }, 19793 "6": {}, 19794 "7": { 19795 "name": "entity.name.namespace.cpp" 19796 } 19797 }, 19798 "endCaptures": { 19799 "0": { 19800 "name": "punctuation.terminator.statement.cpp" 19801 } 19802 }, 19803 "name": "meta.using-namespace.cpp" 19804 }, 19805 "vararg_ellipses": { 19806 "match": "(?<!\\.)\\.\\.\\.(?!\\.)", 19807 "name": "punctuation.vararg-ellipses.cpp" 19808 }, 19809 "wordlike_operators": { 19810 "patterns": [ 19811 { 19812 "match": "(?<!\\w)(?:(?:noexcept)|(?:xor_eq)|(?:and_eq)|(?:delete)|(?:not_eq)|(?:bitand)|(?:bitor)|(?:compl)|(?:or_eq)|(?:not)|(?:xor)|(?:new)|(?:and)|(?:or))(?!\\w)", 19813 "name": "keyword.operator.wordlike.cpp keyword.operator.$0.cpp" 19814 } 19815 ] 19816 } 19817 } 19818}