Path: blob/main/extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json
3314 views
{1"information_for_contributors": [2"This file has been converted from https://github.com/jeff-hykin/better-cpp-syntax/blob/master/autogenerated/cpp.embedded.macro.tmLanguage.json",3"If you want to provide a fix or improvement, please create a pull request against the original repository.",4"Once accepted there, we are happy to receive an update request."5],6"version": "https://github.com/jeff-hykin/better-cpp-syntax/commit/f1d127a8af2b184db570345f0bb179503c47fdf6",7"name": "C++",8"scopeName": "source.cpp.embedded.macro",9"patterns": [10{11"include": "#ever_present_context"12},13{14"include": "#constructor_root"15},16{17"include": "#destructor_root"18},19{20"include": "#function_definition"21},22{23"include": "#operator_overload"24},25{26"include": "#using_namespace"27},28{29"include": "source.cpp#type_alias"30},31{32"include": "source.cpp#using_name"33},34{35"include": "source.cpp#namespace_alias"36},37{38"include": "#namespace_block"39},40{41"include": "#extern_block"42},43{44"include": "#typedef_class"45},46{47"include": "#typedef_struct"48},49{50"include": "#typedef_union"51},52{53"include": "source.cpp#misc_keywords"54},55{56"include": "source.cpp#standard_declares"57},58{59"include": "#class_block"60},61{62"include": "#struct_block"63},64{65"include": "#union_block"66},67{68"include": "#enum_block"69},70{71"include": "source.cpp#template_isolated_definition"72},73{74"include": "#template_definition"75},76{77"include": "source.cpp#template_explicit_instantiation"78},79{80"include": "source.cpp#access_control_keywords"81},82{83"include": "#block"84},85{86"include": "#static_assert"87},88{89"include": "#assembly"90},91{92"include": "#function_pointer"93},94{95"include": "#evaluation_context"96}97],98"repository": {99"alignas_attribute": {100"begin": "alignas\\(",101"end": "\\)|(?=(?<!\\\\)\n)",102"beginCaptures": {103"0": {104"name": "punctuation.section.attribute.begin.cpp"105}106},107"endCaptures": {108"0": {109"name": "punctuation.section.attribute.end.cpp"110}111},112"name": "support.other.attribute.cpp",113"patterns": [114{115"include": "#attributes_context"116},117{118"begin": "\\(",119"end": "\\)|(?=(?<!\\\\)\n)",120"beginCaptures": {},121"endCaptures": {},122"patterns": [123{124"include": "#attributes_context"125},126{127"include": "#string_context"128},129{130"include": "#ever_present_context"131}132]133},134{135"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))",136"captures": {137"1": {138"name": "keyword.other.using.directive.cpp"139},140"2": {141"name": "entity.name.namespace.cpp"142}143}144},145{146"match": ",",147"name": "punctuation.separator.attribute.cpp"148},149{150"match": ":",151"name": "punctuation.accessor.attribute.cpp"152},153{154"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)(?=::)",155"name": "entity.name.namespace.cpp"156},157{158"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)",159"name": "entity.other.attribute.$0.cpp"160},161{162"include": "source.cpp#number_literal"163},164{165"include": "#ever_present_context"166}167]168},169"alignas_operator": {170"begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",171"end": "\\)|(?=(?<!\\\\)\n)",172"beginCaptures": {173"1": {174"name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"175},176"2": {177"patterns": [178{179"include": "source.cpp#inline_comment"180}181]182},183"3": {184"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"185},186"4": {187"name": "comment.block.cpp"188},189"5": {190"name": "comment.block.cpp punctuation.definition.comment.end.cpp"191},192"6": {193"name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"194}195},196"endCaptures": {197"0": {198"name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"199}200},201"contentName": "meta.arguments.operator.alignas",202"patterns": [203{204"include": "#evaluation_context"205}206]207},208"alignof_operator": {209"begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",210"end": "\\)|(?=(?<!\\\\)\n)",211"beginCaptures": {212"1": {213"name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"214},215"2": {216"patterns": [217{218"include": "source.cpp#inline_comment"219}220]221},222"3": {223"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"224},225"4": {226"name": "comment.block.cpp"227},228"5": {229"name": "comment.block.cpp punctuation.definition.comment.end.cpp"230},231"6": {232"name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"233}234},235"endCaptures": {236"0": {237"name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"238}239},240"contentName": "meta.arguments.operator.alignof",241"patterns": [242{243"include": "#evaluation_context"244}245]246},247"assembly": {248"begin": "(\\b(?:__asm__|asm)\\b)(?:\\s+)?((?:volatile)?)",249"end": "(?!\\G)|(?=(?<!\\\\)\n)",250"beginCaptures": {251"1": {252"name": "storage.type.asm.cpp"253},254"2": {255"name": "storage.modifier.cpp"256}257},258"endCaptures": {},259"name": "meta.asm.cpp",260"patterns": [261{262"match": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\n|$)",263"captures": {264"1": {265"patterns": [266{267"include": "source.cpp#inline_comment"268}269]270},271"2": {272"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"273},274"3": {275"name": "comment.block.cpp"276},277"4": {278"name": "comment.block.cpp punctuation.definition.comment.end.cpp"279}280}281},282{283"include": "#comments"284},285{286"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\(",287"end": "\\)|(?=(?<!\\\\)\n)",288"beginCaptures": {289"0": {290"name": "punctuation.section.parens.begin.bracket.round.assembly.cpp"291},292"1": {293"patterns": [294{295"include": "source.cpp#inline_comment"296}297]298},299"2": {300"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"301},302"3": {303"name": "comment.block.cpp"304},305"4": {306"name": "comment.block.cpp punctuation.definition.comment.end.cpp"307}308},309"endCaptures": {310"0": {311"name": "punctuation.section.parens.end.bracket.round.assembly.cpp"312}313},314"patterns": [315{316"begin": "(R?)(\")",317"end": "\"|(?=(?<!\\\\)\n)",318"beginCaptures": {319"1": {320"name": "meta.encoding.cpp"321},322"2": {323"name": "punctuation.definition.string.begin.assembly.cpp"324}325},326"endCaptures": {327"0": {328"name": "punctuation.definition.string.end.assembly.cpp"329}330},331"name": "string.quoted.double.cpp",332"contentName": "meta.embedded.assembly",333"patterns": [334{335"include": "source.asm"336},337{338"include": "source.x86"339},340{341"include": "source.x86_64"342},343{344"include": "source.arm"345},346{347"include": "source.cpp#backslash_escapes"348},349{350"include": "#string_escaped_char"351}352]353},354{355"begin": "\\(",356"end": "\\)|(?=(?<!\\\\)\n)",357"beginCaptures": {358"0": {359"name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"360}361},362"endCaptures": {363"0": {364"name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp"365}366},367"patterns": [368{369"include": "#evaluation_context"370}371]372},373{374"match": "\\[((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]",375"captures": {376"1": {377"patterns": [378{379"include": "source.cpp#inline_comment"380}381]382},383"2": {384"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"385},386"3": {387"name": "comment.block.cpp"388},389"4": {390"name": "comment.block.cpp punctuation.definition.comment.end.cpp"391},392"5": {393"name": "variable.other.asm.label.cpp"394},395"6": {396"patterns": [397{398"include": "source.cpp#inline_comment"399}400]401},402"7": {403"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"404},405"8": {406"name": "comment.block.cpp"407},408"9": {409"name": "comment.block.cpp punctuation.definition.comment.end.cpp"410}411}412},413{414"match": ":",415"name": "punctuation.separator.delimiter.colon.assembly.cpp"416},417{418"include": "#comments"419}420]421}422]423},424"attributes_context": {425"patterns": [426{427"include": "#cpp_attributes"428},429{430"include": "#gcc_attributes"431},432{433"include": "#ms_attributes"434},435{436"include": "#alignas_attribute"437}438]439},440"block": {441"begin": "{",442"end": "}|(?=(?<!\\\\)\n)",443"beginCaptures": {444"0": {445"name": "punctuation.section.block.begin.bracket.curly.cpp"446}447},448"endCaptures": {449"0": {450"name": "punctuation.section.block.end.bracket.curly.cpp"451}452},453"name": "meta.block.cpp",454"patterns": [455{456"include": "#function_body_context"457}458]459},460"block_comment": {461"begin": "\\s*+(\\/\\*)",462"end": "\\*\\/|(?=(?<!\\\\)\n)",463"beginCaptures": {464"1": {465"name": "punctuation.definition.comment.begin.cpp"466}467},468"endCaptures": {469"0": {470"name": "punctuation.definition.comment.end.cpp"471}472},473"name": "comment.block.cpp"474},475"builtin_storage_type_initilizer": {476"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)(\\()",477"end": "\\)|(?=(?<!\\\\)\n)",478"beginCaptures": {479"1": {480"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"481},482"2": {483"name": "storage.type.cpp storage.type.built-in.cpp"484},485"3": {486"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"487},488"4": {489"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"490},491"5": {492"name": "punctuation.section.arguments.begin.bracket.round.initializer.cpp"493}494},495"endCaptures": {496"0": {497"name": "punctuation.section.arguments.end.bracket.round.initializer.cpp"498}499},500"patterns": [501{502"include": "#evaluation_context"503}504]505},506"case_statement": {507"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)case(?!\\w))",508"end": ":|(?=(?<!\\\\)\n)",509"beginCaptures": {510"1": {511"patterns": [512{513"include": "source.cpp#inline_comment"514}515]516},517"2": {518"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"519},520"3": {521"name": "comment.block.cpp"522},523"4": {524"name": "comment.block.cpp punctuation.definition.comment.end.cpp"525},526"5": {527"name": "keyword.control.case.cpp"528}529},530"endCaptures": {531"0": {532"name": "punctuation.separator.colon.case.cpp"533}534},535"name": "meta.conditional.case.cpp",536"patterns": [537{538"include": "#evaluation_context"539}540]541},542"class_block": {543"begin": "((?<!\\w)class(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",544"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",545"beginCaptures": {546"0": {547"name": "meta.head.class.cpp"548},549"1": {550"name": "storage.type.$1.cpp"551},552"2": {553"patterns": [554{555"include": "source.cpp#inline_comment"556}557]558},559"3": {560"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"561},562"4": {563"name": "comment.block.cpp"564},565"5": {566"name": "comment.block.cpp punctuation.definition.comment.end.cpp"567},568"6": {569"patterns": [570{571"include": "#attributes_context"572},573{574"include": "source.cpp#number_literal"575}576]577},578"7": {579"patterns": [580{581"include": "source.cpp#inline_comment"582}583]584},585"8": {586"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"587},588"9": {589"name": "comment.block.cpp"590},591"10": {592"name": "comment.block.cpp punctuation.definition.comment.end.cpp"593},594"11": {595"patterns": [596{597"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",598"captures": {599"1": {600"name": "storage.type.modifier.final.cpp"601},602"2": {603"patterns": [604{605"include": "source.cpp#inline_comment"606}607]608},609"3": {610"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"611},612"4": {613"name": "comment.block.cpp"614},615"5": {616"name": "comment.block.cpp punctuation.definition.comment.end.cpp"617}618}619},620{621"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",622"captures": {623"1": {624"name": "entity.name.type.class.cpp"625},626"2": {627"patterns": [628{629"include": "source.cpp#inline_comment"630}631]632},633"3": {634"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"635},636"4": {637"name": "comment.block.cpp"638},639"5": {640"name": "comment.block.cpp punctuation.definition.comment.end.cpp"641},642"6": {643"name": "storage.type.modifier.final.cpp"644},645"7": {646"patterns": [647{648"include": "source.cpp#inline_comment"649}650]651},652"8": {653"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"654},655"9": {656"name": "comment.block.cpp"657},658"10": {659"name": "comment.block.cpp punctuation.definition.comment.end.cpp"660}661}662},663{664"match": "DLLEXPORT",665"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"666},667{668"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}))*",669"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"670}671]672},673"12": {674"patterns": [675{676"include": "source.cpp#inline_comment"677}678]679},680"13": {681"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"682},683"14": {684"name": "comment.block.cpp"685},686"15": {687"name": "comment.block.cpp punctuation.definition.comment.end.cpp"688},689"16": {690"patterns": [691{692"include": "source.cpp#inline_comment"693}694]695},696"17": {697"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"698},699"18": {700"name": "comment.block.cpp"701},702"19": {703"name": "comment.block.cpp punctuation.definition.comment.end.cpp"704},705"20": {706"name": "punctuation.separator.colon.inheritance.cpp"707}708},709"endCaptures": {710"1": {711"name": "punctuation.terminator.statement.cpp"712},713"2": {714"name": "punctuation.terminator.statement.cpp"715}716},717"name": "meta.block.class.cpp",718"patterns": [719{720"begin": "\\G ?",721"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",722"beginCaptures": {},723"endCaptures": {724"0": {725"name": "punctuation.section.block.begin.bracket.curly.class.cpp"726}727},728"name": "meta.head.class.cpp",729"patterns": [730{731"include": "#ever_present_context"732},733{734"include": "#inheritance_context"735},736{737"include": "#template_call_range"738}739]740},741{742"begin": "(?<=\\{|<%|\\?\\?<)",743"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",744"beginCaptures": {},745"endCaptures": {746"0": {747"name": "punctuation.section.block.end.bracket.curly.class.cpp"748}749},750"name": "meta.body.class.cpp",751"patterns": [752{753"include": "#function_pointer"754},755{756"include": "#static_assert"757},758{759"include": "#constructor_inline"760},761{762"include": "#destructor_inline"763},764{765"include": "$self"766}767]768},769{770"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",771"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",772"beginCaptures": {},773"endCaptures": {},774"name": "meta.tail.class.cpp",775"patterns": [776{777"include": "$self"778}779]780}781]782},783"comments": {784"patterns": [785{786"begin": "^(?:\\s+)?+(\\/\\/[!\\/]+)",787"end": "(?<=\\n)(?<!\\\\\\n)|(?=(?<!\\\\)\n)",788"beginCaptures": {789"1": {790"name": "punctuation.definition.comment.documentation.cpp"791}792},793"endCaptures": {},794"name": "comment.line.double-slash.documentation.cpp",795"patterns": [796{797"include": "source.cpp#line_continuation_character"798},799{800"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(?:\\{[^}]*\\})?",801"name": "storage.type.class.doxygen.cpp"802},803{804"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",805"captures": {806"1": {807"name": "storage.type.class.doxygen.cpp"808},809"2": {810"name": "markup.italic.doxygen.cpp"811}812}813},814{815"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",816"captures": {817"1": {818"name": "storage.type.class.doxygen.cpp"819},820"2": {821"name": "markup.bold.doxygen.cpp"822}823}824},825{826"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",827"captures": {828"1": {829"name": "storage.type.class.doxygen.cpp"830},831"2": {832"name": "markup.inline.raw.string.cpp"833}834}835},836{837"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(?:\\{[^}]*\\})?",838"name": "storage.type.class.doxygen.cpp"839},840{841"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(?:\\{[^}]*\\})?",842"name": "storage.type.class.doxygen.cpp"843},844{845"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)",846"captures": {847"1": {848"name": "storage.type.class.doxygen.cpp"849},850"2": {851"patterns": [852{853"match": "in|out",854"name": "keyword.other.parameter.direction.$0.cpp"855}856]857},858"3": {859"patterns": [860{861"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)",862"name": "variable.parameter.cpp"863},864{865"match": ",",866"name": "punctuation.cpp"867}868]869},870"4": {871"name": "variable.parameter.cpp"872},873"5": {874"name": "punctuation.cpp"875},876"6": {877"name": "variable.parameter.cpp"878}879}880},881{882"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(?:\\{[^}]*\\})?",883"name": "storage.type.class.doxygen.cpp"884},885{886"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(?:\\{[^}]*\\})?",887"name": "storage.type.class.doxygen.cpp"888},889{890"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",891"name": "storage.type.class.gtkdoc.cpp"892}893]894},895{896"match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",897"captures": {898"1": {899"name": "punctuation.definition.comment.begin.documentation.cpp"900},901"2": {902"patterns": [903{904"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(?:\\{[^}]*\\})?",905"name": "storage.type.class.doxygen.cpp"906},907{908"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",909"captures": {910"1": {911"name": "storage.type.class.doxygen.cpp"912},913"2": {914"name": "markup.italic.doxygen.cpp"915}916}917},918{919"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",920"captures": {921"1": {922"name": "storage.type.class.doxygen.cpp"923},924"2": {925"name": "markup.bold.doxygen.cpp"926}927}928},929{930"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",931"captures": {932"1": {933"name": "storage.type.class.doxygen.cpp"934},935"2": {936"name": "markup.inline.raw.string.cpp"937}938}939},940{941"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(?:\\{[^}]*\\})?",942"name": "storage.type.class.doxygen.cpp"943},944{945"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(?:\\{[^}]*\\})?",946"name": "storage.type.class.doxygen.cpp"947},948{949"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)",950"captures": {951"1": {952"name": "storage.type.class.doxygen.cpp"953},954"2": {955"patterns": [956{957"match": "in|out",958"name": "keyword.other.parameter.direction.$0.cpp"959}960]961},962"3": {963"patterns": [964{965"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)",966"name": "variable.parameter.cpp"967},968{969"match": ",",970"name": "punctuation.cpp"971}972]973},974"4": {975"name": "variable.parameter.cpp"976},977"5": {978"name": "punctuation.cpp"979},980"6": {981"name": "variable.parameter.cpp"982}983}984},985{986"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(?:\\{[^}]*\\})?",987"name": "storage.type.class.doxygen.cpp"988},989{990"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(?:\\{[^}]*\\})?",991"name": "storage.type.class.doxygen.cpp"992},993{994"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",995"name": "storage.type.class.gtkdoc.cpp"996}997]998},999"3": {1000"name": "punctuation.definition.comment.end.documentation.cpp"1001}1002},1003"name": "comment.block.documentation.cpp"1004},1005{1006"begin": "(?:\\s+)?+\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s))",1007"end": "[!*]*\\*\\/|(?=(?<!\\\\)\n)",1008"beginCaptures": {1009"0": {1010"name": "punctuation.definition.comment.begin.documentation.cpp"1011}1012},1013"endCaptures": {1014"0": {1015"name": "punctuation.definition.comment.end.documentation.cpp"1016}1017},1018"name": "comment.block.documentation.cpp",1019"patterns": [1020{1021"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",1022"name": "storage.type.class.doxygen.cpp"1023},1024{1025"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",1026"captures": {1027"1": {1028"name": "storage.type.class.doxygen.cpp"1029},1030"2": {1031"name": "markup.italic.doxygen.cpp"1032}1033}1034},1035{1036"match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",1037"captures": {1038"1": {1039"name": "storage.type.class.doxygen.cpp"1040},1041"2": {1042"name": "markup.bold.doxygen.cpp"1043}1044}1045},1046{1047"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",1048"captures": {1049"1": {1050"name": "storage.type.class.doxygen.cpp"1051},1052"2": {1053"name": "markup.inline.raw.string.cpp"1054}1055}1056},1057{1058"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",1059"name": "storage.type.class.doxygen.cpp"1060},1061{1062"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",1063"name": "storage.type.class.doxygen.cpp"1064},1065{1066"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)",1067"captures": {1068"1": {1069"name": "storage.type.class.doxygen.cpp"1070},1071"2": {1072"patterns": [1073{1074"match": "in|out",1075"name": "keyword.other.parameter.direction.$0.cpp"1076}1077]1078},1079"3": {1080"patterns": [1081{1082"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)",1083"name": "variable.parameter.cpp"1084},1085{1086"match": ",",1087"name": "punctuation.cpp"1088}1089]1090},1091"4": {1092"name": "variable.parameter.cpp"1093},1094"5": {1095"name": "punctuation.cpp"1096},1097"6": {1098"name": "variable.parameter.cpp"1099}1100}1101},1102{1103"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(?:\\{[^}]*\\})?",1104"name": "storage.type.class.doxygen.cpp"1105},1106{1107"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(?:\\{[^}]*\\})?",1108"name": "storage.type.class.doxygen.cpp"1109},1110{1111"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",1112"name": "storage.type.class.gtkdoc.cpp"1113}1114]1115},1116{1117"include": "source.cpp#emacs_file_banner"1118},1119{1120"include": "#block_comment"1121},1122{1123"include": "#line_comment"1124},1125{1126"include": "source.cpp#invalid_comment_end"1127}1128]1129},1130"constructor_inline": {1131"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())",1132"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",1133"beginCaptures": {1134"0": {1135"name": "meta.head.function.definition.special.constructor.cpp"1136},1137"1": {1138"patterns": [1139{1140"include": "source.cpp#inline_comment"1141}1142]1143},1144"2": {1145"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1146},1147"3": {1148"name": "comment.block.cpp"1149},1150"4": {1151"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1152},1153"5": {1154"patterns": [1155{1156"include": "source.cpp#functional_specifiers_pre_parameters"1157}1158]1159},1160"6": {1161"patterns": [1162{1163"include": "source.cpp#inline_comment"1164}1165]1166},1167"7": {1168"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1169},1170"8": {1171"name": "comment.block.cpp"1172},1173"9": {1174"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1175},1176"10": {1177"name": "storage.type.modifier.calling-convention.cpp"1178},1179"11": {1180"patterns": [1181{1182"include": "source.cpp#inline_comment"1183}1184]1185},1186"12": {1187"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1188},1189"13": {1190"name": "comment.block.cpp"1191},1192"14": {1193"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1194},1195"15": {1196"name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"1197}1198},1199"endCaptures": {},1200"name": "meta.function.definition.special.constructor.cpp",1201"patterns": [1202{1203"begin": "\\G ?",1204"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",1205"beginCaptures": {},1206"endCaptures": {1207"0": {1208"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"1209}1210},1211"name": "meta.head.function.definition.special.constructor.cpp",1212"patterns": [1213{1214"include": "#ever_present_context"1215},1216{1217"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",1218"captures": {1219"1": {1220"name": "keyword.operator.assignment.cpp"1221},1222"2": {1223"patterns": [1224{1225"include": "source.cpp#inline_comment"1226}1227]1228},1229"3": {1230"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1231},1232"4": {1233"name": "comment.block.cpp"1234},1235"5": {1236"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1237},1238"6": {1239"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"1240},1241"7": {1242"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"1243}1244}1245},1246{1247"include": "source.cpp#functional_specifiers_pre_parameters"1248},1249{1250"begin": ":",1251"end": "(?=\\{)|(?=(?<!\\\\)\n)",1252"beginCaptures": {1253"0": {1254"name": "punctuation.separator.initializers.cpp"1255}1256},1257"endCaptures": {},1258"patterns": [1259{1260"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*+)?(\\()",1261"end": "\\)|(?=(?<!\\\\)\n)",1262"beginCaptures": {1263"1": {1264"name": "entity.name.function.call.initializer.cpp"1265},1266"2": {1267"name": "meta.template.call.cpp",1268"patterns": [1269{1270"include": "#template_call_range"1271}1272]1273},1274"3": {},1275"4": {1276"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1277},1278"5": {1279"name": "comment.block.cpp"1280},1281"6": {1282"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1283},1284"7": {1285"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"1286}1287},1288"endCaptures": {1289"0": {1290"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"1291}1292},1293"contentName": "meta.parameter.initialization",1294"patterns": [1295{1296"include": "#evaluation_context"1297}1298]1299},1300{1301"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))(\\{)",1302"end": "\\}|(?=(?<!\\\\)\n)",1303"beginCaptures": {1304"1": {1305"name": "entity.name.function.call.initializer.cpp"1306},1307"2": {1308"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"1309}1310},1311"endCaptures": {1312"0": {1313"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"1314}1315},1316"contentName": "meta.parameter.initialization",1317"patterns": [1318{1319"include": "#evaluation_context"1320}1321]1322},1323{1324"match": ",",1325"name": "punctuation.separator.delimiter.comma.cpp"1326},1327{1328"include": "#comments"1329}1330]1331},1332{1333"begin": "\\(",1334"end": "\\)|(?=(?<!\\\\)\n)",1335"beginCaptures": {1336"0": {1337"name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"1338}1339},1340"endCaptures": {1341"0": {1342"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"1343}1344},1345"contentName": "meta.function.definition.parameters.special.constructor",1346"patterns": [1347{1348"include": "#function_parameter_context"1349},1350{1351"include": "#evaluation_context"1352}1353]1354},1355{1356"include": "source.cpp#qualifiers_and_specifiers_post_parameters"1357},1358{1359"include": "$self"1360}1361]1362},1363{1364"begin": "(?<=\\{|<%|\\?\\?<)",1365"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",1366"beginCaptures": {},1367"endCaptures": {1368"0": {1369"name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"1370}1371},1372"name": "meta.body.function.definition.special.constructor.cpp",1373"patterns": [1374{1375"include": "#function_body_context"1376}1377]1378},1379{1380"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",1381"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",1382"beginCaptures": {},1383"endCaptures": {},1384"name": "meta.tail.function.definition.special.constructor.cpp",1385"patterns": [1386{1387"include": "$self"1388}1389]1390}1391]1392},1393"constructor_root": {1394"begin": "\\s*+((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<8>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\10)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\())",1395"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",1396"beginCaptures": {1397"0": {1398"name": "meta.head.function.definition.special.constructor.cpp"1399},1400"1": {1401"name": "storage.type.modifier.calling-convention.cpp"1402},1403"2": {1404"patterns": [1405{1406"include": "source.cpp#inline_comment"1407}1408]1409},1410"3": {1411"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1412},1413"4": {1414"name": "comment.block.cpp"1415},1416"5": {1417"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1418},1419"6": {1420"patterns": [1421{1422"match": "::",1423"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"1424},1425{1426"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)",1427"name": "entity.name.scope-resolution.constructor.cpp"1428},1429{1430"include": "#template_call_range"1431}1432]1433},1434"7": {1435"patterns": [1436{1437"include": "#template_call_range"1438}1439]1440},1441"8": {},1442"9": {1443"patterns": [1444{1445"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}))*(?=:)",1446"name": "entity.name.type.constructor.cpp"1447},1448{1449"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}))*",1450"name": "entity.name.function.definition.special.constructor.cpp"1451},1452{1453"match": "::",1454"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"1455}1456]1457},1458"10": {},1459"11": {1460"patterns": [1461{1462"include": "source.cpp#inline_comment"1463}1464]1465},1466"12": {1467"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1468},1469"13": {1470"name": "comment.block.cpp"1471},1472"14": {1473"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1474},1475"15": {1476"patterns": [1477{1478"include": "source.cpp#inline_comment"1479}1480]1481},1482"16": {1483"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1484},1485"17": {1486"name": "comment.block.cpp"1487},1488"18": {1489"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1490},1491"19": {1492"patterns": [1493{1494"include": "source.cpp#inline_comment"1495}1496]1497},1498"20": {1499"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1500},1501"21": {1502"name": "comment.block.cpp"1503},1504"22": {1505"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1506}1507},1508"endCaptures": {},1509"name": "meta.function.definition.special.constructor.cpp",1510"patterns": [1511{1512"begin": "\\G ?",1513"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",1514"beginCaptures": {},1515"endCaptures": {1516"0": {1517"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"1518}1519},1520"name": "meta.head.function.definition.special.constructor.cpp",1521"patterns": [1522{1523"include": "#ever_present_context"1524},1525{1526"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",1527"captures": {1528"1": {1529"name": "keyword.operator.assignment.cpp"1530},1531"2": {1532"patterns": [1533{1534"include": "source.cpp#inline_comment"1535}1536]1537},1538"3": {1539"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1540},1541"4": {1542"name": "comment.block.cpp"1543},1544"5": {1545"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1546},1547"6": {1548"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"1549},1550"7": {1551"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"1552}1553}1554},1555{1556"include": "source.cpp#functional_specifiers_pre_parameters"1557},1558{1559"begin": ":",1560"end": "(?=\\{)|(?=(?<!\\\\)\n)",1561"beginCaptures": {1562"0": {1563"name": "punctuation.separator.initializers.cpp"1564}1565},1566"endCaptures": {},1567"patterns": [1568{1569"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*+)?(\\()",1570"end": "\\)|(?=(?<!\\\\)\n)",1571"beginCaptures": {1572"1": {1573"name": "entity.name.function.call.initializer.cpp"1574},1575"2": {1576"name": "meta.template.call.cpp",1577"patterns": [1578{1579"include": "#template_call_range"1580}1581]1582},1583"3": {},1584"4": {1585"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1586},1587"5": {1588"name": "comment.block.cpp"1589},1590"6": {1591"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1592},1593"7": {1594"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"1595}1596},1597"endCaptures": {1598"0": {1599"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"1600}1601},1602"contentName": "meta.parameter.initialization",1603"patterns": [1604{1605"include": "#evaluation_context"1606}1607]1608},1609{1610"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))(\\{)",1611"end": "\\}|(?=(?<!\\\\)\n)",1612"beginCaptures": {1613"1": {1614"name": "entity.name.function.call.initializer.cpp"1615},1616"2": {1617"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"1618}1619},1620"endCaptures": {1621"0": {1622"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"1623}1624},1625"contentName": "meta.parameter.initialization",1626"patterns": [1627{1628"include": "#evaluation_context"1629}1630]1631},1632{1633"match": ",",1634"name": "punctuation.separator.delimiter.comma.cpp"1635},1636{1637"include": "#comments"1638}1639]1640},1641{1642"begin": "\\(",1643"end": "\\)|(?=(?<!\\\\)\n)",1644"beginCaptures": {1645"0": {1646"name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"1647}1648},1649"endCaptures": {1650"0": {1651"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"1652}1653},1654"contentName": "meta.function.definition.parameters.special.constructor",1655"patterns": [1656{1657"include": "#function_parameter_context"1658},1659{1660"include": "#evaluation_context"1661}1662]1663},1664{1665"include": "source.cpp#qualifiers_and_specifiers_post_parameters"1666},1667{1668"include": "$self"1669}1670]1671},1672{1673"begin": "(?<=\\{|<%|\\?\\?<)",1674"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",1675"beginCaptures": {},1676"endCaptures": {1677"0": {1678"name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"1679}1680},1681"name": "meta.body.function.definition.special.constructor.cpp",1682"patterns": [1683{1684"include": "#function_body_context"1685}1686]1687},1688{1689"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",1690"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",1691"beginCaptures": {},1692"endCaptures": {},1693"name": "meta.tail.function.definition.special.constructor.cpp",1694"patterns": [1695{1696"include": "$self"1697}1698]1699}1700]1701},1702"cpp_attributes": {1703"begin": "\\[\\[",1704"end": "\\]\\]|(?=(?<!\\\\)\n)",1705"beginCaptures": {1706"0": {1707"name": "punctuation.section.attribute.begin.cpp"1708}1709},1710"endCaptures": {1711"0": {1712"name": "punctuation.section.attribute.end.cpp"1713}1714},1715"name": "support.other.attribute.cpp",1716"patterns": [1717{1718"include": "#attributes_context"1719},1720{1721"begin": "\\(",1722"end": "\\)|(?=(?<!\\\\)\n)",1723"beginCaptures": {},1724"endCaptures": {},1725"patterns": [1726{1727"include": "#attributes_context"1728},1729{1730"include": "#string_context"1731},1732{1733"include": "#ever_present_context"1734}1735]1736},1737{1738"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))",1739"captures": {1740"1": {1741"name": "keyword.other.using.directive.cpp"1742},1743"2": {1744"name": "entity.name.namespace.cpp"1745}1746}1747},1748{1749"match": ",",1750"name": "punctuation.separator.attribute.cpp"1751},1752{1753"match": ":",1754"name": "punctuation.accessor.attribute.cpp"1755},1756{1757"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)(?=::)",1758"name": "entity.name.namespace.cpp"1759},1760{1761"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)",1762"name": "entity.other.attribute.$0.cpp"1763},1764{1765"include": "source.cpp#number_literal"1766},1767{1768"include": "#ever_present_context"1769}1770]1771},1772"curly_initializer": {1773"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)",1774"end": "\\}|(?=(?<!\\\\)\n)",1775"beginCaptures": {1776"1": {1777"name": "meta.qualified_type.cpp",1778"patterns": [1779{1780"match": "::",1781"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"1782},1783{1784"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",1785"name": "storage.type.$0.cpp"1786},1787{1788"include": "#attributes_context"1789},1790{1791"include": "#storage_types"1792},1793{1794"include": "source.cpp#number_literal"1795},1796{1797"include": "#string_context"1798},1799{1800"include": "source.cpp#comma"1801},1802{1803"include": "source.cpp#scope_resolution_inner_generated"1804},1805{1806"begin": "<",1807"end": ">|(?=(?<!\\\\)\n)",1808"beginCaptures": {1809"0": {1810"name": "punctuation.section.angle-brackets.begin.template.call.cpp"1811}1812},1813"endCaptures": {1814"0": {1815"name": "punctuation.section.angle-brackets.end.template.call.cpp"1816}1817},1818"name": "meta.template.call.cpp",1819"patterns": [1820{1821"include": "#template_call_context"1822}1823]1824},1825{1826"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}))*",1827"name": "entity.name.type.cpp"1828}1829]1830},1831"2": {1832"patterns": [1833{1834"include": "#attributes_context"1835},1836{1837"include": "source.cpp#number_literal"1838}1839]1840},1841"3": {1842"patterns": [1843{1844"include": "source.cpp#inline_comment"1845}1846]1847},1848"4": {1849"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1850},1851"5": {1852"name": "comment.block.cpp"1853},1854"6": {1855"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1856},1857"7": {1858"patterns": [1859{1860"include": "source.cpp#inline_comment"1861}1862]1863},1864"8": {1865"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1866},1867"9": {1868"name": "comment.block.cpp"1869},1870"10": {1871"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1872},1873"11": {1874"patterns": [1875{1876"match": "::",1877"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"1878},1879{1880"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)",1881"name": "entity.name.scope-resolution.type.cpp"1882},1883{1884"include": "#template_call_range"1885}1886]1887},1888"12": {1889"patterns": [1890{1891"include": "#template_call_range"1892}1893]1894},1895"13": {},1896"14": {1897"patterns": [1898{1899"include": "source.cpp#inline_comment"1900}1901]1902},1903"15": {1904"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1905},1906"16": {1907"name": "comment.block.cpp"1908},1909"17": {1910"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1911},1912"18": {},1913"19": {1914"patterns": [1915{1916"include": "source.cpp#inline_comment"1917}1918]1919},1920"20": {1921"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1922},1923"21": {1924"name": "comment.block.cpp"1925},1926"22": {1927"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1928},1929"23": {1930"name": "punctuation.section.arguments.begin.bracket.curly.initializer.cpp"1931}1932},1933"endCaptures": {1934"0": {1935"name": "punctuation.section.arguments.end.bracket.curly.initializer.cpp"1936}1937},1938"name": "meta.initialization.cpp",1939"patterns": [1940{1941"include": "#evaluation_context"1942},1943{1944"include": "source.cpp#comma"1945}1946]1947},1948"decltype": {1949"begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",1950"end": "\\)|(?=(?<!\\\\)\n)",1951"beginCaptures": {1952"1": {1953"name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"1954},1955"2": {1956"patterns": [1957{1958"include": "source.cpp#inline_comment"1959}1960]1961},1962"3": {1963"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"1964},1965"4": {1966"name": "comment.block.cpp"1967},1968"5": {1969"name": "comment.block.cpp punctuation.definition.comment.end.cpp"1970},1971"6": {1972"name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"1973}1974},1975"endCaptures": {1976"0": {1977"name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"1978}1979},1980"contentName": "meta.arguments.decltype",1981"patterns": [1982{1983"include": "#evaluation_context"1984}1985]1986},1987"decltype_specifier": {1988"begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",1989"end": "\\)|(?=(?<!\\\\)\n)",1990"beginCaptures": {1991"1": {1992"name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"1993},1994"2": {1995"patterns": [1996{1997"include": "source.cpp#inline_comment"1998}1999]2000},2001"3": {2002"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2003},2004"4": {2005"name": "comment.block.cpp"2006},2007"5": {2008"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2009},2010"6": {2011"name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"2012}2013},2014"endCaptures": {2015"0": {2016"name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"2017}2018},2019"contentName": "meta.arguments.decltype",2020"patterns": [2021{2022"include": "#evaluation_context"2023}2024]2025},2026"default_statement": {2027"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)default(?!\\w))",2028"end": ":|(?=(?<!\\\\)\n)",2029"beginCaptures": {2030"1": {2031"patterns": [2032{2033"include": "source.cpp#inline_comment"2034}2035]2036},2037"2": {2038"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2039},2040"3": {2041"name": "comment.block.cpp"2042},2043"4": {2044"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2045},2046"5": {2047"name": "keyword.control.default.cpp"2048}2049},2050"endCaptures": {2051"0": {2052"name": "punctuation.separator.colon.case.default.cpp"2053}2054},2055"name": "meta.conditional.case.cpp",2056"patterns": [2057{2058"include": "#evaluation_context"2059}2060]2061},2062"destructor_inline": {2063"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)(~(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())",2064"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",2065"beginCaptures": {2066"0": {2067"name": "meta.head.function.definition.special.member.destructor.cpp"2068},2069"1": {2070"patterns": [2071{2072"include": "source.cpp#inline_comment"2073}2074]2075},2076"2": {2077"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2078},2079"3": {2080"name": "comment.block.cpp"2081},2082"4": {2083"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2084},2085"5": {2086"name": "storage.type.modifier.calling-convention.cpp"2087},2088"6": {2089"patterns": [2090{2091"include": "source.cpp#inline_comment"2092}2093]2094},2095"7": {2096"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2097},2098"8": {2099"name": "comment.block.cpp"2100},2101"9": {2102"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2103},2104"10": {2105"patterns": [2106{2107"include": "source.cpp#functional_specifiers_pre_parameters"2108}2109]2110},2111"11": {2112"patterns": [2113{2114"include": "source.cpp#inline_comment"2115}2116]2117},2118"12": {2119"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2120},2121"13": {2122"name": "comment.block.cpp"2123},2124"14": {2125"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2126},2127"15": {2128"name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"2129}2130},2131"endCaptures": {},2132"name": "meta.function.definition.special.member.destructor.cpp",2133"patterns": [2134{2135"begin": "\\G ?",2136"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",2137"beginCaptures": {},2138"endCaptures": {2139"0": {2140"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"2141}2142},2143"name": "meta.head.function.definition.special.member.destructor.cpp",2144"patterns": [2145{2146"include": "#ever_present_context"2147},2148{2149"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",2150"captures": {2151"1": {2152"name": "keyword.operator.assignment.cpp"2153},2154"2": {2155"patterns": [2156{2157"include": "source.cpp#inline_comment"2158}2159]2160},2161"3": {2162"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2163},2164"4": {2165"name": "comment.block.cpp"2166},2167"5": {2168"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2169},2170"6": {2171"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"2172},2173"7": {2174"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"2175}2176}2177},2178{2179"begin": "\\(",2180"end": "\\)|(?=(?<!\\\\)\n)",2181"beginCaptures": {2182"0": {2183"name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"2184}2185},2186"endCaptures": {2187"0": {2188"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"2189}2190},2191"contentName": "meta.function.definition.parameters.special.member.destructor",2192"patterns": []2193},2194{2195"include": "source.cpp#qualifiers_and_specifiers_post_parameters"2196},2197{2198"include": "$self"2199}2200]2201},2202{2203"begin": "(?<=\\{|<%|\\?\\?<)",2204"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",2205"beginCaptures": {},2206"endCaptures": {2207"0": {2208"name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"2209}2210},2211"name": "meta.body.function.definition.special.member.destructor.cpp",2212"patterns": [2213{2214"include": "#function_body_context"2215}2216]2217},2218{2219"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",2220"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",2221"beginCaptures": {},2222"endCaptures": {},2223"name": "meta.tail.function.definition.special.member.destructor.cpp",2224"patterns": [2225{2226"include": "$self"2227}2228]2229}2230]2231},2232"destructor_root": {2233"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))~(?:\\14)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\())",2234"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",2235"beginCaptures": {2236"0": {2237"name": "meta.head.function.definition.special.member.destructor.cpp"2238},2239"1": {2240"patterns": [2241{2242"include": "source.cpp#inline_comment"2243}2244]2245},2246"2": {2247"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2248},2249"3": {2250"name": "comment.block.cpp"2251},2252"4": {2253"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2254},2255"5": {2256"name": "storage.type.modifier.calling-convention.cpp"2257},2258"6": {2259"patterns": [2260{2261"include": "source.cpp#inline_comment"2262}2263]2264},2265"7": {2266"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2267},2268"8": {2269"name": "comment.block.cpp"2270},2271"9": {2272"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2273},2274"10": {2275"patterns": [2276{2277"match": "::",2278"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"2279},2280{2281"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)",2282"name": "entity.name.scope-resolution.destructor.cpp"2283},2284{2285"include": "#template_call_range"2286}2287]2288},2289"11": {2290"patterns": [2291{2292"include": "#template_call_range"2293}2294]2295},2296"12": {},2297"13": {2298"patterns": [2299{2300"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}))*(?=:)",2301"name": "entity.name.type.destructor.cpp"2302},2303{2304"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}))*",2305"name": "entity.name.function.definition.special.member.destructor.cpp"2306},2307{2308"match": "::",2309"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"2310}2311]2312},2313"14": {},2314"15": {2315"patterns": [2316{2317"include": "source.cpp#inline_comment"2318}2319]2320},2321"16": {2322"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2323},2324"17": {2325"name": "comment.block.cpp"2326},2327"18": {2328"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2329},2330"19": {2331"patterns": [2332{2333"include": "source.cpp#inline_comment"2334}2335]2336},2337"20": {2338"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2339},2340"21": {2341"name": "comment.block.cpp"2342},2343"22": {2344"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2345},2346"23": {2347"patterns": [2348{2349"include": "source.cpp#inline_comment"2350}2351]2352},2353"24": {2354"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2355},2356"25": {2357"name": "comment.block.cpp"2358},2359"26": {2360"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2361}2362},2363"endCaptures": {},2364"name": "meta.function.definition.special.member.destructor.cpp",2365"patterns": [2366{2367"begin": "\\G ?",2368"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",2369"beginCaptures": {},2370"endCaptures": {2371"0": {2372"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"2373}2374},2375"name": "meta.head.function.definition.special.member.destructor.cpp",2376"patterns": [2377{2378"include": "#ever_present_context"2379},2380{2381"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",2382"captures": {2383"1": {2384"name": "keyword.operator.assignment.cpp"2385},2386"2": {2387"patterns": [2388{2389"include": "source.cpp#inline_comment"2390}2391]2392},2393"3": {2394"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2395},2396"4": {2397"name": "comment.block.cpp"2398},2399"5": {2400"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2401},2402"6": {2403"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"2404},2405"7": {2406"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"2407}2408}2409},2410{2411"begin": "\\(",2412"end": "\\)|(?=(?<!\\\\)\n)",2413"beginCaptures": {2414"0": {2415"name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"2416}2417},2418"endCaptures": {2419"0": {2420"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"2421}2422},2423"contentName": "meta.function.definition.parameters.special.member.destructor",2424"patterns": []2425},2426{2427"include": "source.cpp#qualifiers_and_specifiers_post_parameters"2428},2429{2430"include": "$self"2431}2432]2433},2434{2435"begin": "(?<=\\{|<%|\\?\\?<)",2436"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",2437"beginCaptures": {},2438"endCaptures": {2439"0": {2440"name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"2441}2442},2443"name": "meta.body.function.definition.special.member.destructor.cpp",2444"patterns": [2445{2446"include": "#function_body_context"2447}2448]2449},2450{2451"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",2452"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",2453"beginCaptures": {},2454"endCaptures": {},2455"name": "meta.tail.function.definition.special.member.destructor.cpp",2456"patterns": [2457{2458"include": "$self"2459}2460]2461}2462]2463},2464"diagnostic": {2465"begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:error|warning)))\\b(?:\\s+)?",2466"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",2467"beginCaptures": {2468"1": {2469"name": "keyword.control.directive.diagnostic.$7.cpp"2470},2471"2": {2472"patterns": [2473{2474"include": "source.cpp#inline_comment"2475}2476]2477},2478"3": {2479"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2480},2481"4": {2482"name": "comment.block.cpp"2483},2484"5": {2485"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2486},2487"6": {2488"name": "punctuation.definition.directive.cpp"2489},2490"7": {}2491},2492"endCaptures": {},2493"name": "meta.preprocessor.diagnostic.$reference(directive).cpp",2494"patterns": [2495{2496"include": "#comments"2497},2498{2499"begin": "\"",2500"end": "(?:(\")|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))|(?=(?<!\\\\)\n)",2501"beginCaptures": {2502"0": {2503"name": "punctuation.definition.string.begin.cpp"2504}2505},2506"endCaptures": {2507"1": {2508"name": "punctuation.definition.string.end.cpp"2509}2510},2511"name": "string.quoted.double.cpp",2512"patterns": [2513{2514"include": "source.cpp#line_continuation_character"2515}2516]2517},2518{2519"begin": "'",2520"end": "(?:(')|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))|(?=(?<!\\\\)\n)",2521"beginCaptures": {2522"0": {2523"name": "punctuation.definition.string.begin.cpp"2524}2525},2526"endCaptures": {2527"1": {2528"name": "punctuation.definition.string.end.cpp"2529}2530},2531"name": "string.quoted.single.cpp",2532"patterns": [2533{2534"include": "source.cpp#line_continuation_character"2535}2536]2537},2538{2539"begin": "[^'\"]",2540"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",2541"beginCaptures": {},2542"endCaptures": {},2543"name": "string.unquoted.cpp",2544"patterns": [2545{2546"include": "source.cpp#line_continuation_character"2547},2548{2549"include": "#comments"2550}2551]2552}2553]2554},2555"enum_block": {2556"begin": "((?<!\\w)enum(?!\\w))(?:\\s+(class|struct))?(?:(?:\\s+|((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\))))|(?={))(?:\\s+)?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)(?:(?:\\s+)?(:)(?:\\s+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))?",2557"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",2558"beginCaptures": {2559"0": {2560"name": "meta.head.enum.cpp"2561},2562"1": {2563"name": "storage.type.enum.cpp"2564},2565"2": {2566"name": "storage.type.enum.enum-key.$2.cpp"2567},2568"3": {2569"patterns": [2570{2571"include": "#attributes_context"2572},2573{2574"include": "source.cpp#number_literal"2575}2576]2577},2578"4": {2579"name": "entity.name.type.enum.cpp"2580},2581"5": {2582"name": "punctuation.separator.colon.type-specifier.cpp"2583},2584"6": {2585"patterns": [2586{2587"include": "source.cpp#scope_resolution_inner_generated"2588}2589]2590},2591"7": {2592"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"2593},2594"8": {2595"patterns": [2596{2597"include": "#template_call_range"2598}2599]2600},2601"9": {},2602"10": {2603"name": "entity.name.scope-resolution.cpp"2604},2605"11": {2606"name": "meta.template.call.cpp",2607"patterns": [2608{2609"include": "#template_call_range"2610}2611]2612},2613"12": {},2614"13": {2615"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2616},2617"14": {2618"name": "comment.block.cpp"2619},2620"15": {2621"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2622},2623"16": {2624"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"2625},2626"17": {2627"name": "storage.type.integral.$17.cpp"2628}2629},2630"endCaptures": {2631"1": {2632"name": "punctuation.terminator.statement.cpp"2633},2634"2": {2635"name": "punctuation.terminator.statement.cpp"2636}2637},2638"name": "meta.block.enum.cpp",2639"patterns": [2640{2641"begin": "\\G ?",2642"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",2643"beginCaptures": {},2644"endCaptures": {2645"0": {2646"name": "punctuation.section.block.begin.bracket.curly.enum.cpp"2647}2648},2649"name": "meta.head.enum.cpp",2650"patterns": [2651{2652"include": "$self"2653}2654]2655},2656{2657"begin": "(?<=\\{|<%|\\?\\?<)",2658"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",2659"beginCaptures": {},2660"endCaptures": {2661"0": {2662"name": "punctuation.section.block.end.bracket.curly.enum.cpp"2663}2664},2665"name": "meta.body.enum.cpp",2666"patterns": [2667{2668"include": "#ever_present_context"2669},2670{2671"include": "source.cpp#enumerator_list"2672},2673{2674"include": "#comments"2675},2676{2677"include": "source.cpp#comma"2678},2679{2680"include": "source.cpp#semicolon"2681}2682]2683},2684{2685"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",2686"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",2687"beginCaptures": {},2688"endCaptures": {},2689"name": "meta.tail.enum.cpp",2690"patterns": [2691{2692"include": "$self"2693}2694]2695}2696]2697},2698"evaluation_context": {2699"patterns": [2700{2701"include": "#ever_present_context"2702},2703{2704"include": "#string_context"2705},2706{2707"include": "source.cpp#number_literal"2708},2709{2710"include": "#method_access"2711},2712{2713"include": "source.cpp#member_access"2714},2715{2716"include": "source.cpp#predefined_macros"2717},2718{2719"include": "#operators"2720},2721{2722"include": "source.cpp#memory_operators"2723},2724{2725"include": "source.cpp#wordlike_operators"2726},2727{2728"include": "source.cpp#type_casting_operators"2729},2730{2731"include": "source.cpp#control_flow_keywords"2732},2733{2734"include": "source.cpp#exception_keywords"2735},2736{2737"include": "source.cpp#the_this_keyword"2738},2739{2740"include": "source.cpp#language_constants"2741},2742{2743"include": "#builtin_storage_type_initilizer"2744},2745{2746"include": "source.cpp#qualifiers_and_specifiers_post_parameters"2747},2748{2749"include": "source.cpp#functional_specifiers_pre_parameters"2750},2751{2752"include": "#storage_types"2753},2754{2755"include": "#lambdas"2756},2757{2758"include": "#attributes_context"2759},2760{2761"include": "#parentheses"2762},2763{2764"include": "#function_call"2765},2766{2767"include": "source.cpp#scope_resolution_inner_generated"2768},2769{2770"include": "#square_brackets"2771},2772{2773"include": "source.cpp#semicolon"2774},2775{2776"include": "source.cpp#comma"2777}2778]2779},2780"ever_present_context": {2781"patterns": [2782{2783"include": "source.cpp#pragma_mark"2784},2785{2786"include": "#pragma"2787},2788{2789"include": "source.cpp#include"2790},2791{2792"include": "#line"2793},2794{2795"include": "#diagnostic"2796},2797{2798"include": "source.cpp#undef"2799},2800{2801"include": "#preprocessor_conditional_range"2802},2803{2804"include": "source.cpp#single_line_macro"2805},2806{2807"include": "#macro"2808},2809{2810"include": "source.cpp#preprocessor_conditional_standalone"2811},2812{2813"include": "source.cpp#macro_argument"2814},2815{2816"include": "#comments"2817},2818{2819"include": "source.cpp#line_continuation_character"2820}2821]2822},2823"extern_block": {2824"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(extern)(?=\\s*\\\")",2825"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",2826"beginCaptures": {2827"0": {2828"name": "meta.head.extern.cpp"2829},2830"1": {2831"patterns": [2832{2833"include": "source.cpp#inline_comment"2834}2835]2836},2837"2": {2838"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"2839},2840"3": {2841"name": "comment.block.cpp"2842},2843"4": {2844"name": "comment.block.cpp punctuation.definition.comment.end.cpp"2845},2846"5": {2847"name": "storage.type.extern.cpp"2848}2849},2850"endCaptures": {2851"1": {2852"name": "punctuation.terminator.statement.cpp"2853},2854"2": {2855"name": "punctuation.terminator.statement.cpp"2856}2857},2858"name": "meta.block.extern.cpp",2859"patterns": [2860{2861"begin": "\\G ?",2862"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",2863"beginCaptures": {},2864"endCaptures": {2865"0": {2866"name": "punctuation.section.block.begin.bracket.curly.extern.cpp"2867}2868},2869"name": "meta.head.extern.cpp",2870"patterns": [2871{2872"include": "$self"2873}2874]2875},2876{2877"begin": "(?<=\\{|<%|\\?\\?<)",2878"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",2879"beginCaptures": {},2880"endCaptures": {2881"0": {2882"name": "punctuation.section.block.end.bracket.curly.extern.cpp"2883}2884},2885"name": "meta.body.extern.cpp",2886"patterns": [2887{2888"include": "$self"2889}2890]2891},2892{2893"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",2894"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",2895"beginCaptures": {},2896"endCaptures": {},2897"name": "meta.tail.extern.cpp",2898"patterns": [2899{2900"include": "$self"2901}2902]2903},2904{2905"include": "$self"2906}2907]2908},2909"function_body_context": {2910"patterns": [2911{2912"include": "#ever_present_context"2913},2914{2915"include": "#using_namespace"2916},2917{2918"include": "source.cpp#type_alias"2919},2920{2921"include": "source.cpp#using_name"2922},2923{2924"include": "source.cpp#namespace_alias"2925},2926{2927"include": "#typedef_class"2928},2929{2930"include": "#typedef_struct"2931},2932{2933"include": "#typedef_union"2934},2935{2936"include": "source.cpp#misc_keywords"2937},2938{2939"include": "source.cpp#standard_declares"2940},2941{2942"include": "#class_block"2943},2944{2945"include": "#struct_block"2946},2947{2948"include": "#union_block"2949},2950{2951"include": "#enum_block"2952},2953{2954"include": "source.cpp#access_control_keywords"2955},2956{2957"include": "#block"2958},2959{2960"include": "#static_assert"2961},2962{2963"include": "#assembly"2964},2965{2966"include": "#function_pointer"2967},2968{2969"include": "#switch_statement"2970},2971{2972"include": "source.cpp#goto_statement"2973},2974{2975"include": "#evaluation_context"2976},2977{2978"include": "source.cpp#label"2979}2980]2981},2982"function_call": {2983"begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()",2984"end": "\\)|(?=(?<!\\\\)\n)",2985"beginCaptures": {2986"1": {2987"patterns": [2988{2989"include": "source.cpp#scope_resolution_function_call_inner_generated"2990}2991]2992},2993"2": {2994"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"2995},2996"3": {2997"patterns": [2998{2999"include": "#template_call_range"3000}3001]3002},3003"4": {},3004"5": {3005"name": "entity.name.function.call.cpp"3006},3007"6": {3008"patterns": [3009{3010"include": "source.cpp#inline_comment"3011}3012]3013},3014"7": {3015"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3016},3017"8": {3018"name": "comment.block.cpp"3019},3020"9": {3021"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3022},3023"10": {3024"name": "meta.template.call.cpp",3025"patterns": [3026{3027"include": "#template_call_range"3028}3029]3030},3031"11": {},3032"12": {3033"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3034},3035"13": {3036"name": "comment.block.cpp"3037},3038"14": {3039"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3040},3041"15": {3042"name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp"3043}3044},3045"endCaptures": {3046"0": {3047"name": "punctuation.section.arguments.end.bracket.round.function.call.cpp"3048}3049},3050"patterns": [3051{3052"include": "#evaluation_context"3053}3054]3055},3056"function_definition": {3057"begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?<!\\w)template(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\()",3058"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",3059"beginCaptures": {3060"0": {3061"name": "meta.head.function.definition.cpp"3062},3063"1": {3064"name": "storage.type.template.cpp"3065},3066"2": {3067"patterns": [3068{3069"include": "source.cpp#inline_comment"3070}3071]3072},3073"3": {3074"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3075},3076"4": {3077"name": "comment.block.cpp"3078},3079"5": {3080"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3081},3082"6": {3083"patterns": [3084{3085"include": "#attributes_context"3086},3087{3088"include": "source.cpp#number_literal"3089}3090]3091},3092"7": {3093"patterns": [3094{3095"match": "((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",3096"captures": {3097"1": {3098"name": "storage.modifier.$1.cpp"3099},3100"2": {3101"patterns": [3102{3103"include": "source.cpp#inline_comment"3104}3105]3106},3107"3": {3108"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3109},3110"4": {3111"name": "comment.block.cpp"3112},3113"5": {3114"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3115}3116}3117}3118]3119},3120"8": {3121"name": "storage.modifier.$8.cpp"3122},3123"9": {3124"patterns": [3125{3126"include": "source.cpp#inline_comment"3127}3128]3129},3130"10": {3131"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3132},3133"11": {3134"name": "comment.block.cpp"3135},3136"12": {3137"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3138},3139"13": {3140"name": "meta.qualified_type.cpp",3141"patterns": [3142{3143"match": "::",3144"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"3145},3146{3147"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",3148"name": "storage.type.$0.cpp"3149},3150{3151"include": "#attributes_context"3152},3153{3154"include": "#storage_types"3155},3156{3157"include": "source.cpp#number_literal"3158},3159{3160"include": "#string_context"3161},3162{3163"include": "source.cpp#comma"3164},3165{3166"include": "source.cpp#scope_resolution_inner_generated"3167},3168{3169"begin": "<",3170"end": ">|(?=(?<!\\\\)\n)",3171"beginCaptures": {3172"0": {3173"name": "punctuation.section.angle-brackets.begin.template.call.cpp"3174}3175},3176"endCaptures": {3177"0": {3178"name": "punctuation.section.angle-brackets.end.template.call.cpp"3179}3180},3181"name": "meta.template.call.cpp",3182"patterns": [3183{3184"include": "#template_call_context"3185}3186]3187},3188{3189"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}))*",3190"name": "entity.name.type.cpp"3191}3192]3193},3194"14": {3195"patterns": [3196{3197"include": "#attributes_context"3198},3199{3200"include": "source.cpp#number_literal"3201}3202]3203},3204"15": {3205"patterns": [3206{3207"include": "source.cpp#inline_comment"3208}3209]3210},3211"16": {3212"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3213},3214"17": {3215"name": "comment.block.cpp"3216},3217"18": {3218"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3219},3220"19": {3221"patterns": [3222{3223"include": "source.cpp#inline_comment"3224}3225]3226},3227"20": {3228"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3229},3230"21": {3231"name": "comment.block.cpp"3232},3233"22": {3234"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3235},3236"23": {3237"patterns": [3238{3239"match": "::",3240"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"3241},3242{3243"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)",3244"name": "entity.name.scope-resolution.type.cpp"3245},3246{3247"include": "#template_call_range"3248}3249]3250},3251"24": {3252"patterns": [3253{3254"include": "#template_call_range"3255}3256]3257},3258"25": {},3259"26": {3260"patterns": [3261{3262"include": "source.cpp#inline_comment"3263}3264]3265},3266"27": {3267"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3268},3269"28": {3270"name": "comment.block.cpp"3271},3272"29": {3273"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3274},3275"30": {},3276"31": {3277"patterns": [3278{3279"match": "\\*",3280"name": "storage.modifier.pointer.cpp"3281},3282{3283"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",3284"captures": {3285"1": {3286"patterns": [3287{3288"include": "source.cpp#inline_comment"3289}3290]3291},3292"2": {3293"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3294},3295"3": {3296"name": "comment.block.cpp"3297},3298"4": {3299"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3300}3301},3302"name": "invalid.illegal.reference-type.cpp"3303},3304{3305"match": "\\&",3306"name": "storage.modifier.reference.cpp"3307}3308]3309},3310"32": {3311"patterns": [3312{3313"include": "source.cpp#inline_comment"3314}3315]3316},3317"33": {3318"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3319},3320"34": {3321"name": "comment.block.cpp"3322},3323"35": {3324"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3325},3326"36": {3327"patterns": [3328{3329"include": "source.cpp#inline_comment"3330}3331]3332},3333"37": {3334"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3335},3336"38": {3337"name": "comment.block.cpp"3338},3339"39": {3340"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3341},3342"40": {3343"patterns": [3344{3345"include": "source.cpp#inline_comment"3346}3347]3348},3349"41": {3350"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3351},3352"42": {3353"name": "comment.block.cpp"3354},3355"43": {3356"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3357},3358"44": {3359"name": "storage.type.modifier.calling-convention.cpp"3360},3361"45": {3362"patterns": [3363{3364"include": "source.cpp#inline_comment"3365}3366]3367},3368"46": {3369"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3370},3371"47": {3372"name": "comment.block.cpp"3373},3374"48": {3375"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3376},3377"49": {3378"patterns": [3379{3380"include": "source.cpp#scope_resolution_function_definition_inner_generated"3381}3382]3383},3384"50": {3385"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"3386},3387"51": {3388"patterns": [3389{3390"include": "#template_call_range"3391}3392]3393},3394"52": {},3395"53": {3396"name": "entity.name.function.definition.cpp"3397},3398"54": {3399"patterns": [3400{3401"include": "source.cpp#inline_comment"3402}3403]3404},3405"55": {3406"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3407},3408"56": {3409"name": "comment.block.cpp"3410},3411"57": {3412"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3413}3414},3415"endCaptures": {},3416"name": "meta.function.definition.cpp",3417"patterns": [3418{3419"begin": "\\G ?",3420"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",3421"beginCaptures": {},3422"endCaptures": {3423"0": {3424"name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp"3425}3426},3427"name": "meta.head.function.definition.cpp",3428"patterns": [3429{3430"include": "#ever_present_context"3431},3432{3433"begin": "\\(",3434"end": "\\)|(?=(?<!\\\\)\n)",3435"beginCaptures": {3436"0": {3437"name": "punctuation.section.parameters.begin.bracket.round.cpp"3438}3439},3440"endCaptures": {3441"0": {3442"name": "punctuation.section.parameters.end.bracket.round.cpp"3443}3444},3445"contentName": "meta.function.definition.parameters",3446"patterns": [3447{3448"include": "#ever_present_context"3449},3450{3451"include": "#parameter_or_maybe_value"3452},3453{3454"include": "source.cpp#comma"3455},3456{3457"include": "#evaluation_context"3458}3459]3460},3461{3462"match": "(?<=^|\\))(?:\\s+)?(->)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<23>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<23>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))",3463"captures": {3464"1": {3465"name": "punctuation.definition.function.return-type.cpp"3466},3467"2": {3468"patterns": [3469{3470"include": "source.cpp#inline_comment"3471}3472]3473},3474"3": {3475"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3476},3477"4": {3478"name": "comment.block.cpp"3479},3480"5": {3481"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3482},3483"6": {3484"name": "meta.qualified_type.cpp",3485"patterns": [3486{3487"match": "::",3488"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"3489},3490{3491"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",3492"name": "storage.type.$0.cpp"3493},3494{3495"include": "#attributes_context"3496},3497{3498"include": "#storage_types"3499},3500{3501"include": "source.cpp#number_literal"3502},3503{3504"include": "#string_context"3505},3506{3507"include": "source.cpp#comma"3508},3509{3510"include": "source.cpp#scope_resolution_inner_generated"3511},3512{3513"begin": "<",3514"end": ">|(?=(?<!\\\\)\n)",3515"beginCaptures": {3516"0": {3517"name": "punctuation.section.angle-brackets.begin.template.call.cpp"3518}3519},3520"endCaptures": {3521"0": {3522"name": "punctuation.section.angle-brackets.end.template.call.cpp"3523}3524},3525"name": "meta.template.call.cpp",3526"patterns": [3527{3528"include": "#template_call_context"3529}3530]3531},3532{3533"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}))*",3534"name": "entity.name.type.cpp"3535}3536]3537},3538"7": {3539"patterns": [3540{3541"include": "#attributes_context"3542},3543{3544"include": "source.cpp#number_literal"3545}3546]3547},3548"8": {3549"patterns": [3550{3551"include": "source.cpp#inline_comment"3552}3553]3554},3555"9": {3556"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3557},3558"10": {3559"name": "comment.block.cpp"3560},3561"11": {3562"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3563},3564"12": {3565"patterns": [3566{3567"include": "source.cpp#inline_comment"3568}3569]3570},3571"13": {3572"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3573},3574"14": {3575"name": "comment.block.cpp"3576},3577"15": {3578"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3579},3580"16": {3581"patterns": [3582{3583"match": "::",3584"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"3585},3586{3587"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)",3588"name": "entity.name.scope-resolution.type.cpp"3589},3590{3591"include": "#template_call_range"3592}3593]3594},3595"17": {3596"patterns": [3597{3598"include": "#template_call_range"3599}3600]3601},3602"18": {},3603"19": {3604"patterns": [3605{3606"include": "source.cpp#inline_comment"3607}3608]3609},3610"20": {3611"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3612},3613"21": {3614"name": "comment.block.cpp"3615},3616"22": {3617"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3618},3619"23": {}3620}3621},3622{3623"include": "$self"3624}3625]3626},3627{3628"begin": "(?<=\\{|<%|\\?\\?<)",3629"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",3630"beginCaptures": {},3631"endCaptures": {3632"0": {3633"name": "punctuation.section.block.end.bracket.curly.function.definition.cpp"3634}3635},3636"name": "meta.body.function.definition.cpp",3637"patterns": [3638{3639"include": "#function_body_context"3640}3641]3642},3643{3644"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",3645"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",3646"beginCaptures": {},3647"endCaptures": {},3648"name": "meta.tail.function.definition.cpp",3649"patterns": [3650{3651"include": "$self"3652}3653]3654}3655]3656},3657"function_parameter_context": {3658"patterns": [3659{3660"include": "#ever_present_context"3661},3662{3663"include": "#parameter"3664},3665{3666"include": "source.cpp#comma"3667}3668]3669},3670"function_pointer": {3671"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()",3672"end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?<!\\\\)\n)",3673"beginCaptures": {3674"1": {3675"name": "meta.qualified_type.cpp",3676"patterns": [3677{3678"match": "::",3679"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"3680},3681{3682"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",3683"name": "storage.type.$0.cpp"3684},3685{3686"include": "#attributes_context"3687},3688{3689"include": "#storage_types"3690},3691{3692"include": "source.cpp#number_literal"3693},3694{3695"include": "#string_context"3696},3697{3698"include": "source.cpp#comma"3699},3700{3701"include": "source.cpp#scope_resolution_inner_generated"3702},3703{3704"begin": "<",3705"end": ">|(?=(?<!\\\\)\n)",3706"beginCaptures": {3707"0": {3708"name": "punctuation.section.angle-brackets.begin.template.call.cpp"3709}3710},3711"endCaptures": {3712"0": {3713"name": "punctuation.section.angle-brackets.end.template.call.cpp"3714}3715},3716"name": "meta.template.call.cpp",3717"patterns": [3718{3719"include": "#template_call_context"3720}3721]3722},3723{3724"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}))*",3725"name": "entity.name.type.cpp"3726}3727]3728},3729"2": {3730"patterns": [3731{3732"include": "#attributes_context"3733},3734{3735"include": "source.cpp#number_literal"3736}3737]3738},3739"3": {3740"patterns": [3741{3742"include": "source.cpp#inline_comment"3743}3744]3745},3746"4": {3747"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3748},3749"5": {3750"name": "comment.block.cpp"3751},3752"6": {3753"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3754},3755"7": {3756"patterns": [3757{3758"include": "source.cpp#inline_comment"3759}3760]3761},3762"8": {3763"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3764},3765"9": {3766"name": "comment.block.cpp"3767},3768"10": {3769"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3770},3771"11": {3772"patterns": [3773{3774"match": "::",3775"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"3776},3777{3778"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)",3779"name": "entity.name.scope-resolution.type.cpp"3780},3781{3782"include": "#template_call_range"3783}3784]3785},3786"12": {3787"patterns": [3788{3789"include": "#template_call_range"3790}3791]3792},3793"13": {},3794"14": {3795"patterns": [3796{3797"include": "source.cpp#inline_comment"3798}3799]3800},3801"15": {3802"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3803},3804"16": {3805"name": "comment.block.cpp"3806},3807"17": {3808"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3809},3810"18": {},3811"19": {3812"patterns": [3813{3814"match": "\\*",3815"name": "storage.modifier.pointer.cpp"3816},3817{3818"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",3819"captures": {3820"1": {3821"patterns": [3822{3823"include": "source.cpp#inline_comment"3824}3825]3826},3827"2": {3828"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3829},3830"3": {3831"name": "comment.block.cpp"3832},3833"4": {3834"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3835}3836},3837"name": "invalid.illegal.reference-type.cpp"3838},3839{3840"match": "\\&",3841"name": "storage.modifier.reference.cpp"3842}3843]3844},3845"20": {3846"patterns": [3847{3848"include": "source.cpp#inline_comment"3849}3850]3851},3852"21": {3853"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3854},3855"22": {3856"name": "comment.block.cpp"3857},3858"23": {3859"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3860},3861"24": {3862"patterns": [3863{3864"include": "source.cpp#inline_comment"3865}3866]3867},3868"25": {3869"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3870},3871"26": {3872"name": "comment.block.cpp"3873},3874"27": {3875"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3876},3877"28": {3878"patterns": [3879{3880"include": "source.cpp#inline_comment"3881}3882]3883},3884"29": {3885"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3886},3887"30": {3888"name": "comment.block.cpp"3889},3890"31": {3891"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3892},3893"32": {3894"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"3895},3896"33": {3897"name": "punctuation.definition.function.pointer.dereference.cpp"3898},3899"34": {3900"name": "variable.other.definition.pointer.function.cpp"3901},3902"35": {3903"name": "punctuation.definition.begin.bracket.square.cpp"3904},3905"36": {3906"patterns": [3907{3908"include": "#evaluation_context"3909}3910]3911},3912"37": {3913"name": "punctuation.definition.end.bracket.square.cpp"3914},3915"38": {3916"name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"3917},3918"39": {3919"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"3920}3921},3922"endCaptures": {3923"1": {3924"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"3925},3926"2": {3927"patterns": [3928{3929"include": "source.cpp#inline_comment"3930}3931]3932},3933"3": {3934"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"3935},3936"4": {3937"name": "comment.block.cpp"3938},3939"5": {3940"name": "comment.block.cpp punctuation.definition.comment.end.cpp"3941}3942},3943"patterns": [3944{3945"include": "#function_parameter_context"3946}3947]3948},3949"function_pointer_parameter": {3950"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()",3951"end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?<!\\\\)\n)",3952"beginCaptures": {3953"1": {3954"name": "meta.qualified_type.cpp",3955"patterns": [3956{3957"match": "::",3958"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"3959},3960{3961"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",3962"name": "storage.type.$0.cpp"3963},3964{3965"include": "#attributes_context"3966},3967{3968"include": "#storage_types"3969},3970{3971"include": "source.cpp#number_literal"3972},3973{3974"include": "#string_context"3975},3976{3977"include": "source.cpp#comma"3978},3979{3980"include": "source.cpp#scope_resolution_inner_generated"3981},3982{3983"begin": "<",3984"end": ">|(?=(?<!\\\\)\n)",3985"beginCaptures": {3986"0": {3987"name": "punctuation.section.angle-brackets.begin.template.call.cpp"3988}3989},3990"endCaptures": {3991"0": {3992"name": "punctuation.section.angle-brackets.end.template.call.cpp"3993}3994},3995"name": "meta.template.call.cpp",3996"patterns": [3997{3998"include": "#template_call_context"3999}4000]4001},4002{4003"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}))*",4004"name": "entity.name.type.cpp"4005}4006]4007},4008"2": {4009"patterns": [4010{4011"include": "#attributes_context"4012},4013{4014"include": "source.cpp#number_literal"4015}4016]4017},4018"3": {4019"patterns": [4020{4021"include": "source.cpp#inline_comment"4022}4023]4024},4025"4": {4026"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4027},4028"5": {4029"name": "comment.block.cpp"4030},4031"6": {4032"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4033},4034"7": {4035"patterns": [4036{4037"include": "source.cpp#inline_comment"4038}4039]4040},4041"8": {4042"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4043},4044"9": {4045"name": "comment.block.cpp"4046},4047"10": {4048"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4049},4050"11": {4051"patterns": [4052{4053"match": "::",4054"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"4055},4056{4057"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)",4058"name": "entity.name.scope-resolution.type.cpp"4059},4060{4061"include": "#template_call_range"4062}4063]4064},4065"12": {4066"patterns": [4067{4068"include": "#template_call_range"4069}4070]4071},4072"13": {},4073"14": {4074"patterns": [4075{4076"include": "source.cpp#inline_comment"4077}4078]4079},4080"15": {4081"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4082},4083"16": {4084"name": "comment.block.cpp"4085},4086"17": {4087"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4088},4089"18": {},4090"19": {4091"patterns": [4092{4093"match": "\\*",4094"name": "storage.modifier.pointer.cpp"4095},4096{4097"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",4098"captures": {4099"1": {4100"patterns": [4101{4102"include": "source.cpp#inline_comment"4103}4104]4105},4106"2": {4107"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4108},4109"3": {4110"name": "comment.block.cpp"4111},4112"4": {4113"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4114}4115},4116"name": "invalid.illegal.reference-type.cpp"4117},4118{4119"match": "\\&",4120"name": "storage.modifier.reference.cpp"4121}4122]4123},4124"20": {4125"patterns": [4126{4127"include": "source.cpp#inline_comment"4128}4129]4130},4131"21": {4132"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4133},4134"22": {4135"name": "comment.block.cpp"4136},4137"23": {4138"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4139},4140"24": {4141"patterns": [4142{4143"include": "source.cpp#inline_comment"4144}4145]4146},4147"25": {4148"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4149},4150"26": {4151"name": "comment.block.cpp"4152},4153"27": {4154"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4155},4156"28": {4157"patterns": [4158{4159"include": "source.cpp#inline_comment"4160}4161]4162},4163"29": {4164"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4165},4166"30": {4167"name": "comment.block.cpp"4168},4169"31": {4170"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4171},4172"32": {4173"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"4174},4175"33": {4176"name": "punctuation.definition.function.pointer.dereference.cpp"4177},4178"34": {4179"name": "variable.parameter.pointer.function.cpp"4180},4181"35": {4182"name": "punctuation.definition.begin.bracket.square.cpp"4183},4184"36": {4185"patterns": [4186{4187"include": "#evaluation_context"4188}4189]4190},4191"37": {4192"name": "punctuation.definition.end.bracket.square.cpp"4193},4194"38": {4195"name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"4196},4197"39": {4198"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"4199}4200},4201"endCaptures": {4202"1": {4203"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"4204},4205"2": {4206"patterns": [4207{4208"include": "source.cpp#inline_comment"4209}4210]4211},4212"3": {4213"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4214},4215"4": {4216"name": "comment.block.cpp"4217},4218"5": {4219"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4220}4221},4222"patterns": [4223{4224"include": "#function_parameter_context"4225}4226]4227},4228"gcc_attributes": {4229"begin": "__attribute(?:__)?\\s*\\(\\s*\\(",4230"end": "\\)\\s*\\)|(?=(?<!\\\\)\n)",4231"beginCaptures": {4232"0": {4233"name": "punctuation.section.attribute.begin.cpp"4234}4235},4236"endCaptures": {4237"0": {4238"name": "punctuation.section.attribute.end.cpp"4239}4240},4241"name": "support.other.attribute.cpp",4242"patterns": [4243{4244"include": "#attributes_context"4245},4246{4247"begin": "\\(",4248"end": "\\)|(?=(?<!\\\\)\n)",4249"beginCaptures": {},4250"endCaptures": {},4251"patterns": [4252{4253"include": "#attributes_context"4254},4255{4256"include": "#string_context"4257},4258{4259"include": "#ever_present_context"4260}4261]4262},4263{4264"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))",4265"captures": {4266"1": {4267"name": "keyword.other.using.directive.cpp"4268},4269"2": {4270"name": "entity.name.namespace.cpp"4271}4272}4273},4274{4275"match": ",",4276"name": "punctuation.separator.attribute.cpp"4277},4278{4279"match": ":",4280"name": "punctuation.accessor.attribute.cpp"4281},4282{4283"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)(?=::)",4284"name": "entity.name.namespace.cpp"4285},4286{4287"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)",4288"name": "entity.other.attribute.$0.cpp"4289},4290{4291"include": "source.cpp#number_literal"4292},4293{4294"include": "#ever_present_context"4295}4296]4297},4298"inheritance_context": {4299"patterns": [4300{4301"include": "#ever_present_context"4302},4303{4304"match": ",",4305"name": "punctuation.separator.delimiter.comma.inheritance.cpp"4306},4307{4308"match": "(?<!\\w)(?:(?:protected)|(?:private)|(?:public))(?!\\w)",4309"name": "storage.type.modifier.access.$0.cpp"4310},4311{4312"match": "(?<!\\w)virtual(?!\\w)",4313"name": "storage.type.modifier.virtual.cpp"4314},4315{4316"match": "(?<=protected|virtual|private|public|,|:)(?:\\s+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|virtual))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))",4317"captures": {4318"1": {4319"name": "meta.qualified_type.cpp",4320"patterns": [4321{4322"match": "::",4323"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"4324},4325{4326"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",4327"name": "storage.type.$0.cpp"4328},4329{4330"include": "#attributes_context"4331},4332{4333"include": "#storage_types"4334},4335{4336"include": "source.cpp#number_literal"4337},4338{4339"include": "#string_context"4340},4341{4342"include": "source.cpp#comma"4343},4344{4345"include": "source.cpp#scope_resolution_inner_generated"4346},4347{4348"begin": "<",4349"end": ">|(?=(?<!\\\\)\n)",4350"beginCaptures": {4351"0": {4352"name": "punctuation.section.angle-brackets.begin.template.call.cpp"4353}4354},4355"endCaptures": {4356"0": {4357"name": "punctuation.section.angle-brackets.end.template.call.cpp"4358}4359},4360"name": "meta.template.call.cpp",4361"patterns": [4362{4363"include": "#template_call_context"4364}4365]4366},4367{4368"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}))*",4369"name": "entity.name.type.cpp"4370}4371]4372},4373"2": {4374"patterns": [4375{4376"include": "#attributes_context"4377},4378{4379"include": "source.cpp#number_literal"4380}4381]4382},4383"3": {4384"patterns": [4385{4386"include": "source.cpp#inline_comment"4387}4388]4389},4390"4": {4391"patterns": [4392{4393"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",4394"captures": {4395"1": {4396"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4397},4398"2": {4399"name": "comment.block.cpp"4400},4401"3": {4402"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4403}4404}4405}4406]4407},4408"5": {4409"patterns": [4410{4411"include": "source.cpp#inline_comment"4412}4413]4414},4415"6": {4416"patterns": [4417{4418"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",4419"captures": {4420"1": {4421"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4422},4423"2": {4424"name": "comment.block.cpp"4425},4426"3": {4427"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4428}4429}4430}4431]4432},4433"7": {4434"patterns": [4435{4436"match": "::",4437"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"4438},4439{4440"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)",4441"name": "entity.name.scope-resolution.type.cpp"4442},4443{4444"include": "#template_call_range"4445}4446]4447},4448"8": {4449"patterns": [4450{4451"include": "#template_call_range"4452}4453]4454},4455"9": {},4456"10": {4457"patterns": [4458{4459"include": "source.cpp#inline_comment"4460}4461]4462},4463"11": {4464"patterns": [4465{4466"match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+",4467"captures": {4468"1": {4469"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4470},4471"2": {4472"name": "comment.block.cpp"4473},4474"3": {4475"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4476}4477}4478}4479]4480},4481"12": {}4482}4483}4484]4485},4486"lambdas": {4487"begin": "(?:(?<=[^\\s]|^)(?<![\\w\\]\\)\\[\\*&\">])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:[^\\[\\]]*+\\g<3>?)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))",4488"end": "(?<=[;}])|(?=(?<!\\\\)\n)",4489"beginCaptures": {4490"1": {4491"name": "punctuation.definition.capture.begin.lambda.cpp"4492},4493"2": {4494"name": "meta.lambda.capture.cpp",4495"patterns": [4496{4497"include": "source.cpp#the_this_keyword"4498},4499{4500"match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))",4501"captures": {4502"1": {4503"name": "variable.parameter.capture.cpp"4504},4505"2": {4506"patterns": [4507{4508"include": "source.cpp#inline_comment"4509}4510]4511},4512"3": {4513"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4514},4515"4": {4516"name": "comment.block.cpp"4517},4518"5": {4519"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4520},4521"6": {4522"name": "punctuation.separator.delimiter.comma.cpp"4523},4524"7": {4525"name": "keyword.operator.assignment.cpp"4526}4527}4528},4529{4530"include": "#evaluation_context"4531}4532]4533},4534"3": {},4535"4": {4536"name": "punctuation.definition.capture.end.lambda.cpp"4537},4538"5": {4539"patterns": [4540{4541"include": "source.cpp#inline_comment"4542}4543]4544},4545"6": {4546"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4547},4548"7": {4549"name": "comment.block.cpp"4550},4551"8": {4552"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4553}4554},4555"endCaptures": {},4556"patterns": [4557{4558"begin": "\\(",4559"end": "\\)|(?=(?<!\\\\)\n)",4560"beginCaptures": {4561"0": {4562"name": "punctuation.definition.parameters.begin.lambda.cpp"4563}4564},4565"endCaptures": {4566"0": {4567"name": "punctuation.definition.parameters.end.lambda.cpp"4568}4569},4570"name": "meta.function.definition.parameters.lambda.cpp",4571"patterns": [4572{4573"include": "#function_parameter_context"4574}4575]4576},4577{4578"match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:mutable))(?!\\w)",4579"name": "storage.modifier.lambda.$0.cpp"4580},4581{4582"begin": "->",4583"end": "(?=\\{)|(?=(?<!\\\\)\n)",4584"beginCaptures": {4585"0": {4586"name": "punctuation.definition.lambda.return-type.cpp"4587}4588},4589"endCaptures": {},4590"patterns": [4591{4592"include": "#comments"4593},4594{4595"match": "\\S+",4596"name": "storage.type.return-type.lambda.cpp"4597}4598]4599},4600{4601"begin": "\\{",4602"end": "\\}|(?=(?<!\\\\)\n)",4603"beginCaptures": {4604"0": {4605"name": "punctuation.section.block.begin.bracket.curly.lambda.cpp"4606}4607},4608"endCaptures": {4609"0": {4610"name": "punctuation.section.block.end.bracket.curly.lambda.cpp"4611}4612},4613"name": "meta.function.definition.body.lambda.cpp",4614"patterns": [4615{4616"include": "$self"4617}4618]4619}4620]4621},4622"line": {4623"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?line\\b",4624"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",4625"beginCaptures": {4626"0": {4627"name": "keyword.control.directive.line.cpp"4628},4629"1": {4630"patterns": [4631{4632"include": "source.cpp#inline_comment"4633}4634]4635},4636"2": {4637"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4638},4639"3": {4640"name": "comment.block.cpp"4641},4642"4": {4643"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4644},4645"5": {4646"name": "punctuation.definition.directive.cpp"4647}4648},4649"endCaptures": {},4650"name": "meta.preprocessor.line.cpp",4651"patterns": [4652{4653"include": "#string_context"4654},4655{4656"include": "#preprocessor_number_literal"4657},4658{4659"include": "source.cpp#line_continuation_character"4660}4661]4662},4663"line_comment": {4664"begin": "\\s*+(\\/\\/)",4665"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",4666"beginCaptures": {4667"1": {4668"name": "punctuation.definition.comment.cpp"4669}4670},4671"endCaptures": {},4672"name": "comment.line.double-slash.cpp",4673"patterns": [4674{4675"include": "source.cpp#line_continuation_character"4676}4677]4678},4679"macro": {4680"begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?define\\b)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",4681"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",4682"beginCaptures": {4683"1": {4684"name": "keyword.control.directive.define.cpp"4685},4686"2": {4687"patterns": [4688{4689"include": "source.cpp#inline_comment"4690}4691]4692},4693"3": {4694"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4695},4696"4": {4697"name": "comment.block.cpp"4698},4699"5": {4700"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4701},4702"6": {4703"name": "punctuation.definition.directive.cpp"4704},4705"7": {4706"name": "entity.name.function.preprocessor.cpp"4707}4708},4709"endCaptures": {},4710"name": "meta.preprocessor.macro.cpp",4711"patterns": [4712{4713"match": "\\G(?:\\s+)?(\\()([^\\(]*)(\\))",4714"captures": {4715"1": {4716"name": "punctuation.definition.parameters.begin.preprocessor.cpp"4717},4718"2": {4719"name": "meta.function.preprocessor.parameters.cpp",4720"patterns": [4721{4722"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+)?",4723"captures": {4724"1": {4725"name": "variable.parameter.preprocessor.cpp"4726}4727}4728},4729{4730"match": ",",4731"name": "punctuation.separator.parameters.cpp"4732},4733{4734"match": "\\.\\.\\.",4735"name": "punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"4736}4737]4738},4739"3": {4740"name": "punctuation.definition.parameters.end.preprocessor.cpp"4741}4742}4743},4744{4745"include": "#macro_context"4746},4747{4748"include": "source.cpp#macro_argument"4749}4750]4751},4752"macro_context": {4753"patterns": [4754{4755"include": "source.cpp.embedded.macro"4756}4757]4758},4759"method_access": {4760"begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()",4761"end": "\\)|(?=(?<!\\\\)\n)",4762"beginCaptures": {4763"1": {4764"patterns": [4765{4766"include": "source.cpp#inline_comment"4767}4768]4769},4770"2": {4771"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4772},4773"3": {4774"name": "comment.block.cpp"4775},4776"4": {4777"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4778},4779"5": {4780"name": "variable.language.this.cpp"4781},4782"6": {4783"name": "variable.other.object.access.cpp"4784},4785"7": {4786"name": "punctuation.separator.dot-access.cpp"4787},4788"8": {4789"name": "punctuation.separator.pointer-access.cpp"4790},4791"9": {4792"patterns": [4793{4794"match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",4795"captures": {4796"1": {4797"patterns": [4798{4799"include": "source.cpp#inline_comment"4800}4801]4802},4803"2": {4804"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4805},4806"3": {4807"name": "comment.block.cpp"4808},4809"4": {4810"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4811},4812"5": {4813"name": "variable.language.this.cpp"4814},4815"6": {4816"name": "variable.other.object.property.cpp"4817},4818"7": {4819"name": "punctuation.separator.dot-access.cpp"4820},4821"8": {4822"name": "punctuation.separator.pointer-access.cpp"4823}4824}4825},4826{4827"match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",4828"captures": {4829"1": {4830"patterns": [4831{4832"include": "source.cpp#inline_comment"4833}4834]4835},4836"2": {4837"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"4838},4839"3": {4840"name": "comment.block.cpp"4841},4842"4": {4843"name": "comment.block.cpp punctuation.definition.comment.end.cpp"4844},4845"5": {4846"name": "variable.language.this.cpp"4847},4848"6": {4849"name": "variable.other.object.access.cpp"4850},4851"7": {4852"name": "punctuation.separator.dot-access.cpp"4853},4854"8": {4855"name": "punctuation.separator.pointer-access.cpp"4856}4857}4858},4859{4860"include": "source.cpp#member_access"4861},4862{4863"include": "#method_access"4864}4865]4866},4867"10": {4868"name": "entity.name.function.member.cpp"4869},4870"11": {4871"name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp"4872}4873},4874"endCaptures": {4875"0": {4876"name": "punctuation.section.arguments.end.bracket.round.function.member.cpp"4877}4878},4879"patterns": [4880{4881"include": "#evaluation_context"4882}4883]4884},4885"ms_attributes": {4886"begin": "__declspec\\(",4887"end": "\\)|(?=(?<!\\\\)\n)",4888"beginCaptures": {4889"0": {4890"name": "punctuation.section.attribute.begin.cpp"4891}4892},4893"endCaptures": {4894"0": {4895"name": "punctuation.section.attribute.end.cpp"4896}4897},4898"name": "support.other.attribute.cpp",4899"patterns": [4900{4901"include": "#attributes_context"4902},4903{4904"begin": "\\(",4905"end": "\\)|(?=(?<!\\\\)\n)",4906"beginCaptures": {},4907"endCaptures": {},4908"patterns": [4909{4910"include": "#attributes_context"4911},4912{4913"include": "#string_context"4914},4915{4916"include": "#ever_present_context"4917}4918]4919},4920{4921"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))",4922"captures": {4923"1": {4924"name": "keyword.other.using.directive.cpp"4925},4926"2": {4927"name": "entity.name.namespace.cpp"4928}4929}4930},4931{4932"match": ",",4933"name": "punctuation.separator.attribute.cpp"4934},4935{4936"match": ":",4937"name": "punctuation.accessor.attribute.cpp"4938},4939{4940"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)(?=::)",4941"name": "entity.name.namespace.cpp"4942},4943{4944"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)",4945"name": "entity.other.attribute.$0.cpp"4946},4947{4948"include": "source.cpp#number_literal"4949},4950{4951"include": "#ever_present_context"4952}4953]4954},4955"namespace_block": {4956"begin": "((?<!\\w)namespace(?!\\w))",4957"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",4958"beginCaptures": {4959"0": {4960"name": "meta.head.namespace.cpp"4961},4962"1": {4963"name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"4964}4965},4966"endCaptures": {},4967"name": "meta.block.namespace.cpp",4968"patterns": [4969{4970"begin": "\\G ?",4971"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",4972"beginCaptures": {},4973"endCaptures": {4974"0": {4975"name": "punctuation.section.block.begin.bracket.curly.namespace.cpp"4976}4977},4978"name": "meta.head.namespace.cpp",4979"patterns": [4980{4981"include": "#ever_present_context"4982},4983{4984"include": "#attributes_context"4985},4986{4987"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<4>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?(?:(::)(?:\\s+)?(inline))?",4988"captures": {4989"1": {4990"patterns": [4991{4992"include": "source.cpp#scope_resolution_namespace_block_inner_generated"4993}4994]4995},4996"2": {4997"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"4998},4999"3": {5000"patterns": [5001{5002"include": "#template_call_range"5003}5004]5005},5006"4": {},5007"5": {5008"name": "entity.name.namespace.cpp"5009},5010"6": {5011"name": "punctuation.separator.scope-resolution.namespace.block.cpp"5012},5013"7": {5014"name": "storage.modifier.inline.cpp"5015}5016}5017}5018]5019},5020{5021"begin": "(?<=\\{|<%|\\?\\?<)",5022"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",5023"beginCaptures": {},5024"endCaptures": {5025"0": {5026"name": "punctuation.section.block.end.bracket.curly.namespace.cpp"5027}5028},5029"name": "meta.body.namespace.cpp",5030"patterns": [5031{5032"include": "$self"5033}5034]5035},5036{5037"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",5038"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",5039"beginCaptures": {},5040"endCaptures": {},5041"name": "meta.tail.namespace.cpp",5042"patterns": [5043{5044"include": "$self"5045}5046]5047}5048]5049},5050"noexcept_operator": {5051"begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",5052"end": "\\)|(?=(?<!\\\\)\n)",5053"beginCaptures": {5054"1": {5055"name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"5056},5057"2": {5058"patterns": [5059{5060"include": "source.cpp#inline_comment"5061}5062]5063},5064"3": {5065"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5066},5067"4": {5068"name": "comment.block.cpp"5069},5070"5": {5071"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5072},5073"6": {5074"name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"5075}5076},5077"endCaptures": {5078"0": {5079"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"5080}5081},5082"contentName": "meta.arguments.operator.noexcept",5083"patterns": [5084{5085"include": "#evaluation_context"5086}5087]5088},5089"operator_overload": {5090"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:\\[\\])?)))|(\"\")((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\<|\\()",5091"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",5092"beginCaptures": {5093"0": {5094"name": "meta.head.function.definition.special.operator-overload.cpp"5095},5096"1": {5097"patterns": [5098{5099"include": "source.cpp#inline_comment"5100}5101]5102},5103"2": {5104"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5105},5106"3": {5107"name": "comment.block.cpp"5108},5109"4": {5110"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5111},5112"5": {5113"name": "meta.qualified_type.cpp",5114"patterns": [5115{5116"match": "::",5117"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"5118},5119{5120"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",5121"name": "storage.type.$0.cpp"5122},5123{5124"include": "#attributes_context"5125},5126{5127"include": "#storage_types"5128},5129{5130"include": "source.cpp#number_literal"5131},5132{5133"include": "#string_context"5134},5135{5136"include": "source.cpp#comma"5137},5138{5139"include": "source.cpp#scope_resolution_inner_generated"5140},5141{5142"begin": "<",5143"end": ">|(?=(?<!\\\\)\n)",5144"beginCaptures": {5145"0": {5146"name": "punctuation.section.angle-brackets.begin.template.call.cpp"5147}5148},5149"endCaptures": {5150"0": {5151"name": "punctuation.section.angle-brackets.end.template.call.cpp"5152}5153},5154"name": "meta.template.call.cpp",5155"patterns": [5156{5157"include": "#template_call_context"5158}5159]5160},5161{5162"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}))*",5163"name": "entity.name.type.cpp"5164}5165]5166},5167"6": {5168"patterns": [5169{5170"include": "#attributes_context"5171},5172{5173"include": "source.cpp#number_literal"5174}5175]5176},5177"7": {5178"patterns": [5179{5180"include": "source.cpp#inline_comment"5181}5182]5183},5184"8": {5185"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5186},5187"9": {5188"name": "comment.block.cpp"5189},5190"10": {5191"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5192},5193"11": {5194"patterns": [5195{5196"include": "source.cpp#inline_comment"5197}5198]5199},5200"12": {5201"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5202},5203"13": {5204"name": "comment.block.cpp"5205},5206"14": {5207"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5208},5209"15": {5210"patterns": [5211{5212"match": "::",5213"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"5214},5215{5216"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)",5217"name": "entity.name.scope-resolution.type.cpp"5218},5219{5220"include": "#template_call_range"5221}5222]5223},5224"16": {5225"patterns": [5226{5227"include": "#template_call_range"5228}5229]5230},5231"17": {},5232"18": {5233"patterns": [5234{5235"include": "source.cpp#inline_comment"5236}5237]5238},5239"19": {5240"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5241},5242"20": {5243"name": "comment.block.cpp"5244},5245"21": {5246"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5247},5248"22": {},5249"23": {5250"patterns": [5251{5252"match": "\\*",5253"name": "storage.modifier.pointer.cpp"5254},5255{5256"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",5257"captures": {5258"1": {5259"patterns": [5260{5261"include": "source.cpp#inline_comment"5262}5263]5264},5265"2": {5266"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5267},5268"3": {5269"name": "comment.block.cpp"5270},5271"4": {5272"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5273}5274},5275"name": "invalid.illegal.reference-type.cpp"5276},5277{5278"match": "\\&",5279"name": "storage.modifier.reference.cpp"5280}5281]5282},5283"24": {5284"patterns": [5285{5286"include": "source.cpp#inline_comment"5287}5288]5289},5290"25": {5291"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5292},5293"26": {5294"name": "comment.block.cpp"5295},5296"27": {5297"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5298},5299"28": {5300"patterns": [5301{5302"include": "source.cpp#inline_comment"5303}5304]5305},5306"29": {5307"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5308},5309"30": {5310"name": "comment.block.cpp"5311},5312"31": {5313"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5314},5315"32": {5316"patterns": [5317{5318"include": "source.cpp#inline_comment"5319}5320]5321},5322"33": {5323"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5324},5325"34": {5326"name": "comment.block.cpp"5327},5328"35": {5329"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5330},5331"36": {5332"name": "storage.type.modifier.calling-convention.cpp"5333},5334"37": {5335"patterns": [5336{5337"include": "source.cpp#inline_comment"5338}5339]5340},5341"38": {5342"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5343},5344"39": {5345"name": "comment.block.cpp"5346},5347"40": {5348"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5349},5350"41": {5351"patterns": [5352{5353"include": "source.cpp#inline_comment"5354}5355]5356},5357"42": {5358"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5359},5360"43": {5361"name": "comment.block.cpp"5362},5363"44": {5364"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5365},5366"45": {5367"patterns": [5368{5369"match": "::",5370"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"5371},5372{5373"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)",5374"name": "entity.name.scope-resolution.operator.cpp"5375},5376{5377"include": "#template_call_range"5378}5379]5380},5381"46": {5382"patterns": [5383{5384"include": "#template_call_range"5385}5386]5387},5388"47": {},5389"48": {5390"name": "keyword.other.operator.overload.cpp"5391},5392"49": {5393"patterns": [5394{5395"include": "source.cpp#inline_comment"5396}5397]5398},5399"50": {5400"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5401},5402"51": {5403"name": "comment.block.cpp"5404},5405"52": {5406"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5407},5408"53": {5409"patterns": [5410{5411"match": "::",5412"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"5413},5414{5415"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)",5416"name": "entity.name.scope-resolution.operator-overload.cpp"5417},5418{5419"include": "#template_call_range"5420}5421]5422},5423"54": {5424"patterns": [5425{5426"include": "#template_call_range"5427}5428]5429},5430"55": {},5431"56": {5432"name": "entity.name.operator.cpp"5433},5434"57": {5435"name": "entity.name.operator.type.cpp"5436},5437"58": {5438"patterns": [5439{5440"match": "\\*",5441"name": "entity.name.operator.type.pointer.cpp"5442},5443{5444"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",5445"captures": {5446"1": {5447"patterns": [5448{5449"include": "source.cpp#inline_comment"5450}5451]5452},5453"2": {5454"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5455},5456"3": {5457"name": "comment.block.cpp"5458},5459"4": {5460"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5461}5462},5463"name": "invalid.illegal.reference-type.cpp"5464},5465{5466"match": "\\&",5467"name": "entity.name.operator.type.reference.cpp"5468}5469]5470},5471"59": {5472"patterns": [5473{5474"include": "source.cpp#inline_comment"5475}5476]5477},5478"60": {5479"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5480},5481"61": {5482"name": "comment.block.cpp"5483},5484"62": {5485"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5486},5487"63": {5488"patterns": [5489{5490"include": "source.cpp#inline_comment"5491}5492]5493},5494"64": {5495"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5496},5497"65": {5498"name": "comment.block.cpp"5499},5500"66": {5501"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5502},5503"67": {5504"patterns": [5505{5506"include": "source.cpp#inline_comment"5507}5508]5509},5510"68": {5511"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5512},5513"69": {5514"name": "comment.block.cpp"5515},5516"70": {5517"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5518},5519"71": {5520"name": "entity.name.operator.type.array.cpp"5521},5522"72": {5523"name": "entity.name.operator.custom-literal.cpp"5524},5525"73": {5526"patterns": [5527{5528"include": "source.cpp#inline_comment"5529}5530]5531},5532"74": {5533"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5534},5535"75": {5536"name": "comment.block.cpp"5537},5538"76": {5539"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5540},5541"77": {5542"name": "entity.name.operator.custom-literal.cpp"5543},5544"78": {5545"patterns": [5546{5547"include": "source.cpp#inline_comment"5548}5549]5550},5551"79": {5552"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5553},5554"80": {5555"name": "comment.block.cpp"5556},5557"81": {5558"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5559}5560},5561"endCaptures": {},5562"name": "meta.function.definition.special.operator-overload.cpp",5563"patterns": [5564{5565"begin": "\\G ?",5566"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",5567"beginCaptures": {},5568"endCaptures": {5569"0": {5570"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"5571}5572},5573"name": "meta.head.function.definition.special.operator-overload.cpp",5574"patterns": [5575{5576"include": "#ever_present_context"5577},5578{5579"include": "#template_call_range"5580},5581{5582"begin": "\\(",5583"end": "\\)|(?=(?<!\\\\)\n)",5584"beginCaptures": {5585"0": {5586"name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"5587}5588},5589"endCaptures": {5590"0": {5591"name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"5592}5593},5594"contentName": "meta.function.definition.parameters.special.operator-overload",5595"patterns": [5596{5597"include": "#function_parameter_context"5598},5599{5600"include": "#evaluation_context"5601}5602]5603},5604{5605"include": "source.cpp#qualifiers_and_specifiers_post_parameters"5606},5607{5608"match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))",5609"captures": {5610"1": {5611"name": "keyword.operator.assignment.cpp"5612},5613"2": {5614"patterns": [5615{5616"include": "source.cpp#inline_comment"5617}5618]5619},5620"3": {5621"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5622},5623"4": {5624"name": "comment.block.cpp"5625},5626"5": {5627"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5628},5629"6": {5630"name": "keyword.other.default.function.cpp"5631},5632"7": {5633"name": "keyword.other.delete.function.cpp"5634}5635}5636},5637{5638"include": "$self"5639}5640]5641},5642{5643"begin": "(?<=\\{|<%|\\?\\?<)",5644"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",5645"beginCaptures": {},5646"endCaptures": {5647"0": {5648"name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"5649}5650},5651"name": "meta.body.function.definition.special.operator-overload.cpp",5652"patterns": [5653{5654"include": "#function_body_context"5655}5656]5657},5658{5659"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",5660"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",5661"beginCaptures": {},5662"endCaptures": {},5663"name": "meta.tail.function.definition.special.operator-overload.cpp",5664"patterns": [5665{5666"include": "$self"5667}5668]5669}5670]5671},5672"operators": {5673"patterns": [5674{5675"begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",5676"end": "\\)|(?=(?<!\\\\)\n)",5677"beginCaptures": {5678"1": {5679"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"5680},5681"2": {5682"patterns": [5683{5684"include": "source.cpp#inline_comment"5685}5686]5687},5688"3": {5689"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5690},5691"4": {5692"name": "comment.block.cpp"5693},5694"5": {5695"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5696},5697"6": {5698"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"5699}5700},5701"endCaptures": {5702"0": {5703"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"5704}5705},5706"contentName": "meta.arguments.operator.sizeof",5707"patterns": [5708{5709"include": "#evaluation_context"5710}5711]5712},5713{5714"begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",5715"end": "\\)|(?=(?<!\\\\)\n)",5716"beginCaptures": {5717"1": {5718"name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"5719},5720"2": {5721"patterns": [5722{5723"include": "source.cpp#inline_comment"5724}5725]5726},5727"3": {5728"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5729},5730"4": {5731"name": "comment.block.cpp"5732},5733"5": {5734"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5735},5736"6": {5737"name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"5738}5739},5740"endCaptures": {5741"0": {5742"name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"5743}5744},5745"contentName": "meta.arguments.operator.alignof",5746"patterns": [5747{5748"include": "#evaluation_context"5749}5750]5751},5752{5753"begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",5754"end": "\\)|(?=(?<!\\\\)\n)",5755"beginCaptures": {5756"1": {5757"name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"5758},5759"2": {5760"patterns": [5761{5762"include": "source.cpp#inline_comment"5763}5764]5765},5766"3": {5767"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5768},5769"4": {5770"name": "comment.block.cpp"5771},5772"5": {5773"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5774},5775"6": {5776"name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"5777}5778},5779"endCaptures": {5780"0": {5781"name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"5782}5783},5784"contentName": "meta.arguments.operator.alignas",5785"patterns": [5786{5787"include": "#evaluation_context"5788}5789]5790},5791{5792"begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",5793"end": "\\)|(?=(?<!\\\\)\n)",5794"beginCaptures": {5795"1": {5796"name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"5797},5798"2": {5799"patterns": [5800{5801"include": "source.cpp#inline_comment"5802}5803]5804},5805"3": {5806"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5807},5808"4": {5809"name": "comment.block.cpp"5810},5811"5": {5812"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5813},5814"6": {5815"name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"5816}5817},5818"endCaptures": {5819"0": {5820"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"5821}5822},5823"contentName": "meta.arguments.operator.typeid",5824"patterns": [5825{5826"include": "#evaluation_context"5827}5828]5829},5830{5831"begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",5832"end": "\\)|(?=(?<!\\\\)\n)",5833"beginCaptures": {5834"1": {5835"name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"5836},5837"2": {5838"patterns": [5839{5840"include": "source.cpp#inline_comment"5841}5842]5843},5844"3": {5845"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5846},5847"4": {5848"name": "comment.block.cpp"5849},5850"5": {5851"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5852},5853"6": {5854"name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"5855}5856},5857"endCaptures": {5858"0": {5859"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"5860}5861},5862"contentName": "meta.arguments.operator.noexcept",5863"patterns": [5864{5865"include": "#evaluation_context"5866}5867]5868},5869{5870"begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",5871"end": "\\)|(?=(?<!\\\\)\n)",5872"beginCaptures": {5873"1": {5874"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"5875},5876"2": {5877"patterns": [5878{5879"include": "source.cpp#inline_comment"5880}5881]5882},5883"3": {5884"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5885},5886"4": {5887"name": "comment.block.cpp"5888},5889"5": {5890"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5891},5892"6": {5893"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"5894}5895},5896"endCaptures": {5897"0": {5898"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"5899}5900},5901"contentName": "meta.arguments.operator.sizeof.variadic",5902"patterns": [5903{5904"include": "#evaluation_context"5905}5906]5907},5908{5909"match": "--",5910"name": "keyword.operator.decrement.cpp"5911},5912{5913"match": "\\+\\+",5914"name": "keyword.operator.increment.cpp"5915},5916{5917"match": "%=|\\+=|-=|\\*=|(?<!\\()\\/=",5918"name": "keyword.operator.assignment.compound.cpp"5919},5920{5921"match": "&=|\\^=|<<=|>>=|\\|=",5922"name": "keyword.operator.assignment.compound.bitwise.cpp"5923},5924{5925"match": "<<|>>",5926"name": "keyword.operator.bitwise.shift.cpp"5927},5928{5929"match": "!=|<=|>=|==|<|>",5930"name": "keyword.operator.comparison.cpp"5931},5932{5933"match": "&&|!|\\|\\|",5934"name": "keyword.operator.logical.cpp"5935},5936{5937"match": "&|\\||\\^|~",5938"name": "keyword.operator.bitwise.cpp"5939},5940{5941"include": "source.cpp#assignment_operator"5942},5943{5944"match": "%|\\*|\\/|-|\\+",5945"name": "keyword.operator.arithmetic.cpp"5946},5947{5948"include": "#ternary_operator"5949}5950]5951},5952"parameter": {5953"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)",5954"end": "(?:(?=\\))|(,))|(?=(?<!\\\\)\n)",5955"beginCaptures": {5956"1": {5957"patterns": [5958{5959"include": "source.cpp#inline_comment"5960}5961]5962},5963"2": {5964"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"5965},5966"3": {5967"name": "comment.block.cpp"5968},5969"4": {5970"name": "comment.block.cpp punctuation.definition.comment.end.cpp"5971}5972},5973"endCaptures": {5974"1": {5975"name": "punctuation.separator.delimiter.comma.cpp"5976}5977},5978"name": "meta.parameter.cpp",5979"patterns": [5980{5981"include": "#ever_present_context"5982},5983{5984"include": "#string_context"5985},5986{5987"include": "#function_pointer_parameter"5988},5989{5990"include": "#decltype"5991},5992{5993"include": "source.cpp#vararg_ellipses"5994},5995{5996"match": "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\Wthread_local|^thread_local|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=,|\\)|=)",5997"captures": {5998"1": {5999"patterns": [6000{6001"include": "#storage_types"6002}6003]6004},6005"2": {6006"name": "storage.modifier.specifier.parameter.cpp"6007},6008"3": {6009"patterns": [6010{6011"include": "source.cpp#inline_comment"6012}6013]6014},6015"4": {6016"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6017},6018"5": {6019"name": "comment.block.cpp"6020},6021"6": {6022"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6023},6024"7": {6025"patterns": [6026{6027"include": "source.cpp#inline_comment"6028}6029]6030},6031"8": {6032"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6033},6034"9": {6035"name": "comment.block.cpp"6036},6037"10": {6038"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6039},6040"11": {6041"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"6042},6043"12": {6044"name": "storage.type.cpp storage.type.built-in.cpp"6045},6046"13": {6047"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"6048},6049"14": {6050"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"6051},6052"15": {6053"name": "entity.name.type.parameter.cpp"6054},6055"16": {6056"patterns": [6057{6058"include": "source.cpp#inline_comment"6059}6060]6061},6062"17": {6063"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6064},6065"18": {6066"name": "comment.block.cpp"6067},6068"19": {6069"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6070}6071}6072},6073{6074"include": "#storage_types"6075},6076{6077"include": "source.cpp#scope_resolution_parameter_inner_generated"6078},6079{6080"match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",6081"name": "storage.type.$0.cpp"6082},6083{6084"begin": "(?<==)",6085"end": "(?:(?=\\))|(,))|(?=(?<!\\\\)\n)",6086"beginCaptures": {},6087"endCaptures": {6088"1": {6089"name": "punctuation.separator.delimiter.comma.cpp"6090}6091},6092"patterns": [6093{6094"include": "#evaluation_context"6095}6096]6097},6098{6099"match": "\\=",6100"name": "keyword.operator.assignment.cpp"6101},6102{6103"match": "(?<!\\s|\\(|,|:)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\)|,|\\[|=|\\n)",6104"captures": {6105"1": {6106"patterns": [6107{6108"include": "source.cpp#inline_comment"6109}6110]6111},6112"2": {6113"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6114},6115"3": {6116"name": "comment.block.cpp"6117},6118"4": {6119"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6120},6121"5": {6122"name": "variable.parameter.cpp"6123},6124"6": {6125"patterns": [6126{6127"include": "source.cpp#inline_comment"6128}6129]6130},6131"7": {6132"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6133},6134"8": {6135"name": "comment.block.cpp"6136},6137"9": {6138"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6139}6140}6141},6142{6143"include": "#attributes_context"6144},6145{6146"begin": "\\[",6147"end": "\\]|(?=(?<!\\\\)\n)",6148"beginCaptures": {6149"0": {6150"name": "punctuation.definition.begin.bracket.square.array.type.cpp"6151}6152},6153"endCaptures": {6154"0": {6155"name": "punctuation.definition.end.bracket.square.array.type.cpp"6156}6157},6158"name": "meta.bracket.square.array.cpp",6159"patterns": [6160{6161"include": "#evaluation_context"6162}6163]6164},6165{6166"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)",6167"name": "entity.name.type.parameter.cpp"6168},6169{6170"include": "#template_call_range"6171},6172{6173"match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)",6174"captures": {6175"0": {6176"patterns": [6177{6178"match": "\\*",6179"name": "storage.modifier.pointer.cpp"6180},6181{6182"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",6183"captures": {6184"1": {6185"patterns": [6186{6187"include": "source.cpp#inline_comment"6188}6189]6190},6191"2": {6192"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6193},6194"3": {6195"name": "comment.block.cpp"6196},6197"4": {6198"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6199}6200},6201"name": "invalid.illegal.reference-type.cpp"6202},6203{6204"match": "\\&",6205"name": "storage.modifier.reference.cpp"6206}6207]6208},6209"1": {6210"patterns": [6211{6212"include": "source.cpp#inline_comment"6213}6214]6215},6216"2": {6217"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6218},6219"3": {6220"name": "comment.block.cpp"6221},6222"4": {6223"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6224},6225"5": {6226"patterns": [6227{6228"include": "source.cpp#inline_comment"6229}6230]6231},6232"6": {6233"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6234},6235"7": {6236"name": "comment.block.cpp"6237},6238"8": {6239"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6240}6241}6242},6243{6244"include": "#ever_present_context"6245}6246]6247},6248"parameter_or_maybe_value": {6249"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)",6250"end": "(?:(?=\\))|(,))|(?=(?<!\\\\)\n)",6251"beginCaptures": {6252"1": {6253"patterns": [6254{6255"include": "source.cpp#inline_comment"6256}6257]6258},6259"2": {6260"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6261},6262"3": {6263"name": "comment.block.cpp"6264},6265"4": {6266"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6267}6268},6269"endCaptures": {6270"1": {6271"name": "punctuation.separator.delimiter.comma.cpp"6272}6273},6274"name": "meta.parameter.cpp",6275"patterns": [6276{6277"include": "#ever_present_context"6278},6279{6280"include": "#function_pointer_parameter"6281},6282{6283"include": "source.cpp#memory_operators"6284},6285{6286"include": "#builtin_storage_type_initilizer"6287},6288{6289"include": "#curly_initializer"6290},6291{6292"include": "#decltype"6293},6294{6295"include": "source.cpp#vararg_ellipses"6296},6297{6298"match": "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\Wthread_local|^thread_local|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=,|\\)|=)",6299"captures": {6300"1": {6301"patterns": [6302{6303"include": "#storage_types"6304}6305]6306},6307"2": {6308"name": "storage.modifier.specifier.parameter.cpp"6309},6310"3": {6311"patterns": [6312{6313"include": "source.cpp#inline_comment"6314}6315]6316},6317"4": {6318"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6319},6320"5": {6321"name": "comment.block.cpp"6322},6323"6": {6324"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6325},6326"7": {6327"patterns": [6328{6329"include": "source.cpp#inline_comment"6330}6331]6332},6333"8": {6334"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6335},6336"9": {6337"name": "comment.block.cpp"6338},6339"10": {6340"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6341},6342"11": {6343"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"6344},6345"12": {6346"name": "storage.type.cpp storage.type.built-in.cpp"6347},6348"13": {6349"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"6350},6351"14": {6352"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"6353},6354"15": {6355"name": "entity.name.type.parameter.cpp"6356},6357"16": {6358"patterns": [6359{6360"include": "source.cpp#inline_comment"6361}6362]6363},6364"17": {6365"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6366},6367"18": {6368"name": "comment.block.cpp"6369},6370"19": {6371"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6372}6373}6374},6375{6376"include": "#storage_types"6377},6378{6379"include": "#function_call"6380},6381{6382"include": "source.cpp#scope_resolution_parameter_inner_generated"6383},6384{6385"match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",6386"name": "storage.type.$0.cpp"6387},6388{6389"begin": "(?<==)",6390"end": "(?:(?=\\))|(,))|(?=(?<!\\\\)\n)",6391"beginCaptures": {},6392"endCaptures": {6393"1": {6394"name": "punctuation.separator.delimiter.comma.cpp"6395}6396},6397"patterns": [6398{6399"include": "#evaluation_context"6400}6401]6402},6403{6404"match": "(?<!\\s|\\(|,|:)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=(?:\\)|,|\\[|=|\\/\\/|(?:\\n|$)))",6405"captures": {6406"1": {6407"patterns": [6408{6409"include": "source.cpp#inline_comment"6410}6411]6412},6413"2": {6414"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6415},6416"3": {6417"name": "comment.block.cpp"6418},6419"4": {6420"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6421},6422"5": {6423"name": "variable.parameter.cpp"6424},6425"6": {6426"patterns": [6427{6428"include": "source.cpp#inline_comment"6429}6430]6431},6432"7": {6433"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6434},6435"8": {6436"name": "comment.block.cpp"6437},6438"9": {6439"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6440}6441}6442},6443{6444"include": "#attributes_context"6445},6446{6447"begin": "\\[",6448"end": "\\]|(?=(?<!\\\\)\n)",6449"beginCaptures": {6450"0": {6451"name": "punctuation.definition.begin.bracket.square.array.type.cpp"6452}6453},6454"endCaptures": {6455"0": {6456"name": "punctuation.definition.end.bracket.square.array.type.cpp"6457}6458},6459"name": "meta.bracket.square.array.cpp",6460"patterns": [6461{6462"include": "#evaluation_context"6463}6464]6465},6466{6467"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)",6468"name": "entity.name.type.parameter.cpp"6469},6470{6471"include": "#template_call_range"6472},6473{6474"match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)",6475"captures": {6476"0": {6477"patterns": [6478{6479"match": "\\*",6480"name": "storage.modifier.pointer.cpp"6481},6482{6483"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",6484"captures": {6485"1": {6486"patterns": [6487{6488"include": "source.cpp#inline_comment"6489}6490]6491},6492"2": {6493"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6494},6495"3": {6496"name": "comment.block.cpp"6497},6498"4": {6499"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6500}6501},6502"name": "invalid.illegal.reference-type.cpp"6503},6504{6505"match": "\\&",6506"name": "storage.modifier.reference.cpp"6507}6508]6509},6510"1": {6511"patterns": [6512{6513"include": "source.cpp#inline_comment"6514}6515]6516},6517"2": {6518"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6519},6520"3": {6521"name": "comment.block.cpp"6522},6523"4": {6524"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6525},6526"5": {6527"patterns": [6528{6529"include": "source.cpp#inline_comment"6530}6531]6532},6533"6": {6534"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6535},6536"7": {6537"name": "comment.block.cpp"6538},6539"8": {6540"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6541}6542}6543},6544{6545"include": "#evaluation_context"6546},6547{6548"include": "#ever_present_context"6549}6550]6551},6552"parentheses": {6553"begin": "\\(",6554"end": "\\)|(?=(?<!\\\\)\n)",6555"beginCaptures": {6556"0": {6557"name": "punctuation.section.parens.begin.bracket.round.cpp"6558}6559},6560"endCaptures": {6561"0": {6562"name": "punctuation.section.parens.end.bracket.round.cpp"6563}6564},6565"name": "meta.parens.cpp",6566"patterns": [6567{6568"include": "source.cpp#over_qualified_types"6569},6570{6571"match": "(?<!:):(?!:)",6572"name": "punctuation.separator.colon.range-based.cpp"6573},6574{6575"include": "#evaluation_context"6576}6577]6578},6579"pragma": {6580"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?pragma\\b",6581"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",6582"beginCaptures": {6583"0": {6584"name": "keyword.control.directive.pragma.cpp"6585},6586"1": {6587"patterns": [6588{6589"include": "source.cpp#inline_comment"6590}6591]6592},6593"2": {6594"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6595},6596"3": {6597"name": "comment.block.cpp"6598},6599"4": {6600"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6601},6602"5": {6603"name": "punctuation.definition.directive.cpp"6604}6605},6606"endCaptures": {},6607"name": "meta.preprocessor.pragma.cpp",6608"patterns": [6609{6610"include": "#comments"6611},6612{6613"include": "#string_context"6614},6615{6616"match": "[a-zA-Z_$][\\w\\-$]*",6617"name": "entity.other.attribute-name.pragma.preprocessor.cpp"6618},6619{6620"include": "#preprocessor_number_literal"6621},6622{6623"include": "source.cpp#line_continuation_character"6624}6625]6626},6627"preprocessor_conditional_context": {6628"patterns": [6629{6630"include": "#preprocessor_conditional_defined"6631},6632{6633"include": "#comments"6634},6635{6636"include": "source.cpp#language_constants"6637},6638{6639"include": "#string_context"6640},6641{6642"include": "source.cpp#d9bc4796b0b_preprocessor_number_literal"6643},6644{6645"include": "#operators"6646},6647{6648"include": "source.cpp#predefined_macros"6649},6650{6651"include": "source.cpp#macro_name"6652},6653{6654"include": "source.cpp#line_continuation_character"6655}6656]6657},6658"preprocessor_conditional_defined": {6659"begin": "((?<!\\w)defined(?!\\w))(\\()",6660"end": "(?:\\)|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))|(?=(?<!\\\\)\n)",6661"beginCaptures": {6662"1": {6663"name": "keyword.control.directive.conditional.defined.cpp"6664},6665"2": {6666"name": "punctuation.section.parens.control.defined.cpp"6667}6668},6669"endCaptures": {6670"0": {6671"name": "punctuation.section.parens.control.defined.cpp"6672}6673},6674"patterns": [6675{6676"include": "source.cpp#macro_name"6677}6678]6679},6680"preprocessor_conditional_parentheses": {6681"begin": "\\(",6682"end": "\\)|(?=(?<!\\\\)\n)",6683"beginCaptures": {6684"0": {6685"name": "punctuation.section.parens.begin.bracket.round.cpp"6686}6687},6688"endCaptures": {6689"0": {6690"name": "punctuation.section.parens.end.bracket.round.cpp"6691}6692},6693"name": "meta.parens.preprocessor.conditional.cpp"6694},6695"preprocessor_conditional_range": {6696"begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:(?:ifndef|ifdef)|if))",6697"end": "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)\n)",6698"beginCaptures": {6699"0": {6700"name": "keyword.control.directive.conditional.$6.cpp"6701},6702"1": {6703"patterns": [6704{6705"include": "source.cpp#inline_comment"6706}6707]6708},6709"2": {6710"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6711},6712"3": {6713"name": "comment.block.cpp"6714},6715"4": {6716"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6717},6718"5": {6719"name": "punctuation.definition.directive.cpp"6720},6721"6": {}6722},6723"endCaptures": {},6724"contentName": "meta.preprocessor.conditional",6725"patterns": [6726{6727"include": "#preprocessor_conditional_context"6728}6729]6730},6731"preprocessor_context": {6732"patterns": [6733{6734"include": "source.cpp#pragma_mark"6735},6736{6737"include": "#pragma"6738},6739{6740"include": "source.cpp#include"6741},6742{6743"include": "#line"6744},6745{6746"include": "#diagnostic"6747},6748{6749"include": "source.cpp#undef"6750},6751{6752"include": "#preprocessor_conditional_range"6753},6754{6755"include": "source.cpp#single_line_macro"6756},6757{6758"include": "#macro"6759},6760{6761"include": "source.cpp#preprocessor_conditional_standalone"6762},6763{6764"include": "source.cpp#macro_argument"6765}6766]6767},6768"sizeof_operator": {6769"begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",6770"end": "\\)|(?=(?<!\\\\)\n)",6771"beginCaptures": {6772"1": {6773"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"6774},6775"2": {6776"patterns": [6777{6778"include": "source.cpp#inline_comment"6779}6780]6781},6782"3": {6783"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6784},6785"4": {6786"name": "comment.block.cpp"6787},6788"5": {6789"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6790},6791"6": {6792"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"6793}6794},6795"endCaptures": {6796"0": {6797"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"6798}6799},6800"contentName": "meta.arguments.operator.sizeof",6801"patterns": [6802{6803"include": "#evaluation_context"6804}6805]6806},6807"sizeof_variadic_operator": {6808"begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",6809"end": "\\)|(?=(?<!\\\\)\n)",6810"beginCaptures": {6811"1": {6812"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"6813},6814"2": {6815"patterns": [6816{6817"include": "source.cpp#inline_comment"6818}6819]6820},6821"3": {6822"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6823},6824"4": {6825"name": "comment.block.cpp"6826},6827"5": {6828"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6829},6830"6": {6831"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"6832}6833},6834"endCaptures": {6835"0": {6836"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"6837}6838},6839"contentName": "meta.arguments.operator.sizeof.variadic",6840"patterns": [6841{6842"include": "#evaluation_context"6843}6844]6845},6846"square_brackets": {6847"name": "meta.bracket.square.access",6848"begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",6849"beginCaptures": {6850"1": {6851"name": "variable.other.object"6852},6853"2": {6854"name": "punctuation.definition.begin.bracket.square"6855}6856},6857"end": "\\]|(?=(?<!\\\\)\n)",6858"endCaptures": {6859"0": {6860"name": "punctuation.definition.end.bracket.square"6861}6862},6863"patterns": [6864{6865"include": "#evaluation_context"6866}6867]6868},6869"static_assert": {6870"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)static_assert|_Static_assert(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",6871"end": "\\)|(?=(?<!\\\\)\n)",6872"beginCaptures": {6873"1": {6874"patterns": [6875{6876"include": "source.cpp#inline_comment"6877}6878]6879},6880"2": {6881"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6882},6883"3": {6884"name": "comment.block.cpp"6885},6886"4": {6887"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6888},6889"5": {6890"name": "keyword.other.static_assert.cpp"6891},6892"6": {6893"patterns": [6894{6895"include": "source.cpp#inline_comment"6896}6897]6898},6899"7": {6900"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"6901},6902"8": {6903"name": "comment.block.cpp"6904},6905"9": {6906"name": "comment.block.cpp punctuation.definition.comment.end.cpp"6907},6908"10": {6909"name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp"6910}6911},6912"endCaptures": {6913"0": {6914"name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp"6915}6916},6917"patterns": [6918{6919"begin": "(,)(?:\\s+)?(?=(?:L|u8|u|U(?:\\s+)?\\\")?)",6920"end": "(?=\\))|(?=(?<!\\\\)\n)",6921"beginCaptures": {6922"1": {6923"name": "punctuation.separator.delimiter.comma.cpp"6924}6925},6926"endCaptures": {},6927"name": "meta.static_assert.message.cpp",6928"patterns": [6929{6930"include": "#string_context"6931}6932]6933},6934{6935"include": "#evaluation_context"6936}6937]6938},6939"storage_types": {6940"patterns": [6941{6942"include": "source.cpp#storage_specifiers"6943},6944{6945"include": "source.cpp#inline_builtin_storage_type"6946},6947{6948"include": "#decltype"6949},6950{6951"include": "source.cpp#typename"6952}6953]6954},6955"string_context": {6956"patterns": [6957{6958"begin": "((?:u|u8|U|L)?)\"",6959"end": "(\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\\\)\n)",6960"beginCaptures": {6961"0": {6962"name": "punctuation.definition.string.begin.cpp"6963},6964"1": {6965"name": "meta.encoding.cpp"6966}6967},6968"endCaptures": {6969"1": {6970"name": "punctuation.definition.string.end.cpp"6971},6972"2": {6973"name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp"6974},6975"3": {6976"name": "keyword.other.suffix.literal.user-defined.string.cpp"6977}6978},6979"name": "string.quoted.double.cpp",6980"patterns": [6981{6982"match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})",6983"name": "constant.character.escape.cpp"6984},6985{6986"match": "\\\\['\"?\\\\abfnrtv]",6987"name": "constant.character.escape.cpp"6988},6989{6990"match": "\\\\[0-7]{1,3}",6991"name": "constant.character.escape.cpp"6992},6993{6994"match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",6995"captures": {6996"1": {6997"name": "constant.character.escape.cpp"6998},6999"2": {7000"name": "invalid.illegal.unknown-escape.cpp"7001}7002}7003},7004{7005"include": "source.cpp#string_escapes_context_c"7006}7007]7008},7009{7010"begin": "(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'",7011"end": "(')(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\\\)\n)",7012"beginCaptures": {7013"0": {7014"name": "punctuation.definition.string.begin.cpp"7015},7016"1": {7017"name": "meta.encoding.cpp"7018}7019},7020"endCaptures": {7021"1": {7022"name": "punctuation.definition.string.end.cpp"7023},7024"2": {7025"name": "keyword.other.suffix.literal.user-defined.reserved.character.cpp"7026},7027"3": {7028"name": "keyword.other.suffix.literal.user-defined.character.cpp"7029}7030},7031"name": "string.quoted.single.cpp",7032"patterns": [7033{7034"match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",7035"captures": {7036"1": {7037"name": "constant.character.escape.cpp"7038},7039"2": {7040"name": "invalid.illegal.unknown-escape.cpp"7041}7042}7043},7044{7045"include": "source.cpp#string_escapes_context_c"7046},7047{7048"include": "source.cpp#line_continuation_character"7049}7050]7051},7052{7053"begin": "((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\(",7054"end": "\\)(?:(?:_r|re)|regex)\\\"|(?=(?<!\\\\)\n)",7055"beginCaptures": {7056"0": {7057"name": "punctuation.definition.string.begin.cpp"7058},7059"1": {7060"name": "meta.encoding.cpp"7061}7062},7063"endCaptures": {7064"0": {7065"name": "punctuation.definition.string.end.cpp"7066}7067},7068"name": "string.quoted.double.raw.regex.cpp",7069"patterns": [7070{7071"include": "source.regexp.python"7072}7073]7074},7075{7076"begin": "((?:[uUL]8?)?R)\\\"(?:glsl|GLSL)\\(",7077"end": "\\)(?:glsl|GLSL)\\\"|(?=(?<!\\\\)\n)",7078"beginCaptures": {7079"0": {7080"name": "punctuation.definition.string.begin.cpp"7081},7082"1": {7083"name": "meta.encoding.cpp"7084}7085},7086"endCaptures": {7087"0": {7088"name": "punctuation.definition.string.end.cpp"7089}7090},7091"name": "meta.string.quoted.double.raw.glsl.cpp",7092"patterns": [7093{7094"include": "source.glsl"7095}7096]7097},7098{7099"begin": "((?:[uUL]8?)?R)\\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(",7100"end": "\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\\"|(?=(?<!\\\\)\n)",7101"beginCaptures": {7102"0": {7103"name": "punctuation.definition.string.begin.cpp"7104},7105"1": {7106"name": "meta.encoding.cpp"7107}7108},7109"endCaptures": {7110"0": {7111"name": "punctuation.definition.string.end.cpp"7112}7113},7114"name": "meta.string.quoted.double.raw.sql.cpp",7115"patterns": [7116{7117"include": "source.sql"7118}7119]7120},7121{7122"begin": "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(",7123"beginCaptures": {7124"0": {7125"name": "punctuation.definition.string.begin"7126},7127"1": {7128"name": "meta.encoding"7129},7130"3": {7131"name": "invalid.illegal.delimiter-too-long"7132}7133},7134"end": "(\\)\\2(\\3)\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\\\)\n)",7135"endCaptures": {7136"1": {7137"name": "punctuation.definition.string.end"7138},7139"2": {7140"name": "invalid.illegal.delimiter-too-long"7141},7142"3": {7143"name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp"7144},7145"4": {7146"name": "keyword.other.suffix.literal.user-defined.string.cpp"7147}7148},7149"name": "string.quoted.double.raw"7150}7151]7152},7153"struct_block": {7154"begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",7155"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",7156"beginCaptures": {7157"0": {7158"name": "meta.head.struct.cpp"7159},7160"1": {7161"name": "storage.type.$1.cpp"7162},7163"2": {7164"patterns": [7165{7166"include": "source.cpp#inline_comment"7167}7168]7169},7170"3": {7171"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7172},7173"4": {7174"name": "comment.block.cpp"7175},7176"5": {7177"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7178},7179"6": {7180"patterns": [7181{7182"include": "#attributes_context"7183},7184{7185"include": "source.cpp#number_literal"7186}7187]7188},7189"7": {7190"patterns": [7191{7192"include": "source.cpp#inline_comment"7193}7194]7195},7196"8": {7197"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7198},7199"9": {7200"name": "comment.block.cpp"7201},7202"10": {7203"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7204},7205"11": {7206"patterns": [7207{7208"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",7209"captures": {7210"1": {7211"name": "storage.type.modifier.final.cpp"7212},7213"2": {7214"patterns": [7215{7216"include": "source.cpp#inline_comment"7217}7218]7219},7220"3": {7221"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7222},7223"4": {7224"name": "comment.block.cpp"7225},7226"5": {7227"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7228}7229}7230},7231{7232"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",7233"captures": {7234"1": {7235"name": "entity.name.type.struct.cpp"7236},7237"2": {7238"patterns": [7239{7240"include": "source.cpp#inline_comment"7241}7242]7243},7244"3": {7245"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7246},7247"4": {7248"name": "comment.block.cpp"7249},7250"5": {7251"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7252},7253"6": {7254"name": "storage.type.modifier.final.cpp"7255},7256"7": {7257"patterns": [7258{7259"include": "source.cpp#inline_comment"7260}7261]7262},7263"8": {7264"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7265},7266"9": {7267"name": "comment.block.cpp"7268},7269"10": {7270"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7271}7272}7273},7274{7275"match": "DLLEXPORT",7276"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"7277},7278{7279"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}))*",7280"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"7281}7282]7283},7284"12": {7285"patterns": [7286{7287"include": "source.cpp#inline_comment"7288}7289]7290},7291"13": {7292"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7293},7294"14": {7295"name": "comment.block.cpp"7296},7297"15": {7298"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7299},7300"16": {7301"patterns": [7302{7303"include": "source.cpp#inline_comment"7304}7305]7306},7307"17": {7308"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7309},7310"18": {7311"name": "comment.block.cpp"7312},7313"19": {7314"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7315},7316"20": {7317"name": "punctuation.separator.colon.inheritance.cpp"7318}7319},7320"endCaptures": {7321"1": {7322"name": "punctuation.terminator.statement.cpp"7323},7324"2": {7325"name": "punctuation.terminator.statement.cpp"7326}7327},7328"name": "meta.block.struct.cpp",7329"patterns": [7330{7331"begin": "\\G ?",7332"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",7333"beginCaptures": {},7334"endCaptures": {7335"0": {7336"name": "punctuation.section.block.begin.bracket.curly.struct.cpp"7337}7338},7339"name": "meta.head.struct.cpp",7340"patterns": [7341{7342"include": "#ever_present_context"7343},7344{7345"include": "#inheritance_context"7346},7347{7348"include": "#template_call_range"7349}7350]7351},7352{7353"begin": "(?<=\\{|<%|\\?\\?<)",7354"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",7355"beginCaptures": {},7356"endCaptures": {7357"0": {7358"name": "punctuation.section.block.end.bracket.curly.struct.cpp"7359}7360},7361"name": "meta.body.struct.cpp",7362"patterns": [7363{7364"include": "#function_pointer"7365},7366{7367"include": "#static_assert"7368},7369{7370"include": "#constructor_inline"7371},7372{7373"include": "#destructor_inline"7374},7375{7376"include": "$self"7377}7378]7379},7380{7381"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",7382"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",7383"beginCaptures": {},7384"endCaptures": {},7385"name": "meta.tail.struct.cpp",7386"patterns": [7387{7388"include": "$self"7389}7390]7391}7392]7393},7394"switch_conditional_parentheses": {7395"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",7396"end": "\\)|(?=(?<!\\\\)\n)",7397"beginCaptures": {7398"1": {7399"patterns": [7400{7401"include": "source.cpp#inline_comment"7402}7403]7404},7405"2": {7406"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7407},7408"3": {7409"name": "comment.block.cpp"7410},7411"4": {7412"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7413},7414"5": {7415"name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"7416}7417},7418"endCaptures": {7419"0": {7420"name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp"7421}7422},7423"name": "meta.conditional.switch.cpp",7424"patterns": [7425{7426"include": "#evaluation_context"7427}7428]7429},7430"switch_statement": {7431"begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)switch(?!\\w))",7432"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",7433"beginCaptures": {7434"0": {7435"name": "meta.head.switch.cpp"7436},7437"1": {7438"patterns": [7439{7440"include": "source.cpp#inline_comment"7441}7442]7443},7444"2": {7445"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7446},7447"3": {7448"name": "comment.block.cpp"7449},7450"4": {7451"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7452},7453"5": {7454"name": "keyword.control.switch.cpp"7455}7456},7457"endCaptures": {},7458"name": "meta.block.switch.cpp",7459"patterns": [7460{7461"begin": "\\G ?",7462"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",7463"beginCaptures": {},7464"endCaptures": {7465"0": {7466"name": "punctuation.section.block.begin.bracket.curly.switch.cpp"7467}7468},7469"name": "meta.head.switch.cpp",7470"patterns": [7471{7472"include": "#switch_conditional_parentheses"7473},7474{7475"include": "$self"7476}7477]7478},7479{7480"begin": "(?<=\\{|<%|\\?\\?<)",7481"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",7482"beginCaptures": {},7483"endCaptures": {7484"0": {7485"name": "punctuation.section.block.end.bracket.curly.switch.cpp"7486}7487},7488"name": "meta.body.switch.cpp",7489"patterns": [7490{7491"include": "#default_statement"7492},7493{7494"include": "#case_statement"7495},7496{7497"include": "$self"7498}7499]7500},7501{7502"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",7503"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",7504"beginCaptures": {},7505"endCaptures": {},7506"name": "meta.tail.switch.cpp",7507"patterns": [7508{7509"include": "$self"7510}7511]7512}7513]7514},7515"template_call_context": {7516"patterns": [7517{7518"include": "#ever_present_context"7519},7520{7521"include": "#template_call_range"7522},7523{7524"include": "#storage_types"7525},7526{7527"include": "source.cpp#language_constants"7528},7529{7530"include": "source.cpp#scope_resolution_template_call_inner_generated"7531},7532{7533"include": "#operators"7534},7535{7536"include": "source.cpp#number_literal"7537},7538{7539"include": "#string_context"7540},7541{7542"include": "source.cpp#comma_in_template_argument"7543},7544{7545"include": "source.cpp#qualified_type"7546}7547]7548},7549"template_call_range": {7550"begin": "<",7551"end": ">|(?=(?<!\\\\)\n)",7552"beginCaptures": {7553"0": {7554"name": "punctuation.section.angle-brackets.begin.template.call.cpp"7555}7556},7557"endCaptures": {7558"0": {7559"name": "punctuation.section.angle-brackets.end.template.call.cpp"7560}7561},7562"name": "meta.template.call.cpp",7563"patterns": [7564{7565"include": "#template_call_context"7566}7567]7568},7569"template_definition": {7570"begin": "(?<!\\w)(template)(?:\\s+)?(<)",7571"end": ">|(?=(?<!\\\\)\n)",7572"beginCaptures": {7573"1": {7574"name": "storage.type.template.cpp"7575},7576"2": {7577"name": "punctuation.section.angle-brackets.begin.template.definition.cpp"7578}7579},7580"endCaptures": {7581"0": {7582"name": "punctuation.section.angle-brackets.end.template.definition.cpp"7583}7584},7585"name": "meta.template.definition.cpp",7586"patterns": [7587{7588"begin": "(?<=\\w)(?:\\s+)?<",7589"end": ">|(?=(?<!\\\\)\n)",7590"beginCaptures": {7591"0": {7592"name": "punctuation.section.angle-brackets.begin.template.call.cpp"7593}7594},7595"endCaptures": {7596"0": {7597"name": "punctuation.section.angle-brackets.end.template.call.cpp"7598}7599},7600"patterns": [7601{7602"include": "#template_call_context"7603}7604]7605},7606{7607"include": "#template_definition_context"7608}7609]7610},7611"template_definition_context": {7612"patterns": [7613{7614"include": "source.cpp#scope_resolution_template_definition_inner_generated"7615},7616{7617"include": "source.cpp#template_definition_argument"7618},7619{7620"include": "source.cpp#template_argument_defaulted"7621},7622{7623"include": "source.cpp#template_call_innards"7624},7625{7626"include": "#evaluation_context"7627}7628]7629},7630"ternary_operator": {7631"begin": "\\?",7632"end": ":|(?=(?<!\\\\)\n)",7633"beginCaptures": {7634"0": {7635"name": "keyword.operator.ternary.cpp"7636}7637},7638"endCaptures": {7639"0": {7640"name": "keyword.operator.ternary.cpp"7641}7642},7643"patterns": [7644{7645"include": "#ever_present_context"7646},7647{7648"include": "#string_context"7649},7650{7651"include": "source.cpp#number_literal"7652},7653{7654"include": "#method_access"7655},7656{7657"include": "source.cpp#member_access"7658},7659{7660"include": "source.cpp#predefined_macros"7661},7662{7663"include": "#operators"7664},7665{7666"include": "source.cpp#memory_operators"7667},7668{7669"include": "source.cpp#wordlike_operators"7670},7671{7672"include": "source.cpp#type_casting_operators"7673},7674{7675"include": "source.cpp#control_flow_keywords"7676},7677{7678"include": "source.cpp#exception_keywords"7679},7680{7681"include": "source.cpp#the_this_keyword"7682},7683{7684"include": "source.cpp#language_constants"7685},7686{7687"include": "#builtin_storage_type_initilizer"7688},7689{7690"include": "source.cpp#qualifiers_and_specifiers_post_parameters"7691},7692{7693"include": "source.cpp#functional_specifiers_pre_parameters"7694},7695{7696"include": "#storage_types"7697},7698{7699"include": "#lambdas"7700},7701{7702"include": "#attributes_context"7703},7704{7705"include": "#parentheses"7706},7707{7708"include": "#function_call"7709},7710{7711"include": "source.cpp#scope_resolution_inner_generated"7712},7713{7714"include": "#square_brackets"7715},7716{7717"include": "source.cpp#semicolon"7718},7719{7720"include": "source.cpp#comma"7721}7722],7723"applyEndPatternLast": 17724},7725"typedef_class": {7726"begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)class(?!\\w))",7727"end": "(?<=;)|(?=(?<!\\\\)\n)",7728"beginCaptures": {7729"1": {7730"name": "keyword.other.typedef.cpp"7731}7732},7733"endCaptures": {},7734"patterns": [7735{7736"begin": "((?<!\\w)class(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",7737"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",7738"beginCaptures": {7739"0": {7740"name": "meta.head.class.cpp"7741},7742"1": {7743"name": "storage.type.$1.cpp"7744},7745"2": {7746"patterns": [7747{7748"include": "source.cpp#inline_comment"7749}7750]7751},7752"3": {7753"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7754},7755"4": {7756"name": "comment.block.cpp"7757},7758"5": {7759"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7760},7761"6": {7762"patterns": [7763{7764"include": "#attributes_context"7765},7766{7767"include": "source.cpp#number_literal"7768}7769]7770},7771"7": {7772"patterns": [7773{7774"include": "source.cpp#inline_comment"7775}7776]7777},7778"8": {7779"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7780},7781"9": {7782"name": "comment.block.cpp"7783},7784"10": {7785"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7786},7787"11": {7788"patterns": [7789{7790"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",7791"captures": {7792"1": {7793"name": "storage.type.modifier.final.cpp"7794},7795"2": {7796"patterns": [7797{7798"include": "source.cpp#inline_comment"7799}7800]7801},7802"3": {7803"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7804},7805"4": {7806"name": "comment.block.cpp"7807},7808"5": {7809"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7810}7811}7812},7813{7814"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",7815"captures": {7816"1": {7817"name": "entity.name.type.class.cpp"7818},7819"2": {7820"patterns": [7821{7822"include": "source.cpp#inline_comment"7823}7824]7825},7826"3": {7827"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7828},7829"4": {7830"name": "comment.block.cpp"7831},7832"5": {7833"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7834},7835"6": {7836"name": "storage.type.modifier.final.cpp"7837},7838"7": {7839"patterns": [7840{7841"include": "source.cpp#inline_comment"7842}7843]7844},7845"8": {7846"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7847},7848"9": {7849"name": "comment.block.cpp"7850},7851"10": {7852"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7853}7854}7855},7856{7857"match": "DLLEXPORT",7858"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"7859},7860{7861"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}))*",7862"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"7863}7864]7865},7866"12": {7867"patterns": [7868{7869"include": "source.cpp#inline_comment"7870}7871]7872},7873"13": {7874"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7875},7876"14": {7877"name": "comment.block.cpp"7878},7879"15": {7880"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7881},7882"16": {7883"patterns": [7884{7885"include": "source.cpp#inline_comment"7886}7887]7888},7889"17": {7890"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7891},7892"18": {7893"name": "comment.block.cpp"7894},7895"19": {7896"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7897},7898"20": {7899"name": "punctuation.separator.colon.inheritance.cpp"7900}7901},7902"endCaptures": {7903"1": {7904"name": "punctuation.terminator.statement.cpp"7905},7906"2": {7907"name": "punctuation.terminator.statement.cpp"7908}7909},7910"name": "meta.block.class.cpp",7911"patterns": [7912{7913"begin": "\\G ?",7914"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",7915"beginCaptures": {},7916"endCaptures": {7917"0": {7918"name": "punctuation.section.block.begin.bracket.curly.class.cpp"7919}7920},7921"name": "meta.head.class.cpp",7922"patterns": [7923{7924"include": "#ever_present_context"7925},7926{7927"include": "#inheritance_context"7928},7929{7930"include": "#template_call_range"7931}7932]7933},7934{7935"begin": "(?<=\\{|<%|\\?\\?<)",7936"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",7937"beginCaptures": {},7938"endCaptures": {7939"0": {7940"name": "punctuation.section.block.end.bracket.curly.class.cpp"7941}7942},7943"name": "meta.body.class.cpp",7944"patterns": [7945{7946"include": "#function_pointer"7947},7948{7949"include": "#static_assert"7950},7951{7952"include": "#constructor_inline"7953},7954{7955"include": "#destructor_inline"7956},7957{7958"include": "$self"7959}7960]7961},7962{7963"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",7964"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",7965"beginCaptures": {},7966"endCaptures": {},7967"name": "meta.tail.class.cpp",7968"patterns": [7969{7970"match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",7971"captures": {7972"1": {7973"patterns": [7974{7975"match": "\\*",7976"name": "storage.modifier.pointer.cpp"7977},7978{7979"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",7980"captures": {7981"1": {7982"patterns": [7983{7984"include": "source.cpp#inline_comment"7985}7986]7987},7988"2": {7989"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"7990},7991"3": {7992"name": "comment.block.cpp"7993},7994"4": {7995"name": "comment.block.cpp punctuation.definition.comment.end.cpp"7996}7997},7998"name": "invalid.illegal.reference-type.cpp"7999},8000{8001"match": "\\&",8002"name": "storage.modifier.reference.cpp"8003}8004]8005},8006"2": {8007"patterns": [8008{8009"include": "source.cpp#inline_comment"8010}8011]8012},8013"3": {8014"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8015},8016"4": {8017"name": "comment.block.cpp"8018},8019"5": {8020"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8021},8022"6": {8023"patterns": [8024{8025"include": "source.cpp#inline_comment"8026}8027]8028},8029"7": {8030"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8031},8032"8": {8033"name": "comment.block.cpp"8034},8035"9": {8036"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8037},8038"10": {8039"patterns": [8040{8041"include": "source.cpp#inline_comment"8042}8043]8044},8045"11": {8046"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8047},8048"12": {8049"name": "comment.block.cpp"8050},8051"13": {8052"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8053},8054"14": {8055"name": "entity.name.type.alias.cpp"8056}8057}8058},8059{8060"match": ","8061}8062]8063}8064]8065}8066]8067},8068"typedef_function_pointer": {8069"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*\\))",8070"end": "(?<=;)|(?=(?<!\\\\)\n)",8071"beginCaptures": {8072"1": {8073"name": "keyword.other.typedef.cpp"8074}8075},8076"endCaptures": {},8077"patterns": [8078{8079"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()",8080"end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?<!\\\\)\n)",8081"beginCaptures": {8082"1": {8083"name": "meta.qualified_type.cpp",8084"patterns": [8085{8086"match": "::",8087"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"8088},8089{8090"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",8091"name": "storage.type.$0.cpp"8092},8093{8094"include": "#attributes_context"8095},8096{8097"include": "#storage_types"8098},8099{8100"include": "source.cpp#number_literal"8101},8102{8103"include": "#string_context"8104},8105{8106"include": "source.cpp#comma"8107},8108{8109"include": "source.cpp#scope_resolution_inner_generated"8110},8111{8112"begin": "<",8113"end": ">|(?=(?<!\\\\)\n)",8114"beginCaptures": {8115"0": {8116"name": "punctuation.section.angle-brackets.begin.template.call.cpp"8117}8118},8119"endCaptures": {8120"0": {8121"name": "punctuation.section.angle-brackets.end.template.call.cpp"8122}8123},8124"name": "meta.template.call.cpp",8125"patterns": [8126{8127"include": "#template_call_context"8128}8129]8130},8131{8132"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}))*",8133"name": "entity.name.type.cpp"8134}8135]8136},8137"2": {8138"patterns": [8139{8140"include": "#attributes_context"8141},8142{8143"include": "source.cpp#number_literal"8144}8145]8146},8147"3": {8148"patterns": [8149{8150"include": "source.cpp#inline_comment"8151}8152]8153},8154"4": {8155"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8156},8157"5": {8158"name": "comment.block.cpp"8159},8160"6": {8161"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8162},8163"7": {8164"patterns": [8165{8166"include": "source.cpp#inline_comment"8167}8168]8169},8170"8": {8171"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8172},8173"9": {8174"name": "comment.block.cpp"8175},8176"10": {8177"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8178},8179"11": {8180"patterns": [8181{8182"match": "::",8183"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"8184},8185{8186"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)",8187"name": "entity.name.scope-resolution.type.cpp"8188},8189{8190"include": "#template_call_range"8191}8192]8193},8194"12": {8195"patterns": [8196{8197"include": "#template_call_range"8198}8199]8200},8201"13": {},8202"14": {8203"patterns": [8204{8205"include": "source.cpp#inline_comment"8206}8207]8208},8209"15": {8210"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8211},8212"16": {8213"name": "comment.block.cpp"8214},8215"17": {8216"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8217},8218"18": {},8219"19": {8220"patterns": [8221{8222"match": "\\*",8223"name": "storage.modifier.pointer.cpp"8224},8225{8226"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",8227"captures": {8228"1": {8229"patterns": [8230{8231"include": "source.cpp#inline_comment"8232}8233]8234},8235"2": {8236"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8237},8238"3": {8239"name": "comment.block.cpp"8240},8241"4": {8242"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8243}8244},8245"name": "invalid.illegal.reference-type.cpp"8246},8247{8248"match": "\\&",8249"name": "storage.modifier.reference.cpp"8250}8251]8252},8253"20": {8254"patterns": [8255{8256"include": "source.cpp#inline_comment"8257}8258]8259},8260"21": {8261"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8262},8263"22": {8264"name": "comment.block.cpp"8265},8266"23": {8267"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8268},8269"24": {8270"patterns": [8271{8272"include": "source.cpp#inline_comment"8273}8274]8275},8276"25": {8277"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8278},8279"26": {8280"name": "comment.block.cpp"8281},8282"27": {8283"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8284},8285"28": {8286"patterns": [8287{8288"include": "source.cpp#inline_comment"8289}8290]8291},8292"29": {8293"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8294},8295"30": {8296"name": "comment.block.cpp"8297},8298"31": {8299"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8300},8301"32": {8302"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"8303},8304"33": {8305"name": "punctuation.definition.function.pointer.dereference.cpp"8306},8307"34": {8308"name": "entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"8309},8310"35": {8311"name": "punctuation.definition.begin.bracket.square.cpp"8312},8313"36": {8314"patterns": [8315{8316"include": "#evaluation_context"8317}8318]8319},8320"37": {8321"name": "punctuation.definition.end.bracket.square.cpp"8322},8323"38": {8324"name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"8325},8326"39": {8327"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"8328}8329},8330"endCaptures": {8331"1": {8332"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"8333},8334"2": {8335"patterns": [8336{8337"include": "source.cpp#inline_comment"8338}8339]8340},8341"3": {8342"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8343},8344"4": {8345"name": "comment.block.cpp"8346},8347"5": {8348"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8349}8350},8351"patterns": [8352{8353"include": "#function_parameter_context"8354}8355]8356}8357]8358},8359"typedef_struct": {8360"begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)struct(?!\\w))",8361"end": "(?<=;)|(?=(?<!\\\\)\n)",8362"beginCaptures": {8363"1": {8364"name": "keyword.other.typedef.cpp"8365}8366},8367"endCaptures": {},8368"patterns": [8369{8370"begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",8371"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",8372"beginCaptures": {8373"0": {8374"name": "meta.head.struct.cpp"8375},8376"1": {8377"name": "storage.type.$1.cpp"8378},8379"2": {8380"patterns": [8381{8382"include": "source.cpp#inline_comment"8383}8384]8385},8386"3": {8387"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8388},8389"4": {8390"name": "comment.block.cpp"8391},8392"5": {8393"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8394},8395"6": {8396"patterns": [8397{8398"include": "#attributes_context"8399},8400{8401"include": "source.cpp#number_literal"8402}8403]8404},8405"7": {8406"patterns": [8407{8408"include": "source.cpp#inline_comment"8409}8410]8411},8412"8": {8413"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8414},8415"9": {8416"name": "comment.block.cpp"8417},8418"10": {8419"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8420},8421"11": {8422"patterns": [8423{8424"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",8425"captures": {8426"1": {8427"name": "storage.type.modifier.final.cpp"8428},8429"2": {8430"patterns": [8431{8432"include": "source.cpp#inline_comment"8433}8434]8435},8436"3": {8437"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8438},8439"4": {8440"name": "comment.block.cpp"8441},8442"5": {8443"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8444}8445}8446},8447{8448"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",8449"captures": {8450"1": {8451"name": "entity.name.type.struct.cpp"8452},8453"2": {8454"patterns": [8455{8456"include": "source.cpp#inline_comment"8457}8458]8459},8460"3": {8461"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8462},8463"4": {8464"name": "comment.block.cpp"8465},8466"5": {8467"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8468},8469"6": {8470"name": "storage.type.modifier.final.cpp"8471},8472"7": {8473"patterns": [8474{8475"include": "source.cpp#inline_comment"8476}8477]8478},8479"8": {8480"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8481},8482"9": {8483"name": "comment.block.cpp"8484},8485"10": {8486"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8487}8488}8489},8490{8491"match": "DLLEXPORT",8492"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"8493},8494{8495"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}))*",8496"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"8497}8498]8499},8500"12": {8501"patterns": [8502{8503"include": "source.cpp#inline_comment"8504}8505]8506},8507"13": {8508"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8509},8510"14": {8511"name": "comment.block.cpp"8512},8513"15": {8514"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8515},8516"16": {8517"patterns": [8518{8519"include": "source.cpp#inline_comment"8520}8521]8522},8523"17": {8524"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8525},8526"18": {8527"name": "comment.block.cpp"8528},8529"19": {8530"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8531},8532"20": {8533"name": "punctuation.separator.colon.inheritance.cpp"8534}8535},8536"endCaptures": {8537"1": {8538"name": "punctuation.terminator.statement.cpp"8539},8540"2": {8541"name": "punctuation.terminator.statement.cpp"8542}8543},8544"name": "meta.block.struct.cpp",8545"patterns": [8546{8547"begin": "\\G ?",8548"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",8549"beginCaptures": {},8550"endCaptures": {8551"0": {8552"name": "punctuation.section.block.begin.bracket.curly.struct.cpp"8553}8554},8555"name": "meta.head.struct.cpp",8556"patterns": [8557{8558"include": "#ever_present_context"8559},8560{8561"include": "#inheritance_context"8562},8563{8564"include": "#template_call_range"8565}8566]8567},8568{8569"begin": "(?<=\\{|<%|\\?\\?<)",8570"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",8571"beginCaptures": {},8572"endCaptures": {8573"0": {8574"name": "punctuation.section.block.end.bracket.curly.struct.cpp"8575}8576},8577"name": "meta.body.struct.cpp",8578"patterns": [8579{8580"include": "#function_pointer"8581},8582{8583"include": "#static_assert"8584},8585{8586"include": "#constructor_inline"8587},8588{8589"include": "#destructor_inline"8590},8591{8592"include": "$self"8593}8594]8595},8596{8597"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",8598"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",8599"beginCaptures": {},8600"endCaptures": {},8601"name": "meta.tail.struct.cpp",8602"patterns": [8603{8604"match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",8605"captures": {8606"1": {8607"patterns": [8608{8609"match": "\\*",8610"name": "storage.modifier.pointer.cpp"8611},8612{8613"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",8614"captures": {8615"1": {8616"patterns": [8617{8618"include": "source.cpp#inline_comment"8619}8620]8621},8622"2": {8623"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8624},8625"3": {8626"name": "comment.block.cpp"8627},8628"4": {8629"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8630}8631},8632"name": "invalid.illegal.reference-type.cpp"8633},8634{8635"match": "\\&",8636"name": "storage.modifier.reference.cpp"8637}8638]8639},8640"2": {8641"patterns": [8642{8643"include": "source.cpp#inline_comment"8644}8645]8646},8647"3": {8648"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8649},8650"4": {8651"name": "comment.block.cpp"8652},8653"5": {8654"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8655},8656"6": {8657"patterns": [8658{8659"include": "source.cpp#inline_comment"8660}8661]8662},8663"7": {8664"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8665},8666"8": {8667"name": "comment.block.cpp"8668},8669"9": {8670"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8671},8672"10": {8673"patterns": [8674{8675"include": "source.cpp#inline_comment"8676}8677]8678},8679"11": {8680"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8681},8682"12": {8683"name": "comment.block.cpp"8684},8685"13": {8686"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8687},8688"14": {8689"name": "entity.name.type.alias.cpp"8690}8691}8692},8693{8694"match": ","8695}8696]8697}8698]8699}8700]8701},8702"typedef_union": {8703"begin": "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)union(?!\\w))",8704"end": "(?<=;)|(?=(?<!\\\\)\n)",8705"beginCaptures": {8706"1": {8707"name": "keyword.other.typedef.cpp"8708}8709},8710"endCaptures": {},8711"patterns": [8712{8713"begin": "((?<!\\w)union(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",8714"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",8715"beginCaptures": {8716"0": {8717"name": "meta.head.union.cpp"8718},8719"1": {8720"name": "storage.type.$1.cpp"8721},8722"2": {8723"patterns": [8724{8725"include": "source.cpp#inline_comment"8726}8727]8728},8729"3": {8730"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8731},8732"4": {8733"name": "comment.block.cpp"8734},8735"5": {8736"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8737},8738"6": {8739"patterns": [8740{8741"include": "#attributes_context"8742},8743{8744"include": "source.cpp#number_literal"8745}8746]8747},8748"7": {8749"patterns": [8750{8751"include": "source.cpp#inline_comment"8752}8753]8754},8755"8": {8756"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8757},8758"9": {8759"name": "comment.block.cpp"8760},8761"10": {8762"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8763},8764"11": {8765"patterns": [8766{8767"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",8768"captures": {8769"1": {8770"name": "storage.type.modifier.final.cpp"8771},8772"2": {8773"patterns": [8774{8775"include": "source.cpp#inline_comment"8776}8777]8778},8779"3": {8780"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8781},8782"4": {8783"name": "comment.block.cpp"8784},8785"5": {8786"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8787}8788}8789},8790{8791"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",8792"captures": {8793"1": {8794"name": "entity.name.type.union.cpp"8795},8796"2": {8797"patterns": [8798{8799"include": "source.cpp#inline_comment"8800}8801]8802},8803"3": {8804"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8805},8806"4": {8807"name": "comment.block.cpp"8808},8809"5": {8810"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8811},8812"6": {8813"name": "storage.type.modifier.final.cpp"8814},8815"7": {8816"patterns": [8817{8818"include": "source.cpp#inline_comment"8819}8820]8821},8822"8": {8823"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8824},8825"9": {8826"name": "comment.block.cpp"8827},8828"10": {8829"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8830}8831}8832},8833{8834"match": "DLLEXPORT",8835"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"8836},8837{8838"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}))*",8839"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"8840}8841]8842},8843"12": {8844"patterns": [8845{8846"include": "source.cpp#inline_comment"8847}8848]8849},8850"13": {8851"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8852},8853"14": {8854"name": "comment.block.cpp"8855},8856"15": {8857"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8858},8859"16": {8860"patterns": [8861{8862"include": "source.cpp#inline_comment"8863}8864]8865},8866"17": {8867"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8868},8869"18": {8870"name": "comment.block.cpp"8871},8872"19": {8873"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8874},8875"20": {8876"name": "punctuation.separator.colon.inheritance.cpp"8877}8878},8879"endCaptures": {8880"1": {8881"name": "punctuation.terminator.statement.cpp"8882},8883"2": {8884"name": "punctuation.terminator.statement.cpp"8885}8886},8887"name": "meta.block.union.cpp",8888"patterns": [8889{8890"begin": "\\G ?",8891"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",8892"beginCaptures": {},8893"endCaptures": {8894"0": {8895"name": "punctuation.section.block.begin.bracket.curly.union.cpp"8896}8897},8898"name": "meta.head.union.cpp",8899"patterns": [8900{8901"include": "#ever_present_context"8902},8903{8904"include": "#inheritance_context"8905},8906{8907"include": "#template_call_range"8908}8909]8910},8911{8912"begin": "(?<=\\{|<%|\\?\\?<)",8913"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",8914"beginCaptures": {},8915"endCaptures": {8916"0": {8917"name": "punctuation.section.block.end.bracket.curly.union.cpp"8918}8919},8920"name": "meta.body.union.cpp",8921"patterns": [8922{8923"include": "#function_pointer"8924},8925{8926"include": "#static_assert"8927},8928{8929"include": "#constructor_inline"8930},8931{8932"include": "#destructor_inline"8933},8934{8935"include": "$self"8936}8937]8938},8939{8940"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",8941"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",8942"beginCaptures": {},8943"endCaptures": {},8944"name": "meta.tail.union.cpp",8945"patterns": [8946{8947"match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",8948"captures": {8949"1": {8950"patterns": [8951{8952"match": "\\*",8953"name": "storage.modifier.pointer.cpp"8954},8955{8956"match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&",8957"captures": {8958"1": {8959"patterns": [8960{8961"include": "source.cpp#inline_comment"8962}8963]8964},8965"2": {8966"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8967},8968"3": {8969"name": "comment.block.cpp"8970},8971"4": {8972"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8973}8974},8975"name": "invalid.illegal.reference-type.cpp"8976},8977{8978"match": "\\&",8979"name": "storage.modifier.reference.cpp"8980}8981]8982},8983"2": {8984"patterns": [8985{8986"include": "source.cpp#inline_comment"8987}8988]8989},8990"3": {8991"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"8992},8993"4": {8994"name": "comment.block.cpp"8995},8996"5": {8997"name": "comment.block.cpp punctuation.definition.comment.end.cpp"8998},8999"6": {9000"patterns": [9001{9002"include": "source.cpp#inline_comment"9003}9004]9005},9006"7": {9007"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"9008},9009"8": {9010"name": "comment.block.cpp"9011},9012"9": {9013"name": "comment.block.cpp punctuation.definition.comment.end.cpp"9014},9015"10": {9016"patterns": [9017{9018"include": "source.cpp#inline_comment"9019}9020]9021},9022"11": {9023"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"9024},9025"12": {9026"name": "comment.block.cpp"9027},9028"13": {9029"name": "comment.block.cpp punctuation.definition.comment.end.cpp"9030},9031"14": {9032"name": "entity.name.type.alias.cpp"9033}9034}9035},9036{9037"match": ","9038}9039]9040}9041]9042}9043]9044},9045"typeid_operator": {9046"begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()",9047"end": "\\)|(?=(?<!\\\\)\n)",9048"beginCaptures": {9049"1": {9050"name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"9051},9052"2": {9053"patterns": [9054{9055"include": "source.cpp#inline_comment"9056}9057]9058},9059"3": {9060"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"9061},9062"4": {9063"name": "comment.block.cpp"9064},9065"5": {9066"name": "comment.block.cpp punctuation.definition.comment.end.cpp"9067},9068"6": {9069"name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"9070}9071},9072"endCaptures": {9073"0": {9074"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"9075}9076},9077"contentName": "meta.arguments.operator.typeid",9078"patterns": [9079{9080"include": "#evaluation_context"9081}9082]9083},9084"union_block": {9085"begin": "((?<!\\w)union(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)",9086"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)\n)",9087"beginCaptures": {9088"0": {9089"name": "meta.head.union.cpp"9090},9091"1": {9092"name": "storage.type.$1.cpp"9093},9094"2": {9095"patterns": [9096{9097"include": "source.cpp#inline_comment"9098}9099]9100},9101"3": {9102"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"9103},9104"4": {9105"name": "comment.block.cpp"9106},9107"5": {9108"name": "comment.block.cpp punctuation.definition.comment.end.cpp"9109},9110"6": {9111"patterns": [9112{9113"include": "#attributes_context"9114},9115{9116"include": "source.cpp#number_literal"9117}9118]9119},9120"7": {9121"patterns": [9122{9123"include": "source.cpp#inline_comment"9124}9125]9126},9127"8": {9128"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"9129},9130"9": {9131"name": "comment.block.cpp"9132},9133"10": {9134"name": "comment.block.cpp punctuation.definition.comment.end.cpp"9135},9136"11": {9137"patterns": [9138{9139"match": "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))",9140"captures": {9141"1": {9142"name": "storage.type.modifier.final.cpp"9143},9144"2": {9145"patterns": [9146{9147"include": "source.cpp#inline_comment"9148}9149]9150},9151"3": {9152"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"9153},9154"4": {9155"name": "comment.block.cpp"9156},9157"5": {9158"name": "comment.block.cpp punctuation.definition.comment.end.cpp"9159}9160}9161},9162{9163"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)",9164"captures": {9165"1": {9166"name": "entity.name.type.union.cpp"9167},9168"2": {9169"patterns": [9170{9171"include": "source.cpp#inline_comment"9172}9173]9174},9175"3": {9176"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"9177},9178"4": {9179"name": "comment.block.cpp"9180},9181"5": {9182"name": "comment.block.cpp punctuation.definition.comment.end.cpp"9183},9184"6": {9185"name": "storage.type.modifier.final.cpp"9186},9187"7": {9188"patterns": [9189{9190"include": "source.cpp#inline_comment"9191}9192]9193},9194"8": {9195"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"9196},9197"9": {9198"name": "comment.block.cpp"9199},9200"10": {9201"name": "comment.block.cpp punctuation.definition.comment.end.cpp"9202}9203}9204},9205{9206"match": "DLLEXPORT",9207"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"9208},9209{9210"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}))*",9211"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"9212}9213]9214},9215"12": {9216"patterns": [9217{9218"include": "source.cpp#inline_comment"9219}9220]9221},9222"13": {9223"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"9224},9225"14": {9226"name": "comment.block.cpp"9227},9228"15": {9229"name": "comment.block.cpp punctuation.definition.comment.end.cpp"9230},9231"16": {9232"patterns": [9233{9234"include": "source.cpp#inline_comment"9235}9236]9237},9238"17": {9239"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"9240},9241"18": {9242"name": "comment.block.cpp"9243},9244"19": {9245"name": "comment.block.cpp punctuation.definition.comment.end.cpp"9246},9247"20": {9248"name": "punctuation.separator.colon.inheritance.cpp"9249}9250},9251"endCaptures": {9252"1": {9253"name": "punctuation.terminator.statement.cpp"9254},9255"2": {9256"name": "punctuation.terminator.statement.cpp"9257}9258},9259"name": "meta.block.union.cpp",9260"patterns": [9261{9262"begin": "\\G ?",9263"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\n)",9264"beginCaptures": {},9265"endCaptures": {9266"0": {9267"name": "punctuation.section.block.begin.bracket.curly.union.cpp"9268}9269},9270"name": "meta.head.union.cpp",9271"patterns": [9272{9273"include": "#ever_present_context"9274},9275{9276"include": "#inheritance_context"9277},9278{9279"include": "#template_call_range"9280}9281]9282},9283{9284"begin": "(?<=\\{|<%|\\?\\?<)",9285"end": "\\}|%>|\\?\\?>|(?=(?<!\\\\)\n)",9286"beginCaptures": {},9287"endCaptures": {9288"0": {9289"name": "punctuation.section.block.end.bracket.curly.union.cpp"9290}9291},9292"name": "meta.body.union.cpp",9293"patterns": [9294{9295"include": "#function_pointer"9296},9297{9298"include": "#static_assert"9299},9300{9301"include": "#constructor_inline"9302},9303{9304"include": "#destructor_inline"9305},9306{9307"include": "$self"9308}9309]9310},9311{9312"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",9313"end": "[\\s]*(?=;)|(?=(?<!\\\\)\n)",9314"beginCaptures": {},9315"endCaptures": {},9316"name": "meta.tail.union.cpp",9317"patterns": [9318{9319"include": "$self"9320}9321]9322}9323]9324},9325"using_namespace": {9326"begin": "(?<!\\w)(using)\\s+(namespace)\\s+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:\"(?:[^\"]*|\\\\\")\")|(?:'(?:[^']*|\\\\')')|\\g<6>|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?=;|\\n)",9327"end": ";|(?=(?<!\\\\)\n)",9328"beginCaptures": {9329"1": {9330"name": "keyword.other.using.directive.cpp"9331},9332"2": {9333"name": "keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"9334},9335"3": {9336"patterns": [9337{9338"include": "source.cpp#scope_resolution_namespace_using_inner_generated"9339}9340]9341},9342"4": {9343"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"9344},9345"5": {9346"patterns": [9347{9348"include": "#template_call_range"9349}9350]9351},9352"6": {},9353"7": {9354"name": "entity.name.namespace.cpp"9355}9356},9357"endCaptures": {9358"0": {9359"name": "punctuation.terminator.statement.cpp"9360}9361},9362"name": "meta.using-namespace.cpp"9363}9364}9365}93669367