@kong-ui-public/documentation 0.7.53 → 0.7.54

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.
Files changed (213) hide show
  1. package/dist/{_basePickBy-QP7f0_NS-CQRclG56.js → _basePickBy-BdieChar-OkpwE92k.js} +2 -2
  2. package/dist/{_baseUniq--2u8HDhR-BwnJW2qv.js → _baseUniq-DvGKNxK2-CrFHB0Va.js} +1 -1
  3. package/dist/{arc-Ce--zaCu-CaP3a_s2.js → arc-HkQ-gbKN-DMqNZP0P.js} +1 -1
  4. package/dist/architecture-I3QFYML2-BnL0CBhZ-OwkgZ4Jc.js +5 -0
  5. package/dist/{architectureDiagram-V6B76FHG-BGugf6s4-DQPRLlmL.js → architectureDiagram-V6B76FHG-CF7LIMcO-Bi3o7tPD.js} +4 -4
  6. package/dist/astro-Ct9uJo-c-nfJFy9of.js +27 -0
  7. package/dist/{blockDiagram-EN3ZKWFM-DMDRogP_-FsitMOJs.js → blockDiagram-EN3ZKWFM-Ce9sI6p0-BSW7PVPT.js} +6 -6
  8. package/dist/c-DKDB_XIB-DKDB_XIB.js +7 -0
  9. package/dist/{c4Diagram-THADGKDP-DVq6u9iK-DjZCguGM.js → c4Diagram-THADGKDP-BTW1RdWp-B-P4jJEG.js} +2 -2
  10. package/dist/{channel-CkGtrtc_-5heXrfaz.js → channel-BExz2QEe-D87SiV4g.js} +1 -1
  11. package/dist/{chunk-2JBRQKJ5-8eJOTr0j-CXWIVrSH.js → chunk-2JBRQKJ5-OM-qdEYq-BtmlqXNP.js} +2 -2
  12. package/dist/{chunk-2RYQ3QTB-D01RVSPw-CNvvITx2.js → chunk-2RYQ3QTB-CEsfCBgx-CFtk4OUl.js} +1 -1
  13. package/dist/{chunk-BAVOGKFW-BkFOjSb5-DRz12j82.js → chunk-BAVOGKFW-BsKga6TS-OmijSWzp.js} +1 -1
  14. package/dist/{chunk-DUMQOTYW-C8gjn_h8-Buk9AtY0.js → chunk-DUMQOTYW-702X_yPX-jq37ikuA.js} +1 -1
  15. package/dist/{chunk-OQCM5LHU-BsyD81F3-CLn0WK5y.js → chunk-OQCM5LHU-DvAgHiz1-EenYCxhh.js} +1 -1
  16. package/dist/{chunk-UGV5ZQQN-B1Fqn8HR-D2F042zI.js → chunk-UGV5ZQQN-DLJfHEQ--CXU97g-q.js} +2 -2
  17. package/dist/{chunk-XVOYOM2C-BNhATlkH-E6jfDmvo.js → chunk-XVOYOM2C-BuvytsGy-DwxxmTeO.js} +1 -1
  18. package/dist/{chunk-YWFND7JV-CjJOWloQ-yAuS5TWl.js → chunk-YWFND7JV-BX4eJVvR-BCwDeDNF.js} +1 -1
  19. package/dist/{classDiagram-4BHYIK4I-DAFaw6kk-B9-nvdz4.js → classDiagram-4BHYIK4I-DABOljRL-DAS3U8qp.js} +4 -4
  20. package/dist/{classDiagram-v2-FI7KE7WJ-2KIw4eDL-1VSIGqaX.js → classDiagram-v2-FI7KE7WJ-DyhJS9wI-CeDC1SJu.js} +7 -7
  21. package/dist/{clone-BHELfLb3-YErh3h4H.js → clone-BqJCgI_t-D6TZM9U-.js} +1 -1
  22. package/dist/coffee-CiEmwUV9-D5Oe8742.js +9 -0
  23. package/dist/cpp-BphENtVr-DqhLnmUg.js +29 -0
  24. package/dist/csharp-hvsHIX1x-hvsHIX1x.js +7 -0
  25. package/dist/css-twoVIb3q-twoVIb3q.js +7 -0
  26. package/dist/csv-CyuxiNSX-CyuxiNSX.js +7 -0
  27. package/dist/{dagre-P3YPLUS5-Crxg5gw6-B-8XBOXu.js → dagre-P3YPLUS5-C2sB48dB-TVHqbdM9.js} +4 -4
  28. package/dist/{diagram-QS5GVLUX-CxXnEhMp-Bu1H9vNA.js → diagram-QS5GVLUX-CPjjc7oB-xgDgLBUy.js} +3 -3
  29. package/dist/diff-BprZv9Bx-BprZv9Bx.js +7 -0
  30. package/dist/docker-UByH5rch-UByH5rch.js +7 -0
  31. package/dist/documentation.es.js +1 -1
  32. package/dist/documentation.umd.js +103 -438
  33. package/dist/{erDiagram-62CBQV5Y-D6jClMyv-BIzTc7kD.js → erDiagram-62CBQV5Y-BWvC3B70-B5ci7Tyo.js} +3 -3
  34. package/dist/{flowDiagram-JSIZSE4D-BcOWyjMb-BwgaE-hH.js → flowDiagram-JSIZSE4D-C6fUTYCs-CC8M6lTH.js} +4 -4
  35. package/dist/{ganttDiagram-ASEIQ4P5-By38uZLn-Btn4Z6zy.js → ganttDiagram-ASEIQ4P5-C4T3npMC-CkOmHDDH.js} +2 -2
  36. package/dist/git-commit-BpBta0-H-D9ROUaA_.js +9 -0
  37. package/dist/git-rebase-nCu0qkM8-BcHBAqRM.js +9 -0
  38. package/dist/gitGraph-YCYPL57B-BrNA4-wo-DSu9FUv_.js +5 -0
  39. package/dist/{gitGraphDiagram-UL5UFKDR-BqG1nzMk-DWQU5SPN.js → gitGraphDiagram-UL5UFKDR-DUEiISlX-D9YHU22K.js} +4 -4
  40. package/dist/go-CVQIWj2N-CVQIWj2N.js +7 -0
  41. package/dist/{graph-DvHk9sAd-BZSyIJKm.js → graph-sjVS6xcE-C5RdEsAN.js} +2 -2
  42. package/dist/graphql-7X52cHqc-CLBzimQB.js +15 -0
  43. package/dist/haml-28-Av65f-Dih0P9tR.js +19 -0
  44. package/dist/handlebars-TFjvroEi-07H8_eE0.js +15 -0
  45. package/dist/haskell-DJah2Vxp-DJah2Vxp.js +7 -0
  46. package/dist/html-B9SDyQ6N-D-ZKCIRM.js +11 -0
  47. package/dist/html-derivative-Dst04Arf-DrM5NWms.js +9 -0
  48. package/dist/http-nOIbjTbF-C51IpTrN.js +15 -0
  49. package/dist/{index-D2OA6SS9.js → index-BVoTdxnp.js} +3518 -3518
  50. package/dist/info-46DW6VJ7-Bej2n0c3-C-Lc5xdL.js +5 -0
  51. package/dist/{infoDiagram-7APDZ6AT-CLwNpg22-C0vqPVuM.js → infoDiagram-7APDZ6AT-CkczlyAg-BlJfGN5d.js} +2 -2
  52. package/dist/ini-CgO4T9Us-CgO4T9Us.js +7 -0
  53. package/dist/java-Bd9vXGhZ-Bd9vXGhZ.js +7 -0
  54. package/dist/javascript-CGvwHrzr-CGvwHrzr.js +7 -0
  55. package/dist/{journeyDiagram-G5LC7W2K-BOoH_p8r-DCGW5mIU.js → journeyDiagram-G5LC7W2K-CGKx4opc-DgSw5OEZ.js} +3 -3
  56. package/dist/json-B86kHl_g-B86kHl_g.js +7 -0
  57. package/dist/{json-ChK2l_mW-CF8DlcBe.js → json-c0WkG_Y9-DE96BGkz.js} +4 -4
  58. package/dist/json5-GB6TimgH-GB6TimgH.js +7 -0
  59. package/dist/jsonc-CP3QVoXc-CP3QVoXc.js +7 -0
  60. package/dist/jsonl-C2ofTLY8-C2ofTLY8.js +7 -0
  61. package/dist/jsx-ZpKf1TSy-ZpKf1TSy.js +7 -0
  62. package/dist/kotlin-CAtfTEpr-CAtfTEpr.js +7 -0
  63. package/dist/latex-14aRsJKm-mj9Fild6.js +62 -0
  64. package/dist/{layout-CjQzaBWv-COvZUbbb.js → layout-BT6DeXbr-BANlZ5gi.js} +4 -4
  65. package/dist/less-0UFuQRv0-0UFuQRv0.js +7 -0
  66. package/dist/{linear-DT_Q8rLU-DeClWtNR.js → linear-Dz3m-tA--DoWdTVVU.js} +1 -1
  67. package/dist/liquid-Uq0DwV7I-CRvdDbph.js +15 -0
  68. package/dist/lua-BEgWEgjO-DU5YUtUR.js +9 -0
  69. package/dist/make-BDMxblcP-BDMxblcP.js +7 -0
  70. package/dist/markdown-CzCkSBhS-CzCkSBhS.js +7 -0
  71. package/dist/material-theme-lighter-CnKSyNS5-CnKSyNS5.js +4 -0
  72. package/dist/material-theme-palenight-BaYUoLXq-BaYUoLXq.js +4 -0
  73. package/dist/mdc-BA3wmBe6-BAlBXF37.js +13 -0
  74. package/dist/mdx-KaGu4TbO-KaGu4TbO.js +7 -0
  75. package/dist/mermaid-DZVJOJE0-DZVJOJE0.js +7 -0
  76. package/dist/{mermaid-parser.core-BQiMVCUD-BKOHdVsR.js → mermaid-parser.core-CHAbAGk3-c1XgG0S5.js} +9 -9
  77. package/dist/{mindmap-definition-FCEC46F3-DVehALvP-BU5jW1Pg.js → mindmap-definition-FCEC46F3-Bc0Z0Iij-DjhnZX8i.js} +1 -1
  78. package/dist/nginx-zxRCFE-h-BypGKuox.js +9 -0
  79. package/dist/objective-c-D6w3apbj-D6w3apbj.js +7 -0
  80. package/dist/packet-W2GHVCYJ-ZKPevIRt-QgrlrfSF.js +5 -0
  81. package/dist/pascal-DenYIYz2-DenYIYz2.js +7 -0
  82. package/dist/perl-D3yLJL---Dh53Z1Ch.js +17 -0
  83. package/dist/php-CotrzT_K-Bao4rTV9.js +19 -0
  84. package/dist/pie-BEWT4RHE-DylShr8x-d1G_mdRP.js +5 -0
  85. package/dist/{pieDiagram-OZX6XH5M-NcRJ5yD0-DGLoTnOO.js → pieDiagram-OZX6XH5M-CXiGhbiR-DRla_XQL.js} +4 -4
  86. package/dist/plsql-DH6aemMc-DH6aemMc.js +7 -0
  87. package/dist/postcss-Cf6moWPa-Cf6moWPa.js +7 -0
  88. package/dist/powershell-HbR4eE6x-HbR4eE6x.js +7 -0
  89. package/dist/proto-FnD6HNAf-FnD6HNAf.js +7 -0
  90. package/dist/pug-BQlVJUDw-CHRWHsZp.js +21 -0
  91. package/dist/python-DmuMvCM0-DmuMvCM0.js +7 -0
  92. package/dist/{quadrantDiagram-VG34DGKC-BEBZpKwg-E0UALIdM.js → quadrantDiagram-VG34DGKC-CbM6hf5T-BkpDE-dh.js} +2 -2
  93. package/dist/r-Bc6kwNk5-Bc6kwNk5.js +7 -0
  94. package/dist/reg-D7nGELoM-D7nGELoM.js +7 -0
  95. package/dist/{requirementDiagram-FPZB6IJI-CV6ngUwt-ZNVFxha1.js → requirementDiagram-FPZB6IJI-B_JGEuRG-CfrFuiOp.js} +3 -3
  96. package/dist/rst-CaIq10fc-5Y1LeNh2.js +26 -0
  97. package/dist/ruby-DeHccIAO-BcoQ2TvH.js +23 -0
  98. package/dist/rust-DUjrmsiV-DUjrmsiV.js +7 -0
  99. package/dist/{sankeyDiagram-KMMQDL5K-C0IklDBz-DXNZHn1D.js → sankeyDiagram-KMMQDL5K-BdxnO3f5-GG9bgFTU.js} +1 -1
  100. package/dist/sass-CLufkToV-CLufkToV.js +7 -0
  101. package/dist/scss-CnxrcEK_-CATc0Lba.js +9 -0
  102. package/dist/{sequenceDiagram-PQT5PN7B-RdiTSnGD-dImpFpXC.js → sequenceDiagram-PQT5PN7B-HSmTG3uL-DCRTrdd_.js} +3 -3
  103. package/dist/shellscript-CLi_Jlup-CLi_Jlup.js +7 -0
  104. package/dist/shellsession-BgOGDEE0-D_whUPK9.js +9 -0
  105. package/dist/splunk-ZWH3T4YR-ZWH3T4YR.js +7 -0
  106. package/dist/sql-CqEjJWk_-CqEjJWk_.js +7 -0
  107. package/dist/ssh-config-cxjN15Iq-cxjN15Iq.js +7 -0
  108. package/dist/{stateDiagram-TQSDS2D4-BSONsero-BGr__pIw.js → stateDiagram-TQSDS2D4-BK8lu_Tc-UxdkYbwz.js} +5 -5
  109. package/dist/{stateDiagram-v2-J5TZWJW5-CUBEYx5P-MOayZIW2.js → stateDiagram-v2-J5TZWJW5-Bz5m2MnO-YNqSfPWL.js} +3 -3
  110. package/dist/stylus-BqSAqkqK-BqSAqkqK.js +7 -0
  111. package/dist/svelte-Yn79bR_P-TdNy3USA.js +29 -0
  112. package/dist/swift-Cii5mold-Cii5mold.js +7 -0
  113. package/dist/{timeline-definition-KYQAIZUX-DQZuhTw8-Dnb6t1_t.js → timeline-definition-KYQAIZUX-XLrO7vFH-BE_yP5t-.js} +2 -2
  114. package/dist/toml-BrnHWKvZ-BrnHWKvZ.js +7 -0
  115. package/dist/tsx-RDJgLpEg-RDJgLpEg.js +7 -0
  116. package/dist/twig-CyzrzZ6V-CLfeQShi.js +19 -0
  117. package/dist/typescript-BRQxorCF-BRQxorCF.js +7 -0
  118. package/dist/v-CBsEUX4x-CBsEUX4x.js +7 -0
  119. package/dist/vb-BCQhaxZY-BCQhaxZY.js +7 -0
  120. package/dist/viml-DUDcfQ_j-DUDcfQ_j.js +7 -0
  121. package/dist/vue-DNFIPpe6-BpXPyld-.js +68 -0
  122. package/dist/vue-html-DkB4x9kz-BBbMk49e.js +11 -0
  123. package/dist/wasm-KuMlursr-KuMlursr.js +7 -0
  124. package/dist/wgsl-CXztftdQ-CXztftdQ.js +7 -0
  125. package/dist/xml-D46nbCSr-BYMRGyuH.js +9 -0
  126. package/dist/xsl--U1R63rG-D8P_gDHK.js +9 -0
  127. package/dist/{xychartDiagram-LESROZAQ-Aueu0ah5-Kf1LjwqY.js → xychartDiagram-LESROZAQ-CFA62kNt-Cw_jtdeV.js} +2 -2
  128. package/dist/yaml-BEQ1JqWb-BEQ1JqWb.js +7 -0
  129. package/package.json +6 -6
  130. package/dist/architecture-I3QFYML2-BAM2h37L-DDfRikFe.js +0 -5
  131. package/dist/astro-D_dsHkRz-CIu0TEak.js +0 -27
  132. package/dist/c-C9fY0Fge-C9fY0Fge.js +0 -7
  133. package/dist/coffee-BpL5dmzR-BhgOYQS1.js +0 -9
  134. package/dist/cpp-B_ULsIyI-C_UYrD6f.js +0 -193
  135. package/dist/csharp--zf0MtDg--zf0MtDg.js +0 -7
  136. package/dist/css-pVblTdYL-pVblTdYL.js +0 -7
  137. package/dist/csv-D4BoHddH-D4BoHddH.js +0 -7
  138. package/dist/diff-MXcoXEIJ-MXcoXEIJ.js +0 -7
  139. package/dist/docker-B10O2enb-B10O2enb.js +0 -7
  140. package/dist/git-commit-Be8WquDH-CZYxUfnG.js +0 -9
  141. package/dist/git-rebase-CVYaGD_a-CeqfdoDX.js +0 -9
  142. package/dist/gitGraph-YCYPL57B-ON9gXqNe-M5hiPCVB.js +0 -5
  143. package/dist/go-D_ziJsY9-D_ziJsY9.js +0 -7
  144. package/dist/graphql-D6yuBR9q--iCoxDM1.js +0 -18
  145. package/dist/haml-Dw-qY2Lp-CUnH-KRl.js +0 -19
  146. package/dist/handlebars-C6aUQR_3-B3cgQNZD.js +0 -15
  147. package/dist/haskell-B_jwIsd_-B_jwIsd_.js +0 -12
  148. package/dist/html-CQnAgmm8-BAGVrVbX.js +0 -11
  149. package/dist/html-derivative-DLUduELB-cl3ZX13g.js +0 -9
  150. package/dist/http-BwHXQNrI-BcEttk54.js +0 -15
  151. package/dist/info-46DW6VJ7-CBnu53Ut-B4VUuwED.js +0 -5
  152. package/dist/ini-BsUFIxsI-BsUFIxsI.js +0 -7
  153. package/dist/java-NDwZ3lmy-NDwZ3lmy.js +0 -7
  154. package/dist/javascript-S4X9lPQ2-S4X9lPQ2.js +0 -7
  155. package/dist/json-BqEO2fcw-BqEO2fcw.js +0 -7
  156. package/dist/json5-B2g59Yxe-B2g59Yxe.js +0 -7
  157. package/dist/jsonc-CViUooyB-CViUooyB.js +0 -7
  158. package/dist/jsonl-D9QAvYu1-D9QAvYu1.js +0 -7
  159. package/dist/jsx-BSOdlo-z-BSOdlo-z.js +0 -7
  160. package/dist/kotlin-DkoSFfh7-DkoSFfh7.js +0 -7
  161. package/dist/latex-DM7T8eEg-WeIDVHW4.js +0 -76
  162. package/dist/less-CEm00fln-CEm00fln.js +0 -7
  163. package/dist/liquid-BBV8yFlz-CBzfhyj5.js +0 -28
  164. package/dist/lua-BprzqEnl-B-iqs6LK.js +0 -9
  165. package/dist/make-DluCIvvI-DluCIvvI.js +0 -7
  166. package/dist/markdown-Dcn_SydH-Dcn_SydH.js +0 -7
  167. package/dist/material-theme-lighter-CtwOYHJ5-CtwOYHJ5.js +0 -769
  168. package/dist/material-theme-palenight-LzvMi3a5-LzvMi3a5.js +0 -769
  169. package/dist/mdc-CGFjzho1-D-uNyHbu.js +0 -13
  170. package/dist/mdx-Br112W6P-Br112W6P.js +0 -7
  171. package/dist/mermaid-tJ3odWn1-tJ3odWn1.js +0 -7
  172. package/dist/nginx-CDt8dUbj-CwnYwJom.js +0 -9
  173. package/dist/objective-c-ZXLxIXFu-ZXLxIXFu.js +0 -7
  174. package/dist/packet-W2GHVCYJ-bTc8I4ko-Cvd0NjUM.js +0 -5
  175. package/dist/pascal-8g0cXXUV-8g0cXXUV.js +0 -7
  176. package/dist/perl-DYQ2PUOI-Ce95clZS.js +0 -17
  177. package/dist/php-HXa3A-PK-DYmFSyAv.js +0 -23
  178. package/dist/pie-BEWT4RHE-BQIhHO3S-p3QRx2Hf.js +0 -5
  179. package/dist/plsql-8SPzZKaa-8SPzZKaa.js +0 -7
  180. package/dist/postcss-CzMyUasl-CzMyUasl.js +0 -7
  181. package/dist/powershell-Ct3wtyyf-Ct3wtyyf.js +0 -7
  182. package/dist/proto-DOQNC0Re-DOQNC0Re.js +0 -7
  183. package/dist/pug-I4Ltn3Nw-D6M2fX7G.js +0 -21
  184. package/dist/python-S2LqejOW-S2LqejOW.js +0 -22
  185. package/dist/r-BaIwHWbj-BaIwHWbj.js +0 -7
  186. package/dist/reg-C2xsc1D3-C2xsc1D3.js +0 -7
  187. package/dist/rst-CqzqRSy_-xBaB1SMh.js +0 -26
  188. package/dist/ruby-CaLXGQMM-dbPBCkla.js +0 -49
  189. package/dist/rust-BuM_ypDG-BuM_ypDG.js +0 -7
  190. package/dist/sass-BHTHe1hw-BHTHe1hw.js +0 -8
  191. package/dist/scss-1lKx83lY-Dhq9feuo.js +0 -9
  192. package/dist/shellscript-D61Z39XV-D61Z39XV.js +0 -7
  193. package/dist/shellsession-BxewqD4o-JfAy6Scn.js +0 -9
  194. package/dist/splunk-DOc6RZxF-DOc6RZxF.js +0 -7
  195. package/dist/sql-BW1nANeH-BW1nANeH.js +0 -7
  196. package/dist/ssh-config-WxoJGDFj-WxoJGDFj.js +0 -7
  197. package/dist/stylus-DHtg4l9I-DHtg4l9I.js +0 -7
  198. package/dist/svelte-CxOAZSqx-D6_Dup1x.js +0 -29
  199. package/dist/swift-DXnxgc7L-DXnxgc7L.js +0 -14
  200. package/dist/toml-B3m4q8Sh-B3m4q8Sh.js +0 -7
  201. package/dist/tsx-DjpGf_zp-DjpGf_zp.js +0 -7
  202. package/dist/twig-BKVhsWVA-CAfti4AG.js +0 -29
  203. package/dist/typescript-CjtgCz_A-CjtgCz_A.js +0 -7
  204. package/dist/v-Ce9LUgL8-Ce9LUgL8.js +0 -7
  205. package/dist/vb-D9cF8Lsp-D9cF8Lsp.js +0 -7
  206. package/dist/viml-DF-rMx2H-DF-rMx2H.js +0 -7
  207. package/dist/vue-bdaBQoF--D_HkxBBu.js +0 -68
  208. package/dist/vue-html-DMY4c0OB-BuB6GPk-.js +0 -11
  209. package/dist/wasm-83spBAnA-83spBAnA.js +0 -7
  210. package/dist/wgsl-DiRwt5Uz-DiRwt5Uz.js +0 -7
  211. package/dist/xml-Dcc0Vp-Q-BB4kJUTf.js +0 -9
  212. package/dist/xsl-DW810WyZ-BNfp-grZ.js +0 -9
  213. package/dist/yaml-B-GyjzSe-B-GyjzSe.js +0 -7
