@kong-ui-public/documentation 0.7.15 → 0.7.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{arc-CinmSIDH-Dcn7KGvc.js → arc-TomPQHIy---TPh_09.js} +1 -1
- package/dist/{blockDiagram-6b2b5046-lWu5MHZ2-BoOEWYD6.js → blockDiagram-6b2b5046-ZGxr7RGf-EFYzImkx.js} +5 -5
- package/dist/{c4Diagram-b947cdbb-_2ZSBCRj-BUDh5aYq.js → c4Diagram-b947cdbb-Bo6xALld-By3Ipo31.js} +2 -2
- package/dist/{channel-DxVjAaZy-IJf5_8CK.js → channel-BX3TjCqa-BSbXCWf0.js} +1 -1
- package/dist/{classDiagram-35230388-C7cMop8F-DuBGfvGp.js → classDiagram-35230388-C60SAKfJ-BIzFDuBu.js} +5 -5
- package/dist/{classDiagram-v2-412acd34-Sr_pGTUt-AuJo5LIE.js → classDiagram-v2-412acd34-CHK1KDqU-6VImEfmh.js} +5 -5
- package/dist/{clone-BaxuDe_X-CSbtQIgr.js → clone-BSWoNj0I-tckXyhCL.js} +1 -1
- package/dist/{cpp-DizfY48B-CA38N4Mn.js → cpp-Cxnlk9aI-CRrZJBoZ.js} +45 -14
- package/dist/{createText-423428c9-DSXJlj3p-CmtLQWob.js → createText-423428c9-DeHbckoy-BD9j3egy.js} +1 -1
- package/dist/{csharp-uGDiXTZn-uGDiXTZn.js → csharp-lrxu4vbW-lrxu4vbW.js} +1 -1
- package/dist/documentation.es.js +1 -1
- package/dist/documentation.umd.js +120 -95
- package/dist/{edges-d417c7a0-D20zX-94-B8CphGxt.js → edges-d417c7a0-D7e9Y4V--CivEDAj5.js} +3 -3
- package/dist/{erDiagram-0ea73325-p8FwyJvU-C0OgYqUN.js → erDiagram-0ea73325-E3jchkiK-BxNGtI50.js} +4 -4
- package/dist/{flowDb-d35e309a-Ca4FSAVM-WQMmXDja.js → flowDb-d35e309a-Dch1VW7i-WcIHFymz.js} +1 -1
- package/dist/{flowDiagram-d949d7c1-OwxKQJQE-D3HzuONU.js → flowDiagram-d949d7c1-CxjmKfBF-fN72q9OZ.js} +6 -6
- package/dist/{flowDiagram-v2-49332944-CmJFqFX3-BpyxAjBd.js → flowDiagram-v2-49332944-Duf6j7PN-F_OgPOA9.js} +5 -5
- package/dist/{flowchart-elk-definition-27cc417a-BK-QJI5S-CNQPwu_u.js → flowchart-elk-definition-27cc417a-M-lK4i48-BrhcUjqH.js} +4 -4
- package/dist/{ganttDiagram-5c869e3b-DsJMAz4f-CtgkK1FL.js → ganttDiagram-5c869e3b-CgjZsm2H-Cz1ShEgl.js} +2 -2
- package/dist/{gitGraphDiagram-b9d81de9-CgW7vwTs-Dww-gIrc.js → gitGraphDiagram-b9d81de9-DhOfBQfl-XNLvuj9e.js} +1 -1
- package/dist/go-vGwKyyRt-vGwKyyRt.js +7 -0
- package/dist/{graph-_GyIwSxm-B_vR7apB.js → graph-Ch18bQn5-DLZlxaOx.js} +1 -1
- package/dist/{haml-BW9Ug1pj-rFDS-Rd4.js → haml-DADkvXbc--0AW274F.js} +1 -1
- package/dist/{handlebars-Cr5ro0bH-CLcCNLtV.js → handlebars-Cs7BocNX-Bbsv9Jpf.js} +1 -1
- package/dist/{index-8fae9850-CyqCz_ca-cnk5n7Fe.js → index-8fae9850-kUIz8xNo-DThnA9iZ.js} +6 -6
- package/dist/{index-BIPKSlhn.js → index-DwEVUtAn.js} +1216 -1158
- package/dist/{infoDiagram-db7b18fc-0P3OTShw-Bp1eVumE.js → infoDiagram-db7b18fc-BpBtHVy2-CzlbkPep.js} +1 -1
- package/dist/{journeyDiagram-d5636530-DaBgA-aj-Z9L2Q9UD.js → journeyDiagram-d5636530-CZUFMDTA-B6x8SC3m.js} +3 -3
- package/dist/{latex-BOFs-Cxs-XUibdaju.js → latex-BQR4t-v7-DUtGkmwG.js} +3 -3
- package/dist/{layout-Bk7AdqJz-DRyrmTYm.js → layout-BzV691RN-Dwqgf_2b.js} +2 -2
- package/dist/{line-B7Dd0TiT-HVx0CjRf.js → line-JCh8JM-V-BbfA3RBV.js} +1 -1
- package/dist/{linear-bMW21eJn-BiTwGlLg.js → linear-cwTFOJBq-CaAAYk8b.js} +1 -1
- package/dist/{markdown-BXjY0Nyq-BXjY0Nyq.js → markdown-QuoPq0lm-QuoPq0lm.js} +1 -1
- package/dist/{material-theme-lighter-BRE1Bis3-BRE1Bis3.js → material-theme-lighter-CtwOYHJ5-CtwOYHJ5.js} +4 -4
- package/dist/{material-theme-palenight-Dhz61Tee-Dhz61Tee.js → material-theme-palenight-LzvMi3a5-LzvMi3a5.js} +4 -4
- package/dist/{mdc-B5nxCaLl-DMu34E1J.js → mdc-BZ-izL1S-5yLspiGp.js} +2 -2
- package/dist/mermaid-BDRJ-IyY-BDRJ-IyY.js +7 -0
- package/dist/{mindmap-definition-377f8f1f-ufN3tUA6-DrATq7p8.js → mindmap-definition-377f8f1f-BzIPdpBG-DGui0RqE.js} +2 -2
- package/dist/{pieDiagram-b0208e96-DrO8Y6_Q-qz1Vqf8G.js → pieDiagram-b0208e96-BQfpnZHG-CVSpIMRU.js} +2 -2
- package/dist/{quadrantDiagram-0332be45-DIp67xs6-CWxwUwJf.js → quadrantDiagram-0332be45-CNL4JCrn-B-f5sqU9.js} +2 -2
- package/dist/{requirementDiagram-bf7890df-BSzVPfZD-CzxSaoYW.js → requirementDiagram-bf7890df-NBqqCuPF-DAcckKVN.js} +4 -4
- package/dist/{rst-BrJuKOw1-B4ad15qt.js → rst-C6H9eA63-CVvBdizz.js} +2 -2
- package/dist/{sankeyDiagram-0acdec17-prPA1qqX-DBebH8FH.js → sankeyDiagram-0acdec17-YE0ROy8d-BWnyTcog.js} +1 -1
- package/dist/{sequenceDiagram-c18d009d-BAWs2OYL-Cl7Uk4w9.js → sequenceDiagram-c18d009d-Yucxrjw7-DpvimznV.js} +2 -2
- package/dist/{stateDiagram-43596fc0-DXEJ0R4o-cB0WlEf9.js → stateDiagram-43596fc0-D9IY4Ssi-CWdS8tlp.js} +5 -5
- package/dist/{stateDiagram-v2-2ead4f9c-DnzyCUgr-DQ4IkVrl.js → stateDiagram-v2-2ead4f9c-5IZQWbnV-6NEZ7lDP.js} +5 -5
- package/dist/{styles-6860f46c-DzVPBoYT-g58cIxdl.js → styles-6860f46c-DHqkrPDU-CvROn0Ze.js} +1 -1
- package/dist/{styles-7383a064-BL-LjhLx-DdruT6_O.js → styles-7383a064-DLbSva3T-D6oc5Ax7.js} +4 -4
- package/dist/{styles-b2c874b6-BCYk3bdu-CLfur12t.js → styles-b2c874b6-pUAi9-OK-C2ht5iWP.js} +1 -1
- package/dist/{svelte-BmPQnTph-DumSF5rK.js → svelte-DQ3ivDeH-pP8_2byG.js} +1 -1
- package/dist/{svgDrawCommon-0ee1b4e9-CUz2naLo-Bok-bE1n.js → svgDrawCommon-0ee1b4e9-rbw7BPwi-Do627-9u.js} +1 -1
- package/dist/{swift-x2DVyVjN-Bz5PC9YM.js → swift-DZjxY9Jt-5mfhvx3X.js} +2 -2
- package/dist/{timeline-definition-d977decf-BSETSy08-C-kk4S0n.js → timeline-definition-d977decf-CtlVf6FF-DxPrMfc5.js} +2 -2
- package/dist/{vue-DoU_Nr9K-Cj2gXb1y.js → vue-CdtKg2_f-Bw_hVDv3.js} +7 -7
- package/dist/{vue-html-iC7i5f9n-Cfh5ktA3.js → vue-html-CSuHLn0Q-CWbLQcnI.js} +1 -1
- package/dist/{xychartDiagram-e50adddc-C82b8cby-B-sVwnzU.js → xychartDiagram-e50adddc-B9qgoJob-BowGMlAq.js} +4 -4
- package/dist/{yaml-PGla5xPP-HJurM_FJ.js → yaml-BEu5ErCD-82IBfEy4.js} +1 -1
- package/package.json +6 -6
- package/dist/go-BEtjQGEI-BEtjQGEI.js +0 -7
- package/dist/mermaid-D-iYNLeg-D-iYNLeg.js +0 -7
|
@@ -1,11 +1,40 @@
|
|
|
1
|
-
import
|
|
1
|
+
import c from "./c-eDnjw9rh-eDnjw9rh.js";
|
|
2
2
|
import e from "./sql-DkzN59UV-DkzN59UV.js";
|
|
3
|
-
const
|
|
3
|
+
const a = Object.freeze({ displayName: "RegExp", fileTypes: ["re"], name: "regexp", patterns: [{ include: "#regexp-expression" }], repository: { codetags: { captures: { 1: { name: "keyword.codetag.notation.python" } }, match: "(?:\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\b)" }, "fregexp-base-expression": { patterns: [{ include: "#fregexp-quantifier" }, { include: "#fstring-formatting-braces" }, { match: "\\{.*?\\}" }, { include: "#regexp-base-common" }] }, "fregexp-quantifier": { match: `(?x)
|
|
4
|
+
\\{\\{(
|
|
5
|
+
\\d+ | \\d+,(\\d+)? | ,\\d+
|
|
6
|
+
)\\}\\}
|
|
7
|
+
`, name: "keyword.operator.quantifier.regexp" }, "fstring-formatting-braces": { patterns: [{ captures: { 1: { name: "constant.character.format.placeholder.other.python" }, 2: { name: "invalid.illegal.brace.python" }, 3: { name: "constant.character.format.placeholder.other.python" } }, comment: "empty braces are illegal", match: "({)(\\s*?)(})" }, { match: "({{|}})", name: "constant.character.escape.python" }] }, "regexp-backreference": { captures: { 1: { name: "support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp" }, 2: { name: "entity.name.tag.named.backreference.regexp" }, 3: { name: "support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp" } }, match: `(?x)
|
|
8
|
+
(\\() (\\?P= \\w+(?:\\s+[[:alnum:]]+)?) (\\))
|
|
9
|
+
`, name: "meta.backreference.named.regexp" }, "regexp-backreference-number": { captures: { 1: { name: "entity.name.tag.backreference.regexp" } }, match: "(\\\\[1-9]\\d?)", name: "meta.backreference.regexp" }, "regexp-base-common": { patterns: [{ match: "\\.", name: "support.other.match.any.regexp" }, { match: "\\^", name: "support.other.match.begin.regexp" }, { match: "\\$", name: "support.other.match.end.regexp" }, { match: "[+*?]\\??", name: "keyword.operator.quantifier.regexp" }, { match: "\\|", name: "keyword.operator.disjunction.regexp" }, { include: "#regexp-escape-sequence" }] }, "regexp-base-expression": { patterns: [{ include: "#regexp-quantifier" }, { include: "#regexp-base-common" }] }, "regexp-character-set": { patterns: [{ match: `(?x)
|
|
10
|
+
\\[ \\^? \\] (?! .*?\\])
|
|
11
|
+
` }, { begin: "(\\[)(\\^)?(\\])?", beginCaptures: { 1: { name: "punctuation.character.set.begin.regexp constant.other.set.regexp" }, 2: { name: "keyword.operator.negation.regexp" }, 3: { name: "constant.character.set.regexp" } }, end: "(\\])", endCaptures: { 1: { name: "punctuation.character.set.end.regexp constant.other.set.regexp" }, 2: { name: "invalid.illegal.newline.python" } }, name: "meta.character.set.regexp", patterns: [{ include: "#regexp-charecter-set-escapes" }, { match: "[^\\n]", name: "constant.character.set.regexp" }] }] }, "regexp-charecter-set-escapes": { patterns: [{ match: "\\\\[abfnrtv\\\\]", name: "constant.character.escape.regexp" }, { include: "#regexp-escape-special" }, { match: "\\\\([0-7]{1,3})", name: "constant.character.escape.regexp" }, { include: "#regexp-escape-character" }, { include: "#regexp-escape-unicode" }, { include: "#regexp-escape-catchall" }] }, "regexp-comments": { begin: "\\(\\?#", beginCaptures: { 0: { name: "punctuation.comment.begin.regexp" } }, end: "(\\))", endCaptures: { 1: { name: "punctuation.comment.end.regexp" }, 2: { name: "invalid.illegal.newline.python" } }, name: "comment.regexp", patterns: [{ include: "#codetags" }] }, "regexp-conditional": { begin: "(\\()\\?\\((\\w+(?:\\s+[[:alnum:]]+)?|\\d+)\\)", beginCaptures: { 0: { name: "keyword.operator.conditional.regexp" }, 1: { name: "punctuation.parenthesis.conditional.begin.regexp" } }, end: "(\\))", endCaptures: { 1: { name: "keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp" }, 2: { name: "invalid.illegal.newline.python" } }, patterns: [{ include: "#regexp-expression" }] }, "regexp-escape-catchall": { match: "\\\\(.|\\n)", name: "constant.character.escape.regexp" }, "regexp-escape-character": { match: `(?x)
|
|
12
|
+
\\\\ (
|
|
13
|
+
x[0-9A-Fa-f]{2}
|
|
14
|
+
| 0[0-7]{1,2}
|
|
15
|
+
| [0-7]{3}
|
|
16
|
+
)
|
|
17
|
+
`, name: "constant.character.escape.regexp" }, "regexp-escape-sequence": { patterns: [{ include: "#regexp-escape-special" }, { include: "#regexp-escape-character" }, { include: "#regexp-escape-unicode" }, { include: "#regexp-backreference-number" }, { include: "#regexp-escape-catchall" }] }, "regexp-escape-special": { match: "\\\\([AbBdDsSwWZ])", name: "support.other.escape.special.regexp" }, "regexp-escape-unicode": { match: `(?x)
|
|
18
|
+
\\\\ (
|
|
19
|
+
u[0-9A-Fa-f]{4}
|
|
20
|
+
| U[0-9A-Fa-f]{8}
|
|
21
|
+
)
|
|
22
|
+
`, name: "constant.character.unicode.regexp" }, "regexp-expression": { patterns: [{ include: "#regexp-base-expression" }, { include: "#regexp-character-set" }, { include: "#regexp-comments" }, { include: "#regexp-flags" }, { include: "#regexp-named-group" }, { include: "#regexp-backreference" }, { include: "#regexp-lookahead" }, { include: "#regexp-lookahead-negative" }, { include: "#regexp-lookbehind" }, { include: "#regexp-lookbehind-negative" }, { include: "#regexp-conditional" }, { include: "#regexp-parentheses-non-capturing" }, { include: "#regexp-parentheses" }] }, "regexp-flags": { match: "\\(\\?[aiLmsux]+\\)", name: "storage.modifier.flag.regexp" }, "regexp-lookahead": { begin: "(\\()\\?=", beginCaptures: { 0: { name: "keyword.operator.lookahead.regexp" }, 1: { name: "punctuation.parenthesis.lookahead.begin.regexp" } }, end: "(\\))", endCaptures: { 1: { name: "keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp" }, 2: { name: "invalid.illegal.newline.python" } }, patterns: [{ include: "#regexp-expression" }] }, "regexp-lookahead-negative": { begin: "(\\()\\?!", beginCaptures: { 0: { name: "keyword.operator.lookahead.negative.regexp" }, 1: { name: "punctuation.parenthesis.lookahead.begin.regexp" } }, end: "(\\))", endCaptures: { 1: { name: "keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp" }, 2: { name: "invalid.illegal.newline.python" } }, patterns: [{ include: "#regexp-expression" }] }, "regexp-lookbehind": { begin: "(\\()\\?<=", beginCaptures: { 0: { name: "keyword.operator.lookbehind.regexp" }, 1: { name: "punctuation.parenthesis.lookbehind.begin.regexp" } }, end: "(\\))", endCaptures: { 1: { name: "keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp" }, 2: { name: "invalid.illegal.newline.python" } }, patterns: [{ include: "#regexp-expression" }] }, "regexp-lookbehind-negative": { begin: "(\\()\\?<!", beginCaptures: { 0: { name: "keyword.operator.lookbehind.negative.regexp" }, 1: { name: "punctuation.parenthesis.lookbehind.begin.regexp" } }, end: "(\\))", endCaptures: { 1: { name: "keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp" }, 2: { name: "invalid.illegal.newline.python" } }, patterns: [{ include: "#regexp-expression" }] }, "regexp-named-group": { begin: `(?x)
|
|
23
|
+
(\\() (\\?P <\\w+(?:\\s+[[:alnum:]]+)?>)
|
|
24
|
+
`, beginCaptures: { 1: { name: "support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp" }, 2: { name: "entity.name.tag.named.group.regexp" } }, end: "(\\))", endCaptures: { 1: { name: "support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp" }, 2: { name: "invalid.illegal.newline.python" } }, name: "meta.named.regexp", patterns: [{ include: "#regexp-expression" }] }, "regexp-parentheses": { begin: "\\(", beginCaptures: { 0: { name: "support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp" } }, end: "(\\))", endCaptures: { 1: { name: "support.other.parenthesis.regexp punctuation.parenthesis.end.regexp" }, 2: { name: "invalid.illegal.newline.python" } }, patterns: [{ include: "#regexp-expression" }] }, "regexp-parentheses-non-capturing": { begin: "\\(\\?:", beginCaptures: { 0: { name: "support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp" } }, end: "(\\))", endCaptures: { 1: { name: "support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp" }, 2: { name: "invalid.illegal.newline.python" } }, patterns: [{ include: "#regexp-expression" }] }, "regexp-quantifier": { match: `(?x)
|
|
25
|
+
\\{(
|
|
26
|
+
\\d+ | \\d+,(\\d+)? | ,\\d+
|
|
27
|
+
)\\}
|
|
28
|
+
`, name: "keyword.operator.quantifier.regexp" } }, scopeName: "source.regexp.python", aliases: ["regex"] });
|
|
4
29
|
var n = [
|
|
5
|
-
|
|
6
|
-
c
|
|
30
|
+
a
|
|
7
31
|
];
|
|
8
|
-
const
|
|
32
|
+
const i = Object.freeze({ displayName: "GLSL", fileTypes: ["vs", "fs", "gs", "vsh", "fsh", "gsh", "vshader", "fshader", "gshader", "vert", "frag", "geom", "f.glsl", "v.glsl", "g.glsl"], foldingStartMarker: "/\\*\\*|\\{\\s*$", foldingStopMarker: "\\*\\*/|^\\s*\\}", name: "glsl", patterns: [{ match: "\\b(break|case|continue|default|discard|do|else|for|if|return|switch|while)\\b", name: "keyword.control.glsl" }, { match: "\\b(void|bool|int|uint|float|vec2|vec3|vec4|bvec2|bvec3|bvec4|ivec2|ivec2|ivec3|uvec2|uvec2|uvec3|mat2|mat3|mat4|mat2x2|mat2x3|mat2x4|mat3x2|mat3x3|mat3x4|mat4x2|mat4x3|mat4x4|sampler[1|2|3]D|samplerCube|sampler2DRect|sampler[1|2]DShadow|sampler2DRectShadow|sampler[1|2]DArray|sampler[1|2]DArrayShadow|samplerBuffer|sampler2DMS|sampler2DMSArray|struct|isampler[1|2|3]D|isamplerCube|isampler2DRect|isampler[1|2]DArray|isamplerBuffer|isampler2DMS|isampler2DMSArray|usampler[1|2|3]D|usamplerCube|usampler2DRect|usampler[1|2]DArray|usamplerBuffer|usampler2DMS|usampler2DMSArray)\\b", name: "storage.type.glsl" }, { match: "\\b(attribute|centroid|const|flat|in|inout|invariant|noperspective|out|smooth|uniform|varying)\\b", name: "storage.modifier.glsl" }, { match: "\\b(gl_BackColor|gl_BackLightModelProduct|gl_BackLightProduct|gl_BackMaterial|gl_BackSecondaryColor|gl_ClipDistance|gl_ClipPlane|gl_ClipVertex|gl_Color|gl_DepthRange|gl_DepthRangeParameters|gl_EyePlaneQ|gl_EyePlaneR|gl_EyePlaneS|gl_EyePlaneT|gl_Fog|gl_FogCoord|gl_FogFragCoord|gl_FogParameters|gl_FragColor|gl_FragCoord|gl_FragDat|gl_FragDept|gl_FrontColor|gl_FrontFacing|gl_FrontLightModelProduct|gl_FrontLightProduct|gl_FrontMaterial|gl_FrontSecondaryColor|gl_InstanceID|gl_Layer|gl_LightModel|gl_LightModelParameters|gl_LightModelProducts|gl_LightProducts|gl_LightSource|gl_LightSourceParameters|gl_MaterialParameters|gl_ModelViewMatrix|gl_ModelViewMatrixInverse|gl_ModelViewMatrixInverseTranspose|gl_ModelViewMatrixTranspose|gl_ModelViewProjectionMatrix|gl_ModelViewProjectionMatrixInverse|gl_ModelViewProjectionMatrixInverseTranspose|gl_ModelViewProjectionMatrixTranspose|gl_MultiTexCoord[0-7]|gl_Normal|gl_NormalMatrix|gl_NormalScale|gl_ObjectPlaneQ|gl_ObjectPlaneR|gl_ObjectPlaneS|gl_ObjectPlaneT|gl_Point|gl_PointCoord|gl_PointParameters|gl_PointSize|gl_Position|gl_PrimitiveIDIn|gl_ProjectionMatrix|gl_ProjectionMatrixInverse|gl_ProjectionMatrixInverseTranspose|gl_ProjectionMatrixTranspose|gl_SecondaryColor|gl_TexCoord|gl_TextureEnvColor|gl_TextureMatrix|gl_TextureMatrixInverse|gl_TextureMatrixInverseTranspose|gl_TextureMatrixTranspose|gl_Vertex|gl_VertexIDh)\\b", name: "support.variable.glsl" }, { match: "\\b(gl_MaxClipPlanes|gl_MaxCombinedTextureImageUnits|gl_MaxDrawBuffers|gl_MaxFragmentUniformComponents|gl_MaxLights|gl_MaxTextureCoords|gl_MaxTextureImageUnits|gl_MaxTextureUnits|gl_MaxVaryingFloats|gl_MaxVertexAttribs|gl_MaxVertexTextureImageUnits|gl_MaxVertexUniformComponents)\\b", name: "support.constant.glsl" }, { match: "\\b(abs|acos|all|any|asin|atan|ceil|clamp|cos|cross|degrees|dFdx|dFdy|distance|dot|equal|exp|exp2|faceforward|floor|fract|ftransform|fwidth|greaterThan|greaterThanEqual|inversesqrt|length|lessThan|lessThanEqual|log|log2|matrixCompMult|max|min|mix|mod|noise[1-4]|normalize|not|notEqual|outerProduct|pow|radians|reflect|refract|shadow1D|shadow1DLod|shadow1DProj|shadow1DProjLod|shadow2D|shadow2DLod|shadow2DProj|shadow2DProjLod|sign|sin|smoothstep|sqrt|step|tan|texture1D|texture1DLod|texture1DProj|texture1DProjLod|texture2D|texture2DLod|texture2DProj|texture2DProjLod|texture3D|texture3DLod|texture3DProj|texture3DProjLod|textureCube|textureCubeLod|transpose)\\b", name: "support.function.glsl" }, { match: "\\b(asm|double|enum|extern|goto|inline|long|short|sizeof|static|typedef|union|unsigned|volatile)\\b", name: "invalid.illegal.glsl" }, { include: "source.c" }], scopeName: "source.glsl", embeddedLangs: ["c"] });
|
|
33
|
+
var t = [
|
|
34
|
+
...c,
|
|
35
|
+
i
|
|
36
|
+
];
|
|
37
|
+
const p = Object.freeze({ displayName: "C++", name: "cpp-macro", patterns: [{ include: "#ever_present_context" }, { include: "#constructor_root" }, { include: "#destructor_root" }, { include: "#function_definition" }, { include: "#operator_overload" }, { include: "#using_namespace" }, { include: "source.cpp#type_alias" }, { include: "source.cpp#using_name" }, { include: "source.cpp#namespace_alias" }, { include: "#namespace_block" }, { include: "#extern_block" }, { include: "#typedef_class" }, { include: "#typedef_struct" }, { include: "#typedef_union" }, { include: "source.cpp#misc_keywords" }, { include: "source.cpp#standard_declares" }, { include: "#class_block" }, { include: "#struct_block" }, { include: "#union_block" }, { include: "#enum_block" }, { include: "source.cpp#template_isolated_definition" }, { include: "#template_definition" }, { include: "source.cpp#template_explicit_instantiation" }, { include: "source.cpp#access_control_keywords" }, { include: "#block" }, { include: "#static_assert" }, { include: "#assembly" }, { include: "#function_pointer" }, { include: "#evaluation_context" }], repository: { alignas_attribute: { begin: "alignas\\(", beginCaptures: { 0: { name: "punctuation.section.attribute.begin.cpp" } }, end: `\\)|(?=(?<!\\\\)
|
|
9
38
|
)`, endCaptures: { 0: { name: "punctuation.section.attribute.end.cpp" } }, name: "support.other.attribute.cpp", patterns: [{ include: "#attributes_context" }, { begin: "\\(", beginCaptures: {}, end: `\\)|(?=(?<!\\\\)
|
|
10
39
|
)`, endCaptures: {}, patterns: [{ include: "#attributes_context" }, { include: "#string_context" }, { include: "#ever_present_context" }] }, { captures: { 1: { name: "keyword.other.using.directive.cpp" }, 2: { name: "entity.name.namespace.cpp" } }, match: "(using)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))" }, { match: ",", name: "punctuation.separator.attribute.cpp" }, { match: ":", name: "punctuation.accessor.attribute.cpp" }, { match: "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)", name: "entity.name.namespace.cpp" }, { match: "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", name: "entity.other.attribute.$0.cpp" }, { include: "source.cpp#number_literal" }, { include: "#ever_present_context" }] }, alignas_operator: { begin: "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp" }, 2: { patterns: [{ include: "source.cpp#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp" } }, contentName: "meta.arguments.operator.alignas", end: `\\)|(?=(?<!\\\\)
|
|
11
40
|
)`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, alignof_operator: { begin: "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp" }, 2: { patterns: [{ include: "source.cpp#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp" } }, contentName: "meta.arguments.operator.alignof", end: `\\)|(?=(?<!\\\\)
|
|
@@ -169,13 +198,14 @@ const a = Object.freeze({ displayName: "C++", name: "cpp-macro", patterns: [{ in
|
|
|
169
198
|
)`, 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: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
|
|
170
199
|
)`, 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]*", beginCaptures: {}, end: `[\\s]*(?=;)|(?=(?<!\\\\)
|
|
171
200
|
)`, endCaptures: {}, name: "meta.tail.union.cpp", patterns: [{ include: "$self" }] }] }, using_namespace: { begin: `(?<!\\w)(using)\\s+(namespace)\\s+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<6>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?=;|\\n)`, beginCaptures: { 1: { name: "keyword.other.using.directive.cpp" }, 2: { name: "keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp" }, 3: { patterns: [{ include: "source.cpp#scope_resolution_namespace_using_inner_generated" }] }, 4: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, 5: { patterns: [{ include: "#template_call_range" }] }, 6: {}, 7: { name: "entity.name.namespace.cpp" } }, end: `;|(?=(?<!\\\\)
|
|
172
|
-
)`, endCaptures: { 0: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.using-namespace.cpp" } }, scopeName: "source.cpp.embedded.macro", embeddedLangs: ["glsl", "sql"] });
|
|
173
|
-
var
|
|
201
|
+
)`, endCaptures: { 0: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.using-namespace.cpp" } }, scopeName: "source.cpp.embedded.macro", embeddedLangs: ["regexp", "glsl", "sql"] });
|
|
202
|
+
var o = [
|
|
174
203
|
...n,
|
|
204
|
+
...t,
|
|
175
205
|
...e,
|
|
176
|
-
|
|
206
|
+
p
|
|
177
207
|
];
|
|
178
|
-
const
|
|
208
|
+
const m = Object.freeze({ displayName: "C++", name: "cpp", patterns: [{ include: "#ever_present_context" }, { include: "#constructor_root" }, { include: "#destructor_root" }, { include: "#function_definition" }, { include: "#operator_overload" }, { include: "#using_namespace" }, { include: "#type_alias" }, { include: "#using_name" }, { include: "#namespace_alias" }, { include: "#namespace_block" }, { include: "#extern_block" }, { 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: "#template_isolated_definition" }, { include: "#template_definition" }, { include: "#template_explicit_instantiation" }, { include: "#access_control_keywords" }, { include: "#block" }, { include: "#static_assert" }, { include: "#assembly" }, { include: "#function_pointer" }, { include: "#evaluation_context" }], repository: { access_control_keywords: { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 3: { name: "storage.type.modifier.access.control.$4.cpp" }, 4: {}, 5: { name: "punctuation.separator.colon.access.control.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(((?:(?:protected)|(?:private)|(?:public)))(?:\\s+)?(:))" }, alignas_attribute: { begin: "alignas\\(", beginCaptures: { 0: { name: "punctuation.section.attribute.begin.cpp" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.attribute.end.cpp" } }, name: "support.other.attribute.cpp", patterns: [{ include: "#attributes_context" }, { begin: "\\(", beginCaptures: {}, end: "\\)", endCaptures: {}, patterns: [{ include: "#attributes_context" }, { include: "#string_context" }, { include: "#ever_present_context" }] }, { captures: { 1: { name: "keyword.other.using.directive.cpp" }, 2: { name: "entity.name.namespace.cpp" } }, match: "(using)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))" }, { match: ",", name: "punctuation.separator.attribute.cpp" }, { match: ":", name: "punctuation.accessor.attribute.cpp" }, { match: "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)", name: "entity.name.namespace.cpp" }, { match: "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", name: "entity.other.attribute.$0.cpp" }, { include: "#number_literal" }, { include: "#ever_present_context" }] }, alignas_operator: { begin: "((?<!\\w)alignas(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp" } }, contentName: "meta.arguments.operator.alignas", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, alignof_operator: { begin: "((?<!\\w)alignof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp" } }, contentName: "meta.arguments.operator.alignof", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, assembly: { begin: "(\\b(?:__asm__|asm)\\b)(?:\\s+)?((?:volatile)?)", beginCaptures: { 1: { name: "storage.type.asm.cpp" }, 2: { name: "storage.modifier.cpp" } }, end: "(?!\\G)", endCaptures: {}, name: "meta.asm.cpp", patterns: [{ captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\n|$)" }, { include: "#comments" }, { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\(", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.assembly.cpp" } }, patterns: [{ begin: '(R?)(")', beginCaptures: { 1: { name: "meta.encoding.cpp" }, 2: { name: "punctuation.definition.string.begin.assembly.cpp" } }, contentName: "meta.embedded.assembly", end: '"', endCaptures: { 0: { name: "punctuation.definition.string.end.assembly.cpp" } }, name: "string.quoted.double.cpp", patterns: [{ include: "source.asm" }, { include: "source.x86" }, { include: "source.x86_64" }, { include: "source.arm" }, { include: "#backslash_escapes" }, { include: "#string_escaped_char" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.assembly.inner.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\[((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\]" }, { 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)\\\\ (
|
|
179
209
|
\\\\ |
|
|
180
210
|
[abefnprtv'"?] |
|
|
181
211
|
[0-3][0-7]{,2} |
|
|
@@ -196,13 +226,14 @@ U[a-fA-F0-9]{,8} )`, name: "constant.character.escape" }, { match: "\\\\.", name
|
|
|
196
226
|
((-?\\d+)|\\*(-?\\d+\\$)?)?
|
|
197
227
|
(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?
|
|
198
228
|
(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)?
|
|
199
|
-
[diouxXDOUeEfFgGaACcSspn%]`, name: "constant.other.placeholder" }] }, struct_block: { begin: "((?<!\\w)struct(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)", 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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { patterns: [{ 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)" }, { 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 18: { name: "comment.block.cpp" }, 19: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 20: { name: "punctuation.separator.colon.inheritance.cpp" } }, end: "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.struct.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", 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: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", 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]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.struct.cpp", patterns: [{ include: "$self" }] }] }, struct_declare: { captures: { 1: { name: "storage.type.struct.declare.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 4: { name: "entity.name.type.struct.cpp" }, 5: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", name: "invalid.illegal.reference-type.cpp" }, { match: "\\&", name: "storage.modifier.reference.cpp" }] }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 8: { patterns: [{ include: "#inline_comment" }] }, 9: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 12: { name: "variable.other.object.declare.cpp" }, 13: { patterns: [{ include: "#inline_comment" }] }, 14: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] } }, match: "((?<!\\w)struct(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])" }, switch_conditional_parentheses: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 5: { name: "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.conditional.switch.cpp" } }, name: "meta.conditional.switch.cpp", patterns: [{ include: "#evaluation_context" }] }, switch_statement: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)switch(?!\\w))", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 5: { name: "keyword.control.switch.cpp" } }, end: "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", endCaptures: {}, name: "meta.block.switch.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.switch.cpp" } }, name: "meta.head.switch.cpp", patterns: [{ include: "#switch_conditional_parentheses" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", 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" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.switch.cpp", patterns: [{ include: "$self" }] }] }, template_argument_defaulted: { captures: { 1: { name: "storage.type.template.argument.$1.cpp" }, 2: { name: "entity.name.type.template.cpp" }, 3: { name: "keyword.operator.assignment.cpp" } }, 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+)?(\\=)" }, 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: { captures: { 0: { patterns: [{ include: "#template_call_range" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: `((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<1>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+`, name: "meta.template.call.cpp" }, template_call_range: { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: ">", endCaptures: { 0: { name: "punctuation.section.angle-brackets.end.template.call.cpp" } }, name: "meta.template.call.cpp", patterns: [{ include: "#template_call_context" }] }, template_definition: { begin: "(?<!\\w)(template)(?:\\s+)?(<)", beginCaptures: { 1: { name: "storage.type.template.cpp" }, 2: { name: "punctuation.section.angle-brackets.begin.template.definition.cpp" } }, end: ">", endCaptures: { 0: { name: "punctuation.section.angle-brackets.end.template.definition.cpp" } }, name: "meta.template.definition.cpp", patterns: [{ begin: "(?<=\\w)(?:\\s+)?<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: ">", endCaptures: { 0: { name: "punctuation.section.angle-brackets.end.template.call.cpp" } }, patterns: [{ include: "#template_call_context" }] }, { include: "#template_definition_context" }] }, template_definition_argument: { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 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.argument.$6.cpp" }, 7: { name: "punctuation.vararg-ellipses.template.definition.cpp" }, 8: { name: "entity.name.type.template.cpp" }, 9: { name: "storage.type.template.cpp" }, 10: { name: "punctuation.section.angle-brackets.begin.template.definition.cpp" }, 11: { name: "storage.type.template.argument.$11.cpp" }, 12: { name: "entity.name.type.template.cpp" }, 13: { name: "punctuation.section.angle-brackets.end.template.definition.cpp" }, 14: { name: "storage.type.template.argument.$14.cpp" }, 15: { name: "entity.name.type.template.cpp" }, 16: { name: "keyword.operator.assignment.cpp" }, 17: { name: "punctuation.separator.delimiter.comma.template.argument.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}))*))|(?<!\\w)(template)(?:\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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+)?(class|typename)(?:\\s+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:\\s+)?(?:(\\=)(?:\\s+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))" }, 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_explicit_instantiation: { captures: { 1: { name: "storage.modifier.specifier.extern.cpp" }, 2: { name: "storage.type.template.cpp" } }, match: "(?<!\\w)(?:(extern)\\s+)?(template)\\s+", name: "meta.template.explicit-instantiation.cpp" }, template_isolated_definition: { captures: { 1: { name: "storage.type.template.cpp" }, 2: { name: "punctuation.section.angle-brackets.begin.template.definition.cpp" }, 3: { name: "meta.template.definition.cpp", patterns: [{ include: "#template_definition_context" }] }, 4: { name: "punctuation.section.angle-brackets.end.template.definition.cpp" } }, match: "(?<!\\w)(template)(?:\\s+)?(<)(.*)(>)(?:\\s+)?$" }, ternary_operator: { applyEndPatternLast: 1, begin: "\\?", beginCaptures: { 0: { name: "keyword.operator.ternary.cpp" } }, end: ":", 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" }] }, the_this_keyword: { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 3: { name: "variable.language.this.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))" }, type_alias: { captures: { 1: { name: "keyword.other.using.directive.cpp" }, 2: { name: "entity.name.type.cpp" }, 3: { patterns: [{ include: "#attributes_context" }, { include: "#number_literal" }] }, 4: { name: "keyword.operator.assignment.cpp" }, 5: { name: "keyword.other.typename.cpp" }, 6: { patterns: [{ include: "#storage_specifiers" }] }, 7: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 8: { name: "meta.qualified_type.cpp", patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { match: "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", name: "storage.type.$0.cpp" }, { include: "#attributes_context" }, { include: "#storage_types" }, { include: "#number_literal" }, { include: "#string_context" }, { include: "#comma" }, { include: "#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: ">", 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" }] }, 9: { patterns: [{ include: "#attributes_context" }, { include: "#number_literal" }] }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 12: { patterns: [{ include: "#inline_comment" }] }, 13: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 14: { patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" }, { match: "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", name: "entity.name.scope-resolution.type.cpp" }, { include: "#template_call_range" }] }, 15: { patterns: [{ include: "#template_call_range" }] }, 17: { patterns: [{ include: "#inline_comment" }] }, 18: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 20: { name: "meta.declaration.type.alias.value.unknown.cpp", patterns: [{ include: "#evaluation_context" }] }, 21: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", name: "invalid.illegal.reference-type.cpp" }, { match: "\\&", name: "storage.modifier.reference.cpp" }] }, 22: { patterns: [{ include: "#inline_comment" }] }, 23: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 24: { patterns: [{ include: "#inline_comment" }] }, 25: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 26: { patterns: [{ include: "#inline_comment" }] }, 27: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 28: { name: "punctuation.definition.begin.bracket.square.cpp" }, 29: { patterns: [{ include: "#evaluation_context" }] }, 30: { name: "punctuation.definition.end.bracket.square.cpp" }, 31: { name: "punctuation.terminator.statement.cpp" } }, match: `(using)\\s+(?!namespace)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:\\s+)?(\\=)(?:\\s+)?((?:typename)?)(?:\\s+)?((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w)\\s+)+)?(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<19>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<19>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?<!;)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?:(\\[)(\\w*)(\\])(?:\\s+)?)?(?:\\s+)?(?:(;)|\\n)`, name: "meta.declaration.type.alias.cpp" }, type_casting_operators: { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 3: { name: "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:reinterpret_cast)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast))(?!\\w))" }, typedef_class: { begin: "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)class(?!\\w))", beginCaptures: { 1: { name: "keyword.other.typedef.cpp" } }, end: "(?<=;)", endCaptures: {}, patterns: [{ begin: "((?<!\\w)class(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)", 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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { patterns: [{ 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)" }, { 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 18: { name: "comment.block.cpp" }, 19: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 20: { name: "punctuation.separator.colon.inheritance.cpp" } }, end: "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.class.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", 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: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", 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]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.class.cpp", patterns: [{ captures: { 1: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 8: { name: "comment.block.cpp" }, 9: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 12: { name: "comment.block.cpp" }, 13: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 14: { name: "entity.name.type.alias.cpp" } }, match: "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))" }, { match: "," }] }] }] }, typedef_function_pointer: { begin: "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=.*\\(\\*\\s*(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\s*\\))", beginCaptures: { 1: { name: "keyword.other.typedef.cpp" } }, end: "(?<=;)", endCaptures: {}, patterns: [{ begin: `(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()`, beginCaptures: { 1: { name: "meta.qualified_type.cpp", patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { match: "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", name: "storage.type.$0.cpp" }, { include: "#attributes_context" }, { include: "#storage_types" }, { include: "#number_literal" }, { include: "#string_context" }, { include: "#comma" }, { include: "#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: ">", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 7: { patterns: [{ include: "#inline_comment" }] }, 8: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 9: { name: "comment.block.cpp" }, 10: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" }, { match: "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", name: "entity.name.scope-resolution.type.cpp" }, { include: "#template_call_range" }] }, 12: { patterns: [{ include: "#template_call_range" }] }, 13: {}, 14: { patterns: [{ include: "#inline_comment" }] }, 15: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 16: { name: "comment.block.cpp" }, 17: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 18: {}, 19: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 24: { patterns: [{ include: "#inline_comment" }] }, 25: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 26: { name: "comment.block.cpp" }, 27: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 28: { patterns: [{ include: "#inline_comment" }] }, 29: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 30: { name: "comment.block.cpp" }, 31: { name: "comment.block.cpp punctuation.definition.comment.end.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" } }, end: "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, patterns: [{ include: "#function_parameter_context" }] }] }, typedef_struct: { begin: "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)struct(?!\\w))", beginCaptures: { 1: { name: "keyword.other.typedef.cpp" } }, end: "(?<=;)", endCaptures: {}, patterns: [{ begin: "((?<!\\w)struct(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)", 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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { patterns: [{ 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)" }, { 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 18: { name: "comment.block.cpp" }, 19: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 20: { name: "punctuation.separator.colon.inheritance.cpp" } }, end: "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.struct.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", 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: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", 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]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.struct.cpp", patterns: [{ captures: { 1: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 8: { name: "comment.block.cpp" }, 9: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 12: { name: "comment.block.cpp" }, 13: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 14: { name: "entity.name.type.alias.cpp" } }, match: "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))" }, { match: "," }] }] }] }, typedef_union: { begin: "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)union(?!\\w))", beginCaptures: { 1: { name: "keyword.other.typedef.cpp" } }, end: "(?<=;)", endCaptures: {}, patterns: [{ begin: "((?<!\\w)union(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)", 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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { patterns: [{ 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)" }, { 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 18: { name: "comment.block.cpp" }, 19: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 20: { name: "punctuation.separator.colon.inheritance.cpp" } }, end: "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.union.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", 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: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", 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]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.union.cpp", patterns: [{ captures: { 1: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 8: { name: "comment.block.cpp" }, 9: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 12: { name: "comment.block.cpp" }, 13: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 14: { name: "entity.name.type.alias.cpp" } }, match: "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))" }, { match: "," }] }] }] }, typeid_operator: { begin: "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp" } }, contentName: "meta.arguments.operator.typeid", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, typename: { captures: { 1: { name: "storage.modifier.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 4: { patterns: [{ include: "#inline_comment" }] }, 5: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 6: { name: "meta.qualified_type.cpp", patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { match: "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", name: "storage.type.$0.cpp" }, { include: "#attributes_context" }, { include: "#storage_types" }, { include: "#number_literal" }, { include: "#string_context" }, { include: "#comma" }, { include: "#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: ">", 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: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 12: { patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" }, { match: "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", name: "entity.name.scope-resolution.type.cpp" }, { include: "#template_call_range" }] }, 13: { patterns: [{ include: "#template_call_range" }] }, 14: {}, 15: { patterns: [{ include: "#inline_comment" }] }, 16: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 17: {} }, match: `(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?<!\\w)typename(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<17>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<17>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))` }, undef: { captures: { 1: { name: "keyword.control.directive.undef.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 4: { name: "punctuation.definition.directive.cpp" }, 5: { patterns: [{ include: "#inline_comment" }] }, 6: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 7: { name: "entity.name.function.preprocessor.cpp" } }, match: "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?undef\\b)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))", name: "meta.preprocessor.undef.cpp" }, union_block: { begin: "((?<!\\w)union(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)", 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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { patterns: [{ 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)" }, { 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 18: { name: "comment.block.cpp" }, 19: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 20: { name: "punctuation.separator.colon.inheritance.cpp" } }, end: "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.union.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", 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: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", 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]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.union.cpp", patterns: [{ include: "$self" }] }] }, union_declare: { captures: { 1: { name: "storage.type.union.declare.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 4: { name: "entity.name.type.union.cpp" }, 5: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", name: "invalid.illegal.reference-type.cpp" }, { match: "\\&", name: "storage.modifier.reference.cpp" }] }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 8: { patterns: [{ include: "#inline_comment" }] }, 9: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 12: { name: "variable.other.object.declare.cpp" }, 13: { patterns: [{ include: "#inline_comment" }] }, 14: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] } }, match: "((?<!\\w)union(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])" }, using_name: { captures: { 1: { name: "keyword.other.using.directive.cpp" } }, match: "(using)\\s+(?!namespace\\b)" }, using_namespace: { begin: `(?<!\\w)(using)\\s+(namespace)\\s+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<6>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?=;|\\n)`, beginCaptures: { 1: { name: "keyword.other.using.directive.cpp" }, 2: { name: "keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp" }, 3: { patterns: [{ include: "#scope_resolution_namespace_using_inner_generated" }] }, 4: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, 5: { patterns: [{ include: "#template_call_range" }] }, 6: {}, 7: { name: "entity.name.namespace.cpp" } }, end: ";", endCaptures: { 0: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.using-namespace.cpp" }, vararg_ellipses: { match: "(?<!\\.)\\.\\.\\.(?!\\.)", name: "punctuation.vararg-ellipses.cpp" }, wordlike_operators: { patterns: [{ match: "(?<!\\w)(?:(?:noexcept)|(?:xor_eq)|(?:and_eq)|(?:delete)|(?:not_eq)|(?:bitand)|(?:bitor)|(?:compl)|(?:or_eq)|(?:not)|(?:xor)|(?:new)|(?:and)|(?:or))(?!\\w)", name: "keyword.operator.wordlike.cpp keyword.operator.$0.cpp" }] } }, scopeName: "source.cpp", embeddedLangs: ["cpp-macro", "glsl", "sql"], aliases: ["c++"] });
|
|
200
|
-
var
|
|
201
|
-
...
|
|
229
|
+
[diouxXDOUeEfFgGaACcSspn%]`, name: "constant.other.placeholder" }] }, struct_block: { begin: "((?<!\\w)struct(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)", 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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { patterns: [{ 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)" }, { 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 18: { name: "comment.block.cpp" }, 19: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 20: { name: "punctuation.separator.colon.inheritance.cpp" } }, end: "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.struct.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", 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: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", 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]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.struct.cpp", patterns: [{ include: "$self" }] }] }, struct_declare: { captures: { 1: { name: "storage.type.struct.declare.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 4: { name: "entity.name.type.struct.cpp" }, 5: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", name: "invalid.illegal.reference-type.cpp" }, { match: "\\&", name: "storage.modifier.reference.cpp" }] }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 8: { patterns: [{ include: "#inline_comment" }] }, 9: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 12: { name: "variable.other.object.declare.cpp" }, 13: { patterns: [{ include: "#inline_comment" }] }, 14: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] } }, match: "((?<!\\w)struct(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])" }, switch_conditional_parentheses: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 5: { name: "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.conditional.switch.cpp" } }, name: "meta.conditional.switch.cpp", patterns: [{ include: "#evaluation_context" }] }, switch_statement: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)switch(?!\\w))", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 5: { name: "keyword.control.switch.cpp" } }, end: "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", endCaptures: {}, name: "meta.block.switch.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.switch.cpp" } }, name: "meta.head.switch.cpp", patterns: [{ include: "#switch_conditional_parentheses" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", 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" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.switch.cpp", patterns: [{ include: "$self" }] }] }, template_argument_defaulted: { captures: { 1: { name: "storage.type.template.argument.$1.cpp" }, 2: { name: "entity.name.type.template.cpp" }, 3: { name: "keyword.operator.assignment.cpp" } }, 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+)?(\\=)" }, 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: { captures: { 0: { patterns: [{ include: "#template_call_range" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: `((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<1>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+`, name: "meta.template.call.cpp" }, template_call_range: { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: ">", endCaptures: { 0: { name: "punctuation.section.angle-brackets.end.template.call.cpp" } }, name: "meta.template.call.cpp", patterns: [{ include: "#template_call_context" }] }, template_definition: { begin: "(?<!\\w)(template)(?:\\s+)?(<)", beginCaptures: { 1: { name: "storage.type.template.cpp" }, 2: { name: "punctuation.section.angle-brackets.begin.template.definition.cpp" } }, end: ">", endCaptures: { 0: { name: "punctuation.section.angle-brackets.end.template.definition.cpp" } }, name: "meta.template.definition.cpp", patterns: [{ begin: "(?<=\\w)(?:\\s+)?<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: ">", endCaptures: { 0: { name: "punctuation.section.angle-brackets.end.template.call.cpp" } }, patterns: [{ include: "#template_call_context" }] }, { include: "#template_definition_context" }] }, template_definition_argument: { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 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.argument.$6.cpp" }, 7: { name: "punctuation.vararg-ellipses.template.definition.cpp" }, 8: { name: "entity.name.type.template.cpp" }, 9: { name: "storage.type.template.cpp" }, 10: { name: "punctuation.section.angle-brackets.begin.template.definition.cpp" }, 11: { name: "storage.type.template.argument.$11.cpp" }, 12: { name: "entity.name.type.template.cpp" }, 13: { name: "punctuation.section.angle-brackets.end.template.definition.cpp" }, 14: { name: "storage.type.template.argument.$14.cpp" }, 15: { name: "entity.name.type.template.cpp" }, 16: { name: "keyword.operator.assignment.cpp" }, 17: { name: "punctuation.separator.delimiter.comma.template.argument.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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}))*))|(?<!\\w)(template)(?:\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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+)?(class|typename)(?:\\s+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:\\s+)?(?:(\\=)(?:\\s+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))" }, 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_explicit_instantiation: { captures: { 1: { name: "storage.modifier.specifier.extern.cpp" }, 2: { name: "storage.type.template.cpp" } }, match: "(?<!\\w)(?:(extern)\\s+)?(template)\\s+", name: "meta.template.explicit-instantiation.cpp" }, template_isolated_definition: { captures: { 1: { name: "storage.type.template.cpp" }, 2: { name: "punctuation.section.angle-brackets.begin.template.definition.cpp" }, 3: { name: "meta.template.definition.cpp", patterns: [{ include: "#template_definition_context" }] }, 4: { name: "punctuation.section.angle-brackets.end.template.definition.cpp" } }, match: "(?<!\\w)(template)(?:\\s+)?(<)(.*)(>)(?:\\s+)?$" }, ternary_operator: { applyEndPatternLast: 1, begin: "\\?", beginCaptures: { 0: { name: "keyword.operator.ternary.cpp" } }, end: ":", 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" }] }, the_this_keyword: { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 3: { name: "variable.language.this.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))" }, type_alias: { captures: { 1: { name: "keyword.other.using.directive.cpp" }, 2: { name: "entity.name.type.cpp" }, 3: { patterns: [{ include: "#attributes_context" }, { include: "#number_literal" }] }, 4: { name: "keyword.operator.assignment.cpp" }, 5: { name: "keyword.other.typename.cpp" }, 6: { patterns: [{ include: "#storage_specifiers" }] }, 7: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 8: { name: "meta.qualified_type.cpp", patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { match: "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", name: "storage.type.$0.cpp" }, { include: "#attributes_context" }, { include: "#storage_types" }, { include: "#number_literal" }, { include: "#string_context" }, { include: "#comma" }, { include: "#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: ">", 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" }] }, 9: { patterns: [{ include: "#attributes_context" }, { include: "#number_literal" }] }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 12: { patterns: [{ include: "#inline_comment" }] }, 13: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 14: { patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" }, { match: "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", name: "entity.name.scope-resolution.type.cpp" }, { include: "#template_call_range" }] }, 15: { patterns: [{ include: "#template_call_range" }] }, 17: { patterns: [{ include: "#inline_comment" }] }, 18: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 20: { name: "meta.declaration.type.alias.value.unknown.cpp", patterns: [{ include: "#evaluation_context" }] }, 21: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", name: "invalid.illegal.reference-type.cpp" }, { match: "\\&", name: "storage.modifier.reference.cpp" }] }, 22: { patterns: [{ include: "#inline_comment" }] }, 23: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 24: { patterns: [{ include: "#inline_comment" }] }, 25: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 26: { patterns: [{ include: "#inline_comment" }] }, 27: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 28: { name: "punctuation.definition.begin.bracket.square.cpp" }, 29: { patterns: [{ include: "#evaluation_context" }] }, 30: { name: "punctuation.definition.end.bracket.square.cpp" }, 31: { name: "punctuation.terminator.statement.cpp" } }, match: `(using)\\s+(?!namespace)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-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+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:\\s+)?(\\=)(?:\\s+)?((?:typename)?)(?:\\s+)?((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w)\\s+)+)?(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<19>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<19>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?<!;)))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?:(\\[)(\\w*)(\\])(?:\\s+)?)?(?:\\s+)?(?:(;)|\\n)`, name: "meta.declaration.type.alias.cpp" }, type_casting_operators: { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 3: { name: "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:reinterpret_cast)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast))(?!\\w))" }, typedef_class: { begin: "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)class(?!\\w))", beginCaptures: { 1: { name: "keyword.other.typedef.cpp" } }, end: "(?<=;)", endCaptures: {}, patterns: [{ begin: "((?<!\\w)class(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)", 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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { patterns: [{ 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)" }, { 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 18: { name: "comment.block.cpp" }, 19: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 20: { name: "punctuation.separator.colon.inheritance.cpp" } }, end: "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.class.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", 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: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", 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]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.class.cpp", patterns: [{ captures: { 1: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 8: { name: "comment.block.cpp" }, 9: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 12: { name: "comment.block.cpp" }, 13: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 14: { name: "entity.name.type.alias.cpp" } }, match: "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))" }, { match: "," }] }] }] }, typedef_function_pointer: { begin: "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=.*\\(\\*\\s*(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\s*\\))", beginCaptures: { 1: { name: "keyword.other.typedef.cpp" } }, end: "(?<=;)", endCaptures: {}, patterns: [{ begin: `(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()`, beginCaptures: { 1: { name: "meta.qualified_type.cpp", patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { match: "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", name: "storage.type.$0.cpp" }, { include: "#attributes_context" }, { include: "#storage_types" }, { include: "#number_literal" }, { include: "#string_context" }, { include: "#comma" }, { include: "#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: ">", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 7: { patterns: [{ include: "#inline_comment" }] }, 8: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 9: { name: "comment.block.cpp" }, 10: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" }, { match: "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", name: "entity.name.scope-resolution.type.cpp" }, { include: "#template_call_range" }] }, 12: { patterns: [{ include: "#template_call_range" }] }, 13: {}, 14: { patterns: [{ include: "#inline_comment" }] }, 15: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 16: { name: "comment.block.cpp" }, 17: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 18: {}, 19: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 24: { patterns: [{ include: "#inline_comment" }] }, 25: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 26: { name: "comment.block.cpp" }, 27: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 28: { patterns: [{ include: "#inline_comment" }] }, 29: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 30: { name: "comment.block.cpp" }, 31: { name: "comment.block.cpp punctuation.definition.comment.end.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" } }, end: "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, patterns: [{ include: "#function_parameter_context" }] }] }, typedef_struct: { begin: "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)struct(?!\\w))", beginCaptures: { 1: { name: "keyword.other.typedef.cpp" } }, end: "(?<=;)", endCaptures: {}, patterns: [{ begin: "((?<!\\w)struct(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)", 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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { patterns: [{ 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)" }, { 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 18: { name: "comment.block.cpp" }, 19: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 20: { name: "punctuation.separator.colon.inheritance.cpp" } }, end: "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.struct.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", 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: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", 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]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.struct.cpp", patterns: [{ captures: { 1: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 8: { name: "comment.block.cpp" }, 9: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 12: { name: "comment.block.cpp" }, 13: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 14: { name: "entity.name.type.alias.cpp" } }, match: "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))" }, { match: "," }] }] }] }, typedef_union: { begin: "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)union(?!\\w))", beginCaptures: { 1: { name: "keyword.other.typedef.cpp" } }, end: "(?<=;)", endCaptures: {}, patterns: [{ begin: "((?<!\\w)union(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)", 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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { patterns: [{ 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)" }, { 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 18: { name: "comment.block.cpp" }, 19: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 20: { name: "punctuation.separator.colon.inheritance.cpp" } }, end: "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.union.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", 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: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", 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]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.union.cpp", patterns: [{ captures: { 1: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 8: { name: "comment.block.cpp" }, 9: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 12: { name: "comment.block.cpp" }, 13: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 14: { name: "entity.name.type.alias.cpp" } }, match: "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))" }, { match: "," }] }] }] }, typeid_operator: { begin: "((?<!\\w)typeid(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp" } }, contentName: "meta.arguments.operator.typeid", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, typename: { captures: { 1: { name: "storage.modifier.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 4: { patterns: [{ include: "#inline_comment" }] }, 5: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 6: { name: "meta.qualified_type.cpp", patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { match: "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)", name: "storage.type.$0.cpp" }, { include: "#attributes_context" }, { include: "#storage_types" }, { include: "#number_literal" }, { include: "#string_context" }, { include: "#comma" }, { include: "#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: ">", 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: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 12: { patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" }, { match: "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", name: "entity.name.scope-resolution.type.cpp" }, { include: "#template_call_range" }] }, 13: { patterns: [{ include: "#template_call_range" }] }, 14: {}, 15: { patterns: [{ include: "#inline_comment" }] }, 16: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 17: {} }, match: `(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?<!\\w)typename(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<17>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<17>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))` }, undef: { captures: { 1: { name: "keyword.control.directive.undef.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 4: { name: "punctuation.definition.directive.cpp" }, 5: { patterns: [{ include: "#inline_comment" }] }, 6: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 7: { name: "entity.name.function.preprocessor.cpp" } }, match: "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?undef\\b)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))", name: "meta.preprocessor.undef.cpp" }, union_block: { begin: "((?<!\\w)union(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:(?!:)))?)", 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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { patterns: [{ 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\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: { name: "comment.block.cpp punctuation.definition.comment.end.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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?=:|{|$)" }, { 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: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 18: { name: "comment.block.cpp" }, 19: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 20: { name: "punctuation.separator.colon.inheritance.cpp" } }, end: "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.union.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", 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: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", 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]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.union.cpp", patterns: [{ include: "$self" }] }] }, union_declare: { captures: { 1: { name: "storage.type.union.declare.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 4: { name: "entity.name.type.union.cpp" }, 5: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", name: "invalid.illegal.reference-type.cpp" }, { match: "\\&", name: "storage.modifier.reference.cpp" }] }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 8: { patterns: [{ include: "#inline_comment" }] }, 9: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 10: { patterns: [{ include: "#inline_comment" }] }, 11: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] }, 12: { name: "variable.other.object.declare.cpp" }, 13: { patterns: [{ include: "#inline_comment" }] }, 14: { patterns: [{ captures: { 1: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 2: { name: "comment.block.cpp" }, 3: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+" }] } }, match: "((?<!\\w)union(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\S)(?![:{a-zA-Z])" }, using_name: { captures: { 1: { name: "keyword.other.using.directive.cpp" } }, match: "(using)\\s+(?!namespace\\b)" }, using_namespace: { begin: `(?<!\\w)(using)\\s+(namespace)\\s+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<6>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?=;|\\n)`, beginCaptures: { 1: { name: "keyword.other.using.directive.cpp" }, 2: { name: "keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp" }, 3: { patterns: [{ include: "#scope_resolution_namespace_using_inner_generated" }] }, 4: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, 5: { patterns: [{ include: "#template_call_range" }] }, 6: {}, 7: { name: "entity.name.namespace.cpp" } }, end: ";", endCaptures: { 0: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.using-namespace.cpp" }, vararg_ellipses: { match: "(?<!\\.)\\.\\.\\.(?!\\.)", name: "punctuation.vararg-ellipses.cpp" }, wordlike_operators: { patterns: [{ match: "(?<!\\w)(?:(?:noexcept)|(?:xor_eq)|(?:and_eq)|(?:delete)|(?:not_eq)|(?:bitand)|(?:bitor)|(?:compl)|(?:or_eq)|(?:not)|(?:xor)|(?:new)|(?:and)|(?:or))(?!\\w)", name: "keyword.operator.wordlike.cpp keyword.operator.$0.cpp" }] } }, scopeName: "source.cpp", embeddedLangs: ["cpp-macro", "regexp", "glsl", "sql"], aliases: ["c++"] });
|
|
230
|
+
var u = [
|
|
231
|
+
...o,
|
|
202
232
|
...n,
|
|
233
|
+
...t,
|
|
203
234
|
...e,
|
|
204
|
-
|
|
235
|
+
m
|
|
205
236
|
];
|
|
206
237
|
export {
|
|
207
|
-
|
|
238
|
+
u
|
|
208
239
|
};
|