mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-24 20:26:08 +00:00
Update cpp grammar to handle macros (#80974)
This commit is contained in:
@@ -8,6 +8,7 @@ var updateGrammar = require('../../../build/npm/update-grammar');
|
||||
|
||||
updateGrammar.update('jeff-hykin/cpp-textmate-grammar', '/syntaxes/c.tmLanguage.json', './syntaxes/c.tmLanguage.json', undefined, 'master', 'source/languages/cpp/');
|
||||
updateGrammar.update('jeff-hykin/cpp-textmate-grammar', '/syntaxes/cpp.tmLanguage.json', './syntaxes/cpp.tmLanguage.json', undefined, 'master', 'source/languages/cpp/');
|
||||
updateGrammar.update('jeff-hykin/cpp-textmate-grammar', '/syntaxes/cpp.embedded.macro.tmLanguage.json', './syntaxes/cpp.embedded.macro.tmLanguage.json', undefined, 'master', 'source/languages/cpp/');
|
||||
|
||||
// `source.c.platform` which is still included by other grammars
|
||||
updateGrammar.update('textmate/c.tmbundle', 'Syntaxes/Platform.tmLanguage', './syntaxes/platform.tmLanguage.json');
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
"git": {
|
||||
"name": "jeff-hykin/cpp-textmate-grammar",
|
||||
"repositoryUrl": "https://github.com/jeff-hykin/cpp-textmate-grammar",
|
||||
"commitHash": "7e5b098736796056fa99d1ef50e1b95b6131d16c"
|
||||
"commitHash": "dd94b6a93799f2bce7e29b2515d96553e34574b0"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
"version": "1.14.3",
|
||||
"version": "1.14.5",
|
||||
"description": "The files syntaxes/c.json and syntaxes/c++.json were derived from https://github.com/atom/language-c which was originally converted from the C TextMate bundle https://github.com/textmate/c.tmbundle."
|
||||
},
|
||||
{
|
||||
|
||||
@@ -5,44 +5,82 @@
|
||||
"version": "1.0.0",
|
||||
"publisher": "vscode",
|
||||
"license": "MIT",
|
||||
"engines": { "vscode": "*" },
|
||||
"engines": {
|
||||
"vscode": "*"
|
||||
},
|
||||
"scripts": {
|
||||
"update-grammar": "node ./build/update-grammars.js"
|
||||
},
|
||||
"contributes": {
|
||||
"languages": [{
|
||||
"id": "c",
|
||||
"extensions": [ ".c", ".i"],
|
||||
"aliases": [ "C", "c" ],
|
||||
"configuration": "./language-configuration.json"
|
||||
},
|
||||
{
|
||||
"id": "cpp",
|
||||
"extensions": [ ".cpp", ".cc", ".cxx", ".c++", ".hpp", ".hh", ".hxx", ".h", ".ii", ".ino", ".inl", ".ipp", ".hpp.in", ".h.in" ],
|
||||
"aliases": [ "C++", "Cpp", "cpp"],
|
||||
"configuration": "./language-configuration.json"
|
||||
}],
|
||||
"grammars": [{
|
||||
"language": "c",
|
||||
"scopeName": "source.c",
|
||||
"path": "./syntaxes/c.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"scopeName": "source.cpp",
|
||||
"path": "./syntaxes/cpp.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"scopeName": "source.c.platform",
|
||||
"path": "./syntaxes/platform.tmLanguage.json"
|
||||
}],
|
||||
"snippets": [{
|
||||
"language": "c",
|
||||
"path": "./snippets/c.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"path": "./snippets/cpp.json"
|
||||
}]
|
||||
"languages": [
|
||||
{
|
||||
"id": "c",
|
||||
"extensions": [
|
||||
".c",
|
||||
".i"
|
||||
],
|
||||
"aliases": [
|
||||
"C",
|
||||
"c"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
},
|
||||
{
|
||||
"id": "cpp",
|
||||
"extensions": [
|
||||
".cpp",
|
||||
".cc",
|
||||
".cxx",
|
||||
".c++",
|
||||
".hpp",
|
||||
".hh",
|
||||
".hxx",
|
||||
".h",
|
||||
".ii",
|
||||
".ino",
|
||||
".inl",
|
||||
".ipp",
|
||||
".hpp.in",
|
||||
".h.in"
|
||||
],
|
||||
"aliases": [
|
||||
"C++",
|
||||
"Cpp",
|
||||
"cpp"
|
||||
],
|
||||
"configuration": "./language-configuration.json"
|
||||
}
|
||||
],
|
||||
"grammars": [
|
||||
{
|
||||
"language": "c",
|
||||
"scopeName": "source.c",
|
||||
"path": "./syntaxes/c.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"scopeName": "source.cpp.embedded.macro",
|
||||
"path": "./syntaxes/cpp.embedded.macro.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"scopeName": "source.cpp",
|
||||
"path": "./syntaxes/cpp.tmLanguage.json"
|
||||
},
|
||||
{
|
||||
"scopeName": "source.c.platform",
|
||||
"path": "./syntaxes/platform.tmLanguage.json"
|
||||
}
|
||||
],
|
||||
"snippets": [
|
||||
{
|
||||
"language": "c",
|
||||
"path": "./snippets/c.json"
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"path": "./snippets/cpp.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"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/7e5b098736796056fa99d1ef50e1b95b6131d16c",
|
||||
"version": "https://github.com/jeff-hykin/cpp-textmate-grammar/commit/dd94b6a93799f2bce7e29b2515d96553e34574b0",
|
||||
"name": "C",
|
||||
"scopeName": "source.c",
|
||||
"patterns": [
|
||||
@@ -1150,93 +1150,89 @@
|
||||
"comments": {
|
||||
"patterns": [
|
||||
{
|
||||
"name": "comment.line.documentation.c",
|
||||
"while": "(?-mix:(?:^)(?>\\s*)(\\/\\/[!\\/]+))",
|
||||
"whileCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.continuation.documentation.c"
|
||||
}
|
||||
},
|
||||
"begin": "(\\/\\/[!\\/]+)",
|
||||
"beginCaptures": {
|
||||
"match": "(?:^)(?>\\s*)(\\/\\/[!\\/]+)(.*)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.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+(\\b\\w+\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"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++(?!(?:\\n|$))",
|
||||
"name": "invalid.unknown.documentation.command.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+(\\b\\w+\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"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++(?!(?:\\n|$))",
|
||||
"name": "invalid.unknown.documentation.command.c"
|
||||
}
|
||||
]
|
||||
"name": "comment.line.double-slash.documentation.c"
|
||||
},
|
||||
{
|
||||
"match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
|
||||
@@ -1328,7 +1324,7 @@
|
||||
},
|
||||
{
|
||||
"name": "comment.block.documentation.c",
|
||||
"begin": "(\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s)))",
|
||||
"begin": "((?>\\s*)\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s)))",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.begin.documentation.c"
|
||||
@@ -1341,89 +1337,6 @@
|
||||
}
|
||||
},
|
||||
"patterns": [
|
||||
{
|
||||
"while": "(?-mix:(?:^)(?>\\s*)(?![!*]*\\*\\/)((?>\\**)))",
|
||||
"whileCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.continuation.documentation.c"
|
||||
}
|
||||
},
|
||||
"begin": "\\G",
|
||||
"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+(\\b\\w+\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.c"
|
||||
},
|
||||
"2": {
|
||||
"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++(?!(?:\\n|$))",
|
||||
"name": "invalid.unknown.documentation.command.c"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
|
||||
15982
extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json
Normal file
15982
extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json
Normal file
File diff suppressed because one or more lines are too long
@@ -4,7 +4,7 @@
|
||||
"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/f474f06151d2d86bc78de3503b4aed22d7177c91",
|
||||
"version": "https://github.com/jeff-hykin/cpp-textmate-grammar/commit/dd94b6a93799f2bce7e29b2515d96553e34574b0",
|
||||
"name": "C++",
|
||||
"scopeName": "source.cpp",
|
||||
"patterns": [
|
||||
@@ -1502,6 +1502,268 @@
|
||||
},
|
||||
"comments": {
|
||||
"patterns": [
|
||||
{
|
||||
"match": "(?:^)(?>\\s*)(\\/\\/[!\\/]+)(.*)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.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+(\\b\\w+\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"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|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|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.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
|
||||
"name": "storage.type.class.gtkdoc.cpp"
|
||||
},
|
||||
{
|
||||
"match": "[\\\\@]\\S++(?!(?:\\n|$))",
|
||||
"name": "invalid.unknown.documentation.command.cpp"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"name": "comment.line.double-slash.documentation.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+(\\b\\w+\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"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|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|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.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
|
||||
"name": "storage.type.class.gtkdoc.cpp"
|
||||
},
|
||||
{
|
||||
"match": "[\\\\@]\\S++(?!(?:\\n|$))",
|
||||
"name": "invalid.unknown.documentation.command.cpp"
|
||||
}
|
||||
]
|
||||
},
|
||||
"3": {
|
||||
"name": "punctuation.definition.comment.end.documentation.cpp"
|
||||
}
|
||||
},
|
||||
"name": "comment.block.documentation.cpp"
|
||||
},
|
||||
{
|
||||
"name": "comment.block.documentation.cpp",
|
||||
"begin": "((?>\\s*)\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s)))",
|
||||
"beginCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.begin.documentation.cpp"
|
||||
}
|
||||
},
|
||||
"end": "([!*]*\\*\\/)",
|
||||
"endCaptures": {
|
||||
"1": {
|
||||
"name": "punctuation.definition.comment.end.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+(\\b\\w+\\b)",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.doxygen.cpp"
|
||||
},
|
||||
"2": {
|
||||
"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|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|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.cpp"
|
||||
},
|
||||
{
|
||||
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
|
||||
"name": "storage.type.class.gtkdoc.cpp"
|
||||
},
|
||||
{
|
||||
"match": "[\\\\@]\\S++(?!(?:\\n|$))",
|
||||
"name": "invalid.unknown.documentation.command.cpp"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"include": "#emacs_file_banner"
|
||||
},
|
||||
@@ -6911,6 +7173,9 @@
|
||||
},
|
||||
{
|
||||
"include": "#comma"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7270,6 +7535,9 @@
|
||||
},
|
||||
{
|
||||
"include": "#comma"
|
||||
},
|
||||
{
|
||||
"include": "#comments"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -13574,7 +13842,7 @@
|
||||
]
|
||||
},
|
||||
"struct_declare": {
|
||||
"match": "(struct)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?!:)",
|
||||
"match": "(struct)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?![:{])",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.struct.declare.cpp"
|
||||
@@ -13756,7 +14024,7 @@
|
||||
}
|
||||
},
|
||||
"union_declare": {
|
||||
"match": "(union)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?!:)",
|
||||
"match": "(union)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?![:{])",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.union.declare.cpp"
|
||||
@@ -13938,7 +14206,7 @@
|
||||
}
|
||||
},
|
||||
"enum_declare": {
|
||||
"match": "(enum)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?!:)",
|
||||
"match": "(enum)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?![:{])",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.enum.declare.cpp"
|
||||
@@ -14120,7 +14388,7 @@
|
||||
}
|
||||
},
|
||||
"class_declare": {
|
||||
"match": "(class)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?!:)",
|
||||
"match": "(class)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))?(?:(?:\\&|\\*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))*(?:\\&|\\*))?((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\b(?!final\\W|final\\$|override\\W|override\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?=\\S)(?![:{])",
|
||||
"captures": {
|
||||
"1": {
|
||||
"name": "storage.type.class.declare.cpp"
|
||||
|
||||
13
extensions/cpp/test/colorize-fixtures/test-78769.cpp
Normal file
13
extensions/cpp/test/colorize-fixtures/test-78769.cpp
Normal file
@@ -0,0 +1,13 @@
|
||||
#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, decorators) \
|
||||
namespace { \
|
||||
struct der : public base \
|
||||
{ \
|
||||
void f(); \
|
||||
}; \
|
||||
static void func() { \
|
||||
der v; \
|
||||
v.f(); \
|
||||
} \
|
||||
DOCTEST_REGISTER_FUNCTION(DOCTEST_EMPTY, func, decorators) \
|
||||
} \
|
||||
inline DOCTEST_NOINLINE void der::f()
|
||||
1190
extensions/cpp/test/colorize-results/test-78769_cpp.json
Normal file
1190
extensions/cpp/test/colorize-results/test-78769_cpp.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -198,8 +198,8 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " extern \"C\"",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp",
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.extern.cpp",
|
||||
"r": {
|
||||
"dark_plus": "meta.preprocessor: #569CD6",
|
||||
"light_plus": "meta.preprocessor: #0000FF",
|
||||
@@ -208,6 +208,61 @@
|
||||
"hc_black": "meta.preprocessor: #569CD6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "extern",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.extern.cpp meta.head.extern.cpp storage.type.extern.cpp",
|
||||
"r": {
|
||||
"dark_plus": "storage.type: #569CD6",
|
||||
"light_plus": "storage.type: #0000FF",
|
||||
"dark_vs": "storage.type: #569CD6",
|
||||
"light_vs": "storage.type: #0000FF",
|
||||
"hc_black": "storage.type: #569CD6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": " ",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.extern.cpp meta.head.extern.cpp",
|
||||
"r": {
|
||||
"dark_plus": "meta.preprocessor: #569CD6",
|
||||
"light_plus": "meta.preprocessor: #0000FF",
|
||||
"dark_vs": "meta.preprocessor: #569CD6",
|
||||
"light_vs": "meta.preprocessor: #0000FF",
|
||||
"hc_black": "meta.preprocessor: #569CD6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "\"",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.extern.cpp meta.head.extern.cpp string.quoted.double.cpp punctuation.definition.string.begin.cpp",
|
||||
"r": {
|
||||
"dark_plus": "string: #CE9178",
|
||||
"light_plus": "string: #A31515",
|
||||
"dark_vs": "string: #CE9178",
|
||||
"light_vs": "string: #A31515",
|
||||
"hc_black": "string: #CE9178"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "C",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.extern.cpp meta.head.extern.cpp string.quoted.double.cpp",
|
||||
"r": {
|
||||
"dark_plus": "string: #CE9178",
|
||||
"light_plus": "string: #A31515",
|
||||
"dark_vs": "string: #CE9178",
|
||||
"light_vs": "string: #A31515",
|
||||
"hc_black": "string: #CE9178"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "\"",
|
||||
"t": "source.cpp meta.preprocessor.macro.cpp meta.block.extern.cpp meta.head.extern.cpp string.quoted.double.cpp punctuation.definition.string.end.cpp",
|
||||
"r": {
|
||||
"dark_plus": "string: #CE9178",
|
||||
"light_plus": "string: #A31515",
|
||||
"dark_vs": "string: #CE9178",
|
||||
"light_vs": "string: #A31515",
|
||||
"hc_black": "string: #CE9178"
|
||||
}
|
||||
},
|
||||
{
|
||||
"c": "class",
|
||||
"t": "source.cpp meta.block.class.cpp meta.head.class.cpp storage.type.class.cpp",
|
||||
|
||||
Reference in New Issue
Block a user