@@ -1,193 +0,0 @@
1
- import c from "./c-C9fY0Fge-C9fY0Fge.js";
2
- import e from "./sql-BW1nANeH-BW1nANeH.js";
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: "\\{\\{(\\d+|\\d+,(\\d+)?|,\\d+)\\}\\}", 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: "(\\()(\\?P=\\w+(?:\\s+[0-9A-Za-z]+)?)(\\))", 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: "\\[\\^?\\](?!.*?\\])" }, { 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+[0-9A-Za-z]+)?|\\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[0-9A-Fa-f]{2}|0[0-7]{1,2}|[0-7]{3})", 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: "\\\\(u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})", 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: "(\\()(\\?P<\\w+(?:\\s+[0-9A-Za-z]+)?>)", 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: "\\{(\\d+|\\d+,(\\d+)?|,\\d+)\\}", name: "keyword.operator.quantifier.regexp" } }, scopeName: "source.regexp.python", aliases: ["regex"] });
4
- var n = [
5
- a
6
- ];
7
- 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"] });
8
- var t = [
9
- ...c,
10
- i
11
- ];
12
- 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: `\\)|(?=(?<!\\\\)
13
- )`, endCaptures: { 0: { name: "punctuation.section.attribute.end.cpp" } }, name: "support.other.attribute.cpp", patterns: [{ include: "#attributes_context" }, { begin: "\\(", beginCaptures: {}, end: `\\)|(?=(?<!\\\\)
14
- )`, 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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: `\\)|(?=(?<!\\\\)
15
- )`, 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: `\\)|(?=(?<!\\\\)
16
- )`, 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)|(?=(?<!\\\\)
17
- )`, endCaptures: {}, name: "meta.asm.cpp", patterns: [{ captures: { 1: { patterns: [{ include: "source.cpp#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: "source.cpp#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: `\\)|(?=(?<!\\\\)
18
- )`, 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: `"|(?=(?<!\\\\)
19
- )`, 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: "source.cpp#backslash_escapes" }, { include: "#string_escaped_char" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp" } }, end: `\\)|(?=(?<!\\\\)
20
- )`, endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.assembly.inner.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { captures: { 1: { patterns: [{ include: "source.cpp#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: "source.cpp#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}))(?:\\w|(?:\\\\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" }] }] }, attributes_context: { patterns: [{ include: "#cpp_attributes" }, { include: "#gcc_attributes" }, { include: "#ms_attributes" }, { include: "#alignas_attribute" }] }, block: { begin: "{", beginCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.cpp" } }, end: `}|(?=(?<!\\\\)
21
- )`, endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.cpp" } }, name: "meta.block.cpp", patterns: [{ include: "#function_body_context" }] }, block_comment: { begin: "\\s*+(\\/\\*)", beginCaptures: { 1: { name: "punctuation.definition.comment.begin.cpp" } }, end: `\\*\\/|(?=(?<!\\\\)
22
- )`, endCaptures: { 0: { name: "punctuation.definition.comment.end.cpp" } }, name: "comment.block.cpp" }, builtin_storage_type_initilizer: { begin: "\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)\\s*+(?<!\\w)(\\()", beginCaptures: { 1: { name: "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" }, 2: { name: "storage.type.cpp storage.type.built-in.cpp" }, 3: { name: "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" }, 4: { name: "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" }, 5: { name: "punctuation.section.arguments.begin.bracket.round.initializer.cpp" } }, end: `\\)|(?=(?<!\\\\)
23
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.initializer.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, case_statement: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)case(?!\\w))", beginCaptures: { 1: { patterns: [{ include: "source.cpp#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.case.cpp" } }, end: `:|(?=(?<!\\\\)
24
- )`, endCaptures: { 0: { name: "punctuation.separator.colon.case.cpp" } }, name: "meta.conditional.case.cpp", patterns: [{ include: "#evaluation_context" }] }, class_block: { 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}))(?:\\w|(?:\\\\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: "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: { patterns: [{ include: "#attributes_context" }, { include: "source.cpp#number_literal" }] }, 7: { patterns: [{ include: "source.cpp#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: "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" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))" }, { captures: { 1: { name: "entity.name.type.class.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: "storage.type.modifier.final.cpp" }, 7: { patterns: [{ include: "source.cpp#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: "source.cpp#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: "source.cpp#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+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
25
- )`, endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.class.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
26
- )`, 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: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
27
- )`, 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]*(?=;)|(?=(?<!\\\\)
28
- )`, endCaptures: {}, name: "meta.tail.class.cpp", patterns: [{ include: "$self" }] }] }, comments: { patterns: [{ begin: "^(?:\\s+)?+(\\/\\/[!\\/]+)", beginCaptures: { 1: { name: "punctuation.definition.comment.documentation.cpp" } }, end: `(?<=\\n)(?<!\\\\\\n)|(?=(?<!\\\\)
29
- )`, endCaptures: {}, name: "comment.line.double-slash.documentation.cpp", patterns: [{ include: "source.cpp#line_continuation_character" }, { match: '(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|"|\\.|=|::|\\||--|---)\\b(?:\\{[^}]*\\})?', name: "storage.type.class.doxygen.cpp" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.italic.doxygen.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.bold.doxygen.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.inline.raw.string.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { patterns: [{ match: "in|out", name: "keyword.other.parameter.direction.$0.cpp" }] }, 3: { patterns: [{ 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: "variable.parameter.cpp" }, { match: ",", name: "punctuation.cpp" }] }, 4: { name: "variable.parameter.cpp" }, 5: { name: "punctuation.cpp" }, 6: { name: "variable.parameter.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?:\\b[A-Z]+:|@[a-z_]+:)", name: "storage.type.class.gtkdoc.cpp" }] }, { captures: { 1: { name: "punctuation.definition.comment.begin.documentation.cpp" }, 2: { patterns: [{ match: '(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?', name: "storage.type.class.doxygen.cpp" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.italic.doxygen.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.bold.doxygen.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.inline.raw.string.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { patterns: [{ match: "in|out", name: "keyword.other.parameter.direction.$0.cpp" }] }, 3: { patterns: [{ 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: "variable.parameter.cpp" }, { match: ",", name: "punctuation.cpp" }] }, 4: { name: "variable.parameter.cpp" }, 5: { name: "punctuation.cpp" }, 6: { name: "variable.parameter.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?:\\b[A-Z]+:|@[a-z_]+:)", name: "storage.type.class.gtkdoc.cpp" }] }, 3: { name: "punctuation.definition.comment.end.documentation.cpp" } }, match: "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)", name: "comment.block.documentation.cpp" }, { begin: "(?:\\s+)?+\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s))", beginCaptures: { 0: { name: "punctuation.definition.comment.begin.documentation.cpp" } }, end: `[!*]*\\*\\/|(?=(?<!\\\\)
30
- )`, endCaptures: { 0: { name: "punctuation.definition.comment.end.documentation.cpp" } }, name: "comment.block.documentation.cpp", patterns: [{ match: '(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|"|\\.|=|::|\\||--|---)\\b(?:\\{[^}]*\\})?', name: "storage.type.class.doxygen.cpp" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.italic.doxygen.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.bold.doxygen.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.inline.raw.string.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { patterns: [{ match: "in|out", name: "keyword.other.parameter.direction.$0.cpp" }] }, 3: { patterns: [{ 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: "variable.parameter.cpp" }, { match: ",", name: "punctuation.cpp" }] }, 4: { name: "variable.parameter.cpp" }, 5: { name: "punctuation.cpp" }, 6: { name: "variable.parameter.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?:\\b[A-Z]+:|@[a-z_]+:)", name: "storage.type.class.gtkdoc.cpp" }] }, { include: "source.cpp#emacs_file_banner" }, { include: "#block_comment" }, { include: "#line_comment" }, { include: "source.cpp#invalid_comment_end" }] }, constructor_inline: { begin: "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())", beginCaptures: { 0: { name: "meta.head.function.definition.special.constructor.cpp" }, 1: { patterns: [{ include: "source.cpp#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: { patterns: [{ include: "source.cpp#functional_specifiers_pre_parameters" }] }, 6: { patterns: [{ include: "source.cpp#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: { name: "storage.type.modifier.calling-convention.cpp" }, 11: { patterns: [{ include: "source.cpp#inline_comment" }] }, 12: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 13: { name: "comment.block.cpp" }, 14: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 15: { name: "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" } }, end: `(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
31
- )`, endCaptures: {}, name: "meta.function.definition.special.constructor.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
32
- )`, endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp" } }, name: "meta.head.function.definition.special.constructor.cpp", patterns: [{ include: "#ever_present_context" }, { captures: { 1: { name: "keyword.operator.assignment.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: "keyword.other.default.function.cpp keyword.other.default.constructor.cpp" }, 7: { name: "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp" } }, match: "(=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))" }, { include: "source.cpp#functional_specifiers_pre_parameters" }, { begin: ":", beginCaptures: { 0: { name: "punctuation.separator.initializers.cpp" } }, end: `(?=\\{)|(?=(?<!\\\\)
33
- )`, endCaptures: {}, patterns: [{ begin: `((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()`, beginCaptures: { 1: { name: "entity.name.function.call.initializer.cpp" }, 2: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 3: {}, 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: { name: "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" } }, contentName: "meta.parameter.initialization", end: `\\)|(?=(?<!\\\\)
34
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { begin: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(\\{)", beginCaptures: { 1: { name: "entity.name.function.call.initializer.cpp" }, 2: { name: "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" } }, contentName: "meta.parameter.initialization", end: `\\}|(?=(?<!\\\\)
35
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { match: ",", name: "punctuation.separator.delimiter.comma.cpp" }, { include: "#comments" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp" } }, contentName: "meta.function.definition.parameters.special.constructor", end: `\\)|(?=(?<!\\\\)
36
- )`, endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.special.constructor.cpp" } }, patterns: [{ include: "#function_parameter_context" }, { include: "#evaluation_context" }] }, { include: "source.cpp#qualifiers_and_specifiers_post_parameters" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
37
- )`, endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp" } }, name: "meta.body.function.definition.special.constructor.cpp", patterns: [{ include: "#function_body_context" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: `[\\s]*(?=;)|(?=(?<!\\\\)
38
- )`, endCaptures: {}, name: "meta.tail.function.definition.special.constructor.cpp", patterns: [{ include: "$self" }] }] }, constructor_root: { begin: `\\s*+((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<8>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\10)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\())`, beginCaptures: { 0: { name: "meta.head.function.definition.special.constructor.cpp" }, 1: { name: "storage.type.modifier.calling-convention.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: { patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.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.constructor.cpp" }, { include: "#template_call_range" }] }, 7: { patterns: [{ include: "#template_call_range" }] }, 8: {}, 9: { 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: "entity.name.type.constructor.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.function.definition.special.constructor.cpp" }, { match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" }] }, 10: {}, 11: { patterns: [{ include: "source.cpp#inline_comment" }] }, 12: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 13: { name: "comment.block.cpp" }, 14: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 15: { patterns: [{ include: "source.cpp#inline_comment" }] }, 16: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 17: { name: "comment.block.cpp" }, 18: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 19: { patterns: [{ include: "source.cpp#inline_comment" }] }, 20: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 21: { name: "comment.block.cpp" }, 22: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, end: `(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
39
- )`, endCaptures: {}, name: "meta.function.definition.special.constructor.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
40
- )`, endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp" } }, name: "meta.head.function.definition.special.constructor.cpp", patterns: [{ include: "#ever_present_context" }, { captures: { 1: { name: "keyword.operator.assignment.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: "keyword.other.default.function.cpp keyword.other.default.constructor.cpp" }, 7: { name: "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp" } }, match: "(=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))" }, { include: "source.cpp#functional_specifiers_pre_parameters" }, { begin: ":", beginCaptures: { 0: { name: "punctuation.separator.initializers.cpp" } }, end: `(?=\\{)|(?=(?<!\\\\)
41
- )`, endCaptures: {}, patterns: [{ begin: `((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()`, beginCaptures: { 1: { name: "entity.name.function.call.initializer.cpp" }, 2: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 3: {}, 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: { name: "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" } }, contentName: "meta.parameter.initialization", end: `\\)|(?=(?<!\\\\)
42
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { begin: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(\\{)", beginCaptures: { 1: { name: "entity.name.function.call.initializer.cpp" }, 2: { name: "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" } }, contentName: "meta.parameter.initialization", end: `\\}|(?=(?<!\\\\)
43
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { match: ",", name: "punctuation.separator.delimiter.comma.cpp" }, { include: "#comments" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp" } }, contentName: "meta.function.definition.parameters.special.constructor", end: `\\)|(?=(?<!\\\\)
44
- )`, endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.special.constructor.cpp" } }, patterns: [{ include: "#function_parameter_context" }, { include: "#evaluation_context" }] }, { include: "source.cpp#qualifiers_and_specifiers_post_parameters" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
45
- )`, endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp" } }, name: "meta.body.function.definition.special.constructor.cpp", patterns: [{ include: "#function_body_context" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: `[\\s]*(?=;)|(?=(?<!\\\\)
46
- )`, endCaptures: {}, name: "meta.tail.function.definition.special.constructor.cpp", patterns: [{ include: "$self" }] }] }, cpp_attributes: { begin: "\\[\\[", beginCaptures: { 0: { name: "punctuation.section.attribute.begin.cpp" } }, end: `\\]\\]|(?=(?<!\\\\)
47
- )`, endCaptures: { 0: { name: "punctuation.section.attribute.end.cpp" } }, name: "support.other.attribute.cpp", patterns: [{ include: "#attributes_context" }, { begin: "\\(", beginCaptures: {}, end: `\\)|(?=(?<!\\\\)
48
- )`, 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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" }] }, curly_initializer: { 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)`, 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: "source.cpp#number_literal" }, { include: "#string_context" }, { include: "source.cpp#comma" }, { include: "source.cpp#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: `>|(?=(?<!\\\\)
49
- )`, 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: "source.cpp#number_literal" }] }, 3: { patterns: [{ include: "source.cpp#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: "source.cpp#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: "source.cpp#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: [{ include: "source.cpp#inline_comment" }] }, 20: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 21: { name: "comment.block.cpp" }, 22: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 23: { name: "punctuation.section.arguments.begin.bracket.curly.initializer.cpp" } }, end: `\\}|(?=(?<!\\\\)
50
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.curly.initializer.cpp" } }, name: "meta.initialization.cpp", patterns: [{ include: "#evaluation_context" }, { include: "source.cpp#comma" }] }, decltype: { begin: "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.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.decltype.cpp" } }, contentName: "meta.arguments.decltype", end: `\\)|(?=(?<!\\\\)
51
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.decltype.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, decltype_specifier: { begin: "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.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.decltype.cpp" } }, contentName: "meta.arguments.decltype", end: `\\)|(?=(?<!\\\\)
52
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.decltype.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, default_statement: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)default(?!\\w))", beginCaptures: { 1: { patterns: [{ include: "source.cpp#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.default.cpp" } }, end: `:|(?=(?<!\\\\)
53
- )`, endCaptures: { 0: { name: "punctuation.separator.colon.case.default.cpp" } }, name: "meta.conditional.case.cpp", patterns: [{ include: "#evaluation_context" }] }, destructor_inline: { begin: "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)(~(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())", beginCaptures: { 0: { name: "meta.head.function.definition.special.member.destructor.cpp" }, 1: { patterns: [{ include: "source.cpp#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: "storage.type.modifier.calling-convention.cpp" }, 6: { patterns: [{ include: "source.cpp#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: "source.cpp#functional_specifiers_pre_parameters" }] }, 11: { patterns: [{ include: "source.cpp#inline_comment" }] }, 12: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 13: { name: "comment.block.cpp" }, 14: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 15: { name: "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" } }, end: `(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
54
- )`, endCaptures: {}, name: "meta.function.definition.special.member.destructor.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
55
- )`, endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp" } }, name: "meta.head.function.definition.special.member.destructor.cpp", patterns: [{ include: "#ever_present_context" }, { captures: { 1: { name: "keyword.operator.assignment.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: "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp" }, 7: { name: "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp" } }, match: "(=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" } }, contentName: "meta.function.definition.parameters.special.member.destructor", end: `\\)|(?=(?<!\\\\)
56
- )`, endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" } }, patterns: [] }, { include: "source.cpp#qualifiers_and_specifiers_post_parameters" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
57
- )`, endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp" } }, name: "meta.body.function.definition.special.member.destructor.cpp", patterns: [{ include: "#function_body_context" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: `[\\s]*(?=;)|(?=(?<!\\\\)
58
- )`, endCaptures: {}, name: "meta.tail.function.definition.special.member.destructor.cpp", patterns: [{ include: "$self" }] }] }, destructor_root: { begin: `((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))~(?:\\14)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\())`, beginCaptures: { 0: { name: "meta.head.function.definition.special.member.destructor.cpp" }, 1: { patterns: [{ include: "source.cpp#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: "storage.type.modifier.calling-convention.cpp" }, 6: { patterns: [{ include: "source.cpp#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: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.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.destructor.cpp" }, { include: "#template_call_range" }] }, 11: { patterns: [{ include: "#template_call_range" }] }, 12: {}, 13: { 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: "entity.name.type.destructor.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.function.definition.special.member.destructor.cpp" }, { match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp" }] }, 14: {}, 15: { patterns: [{ include: "source.cpp#inline_comment" }] }, 16: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 17: { name: "comment.block.cpp" }, 18: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 19: { patterns: [{ include: "source.cpp#inline_comment" }] }, 20: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 21: { name: "comment.block.cpp" }, 22: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 23: { patterns: [{ include: "source.cpp#inline_comment" }] }, 24: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 25: { name: "comment.block.cpp" }, 26: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, end: `(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
59
- )`, endCaptures: {}, name: "meta.function.definition.special.member.destructor.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
60
- )`, endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp" } }, name: "meta.head.function.definition.special.member.destructor.cpp", patterns: [{ include: "#ever_present_context" }, { captures: { 1: { name: "keyword.operator.assignment.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: "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp" }, 7: { name: "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp" } }, match: "(=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" } }, contentName: "meta.function.definition.parameters.special.member.destructor", end: `\\)|(?=(?<!\\\\)
61
- )`, endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" } }, patterns: [] }, { include: "source.cpp#qualifiers_and_specifiers_post_parameters" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
62
- )`, endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp" } }, name: "meta.body.function.definition.special.member.destructor.cpp", patterns: [{ include: "#function_body_context" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: `[\\s]*(?=;)|(?=(?<!\\\\)
63
- )`, endCaptures: {}, name: "meta.tail.function.definition.special.member.destructor.cpp", patterns: [{ include: "$self" }] }] }, diagnostic: { begin: "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:error|warning)))\\b(?:\\s+)?", beginCaptures: { 1: { name: "keyword.control.directive.diagnostic.$7.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.definition.directive.cpp" }, 7: {} }, end: `(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)
64
- )`, endCaptures: {}, name: "meta.preprocessor.diagnostic.$reference(directive).cpp", patterns: [{ include: "#comments" }, { begin: '"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" } }, end: `(?:(")|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))|(?=(?<!\\\\)
65
- )`, endCaptures: { 1: { name: "punctuation.definition.string.end.cpp" } }, name: "string.quoted.double.cpp", patterns: [{ include: "source.cpp#line_continuation_character" }] }, { begin: "'", beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" } }, end: `(?:(')|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))|(?=(?<!\\\\)
66
- )`, endCaptures: { 1: { name: "punctuation.definition.string.end.cpp" } }, name: "string.quoted.single.cpp", patterns: [{ include: "source.cpp#line_continuation_character" }] }, { begin: `[^'"]`, beginCaptures: {}, end: `(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)
67
- )`, endCaptures: {}, name: "string.unquoted.cpp", patterns: [{ include: "source.cpp#line_continuation_character" }, { include: "#comments" }] }] }, enum_block: { begin: `((?<!\\w)enum(?!\\w))(?:\\s+(class|struct))?(?:(?:\\s+|((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\))))|(?={))(?:\\s+)?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)(?:(?:\\s+)?(:)(?:\\s+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))?`, beginCaptures: { 0: { name: "meta.head.enum.cpp" }, 1: { name: "storage.type.enum.cpp" }, 2: { name: "storage.type.enum.enum-key.$2.cpp" }, 3: { patterns: [{ include: "#attributes_context" }, { include: "source.cpp#number_literal" }] }, 4: { name: "entity.name.type.enum.cpp" }, 5: { name: "punctuation.separator.colon.type-specifier.cpp" }, 6: { patterns: [{ include: "source.cpp#scope_resolution_inner_generated" }] }, 7: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, 8: { patterns: [{ include: "#template_call_range" }] }, 9: {}, 10: { name: "entity.name.scope-resolution.cpp" }, 11: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 12: {}, 13: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 14: { name: "comment.block.cpp" }, 15: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 16: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, 17: { name: "storage.type.integral.$17.cpp" } }, end: `(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
68
- )`, endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.enum.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
69
- )`, endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.enum.cpp" } }, name: "meta.head.enum.cpp", patterns: [{ include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
70
- )`, endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.enum.cpp" } }, name: "meta.body.enum.cpp", patterns: [{ include: "#ever_present_context" }, { include: "source.cpp#enumerator_list" }, { include: "#comments" }, { include: "source.cpp#comma" }, { include: "source.cpp#semicolon" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: `[\\s]*(?=;)|(?=(?<!\\\\)
71
- )`, endCaptures: {}, name: "meta.tail.enum.cpp", patterns: [{ include: "$self" }] }] }, evaluation_context: { patterns: [{ include: "#ever_present_context" }, { include: "#string_context" }, { include: "source.cpp#number_literal" }, { include: "#method_access" }, { include: "source.cpp#member_access" }, { include: "source.cpp#predefined_macros" }, { include: "#operators" }, { include: "source.cpp#memory_operators" }, { include: "source.cpp#wordlike_operators" }, { include: "source.cpp#type_casting_operators" }, { include: "source.cpp#control_flow_keywords" }, { include: "source.cpp#exception_keywords" }, { include: "source.cpp#the_this_keyword" }, { include: "source.cpp#language_constants" }, { include: "#builtin_storage_type_initilizer" }, { include: "source.cpp#qualifiers_and_specifiers_post_parameters" }, { include: "source.cpp#functional_specifiers_pre_parameters" }, { include: "#storage_types" }, { include: "#lambdas" }, { include: "#attributes_context" }, { include: "#parentheses" }, { include: "#function_call" }, { include: "source.cpp#scope_resolution_inner_generated" }, { include: "#square_brackets" }, { include: "source.cpp#semicolon" }, { include: "source.cpp#comma" }] }, ever_present_context: { patterns: [{ include: "source.cpp#pragma_mark" }, { include: "#pragma" }, { include: "source.cpp#include" }, { include: "#line" }, { include: "#diagnostic" }, { include: "source.cpp#undef" }, { include: "#preprocessor_conditional_range" }, { include: "source.cpp#single_line_macro" }, { include: "#macro" }, { include: "source.cpp#preprocessor_conditional_standalone" }, { include: "source.cpp#macro_argument" }, { include: "#comments" }, { include: "source.cpp#line_continuation_character" }] }, extern_block: { begin: '((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(extern)(?=\\s*\\")', beginCaptures: { 0: { name: "meta.head.extern.cpp" }, 1: { patterns: [{ include: "source.cpp#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: "storage.type.extern.cpp" } }, end: `(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
72
- )`, endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.extern.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
73
- )`, endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.extern.cpp" } }, name: "meta.head.extern.cpp", patterns: [{ include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
74
- )`, endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.extern.cpp" } }, name: "meta.body.extern.cpp", patterns: [{ include: "$self" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: `[\\s]*(?=;)|(?=(?<!\\\\)
75
- )`, endCaptures: {}, name: "meta.tail.extern.cpp", patterns: [{ include: "$self" }] }, { include: "$self" }] }, function_body_context: { patterns: [{ include: "#ever_present_context" }, { include: "#using_namespace" }, { include: "source.cpp#type_alias" }, { include: "source.cpp#using_name" }, { include: "source.cpp#namespace_alias" }, { 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#access_control_keywords" }, { include: "#block" }, { include: "#static_assert" }, { include: "#assembly" }, { include: "#function_pointer" }, { include: "#switch_statement" }, { include: "source.cpp#goto_statement" }, { include: "#evaluation_context" }, { include: "source.cpp#label" }] }, function_call: { begin: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()`, beginCaptures: { 1: { patterns: [{ include: "source.cpp#scope_resolution_function_call_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.function.call.cpp" }, 6: { patterns: [{ include: "source.cpp#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: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 11: {}, 12: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 13: { name: "comment.block.cpp" }, 14: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 15: { name: "punctuation.section.arguments.begin.bracket.round.function.call.cpp" } }, end: `\\)|(?=(?<!\\\\)
76
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.call.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, function_definition: { begin: `(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?<!\\w)template(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\()`, beginCaptures: { 0: { name: "meta.head.function.definition.cpp" }, 1: { name: "storage.type.template.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: { patterns: [{ include: "#attributes_context" }, { include: "source.cpp#number_literal" }] }, 7: { patterns: [{ captures: { 1: { name: "storage.modifier.$1.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" } }, match: "((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))" }] }, 8: { name: "storage.modifier.$8.cpp" }, 9: { patterns: [{ include: "source.cpp#inline_comment" }] }, 10: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 11: { name: "comment.block.cpp" }, 12: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 13: { 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: "source.cpp#number_literal" }, { include: "#string_context" }, { include: "source.cpp#comma" }, { include: "source.cpp#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: `>|(?=(?<!\\\\)
77
- )`, 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" }] }, 14: { patterns: [{ include: "#attributes_context" }, { include: "source.cpp#number_literal" }] }, 15: { patterns: [{ include: "source.cpp#inline_comment" }] }, 16: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 17: { name: "comment.block.cpp" }, 18: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 19: { patterns: [{ include: "source.cpp#inline_comment" }] }, 20: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 21: { name: "comment.block.cpp" }, 22: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 23: { 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" }] }, 24: { patterns: [{ include: "#template_call_range" }] }, 25: {}, 26: { patterns: [{ include: "source.cpp#inline_comment" }] }, 27: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 28: { name: "comment.block.cpp" }, 29: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 30: {}, 31: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "source.cpp#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" }] }, 32: { patterns: [{ include: "source.cpp#inline_comment" }] }, 33: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 34: { name: "comment.block.cpp" }, 35: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 36: { patterns: [{ include: "source.cpp#inline_comment" }] }, 37: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 38: { name: "comment.block.cpp" }, 39: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 40: { patterns: [{ include: "source.cpp#inline_comment" }] }, 41: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 42: { name: "comment.block.cpp" }, 43: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 44: { name: "storage.type.modifier.calling-convention.cpp" }, 45: { patterns: [{ include: "source.cpp#inline_comment" }] }, 46: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 47: { name: "comment.block.cpp" }, 48: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 49: { patterns: [{ include: "source.cpp#scope_resolution_function_definition_inner_generated" }] }, 50: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, 51: { patterns: [{ include: "#template_call_range" }] }, 52: {}, 53: { name: "entity.name.function.definition.cpp" }, 54: { patterns: [{ include: "source.cpp#inline_comment" }] }, 55: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 56: { name: "comment.block.cpp" }, 57: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, end: `(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
78
- )`, endCaptures: {}, name: "meta.function.definition.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
79
- )`, endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.function.definition.cpp" } }, name: "meta.head.function.definition.cpp", patterns: [{ include: "#ever_present_context" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parameters.begin.bracket.round.cpp" } }, contentName: "meta.function.definition.parameters", end: `\\)|(?=(?<!\\\\)
80
- )`, endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.cpp" } }, patterns: [{ include: "#ever_present_context" }, { include: "#parameter_or_maybe_value" }, { include: "source.cpp#comma" }, { include: "#evaluation_context" }] }, { captures: { 1: { name: "punctuation.definition.function.return-type.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: "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: "source.cpp#number_literal" }, { include: "#string_context" }, { include: "source.cpp#comma" }, { include: "source.cpp#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: `>|(?=(?<!\\\\)
81
- )`, 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: "source.cpp#number_literal" }] }, 8: { patterns: [{ include: "source.cpp#inline_comment" }] }, 9: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 10: { name: "comment.block.cpp" }, 11: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 12: { patterns: [{ include: "source.cpp#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: [{ 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" }] }, 17: { patterns: [{ include: "#template_call_range" }] }, 18: {}, 19: { patterns: [{ include: "source.cpp#inline_comment" }] }, 20: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 21: { name: "comment.block.cpp" }, 22: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 23: {} }, match: `(?<=^|\\))(?:\\s+)?(->)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<23>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<23>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))` }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
82
- )`, endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.function.definition.cpp" } }, name: "meta.body.function.definition.cpp", patterns: [{ include: "#function_body_context" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: `[\\s]*(?=;)|(?=(?<!\\\\)
83
- )`, endCaptures: {}, name: "meta.tail.function.definition.cpp", patterns: [{ include: "$self" }] }] }, function_parameter_context: { patterns: [{ include: "#ever_present_context" }, { include: "#parameter" }, { include: "source.cpp#comma" }] }, function_pointer: { 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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: "source.cpp#number_literal" }, { include: "#string_context" }, { include: "source.cpp#comma" }, { include: "source.cpp#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: `>|(?=(?<!\\\\)
84
- )`, 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: "source.cpp#number_literal" }] }, 3: { patterns: [{ include: "source.cpp#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: "source.cpp#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: "source.cpp#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: "source.cpp#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: "source.cpp#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: "source.cpp#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: "source.cpp#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: "variable.other.definition.pointer.function.cpp" }, 35: { name: "punctuation.definition.begin.bracket.square.cpp" }, 36: { patterns: [{ include: "#evaluation_context" }] }, 37: { name: "punctuation.definition.end.bracket.square.cpp" }, 38: { name: "punctuation.section.parens.end.bracket.round.function.pointer.cpp" }, 39: { name: "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp" } }, end: `(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?<!\\\\)
85
- )`, endCaptures: { 1: { name: "punctuation.section.parameters.end.bracket.round.function.pointer.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" } }, patterns: [{ include: "#function_parameter_context" }] }, function_pointer_parameter: { 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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: "source.cpp#number_literal" }, { include: "#string_context" }, { include: "source.cpp#comma" }, { include: "source.cpp#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: `>|(?=(?<!\\\\)
86
- )`, 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: "source.cpp#number_literal" }] }, 3: { patterns: [{ include: "source.cpp#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: "source.cpp#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: "source.cpp#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: "source.cpp#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: "source.cpp#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: "source.cpp#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: "source.cpp#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: "variable.parameter.pointer.function.cpp" }, 35: { name: "punctuation.definition.begin.bracket.square.cpp" }, 36: { patterns: [{ include: "#evaluation_context" }] }, 37: { name: "punctuation.definition.end.bracket.square.cpp" }, 38: { name: "punctuation.section.parens.end.bracket.round.function.pointer.cpp" }, 39: { name: "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp" } }, end: `(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?<!\\\\)
87
- )`, endCaptures: { 1: { name: "punctuation.section.parameters.end.bracket.round.function.pointer.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" } }, patterns: [{ include: "#function_parameter_context" }] }, gcc_attributes: { begin: "__attribute(?:__)?\\s*\\(\\s*\\(", beginCaptures: { 0: { name: "punctuation.section.attribute.begin.cpp" } }, end: `\\)\\s*\\)|(?=(?<!\\\\)
88
- )`, endCaptures: { 0: { name: "punctuation.section.attribute.end.cpp" } }, name: "support.other.attribute.cpp", patterns: [{ include: "#attributes_context" }, { begin: "\\(", beginCaptures: {}, end: `\\)|(?=(?<!\\\\)
89
- )`, 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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" }] }, inheritance_context: { patterns: [{ include: "#ever_present_context" }, { match: ",", name: "punctuation.separator.delimiter.comma.inheritance.cpp" }, { match: "(?<!\\w)(?:(?:protected)|(?:private)|(?:public))(?!\\w)", name: "storage.type.modifier.access.$0.cpp" }, { match: "(?<!\\w)virtual(?!\\w)", name: "storage.type.modifier.virtual.cpp" }, { captures: { 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: "source.cpp#number_literal" }, { include: "#string_context" }, { include: "source.cpp#comma" }, { include: "source.cpp#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: `>|(?=(?<!\\\\)
90
- )`, 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: "source.cpp#number_literal" }] }, 3: { patterns: [{ include: "source.cpp#inline_comment" }] }, 4: { 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*+" }] }, 5: { patterns: [{ include: "source.cpp#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: { 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" }] }, 8: { patterns: [{ include: "#template_call_range" }] }, 9: {}, 10: { patterns: [{ include: "source.cpp#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: {} }, match: `(?<=protected|virtual|private|public|,|:)(?:\\s+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|virtual))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))` }] }, lambdas: { begin: '(?:(?<=[^\\s]|^)(?<![\\w\\])\\[\\*&">])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+"| *+\\d))((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:[^\\[\\]]*+\\g<3>?)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))', beginCaptures: { 1: { name: "punctuation.definition.capture.begin.lambda.cpp" }, 2: { name: "meta.lambda.capture.cpp", patterns: [{ include: "source.cpp#the_this_keyword" }, { captures: { 1: { name: "variable.parameter.capture.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.separator.delimiter.comma.cpp" }, 7: { name: "keyword.operator.assignment.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}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))" }, { include: "#evaluation_context" }] }, 3: {}, 4: { name: "punctuation.definition.capture.end.lambda.cpp" }, 5: { patterns: [{ include: "source.cpp#inline_comment" }] }, 6: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 7: { name: "comment.block.cpp" }, 8: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, end: `(?<=[;}])|(?=(?<!\\\\)
91
- )`, endCaptures: {}, patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.parameters.begin.lambda.cpp" } }, end: `\\)|(?=(?<!\\\\)
92
- )`, endCaptures: { 0: { name: "punctuation.definition.parameters.end.lambda.cpp" } }, name: "meta.function.definition.parameters.lambda.cpp", patterns: [{ include: "#function_parameter_context" }] }, { match: "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:mutable))(?!\\w)", name: "storage.modifier.lambda.$0.cpp" }, { begin: "->", beginCaptures: { 0: { name: "punctuation.definition.lambda.return-type.cpp" } }, end: `(?=\\{)|(?=(?<!\\\\)
93
- )`, endCaptures: {}, patterns: [{ include: "#comments" }, { match: "\\S+", name: "storage.type.return-type.lambda.cpp" }] }, { begin: "\\{", beginCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.lambda.cpp" } }, end: `\\}|(?=(?<!\\\\)
94
- )`, endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.lambda.cpp" } }, name: "meta.function.definition.body.lambda.cpp", patterns: [{ include: "$self" }] }] }, line: { begin: "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?line\\b", beginCaptures: { 0: { name: "keyword.control.directive.line.cpp" }, 1: { patterns: [{ include: "source.cpp#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.definition.directive.cpp" } }, end: `(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)
95
- )`, endCaptures: {}, name: "meta.preprocessor.line.cpp", patterns: [{ include: "#string_context" }, { include: "#preprocessor_number_literal" }, { include: "source.cpp#line_continuation_character" }] }, line_comment: { begin: "\\s*+(\\/\\/)", beginCaptures: { 1: { name: "punctuation.definition.comment.cpp" } }, end: `(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)
96
- )`, endCaptures: {}, name: "comment.line.double-slash.cpp", patterns: [{ include: "source.cpp#line_continuation_character" }] }, macro: { begin: "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?define\\b)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))", beginCaptures: { 1: { name: "keyword.control.directive.define.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.definition.directive.cpp" }, 7: { name: "entity.name.function.preprocessor.cpp" } }, end: `(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)
97
- )`, endCaptures: {}, name: "meta.preprocessor.macro.cpp", patterns: [{ captures: { 1: { name: "punctuation.definition.parameters.begin.preprocessor.cpp" }, 2: { name: "meta.function.preprocessor.parameters.cpp", patterns: [{ captures: { 1: { name: "variable.parameter.preprocessor.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+)?" }, { match: ",", name: "punctuation.separator.parameters.cpp" }, { match: "\\.\\.\\.", name: "punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp" }] }, 3: { name: "punctuation.definition.parameters.end.preprocessor.cpp" } }, match: "\\G(?:\\s+)?(\\()([^(]*)(\\))" }, { include: "#macro_context" }, { include: "source.cpp#macro_argument" }] }, macro_context: { patterns: [{ include: "source.cpp.embedded.macro" }] }, method_access: { begin: "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()", beginCaptures: { 1: { patterns: [{ include: "source.cpp#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.language.this.cpp" }, 6: { name: "variable.other.object.access.cpp" }, 7: { name: "punctuation.separator.dot-access.cpp" }, 8: { name: "punctuation.separator.pointer-access.cpp" }, 9: { patterns: [{ captures: { 1: { patterns: [{ include: "source.cpp#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.language.this.cpp" }, 6: { name: "variable.other.object.property.cpp" }, 7: { name: "punctuation.separator.dot-access.cpp" }, 8: { name: "punctuation.separator.pointer-access.cpp" } }, match: "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))" }, { captures: { 1: { patterns: [{ include: "source.cpp#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.language.this.cpp" }, 6: { name: "variable.other.object.access.cpp" }, 7: { name: "punctuation.separator.dot-access.cpp" }, 8: { name: "punctuation.separator.pointer-access.cpp" } }, match: "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))" }, { include: "source.cpp#member_access" }, { include: "#method_access" }] }, 10: { name: "entity.name.function.member.cpp" }, 11: { name: "punctuation.section.arguments.begin.bracket.round.function.member.cpp" } }, end: `\\)|(?=(?<!\\\\)
98
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.member.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, ms_attributes: { begin: "__declspec\\(", beginCaptures: { 0: { name: "punctuation.section.attribute.begin.cpp" } }, end: `\\)|(?=(?<!\\\\)
99
- )`, endCaptures: { 0: { name: "punctuation.section.attribute.end.cpp" } }, name: "support.other.attribute.cpp", patterns: [{ include: "#attributes_context" }, { begin: "\\(", beginCaptures: {}, end: `\\)|(?=(?<!\\\\)
100
- )`, 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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" }] }, namespace_block: { begin: "((?<!\\w)namespace(?!\\w))", beginCaptures: { 0: { name: "meta.head.namespace.cpp" }, 1: { name: "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp" } }, end: `(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
101
- )`, endCaptures: {}, name: "meta.block.namespace.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
102
- )`, endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.namespace.cpp" } }, name: "meta.head.namespace.cpp", patterns: [{ include: "#ever_present_context" }, { include: "#attributes_context" }, { captures: { 1: { patterns: [{ include: "source.cpp#scope_resolution_namespace_block_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.namespace.cpp" }, 6: { name: "punctuation.separator.scope-resolution.namespace.block.cpp" }, 7: { name: "storage.modifier.inline.cpp" } }, match: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<4>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?(?:(::)(?:\\s+)?(inline))?` }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
103
- )`, endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.namespace.cpp" } }, name: "meta.body.namespace.cpp", patterns: [{ include: "$self" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: `[\\s]*(?=;)|(?=(?<!\\\\)
104
- )`, endCaptures: {}, name: "meta.tail.namespace.cpp", patterns: [{ include: "$self" }] }] }, noexcept_operator: { begin: "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.noexcept.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.noexcept.cpp" } }, contentName: "meta.arguments.operator.noexcept", end: `\\)|(?=(?<!\\\\)
105
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, operator_overload: { begin: `((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:--)|(?:\\(\\))|(?:\\[\\])|(?:->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:--)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:-=)|(?:\\*=)|,|\\+|-|!|~|\\*|&|\\*|\\/|%|\\+|-|<|>|&|\\^|\\||=))|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:\\[\\])?)))|("")((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=<|\\()`, beginCaptures: { 0: { name: "meta.head.function.definition.special.operator-overload.cpp" }, 1: { patterns: [{ include: "source.cpp#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: "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: "source.cpp#number_literal" }, { include: "#string_context" }, { include: "source.cpp#comma" }, { include: "source.cpp#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: `>|(?=(?<!\\\\)
106
- )`, 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" }] }, 6: { patterns: [{ include: "#attributes_context" }, { include: "source.cpp#number_literal" }] }, 7: { patterns: [{ include: "source.cpp#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: [{ include: "source.cpp#inline_comment" }] }, 12: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 13: { name: "comment.block.cpp" }, 14: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 15: { 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" }] }, 16: { patterns: [{ include: "#template_call_range" }] }, 17: {}, 18: { patterns: [{ include: "source.cpp#inline_comment" }] }, 19: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 20: { name: "comment.block.cpp" }, 21: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 22: {}, 23: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "source.cpp#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" }] }, 24: { patterns: [{ include: "source.cpp#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: "source.cpp#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: { patterns: [{ include: "source.cpp#inline_comment" }] }, 33: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 34: { name: "comment.block.cpp" }, 35: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 36: { name: "storage.type.modifier.calling-convention.cpp" }, 37: { patterns: [{ include: "source.cpp#inline_comment" }] }, 38: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 39: { name: "comment.block.cpp" }, 40: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 41: { patterns: [{ include: "source.cpp#inline_comment" }] }, 42: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 43: { name: "comment.block.cpp" }, 44: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 45: { patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.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.operator.cpp" }, { include: "#template_call_range" }] }, 46: { patterns: [{ include: "#template_call_range" }] }, 47: {}, 48: { name: "keyword.other.operator.overload.cpp" }, 49: { patterns: [{ include: "source.cpp#inline_comment" }] }, 50: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 51: { name: "comment.block.cpp" }, 52: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 53: { patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.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.operator-overload.cpp" }, { include: "#template_call_range" }] }, 54: { patterns: [{ include: "#template_call_range" }] }, 55: {}, 56: { name: "entity.name.operator.cpp" }, 57: { name: "entity.name.operator.type.cpp" }, 58: { patterns: [{ match: "\\*", name: "entity.name.operator.type.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "source.cpp#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: "entity.name.operator.type.reference.cpp" }] }, 59: { patterns: [{ include: "source.cpp#inline_comment" }] }, 60: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 61: { name: "comment.block.cpp" }, 62: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 63: { patterns: [{ include: "source.cpp#inline_comment" }] }, 64: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 65: { name: "comment.block.cpp" }, 66: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 67: { patterns: [{ include: "source.cpp#inline_comment" }] }, 68: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 69: { name: "comment.block.cpp" }, 70: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 71: { name: "entity.name.operator.type.array.cpp" }, 72: { name: "entity.name.operator.custom-literal.cpp" }, 73: { patterns: [{ include: "source.cpp#inline_comment" }] }, 74: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 75: { name: "comment.block.cpp" }, 76: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 77: { name: "entity.name.operator.custom-literal.cpp" }, 78: { patterns: [{ include: "source.cpp#inline_comment" }] }, 79: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 80: { name: "comment.block.cpp" }, 81: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, end: `(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
107
- )`, endCaptures: {}, name: "meta.function.definition.special.operator-overload.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
108
- )`, endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp" } }, name: "meta.head.function.definition.special.operator-overload.cpp", patterns: [{ include: "#ever_present_context" }, { include: "#template_call_range" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp" } }, contentName: "meta.function.definition.parameters.special.operator-overload", end: `\\)|(?=(?<!\\\\)
109
- )`, endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp" } }, patterns: [{ include: "#function_parameter_context" }, { include: "#evaluation_context" }] }, { include: "source.cpp#qualifiers_and_specifiers_post_parameters" }, { captures: { 1: { name: "keyword.operator.assignment.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: "keyword.other.default.function.cpp" }, 7: { name: "keyword.other.delete.function.cpp" } }, match: "(=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
110
- )`, endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp" } }, name: "meta.body.function.definition.special.operator-overload.cpp", patterns: [{ include: "#function_body_context" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: `[\\s]*(?=;)|(?=(?<!\\\\)
111
- )`, endCaptures: {}, name: "meta.tail.function.definition.special.operator-overload.cpp", patterns: [{ include: "$self" }] }] }, operators: { patterns: [{ begin: "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.sizeof.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.sizeof.cpp" } }, contentName: "meta.arguments.operator.sizeof", end: `\\)|(?=(?<!\\\\)
112
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { 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: `\\)|(?=(?<!\\\\)
113
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { 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: `\\)|(?=(?<!\\\\)
114
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { 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: "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.typeid.cpp" } }, contentName: "meta.arguments.operator.typeid", end: `\\)|(?=(?<!\\\\)
115
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { begin: "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.noexcept.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.noexcept.cpp" } }, contentName: "meta.arguments.operator.noexcept", end: `\\)|(?=(?<!\\\\)
116
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { begin: "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.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.sizeof.variadic.cpp" } }, contentName: "meta.arguments.operator.sizeof.variadic", end: `\\)|(?=(?<!\\\\)
117
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { match: "--", name: "keyword.operator.decrement.cpp" }, { match: "\\+\\+", name: "keyword.operator.increment.cpp" }, { match: "%=|\\+=|-=|\\*=|(?<!\\()\\/=", name: "keyword.operator.assignment.compound.cpp" }, { match: "&=|\\^=|<<=|>>=|\\|=", name: "keyword.operator.assignment.compound.bitwise.cpp" }, { match: "<<|>>", name: "keyword.operator.bitwise.shift.cpp" }, { match: "!=|<=|>=|==|<|>", name: "keyword.operator.comparison.cpp" }, { match: "&&|!|\\|\\|", name: "keyword.operator.logical.cpp" }, { match: "&|\\||\\^|~", name: "keyword.operator.bitwise.cpp" }, { include: "source.cpp#assignment_operator" }, { match: "%|\\*|\\/|-|\\+", name: "keyword.operator.arithmetic.cpp" }, { include: "#ternary_operator" }] }, parameter: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)", beginCaptures: { 1: { patterns: [{ include: "source.cpp#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: `(?:(?=\\))|(,))|(?=(?<!\\\\)
118
- )`, endCaptures: { 1: { name: "punctuation.separator.delimiter.comma.cpp" } }, name: "meta.parameter.cpp", patterns: [{ include: "#ever_present_context" }, { include: "#string_context" }, { include: "#function_pointer_parameter" }, { include: "#decltype" }, { include: "source.cpp#vararg_ellipses" }, { captures: { 1: { patterns: [{ include: "#storage_types" }] }, 2: { name: "storage.modifier.specifier.parameter.cpp" }, 3: { patterns: [{ include: "source.cpp#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: "source.cpp#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: { name: "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" }, 12: { name: "storage.type.cpp storage.type.built-in.cpp" }, 13: { name: "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" }, 14: { name: "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" }, 15: { name: "entity.name.type.parameter.cpp" }, 16: { patterns: [{ include: "source.cpp#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" } }, match: "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\Wthread_local|^thread_local|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=,|\\)|=)" }, { include: "#storage_types" }, { include: "source.cpp#scope_resolution_parameter_inner_generated" }, { match: "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", name: "storage.type.$0.cpp" }, { begin: "(?<==)", beginCaptures: {}, end: `(?:(?=\\))|(,))|(?=(?<!\\\\)
119
- )`, endCaptures: { 1: { name: "punctuation.separator.delimiter.comma.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { match: "=", name: "keyword.operator.assignment.cpp" }, { captures: { 1: { patterns: [{ include: "source.cpp#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.parameter.cpp" }, 6: { patterns: [{ include: "source.cpp#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*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\)|,|\\[|=|\\n)" }, { include: "#attributes_context" }, { begin: "\\[", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.square.array.type.cpp" } }, end: `\\]|(?=(?<!\\\\)
120
- )`, endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.array.type.cpp" } }, name: "meta.bracket.square.array.cpp", patterns: [{ include: "#evaluation_context" }] }, { match: "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?<!\\Wstruct|^struct|\\Wclass|^class|\\Wunion|^union|\\Wenum|^enum)", name: "entity.name.type.parameter.cpp" }, { include: "#template_call_range" }, { captures: { 0: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "source.cpp#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" }] }, 1: { patterns: [{ include: "source.cpp#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: { patterns: [{ include: "source.cpp#inline_comment" }] }, 6: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 7: { name: "comment.block.cpp" }, 8: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)" }, { include: "#ever_present_context" }] }, parameter_or_maybe_value: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)", beginCaptures: { 1: { patterns: [{ include: "source.cpp#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: `(?:(?=\\))|(,))|(?=(?<!\\\\)
121
- )`, endCaptures: { 1: { name: "punctuation.separator.delimiter.comma.cpp" } }, name: "meta.parameter.cpp", patterns: [{ include: "#ever_present_context" }, { include: "#function_pointer_parameter" }, { include: "source.cpp#memory_operators" }, { include: "#builtin_storage_type_initilizer" }, { include: "#curly_initializer" }, { include: "#decltype" }, { include: "source.cpp#vararg_ellipses" }, { captures: { 1: { patterns: [{ include: "#storage_types" }] }, 2: { name: "storage.modifier.specifier.parameter.cpp" }, 3: { patterns: [{ include: "source.cpp#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: "source.cpp#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: { name: "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" }, 12: { name: "storage.type.cpp storage.type.built-in.cpp" }, 13: { name: "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" }, 14: { name: "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" }, 15: { name: "entity.name.type.parameter.cpp" }, 16: { patterns: [{ include: "source.cpp#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" } }, match: "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\Wthread_local|^thread_local|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=,|\\)|=)" }, { include: "#storage_types" }, { include: "#function_call" }, { include: "source.cpp#scope_resolution_parameter_inner_generated" }, { match: "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", name: "storage.type.$0.cpp" }, { begin: "(?<==)", beginCaptures: {}, end: `(?:(?=\\))|(,))|(?=(?<!\\\\)
122
- )`, endCaptures: { 1: { name: "punctuation.separator.delimiter.comma.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { captures: { 1: { patterns: [{ include: "source.cpp#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.parameter.cpp" }, 6: { patterns: [{ include: "source.cpp#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*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=(?:\\)|,|\\[|=|\\/\\/|(?:\\n|$)))" }, { include: "#attributes_context" }, { begin: "\\[", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.square.array.type.cpp" } }, end: `\\]|(?=(?<!\\\\)
123
- )`, endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.array.type.cpp" } }, name: "meta.bracket.square.array.cpp", patterns: [{ include: "#evaluation_context" }] }, { match: "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?<!\\Wstruct|^struct|\\Wclass|^class|\\Wunion|^union|\\Wenum|^enum)", name: "entity.name.type.parameter.cpp" }, { include: "#template_call_range" }, { captures: { 0: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "source.cpp#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" }] }, 1: { patterns: [{ include: "source.cpp#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: { patterns: [{ include: "source.cpp#inline_comment" }] }, 6: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 7: { name: "comment.block.cpp" }, 8: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)" }, { include: "#evaluation_context" }, { include: "#ever_present_context" }] }, parentheses: { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parens.begin.bracket.round.cpp" } }, end: `\\)|(?=(?<!\\\\)
124
- )`, endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.cpp" } }, name: "meta.parens.cpp", patterns: [{ include: "source.cpp#over_qualified_types" }, { match: "(?<!:):(?!:)", name: "punctuation.separator.colon.range-based.cpp" }, { include: "#evaluation_context" }] }, pragma: { begin: "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?pragma\\b", beginCaptures: { 0: { name: "keyword.control.directive.pragma.cpp" }, 1: { patterns: [{ include: "source.cpp#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.definition.directive.cpp" } }, end: `(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)
125
- )`, endCaptures: {}, name: "meta.preprocessor.pragma.cpp", patterns: [{ include: "#comments" }, { include: "#string_context" }, { match: "[a-zA-Z_$][\\w\\-$]*", name: "entity.other.attribute-name.pragma.preprocessor.cpp" }, { include: "#preprocessor_number_literal" }, { include: "source.cpp#line_continuation_character" }] }, preprocessor_conditional_context: { patterns: [{ include: "#preprocessor_conditional_defined" }, { include: "#comments" }, { include: "source.cpp#language_constants" }, { include: "#string_context" }, { include: "source.cpp#d9bc4796b0b_preprocessor_number_literal" }, { include: "#operators" }, { include: "source.cpp#predefined_macros" }, { include: "source.cpp#macro_name" }, { include: "source.cpp#line_continuation_character" }] }, preprocessor_conditional_defined: { begin: "((?<!\\w)defined(?!\\w))(\\()", beginCaptures: { 1: { name: "keyword.control.directive.conditional.defined.cpp" }, 2: { name: "punctuation.section.parens.control.defined.cpp" } }, end: `(?:\\)|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))|(?=(?<!\\\\)
126
- )`, endCaptures: { 0: { name: "punctuation.section.parens.control.defined.cpp" } }, patterns: [{ include: "source.cpp#macro_name" }] }, preprocessor_conditional_parentheses: { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parens.begin.bracket.round.cpp" } }, end: `\\)|(?=(?<!\\\\)
127
- )`, endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.cpp" } }, name: "meta.parens.preprocessor.conditional.cpp" }, preprocessor_conditional_range: { begin: "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:(?:ifndef|ifdef)|if))", beginCaptures: { 0: { name: "keyword.control.directive.conditional.$6.cpp" }, 1: { patterns: [{ include: "source.cpp#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.definition.directive.cpp" }, 6: {} }, contentName: "meta.preprocessor.conditional", end: `(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))|(?=(?<!\\\\)
128
- )`, endCaptures: {}, patterns: [{ include: "#preprocessor_conditional_context" }] }, preprocessor_context: { patterns: [{ include: "source.cpp#pragma_mark" }, { include: "#pragma" }, { include: "source.cpp#include" }, { include: "#line" }, { include: "#diagnostic" }, { include: "source.cpp#undef" }, { include: "#preprocessor_conditional_range" }, { include: "source.cpp#single_line_macro" }, { include: "#macro" }, { include: "source.cpp#preprocessor_conditional_standalone" }, { include: "source.cpp#macro_argument" }] }, sizeof_operator: { begin: "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.sizeof.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.sizeof.cpp" } }, contentName: "meta.arguments.operator.sizeof", end: `\\)|(?=(?<!\\\\)
129
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, sizeof_variadic_operator: { begin: "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.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.sizeof.variadic.cpp" } }, contentName: "meta.arguments.operator.sizeof.variadic", end: `\\)|(?=(?<!\\\\)
130
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, square_brackets: { begin: "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\])]))?(\\[)(?!\\])", beginCaptures: { 1: { name: "variable.other.object" }, 2: { name: "punctuation.definition.begin.bracket.square" } }, end: `\\]|(?=(?<!\\\\)
131
- )`, endCaptures: { 0: { name: "punctuation.definition.end.bracket.square" } }, name: "meta.bracket.square.access", patterns: [{ include: "#evaluation_context" }] }, static_assert: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)static_assert|_Static_assert(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { patterns: [{ include: "source.cpp#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.other.static_assert.cpp" }, 6: { patterns: [{ include: "source.cpp#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: { name: "punctuation.section.arguments.begin.bracket.round.static_assert.cpp" } }, end: `\\)|(?=(?<!\\\\)
132
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.static_assert.cpp" } }, patterns: [{ begin: '(,)(?:\\s+)?(?=(?:L|u8|u|U(?:\\s+)?\\")?)', beginCaptures: { 1: { name: "punctuation.separator.delimiter.comma.cpp" } }, end: `(?=\\))|(?=(?<!\\\\)
133
- )`, endCaptures: {}, name: "meta.static_assert.message.cpp", patterns: [{ include: "#string_context" }] }, { include: "#evaluation_context" }] }, storage_types: { patterns: [{ include: "source.cpp#storage_specifiers" }, { include: "source.cpp#inline_builtin_storage_type" }, { include: "#decltype" }, { include: "source.cpp#typename" }] }, string_context: { patterns: [{ begin: '((?:u|u8|U|L)?)"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" }, 1: { name: "meta.encoding.cpp" } }, end: `(")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\\\)
134
- )`, endCaptures: { 1: { name: "punctuation.definition.string.end.cpp" }, 2: { name: "keyword.other.suffix.literal.user-defined.reserved.string.cpp" }, 3: { name: "keyword.other.suffix.literal.user-defined.string.cpp" } }, name: "string.quoted.double.cpp", patterns: [{ match: "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})", name: "constant.character.escape.cpp" }, { match: `\\\\['"?\\\\abfnrtv]`, name: "constant.character.escape.cpp" }, { match: "\\\\[0-7]{1,3}", name: "constant.character.escape.cpp" }, { captures: { 1: { name: "constant.character.escape.cpp" }, 2: { name: "invalid.illegal.unknown-escape.cpp" } }, match: "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))" }, { include: "source.cpp#string_escapes_context_c" }] }, { begin: "(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'", beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" }, 1: { name: "meta.encoding.cpp" } }, end: `(')(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\\\)
135
- )`, endCaptures: { 1: { name: "punctuation.definition.string.end.cpp" }, 2: { name: "keyword.other.suffix.literal.user-defined.reserved.character.cpp" }, 3: { name: "keyword.other.suffix.literal.user-defined.character.cpp" } }, name: "string.quoted.single.cpp", patterns: [{ captures: { 1: { name: "constant.character.escape.cpp" }, 2: { name: "invalid.illegal.unknown-escape.cpp" } }, match: "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))" }, { include: "source.cpp#string_escapes_context_c" }, { include: "source.cpp#line_continuation_character" }] }, { begin: '((?:[uUL]8?)?R)\\"(?:(?:_r|re)|regex)\\(', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" }, 1: { name: "meta.encoding.cpp" } }, end: `\\)(?:(?:_r|re)|regex)\\"|(?=(?<!\\\\)
136
- )`, endCaptures: { 0: { name: "punctuation.definition.string.end.cpp" } }, name: "string.quoted.double.raw.regex.cpp", patterns: [{ include: "source.regexp.python" }] }, { begin: '((?:[uUL]8?)?R)\\"(?:glsl|GLSL)\\(', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" }, 1: { name: "meta.encoding.cpp" } }, end: `\\)(?:glsl|GLSL)\\"|(?=(?<!\\\\)
137
- )`, endCaptures: { 0: { name: "punctuation.definition.string.end.cpp" } }, name: "meta.string.quoted.double.raw.glsl.cpp", patterns: [{ include: "source.glsl" }] }, { begin: '((?:[uUL]8?)?R)\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" }, 1: { name: "meta.encoding.cpp" } }, end: `\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\"|(?=(?<!\\\\)
138
- )`, endCaptures: { 0: { name: "punctuation.definition.string.end.cpp" } }, name: "meta.string.quoted.double.raw.sql.cpp", patterns: [{ include: "source.sql" }] }, { begin: '((?:u|u8|U|L)?R)"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(', beginCaptures: { 0: { name: "punctuation.definition.string.begin" }, 1: { name: "meta.encoding" }, 3: { name: "invalid.illegal.delimiter-too-long" } }, end: `(\\)\\2(\\3)")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?|(?=(?<!\\\\)
139
- )`, endCaptures: { 1: { name: "punctuation.definition.string.end" }, 2: { name: "invalid.illegal.delimiter-too-long" }, 3: { name: "keyword.other.suffix.literal.user-defined.reserved.string.cpp" }, 4: { name: "keyword.other.suffix.literal.user-defined.string.cpp" } }, name: "string.quoted.double.raw" }] }, 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}))(?:\\w|(?:\\\\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: "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: { patterns: [{ include: "#attributes_context" }, { include: "source.cpp#number_literal" }] }, 7: { patterns: [{ include: "source.cpp#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: "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" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))" }, { captures: { 1: { name: "entity.name.type.struct.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: "storage.type.modifier.final.cpp" }, 7: { patterns: [{ include: "source.cpp#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: "source.cpp#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: "source.cpp#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+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
140
- )`, endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.struct.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
141
- )`, 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: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
142
- )`, 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]*(?=;)|(?=(?<!\\\\)
143
- )`, endCaptures: {}, name: "meta.tail.struct.cpp", patterns: [{ include: "$self" }] }] }, switch_conditional_parentheses: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { patterns: [{ include: "source.cpp#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: `\\)|(?=(?<!\\\\)
144
- )`, 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: "source.cpp#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: `(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
145
- )`, endCaptures: {}, name: "meta.block.switch.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
146
- )`, 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: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
147
- )`, 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]*(?=;)|(?=(?<!\\\\)
148
- )`, endCaptures: {}, name: "meta.tail.switch.cpp", patterns: [{ include: "$self" }] }] }, template_call_context: { patterns: [{ include: "#ever_present_context" }, { include: "#template_call_range" }, { include: "#storage_types" }, { include: "source.cpp#language_constants" }, { include: "source.cpp#scope_resolution_template_call_inner_generated" }, { include: "#operators" }, { include: "source.cpp#number_literal" }, { include: "#string_context" }, { include: "source.cpp#comma_in_template_argument" }, { include: "source.cpp#qualified_type" }] }, template_call_range: { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: `>|(?=(?<!\\\\)
149
- )`, 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: `>|(?=(?<!\\\\)
150
- )`, 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: `>|(?=(?<!\\\\)
151
- )`, endCaptures: { 0: { name: "punctuation.section.angle-brackets.end.template.call.cpp" } }, patterns: [{ include: "#template_call_context" }] }, { include: "#template_definition_context" }] }, template_definition_context: { patterns: [{ include: "source.cpp#scope_resolution_template_definition_inner_generated" }, { include: "source.cpp#template_definition_argument" }, { include: "source.cpp#template_argument_defaulted" }, { include: "source.cpp#template_call_innards" }, { include: "#evaluation_context" }] }, ternary_operator: { applyEndPatternLast: 1, begin: "\\?", beginCaptures: { 0: { name: "keyword.operator.ternary.cpp" } }, end: `:|(?=(?<!\\\\)
152
- )`, endCaptures: { 0: { name: "keyword.operator.ternary.cpp" } }, patterns: [{ include: "#ever_present_context" }, { include: "#string_context" }, { include: "source.cpp#number_literal" }, { include: "#method_access" }, { include: "source.cpp#member_access" }, { include: "source.cpp#predefined_macros" }, { include: "#operators" }, { include: "source.cpp#memory_operators" }, { include: "source.cpp#wordlike_operators" }, { include: "source.cpp#type_casting_operators" }, { include: "source.cpp#control_flow_keywords" }, { include: "source.cpp#exception_keywords" }, { include: "source.cpp#the_this_keyword" }, { include: "source.cpp#language_constants" }, { include: "#builtin_storage_type_initilizer" }, { include: "source.cpp#qualifiers_and_specifiers_post_parameters" }, { include: "source.cpp#functional_specifiers_pre_parameters" }, { include: "#storage_types" }, { include: "#lambdas" }, { include: "#attributes_context" }, { include: "#parentheses" }, { include: "#function_call" }, { include: "source.cpp#scope_resolution_inner_generated" }, { include: "#square_brackets" }, { include: "source.cpp#semicolon" }, { include: "source.cpp#comma" }] }, typedef_class: { begin: "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)class(?!\\w))", beginCaptures: { 1: { name: "keyword.other.typedef.cpp" } }, end: `(?<=;)|(?=(?<!\\\\)
153
- )`, 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}))(?:\\w|(?:\\\\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: "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: { patterns: [{ include: "#attributes_context" }, { include: "source.cpp#number_literal" }] }, 7: { patterns: [{ include: "source.cpp#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: "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" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))" }, { captures: { 1: { name: "entity.name.type.class.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: "storage.type.modifier.final.cpp" }, 7: { patterns: [{ include: "source.cpp#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: "source.cpp#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: "source.cpp#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+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
154
- )`, endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.class.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
155
- )`, 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: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
156
- )`, 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]*(?=;)|(?=(?<!\\\\)
157
- )`, endCaptures: {}, name: "meta.tail.class.cpp", patterns: [{ captures: { 1: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "source.cpp#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: "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: { patterns: [{ include: "source.cpp#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: "source.cpp#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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\s*\\))", beginCaptures: { 1: { name: "keyword.other.typedef.cpp" } }, end: `(?<=;)|(?=(?<!\\\\)
158
- )`, 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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: "source.cpp#number_literal" }, { include: "#string_context" }, { include: "source.cpp#comma" }, { include: "source.cpp#scope_resolution_inner_generated" }, { begin: "<", beginCaptures: { 0: { name: "punctuation.section.angle-brackets.begin.template.call.cpp" } }, end: `>|(?=(?<!\\\\)
159
- )`, 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: "source.cpp#number_literal" }] }, 3: { patterns: [{ include: "source.cpp#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: "source.cpp#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: "source.cpp#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: "source.cpp#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: "source.cpp#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: "source.cpp#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: "source.cpp#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)(?!\\()|(?=(?<!\\\\)
160
- )`, endCaptures: { 1: { name: "punctuation.section.parameters.end.bracket.round.function.pointer.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" } }, patterns: [{ include: "#function_parameter_context" }] }] }, typedef_struct: { begin: "((?<!\\w)typedef(?!\\w))(?:\\s+)?(?=(?<!\\w)struct(?!\\w))", beginCaptures: { 1: { name: "keyword.other.typedef.cpp" } }, end: `(?<=;)|(?=(?<!\\\\)
161
- )`, 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}))(?:\\w|(?:\\\\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: "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: { patterns: [{ include: "#attributes_context" }, { include: "source.cpp#number_literal" }] }, 7: { patterns: [{ include: "source.cpp#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: "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" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))" }, { captures: { 1: { name: "entity.name.type.struct.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: "storage.type.modifier.final.cpp" }, 7: { patterns: [{ include: "source.cpp#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: "source.cpp#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: "source.cpp#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+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
162
- )`, endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.struct.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
163
- )`, 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: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
164
- )`, 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]*(?=;)|(?=(?<!\\\\)
165
- )`, endCaptures: {}, name: "meta.tail.struct.cpp", patterns: [{ captures: { 1: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "source.cpp#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: "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: { patterns: [{ include: "source.cpp#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: "source.cpp#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}))(?:\\w|(?:\\\\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: `(?<=;)|(?=(?<!\\\\)
166
- )`, 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}))(?:\\w|(?:\\\\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: "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: { patterns: [{ include: "#attributes_context" }, { include: "source.cpp#number_literal" }] }, 7: { patterns: [{ include: "source.cpp#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: "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" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))" }, { captures: { 1: { name: "entity.name.type.union.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: "storage.type.modifier.final.cpp" }, 7: { patterns: [{ include: "source.cpp#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: "source.cpp#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: "source.cpp#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+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
167
- )`, endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.union.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
168
- )`, 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: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
169
- )`, 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]*(?=;)|(?=(?<!\\\\)
170
- )`, endCaptures: {}, name: "meta.tail.union.cpp", patterns: [{ captures: { 1: { patterns: [{ match: "\\*", name: "storage.modifier.pointer.cpp" }, { captures: { 1: { patterns: [{ include: "source.cpp#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: "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: { patterns: [{ include: "source.cpp#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: "source.cpp#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}))(?:\\w|(?:\\\\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: "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.typeid.cpp" } }, contentName: "meta.arguments.operator.typeid", end: `\\)|(?=(?<!\\\\)
171
- )`, endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, 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}))(?:\\w|(?:\\\\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: "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: { patterns: [{ include: "#attributes_context" }, { include: "source.cpp#number_literal" }] }, 7: { patterns: [{ include: "source.cpp#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: "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" } }, match: "((?<!\\w)final(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))" }, { captures: { 1: { name: "entity.name.type.union.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: "storage.type.modifier.final.cpp" }, 7: { patterns: [{ include: "source.cpp#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: "source.cpp#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: "source.cpp#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+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?<!\\\\)
172
- )`, endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.union.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: `(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)
173
- )`, 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: `\\}|%>|\\?\\?>|(?=(?<!\\\\)
174
- )`, 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]*(?=;)|(?=(?<!\\\\)
175
- )`, 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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: `;|(?=(?<!\\\\)
176
- )`, endCaptures: { 0: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.using-namespace.cpp" } }, scopeName: "source.cpp.embedded.macro", embeddedLangs: ["regexp", "glsl", "sql"] });
177
- var o = [
178
- ...n,
179
- ...t,
180
- ...e,
181
- p
182
- ];
183
- 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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: `\\\\(\\\\|[abefnprtv'"?]|[0-3][0-7]{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8})`, name: "constant.character.escape" }, block: { begin: "{", beginCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.cpp" } }, end: "}", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.cpp" } }, name: "meta.block.cpp", patterns: [{ include: "#function_body_context" }] }, block_comment: { begin: "\\s*+(\\/\\*)", beginCaptures: { 1: { name: "punctuation.definition.comment.begin.cpp" } }, end: "\\*\\/", endCaptures: { 0: { name: "punctuation.definition.comment.end.cpp" } }, name: "comment.block.cpp" }, builtin_storage_type_initilizer: { begin: "\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)\\s*+(?<!\\w)(\\()", beginCaptures: { 1: { name: "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" }, 2: { name: "storage.type.cpp storage.type.built-in.cpp" }, 3: { name: "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" }, 4: { name: "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" }, 5: { name: "punctuation.section.arguments.begin.bracket.round.initializer.cpp" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.initializer.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, case_statement: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)case(?!\\w))", 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: "keyword.control.case.cpp" } }, end: ":", endCaptures: { 0: { name: "punctuation.separator.colon.case.cpp" } }, name: "meta.conditional.case.cpp", patterns: [{ include: "#evaluation_context" }] }, class_block: { 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}))(?:\\w|(?:\\\\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: [{ include: "$self" }] }] }, class_declare: { captures: { 1: { name: "storage.type.class.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.class.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)class(?!\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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])" }, comma: { match: ",", name: "punctuation.separator.delimiter.comma.cpp" }, comma_in_template_argument: { match: ",", name: "punctuation.separator.delimiter.comma.template.argument.cpp" }, comments: { patterns: [{ begin: "^(?:\\s+)?+(\\/\\/[!\\/]+)", beginCaptures: { 1: { name: "punctuation.definition.comment.documentation.cpp" } }, end: "(?<=\\n)(?<!\\\\\\n)", endCaptures: {}, name: "comment.line.double-slash.documentation.cpp", patterns: [{ include: "#line_continuation_character" }, { match: '(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|"|\\.|=|::|\\||--|---)\\b(?:\\{[^}]*\\})?', name: "storage.type.class.doxygen.cpp" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.italic.doxygen.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.bold.doxygen.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.inline.raw.string.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { patterns: [{ match: "in|out", name: "keyword.other.parameter.direction.$0.cpp" }] }, 3: { patterns: [{ 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: "variable.parameter.cpp" }, { match: ",", name: "punctuation.cpp" }] }, 4: { name: "variable.parameter.cpp" }, 5: { name: "punctuation.cpp" }, 6: { name: "variable.parameter.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?:\\b[A-Z]+:|@[a-z_]+:)", name: "storage.type.class.gtkdoc.cpp" }] }, { captures: { 1: { name: "punctuation.definition.comment.begin.documentation.cpp" }, 2: { patterns: [{ match: '(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?', name: "storage.type.class.doxygen.cpp" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.italic.doxygen.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.bold.doxygen.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.inline.raw.string.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { patterns: [{ match: "in|out", name: "keyword.other.parameter.direction.$0.cpp" }] }, 3: { patterns: [{ 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: "variable.parameter.cpp" }, { match: ",", name: "punctuation.cpp" }] }, 4: { name: "variable.parameter.cpp" }, 5: { name: "punctuation.cpp" }, 6: { name: "variable.parameter.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?:\\b[A-Z]+:|@[a-z_]+:)", name: "storage.type.class.gtkdoc.cpp" }] }, 3: { name: "punctuation.definition.comment.end.documentation.cpp" } }, match: "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)", name: "comment.block.documentation.cpp" }, { begin: "(?:\\s+)?+\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s))", beginCaptures: { 0: { name: "punctuation.definition.comment.begin.documentation.cpp" } }, end: "[!*]*\\*\\/", endCaptures: { 0: { name: "punctuation.definition.comment.end.documentation.cpp" } }, name: "comment.block.documentation.cpp", patterns: [{ match: '(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|"|\\.|=|::|\\||--|---)\\b(?:\\{[^}]*\\})?', name: "storage.type.class.doxygen.cpp" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.italic.doxygen.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.bold.doxygen.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { name: "markup.inline.raw.string.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { captures: { 1: { name: "storage.type.class.doxygen.cpp" }, 2: { patterns: [{ match: "in|out", name: "keyword.other.parameter.direction.$0.cpp" }] }, 3: { patterns: [{ 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: "variable.parameter.cpp" }, { match: ",", name: "punctuation.cpp" }] }, 4: { name: "variable.parameter.cpp" }, 5: { name: "punctuation.cpp" }, 6: { name: "variable.parameter.cpp" } }, match: "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(,)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))*)" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", name: "storage.type.class.doxygen.cpp" }, { match: "(?:\\b[A-Z]+:|@[a-z_]+:)", name: "storage.type.class.gtkdoc.cpp" }] }, { include: "#emacs_file_banner" }, { include: "#block_comment" }, { include: "#line_comment" }, { include: "#invalid_comment_end" }] }, constructor_inline: { begin: "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())", beginCaptures: { 0: { name: "meta.head.function.definition.special.constructor.cpp" }, 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 5: { patterns: [{ include: "#functional_specifiers_pre_parameters" }] }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 8: { name: "comment.block.cpp" }, 9: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 10: { name: "storage.type.modifier.calling-convention.cpp" }, 11: { patterns: [{ include: "#inline_comment" }] }, 12: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 13: { name: "comment.block.cpp" }, 14: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 15: { name: "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" } }, end: "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", endCaptures: {}, name: "meta.function.definition.special.constructor.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp" } }, name: "meta.head.function.definition.special.constructor.cpp", patterns: [{ include: "#ever_present_context" }, { captures: { 1: { name: "keyword.operator.assignment.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "keyword.other.default.function.cpp keyword.other.default.constructor.cpp" }, 7: { name: "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp" } }, match: "(=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))" }, { include: "#functional_specifiers_pre_parameters" }, { begin: ":", beginCaptures: { 0: { name: "punctuation.separator.initializers.cpp" } }, end: "(?=\\{)", endCaptures: {}, patterns: [{ begin: `((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()`, beginCaptures: { 1: { name: "entity.name.function.call.initializer.cpp" }, 2: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 3: {}, 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: { name: "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" } }, contentName: "meta.parameter.initialization", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { begin: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(\\{)", beginCaptures: { 1: { name: "entity.name.function.call.initializer.cpp" }, 2: { name: "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" } }, contentName: "meta.parameter.initialization", end: "\\}", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { match: ",", name: "punctuation.separator.delimiter.comma.cpp" }, { include: "#comments" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp" } }, contentName: "meta.function.definition.parameters.special.constructor", end: "\\)", endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.special.constructor.cpp" } }, patterns: [{ include: "#function_parameter_context" }, { include: "#evaluation_context" }] }, { include: "#qualifiers_and_specifiers_post_parameters" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp" } }, name: "meta.body.function.definition.special.constructor.cpp", patterns: [{ include: "#function_body_context" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.function.definition.special.constructor.cpp", patterns: [{ include: "$self" }] }] }, constructor_root: { begin: `\\s*+((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<8>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\10)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\())`, beginCaptures: { 0: { name: "meta.head.function.definition.special.constructor.cpp" }, 1: { name: "storage.type.modifier.calling-convention.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: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.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.constructor.cpp" }, { include: "#template_call_range" }] }, 7: { patterns: [{ include: "#template_call_range" }] }, 8: {}, 9: { 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: "entity.name.type.constructor.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.function.definition.special.constructor.cpp" }, { match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" }] }, 10: {}, 11: { patterns: [{ include: "#inline_comment" }] }, 12: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 13: { name: "comment.block.cpp" }, 14: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 15: { patterns: [{ include: "#inline_comment" }] }, 16: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 17: { name: "comment.block.cpp" }, 18: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 21: { name: "comment.block.cpp" }, 22: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, end: "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", endCaptures: {}, name: "meta.function.definition.special.constructor.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp" } }, name: "meta.head.function.definition.special.constructor.cpp", patterns: [{ include: "#ever_present_context" }, { captures: { 1: { name: "keyword.operator.assignment.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "keyword.other.default.function.cpp keyword.other.default.constructor.cpp" }, 7: { name: "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp" } }, match: "(=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))" }, { include: "#functional_specifiers_pre_parameters" }, { begin: ":", beginCaptures: { 0: { name: "punctuation.separator.initializers.cpp" } }, end: "(?=\\{)", endCaptures: {}, patterns: [{ begin: `((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()`, beginCaptures: { 1: { name: "entity.name.function.call.initializer.cpp" }, 2: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 3: {}, 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: { name: "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" } }, contentName: "meta.parameter.initialization", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { begin: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(\\{)", beginCaptures: { 1: { name: "entity.name.function.call.initializer.cpp" }, 2: { name: "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" } }, contentName: "meta.parameter.initialization", end: "\\}", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { match: ",", name: "punctuation.separator.delimiter.comma.cpp" }, { include: "#comments" }] }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp" } }, contentName: "meta.function.definition.parameters.special.constructor", end: "\\)", endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.special.constructor.cpp" } }, patterns: [{ include: "#function_parameter_context" }, { include: "#evaluation_context" }] }, { include: "#qualifiers_and_specifiers_post_parameters" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp" } }, name: "meta.body.function.definition.special.constructor.cpp", patterns: [{ include: "#function_body_context" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.function.definition.special.constructor.cpp", patterns: [{ include: "$self" }] }] }, control_flow_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: "keyword.control.$3.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:co_return)|(?:co_yield)|(?:co_await)|(?:continue)|(?:default)|(?:switch)|(?:return)|(?:catch)|(?:while)|(?:throw)|(?:break)|(?:case)|(?:goto)|(?:else)|(?:for)|(?:try)|(?:if)|(?:do))(?!\\w))" }, cpp_attributes: { begin: "\\[\\[", 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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" }] }, curly_initializer: { 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<18>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)`, 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: [{ include: "#inline_comment" }] }, 20: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 21: { name: "comment.block.cpp" }, 22: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 23: { name: "punctuation.section.arguments.begin.bracket.curly.initializer.cpp" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.curly.initializer.cpp" } }, name: "meta.initialization.cpp", patterns: [{ include: "#evaluation_context" }, { include: "#comma" }] }, d9bc4796b0b_module_import: { 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.control.directive.import.cpp" }, 5: { name: "string.quoted.other.lt-gt.include.cpp" }, 6: { name: "punctuation.definition.string.begin.cpp" }, 7: { name: "punctuation.definition.string.end.cpp" }, 8: { patterns: [{ include: "#inline_comment" }] }, 9: { patterns: [{ 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: { name: "string.quoted.double.include.cpp" }, 11: { name: "punctuation.definition.string.begin.cpp" }, 12: { name: "punctuation.definition.string.end.cpp" }, 13: { patterns: [{ include: "#inline_comment" }] }, 14: { patterns: [{ 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*+" }] }, 15: { name: "entity.name.other.preprocessor.macro.include.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { 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*+" }] }, 18: { patterns: [{ include: "#inline_comment" }] }, 19: { 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: { patterns: [{ include: "#inline_comment" }] }, 21: { 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*+" }] }, 22: { name: "punctuation.terminator.statement.cpp" } }, match: '^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((import))(?:\\s+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\")[^\\"]*(\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))(?:\\s+)?(;?)', name: "meta.preprocessor.import.cpp" }, d9bc4796b0b_preprocessor_number_literal: { captures: { 0: { patterns: [{ begin: "(?=.)", beginCaptures: {}, end: "$", endCaptures: {}, patterns: [{ captures: { 1: { name: "keyword.other.unit.hexadecimal.cpp" }, 2: { name: "constant.numeric.hexadecimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 3: { name: "punctuation.separator.constant.numeric.cpp" }, 4: { name: "constant.numeric.hexadecimal.cpp" }, 5: { name: "constant.numeric.hexadecimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 6: { name: "punctuation.separator.constant.numeric.cpp" }, 7: { name: "keyword.other.unit.exponent.hexadecimal.cpp" }, 8: { name: "keyword.operator.plus.exponent.hexadecimal.cpp" }, 9: { name: "keyword.operator.minus.exponent.hexadecimal.cpp" }, 10: { name: "constant.numeric.exponent.hexadecimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 11: { name: "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp" } }, match: "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?$" }, { captures: { 1: { name: "constant.numeric.decimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 2: { name: "punctuation.separator.constant.numeric.cpp" }, 3: { name: "constant.numeric.decimal.point.cpp" }, 4: { name: "constant.numeric.decimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 5: { name: "punctuation.separator.constant.numeric.cpp" }, 6: { name: "keyword.other.unit.exponent.decimal.cpp" }, 7: { name: "keyword.operator.plus.exponent.decimal.cpp" }, 8: { name: "keyword.operator.minus.exponent.decimal.cpp" }, 9: { name: "constant.numeric.exponent.decimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 10: { name: "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp" } }, match: "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?$" }, { captures: { 1: { name: "keyword.other.unit.binary.cpp" }, 2: { name: "constant.numeric.binary.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 3: { name: "punctuation.separator.constant.numeric.cpp" }, 4: { name: "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp" } }, match: "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$" }, { captures: { 1: { name: "keyword.other.unit.octal.cpp" }, 2: { name: "constant.numeric.octal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 3: { name: "punctuation.separator.constant.numeric.cpp" }, 4: { name: "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp" } }, match: "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$" }, { captures: { 1: { name: "keyword.other.unit.hexadecimal.cpp" }, 2: { name: "constant.numeric.hexadecimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 3: { name: "punctuation.separator.constant.numeric.cpp" }, 4: { name: "keyword.other.unit.exponent.hexadecimal.cpp" }, 5: { name: "keyword.operator.plus.exponent.hexadecimal.cpp" }, 6: { name: "keyword.operator.minus.exponent.hexadecimal.cpp" }, 7: { name: "constant.numeric.exponent.hexadecimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 8: { name: "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp" } }, match: "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$" }, { captures: { 1: { name: "constant.numeric.decimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 2: { name: "punctuation.separator.constant.numeric.cpp" }, 3: { name: "keyword.other.unit.exponent.decimal.cpp" }, 4: { name: "keyword.operator.plus.exponent.decimal.cpp" }, 5: { name: "keyword.operator.minus.exponent.decimal.cpp" }, 6: { name: "constant.numeric.exponent.decimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 7: { name: "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp" } }, match: "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$" }, { match: "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+", name: "invalid.illegal.constant.numeric.cpp" }] }] } }, match: "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*" }, decltype: { begin: "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.decltype.cpp" } }, contentName: "meta.arguments.decltype", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.decltype.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, decltype_specifier: { begin: "((?<!\\w)decltype(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.decltype.cpp" } }, contentName: "meta.arguments.decltype", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.decltype.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, default_statement: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)default(?!\\w))", 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: "keyword.control.default.cpp" } }, end: ":", endCaptures: { 0: { name: "punctuation.separator.colon.case.default.cpp" } }, name: "meta.conditional.case.cpp", patterns: [{ include: "#evaluation_context" }] }, destructor_inline: { begin: "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)(~(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())", beginCaptures: { 0: { name: "meta.head.function.definition.special.member.destructor.cpp" }, 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 5: { name: "storage.type.modifier.calling-convention.cpp" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 8: { name: "comment.block.cpp" }, 9: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 10: { patterns: [{ include: "#functional_specifiers_pre_parameters" }] }, 11: { patterns: [{ include: "#inline_comment" }] }, 12: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 13: { name: "comment.block.cpp" }, 14: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 15: { name: "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" } }, end: "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", endCaptures: {}, name: "meta.function.definition.special.member.destructor.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp" } }, name: "meta.head.function.definition.special.member.destructor.cpp", patterns: [{ include: "#ever_present_context" }, { captures: { 1: { name: "keyword.operator.assignment.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp" }, 7: { name: "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp" } }, match: "(=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" } }, contentName: "meta.function.definition.parameters.special.member.destructor", end: "\\)", endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" } }, patterns: [] }, { include: "#qualifiers_and_specifiers_post_parameters" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp" } }, name: "meta.body.function.definition.special.member.destructor.cpp", patterns: [{ include: "#function_body_context" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.function.definition.special.member.destructor.cpp", patterns: [{ include: "$self" }] }] }, destructor_root: { begin: `((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))::((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))~(?:\\14)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\())`, beginCaptures: { 0: { name: "meta.head.function.definition.special.member.destructor.cpp" }, 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 5: { name: "storage.type.modifier.calling-convention.cpp" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 8: { name: "comment.block.cpp" }, 9: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 10: { patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.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.destructor.cpp" }, { include: "#template_call_range" }] }, 11: { patterns: [{ include: "#template_call_range" }] }, 12: {}, 13: { 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: "entity.name.type.destructor.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.function.definition.special.member.destructor.cpp" }, { match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp" }] }, 14: {}, 15: { patterns: [{ include: "#inline_comment" }] }, 16: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 17: { name: "comment.block.cpp" }, 18: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 21: { name: "comment.block.cpp" }, 22: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 23: { patterns: [{ include: "#inline_comment" }] }, 24: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 25: { name: "comment.block.cpp" }, 26: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, end: "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", endCaptures: {}, name: "meta.function.definition.special.member.destructor.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp" } }, name: "meta.head.function.definition.special.member.destructor.cpp", patterns: [{ include: "#ever_present_context" }, { captures: { 1: { name: "keyword.operator.assignment.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp" }, 7: { name: "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp" } }, match: "(=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" } }, contentName: "meta.function.definition.parameters.special.member.destructor", end: "\\)", endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" } }, patterns: [] }, { include: "#qualifiers_and_specifiers_post_parameters" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp" } }, name: "meta.body.function.definition.special.member.destructor.cpp", patterns: [{ include: "#function_body_context" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.function.definition.special.member.destructor.cpp", patterns: [{ include: "$self" }] }] }, diagnostic: { begin: "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:error|warning)))\\b(?:\\s+)?", beginCaptures: { 1: { name: "keyword.control.directive.diagnostic.$7.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.definition.directive.cpp" }, 7: {} }, end: "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))", endCaptures: {}, name: "meta.preprocessor.diagnostic.$reference(directive).cpp", patterns: [{ include: "#comments" }, { begin: '"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" } }, end: '(?:(")|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))', endCaptures: { 1: { name: "punctuation.definition.string.end.cpp" } }, name: "string.quoted.double.cpp", patterns: [{ include: "#line_continuation_character" }] }, { begin: "'", beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" } }, end: "(?:(')|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))", endCaptures: { 1: { name: "punctuation.definition.string.end.cpp" } }, name: "string.quoted.single.cpp", patterns: [{ include: "#line_continuation_character" }] }, { begin: `[^'"]`, beginCaptures: {}, end: "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))", endCaptures: {}, name: "string.unquoted.cpp", patterns: [{ include: "#line_continuation_character" }, { include: "#comments" }] }] }, emacs_file_banner: { captures: { 1: { name: "meta.toc-list.banner.double-slash.cpp" }, 2: { name: "comment.line.double-slash.cpp" }, 3: { name: "punctuation.definition.comment.cpp" }, 4: { name: "meta.banner.character.cpp" }, 5: { name: "meta.toc-list.banner.block.cpp" }, 6: { name: "comment.line.banner.cpp" }, 7: { name: "punctuation.definition.comment.cpp" }, 8: { name: "meta.banner.character.cpp" } }, match: "(?:(^(?:\\s+)?((\\/\\/)(?:\\s+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:\\s+)?.+(?:\\s+)?(?:\\4)(?:\\s+)?(?:\\n|$)))|(^(?:\\s+)?((\\/\\*)(?:\\s+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:\\s+)?.+(?:\\s+)?(?:\\8)(?:\\s+)?\\*\\/)))" }, empty_square_brackets: { match: "(?<!delete)\\[(?:\\s+)?\\]", name: "storage.modifier.array.bracket.square" }, enum_block: { begin: `((?<!\\w)enum(?!\\w))(?:\\s+(class|struct))?(?:(?:\\s+|((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\))))|(?={))(?:\\s+)?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)(?:(?:\\s+)?(:)(?:\\s+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))?`, beginCaptures: { 0: { name: "meta.head.enum.cpp" }, 1: { name: "storage.type.enum.cpp" }, 2: { name: "storage.type.enum.enum-key.$2.cpp" }, 3: { patterns: [{ include: "#attributes_context" }, { include: "#number_literal" }] }, 4: { name: "entity.name.type.enum.cpp" }, 5: { name: "punctuation.separator.colon.type-specifier.cpp" }, 6: { patterns: [{ include: "#scope_resolution_inner_generated" }] }, 7: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, 8: { patterns: [{ include: "#template_call_range" }] }, 9: {}, 10: { name: "entity.name.scope-resolution.cpp" }, 11: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 12: {}, 13: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 14: { name: "comment.block.cpp" }, 15: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 16: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, 17: { name: "storage.type.integral.$17.cpp" } }, end: "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.enum.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.enum.cpp" } }, name: "meta.head.enum.cpp", patterns: [{ include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.enum.cpp" } }, name: "meta.body.enum.cpp", patterns: [{ include: "#ever_present_context" }, { include: "#enumerator_list" }, { include: "#comments" }, { include: "#comma" }, { include: "#semicolon" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.enum.cpp", patterns: [{ include: "$self" }] }] }, enum_declare: { captures: { 1: { name: "storage.type.enum.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.enum.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)enum(?!\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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])" }, enumerator_list: { captures: { 1: { name: "variable.other.enummember.cpp" }, 2: { patterns: [{ include: "#attributes_context" }, { include: "#number_literal" }] }, 3: { name: "keyword.operator.assignment.cpp" }, 4: { patterns: [{ include: "#evaluation_context" }] }, 5: { patterns: [{ include: "#comma" }, { include: "#semicolon" }] } }, match: "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:\\s+)?(?:(=)(?:\\s+)?(.+?)(?:\\s+)?)?(?:(?:((?:[,;](?!')|\\n))|(?=\\}[^']))|(?=(?:\\/\\/|\\/\\*)))", name: "meta.enum.definition.cpp" }, evaluation_context: { 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" }] }, ever_present_context: { patterns: [{ include: "#pragma_mark" }, { include: "#pragma" }, { include: "#include" }, { include: "#line" }, { include: "#diagnostic" }, { include: "#undef" }, { include: "#preprocessor_conditional_range" }, { include: "#single_line_macro" }, { include: "#macro" }, { include: "#preprocessor_conditional_standalone" }, { include: "#macro_argument" }, { include: "#comments" }, { include: "#line_continuation_character" }] }, exception_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: "keyword.control.exception.$3.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:throw)|(?:catch)|(?:try))(?!\\w))" }, extern_block: { begin: '((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(extern)(?=\\s*\\")', beginCaptures: { 0: { name: "meta.head.extern.cpp" }, 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 5: { name: "storage.type.extern.cpp" } }, end: "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", endCaptures: { 1: { name: "punctuation.terminator.statement.cpp" }, 2: { name: "punctuation.terminator.statement.cpp" } }, name: "meta.block.extern.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.extern.cpp" } }, name: "meta.head.extern.cpp", patterns: [{ include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.extern.cpp" } }, name: "meta.body.extern.cpp", patterns: [{ include: "$self" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.extern.cpp", patterns: [{ include: "$self" }] }, { include: "$self" }] }, function_body_context: { patterns: [{ include: "#ever_present_context" }, { include: "#using_namespace" }, { include: "#type_alias" }, { include: "#using_name" }, { include: "#namespace_alias" }, { include: "#typedef_class" }, { include: "#typedef_struct" }, { include: "#typedef_union" }, { include: "#misc_keywords" }, { include: "#standard_declares" }, { include: "#class_block" }, { include: "#struct_block" }, { include: "#union_block" }, { include: "#enum_block" }, { include: "#access_control_keywords" }, { include: "#block" }, { include: "#static_assert" }, { include: "#assembly" }, { include: "#function_pointer" }, { include: "#switch_statement" }, { include: "#goto_statement" }, { include: "#evaluation_context" }, { include: "#label" }] }, function_call: { begin: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()`, beginCaptures: { 1: { patterns: [{ include: "#scope_resolution_function_call_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.function.call.cpp" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 8: { name: "comment.block.cpp" }, 9: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 10: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 11: {}, 12: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 13: { name: "comment.block.cpp" }, 14: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 15: { name: "punctuation.section.arguments.begin.bracket.round.function.call.cpp" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.call.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, function_definition: { begin: `(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?<!\\w)template(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<52>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_fast64_t|^uint_fast64_t|\\Wthread_local|^thread_local|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wsynchronized|^synchronized|\\Wuint_fast8_t|^uint_fast8_t|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast8_t|^int_fast8_t|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wconstinit|^constinit|\\Wco_return|^co_return|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\Wnamespace|^namespace|\\Wblksize_t|^blksize_t|\\Wco_return|^co_return|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wtemplate|^template|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Wswblk_t|^swblk_t|\\Wvirtual|^virtual|\\Wssize_t|^ssize_t|\\Wconcept|^concept|\\Wmutable|^mutable|\\Wfixpt_t|^fixpt_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wtypedef|^typedef|\\Wdaddr_t|^daddr_t|\\Wcaddr_t|^caddr_t|\\Wqaddr_t|^qaddr_t|\\Wdefault|^default|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wu_short|^u_short|\\Wwchar_t|^wchar_t|\\Wprivate|^private|\\W__asm__|^__asm__|\\Walignas|^alignas|\\Walignof|^alignof|\\Wmutable|^mutable|\\Wnullptr|^nullptr|\\Wclock_t|^clock_t|\\Wmode_t|^mode_t|\\Wpublic|^public|\\Wsize_t|^size_t|\\Wdouble|^double|\\Wquad_t|^quad_t|\\Wstatic|^static|\\Wtime_t|^time_t|\\Wmodule|^module|\\Wimport|^import|\\Wexport|^export|\\Wextern|^extern|\\Winline|^inline|\\Wxor_eq|^xor_eq|\\Wand_eq|^and_eq|\\Wreturn|^return|\\Wfriend|^friend|\\Wnot_eq|^not_eq|\\Wsigned|^signed|\\Wstruct|^struct|\\Wint8_t|^int8_t|\\Wushort|^ushort|\\Wswitch|^switch|\\Wu_long|^u_long|\\Wtypeid|^typeid|\\Wu_char|^u_char|\\Wsizeof|^sizeof|\\Wbitand|^bitand|\\Wdelete|^delete|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wshort|^short|\\Wbreak|^break|\\Wcatch|^catch|\\Wcompl|^compl|\\Wwhile|^while|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wor_eq|^or_eq|\\Wconst|^const|\\Wthrow|^throw|\\Wbitor|^bitor|\\Wu_int|^u_int|\\Wusing|^using|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wfloat|^float|\\Wlong|^long|\\Wgoto|^goto|\\Wuint|^uint|\\Wid_t|^id_t|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wenum|^enum|\\Wtrue|^true|\\Wchar|^char|\\Wid_t|^id_t|\\WNULL|^NULL|\\Wthis|^this|\\Wbool|^bool|\\Welse|^else|\\Wfor|^for|\\Wnew|^new|\\Wnot|^not|\\Wxor|^xor|\\Wand|^and|\\Wasm|^asm|\\Wint|^int|\\Wtry|^try|\\Wdo|^do|\\Wif|^if|\\Wor|^or)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\()`, beginCaptures: { 0: { name: "meta.head.function.definition.cpp" }, 1: { name: "storage.type.template.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: [{ captures: { 1: { name: "storage.modifier.$1.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?<!\\w)(?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))" }] }, 8: { name: "storage.modifier.$8.cpp" }, 9: { patterns: [{ include: "#inline_comment" }] }, 10: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 11: { name: "comment.block.cpp" }, 12: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 13: { 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" }] }, 14: { patterns: [{ include: "#attributes_context" }, { include: "#number_literal" }] }, 15: { patterns: [{ include: "#inline_comment" }] }, 16: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 17: { name: "comment.block.cpp" }, 18: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 21: { name: "comment.block.cpp" }, 22: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 23: { 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" }] }, 24: { patterns: [{ include: "#template_call_range" }] }, 25: {}, 26: { patterns: [{ include: "#inline_comment" }] }, 27: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 28: { name: "comment.block.cpp" }, 29: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 30: {}, 31: { 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" }] }, 32: { patterns: [{ include: "#inline_comment" }] }, 33: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 34: { name: "comment.block.cpp" }, 35: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 36: { patterns: [{ include: "#inline_comment" }] }, 37: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 38: { name: "comment.block.cpp" }, 39: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 40: { patterns: [{ include: "#inline_comment" }] }, 41: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 42: { name: "comment.block.cpp" }, 43: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 44: { name: "storage.type.modifier.calling-convention.cpp" }, 45: { patterns: [{ include: "#inline_comment" }] }, 46: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 47: { name: "comment.block.cpp" }, 48: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 49: { patterns: [{ include: "#scope_resolution_function_definition_inner_generated" }] }, 50: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, 51: { patterns: [{ include: "#template_call_range" }] }, 52: {}, 53: { name: "entity.name.function.definition.cpp" }, 54: { patterns: [{ include: "#inline_comment" }] }, 55: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 56: { name: "comment.block.cpp" }, 57: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, end: "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", endCaptures: {}, name: "meta.function.definition.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.function.definition.cpp" } }, name: "meta.head.function.definition.cpp", patterns: [{ include: "#ever_present_context" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parameters.begin.bracket.round.cpp" } }, contentName: "meta.function.definition.parameters", end: "\\)", endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.cpp" } }, patterns: [{ include: "#ever_present_context" }, { include: "#parameter_or_maybe_value" }, { include: "#comma" }, { include: "#evaluation_context" }] }, { captures: { 1: { name: "punctuation.definition.function.return-type.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 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: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 10: { name: "comment.block.cpp" }, 11: { name: "comment.block.cpp punctuation.definition.comment.end.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: [{ 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" }] }, 17: { patterns: [{ include: "#template_call_range" }] }, 18: {}, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 21: { name: "comment.block.cpp" }, 22: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 23: {} }, match: `(?<=^|\\))(?:\\s+)?(->)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<23>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<23>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))` }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.function.definition.cpp" } }, name: "meta.body.function.definition.cpp", patterns: [{ include: "#function_body_context" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.function.definition.cpp", patterns: [{ include: "$self" }] }] }, function_parameter_context: { patterns: [{ include: "#ever_present_context" }, { include: "#parameter" }, { include: "#comma" }] }, function_pointer: { 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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: "variable.other.definition.pointer.function.cpp" }, 35: { name: "punctuation.definition.begin.bracket.square.cpp" }, 36: { patterns: [{ include: "#evaluation_context" }] }, 37: { name: "punctuation.definition.end.bracket.square.cpp" }, 38: { name: "punctuation.section.parens.end.bracket.round.function.pointer.cpp" }, 39: { name: "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp" } }, 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" }] }, function_pointer_parameter: { 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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: "variable.parameter.pointer.function.cpp" }, 35: { name: "punctuation.definition.begin.bracket.square.cpp" }, 36: { patterns: [{ include: "#evaluation_context" }] }, 37: { name: "punctuation.definition.end.bracket.square.cpp" }, 38: { name: "punctuation.section.parens.end.bracket.round.function.pointer.cpp" }, 39: { name: "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp" } }, 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" }] }, functional_specifiers_pre_parameters: { match: "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))(?!\\w)", name: "storage.modifier.specifier.functional.pre-parameters.$0.cpp" }, gcc_attributes: { begin: "__attribute(?:__)?\\s*\\(\\s*\\(", beginCaptures: { 0: { name: "punctuation.section.attribute.begin.cpp" } }, end: "\\)\\s*\\)", 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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" }] }, goto_statement: { 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.control.goto.cpp" }, 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: "entity.name.label.call.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)goto(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)" }, identifier: { match: "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*" }, include: { 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.control.directive.$5.cpp" }, 4: { name: "punctuation.definition.directive.cpp" }, 6: { name: "string.quoted.other.lt-gt.include.cpp" }, 7: { name: "punctuation.definition.string.begin.cpp" }, 8: { name: "punctuation.definition.string.end.cpp" }, 9: { patterns: [{ include: "#inline_comment" }] }, 10: { patterns: [{ 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*+" }] }, 11: { name: "string.quoted.double.include.cpp" }, 12: { name: "punctuation.definition.string.begin.cpp" }, 13: { name: "punctuation.definition.string.end.cpp" }, 14: { patterns: [{ include: "#inline_comment" }] }, 15: { patterns: [{ 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*+" }] }, 16: { name: "entity.name.other.preprocessor.macro.include.cpp" }, 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*+" }] }, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { 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*+" }] }, 21: { patterns: [{ include: "#inline_comment" }] }, 22: { 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: '^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((#)(?:\\s+)?((?:include|include_next))\\b)(?:\\s+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\")[^\\"]*(\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))', name: "meta.preprocessor.include.cpp" }, inheritance_context: { patterns: [{ include: "#ever_present_context" }, { match: ",", name: "punctuation.separator.delimiter.comma.inheritance.cpp" }, { match: "(?<!\\w)(?:(?:protected)|(?:private)|(?:public))(?!\\w)", name: "storage.type.modifier.access.$0.cpp" }, { match: "(?<!\\w)virtual(?!\\w)", name: "storage.type.modifier.virtual.cpp" }, { captures: { 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: { 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*+" }] }, 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: { 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" }] }, 8: { patterns: [{ include: "#template_call_range" }] }, 9: {}, 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: {} }, match: `(?<=protected|virtual|private|public|,|:)(?:\\s+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|virtual))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))` }] }, inline_builtin_storage_type: { captures: { 1: { name: "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" }, 2: { name: "storage.type.cpp storage.type.built-in.cpp" }, 3: { name: "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" }, 4: { name: "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" } }, match: "\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)" }, inline_comment: { 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: "(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))" }, invalid_comment_end: { match: "\\*\\/", name: "invalid.illegal.unexpected.punctuation.definition.comment.end.cpp" }, label: { 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: "entity.name.label.cpp" }, 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: "punctuation.separator.label.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\b(?<!case|default)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)" }, lambdas: { begin: '(?:(?<=[^\\s]|^)(?<![\\w\\])\\[\\*&">])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+"| *+\\d))((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:[^\\[\\]]*+\\g<3>?)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))', beginCaptures: { 1: { name: "punctuation.definition.capture.begin.lambda.cpp" }, 2: { name: "meta.lambda.capture.cpp", patterns: [{ include: "#the_this_keyword" }, { captures: { 1: { name: "variable.parameter.capture.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.separator.delimiter.comma.cpp" }, 7: { name: "keyword.operator.assignment.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}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))" }, { include: "#evaluation_context" }] }, 3: {}, 4: { name: "punctuation.definition.capture.end.lambda.cpp" }, 5: { patterns: [{ include: "#inline_comment" }] }, 6: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 7: { name: "comment.block.cpp" }, 8: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, end: "(?<=[;}])", endCaptures: {}, patterns: [{ begin: "\\(", beginCaptures: { 0: { name: "punctuation.definition.parameters.begin.lambda.cpp" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.definition.parameters.end.lambda.cpp" } }, name: "meta.function.definition.parameters.lambda.cpp", patterns: [{ include: "#function_parameter_context" }] }, { match: "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:mutable))(?!\\w)", name: "storage.modifier.lambda.$0.cpp" }, { begin: "->", beginCaptures: { 0: { name: "punctuation.definition.lambda.return-type.cpp" } }, end: "(?=\\{)", endCaptures: {}, patterns: [{ include: "#comments" }, { match: "\\S+", name: "storage.type.return-type.lambda.cpp" }] }, { begin: "\\{", beginCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.lambda.cpp" } }, end: "\\}", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.lambda.cpp" } }, name: "meta.function.definition.body.lambda.cpp", patterns: [{ include: "$self" }] }] }, language_constants: { match: "(?<!\\w)(?:(?:nullptr)|(?:false)|(?:NULL)|(?:true))(?!\\w)", name: "constant.language.$0.cpp" }, line: { begin: "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?line\\b", beginCaptures: { 0: { name: "keyword.control.directive.line.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: "punctuation.definition.directive.cpp" } }, end: "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))", endCaptures: {}, name: "meta.preprocessor.line.cpp", patterns: [{ include: "#string_context" }, { include: "#preprocessor_number_literal" }, { include: "#line_continuation_character" }] }, line_comment: { begin: "\\s*+(\\/\\/)", beginCaptures: { 1: { name: "punctuation.definition.comment.cpp" } }, end: "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))", endCaptures: {}, name: "comment.line.double-slash.cpp", patterns: [{ include: "#line_continuation_character" }] }, line_continuation_character: { match: "\\\\\\n", name: "constant.character.escape.line-continuation.cpp" }, macro: { begin: "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?define\\b)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))", beginCaptures: { 1: { name: "keyword.control.directive.define.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.definition.directive.cpp" }, 7: { name: "entity.name.function.preprocessor.cpp" } }, end: "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))", endCaptures: {}, name: "meta.preprocessor.macro.cpp", patterns: [{ captures: { 1: { name: "punctuation.definition.parameters.begin.preprocessor.cpp" }, 2: { name: "meta.function.preprocessor.parameters.cpp", patterns: [{ captures: { 1: { name: "variable.parameter.preprocessor.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+)?" }, { match: ",", name: "punctuation.separator.parameters.cpp" }, { match: "\\.\\.\\.", name: "punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp" }] }, 3: { name: "punctuation.definition.parameters.end.preprocessor.cpp" } }, match: "\\G(?:\\s+)?(\\()([^(]*)(\\))" }, { include: "#macro_context" }, { include: "#macro_argument" }] }, macro_argument: { match: "##?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", name: "variable.other.macro.argument.cpp" }, macro_context: { patterns: [{ include: "source.cpp.embedded.macro" }] }, macro_name: { match: "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)", name: "entity.name.function.preprocessor.cpp" }, member_access: { 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" }, 4: { name: "variable.other.object.access.cpp" }, 5: { name: "punctuation.separator.dot-access.cpp" }, 6: { name: "punctuation.separator.pointer-access.cpp" }, 7: { 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" }, 5: { name: "variable.language.this.cpp" }, 6: { name: "variable.other.object.property.cpp" }, 7: { name: "punctuation.separator.dot-access.cpp" }, 8: { name: "punctuation.separator.pointer-access.cpp" } }, match: "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))" }, { 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.language.this.cpp" }, 6: { name: "variable.other.object.access.cpp" }, 7: { name: "punctuation.separator.dot-access.cpp" }, 8: { name: "punctuation.separator.pointer-access.cpp" } }, match: "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))" }, { include: "#member_access" }, { include: "#method_access" }] }, 8: { name: "variable.other.property.cpp" } }, match: "(?:((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())" }, memory_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" }, 4: { name: "keyword.operator.delete.array.cpp" }, 5: { name: "keyword.operator.delete.array.bracket.cpp" }, 6: { name: "keyword.operator.delete.cpp" }, 7: { name: "keyword.operator.new.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(delete)(?:\\s+)?(\\[\\])|(delete))|(new))(?!\\w))" }, method_access: { begin: "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()", 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: "variable.language.this.cpp" }, 6: { name: "variable.other.object.access.cpp" }, 7: { name: "punctuation.separator.dot-access.cpp" }, 8: { name: "punctuation.separator.pointer-access.cpp" }, 9: { patterns: [{ 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.language.this.cpp" }, 6: { name: "variable.other.object.property.cpp" }, 7: { name: "punctuation.separator.dot-access.cpp" }, 8: { name: "punctuation.separator.pointer-access.cpp" } }, match: "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))" }, { 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.language.this.cpp" }, 6: { name: "variable.other.object.access.cpp" }, 7: { name: "punctuation.separator.dot-access.cpp" }, 8: { name: "punctuation.separator.pointer-access.cpp" } }, match: "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:\\s+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))" }, { include: "#member_access" }, { include: "#method_access" }] }, 10: { name: "entity.name.function.member.cpp" }, 11: { name: "punctuation.section.arguments.begin.bracket.round.function.member.cpp" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.function.member.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, misc_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: "keyword.other.$3.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:constinit)|(?:requires)|(?:typedef)|(?:concept)|(?:export)|(?:module))(?!\\w))" }, ms_attributes: { begin: "__declspec\\(", 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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" }] }, namespace_alias: { captures: { 1: { name: "keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp" }, 2: { name: "entity.name.namespace.alias.cpp" }, 3: { name: "keyword.operator.assignment.cpp" }, 4: { name: "meta.declaration.namespace.alias.value.cpp" }, 5: { patterns: [{ include: "#scope_resolution_namespace_alias_inner_generated" }] }, 6: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, 7: { patterns: [{ include: "#template_call_range" }] }, 9: { name: "entity.name.namespace.cpp" }, 10: { name: "punctuation.terminator.statement.cpp" } }, match: `(?<!\\w)(namespace)\\s+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?(=)(?:\\s+)?(((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<8>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?(?:(;)|\\n))`, name: "meta.declaration.namespace.alias.cpp" }, namespace_block: { begin: "((?<!\\w)namespace(?!\\w))", beginCaptures: { 0: { name: "meta.head.namespace.cpp" }, 1: { name: "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp" } }, end: "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", endCaptures: {}, name: "meta.block.namespace.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.namespace.cpp" } }, name: "meta.head.namespace.cpp", patterns: [{ include: "#ever_present_context" }, { include: "#attributes_context" }, { captures: { 1: { patterns: [{ include: "#scope_resolution_namespace_block_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.namespace.cpp" }, 6: { name: "punctuation.separator.scope-resolution.namespace.block.cpp" }, 7: { name: "storage.modifier.inline.cpp" } }, match: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<4>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:\\s+)?(?:(::)(?:\\s+)?(inline))?` }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.namespace.cpp" } }, name: "meta.body.namespace.cpp", patterns: [{ include: "$self" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.namespace.cpp", patterns: [{ include: "$self" }] }] }, noexcept_operator: { begin: "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp" } }, contentName: "meta.arguments.operator.noexcept", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, number_literal: { captures: { 0: { patterns: [{ begin: "(?=.)", beginCaptures: {}, end: "$", endCaptures: {}, patterns: [{ captures: { 1: { name: "keyword.other.unit.hexadecimal.cpp" }, 2: { name: "constant.numeric.hexadecimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 3: { name: "punctuation.separator.constant.numeric.cpp" }, 4: { name: "constant.numeric.hexadecimal.cpp" }, 5: { name: "constant.numeric.hexadecimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 6: { name: "punctuation.separator.constant.numeric.cpp" }, 7: { name: "keyword.other.unit.exponent.hexadecimal.cpp" }, 8: { name: "keyword.operator.plus.exponent.hexadecimal.cpp" }, 9: { name: "keyword.operator.minus.exponent.hexadecimal.cpp" }, 10: { name: "constant.numeric.exponent.hexadecimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 11: { name: "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp" }, 12: { name: "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp" } }, match: "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)" }, { captures: { 1: { name: "constant.numeric.decimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 2: { name: "punctuation.separator.constant.numeric.cpp" }, 3: { name: "constant.numeric.decimal.point.cpp" }, 4: { name: "constant.numeric.decimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 5: { name: "punctuation.separator.constant.numeric.cpp" }, 6: { name: "keyword.other.unit.exponent.decimal.cpp" }, 7: { name: "keyword.operator.plus.exponent.decimal.cpp" }, 8: { name: "keyword.operator.minus.exponent.decimal.cpp" }, 9: { name: "constant.numeric.exponent.decimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 10: { name: "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp" }, 11: { name: "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp" } }, match: "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)" }, { captures: { 1: { name: "keyword.other.unit.binary.cpp" }, 2: { name: "constant.numeric.binary.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 3: { name: "punctuation.separator.constant.numeric.cpp" }, 4: { name: "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp" }, 5: { name: "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp" } }, match: "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)" }, { captures: { 1: { name: "keyword.other.unit.octal.cpp" }, 2: { name: "constant.numeric.octal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 3: { name: "punctuation.separator.constant.numeric.cpp" }, 4: { name: "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp" }, 5: { name: "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp" } }, match: "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)" }, { captures: { 1: { name: "keyword.other.unit.hexadecimal.cpp" }, 2: { name: "constant.numeric.hexadecimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 3: { name: "punctuation.separator.constant.numeric.cpp" }, 4: { name: "keyword.other.unit.exponent.hexadecimal.cpp" }, 5: { name: "keyword.operator.plus.exponent.hexadecimal.cpp" }, 6: { name: "keyword.operator.minus.exponent.hexadecimal.cpp" }, 7: { name: "constant.numeric.exponent.hexadecimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 8: { name: "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp" }, 9: { name: "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp" } }, match: "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)" }, { captures: { 1: { name: "constant.numeric.decimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 2: { name: "punctuation.separator.constant.numeric.cpp" }, 3: { name: "keyword.other.unit.exponent.decimal.cpp" }, 4: { name: "keyword.operator.plus.exponent.decimal.cpp" }, 5: { name: "keyword.operator.minus.exponent.decimal.cpp" }, 6: { name: "constant.numeric.exponent.decimal.cpp", patterns: [{ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", name: "punctuation.separator.constant.numeric.cpp" }] }, 7: { name: "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp" }, 8: { name: "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp" } }, match: "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])(\\+?)(\\-?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)" }, { match: "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+", name: "invalid.illegal.constant.numeric.cpp" }] }] } }, match: "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*" }, operator_overload: { begin: `((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<55>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:--)|(?:\\(\\))|(?:\\[\\])|(?:->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:--)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:-=)|(?:\\*=)|,|\\+|-|!|~|\\*|&|\\*|\\/|%|\\+|-|<|>|&|\\^|\\||=))|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:\\[\\])?)))|("")((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=<|\\()`, beginCaptures: { 0: { name: "meta.head.function.definition.special.operator-overload.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: "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" }] }, 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: [{ include: "#inline_comment" }] }, 12: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 13: { name: "comment.block.cpp" }, 14: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 15: { 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" }] }, 16: { patterns: [{ include: "#template_call_range" }] }, 17: {}, 18: { patterns: [{ include: "#inline_comment" }] }, 19: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 20: { name: "comment.block.cpp" }, 21: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 22: {}, 23: { 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" }] }, 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: { patterns: [{ include: "#inline_comment" }] }, 33: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 34: { name: "comment.block.cpp" }, 35: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 36: { name: "storage.type.modifier.calling-convention.cpp" }, 37: { patterns: [{ include: "#inline_comment" }] }, 38: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 39: { name: "comment.block.cpp" }, 40: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 41: { patterns: [{ include: "#inline_comment" }] }, 42: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 43: { name: "comment.block.cpp" }, 44: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 45: { patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.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.operator.cpp" }, { include: "#template_call_range" }] }, 46: { patterns: [{ include: "#template_call_range" }] }, 47: {}, 48: { name: "keyword.other.operator.overload.cpp" }, 49: { patterns: [{ include: "#inline_comment" }] }, 50: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 51: { name: "comment.block.cpp" }, 52: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 53: { patterns: [{ match: "::", name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.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.operator-overload.cpp" }, { include: "#template_call_range" }] }, 54: { patterns: [{ include: "#template_call_range" }] }, 55: {}, 56: { name: "entity.name.operator.cpp" }, 57: { name: "entity.name.operator.type.cpp" }, 58: { patterns: [{ match: "\\*", name: "entity.name.operator.type.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: "entity.name.operator.type.reference.cpp" }] }, 59: { patterns: [{ include: "#inline_comment" }] }, 60: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 61: { name: "comment.block.cpp" }, 62: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 63: { patterns: [{ include: "#inline_comment" }] }, 64: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 65: { name: "comment.block.cpp" }, 66: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 67: { patterns: [{ include: "#inline_comment" }] }, 68: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 69: { name: "comment.block.cpp" }, 70: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 71: { name: "entity.name.operator.type.array.cpp" }, 72: { name: "entity.name.operator.custom-literal.cpp" }, 73: { patterns: [{ include: "#inline_comment" }] }, 74: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 75: { name: "comment.block.cpp" }, 76: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 77: { name: "entity.name.operator.custom-literal.cpp" }, 78: { patterns: [{ include: "#inline_comment" }] }, 79: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 80: { name: "comment.block.cpp" }, 81: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, end: "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", endCaptures: {}, name: "meta.function.definition.special.operator-overload.cpp", patterns: [{ begin: "\\G ?", beginCaptures: {}, end: "(?:\\{|<%|\\?\\?<|(?=;))", endCaptures: { 0: { name: "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp" } }, name: "meta.head.function.definition.special.operator-overload.cpp", patterns: [{ include: "#ever_present_context" }, { include: "#template_call_range" }, { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp" } }, contentName: "meta.function.definition.parameters.special.operator-overload", end: "\\)", endCaptures: { 0: { name: "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp" } }, patterns: [{ include: "#function_parameter_context" }, { include: "#evaluation_context" }] }, { include: "#qualifiers_and_specifiers_post_parameters" }, { captures: { 1: { name: "keyword.operator.assignment.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "keyword.other.default.function.cpp" }, 7: { name: "keyword.other.delete.function.cpp" } }, match: "(=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))" }, { include: "$self" }] }, { begin: "(?<=\\{|<%|\\?\\?<)", beginCaptures: {}, end: "\\}|%>|\\?\\?>", endCaptures: { 0: { name: "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp" } }, name: "meta.body.function.definition.special.operator-overload.cpp", patterns: [{ include: "#function_body_context" }] }, { begin: "(?<=\\}|%>|\\?\\?>)[\\s]*", beginCaptures: {}, end: "[\\s]*(?=;)", endCaptures: {}, name: "meta.tail.function.definition.special.operator-overload.cpp", patterns: [{ include: "$self" }] }] }, operators: { patterns: [{ begin: "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp" } }, contentName: "meta.arguments.operator.sizeof", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { 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" }] }, { 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" }] }, { 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" }] }, { begin: "((?<!\\w)noexcept(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp" } }, contentName: "meta.arguments.operator.noexcept", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { begin: "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" } }, contentName: "meta.arguments.operator.sizeof.variadic", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { match: "--", name: "keyword.operator.decrement.cpp" }, { match: "\\+\\+", name: "keyword.operator.increment.cpp" }, { match: "%=|\\+=|-=|\\*=|(?<!\\()\\/=", name: "keyword.operator.assignment.compound.cpp" }, { match: "&=|\\^=|<<=|>>=|\\|=", name: "keyword.operator.assignment.compound.bitwise.cpp" }, { match: "<<|>>", name: "keyword.operator.bitwise.shift.cpp" }, { match: "!=|<=|>=|==|<|>", name: "keyword.operator.comparison.cpp" }, { match: "&&|!|\\|\\|", name: "keyword.operator.logical.cpp" }, { match: "&|\\||\\^|~", name: "keyword.operator.bitwise.cpp" }, { include: "#assignment_operator" }, { match: "%|\\*|\\/|-|\\+", name: "keyword.operator.arithmetic.cpp" }, { include: "#ternary_operator" }] }, over_qualified_types: { patterns: [{ captures: { 1: { name: "storage.type.struct.parameter.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.parameter.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: { 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" }] }, 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: [{ 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: { name: "variable.other.object.declare.cpp" }, 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: { 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*+" }] }, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { 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: "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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)))?(?=,|\\)|\\n)" }, { captures: { 1: { name: "storage.type.enum.parameter.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.enum.parameter.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: { 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" }] }, 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: [{ 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: { name: "variable.other.object.declare.cpp" }, 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: { 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*+" }] }, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { 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: "(\\benum)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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)))?(?=,|\\)|\\n)" }, { captures: { 1: { name: "storage.type.union.parameter.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.parameter.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: { 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" }] }, 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: [{ 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: { name: "variable.other.object.declare.cpp" }, 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: { 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*+" }] }, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { 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: "(\\bunion)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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)))?(?=,|\\)|\\n)" }, { captures: { 1: { name: "storage.type.class.parameter.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.class.parameter.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: { 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" }] }, 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: [{ 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: { name: "variable.other.object.declare.cpp" }, 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: { 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*+" }] }, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { 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: "(\\bclass)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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)))?(?=,|\\)|\\n)" }] }, parameter: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)", 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" } }, end: "(?:(?=\\))|(,))", endCaptures: { 1: { name: "punctuation.separator.delimiter.comma.cpp" } }, name: "meta.parameter.cpp", patterns: [{ include: "#ever_present_context" }, { include: "#string_context" }, { include: "#function_pointer_parameter" }, { include: "#decltype" }, { include: "#vararg_ellipses" }, { captures: { 1: { patterns: [{ include: "#storage_types" }] }, 2: { name: "storage.modifier.specifier.parameter.cpp" }, 3: { patterns: [{ include: "#inline_comment" }] }, 4: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 5: { name: "comment.block.cpp" }, 6: { 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: { name: "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" }, 12: { name: "storage.type.cpp storage.type.built-in.cpp" }, 13: { name: "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" }, 14: { name: "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" }, 15: { name: "entity.name.type.parameter.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 18: { name: "comment.block.cpp" }, 19: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\Wthread_local|^thread_local|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=,|\\)|=)" }, { include: "#storage_types" }, { include: "#scope_resolution_parameter_inner_generated" }, { match: "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", name: "storage.type.$0.cpp" }, { begin: "(?<==)", beginCaptures: {}, end: "(?:(?=\\))|(,))", endCaptures: { 1: { name: "punctuation.separator.delimiter.comma.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, { match: "=", name: "keyword.operator.assignment.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" }, 5: { name: "variable.parameter.cpp" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 8: { name: "comment.block.cpp" }, 9: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "(?<!\\s|\\(|,|:)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\)|,|\\[|=|\\n)" }, { include: "#attributes_context" }, { begin: "\\[", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.square.array.type.cpp" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.array.type.cpp" } }, name: "meta.bracket.square.array.cpp", patterns: [{ include: "#evaluation_context" }] }, { match: "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?<!\\Wstruct|^struct|\\Wclass|^class|\\Wunion|^union|\\Wenum|^enum)", name: "entity.name.type.parameter.cpp" }, { include: "#template_call_range" }, { captures: { 0: { 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" }] }, 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: { patterns: [{ include: "#inline_comment" }] }, 6: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 7: { name: "comment.block.cpp" }, 8: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)" }, { include: "#ever_present_context" }] }, parameter_class: { captures: { 1: { name: "storage.type.class.parameter.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.class.parameter.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: { 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" }] }, 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: [{ 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: { name: "variable.other.object.declare.cpp" }, 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: { 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*+" }] }, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { 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: "(\\bclass)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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)))?(?=,|\\)|\\n)" }, parameter_enum: { captures: { 1: { name: "storage.type.enum.parameter.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.enum.parameter.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: { 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" }] }, 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: [{ 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: { name: "variable.other.object.declare.cpp" }, 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: { 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*+" }] }, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { 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: "(\\benum)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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)))?(?=,|\\)|\\n)" }, parameter_or_maybe_value: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)", 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" } }, end: "(?:(?=\\))|(,))", endCaptures: { 1: { name: "punctuation.separator.delimiter.comma.cpp" } }, name: "meta.parameter.cpp", patterns: [{ include: "#ever_present_context" }, { include: "#function_pointer_parameter" }, { include: "#memory_operators" }, { include: "#builtin_storage_type_initilizer" }, { include: "#curly_initializer" }, { include: "#decltype" }, { include: "#vararg_ellipses" }, { captures: { 1: { patterns: [{ include: "#storage_types" }] }, 2: { name: "storage.modifier.specifier.parameter.cpp" }, 3: { patterns: [{ include: "#inline_comment" }] }, 4: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 5: { name: "comment.block.cpp" }, 6: { 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: { name: "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" }, 12: { name: "storage.type.cpp storage.type.built-in.cpp" }, 13: { name: "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" }, 14: { name: "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" }, 15: { name: "entity.name.type.parameter.cpp" }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 18: { name: "comment.block.cpp" }, 19: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?:((?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:\\s*+(?<!\\w)(?:(?:(?:((?:(?:unsigned)|(?:wchar_t)|(?:double)|(?:signed)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:long)|(?:char)|(?:bool)|(?:int)))|((?:(?:uint_least32_t)|(?:uint_least64_t)|(?:uint_least16_t)|(?:uint_fast64_t)|(?:uint_least8_t)|(?:int_least64_t)|(?:int_least32_t)|(?:int_least16_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:int_fast8_t)|(?:suseconds_t)|(?:useconds_t)|(?:uintmax_t)|(?:uintmax_t)|(?:in_port_t)|(?:uintmax_t)|(?:in_addr_t)|(?:blksize_t)|(?:uintptr_t)|(?:intmax_t)|(?:intptr_t)|(?:blkcnt_t)|(?:intmax_t)|(?:u_quad_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:ssize_t)|(?:fixpt_t)|(?:qaddr_t)|(?:u_short)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:daddr_t)|(?:caddr_t)|(?:swblk_t)|(?:clock_t)|(?:segsz_t)|(?:nlink_t)|(?:time_t)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:u_char)|(?:int8_t)|(?:u_int)|(?:uid_t)|(?:off_t)|(?:pid_t)|(?:gid_t)|(?:dev_t)|(?:div_t)|(?:key_t)|(?:ino_t)|(?:id_t)|(?:id_t)|(?:uint))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_cond_t)|(?:pthread_attr_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_]\\w*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\Wthread_local|^thread_local|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=,|\\)|=)" }, { include: "#storage_types" }, { include: "#function_call" }, { include: "#scope_resolution_parameter_inner_generated" }, { match: "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", name: "storage.type.$0.cpp" }, { begin: "(?<==)", beginCaptures: {}, end: "(?:(?=\\))|(,))", endCaptures: { 1: { name: "punctuation.separator.delimiter.comma.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.parameter.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*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=(?:\\)|,|\\[|=|\\/\\/|(?:\\n|$)))" }, { include: "#attributes_context" }, { begin: "\\[", beginCaptures: { 0: { name: "punctuation.definition.begin.bracket.square.array.type.cpp" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square.array.type.cpp" } }, name: "meta.bracket.square.array.cpp", patterns: [{ include: "#evaluation_context" }] }, { match: "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?<!\\Wstruct|^struct|\\Wclass|^class|\\Wunion|^union|\\Wenum|^enum)", name: "entity.name.type.parameter.cpp" }, { include: "#template_call_range" }, { captures: { 0: { 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" }] }, 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: { patterns: [{ include: "#inline_comment" }] }, 6: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 7: { name: "comment.block.cpp" }, 8: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" } }, match: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)" }, { include: "#evaluation_context" }, { include: "#ever_present_context" }] }, parameter_struct: { captures: { 1: { name: "storage.type.struct.parameter.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.parameter.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: { 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" }] }, 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: [{ 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: { name: "variable.other.object.declare.cpp" }, 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: { 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*+" }] }, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { 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: "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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)))?(?=,|\\)|\\n)" }, parameter_union: { captures: { 1: { name: "storage.type.union.parameter.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.parameter.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: { 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" }] }, 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: [{ 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: { name: "variable.other.object.declare.cpp" }, 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: { 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*+" }] }, 19: { patterns: [{ include: "#inline_comment" }] }, 20: { 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: "(\\bunion)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\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)))?(?=,|\\)|\\n)" }, parentheses: { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parens.begin.bracket.round.cpp" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.cpp" } }, name: "meta.parens.cpp", patterns: [{ include: "#over_qualified_types" }, { match: "(?<!:):(?!:)", name: "punctuation.separator.colon.range-based.cpp" }, { include: "#evaluation_context" }] }, pragma: { begin: "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?pragma\\b", beginCaptures: { 0: { name: "keyword.control.directive.pragma.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: "punctuation.definition.directive.cpp" } }, end: "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))", endCaptures: {}, name: "meta.preprocessor.pragma.cpp", patterns: [{ include: "#comments" }, { include: "#string_context" }, { match: "[a-zA-Z_$][\\w\\-$]*", name: "entity.other.attribute-name.pragma.preprocessor.cpp" }, { include: "#preprocessor_number_literal" }, { include: "#line_continuation_character" }] }, pragma_mark: { captures: { 1: { name: "keyword.control.directive.pragma.pragma-mark.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: { name: "entity.name.tag.pragma-mark.cpp" } }, match: "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?pragma\\s+mark)\\s+(.*)", name: "meta.preprocessor.pragma.cpp" }, predefined_macros: { patterns: [{ captures: { 1: { name: "entity.name.other.preprocessor.macro.predefined.$1.cpp" } }, match: "\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b" }, { match: "\\b__([A-Z_]+)__\\b", name: "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp" }] }, preprocessor_conditional_context: { patterns: [{ include: "#preprocessor_conditional_defined" }, { include: "#comments" }, { include: "#language_constants" }, { include: "#string_context" }, { include: "#d9bc4796b0b_preprocessor_number_literal" }, { include: "#operators" }, { include: "#predefined_macros" }, { include: "#macro_name" }, { include: "#line_continuation_character" }] }, preprocessor_conditional_defined: { begin: "((?<!\\w)defined(?!\\w))(\\()", beginCaptures: { 1: { name: "keyword.control.directive.conditional.defined.cpp" }, 2: { name: "punctuation.section.parens.control.defined.cpp" } }, end: "(?:\\)|(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$)))", endCaptures: { 0: { name: "punctuation.section.parens.control.defined.cpp" } }, patterns: [{ include: "#macro_name" }] }, preprocessor_conditional_parentheses: { begin: "\\(", beginCaptures: { 0: { name: "punctuation.section.parens.begin.bracket.round.cpp" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.parens.end.bracket.round.cpp" } }, name: "meta.parens.preprocessor.conditional.cpp" }, preprocessor_conditional_range: { begin: "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:(?:ifndef|ifdef)|if))", beginCaptures: { 0: { name: "keyword.control.directive.conditional.$6.cpp" }, 1: { patterns: [{ include: "#inline_comment" }] }, 2: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 3: { name: "comment.block.cpp" }, 4: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 5: { name: "punctuation.definition.directive.cpp" }, 6: {} }, contentName: "meta.preprocessor.conditional", end: "(?<!\\\\)(?:(?=\\n)|(?<=^\\n|[^\\\\]\\n)(?=$))", endCaptures: {}, patterns: [{ include: "#preprocessor_conditional_context" }] }, preprocessor_conditional_standalone: { 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: "punctuation.definition.directive.cpp" } }, match: "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?<!\\w)(?:endif|else|elif)(?!\\w))", name: "keyword.control.directive.$4.cpp" }, preprocessor_context: { patterns: [{ include: "#pragma_mark" }, { include: "#pragma" }, { include: "#include" }, { include: "#line" }, { include: "#diagnostic" }, { include: "#undef" }, { include: "#preprocessor_conditional_range" }, { include: "#single_line_macro" }, { include: "#macro" }, { include: "#preprocessor_conditional_standalone" }, { include: "#macro_argument" }] }, qualified_type: { captures: { 0: { 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" }] }, 1: { patterns: [{ include: "#attributes_context" }, { include: "#number_literal" }] }, 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: { 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" }] }, 7: { patterns: [{ include: "#template_call_range" }] }, 9: { patterns: [{ include: "#inline_comment" }] }, 10: { 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: `\\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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<11>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])`, name: "meta.qualified_type.cpp" }, qualifiers_and_specifiers_post_parameters: { captures: { 1: { 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" }, 5: { name: "storage.modifier.specifier.functional.post-parameters.$5.cpp" } }, match: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\w))" }] } }, match: "((?:(?:(?:(?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?<!\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\w))+)(?=\\s*(?:\\{|;|\\n|\\r|=))" }, scope_resolution: { captures: { 0: { patterns: [{ include: "#scope_resolution_inner_generated" }] }, 1: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, 2: { patterns: [{ include: "#template_call_range" }] } }, match: `(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+` }, scope_resolution_function_call: { captures: { 0: { patterns: [{ include: "#scope_resolution_function_call_inner_generated" }] }, 1: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, 2: { patterns: [{ include: "#template_call_range" }] } }, match: `(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+` }, scope_resolution_function_call_inner_generated: { captures: { 1: { patterns: [{ include: "#scope_resolution_function_call_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.scope-resolution.function.call.cpp" }, 6: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 7: {}, 8: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 9: { name: "comment.block.cpp" }, 10: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" } }, match: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)` }, scope_resolution_function_definition: { captures: { 0: { patterns: [{ include: "#scope_resolution_function_definition_inner_generated" }] }, 1: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, 2: { patterns: [{ include: "#template_call_range" }] } }, match: `(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+` }, scope_resolution_function_definition_inner_generated: { captures: { 1: { patterns: [{ include: "#scope_resolution_function_definition_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.scope-resolution.function.definition.cpp" }, 6: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 7: {}, 8: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 9: { name: "comment.block.cpp" }, 10: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" } }, match: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)` }, scope_resolution_function_definition_operator_overload: { captures: { 0: { patterns: [{ include: "#scope_resolution_function_definition_operator_overload_inner_generated" }] }, 1: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, 2: { patterns: [{ include: "#template_call_range" }] } }, match: `(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+` }, scope_resolution_function_definition_operator_overload_inner_generated: { captures: { 1: { patterns: [{ include: "#scope_resolution_function_definition_operator_overload_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.scope-resolution.function.definition.operator-overload.cpp" }, 6: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 7: {}, 8: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 9: { name: "comment.block.cpp" }, 10: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" } }, match: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)` }, scope_resolution_inner_generated: { captures: { 1: { patterns: [{ include: "#scope_resolution_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.scope-resolution.cpp" }, 6: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 7: {}, 8: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 9: { name: "comment.block.cpp" }, 10: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" } }, match: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)` }, scope_resolution_namespace_alias: { captures: { 0: { patterns: [{ include: "#scope_resolution_namespace_alias_inner_generated" }] }, 1: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, 2: { patterns: [{ include: "#template_call_range" }] } }, match: `(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+` }, scope_resolution_namespace_alias_inner_generated: { captures: { 1: { patterns: [{ include: "#scope_resolution_namespace_alias_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.scope-resolution.namespace.alias.cpp" }, 6: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 7: {}, 8: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 9: { name: "comment.block.cpp" }, 10: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" } }, match: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)` }, scope_resolution_namespace_block: { captures: { 0: { patterns: [{ include: "#scope_resolution_namespace_block_inner_generated" }] }, 1: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, 2: { patterns: [{ include: "#template_call_range" }] } }, match: `(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+` }, scope_resolution_namespace_block_inner_generated: { captures: { 1: { patterns: [{ include: "#scope_resolution_namespace_block_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.scope-resolution.namespace.block.cpp" }, 6: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 7: {}, 8: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 9: { name: "comment.block.cpp" }, 10: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" } }, match: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)` }, scope_resolution_namespace_using: { captures: { 0: { patterns: [{ include: "#scope_resolution_namespace_using_inner_generated" }] }, 1: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, 2: { patterns: [{ include: "#template_call_range" }] } }, match: `(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+` }, scope_resolution_namespace_using_inner_generated: { captures: { 1: { patterns: [{ include: "#scope_resolution_namespace_using_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.scope-resolution.namespace.using.cpp" }, 6: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 7: {}, 8: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 9: { name: "comment.block.cpp" }, 10: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" } }, match: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)` }, scope_resolution_parameter: { captures: { 0: { patterns: [{ include: "#scope_resolution_parameter_inner_generated" }] }, 1: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, 2: { patterns: [{ include: "#template_call_range" }] } }, match: `(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+` }, scope_resolution_parameter_inner_generated: { captures: { 1: { patterns: [{ include: "#scope_resolution_parameter_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.scope-resolution.parameter.cpp" }, 6: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 7: {}, 8: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 9: { name: "comment.block.cpp" }, 10: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" } }, match: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)` }, scope_resolution_template_call: { captures: { 0: { patterns: [{ include: "#scope_resolution_template_call_inner_generated" }] }, 1: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, 2: { patterns: [{ include: "#template_call_range" }] } }, match: `(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+` }, scope_resolution_template_call_inner_generated: { captures: { 1: { patterns: [{ include: "#scope_resolution_template_call_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.scope-resolution.template.call.cpp" }, 6: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 7: {}, 8: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 9: { name: "comment.block.cpp" }, 10: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" } }, match: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)` }, scope_resolution_template_definition: { captures: { 0: { patterns: [{ include: "#scope_resolution_template_definition_inner_generated" }] }, 1: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, 2: { patterns: [{ include: "#template_call_range" }] } }, match: `(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<3>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+` }, scope_resolution_template_definition_inner_generated: { captures: { 1: { patterns: [{ include: "#scope_resolution_template_definition_inner_generated" }] }, 2: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, 3: { patterns: [{ include: "#template_call_range" }] }, 4: {}, 5: { name: "entity.name.scope-resolution.template.definition.cpp" }, 6: { name: "meta.template.call.cpp", patterns: [{ include: "#template_call_range" }] }, 7: {}, 8: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 9: { name: "comment.block.cpp" }, 10: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 11: { name: "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" } }, match: `((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/)))|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<7>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)` }, semicolon: { match: ";", name: "punctuation.terminator.statement.cpp" }, simple_type: { captures: { 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: { 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*+" }] }, 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: { 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" }] }, 8: { patterns: [{ include: "#template_call_range" }] }, 9: {}, 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: {}, 13: { 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" }] }, 14: { patterns: [{ include: "#inline_comment" }] }, 15: { 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*+" }] }, 16: { patterns: [{ include: "#inline_comment" }] }, 17: { 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: `(\\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}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/)|(?:"(?:[^"]*|\\\\")")|(?:'(?:[^']*|\\\\')')|\\g<12>|(?:(?:[^'"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?` }, single_line_macro: { captures: { 0: { patterns: [{ include: "#macro" }, { include: "#comments" }] }, 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*+" }] } }, match: "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))#define.*(?<![\\\\])(?:\\n|$)" }, sizeof_operator: { begin: "((?<!\\w)sizeof(?!\\w))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp" } }, contentName: "meta.arguments.operator.sizeof", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, sizeof_variadic_operator: { begin: "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", beginCaptures: { 1: { name: "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" }, 2: { patterns: [{ include: "#inline_comment" }] }, 3: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 4: { name: "comment.block.cpp" }, 5: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 6: { name: "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" } }, contentName: "meta.arguments.operator.sizeof.variadic", end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" } }, patterns: [{ include: "#evaluation_context" }] }, square_brackets: { begin: "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\])]))?(\\[)(?!\\])", beginCaptures: { 1: { name: "variable.other.object" }, 2: { name: "punctuation.definition.begin.bracket.square" } }, end: "\\]", endCaptures: { 0: { name: "punctuation.definition.end.bracket.square" } }, name: "meta.bracket.square.access", patterns: [{ include: "#evaluation_context" }] }, standard_declares: { patterns: [{ 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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])" }, { 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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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])" }, { captures: { 1: { name: "storage.type.enum.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.enum.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)enum(?!\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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])" }, { captures: { 1: { name: "storage.type.class.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.class.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)class(?!\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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])" }] }, static_assert: { begin: "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)static_assert|_Static_assert(?!\\w))((?:(?:(?:\\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: "keyword.other.static_assert.cpp" }, 6: { patterns: [{ include: "#inline_comment" }] }, 7: { name: "comment.block.cpp punctuation.definition.comment.begin.cpp" }, 8: { name: "comment.block.cpp" }, 9: { name: "comment.block.cpp punctuation.definition.comment.end.cpp" }, 10: { name: "punctuation.section.arguments.begin.bracket.round.static_assert.cpp" } }, end: "\\)", endCaptures: { 0: { name: "punctuation.section.arguments.end.bracket.round.static_assert.cpp" } }, patterns: [{ begin: '(,)(?:\\s+)?(?=(?:L|u8|u|U(?:\\s+)?\\")?)', beginCaptures: { 1: { name: "punctuation.separator.delimiter.comma.cpp" } }, end: "(?=\\))", endCaptures: {}, name: "meta.static_assert.message.cpp", patterns: [{ include: "#string_context" }] }, { include: "#evaluation_context" }] }, std_space: { captures: { 0: { patterns: [{ include: "#inline_comment" }] }, 1: { 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: "(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)" }, storage_specifiers: { 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.modifier.specifier.$3.cpp" } }, match: "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?<!\\w)(?:(?:thread_local)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w))" }, storage_types: { patterns: [{ include: "#storage_specifiers" }, { include: "#inline_builtin_storage_type" }, { include: "#decltype" }, { include: "#typename" }] }, string_context: { patterns: [{ begin: '((?:u|u8|U|L)?)"', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" }, 1: { name: "meta.encoding.cpp" } }, end: '(")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?', endCaptures: { 1: { name: "punctuation.definition.string.end.cpp" }, 2: { name: "keyword.other.suffix.literal.user-defined.reserved.string.cpp" }, 3: { name: "keyword.other.suffix.literal.user-defined.string.cpp" } }, name: "string.quoted.double.cpp", patterns: [{ match: "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})", name: "constant.character.escape.cpp" }, { match: `\\\\['"?\\\\abfnrtv]`, name: "constant.character.escape.cpp" }, { match: "\\\\[0-7]{1,3}", name: "constant.character.escape.cpp" }, { captures: { 1: { name: "constant.character.escape.cpp" }, 2: { name: "invalid.illegal.unknown-escape.cpp" } }, match: "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))" }, { include: "#string_escapes_context_c" }] }, { begin: "(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'", beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" }, 1: { name: "meta.encoding.cpp" } }, end: "(')(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?", endCaptures: { 1: { name: "punctuation.definition.string.end.cpp" }, 2: { name: "keyword.other.suffix.literal.user-defined.reserved.character.cpp" }, 3: { name: "keyword.other.suffix.literal.user-defined.character.cpp" } }, name: "string.quoted.single.cpp", patterns: [{ captures: { 1: { name: "constant.character.escape.cpp" }, 2: { name: "invalid.illegal.unknown-escape.cpp" } }, match: "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))" }, { include: "#string_escapes_context_c" }, { include: "#line_continuation_character" }] }, { begin: '((?:[uUL]8?)?R)\\"(?:(?:_r|re)|regex)\\(', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" }, 1: { name: "meta.encoding.cpp" } }, end: '\\)(?:(?:_r|re)|regex)\\"', endCaptures: { 0: { name: "punctuation.definition.string.end.cpp" } }, name: "string.quoted.double.raw.regex.cpp", patterns: [{ include: "source.regexp.python" }] }, { begin: '((?:[uUL]8?)?R)\\"(?:glsl|GLSL)\\(', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" }, 1: { name: "meta.encoding.cpp" } }, end: '\\)(?:glsl|GLSL)\\"', endCaptures: { 0: { name: "punctuation.definition.string.end.cpp" } }, name: "meta.string.quoted.double.raw.glsl.cpp", patterns: [{ include: "source.glsl" }] }, { begin: '((?:[uUL]8?)?R)\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(', beginCaptures: { 0: { name: "punctuation.definition.string.begin.cpp" }, 1: { name: "meta.encoding.cpp" } }, end: '\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\"', endCaptures: { 0: { name: "punctuation.definition.string.end.cpp" } }, name: "meta.string.quoted.double.raw.sql.cpp", patterns: [{ include: "source.sql" }] }, { begin: '((?:u|u8|U|L)?R)"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(', beginCaptures: { 0: { name: "punctuation.definition.string.begin" }, 1: { name: "meta.encoding" }, 3: { name: "invalid.illegal.delimiter-too-long" } }, end: '(\\)\\2(\\3)")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:\\w|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?', endCaptures: { 1: { name: "punctuation.definition.string.end" }, 2: { name: "invalid.illegal.delimiter-too-long" }, 3: { name: "keyword.other.suffix.literal.user-defined.reserved.string.cpp" }, 4: { name: "keyword.other.suffix.literal.user-defined.string.cpp" } }, name: "string.quoted.double.raw" }] }, string_escapes_context_c: { patterns: [{ match: `\\\\(\\\\|[abefnprtv'"?]|[0-3][0-7]{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8})`, name: "constant.character.escape" }, { match: "\\\\.", name: "invalid.illegal.unknown-escape" }, { match: `(?!%')(?!%")%(\\d+\\$)?[#0\\- +']*[,;:_]?((-?\\d+)|\\*(-?\\d+\\$)?)?(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)?[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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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}))(?:\\w|(?:\\\\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++"] });
184
- var u = [
185
- ...o,
186
- ...n,
187
- ...t,
188
- ...e,
189
- m
190
- ];
191
- export {
192
- u
193
- };