diff --git a/bundles/org.eclipse.cdt.lsp/build.properties b/bundles/org.eclipse.cdt.lsp/build.properties
index 9f3e3bd4..77ad5498 100644
--- a/bundles/org.eclipse.cdt.lsp/build.properties
+++ b/bundles/org.eclipse.cdt.lsp/build.properties
@@ -16,5 +16,4 @@ bin.includes = .,\
META-INF/,\
plugin.xml,\
icons/,\
- language-configurations/,\
OSGI-INF/
\ No newline at end of file
diff --git a/bundles/org.eclipse.cdt.lsp/language-configurations/c.tmLanguage.json b/bundles/org.eclipse.cdt.lsp/language-configurations/c.tmLanguage.json
deleted file mode 100644
index 00703900..00000000
--- a/bundles/org.eclipse.cdt.lsp/language-configurations/c.tmLanguage.json
+++ /dev/null
@@ -1,3339 +0,0 @@
-{
- "information_for_contributors": [
- "This file has been converted from https://github.com/jeff-hykin/cpp-textmate-grammar/blob/master/syntaxes/c.tmLanguage.json",
- "If you want to provide a fix or improvement, please create a pull request against the original repository.",
- "Once accepted there, we are happy to receive an update request."
- ],
- "version": "https://github.com/jeff-hykin/cpp-textmate-grammar/commit/0ef79f098ed80ce5a86be4ed40f99ebcdbac4895",
- "name": "C",
- "scopeName": "c-grammar",
- "patterns": [
- {
- "include": "#preprocessor-rule-enabled"
- },
- {
- "include": "#preprocessor-rule-disabled"
- },
- {
- "include": "#preprocessor-rule-conditional"
- },
- {
- "include": "#predefined_macros"
- },
- {
- "include": "#comments"
- },
- {
- "include": "#switch_statement"
- },
- {
- "match": "\\b(break|continue|do|else|for|goto|if|_Pragma|return|while)\\b",
- "name": "keyword.control.c"
- },
- {
- "include": "#storage_types"
- },
- {
- "match": "typedef",
- "name": "keyword.other.typedef.c"
- },
- {
- "match": "\\b(const|extern|register|restrict|static|volatile|inline)\\b",
- "name": "storage.modifier.c"
- },
- {
- "match": "\\bk[A-Z]\\w*\\b",
- "name": "constant.other.variable.mac-classic.c"
- },
- {
- "match": "\\bg[A-Z]\\w*\\b",
- "name": "variable.other.readwrite.global.mac-classic.c"
- },
- {
- "match": "\\bs[A-Z]\\w*\\b",
- "name": "variable.other.readwrite.static.mac-classic.c"
- },
- {
- "match": "\\b(NULL|true|false|TRUE|FALSE)\\b",
- "name": "constant.language.c"
- },
- {
- "include": "#operators"
- },
- {
- "include": "#numbers"
- },
- {
- "include": "#strings"
- },
- {
- "name": "meta.preprocessor.macro.c",
- "begin": "((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((#)\\s*define\\b)\\s+((?",
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.string.end.c"
- }
- },
- "name": "string.quoted.other.lt-gt.include.c"
- }
- ]
- },
- {
- "include": "#pragma-mark"
- },
- {
- "begin": "^\\s*((#)\\s*line)\\b",
- "beginCaptures": {
- "1": {
- "name": "keyword.control.directive.line.c"
- },
- "2": {
- "name": "punctuation.definition.directive.c"
- }
- },
- "end": "(?=(?://|/\\*))|(?))((?:(?:[a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(?:\\.)|(?:->)))*)\\s*([a-zA-Z_][a-zA-Z_0-9]*)(\\()",
- "beginCaptures": {
- "1": {
- "name": "variable.object.c"
- },
- "2": {
- "name": "punctuation.separator.dot-access.c"
- },
- "3": {
- "name": "punctuation.separator.pointer-access.c"
- },
- "4": {
- "patterns": [
- {
- "match": "\\.",
- "name": "punctuation.separator.dot-access.c"
- },
- {
- "match": "->",
- "name": "punctuation.separator.pointer-access.c"
- },
- {
- "match": "[a-zA-Z_][a-zA-Z_0-9]*",
- "name": "variable.object.c"
- },
- {
- "name": "everything.else.c",
- "match": ".+"
- }
- ]
- },
- "5": {
- "name": "entity.name.function.member.c"
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.function.member.c"
- }
- },
- "end": "\\)",
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.function.member.c"
- }
- },
- "patterns": [
- {
- "include": "#function-call-innards"
- }
- ]
- },
- "backslash_escapes": {
- "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
- "name": "constant.character.escape.c"
- },
- "block": {
- "patterns": [
- {
- "begin": "{",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.c"
- }
- },
- "end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.c"
- }
- },
- "name": "meta.block.c",
- "patterns": [
- {
- "include": "#block_innards"
- }
- ]
- }
- ]
- },
- "block_innards": {
- "patterns": [
- {
- "include": "#preprocessor-rule-enabled-block"
- },
- {
- "include": "#preprocessor-rule-disabled-block"
- },
- {
- "include": "#preprocessor-rule-conditional-block"
- },
- {
- "include": "#method_access"
- },
- {
- "include": "#member_access"
- },
- {
- "include": "#c_function_call"
- },
- {
- "name": "meta.initialization.c",
- "begin": "(?x)\n(?:\n (?:\n\t(?=\\s)(?=+!]+ | \\(\\) | \\[\\]))\n)\n\\s*(\\() # opening bracket",
- "beginCaptures": {
- "1": {
- "name": "variable.other.c"
- },
- "2": {
- "name": "punctuation.section.parens.begin.bracket.round.initialization.c"
- }
- },
- "end": "\\)",
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parens.end.bracket.round.initialization.c"
- }
- },
- "patterns": [
- {
- "include": "#function-call-innards"
- }
- ]
- },
- {
- "begin": "{",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.c"
- }
- },
- "end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.c"
- }
- },
- "patterns": [
- {
- "include": "#block_innards"
- }
- ]
- },
- {
- "include": "#parens-block"
- },
- {
- "include": "$base"
- }
- ]
- },
- "c_conditional_context": {
- "patterns": [
- {
- "include": "$self"
- },
- {
- "include": "#block_innards"
- }
- ]
- },
- "c_function_call": {
- "begin": "(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(?=\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++\\s*\\( # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\\s*\\(\n)",
- "end": "(?<=\\))(?!\\w)",
- "name": "meta.function-call.c",
- "patterns": [
- {
- "include": "#function-call-innards"
- }
- ]
- },
- "case_statement": {
- "name": "meta.conditional.case.c",
- "begin": "((?>(?:(?:(?>(?(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?\\s*)(\\/\\/[!\\/]+)",
- "beginCaptures": {
- "1": {
- "name": "punctuation.definition.comment.documentation.c"
- }
- },
- "end": "(?<=\\n)(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.c"
- },
- "2": {
- "name": "markup.italic.doxygen.c"
- }
- }
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.c"
- },
- "2": {
- "name": "markup.bold.doxygen.c"
- }
- }
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.c"
- },
- "2": {
- "name": "markup.inline.raw.string.c"
- }
- }
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.c"
- },
- "2": {
- "patterns": [
- {
- "match": "in|out",
- "name": "keyword.other.parameter.direction.$0.c"
- }
- ]
- },
- "3": {
- "name": "variable.parameter.c"
- }
- }
- },
- {
- "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|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
- "name": "storage.type.class.gtkdoc"
- }
- ]
- },
- {
- "match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
- "captures": {
- "1": {
- "name": "punctuation.definition.comment.begin.documentation.c"
- },
- "2": {
- "patterns": [
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.c"
- },
- "2": {
- "name": "markup.italic.doxygen.c"
- }
- }
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.c"
- },
- "2": {
- "name": "markup.bold.doxygen.c"
- }
- }
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.c"
- },
- "2": {
- "name": "markup.inline.raw.string.c"
- }
- }
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.c"
- },
- "2": {
- "patterns": [
- {
- "match": "in|out",
- "name": "keyword.other.parameter.direction.$0.c"
- }
- ]
- },
- "3": {
- "name": "variable.parameter.c"
- }
- }
- },
- {
- "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|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
- "name": "storage.type.class.gtkdoc"
- }
- ]
- },
- "3": {
- "name": "punctuation.definition.comment.end.documentation.c"
- }
- },
- "name": "comment.block.documentation.c"
- },
- {
- "name": "comment.block.documentation.c",
- "begin": "((?>\\s*)\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s)))",
- "beginCaptures": {
- "1": {
- "name": "punctuation.definition.comment.begin.documentation.c"
- }
- },
- "end": "([!*]*\\*\\/)",
- "endCaptures": {
- "1": {
- "name": "punctuation.definition.comment.end.documentation.c"
- }
- },
- "patterns": [
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.c"
- },
- "2": {
- "name": "markup.italic.doxygen.c"
- }
- }
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.c"
- },
- "2": {
- "name": "markup.bold.doxygen.c"
- }
- }
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.c"
- },
- "2": {
- "name": "markup.inline.raw.string.c"
- }
- }
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.c"
- },
- "2": {
- "patterns": [
- {
- "match": "in|out",
- "name": "keyword.other.parameter.direction.$0.c"
- }
- ]
- },
- "3": {
- "name": "variable.parameter.c"
- }
- }
- },
- {
- "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|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.c"
- },
- {
- "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
- "name": "storage.type.class.gtkdoc"
- }
- ]
- },
- {
- "match": "^\\/\\* =(\\s*.*?)\\s*= \\*\\/$\\n?",
- "captures": {
- "1": {
- "name": "meta.toc-list.banner.block.c"
- }
- },
- "name": "comment.block.banner.c"
- },
- {
- "name": "comment.block.c",
- "begin": "(\\/\\*)",
- "beginCaptures": {
- "1": {
- "name": "punctuation.definition.comment.begin.c"
- }
- },
- "end": "(\\*\\/)",
- "endCaptures": {
- "1": {
- "name": "punctuation.definition.comment.end.c"
- }
- }
- },
- {
- "match": "^\\/\\/ =(\\s*.*?)\\s*=$\\n?",
- "captures": {
- "1": {
- "name": "meta.toc-list.banner.line.c"
- }
- },
- "name": "comment.line.banner.c"
- },
- {
- "begin": "((?:^[ \\t]+)?)(?=\\/\\/)",
- "beginCaptures": {
- "1": {
- "name": "punctuation.whitespace.comment.leading.c"
- }
- },
- "end": "(?!\\G)",
- "patterns": [
- {
- "name": "comment.line.double-slash.c",
- "begin": "(\\/\\/)",
- "beginCaptures": {
- "1": {
- "name": "punctuation.definition.comment.c"
- }
- },
- "end": "(?=\\n)",
- "patterns": [
- {
- "include": "#line_continuation_character"
- }
- ]
- }
- ]
- }
- ]
- },
- "default_statement": {
- "name": "meta.conditional.case.c",
- "begin": "((?>(?:(?:(?>(?(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()",
- "beginCaptures": {
- "1": {
- "name": "entity.name.function.c"
- },
- "2": {
- "name": "punctuation.section.arguments.begin.bracket.round.c"
- }
- },
- "end": "\\)",
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.c"
- }
- },
- "patterns": [
- {
- "include": "#function-call-innards"
- }
- ]
- },
- {
- "begin": "\\(",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.parens.begin.bracket.round.c"
- }
- },
- "end": "\\)",
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parens.end.bracket.round.c"
- }
- },
- "patterns": [
- {
- "include": "#function-call-innards"
- }
- ]
- },
- {
- "include": "#block_innards"
- }
- ]
- },
- "function-innards": {
- "patterns": [
- {
- "include": "#comments"
- },
- {
- "include": "#storage_types"
- },
- {
- "include": "#operators"
- },
- {
- "include": "#vararg_ellipses"
- },
- {
- "name": "meta.function.definition.parameters.c",
- "begin": "(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()",
- "beginCaptures": {
- "1": {
- "name": "entity.name.function.c"
- },
- "2": {
- "name": "punctuation.section.parameters.begin.bracket.round.c"
- }
- },
- "end": "\\)",
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parameters.end.bracket.round.c"
- }
- },
- "patterns": [
- {
- "include": "#probably_a_parameter"
- },
- {
- "include": "#function-innards"
- }
- ]
- },
- {
- "begin": "\\(",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.parens.begin.bracket.round.c"
- }
- },
- "end": "\\)",
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parens.end.bracket.round.c"
- }
- },
- "patterns": [
- {
- "include": "#function-innards"
- }
- ]
- },
- {
- "include": "$base"
- }
- ]
- },
- "inline_comment": {
- "match": "(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/))",
- "captures": {
- "1": {
- "name": "comment.block.c punctuation.definition.comment.begin.c"
- },
- "2": {
- "name": "comment.block.c"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.c punctuation.definition.comment.end.c"
- },
- {
- "match": "\\*",
- "name": "comment.block.c"
- }
- ]
- }
- }
- },
- "line_continuation_character": {
- "patterns": [
- {
- "match": "(\\\\)\\n",
- "captures": {
- "1": {
- "name": "constant.character.escape.line-continuation.c"
- }
- }
- }
- ]
- },
- "member_access": {
- "match": "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:->\\*|->)))\\s*)*)\\s*(\\b(?!(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|atomic_uintptr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintmax_t|pthread_mutex_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_attr_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_cond_t|pthread_once_t|uint_fast64_t|uint_fast16_t|atomic_size_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|pthread_key_t|atomic_ullong|atomic_ushort|uint_fast32_t|atomic_schar|atomic_short|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast16_t|atomic_ulong|atomic_llong|int_least8_t|atomic_uchar|memory_order|suseconds_t|int_fast8_t|atomic_bool|atomic_char|atomic_uint|atomic_long|atomic_int|useconds_t|_Imaginary|blksize_t|pthread_t|in_addr_t|uintptr_t|in_port_t|uintmax_t|uintmax_t|blkcnt_t|uint16_t|unsigned|_Complex|uint32_t|intptr_t|intmax_t|intmax_t|uint64_t|u_quad_t|int64_t|int32_t|ssize_t|caddr_t|clock_t|uint8_t|u_short|swblk_t|segsz_t|int16_t|fixpt_t|daddr_t|nlink_t|qaddr_t|size_t|time_t|mode_t|signed|quad_t|ushort|u_long|u_char|double|int8_t|ino_t|uid_t|pid_t|_Bool|float|dev_t|div_t|short|gid_t|off_t|u_int|key_t|id_t|uint|long|void|char|bool|id_t|int)\\b)[a-zA-Z_]\\w*\\b(?!\\())",
- "captures": {
- "1": {
- "name": "variable.other.object.access.c"
- },
- "2": {
- "name": "punctuation.separator.dot-access.c"
- },
- "3": {
- "name": "punctuation.separator.pointer-access.c"
- },
- "4": {
- "patterns": [
- {
- "include": "#member_access"
- },
- {
- "include": "#method_access"
- },
- {
- "match": "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
- "captures": {
- "1": {
- "name": "variable.other.object.access.c"
- },
- "2": {
- "name": "punctuation.separator.dot-access.c"
- },
- "3": {
- "name": "punctuation.separator.pointer-access.c"
- }
- }
- }
- ]
- },
- "5": {
- "name": "variable.other.member.c"
- }
- }
- },
- "method_access": {
- "contentName": "meta.function-call.member.c",
- "begin": "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:->\\*|->)))\\s*)*)\\s*([a-zA-Z_]\\w*)(\\()",
- "beginCaptures": {
- "1": {
- "name": "variable.other.object.access.c"
- },
- "2": {
- "name": "punctuation.separator.dot-access.c"
- },
- "3": {
- "name": "punctuation.separator.pointer-access.c"
- },
- "4": {
- "patterns": [
- {
- "include": "#member_access"
- },
- {
- "include": "#method_access"
- },
- {
- "match": "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
- "captures": {
- "1": {
- "name": "variable.other.object.access.c"
- },
- "2": {
- "name": "punctuation.separator.dot-access.c"
- },
- "3": {
- "name": "punctuation.separator.pointer-access.c"
- }
- }
- }
- ]
- },
- "5": {
- "name": "entity.name.function.member.c"
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.function.member.c"
- }
- },
- "end": "(\\))",
- "endCaptures": {
- "1": {
- "name": "punctuation.section.arguments.end.bracket.round.function.member.c"
- }
- },
- "patterns": [
- {
- "include": "#function-call-innards"
- }
- ]
- },
- "numbers": {
- "match": "(?>=|\\|=",
- "name": "keyword.operator.assignment.compound.bitwise.c"
- },
- {
- "match": "<<|>>",
- "name": "keyword.operator.bitwise.shift.c"
- },
- {
- "match": "!=|<=|>=|==|<|>",
- "name": "keyword.operator.comparison.c"
- },
- {
- "match": "&&|!|\\|\\|",
- "name": "keyword.operator.logical.c"
- },
- {
- "match": "&|\\||\\^|~",
- "name": "keyword.operator.c"
- },
- {
- "match": "=",
- "name": "keyword.operator.assignment.c"
- },
- {
- "match": "%|\\*|/|-|\\+",
- "name": "keyword.operator.c"
- },
- {
- "begin": "(\\?)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.ternary.c"
- }
- },
- "end": "(:)",
- "endCaptures": {
- "1": {
- "name": "keyword.operator.ternary.c"
- }
- },
- "patterns": [
- {
- "include": "#function-call-innards"
- },
- {
- "include": "$base"
- }
- ]
- }
- ]
- },
- "parens": {
- "name": "meta.parens.c",
- "begin": "\\(",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.parens.begin.bracket.round.c"
- }
- },
- "end": "\\)",
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parens.end.bracket.round.c"
- }
- },
- "patterns": [
- {
- "include": "$base"
- }
- ]
- },
- "parens-block": {
- "name": "meta.parens.block.c",
- "begin": "\\(",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.parens.begin.bracket.round.c"
- }
- },
- "end": "\\)",
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parens.end.bracket.round.c"
- }
- },
- "patterns": [
- {
- "include": "#block_innards"
- },
- {
- "match": "(?-mix:(?=+!]+|\\(\\)|\\[\\]))\\s*\\(\n)",
- "end": "(?<=\\))(?!\\w)|(?=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()",
- "beginCaptures": {
- "1": {
- "name": "entity.name.function.c"
- },
- "2": {
- "name": "punctuation.section.arguments.begin.bracket.round.c"
- }
- },
- "end": "(\\))|(?\\]\\)]))\\s*([a-zA-Z_]\\w*)\\s*(?=(?:\\[\\]\\s*)?(?:,|\\)))",
- "captures": {
- "1": {
- "name": "variable.parameter.probably.c"
- }
- }
- },
- "static_assert": {
- "begin": "((?>(?:(?:(?>(?(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?(?:(?:(?>(?(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))(\\()",
- "beginCaptures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.c punctuation.definition.comment.begin.c"
- },
- "3": {
- "name": "comment.block.c"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.c punctuation.definition.comment.end.c"
- },
- {
- "match": "\\*",
- "name": "comment.block.c"
- }
- ]
- },
- "5": {
- "name": "keyword.other.static_assert.c"
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.c punctuation.definition.comment.begin.c"
- },
- "8": {
- "name": "comment.block.c"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.c punctuation.definition.comment.end.c"
- },
- {
- "match": "\\*",
- "name": "comment.block.c"
- }
- ]
- },
- "10": {
- "name": "punctuation.section.arguments.begin.bracket.round.static_assert.c"
- }
- },
- "end": "(\\))",
- "endCaptures": {
- "1": {
- "name": "punctuation.section.arguments.end.bracket.round.static_assert.c"
- }
- },
- "patterns": [
- {
- "name": "meta.static_assert.message.c",
- "begin": "(,)\\s*(?=(?:L|u8|u|U\\s*\\\")?)",
- "beginCaptures": {
- "1": {
- "name": "punctuation.separator.delimiter.comma.c"
- }
- },
- "end": "(?=\\))",
- "patterns": [
- {
- "include": "#string_context"
- }
- ]
- },
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "storage_types": {
- "patterns": [
- {
- "match": "(?-mix:(?\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?:\\n|$)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.c punctuation.definition.comment.begin.c"
- },
- "3": {
- "name": "comment.block.c"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.c punctuation.definition.comment.end.c"
- },
- {
- "match": "\\*",
- "name": "comment.block.c"
- }
- ]
- }
- }
- },
- {
- "include": "#comments"
- },
- {
- "begin": "(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\()",
- "beginCaptures": {
- "1": {
- "name": "punctuation.section.parens.begin.bracket.round.assembly.c"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.c punctuation.definition.comment.begin.c"
- },
- "4": {
- "name": "comment.block.c"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.c punctuation.definition.comment.end.c"
- },
- {
- "match": "\\*",
- "name": "comment.block.c"
- }
- ]
- }
- },
- "end": "(\\))",
- "endCaptures": {
- "1": {
- "name": "punctuation.section.parens.end.bracket.round.assembly.c"
- }
- },
- "patterns": [
- {
- "name": "string.quoted.double.c",
- "contentName": "meta.embedded.assembly.c",
- "begin": "(R?)(\")",
- "beginCaptures": {
- "1": {
- "name": "meta.encoding.c"
- },
- "2": {
- "name": "punctuation.definition.string.begin.assembly.c"
- }
- },
- "end": "(\")",
- "endCaptures": {
- "1": {
- "name": "punctuation.definition.string.end.assembly.c"
- }
- },
- "patterns": [
- {
- "include": "lngpck.source.asm"
- },
- {
- "include": "lngpck.source.x86"
- },
- {
- "include": "lngpck.source.x86_64"
- },
- {
- "include": "lngpck.source.arm"
- },
- {
- "include": "#backslash_escapes"
- },
- {
- "include": "#string_escaped_char"
- }
- ]
- },
- {
- "begin": "(\\()",
- "beginCaptures": {
- "1": {
- "name": "punctuation.section.parens.begin.bracket.round.assembly.inner.c"
- }
- },
- "end": "(\\))",
- "endCaptures": {
- "1": {
- "name": "punctuation.section.parens.end.bracket.round.assembly.inner.c"
- }
- },
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "match": "\\[((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))([a-zA-Z_]\\w*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\]",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.c punctuation.definition.comment.begin.c"
- },
- "3": {
- "name": "comment.block.c"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.c punctuation.definition.comment.end.c"
- },
- {
- "match": "\\*",
- "name": "comment.block.c"
- }
- ]
- },
- "5": {
- "name": "variable.other.asm.label.c"
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.c punctuation.definition.comment.begin.c"
- },
- "8": {
- "name": "comment.block.c"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.c punctuation.definition.comment.end.c"
- },
- {
- "match": "\\*",
- "name": "comment.block.c"
- }
- ]
- }
- }
- },
- {
- "match": ":",
- "name": "punctuation.separator.delimiter.colon.assembly.c"
- },
- {
- "include": "#comments"
- }
- ]
- }
- ]
- }
- ]
- },
- "string_escaped_char": {
- "patterns": [
- {
- "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3]\\d{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
- "name": "constant.character.escape.c"
- },
- {
- "match": "\\\\.",
- "name": "invalid.illegal.unknown-escape.c"
- }
- ]
- },
- "string_placeholder": {
- "patterns": [
- {
- "match": "(?x) %\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type",
- "name": "constant.other.placeholder.c"
- },
- {
- "match": "(%)(?!\"\\s*(PRI|SCN))",
- "captures": {
- "1": {
- "name": "invalid.illegal.placeholder.c"
- }
- }
- }
- ]
- },
- "strings": {
- "patterns": [
- {
- "begin": "\"",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.string.begin.c"
- }
- },
- "end": "\"",
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.string.end.c"
- }
- },
- "name": "string.quoted.double.c",
- "patterns": [
- {
- "include": "#string_escaped_char"
- },
- {
- "include": "#string_placeholder"
- },
- {
- "include": "#line_continuation_character"
- }
- ]
- },
- {
- "begin": "'",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.string.begin.c"
- }
- },
- "end": "'",
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.string.end.c"
- }
- },
- "name": "string.quoted.single.c",
- "patterns": [
- {
- "include": "#string_escaped_char"
- },
- {
- "include": "#line_continuation_character"
- }
- ]
- }
- ]
- },
- "switch_conditional_parentheses": {
- "name": "meta.conditional.switch.c",
- "begin": "((?>(?:(?:(?>(?(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))(\\()",
- "beginCaptures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.c punctuation.definition.comment.begin.c"
- },
- "3": {
- "name": "comment.block.c"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.c punctuation.definition.comment.end.c"
- },
- {
- "match": "\\*",
- "name": "comment.block.c"
- }
- ]
- },
- "5": {
- "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.c"
- }
- },
- "end": "(\\))",
- "endCaptures": {
- "1": {
- "name": "punctuation.section.parens.end.bracket.round.conditional.switch.c"
- }
- },
- "patterns": [
- {
- "include": "#evaluation_context"
- },
- {
- "include": "#c_conditional_context"
- }
- ]
- },
- "switch_statement": {
- "name": "meta.block.switch.c",
- "begin": "(((?>(?:(?:(?>(?(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?|\\?\\?>)|(?=[;>\\[\\]=]))",
- "patterns": [
- {
- "name": "meta.head.switch.c",
- "begin": "\\G ?",
- "end": "((?:\\{|<%|\\?\\?<|(?=;)))",
- "endCaptures": {
- "1": {
- "name": "punctuation.section.block.begin.bracket.curly.switch.c"
- }
- },
- "patterns": [
- {
- "include": "#switch_conditional_parentheses"
- },
- {
- "include": "$self"
- }
- ]
- },
- {
- "name": "meta.body.switch.c",
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "(\\}|%>|\\?\\?>)",
- "endCaptures": {
- "1": {
- "name": "punctuation.section.block.end.bracket.curly.switch.c"
- }
- },
- "patterns": [
- {
- "include": "#default_statement"
- },
- {
- "include": "#case_statement"
- },
- {
- "include": "$self"
- },
- {
- "include": "#block_innards"
- }
- ]
- },
- {
- "name": "meta.tail.switch.c",
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s\\n]*",
- "end": "[\\s\\n]*(?=;)",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "vararg_ellipses": {
- "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\s)+)?(:))",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "storage.type.modifier.access.control.$4.cpp"
- },
- "4": {},
- "5": {
- "name": "punctuation.separator.colon.access.control.cpp"
- }
- }
- },
- "alignas_attribute": {
- "begin": "alignas\\(",
- "end": "\\)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.attribute.begin.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.attribute.end.cpp"
- }
- },
- "name": "support.other.attribute.cpp",
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "begin": "\\(",
- "end": "\\)",
- "beginCaptures": {},
- "endCaptures": {},
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#string_context"
- }
- ]
- },
- {
- "match": "(using)(?:\\s)+((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
- }
- },
- "contentName": "meta.arguments.operator.alignas",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "alignof_operator": {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
- }
- },
- "contentName": "meta.arguments.operator.alignof",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "assembly": {
- "begin": "(\\b(?:__asm__|asm)\\b)(?:(?:\\s)+)?((?:volatile)?)",
- "end": "(?!\\G)",
- "beginCaptures": {
- "1": {
- "name": "storage.type.asm.cpp"
- },
- "2": {
- "name": "storage.modifier.cpp"
- }
- },
- "endCaptures": {},
- "name": "meta.asm.cpp",
- "patterns": [
- {
- "match": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\n)|$)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "include": "#comments"
- },
- {
- "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\(",
- "end": "\\)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.parens.begin.bracket.round.assembly.cpp"
- },
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parens.end.bracket.round.assembly.cpp"
- }
- },
- "patterns": [
- {
- "begin": "(R?)(\")",
- "end": "\"",
- "beginCaptures": {
- "1": {
- "name": "meta.encoding.cpp"
- },
- "2": {
- "name": "punctuation.definition.string.begin.assembly.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.string.end.assembly.cpp"
- }
- },
- "name": "string.quoted.double.cpp",
- "contentName": "meta.embedded.assembly",
- "patterns": [
- {
- "include": "lngpck.source.asm"
- },
- {
- "include": "lngpck.source.x86"
- },
- {
- "include": "lngpck.source.x86_64"
- },
- {
- "include": "lngpck.source.arm"
- },
- {
- "include": "#backslash_escapes"
- },
- {
- "include": "#string_escaped_char"
- }
- ]
- },
- {
- "begin": "\\(",
- "end": "\\)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp"
- }
- },
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "match": "\\[((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "variable.other.asm.label.cpp"
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "8": {
- "name": "comment.block.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": ":",
- "name": "punctuation.separator.delimiter.colon.assembly.cpp"
- },
- {
- "include": "#comments"
- }
- ]
- }
- ]
- },
- "assignment_operator": {
- "match": "\\=",
- "name": "keyword.operator.assignment.cpp"
- },
- "attributes_context": {
- "patterns": [
- {
- "include": "#cpp_attributes"
- },
- {
- "include": "#gcc_attributes"
- },
- {
- "include": "#ms_attributes"
- },
- {
- "include": "#alignas_attribute"
- }
- ]
- },
- "backslash_escapes": {
- "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
- "name": "constant.character.escape"
- },
- "block": {
- "begin": "{",
- "end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.cpp"
- }
- },
- "name": "meta.block.cpp",
- "patterns": [
- {
- "include": "#function_body_context"
- }
- ]
- },
- "block_comment": {
- "begin": "\\s*+(\\/\\*)",
- "end": "\\*\\/",
- "beginCaptures": {
- "1": {
- "name": "punctuation.definition.comment.begin.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.comment.end.cpp"
- }
- },
- "name": "comment.block.cpp"
- },
- "builtin_storage_type_initilizer": {
- "begin": "(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
- "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.class.cpp"
- },
- "1": {
- "name": "storage.type.$1.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
- "captures": {
- "1": {
- "name": "storage.type.modifier.final.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
- "captures": {
- "1": {
- "name": "entity.name.type.class.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "storage.type.modifier.final.cpp"
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": "DLLEXPORT",
- "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
- },
- {
- "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}))*",
- "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "14": {
- "name": "comment.block.cpp"
- },
- "15": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "17": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "18": {
- "name": "comment.block.cpp"
- },
- "19": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "20": {
- "name": "punctuation.separator.colon.inheritance.cpp"
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.terminator.statement.cpp"
- },
- "2": {
- "name": "punctuation.terminator.statement.cpp"
- }
- },
- "name": "meta.block.class.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.class.cpp"
- }
- },
- "name": "meta.head.class.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#inheritance_context"
- },
- {
- "include": "#template_call_range"
- }
- ]
- },
- {
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "\\}|%>|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.class.cpp"
- }
- },
- "name": "meta.body.class.cpp",
- "patterns": [
- {
- "include": "#function_pointer"
- },
- {
- "include": "#static_assert"
- },
- {
- "include": "#constructor_inline"
- },
- {
- "include": "#destructor_inline"
- },
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.class.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "class_declare": {
- "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
- "captures": {
- "1": {
- "name": "storage.type.class.declare.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.class.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "name": "variable.other.object.declare.cpp"
- },
- "13": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "14": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- "comma": {
- "match": ",",
- "name": "punctuation.separator.delimiter.comma.cpp"
- },
- "comma_in_template_argument": {
- "match": ",",
- "name": "punctuation.separator.delimiter.comma.template.argument.cpp"
- },
- "comments": {
- "patterns": [
- {
- "begin": "^(?:(?:\\s)+)?+(\\/\\/[!\\/]+)",
- "end": "(?<=\\n)(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.cpp"
- },
- "2": {
- "name": "markup.italic.doxygen.cpp"
- }
- }
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.cpp"
- },
- "2": {
- "name": "markup.bold.doxygen.cpp"
- }
- }
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.cpp"
- },
- "2": {
- "name": "markup.inline.raw.string.cpp"
- }
- }
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.cpp"
- },
- "2": {
- "patterns": [
- {
- "match": "in|out",
- "name": "keyword.other.parameter.direction.$0.cpp"
- }
- ]
- },
- "3": {
- "name": "variable.parameter.cpp"
- }
- }
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
- "name": "storage.type.class.gtkdoc.cpp"
- }
- ]
- },
- {
- "match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
- "captures": {
- "1": {
- "name": "punctuation.definition.comment.begin.documentation.cpp"
- },
- "2": {
- "patterns": [
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.cpp"
- },
- "2": {
- "name": "markup.italic.doxygen.cpp"
- }
- }
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.cpp"
- },
- "2": {
- "name": "markup.bold.doxygen.cpp"
- }
- }
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.cpp"
- },
- "2": {
- "name": "markup.inline.raw.string.cpp"
- }
- }
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.cpp"
- },
- "2": {
- "patterns": [
- {
- "match": "in|out",
- "name": "keyword.other.parameter.direction.$0.cpp"
- }
- ]
- },
- "3": {
- "name": "variable.parameter.cpp"
- }
- }
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
- "name": "storage.type.class.gtkdoc.cpp"
- }
- ]
- },
- "3": {
- "name": "punctuation.definition.comment.end.documentation.cpp"
- }
- },
- "name": "comment.block.documentation.cpp"
- },
- {
- "begin": "(?:(?:\\s)+)?+\\/\\*[!*]+(?:(?:(?:\\n)|$)|(?=\\s))",
- "end": "[!*]*\\*\\/",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.comment.begin.documentation.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.comment.end.documentation.cpp"
- }
- },
- "name": "comment.block.documentation.cpp",
- "patterns": [
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.cpp"
- },
- "2": {
- "name": "markup.italic.doxygen.cpp"
- }
- }
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.cpp"
- },
- "2": {
- "name": "markup.bold.doxygen.cpp"
- }
- }
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.cpp"
- },
- "2": {
- "name": "markup.inline.raw.string.cpp"
- }
- }
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",
- "captures": {
- "1": {
- "name": "storage.type.class.doxygen.cpp"
- },
- "2": {
- "patterns": [
- {
- "match": "in|out",
- "name": "keyword.other.parameter.direction.$0.cpp"
- }
- ]
- },
- "3": {
- "name": "variable.parameter.cpp"
- }
- }
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "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(?:\\{[^}]*\\})?",
- "name": "storage.type.class.doxygen.cpp"
- },
- {
- "match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
- "name": "storage.type.class.gtkdoc.cpp"
- }
- ]
- },
- {
- "include": "#emacs_file_banner"
- },
- {
- "include": "#block_comment"
- },
- {
- "include": "#line_comment"
- },
- {
- "include": "#invalid_comment_end"
- }
- ]
- },
- "constructor_inline": {
- "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.function.definition.special.constructor.cpp"
- },
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "patterns": [
- {
- "include": "#functional_specifiers_pre_parameters"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "8": {
- "name": "comment.block.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "12": {
- "name": "comment.block.cpp"
- },
- "13": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "14": {
- "name": "storage.type.modifier.calling-convention.cpp"
- },
- "15": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "16": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "17": {
- "name": "comment.block.cpp"
- },
- "18": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "19": {
- "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"
- }
- },
- "endCaptures": {},
- "name": "meta.function.definition.special.constructor.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
- }
- },
- "name": "meta.head.function.definition.special.constructor.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
- "captures": {
- "1": {
- "name": "keyword.operator.assignment.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "keyword.other.default.constructor.cpp"
- },
- "7": {
- "name": "keyword.other.delete.constructor.cpp"
- }
- }
- },
- {
- "include": "#functional_specifiers_pre_parameters"
- },
- {
- "begin": ":",
- "end": "(?=\\{)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.separator.initializers.cpp"
- }
- },
- "endCaptures": {},
- "patterns": [
- {
- "begin": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "entity.name.function.call.initializer.cpp"
- },
- "2": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "3": {},
- "4": {
- "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
- }
- },
- "contentName": "meta.parameter.initialization",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "begin": "((?|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
- }
- },
- "name": "meta.body.function.definition.special.constructor.cpp",
- "patterns": [
- {
- "include": "#function_body_context"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.function.definition.special.constructor.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "constructor_root": {
- "begin": "\\s*+((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())",
- "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.function.definition.special.constructor.cpp"
- },
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "storage.type.modifier.calling-convention.cpp"
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "8": {
- "name": "comment.block.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
- "captures": {
- "1": {
- "name": "keyword.operator.assignment.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "keyword.other.default.constructor.cpp"
- },
- "7": {
- "name": "keyword.other.delete.constructor.cpp"
- }
- }
- },
- {
- "include": "#functional_specifiers_pre_parameters"
- },
- {
- "begin": ":",
- "end": "(?=\\{)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.separator.initializers.cpp"
- }
- },
- "endCaptures": {},
- "patterns": [
- {
- "begin": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "entity.name.function.call.initializer.cpp"
- },
- "2": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "3": {},
- "4": {
- "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
- }
- },
- "contentName": "meta.parameter.initialization",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "begin": "((?|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
- }
- },
- "name": "meta.body.function.definition.special.constructor.cpp",
- "patterns": [
- {
- "include": "#function_body_context"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.function.definition.special.constructor.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "control_flow_keywords": {
- "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "keyword.control.$3.cpp"
- }
- }
- },
- "cpp_attributes": {
- "begin": "\\[\\[",
- "end": "\\]\\]",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.attribute.begin.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.attribute.end.cpp"
- }
- },
- "name": "support.other.attribute.cpp",
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "begin": "\\(",
- "end": "\\)",
- "beginCaptures": {},
- "endCaptures": {},
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#string_context"
- }
- ]
- },
- {
- "match": "(using)(?:\\s)+((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\{)",
- "end": "\\}",
- "beginCaptures": {
- "1": {
- "name": "meta.qualified_type.cpp",
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "4": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "5": {
- "name": "comment.block.cpp"
- },
- "6": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((import))(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "keyword.control.directive.import.cpp"
- },
- "5": {
- "name": "string.quoted.other.lt-gt.include.cpp"
- },
- "6": {
- "name": "punctuation.definition.string.begin.cpp"
- },
- "7": {
- "name": "punctuation.definition.string.end.cpp"
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "name": "string.quoted.double.include.cpp"
- },
- "11": {
- "name": "punctuation.definition.string.begin.cpp"
- },
- "12": {
- "name": "punctuation.definition.string.end.cpp"
- },
- "13": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "14": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "15": {
- "name": "entity.name.other.preprocessor.macro.include.cpp"
- },
- "16": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "17": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "18": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "19": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "21": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "22": {
- "name": "punctuation.terminator.statement.cpp"
- }
- },
- "name": "meta.preprocessor.import.cpp"
- },
- "d9bc4796b0b_preprocessor_number_literal": {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
- }
- },
- "contentName": "meta.arguments.decltype",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "decltype_specifier": {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
- }
- },
- "contentName": "meta.arguments.decltype",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "default_statement": {
- "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(~(?|\\?\\?>)|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.function.definition.special.member.destructor.cpp"
- },
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "7": {
- "name": "comment.block.cpp"
- },
- "8": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "9": {
- "name": "storage.type.modifier.calling-convention.cpp"
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "12": {
- "name": "comment.block.cpp"
- },
- "13": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "14": {
- "patterns": [
- {
- "include": "#functional_specifiers_pre_parameters"
- }
- ]
- },
- "15": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "16": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "17": {
- "name": "comment.block.cpp"
- },
- "18": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "19": {
- "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"
- }
- },
- "endCaptures": {},
- "name": "meta.function.definition.special.member.destructor.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
- }
- },
- "name": "meta.head.function.definition.special.member.destructor.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
- "captures": {
- "1": {
- "name": "keyword.operator.assignment.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "keyword.other.default.constructor.cpp"
- },
- "7": {
- "name": "keyword.other.delete.constructor.cpp"
- }
- }
- },
- {
- "begin": "\\(",
- "end": "\\)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
- }
- },
- "contentName": "meta.function.definition.parameters.special.member.destructor",
- "patterns": []
- },
- {
- "match": "((?:(?:final)|(?:override)))+",
- "captures": {
- "1": {
- "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp"
- }
- }
- },
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "\\}|%>|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
- }
- },
- "name": "meta.body.function.definition.special.member.destructor.cpp",
- "patterns": [
- {
- "include": "#function_body_context"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.function.definition.special.member.destructor.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "destructor_root": {
- "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))~\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())",
- "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.function.definition.special.member.destructor.cpp"
- },
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "storage.type.modifier.calling-convention.cpp"
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "8": {
- "name": "comment.block.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
- "captures": {
- "1": {
- "name": "keyword.operator.assignment.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "keyword.other.default.constructor.cpp"
- },
- "7": {
- "name": "keyword.other.delete.constructor.cpp"
- }
- }
- },
- {
- "begin": "\\(",
- "end": "\\)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
- }
- },
- "contentName": "meta.function.definition.parameters.special.member.destructor",
- "patterns": []
- },
- {
- "match": "((?:(?:final)|(?:override)))+",
- "captures": {
- "1": {
- "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp"
- }
- }
- },
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "\\}|%>|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
- }
- },
- "name": "meta.body.function.definition.special.member.destructor.cpp",
- "patterns": [
- {
- "include": "#function_body_context"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.function.definition.special.member.destructor.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "diagnostic": {
- "begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?",
- "end": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.enum.cpp"
- },
- "1": {
- "name": "storage.type.enum.cpp"
- },
- "2": {
- "name": "storage.type.enum.enum-key.$2.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "4": {
- "name": "entity.name.type.enum.cpp"
- },
- "5": {
- "name": "punctuation.separator.colon.type-specifier.cpp"
- },
- "6": {
- "patterns": [
- {
- "include": "#scope_resolution_inner_generated"
- }
- ]
- },
- "7": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- "8": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "9": {},
- "10": {
- "name": "entity.name.scope-resolution.cpp"
- },
- "11": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "12": {},
- "13": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- "14": {
- "name": "storage.type.integral.$14.cpp"
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.terminator.statement.cpp"
- },
- "2": {
- "name": "punctuation.terminator.statement.cpp"
- }
- },
- "name": "meta.block.enum.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.enum.cpp"
- }
- },
- "name": "meta.head.enum.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "\\}|%>|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.enum.cpp"
- }
- },
- "name": "meta.body.enum.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#enumerator_list"
- },
- {
- "include": "#comments"
- },
- {
- "include": "#comma"
- },
- {
- "include": "#semicolon"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.enum.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "enum_declare": {
- "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
- "captures": {
- "1": {
- "name": "storage.type.enum.declare.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.enum.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "name": "variable.other.object.declare.cpp"
- },
- "13": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "14": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- "enumerator_list": {
- "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "keyword.control.exception.$3.cpp"
- }
- }
- },
- "extern_block": {
- "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(extern)(?=\\s*\\\")",
- "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.extern.cpp"
- },
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "storage.type.extern.cpp"
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.terminator.statement.cpp"
- },
- "2": {
- "name": "punctuation.terminator.statement.cpp"
- }
- },
- "name": "meta.block.extern.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.extern.cpp"
- }
- },
- "name": "meta.head.extern.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "\\}|%>|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.extern.cpp"
- }
- },
- "name": "meta.body.extern.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.extern.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- },
- {
- "include": "$self"
- }
- ]
- },
- "function_body_context": {
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#using_namespace"
- },
- {
- "include": "#type_alias"
- },
- {
- "include": "#using_name"
- },
- {
- "include": "#namespace_alias"
- },
- {
- "include": "#typedef_class"
- },
- {
- "include": "#typedef_struct"
- },
- {
- "include": "#typedef_union"
- },
- {
- "include": "#misc_keywords"
- },
- {
- "include": "#standard_declares"
- },
- {
- "include": "#class_block"
- },
- {
- "include": "#struct_block"
- },
- {
- "include": "#union_block"
- },
- {
- "include": "#enum_block"
- },
- {
- "include": "#access_control_keywords"
- },
- {
- "include": "#block"
- },
- {
- "include": "#static_assert"
- },
- {
- "include": "#assembly"
- },
- {
- "include": "#function_pointer"
- },
- {
- "include": "#switch_statement"
- },
- {
- "include": "#goto_statement"
- },
- {
- "include": "#evaluation_context"
- },
- {
- "include": "#label"
- }
- ]
- },
- "function_call": {
- "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\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(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "patterns": [
- {
- "include": "#scope_resolution_function_call_inner_generated"
- }
- ]
- },
- "2": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "4": {},
- "5": {
- "name": "entity.name.function.call.cpp"
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "8": {
- "name": "comment.block.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "10": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "11": {},
- "12": {
- "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp"
- }
- },
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "function_definition": {
- "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\()",
- "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.function.definition.cpp"
- },
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "storage.type.template.cpp"
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "8": {
- "name": "comment.block.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
- "captures": {
- "1": {
- "name": "storage.modifier.$1.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "name": "storage.modifier.$12.cpp"
- },
- "13": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "14": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "15": {
- "name": "comment.block.cpp"
- },
- "16": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "17": {
- "name": "meta.qualified_type.cpp",
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "18": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "19": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "20": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "21": {
- "name": "comment.block.cpp"
- },
- "22": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "23": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "24": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "25": {
- "name": "comment.block.cpp"
- },
- "26": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "27": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "36": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "37": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "38": {
- "name": "comment.block.cpp"
- },
- "39": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "40": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "41": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "42": {
- "name": "comment.block.cpp"
- },
- "43": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "44": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "45": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "46": {
- "name": "comment.block.cpp"
- },
- "47": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "48": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "49": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "50": {
- "name": "comment.block.cpp"
- },
- "51": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "52": {
- "name": "storage.type.modifier.calling-convention.cpp"
- },
- "53": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "54": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "55": {
- "name": "comment.block.cpp"
- },
- "56": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "57": {
- "patterns": [
- {
- "include": "#scope_resolution_function_definition_inner_generated"
- }
- ]
- },
- "58": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
- },
- "59": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "60": {},
- "61": {
- "name": "entity.name.function.definition.cpp"
- },
- "62": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "63": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "64": {
- "name": "comment.block.cpp"
- },
- "65": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "endCaptures": {},
- "name": "meta.function.definition.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp"
- }
- },
- "name": "meta.head.function.definition.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "begin": "\\(",
- "end": "\\)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.parameters.begin.bracket.round.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parameters.end.bracket.round.cpp"
- }
- },
- "contentName": "meta.function.definition.parameters",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#parameter_or_maybe_value"
- },
- {
- "include": "#comma"
- },
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)?(?![\\w<:.]))",
- "captures": {
- "1": {
- "name": "punctuation.definition.function.return-type.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "meta.qualified_type.cpp",
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "10": {
- "name": "comment.block.cpp"
- },
- "11": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "14": {
- "name": "comment.block.cpp"
- },
- "15": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.function.definition.cpp"
- }
- },
- "name": "meta.body.function.definition.cpp",
- "patterns": [
- {
- "include": "#function_body_context"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.function.definition.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "function_parameter_context": {
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#string_context"
- },
- {
- "include": "#parameter"
- },
- {
- "include": "#comma"
- }
- ]
- },
- "function_pointer": {
- "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()",
- "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",
- "beginCaptures": {
- "1": {
- "name": "meta.qualified_type.cpp",
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "4": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "5": {
- "name": "comment.block.cpp"
- },
- "6": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "21": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "22": {
- "name": "comment.block.cpp"
- },
- "23": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "24": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "25": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "26": {
- "name": "comment.block.cpp"
- },
- "27": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "28": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "29": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "30": {
- "name": "comment.block.cpp"
- },
- "31": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "32": {
- "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
- },
- "33": {
- "name": "punctuation.definition.function.pointer.dereference.cpp"
- },
- "34": {
- "name": "variable.other.definition.pointer.function.cpp"
- },
- "35": {
- "name": "punctuation.definition.begin.bracket.square.cpp"
- },
- "36": {
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "37": {
- "name": "punctuation.definition.end.bracket.square.cpp"
- },
- "38": {
- "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
- },
- "39": {
- "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "patterns": [
- {
- "include": "#function_parameter_context"
- }
- ]
- },
- "function_pointer_parameter": {
- "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()",
- "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",
- "beginCaptures": {
- "1": {
- "name": "meta.qualified_type.cpp",
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "4": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "5": {
- "name": "comment.block.cpp"
- },
- "6": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "21": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "22": {
- "name": "comment.block.cpp"
- },
- "23": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "24": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "25": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "26": {
- "name": "comment.block.cpp"
- },
- "27": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "28": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "29": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "30": {
- "name": "comment.block.cpp"
- },
- "31": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "32": {
- "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
- },
- "33": {
- "name": "punctuation.definition.function.pointer.dereference.cpp"
- },
- "34": {
- "name": "variable.parameter.pointer.function.cpp"
- },
- "35": {
- "name": "punctuation.definition.begin.bracket.square.cpp"
- },
- "36": {
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "37": {
- "name": "punctuation.definition.end.bracket.square.cpp"
- },
- "38": {
- "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
- },
- "39": {
- "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "patterns": [
- {
- "include": "#function_parameter_context"
- }
- ]
- },
- "functional_specifiers_pre_parameters": {
- "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)",
- "captures": {
- "1": {
- "name": "keyword.control.goto.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.label.call.cpp"
- }
- }
- },
- "identifier": {
- "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}))*"
- },
- "include": {
- "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((#)(?:(?:\\s)+)?((?:include|include_next))\\b)(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "keyword.control.directive.$5.cpp"
- },
- "4": {
- "name": "punctuation.definition.directive.cpp"
- },
- "6": {
- "name": "string.quoted.other.lt-gt.include.cpp"
- },
- "7": {
- "name": "punctuation.definition.string.begin.cpp"
- },
- "8": {
- "name": "punctuation.definition.string.end.cpp"
- },
- "9": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "11": {
- "name": "string.quoted.double.include.cpp"
- },
- "12": {
- "name": "punctuation.definition.string.begin.cpp"
- },
- "13": {
- "name": "punctuation.definition.string.end.cpp"
- },
- "14": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "15": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "16": {
- "name": "entity.name.other.preprocessor.macro.include.cpp"
- },
- "17": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "18": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "19": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "21": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "22": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- },
- "name": "meta.preprocessor.include.cpp"
- },
- "inheritance_context": {
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "match": ",",
- "name": "punctuation.separator.delimiter.comma.inheritance.cpp"
- },
- {
- "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))",
- "captures": {
- "1": {
- "name": "meta.qualified_type.cpp",
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "4": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {}
- }
- }
- ]
- },
- "inline_builtin_storage_type": {
- "match": "(?:\\s)*+(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "entity.name.label.cpp"
- },
- "4": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "5": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "6": {
- "name": "punctuation.separator.label.cpp"
- }
- }
- },
- "lambdas": {
- "begin": "(?:(?<=[^\\s]|^)(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))[\\[\\];]))",
- "end": "(?<=[;}])",
- "beginCaptures": {
- "1": {
- "name": "punctuation.definition.capture.begin.lambda.cpp"
- },
- "2": {
- "name": "meta.lambda.capture.cpp",
- "patterns": [
- {
- "include": "#the_this_keyword"
- },
- {
- "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))",
- "captures": {
- "1": {
- "name": "variable.parameter.capture.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.separator.delimiter.comma.cpp"
- },
- "7": {
- "name": "keyword.operator.assignment.cpp"
- }
- }
- },
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "3": {},
- "4": {
- "name": "punctuation.definition.capture.end.lambda.cpp"
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "7": {
- "name": "comment.block.cpp"
- },
- "8": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "endCaptures": {},
- "patterns": [
- {
- "begin": "\\(",
- "end": "\\)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.parameters.begin.lambda.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.parameters.end.lambda.cpp"
- }
- },
- "name": "meta.function.definition.parameters.lambda.cpp",
- "patterns": [
- {
- "include": "#function_parameter_context"
- }
- ]
- },
- {
- "match": "(?)((?:.+?(?=\\{|$))?)",
- "captures": {
- "1": {
- "name": "punctuation.definition.lambda.return-type.cpp"
- },
- "2": {
- "name": "storage.type.return-type.lambda.cpp"
- }
- }
- },
- {
- "begin": "\\{",
- "end": "\\}",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.lambda.cpp"
- }
- },
- "name": "meta.function.definition.body.lambda.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "language_constants": {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?line\\b",
- "end": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?define\\b)(?:(?:\\s)+)?((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|suseconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|useconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_addr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_port_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|blksize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|unsigned[^Pattern.new(\n match: \\/\\w\\/,\n)]|blkcnt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|swblk_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|wchar_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_short[^Pattern.new(\n match: \\/\\w\\/,\n)]|qaddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|caddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|daddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|fixpt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|nlink_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|segsz_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|clock_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ssize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|mode_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_long[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_char[^Pattern.new(\n match: \\/\\w\\/,\n)]|double[^Pattern.new(\n match: \\/\\w\\/,\n)]|signed[^Pattern.new(\n match: \\/\\w\\/,\n)]|time_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|size_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|key_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|div_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ino_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|gid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|off_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|pid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|float[^Pattern.new(\n match: \\/\\w\\/,\n)]|dev_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_int[^Pattern.new(\n match: \\/\\w\\/,\n)]|short[^Pattern.new(\n match: \\/\\w\\/,\n)]|bool[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint[^Pattern.new(\n match: \\/\\w\\/,\n)]|long[^Pattern.new(\n match: \\/\\w\\/,\n)]|char[^Pattern.new(\n match: \\/\\w\\/,\n)]|void[^Pattern.new(\n match: \\/\\w\\/,\n)]|auto[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int[^Pattern.new(\n match: \\/\\w\\/,\n)])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "variable.language.this.cpp"
- },
- "4": {
- "name": "variable.other.object.access.cpp"
- },
- "5": {
- "name": "punctuation.separator.dot-access.cpp"
- },
- "6": {
- "name": "punctuation.separator.pointer-access.cpp"
- },
- "7": {
- "patterns": [
- {
- "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "variable.language.this.cpp"
- },
- "6": {
- "name": "variable.other.object.property.cpp"
- },
- "7": {
- "name": "punctuation.separator.dot-access.cpp"
- },
- "8": {
- "name": "punctuation.separator.pointer-access.cpp"
- }
- }
- },
- {
- "match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "variable.language.this.cpp"
- },
- "6": {
- "name": "variable.other.object.access.cpp"
- },
- "7": {
- "name": "punctuation.separator.dot-access.cpp"
- },
- "8": {
- "name": "punctuation.separator.pointer-access.cpp"
- }
- }
- },
- {
- "include": "#member_access"
- },
- {
- "include": "#method_access"
- }
- ]
- },
- "8": {
- "name": "variable.other.property.cpp"
- }
- }
- },
- "memory_operators": {
- "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "keyword.operator.wordlike.cpp"
- },
- "4": {
- "name": "keyword.operator.delete.array.cpp"
- },
- "5": {
- "name": "keyword.operator.delete.array.bracket.cpp"
- },
- "6": {
- "name": "keyword.operator.delete.cpp"
- },
- "7": {
- "name": "keyword.operator.new.cpp"
- }
- }
- },
- "method_access": {
- "begin": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\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)+)?(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "variable.language.this.cpp"
- },
- "6": {
- "name": "variable.other.object.access.cpp"
- },
- "7": {
- "name": "punctuation.separator.dot-access.cpp"
- },
- "8": {
- "name": "punctuation.separator.pointer-access.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "variable.language.this.cpp"
- },
- "6": {
- "name": "variable.other.object.property.cpp"
- },
- "7": {
- "name": "punctuation.separator.dot-access.cpp"
- },
- "8": {
- "name": "punctuation.separator.pointer-access.cpp"
- }
- }
- },
- {
- "match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "variable.language.this.cpp"
- },
- "6": {
- "name": "variable.other.object.access.cpp"
- },
- "7": {
- "name": "punctuation.separator.dot-access.cpp"
- },
- "8": {
- "name": "punctuation.separator.pointer-access.cpp"
- }
- }
- },
- {
- "include": "#member_access"
- },
- {
- "include": "#method_access"
- }
- ]
- },
- "10": {
- "name": "entity.name.function.member.cpp"
- },
- "11": {
- "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp"
- }
- },
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "misc_keywords": {
- "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "keyword.other.$3.cpp"
- }
- }
- },
- "ms_attributes": {
- "begin": "__declspec\\(",
- "end": "\\)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.attribute.begin.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.attribute.end.cpp"
- }
- },
- "name": "support.other.attribute.cpp",
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "begin": "\\(",
- "end": "\\)",
- "beginCaptures": {},
- "endCaptures": {},
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#string_context"
- }
- ]
- },
- {
- "match": "(using)(?:\\s)+((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<8>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>)|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.namespace.cpp"
- },
- "1": {
- "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"
- }
- },
- "endCaptures": {},
- "name": "meta.block.namespace.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp"
- }
- },
- "name": "meta.head.namespace.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#attributes_context"
- },
- {
- "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<4>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.namespace.cpp"
- }
- },
- "name": "meta.body.namespace.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.namespace.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "noexcept_operator": {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
- }
- },
- "contentName": "meta.arguments.operator.noexcept",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "number_literal": {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\<|\\()",
- "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.function.definition.special.operator-overload.cpp"
- },
- "1": {
- "name": "meta.qualified_type.cpp",
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "4": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "5": {
- "name": "comment.block.cpp"
- },
- "6": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "21": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "22": {
- "name": "comment.block.cpp"
- },
- "23": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "24": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "25": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "26": {
- "name": "comment.block.cpp"
- },
- "27": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "28": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "29": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "30": {
- "name": "comment.block.cpp"
- },
- "31": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "32": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "33": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "34": {
- "name": "comment.block.cpp"
- },
- "35": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "36": {
- "name": "storage.type.modifier.calling-convention.cpp"
- },
- "37": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "38": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "39": {
- "name": "comment.block.cpp"
- },
- "40": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "41": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "42": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "43": {
- "name": "comment.block.cpp"
- },
- "44": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "45": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "entity.name.operator.type.reference.cpp"
- }
- ]
- },
- "59": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "60": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "61": {
- "name": "comment.block.cpp"
- },
- "62": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "63": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "64": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "65": {
- "name": "comment.block.cpp"
- },
- "66": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "67": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "68": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "69": {
- "name": "comment.block.cpp"
- },
- "70": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "71": {
- "name": "entity.name.operator.type.array.cpp"
- },
- "72": {
- "name": "entity.name.operator.custom-literal.cpp"
- },
- "73": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "74": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "75": {
- "name": "comment.block.cpp"
- },
- "76": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "77": {
- "name": "entity.name.operator.custom-literal.cpp"
- },
- "78": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "79": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "80": {
- "name": "comment.block.cpp"
- },
- "81": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "endCaptures": {},
- "name": "meta.function.definition.special.operator-overload.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"
- }
- },
- "name": "meta.head.function.definition.special.operator-overload.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#template_call_range"
- },
- {
- "begin": "\\(",
- "end": "\\)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"
- }
- },
- "contentName": "meta.function.definition.parameters.special.operator-overload",
- "patterns": [
- {
- "include": "#function_parameter_context"
- },
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "include": "#qualifiers_and_specifiers_post_parameters"
- },
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "\\}|%>|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"
- }
- },
- "name": "meta.body.function.definition.special.operator-overload.cpp",
- "patterns": [
- {
- "include": "#function_body_context"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.function.definition.special.operator-overload.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "operators": {
- "patterns": [
- {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
- }
- },
- "contentName": "meta.arguments.operator.sizeof",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
- }
- },
- "contentName": "meta.arguments.operator.alignof",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
- }
- },
- "contentName": "meta.arguments.operator.alignas",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
- }
- },
- "contentName": "meta.arguments.operator.typeid",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
- }
- },
- "contentName": "meta.arguments.operator.noexcept",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
- }
- },
- "contentName": "meta.arguments.operator.sizeof.variadic",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "match": "--",
- "name": "keyword.operator.decrement.cpp"
- },
- {
- "match": "\\+\\+",
- "name": "keyword.operator.increment.cpp"
- },
- {
- "match": "%=|\\+=|-=|\\*=|(?>=|\\|=",
- "name": "keyword.operator.assignment.compound.bitwise.cpp"
- },
- {
- "match": "<<|>>",
- "name": "keyword.operator.bitwise.shift.cpp"
- },
- {
- "match": "!=|<=|>=|==|<|>",
- "name": "keyword.operator.comparison.cpp"
- },
- {
- "match": "&&|!|\\|\\|",
- "name": "keyword.operator.logical.cpp"
- },
- {
- "match": "&|\\||\\^|~",
- "name": "keyword.operator.cpp"
- },
- {
- "include": "#assignment_operator"
- },
- {
- "match": "%|\\*|\\/|-|\\+",
- "name": "keyword.operator.cpp"
- },
- {
- "include": "#ternary_operator"
- }
- ]
- },
- "over_qualified_types": {
- "patterns": [
- {
- "match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
- "captures": {
- "1": {
- "name": "storage.type.struct.parameter.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.struct.parameter.cpp"
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "14": {
- "name": "variable.other.object.declare.cpp"
- },
- "15": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "17": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "18": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "19": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- {
- "match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
- "captures": {
- "1": {
- "name": "storage.type.enum.parameter.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.enum.parameter.cpp"
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "14": {
- "name": "variable.other.object.declare.cpp"
- },
- "15": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "17": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "18": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "19": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- {
- "match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
- "captures": {
- "1": {
- "name": "storage.type.union.parameter.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.union.parameter.cpp"
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "14": {
- "name": "variable.other.object.declare.cpp"
- },
- "15": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "17": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "18": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "19": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- {
- "match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
- "captures": {
- "1": {
- "name": "storage.type.class.parameter.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.class.parameter.cpp"
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "14": {
- "name": "variable.other.object.declare.cpp"
- },
- "15": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "17": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "18": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "19": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- }
- ]
- },
- "parameter": {
- "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)",
- "end": "(?:(?=\\))|(,))",
- "beginCaptures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.separator.delimiter.comma.cpp"
- }
- },
- "name": "meta.parameter.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#function_pointer_parameter"
- },
- {
- "include": "#decltype"
- },
- {
- "include": "#vararg_ellipses"
- },
- {
- "match": "((?:((?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#storage_types"
- }
- ]
- },
- "2": {
- "name": "storage.modifier.specifier.parameter.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "4": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "5": {
- "name": "comment.block.cpp"
- },
- "6": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
- },
- "12": {
- "name": "storage.type.cpp storage.type.built-in.cpp"
- },
- "13": {
- "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
- },
- "14": {
- "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
- },
- "15": {
- "name": "entity.name.type.parameter.cpp"
- },
- "16": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "17": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "18": {
- "name": "comment.block.cpp"
- },
- "19": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "include": "#storage_types"
- },
- {
- "include": "#scope_resolution_parameter_inner_generated"
- },
- {
- "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
- "name": "storage.type.$0.cpp"
- },
- {
- "begin": "(?<==)",
- "end": "(?:(?=\\))|(,))",
- "beginCaptures": {},
- "endCaptures": {
- "1": {
- "name": "punctuation.separator.delimiter.comma.cpp"
- }
- },
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "match": "\\=",
- "name": "keyword.operator.assignment.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\)|,|\\[|=|\\n)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "variable.parameter.cpp"
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "8": {
- "name": "comment.block.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "include": "#attributes_context"
- },
- {
- "begin": "\\[",
- "end": "\\]",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.begin.bracket.square.array.type.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.end.bracket.square.array.type.cpp"
- }
- },
- "name": "meta.bracket.square.array.cpp",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "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(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))",
- "captures": {
- "0": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "7": {
- "name": "comment.block.cpp"
- },
- "8": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "parameter_class": {
- "match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
- "captures": {
- "1": {
- "name": "storage.type.class.parameter.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.class.parameter.cpp"
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "14": {
- "name": "variable.other.object.declare.cpp"
- },
- "15": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "17": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "18": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "19": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- "parameter_enum": {
- "match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
- "captures": {
- "1": {
- "name": "storage.type.enum.parameter.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.enum.parameter.cpp"
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "14": {
- "name": "variable.other.object.declare.cpp"
- },
- "15": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "17": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "18": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "19": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- "parameter_or_maybe_value": {
- "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)",
- "end": "(?:(?=\\))|(,))",
- "beginCaptures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.separator.delimiter.comma.cpp"
- }
- },
- "name": "meta.parameter.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#function_pointer_parameter"
- },
- {
- "include": "#memory_operators"
- },
- {
- "include": "#builtin_storage_type_initilizer"
- },
- {
- "include": "#curly_initializer"
- },
- {
- "include": "#decltype"
- },
- {
- "include": "#vararg_ellipses"
- },
- {
- "match": "((?:((?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#storage_types"
- }
- ]
- },
- "2": {
- "name": "storage.modifier.specifier.parameter.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "4": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "5": {
- "name": "comment.block.cpp"
- },
- "6": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
- },
- "12": {
- "name": "storage.type.cpp storage.type.built-in.cpp"
- },
- "13": {
- "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
- },
- "14": {
- "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
- },
- "15": {
- "name": "entity.name.type.parameter.cpp"
- },
- "16": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "17": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "18": {
- "name": "comment.block.cpp"
- },
- "19": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "include": "#storage_types"
- },
- {
- "include": "#function_call"
- },
- {
- "include": "#scope_resolution_parameter_inner_generated"
- },
- {
- "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
- "name": "storage.type.$0.cpp"
- },
- {
- "begin": "(?<==)",
- "end": "(?:(?=\\))|(,))",
- "beginCaptures": {},
- "endCaptures": {
- "1": {
- "name": "punctuation.separator.delimiter.comma.cpp"
- }
- },
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=(?:\\)|,|\\[|=|\\/\\/|(?:(?:\\n)|$)))",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "variable.parameter.cpp"
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "8": {
- "name": "comment.block.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "include": "#attributes_context"
- },
- {
- "begin": "\\[",
- "end": "\\]",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.begin.bracket.square.array.type.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.end.bracket.square.array.type.cpp"
- }
- },
- "name": "meta.bracket.square.array.cpp",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- {
- "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(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))",
- "captures": {
- "0": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "7": {
- "name": "comment.block.cpp"
- },
- "8": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "parameter_struct": {
- "match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
- "captures": {
- "1": {
- "name": "storage.type.struct.parameter.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.struct.parameter.cpp"
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "14": {
- "name": "variable.other.object.declare.cpp"
- },
- "15": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "17": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "18": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "19": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- "parameter_union": {
- "match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
- "captures": {
- "1": {
- "name": "storage.type.union.parameter.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.union.parameter.cpp"
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "14": {
- "name": "variable.other.object.declare.cpp"
- },
- "15": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "17": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "18": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "19": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- "parentheses": {
- "begin": "\\(",
- "end": "\\)",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.parens.begin.bracket.round.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parens.end.bracket.round.cpp"
- }
- },
- "name": "meta.parens.cpp",
- "patterns": [
- {
- "include": "#over_qualified_types"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma\\b",
- "end": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma(?:\\s)+mark)(?:\\s)+(.*)",
- "captures": {
- "1": {
- "name": "keyword.control.directive.pragma.pragma-mark.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "punctuation.definition.directive.cpp"
- },
- "5": {
- "name": "entity.name.tag.pragma-mark.cpp"
- }
- },
- "name": "meta.preprocessor.pragma.cpp"
- },
- "predefined_macros": {
- "patterns": [
- {
- "match": "\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b",
- "captures": {
- "1": {
- "name": "entity.name.other.preprocessor.macro.predefined.$1.cpp"
- }
- }
- },
- {
- "match": "\\b__([A-Z_]+)__\\b",
- "name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"
- }
- ]
- },
- "preprocessor_conditional_context": {
- "patterns": [
- {
- "include": "#preprocessor_conditional_defined"
- },
- {
- "include": "#comments"
- },
- {
- "include": "#language_constants"
- },
- {
- "include": "#string_context"
- },
- {
- "include": "#d9bc4796b0b_preprocessor_number_literal"
- },
- {
- "include": "#operators"
- },
- {
- "include": "#predefined_macros"
- },
- {
- "include": "#macro_name"
- },
- {
- "include": "#line_continuation_character"
- }
- ]
- },
- "preprocessor_conditional_defined": {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:(?:ifndef|ifdef)|if))",
- "end": "^(?!\\s*+#\\s*(?:else|endif))",
- "beginCaptures": {
- "0": {
- "name": "keyword.control.directive.conditional.$6.cpp"
- },
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "punctuation.definition.directive.cpp"
- },
- "6": {}
- },
- "endCaptures": {},
- "patterns": [
- {
- "begin": "\\G(?<=ifndef|ifdef|if)",
- "end": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "punctuation.definition.directive.cpp"
- }
- },
- "name": "keyword.control.directive.$4.cpp"
- },
- "preprocessor_context": {
- "patterns": [
- {
- "include": "#pragma_mark"
- },
- {
- "include": "#pragma"
- },
- {
- "include": "#include"
- },
- {
- "include": "#line"
- },
- {
- "include": "#diagnostic"
- },
- {
- "include": "#undef"
- },
- {
- "include": "#preprocessor_conditional_range"
- },
- {
- "include": "#single_line_macro"
- },
- {
- "include": "#macro"
- },
- {
- "include": "#preprocessor_conditional_standalone"
- },
- {
- "include": "#macro_argument"
- }
- ]
- },
- "qualified_type": {
- "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)?(?![\\w<:.])",
- "captures": {
- "0": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "1": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "5": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- },
- "name": "meta.qualified_type.cpp"
- },
- "qualifiers_and_specifiers_post_parameters": {
- "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "storage.modifier.specifier.functional.post-parameters.$3.cpp"
- },
- "4": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "5": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- "scope_resolution": {
- "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#scope_resolution_inner_generated"
- }
- ]
- },
- "1": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- }
- }
- },
- "scope_resolution_function_call": {
- "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#scope_resolution_function_call_inner_generated"
- }
- ]
- },
- "1": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- }
- }
- },
- "scope_resolution_function_call_inner_generated": {
- "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#scope_resolution_function_call_inner_generated"
- }
- ]
- },
- "2": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "4": {},
- "5": {
- "name": "entity.name.scope-resolution.function.call.cpp"
- },
- "6": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "7": {},
- "8": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
- }
- }
- },
- "scope_resolution_function_definition": {
- "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#scope_resolution_function_definition_inner_generated"
- }
- ]
- },
- "1": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- }
- }
- },
- "scope_resolution_function_definition_inner_generated": {
- "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#scope_resolution_function_definition_inner_generated"
- }
- ]
- },
- "2": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "4": {},
- "5": {
- "name": "entity.name.scope-resolution.function.definition.cpp"
- },
- "6": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "7": {},
- "8": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
- }
- }
- },
- "scope_resolution_function_definition_operator_overload": {
- "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#scope_resolution_function_definition_operator_overload_inner_generated"
- }
- ]
- },
- "1": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- }
- }
- },
- "scope_resolution_function_definition_operator_overload_inner_generated": {
- "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#scope_resolution_function_definition_operator_overload_inner_generated"
- }
- ]
- },
- "2": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "4": {},
- "5": {
- "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp"
- },
- "6": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "7": {},
- "8": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
- }
- }
- },
- "scope_resolution_inner_generated": {
- "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#scope_resolution_inner_generated"
- }
- ]
- },
- "2": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "4": {},
- "5": {
- "name": "entity.name.scope-resolution.cpp"
- },
- "6": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "7": {},
- "8": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- }
- }
- },
- "scope_resolution_namespace_alias": {
- "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#scope_resolution_namespace_alias_inner_generated"
- }
- ]
- },
- "1": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- }
- }
- },
- "scope_resolution_namespace_alias_inner_generated": {
- "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#scope_resolution_namespace_alias_inner_generated"
- }
- ]
- },
- "2": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "4": {},
- "5": {
- "name": "entity.name.scope-resolution.namespace.alias.cpp"
- },
- "6": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "7": {},
- "8": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
- }
- }
- },
- "scope_resolution_namespace_block": {
- "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#scope_resolution_namespace_block_inner_generated"
- }
- ]
- },
- "1": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- }
- }
- },
- "scope_resolution_namespace_block_inner_generated": {
- "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#scope_resolution_namespace_block_inner_generated"
- }
- ]
- },
- "2": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "4": {},
- "5": {
- "name": "entity.name.scope-resolution.namespace.block.cpp"
- },
- "6": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "7": {},
- "8": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
- }
- }
- },
- "scope_resolution_namespace_using": {
- "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#scope_resolution_namespace_using_inner_generated"
- }
- ]
- },
- "1": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- }
- }
- },
- "scope_resolution_namespace_using_inner_generated": {
- "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#scope_resolution_namespace_using_inner_generated"
- }
- ]
- },
- "2": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "4": {},
- "5": {
- "name": "entity.name.scope-resolution.namespace.using.cpp"
- },
- "6": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "7": {},
- "8": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
- }
- }
- },
- "scope_resolution_parameter": {
- "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#scope_resolution_parameter_inner_generated"
- }
- ]
- },
- "1": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- }
- }
- },
- "scope_resolution_parameter_inner_generated": {
- "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#scope_resolution_parameter_inner_generated"
- }
- ]
- },
- "2": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "4": {},
- "5": {
- "name": "entity.name.scope-resolution.parameter.cpp"
- },
- "6": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "7": {},
- "8": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
- }
- }
- },
- "scope_resolution_template_call": {
- "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#scope_resolution_template_call_inner_generated"
- }
- ]
- },
- "1": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- }
- }
- },
- "scope_resolution_template_call_inner_generated": {
- "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#scope_resolution_template_call_inner_generated"
- }
- ]
- },
- "2": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "4": {},
- "5": {
- "name": "entity.name.scope-resolution.template.call.cpp"
- },
- "6": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "7": {},
- "8": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
- }
- }
- },
- "scope_resolution_template_definition": {
- "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#scope_resolution_template_definition_inner_generated"
- }
- ]
- },
- "1": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- }
- }
- },
- "scope_resolution_template_definition_inner_generated": {
- "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#scope_resolution_template_definition_inner_generated"
- }
- ]
- },
- "2": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
- },
- "3": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "4": {},
- "5": {
- "name": "entity.name.scope-resolution.template.definition.cpp"
- },
- "6": {
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- },
- "7": {},
- "8": {
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
- }
- }
- },
- "semicolon": {
- "match": ";",
- "name": "punctuation.terminator.statement.cpp"
- },
- "simple_type": {
- "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?",
- "captures": {
- "1": {
- "name": "meta.qualified_type.cpp",
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "4": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {},
- "13": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "14": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "15": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "17": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- "single_line_macro": {
- "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))#define.*(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- "sizeof_operator": {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
- }
- },
- "contentName": "meta.arguments.operator.sizeof",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "sizeof_variadic_operator": {
- "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
- }
- },
- "contentName": "meta.arguments.operator.sizeof.variadic",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "square_brackets": {
- "name": "meta.bracket.square.access",
- "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",
- "beginCaptures": {
- "1": {
- "name": "variable.other.object"
- },
- "2": {
- "name": "punctuation.definition.begin.bracket.square"
- }
- },
- "end": "\\]",
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.end.bracket.square"
- }
- },
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "standard_declares": {
- "patterns": [
- {
- "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
- "captures": {
- "1": {
- "name": "storage.type.struct.declare.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.struct.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "name": "variable.other.object.declare.cpp"
- },
- "13": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "14": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- {
- "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
- "captures": {
- "1": {
- "name": "storage.type.union.declare.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.union.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "name": "variable.other.object.declare.cpp"
- },
- "13": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "14": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- {
- "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
- "captures": {
- "1": {
- "name": "storage.type.enum.declare.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.enum.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "name": "variable.other.object.declare.cpp"
- },
- "13": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "14": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- {
- "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
- "captures": {
- "1": {
- "name": "storage.type.class.declare.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.class.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "name": "variable.other.object.declare.cpp"
- },
- "13": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "14": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- }
- ]
- },
- "static_assert": {
- "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "keyword.other.static_assert.cpp"
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "8": {
- "name": "comment.block.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "10": {
- "name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp"
- }
- },
- "patterns": [
- {
- "begin": "(,)(?:(?:\\s)+)?(?=(?:L|u8|u|U(?:(?:\\s)+)?\\\")?)",
- "end": "(?=\\))",
- "beginCaptures": {
- "1": {
- "name": "punctuation.separator.delimiter.comma.cpp"
- }
- },
- "endCaptures": {},
- "name": "meta.static_assert.message.cpp",
- "patterns": [
- {
- "include": "#string_context"
- }
- ]
- },
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "std_space": {
- "match": "(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "1": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- "storage_specifiers": {
- "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "storage.modifier.specifier.$3.cpp"
- }
- }
- },
- "storage_types": {
- "patterns": [
- {
- "include": "#storage_specifiers"
- },
- {
- "include": "#inline_builtin_storage_type"
- },
- {
- "include": "#decltype"
- },
- {
- "include": "#typename"
- }
- ]
- },
- "string_context": {
- "patterns": [
- {
- "begin": "((?:u|u8|U|L)?)\"",
- "end": "\"",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.string.begin.cpp"
- },
- "1": {
- "name": "meta.encoding.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.string.end.cpp"
- }
- },
- "name": "string.quoted.double.cpp",
- "patterns": [
- {
- "match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})",
- "name": "constant.character.escape.cpp"
- },
- {
- "match": "\\\\['\"?\\\\abfnrtv]",
- "name": "constant.character.escape.cpp"
- },
- {
- "match": "\\\\[0-7]{1,3}",
- "name": "constant.character.escape.cpp"
- },
- {
- "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
- "captures": {
- "1": {
- "name": "constant.character.escape.cpp"
- },
- "2": {
- "name": "invalid.illegal.unknown-escape.cpp"
- }
- }
- },
- {
- "include": "#string_escapes_context_c"
- }
- ]
- },
- {
- "begin": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
- "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.struct.cpp"
- },
- "1": {
- "name": "storage.type.$1.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
- "captures": {
- "1": {
- "name": "storage.type.modifier.final.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
- "captures": {
- "1": {
- "name": "entity.name.type.struct.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "storage.type.modifier.final.cpp"
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": "DLLEXPORT",
- "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
- },
- {
- "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}))*",
- "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "14": {
- "name": "comment.block.cpp"
- },
- "15": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "17": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "18": {
- "name": "comment.block.cpp"
- },
- "19": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "20": {
- "name": "punctuation.separator.colon.inheritance.cpp"
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.terminator.statement.cpp"
- },
- "2": {
- "name": "punctuation.terminator.statement.cpp"
- }
- },
- "name": "meta.block.struct.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
- }
- },
- "name": "meta.head.struct.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#inheritance_context"
- },
- {
- "include": "#template_call_range"
- }
- ]
- },
- {
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "\\}|%>|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.struct.cpp"
- }
- },
- "name": "meta.body.struct.cpp",
- "patterns": [
- {
- "include": "#function_pointer"
- },
- {
- "include": "#static_assert"
- },
- {
- "include": "#constructor_inline"
- },
- {
- "include": "#destructor_inline"
- },
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.struct.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "struct_declare": {
- "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
- "captures": {
- "1": {
- "name": "storage.type.struct.declare.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.struct.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "name": "variable.other.object.declare.cpp"
- },
- "13": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "14": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- "switch_conditional_parentheses": {
- "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp"
- }
- },
- "name": "meta.conditional.switch.cpp",
- "patterns": [
- {
- "include": "#evaluation_context"
- },
- {
- "include": "#c_conditional_context"
- }
- ]
- },
- "switch_statement": {
- "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.switch.cpp"
- },
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "5": {
- "name": "keyword.control.switch.cpp"
- }
- },
- "endCaptures": {},
- "name": "meta.block.switch.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.switch.cpp"
- }
- },
- "name": "meta.head.switch.cpp",
- "patterns": [
- {
- "include": "#switch_conditional_parentheses"
- },
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "\\}|%>|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.switch.cpp"
- }
- },
- "name": "meta.body.switch.cpp",
- "patterns": [
- {
- "include": "#default_statement"
- },
- {
- "include": "#case_statement"
- },
- {
- "include": "$self"
- },
- {
- "include": "#block_innards"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.switch.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "template_argument_defaulted": {
- "match": "(?<=<|,)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)*)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?([=])",
- "captures": {
- "1": {
- "name": "storage.type.template.cpp"
- },
- "2": {
- "name": "entity.name.type.template.cpp"
- },
- "3": {
- "name": "keyword.operator.assignment.cpp"
- }
- }
- },
- "template_call_context": {
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#template_call_range"
- },
- {
- "include": "#storage_types"
- },
- {
- "include": "#language_constants"
- },
- {
- "include": "#scope_resolution_template_call_inner_generated"
- },
- {
- "include": "#operators"
- },
- {
- "include": "#number_literal"
- },
- {
- "include": "#string_context"
- },
- {
- "include": "#comma_in_template_argument"
- },
- {
- "include": "#qualified_type"
- }
- ]
- },
- "template_call_innards": {
- "match": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<1>?)+>)(?:\\s)*+",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#template_call_range"
- }
- ]
- }
- },
- "name": "meta.template.call.cpp"
- },
- "template_call_range": {
- "begin": "<",
- "end": ">",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- "template_definition": {
- "begin": "(?",
- "beginCaptures": {
- "1": {
- "name": "storage.type.template.cpp"
- },
- "2": {
- "name": "punctuation.section.angle-brackets.start.template.definition.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.definition.cpp"
- }
- },
- "name": "meta.template.definition.cpp",
- "patterns": [
- {
- "begin": "(?<=\\w)(?:(?:\\s)+)?<",
- "end": ">",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "include": "#template_definition_context"
- }
- ]
- },
- "template_definition_argument": {
- "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))(?:(?:\\s)+)?(?:(,)|(?=>|$))",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "storage.type.template.argument.$3.cpp"
- },
- "4": {
- "patterns": [
- {
- "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}))*",
- "name": "storage.type.template.argument.$0.cpp"
- }
- ]
- },
- "5": {
- "name": "entity.name.type.template.cpp"
- },
- "6": {
- "name": "storage.type.template.cpp"
- },
- "7": {
- "name": "punctuation.vararg-ellipses.template.definition.cpp"
- },
- "8": {
- "name": "entity.name.type.template.cpp"
- },
- "9": {
- "name": "punctuation.separator.delimiter.comma.template.argument.cpp"
- }
- }
- },
- "template_definition_context": {
- "patterns": [
- {
- "include": "#scope_resolution_template_definition_inner_generated"
- },
- {
- "include": "#template_definition_argument"
- },
- {
- "include": "#template_argument_defaulted"
- },
- {
- "include": "#template_call_innards"
- },
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "template_isolated_definition": {
- "match": "(?(?:(?:\\s)+)?$)",
- "captures": {
- "1": {
- "name": "storage.type.template.cpp"
- },
- "2": {
- "name": "punctuation.section.angle-brackets.start.template.definition.cpp"
- },
- "3": {
- "name": "meta.template.definition.cpp",
- "patterns": [
- {
- "include": "#template_definition_context"
- }
- ]
- },
- "4": {
- "name": "punctuation.section.angle-brackets.end.template.definition.cpp"
- }
- }
- },
- "ternary_operator": {
- "begin": "\\?",
- "end": ":",
- "beginCaptures": {
- "0": {
- "name": "keyword.operator.ternary.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "keyword.operator.ternary.cpp"
- }
- },
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#string_context"
- },
- {
- "include": "#number_literal"
- },
- {
- "include": "#method_access"
- },
- {
- "include": "#member_access"
- },
- {
- "include": "#predefined_macros"
- },
- {
- "include": "#operators"
- },
- {
- "include": "#memory_operators"
- },
- {
- "include": "#wordlike_operators"
- },
- {
- "include": "#type_casting_operators"
- },
- {
- "include": "#control_flow_keywords"
- },
- {
- "include": "#exception_keywords"
- },
- {
- "include": "#the_this_keyword"
- },
- {
- "include": "#language_constants"
- },
- {
- "include": "#builtin_storage_type_initilizer"
- },
- {
- "include": "#qualifiers_and_specifiers_post_parameters"
- },
- {
- "include": "#functional_specifiers_pre_parameters"
- },
- {
- "include": "#storage_types"
- },
- {
- "include": "#lambdas"
- },
- {
- "include": "#attributes_context"
- },
- {
- "include": "#parentheses"
- },
- {
- "include": "#function_call"
- },
- {
- "include": "#scope_resolution_inner_generated"
- },
- {
- "include": "#square_brackets"
- },
- {
- "include": "#semicolon"
- },
- {
- "include": "#comma"
- }
- ],
- "applyEndPatternLast": 1
- },
- "the_this_keyword": {
- "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "variable.language.this.cpp"
- }
- }
- },
- "type_alias": {
- "match": "(using)(?:(?:\\s)+)?(?!namespace)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))|(.*(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)?(?:(?:\\s)+)?(?:(;)|\\n)",
- "captures": {
- "1": {
- "name": "keyword.other.using.directive.cpp"
- },
- "2": {
- "name": "meta.qualified_type.cpp",
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "4": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "5": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "14": {
- "name": "keyword.operator.assignment.cpp"
- },
- "15": {
- "name": "keyword.other.typename.cpp"
- },
- "16": {
- "patterns": [
- {
- "include": "#storage_specifiers"
- }
- ]
- },
- "17": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "18": {
- "name": "meta.qualified_type.cpp",
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "19": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "21": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "22": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "23": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "24": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "30": {
- "name": "meta.declaration.type.alias.value.unknown.cpp",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "31": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "32": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "33": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "34": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "35": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "36": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "37": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "38": {
- "name": "punctuation.definition.begin.bracket.square.cpp"
- },
- "39": {
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "40": {
- "name": "punctuation.definition.end.bracket.square.cpp"
- },
- "41": {
- "name": "punctuation.terminator.statement.cpp"
- }
- },
- "name": "meta.declaration.type.alias.cpp"
- },
- "type_casting_operators": {
- "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "3": {
- "name": "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"
- }
- }
- },
- "typedef_class": {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
- "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.class.cpp"
- },
- "1": {
- "name": "storage.type.$1.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
- "captures": {
- "1": {
- "name": "storage.type.modifier.final.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
- "captures": {
- "1": {
- "name": "entity.name.type.class.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "storage.type.modifier.final.cpp"
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": "DLLEXPORT",
- "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
- },
- {
- "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}))*",
- "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "14": {
- "name": "comment.block.cpp"
- },
- "15": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "17": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "18": {
- "name": "comment.block.cpp"
- },
- "19": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "20": {
- "name": "punctuation.separator.colon.inheritance.cpp"
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.terminator.statement.cpp"
- },
- "2": {
- "name": "punctuation.terminator.statement.cpp"
- }
- },
- "name": "meta.block.class.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.class.cpp"
- }
- },
- "name": "meta.head.class.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#inheritance_context"
- },
- {
- "include": "#template_call_range"
- }
- ]
- },
- {
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "\\}|%>|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.class.cpp"
- }
- },
- "name": "meta.body.class.cpp",
- "patterns": [
- {
- "include": "#function_pointer"
- },
- {
- "include": "#static_assert"
- },
- {
- "include": "#constructor_inline"
- },
- {
- "include": "#destructor_inline"
- },
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.class.cpp",
- "patterns": [
- {
- "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "8": {
- "name": "comment.block.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "12": {
- "name": "comment.block.cpp"
- },
- "13": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "14": {
- "name": "entity.name.type.alias.cpp"
- }
- }
- },
- {
- "match": ","
- }
- ]
- }
- ]
- }
- ]
- },
- "typedef_function_pointer": {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()",
- "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",
- "beginCaptures": {
- "1": {
- "name": "meta.qualified_type.cpp",
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "4": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "5": {
- "name": "comment.block.cpp"
- },
- "6": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "20": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "21": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "22": {
- "name": "comment.block.cpp"
- },
- "23": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "24": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "25": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "26": {
- "name": "comment.block.cpp"
- },
- "27": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "28": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "29": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "30": {
- "name": "comment.block.cpp"
- },
- "31": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "32": {
- "name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
- },
- "33": {
- "name": "punctuation.definition.function.pointer.dereference.cpp"
- },
- "34": {
- "name": "entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"
- },
- "35": {
- "name": "punctuation.definition.begin.bracket.square.cpp"
- },
- "36": {
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "37": {
- "name": "punctuation.definition.end.bracket.square.cpp"
- },
- "38": {
- "name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
- },
- "39": {
- "name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "patterns": [
- {
- "include": "#function_parameter_context"
- }
- ]
- }
- ]
- },
- "typedef_struct": {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
- "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.struct.cpp"
- },
- "1": {
- "name": "storage.type.$1.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
- "captures": {
- "1": {
- "name": "storage.type.modifier.final.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
- "captures": {
- "1": {
- "name": "entity.name.type.struct.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "storage.type.modifier.final.cpp"
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": "DLLEXPORT",
- "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
- },
- {
- "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}))*",
- "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "14": {
- "name": "comment.block.cpp"
- },
- "15": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "17": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "18": {
- "name": "comment.block.cpp"
- },
- "19": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "20": {
- "name": "punctuation.separator.colon.inheritance.cpp"
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.terminator.statement.cpp"
- },
- "2": {
- "name": "punctuation.terminator.statement.cpp"
- }
- },
- "name": "meta.block.struct.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
- }
- },
- "name": "meta.head.struct.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#inheritance_context"
- },
- {
- "include": "#template_call_range"
- }
- ]
- },
- {
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "\\}|%>|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.struct.cpp"
- }
- },
- "name": "meta.body.struct.cpp",
- "patterns": [
- {
- "include": "#function_pointer"
- },
- {
- "include": "#static_assert"
- },
- {
- "include": "#constructor_inline"
- },
- {
- "include": "#destructor_inline"
- },
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.struct.cpp",
- "patterns": [
- {
- "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "8": {
- "name": "comment.block.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "12": {
- "name": "comment.block.cpp"
- },
- "13": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "14": {
- "name": "entity.name.type.alias.cpp"
- }
- }
- },
- {
- "match": ","
- }
- ]
- }
- ]
- }
- ]
- },
- "typedef_union": {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
- "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.union.cpp"
- },
- "1": {
- "name": "storage.type.$1.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
- "captures": {
- "1": {
- "name": "storage.type.modifier.final.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
- "captures": {
- "1": {
- "name": "entity.name.type.union.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "storage.type.modifier.final.cpp"
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": "DLLEXPORT",
- "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
- },
- {
- "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}))*",
- "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "14": {
- "name": "comment.block.cpp"
- },
- "15": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "17": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "18": {
- "name": "comment.block.cpp"
- },
- "19": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "20": {
- "name": "punctuation.separator.colon.inheritance.cpp"
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.terminator.statement.cpp"
- },
- "2": {
- "name": "punctuation.terminator.statement.cpp"
- }
- },
- "name": "meta.block.union.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.union.cpp"
- }
- },
- "name": "meta.head.union.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#inheritance_context"
- },
- {
- "include": "#template_call_range"
- }
- ]
- },
- {
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "\\}|%>|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.union.cpp"
- }
- },
- "name": "meta.body.union.cpp",
- "patterns": [
- {
- "include": "#function_pointer"
- },
- {
- "include": "#static_assert"
- },
- {
- "include": "#constructor_inline"
- },
- {
- "include": "#destructor_inline"
- },
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.union.cpp",
- "patterns": [
- {
- "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "8": {
- "name": "comment.block.cpp"
- },
- "9": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "12": {
- "name": "comment.block.cpp"
- },
- "13": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "14": {
- "name": "entity.name.type.alias.cpp"
- }
- }
- },
- {
- "match": ","
- }
- ]
- }
- ]
- }
- ]
- },
- "typeid_operator": {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
- "end": "\\)",
- "beginCaptures": {
- "1": {
- "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
- }
- },
- "contentName": "meta.arguments.operator.typeid",
- "patterns": [
- {
- "include": "#evaluation_context"
- }
- ]
- },
- "typename": {
- "match": "(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)?(?![\\w<:.]))",
- "captures": {
- "1": {
- "name": "storage.modifier.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "5": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "6": {
- "name": "meta.qualified_type.cpp",
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
- },
- {
- "match": "(?",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.begin.template.call.cpp"
- }
- },
- "endCaptures": {
- "0": {
- "name": "punctuation.section.angle-brackets.end.template.call.cpp"
- }
- },
- "name": "meta.template.call.cpp",
- "patterns": [
- {
- "include": "#template_call_context"
- }
- ]
- },
- {
- "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}))*",
- "name": "entity.name.type.cpp"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "match": "::",
- "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
- },
- {
- "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "17": {}
- }
- },
- "undef": {
- "match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "punctuation.definition.directive.cpp"
- },
- "5": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "7": {
- "name": "entity.name.function.preprocessor.cpp"
- }
- },
- "name": "meta.preprocessor.undef.cpp"
- },
- "union_block": {
- "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
- "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
- "beginCaptures": {
- "0": {
- "name": "meta.head.union.cpp"
- },
- "1": {
- "name": "storage.type.$1.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#attributes_context"
- },
- {
- "include": "#number_literal"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
- "captures": {
- "1": {
- "name": "storage.type.modifier.final.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
- "captures": {
- "1": {
- "name": "entity.name.type.union.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "4": {
- "name": "comment.block.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "6": {
- "name": "storage.type.modifier.final.cpp"
- },
- "7": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "8": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "9": {
- "name": "comment.block.cpp"
- },
- "10": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- },
- {
- "match": "DLLEXPORT",
- "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
- },
- {
- "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}))*",
- "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
- }
- ]
- },
- "12": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "13": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "14": {
- "name": "comment.block.cpp"
- },
- "15": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "16": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "17": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "18": {
- "name": "comment.block.cpp"
- },
- "19": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- },
- "20": {
- "name": "punctuation.separator.colon.inheritance.cpp"
- }
- },
- "endCaptures": {
- "1": {
- "name": "punctuation.terminator.statement.cpp"
- },
- "2": {
- "name": "punctuation.terminator.statement.cpp"
- }
- },
- "name": "meta.block.union.cpp",
- "patterns": [
- {
- "begin": "\\G ?",
- "end": "(?:\\{|<%|\\?\\?<|(?=;))",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.begin.bracket.curly.union.cpp"
- }
- },
- "name": "meta.head.union.cpp",
- "patterns": [
- {
- "include": "#ever_present_context"
- },
- {
- "include": "#inheritance_context"
- },
- {
- "include": "#template_call_range"
- }
- ]
- },
- {
- "begin": "(?<=\\{|<%|\\?\\?<)",
- "end": "\\}|%>|\\?\\?>",
- "beginCaptures": {},
- "endCaptures": {
- "0": {
- "name": "punctuation.section.block.end.bracket.curly.union.cpp"
- }
- },
- "name": "meta.body.union.cpp",
- "patterns": [
- {
- "include": "#function_pointer"
- },
- {
- "include": "#static_assert"
- },
- {
- "include": "#constructor_inline"
- },
- {
- "include": "#destructor_inline"
- },
- {
- "include": "$self"
- }
- ]
- },
- {
- "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
- "end": "[\\s]*(?=;)",
- "beginCaptures": {},
- "endCaptures": {},
- "name": "meta.tail.union.cpp",
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- ]
- },
- "union_declare": {
- "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
- "captures": {
- "1": {
- "name": "storage.type.union.declare.cpp"
- },
- "2": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "3": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "4": {
- "name": "entity.name.type.union.cpp"
- },
- "5": {
- "patterns": [
- {
- "match": "\\*",
- "name": "storage.modifier.pointer.cpp"
- },
- {
- "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
- "captures": {
- "1": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "2": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "3": {
- "name": "comment.block.cpp"
- },
- "4": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- },
- "name": "invalid.illegal.reference-type.cpp"
- },
- {
- "match": "\\&",
- "name": "storage.modifier.reference.cpp"
- }
- ]
- },
- "6": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "7": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "8": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "9": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "10": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "11": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- },
- "12": {
- "name": "variable.other.object.declare.cpp"
- },
- "13": {
- "patterns": [
- {
- "include": "#inline_comment"
- }
- ]
- },
- "14": {
- "patterns": [
- {
- "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
- "captures": {
- "1": {
- "name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
- },
- "2": {
- "name": "comment.block.cpp"
- },
- "3": {
- "patterns": [
- {
- "match": "\\*\\/",
- "name": "comment.block.cpp punctuation.definition.comment.end.cpp"
- },
- {
- "match": "\\*",
- "name": "comment.block.cpp"
- }
- ]
- }
- }
- }
- ]
- }
- }
- },
- "using_name": {
- "match": "(using)(?:\\s)+(?!namespace\\b)",
- "captures": {
- "1": {
- "name": "keyword.other.using.directive.cpp"
- }
- }
- },
- "using_namespace": {
- "begin": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<6>?)+>)(?:\\s)*+)?::)*\\s*+)?((?"]
- ],
- "wordPattern": "(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)",
- "folding": {
- "markers": {
- "start": "\\{\\s*$",
- "end": "^\\s*\\}"
- }
- }
-}
diff --git a/bundles/org.eclipse.cdt.lsp/plugin.xml b/bundles/org.eclipse.cdt.lsp/plugin.xml
index a766b307..ca5f6961 100644
--- a/bundles/org.eclipse.cdt.lsp/plugin.xml
+++ b/bundles/org.eclipse.cdt.lsp/plugin.xml
@@ -82,46 +82,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ scopeName="source.cpp">