@codingame/monaco-editor-wrapper 3.10.0-monaco-update.1 → 3.10.0

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 (638) hide show
  1. package/README.md +15 -0
  2. package/dist/COBOL.tmLanguage.js +172 -0
  3. package/dist/Erlang.plist.js +1752 -0
  4. package/dist/HTML (Eex)2.js +100 -0
  5. package/dist/JSON.tmLanguage.js +221 -0
  6. package/dist/JSONC.tmLanguage.js +221 -0
  7. package/dist/JavaProperties.tmLanguage.js +116 -0
  8. package/dist/JavaScript.tmLanguage.js +5929 -0
  9. package/dist/JavaScriptReact.tmLanguage.js +5929 -0
  10. package/dist/Kotlin.tmLanguage.js +724 -0
  11. package/dist/META.js +100 -0
  12. package/dist/MagicPython.tmLanguage.js +4221 -0
  13. package/dist/MagicRegExp.tmLanguage.js +505 -0
  14. package/dist/Markdown Redcarpet.js +221 -0
  15. package/dist/RMarkdown.js +25 -0
  16. package/dist/Rcpp.js +50 -0
  17. package/dist/Rd (R Documentation).js +131 -0
  18. package/dist/Regular Expressions (JavaScript).tmLanguage.js +166 -0
  19. package/dist/Scala.tmLanguage.js +1324 -0
  20. package/dist/TypeScript.tmLanguage.js +5680 -0
  21. package/dist/TypeScriptReact.tmLanguage.js +5929 -0
  22. package/dist/{_virtual/_commonjsHelpers.js → _monaco-editor_commonjs-external.js} +9 -2
  23. package/dist/_rollupPluginBabelHelpers.js +51 -0
  24. package/dist/angular.js +62 -0
  25. package/dist/asp-vb-net.tmlanguage.js +247 -0
  26. package/dist/aspnetcorerazor.js +72 -0
  27. package/dist/aspnetcorerazor.tmLanguage.js +1825 -0
  28. package/dist/atd.js +110 -0
  29. package/dist/atd2.js +114 -0
  30. package/dist/buildignore.r.js +5 -0
  31. package/dist/buildtarget.js +53 -0
  32. package/dist/c.js +101 -0
  33. package/dist/c.tmLanguage.js +3565 -0
  34. package/dist/cabal.js +10 -0
  35. package/dist/cabal.tmLanguage.js +66 -0
  36. package/dist/clojure.js +68 -0
  37. package/dist/clojure.tmLanguage.js +439 -0
  38. package/dist/cobol.js +6 -0
  39. package/dist/cobol2.js +341 -0
  40. package/dist/codeblock-cabal.js +42 -0
  41. package/dist/codeblock-haskell.js +42 -0
  42. package/dist/codeblock-literate-haskell.js +42 -0
  43. package/dist/codeblock.js +59 -0
  44. package/dist/codeblock2.js +36 -0
  45. package/dist/codeblock3.js +95 -0
  46. package/dist/coffeescript-coffeescript.code-snippets.js +18 -0
  47. package/dist/coffeescript.js +91 -0
  48. package/dist/coffeescript.tmLanguage.js +1324 -0
  49. package/dist/configuration/files.d.ts +6 -0
  50. package/dist/configuration/index.d.ts +2 -1
  51. package/dist/cpp-c.code-snippets.js +18 -0
  52. package/dist/cpp-cpp.code-snippets.js +18 -0
  53. package/dist/cpp.js +101 -0
  54. package/dist/cpp.tmLanguage.js +16648 -0
  55. package/dist/cpptools.js +2631 -0
  56. package/dist/cram.js +257 -0
  57. package/dist/csharp.js +92 -0
  58. package/dist/csharp.tmLanguage.js +4992 -0
  59. package/dist/css.js +106 -0
  60. package/dist/css.tmLanguage.js +1873 -0
  61. package/dist/css.worker.js +6 -0
  62. package/dist/cuda-cpp.js +101 -0
  63. package/dist/cuda-cpp.tmLanguage.js +19993 -0
  64. package/dist/d-diet.js +92 -0
  65. package/dist/d.js +3212 -0
  66. package/dist/d2.js +97 -0
  67. package/dist/d3.js +609 -0
  68. package/dist/dart.js +543 -0
  69. package/dist/dart2.js +103 -0
  70. package/dist/dart3.js +1130 -0
  71. package/dist/dcf.js +93 -0
  72. package/dist/debian-control.r.js +69 -0
  73. package/dist/diet.js +758 -0
  74. package/dist/diet2.js +100 -0
  75. package/dist/django-html.js +155 -0
  76. package/dist/django-html.tmLanguage.js +715 -0
  77. package/dist/django-txt.js +155 -0
  78. package/dist/django-txt.tmLanguage.js +269 -0
  79. package/dist/dml.js +169 -0
  80. package/dist/dml2.js +90 -0
  81. package/dist/dockercompose.js +82 -0
  82. package/dist/dpp.js +97 -0
  83. package/dist/dscript.js +90 -0
  84. package/dist/dune-project.js +481 -0
  85. package/dist/dune-project2.js +65 -0
  86. package/dist/dune-workspace.js +298 -0
  87. package/dist/dune-workspace2.js +65 -0
  88. package/dist/dune.js +2962 -0
  89. package/dist/dune2.js +65 -0
  90. package/dist/eex.js +55 -0
  91. package/dist/elixir-snippets.js +184 -0
  92. package/dist/elixir.js +2341 -0
  93. package/dist/elixir2.js +69 -0
  94. package/dist/elixir3.js +40 -0
  95. package/dist/erlang-erlang.js +195 -0
  96. package/dist/erlang.js +81 -0
  97. package/dist/erlang2.js +86 -0
  98. package/dist/expression.js +846 -0
  99. package/dist/features/cssContribution.d.ts +1 -0
  100. package/dist/features/cssContribution.js +7 -0
  101. package/dist/features/extensionConfigurations.d.ts +1 -0
  102. package/dist/features/extensionConfigurations.js +44 -0
  103. package/dist/features/htmlContribution.d.ts +4 -0
  104. package/dist/features/htmlContribution.js +112 -0
  105. package/dist/features/jsonContribution.d.ts +6 -0
  106. package/dist/features/jsonContribution.js +43 -0
  107. package/dist/features/typescriptContribution.d.ts +1 -0
  108. package/dist/features/typescriptContribution.js +32 -0
  109. package/dist/fsharp-fsharp.code-snippets.js +18 -0
  110. package/dist/fsharp.js +80 -0
  111. package/dist/fsharp.tmLanguage.js +1844 -0
  112. package/dist/go.js +103 -0
  113. package/dist/go.mod.js +8 -0
  114. package/dist/go.mod.tmGrammar.js +182 -0
  115. package/dist/go.sum.tmGrammar.js +55 -0
  116. package/dist/go.tmLanguage.js +1025 -0
  117. package/dist/go.work.js +8 -0
  118. package/dist/govulncheck.tmGrammar.js +138 -0
  119. package/dist/groovy-groovy.code-snippets.js +229 -0
  120. package/dist/groovy.js +79 -0
  121. package/dist/groovy.tmLanguage.js +1391 -0
  122. package/dist/haskell.js +88 -0
  123. package/dist/haskell.tmLanguage.js +629 -0
  124. package/dist/haskell2.js +16 -0
  125. package/dist/html (eex).js +31 -0
  126. package/dist/html-derivative.tmLanguage.js +57 -0
  127. package/dist/html-html.code-snippets.js +20 -0
  128. package/dist/html.js +11 -0
  129. package/dist/html.tmLanguage.js +2652 -0
  130. package/dist/html.tmLanguage2.js +107 -0
  131. package/dist/html.worker.js +6 -0
  132. package/dist/index.d.ts +3 -3
  133. package/dist/index.js +2207 -0
  134. package/dist/index2.js +1398 -0
  135. package/dist/inline-styles.js +104 -0
  136. package/dist/inline-template.js +88 -0
  137. package/dist/jade.js +11 -0
  138. package/dist/java-java.js +125 -0
  139. package/dist/java-properties.js +73 -0
  140. package/dist/java.js +98 -0
  141. package/dist/java.tmLanguage.js +1863 -0
  142. package/dist/java2.js +917 -0
  143. package/dist/javascript-javascript.code-snippets.js +205 -0
  144. package/dist/javascript.js +197 -0
  145. package/dist/javascriptreact.js +197 -0
  146. package/dist/jsdoc.js.injection.tmLanguage.js +32 -0
  147. package/dist/jsdoc.ts.injection.tmLanguage.js +32 -0
  148. package/dist/json.js +75 -0
  149. package/dist/json.worker.js +6 -0
  150. package/dist/jsonc.js +75 -0
  151. package/dist/jsx-tags.js +158 -0
  152. package/dist/julia.js +89 -0
  153. package/dist/julia.tmLanguage.js +954 -0
  154. package/dist/jvm-bytecode-verbose.js +1231 -0
  155. package/dist/jvm-bytecode.js +565 -0
  156. package/dist/kotlin-kotlin.js +117 -0
  157. package/dist/kotlin.js +103 -0
  158. package/dist/kotlinscript.js +103 -0
  159. package/dist/languages/extensions/extensionConfigurationLoader.d.ts +3 -0
  160. package/dist/languages/extensions/grammarLoader.d.ts +2 -0
  161. package/dist/languages/extensions/languageConfigurationLoader.d.ts +2 -0
  162. package/dist/languages/extensions/snippetLoader.d.ts +2 -0
  163. package/dist/languages/extensions/themeLoader.d.ts +2 -0
  164. package/dist/languages/index.d.ts +2 -0
  165. package/dist/languages/textMate/index.d.ts +1 -0
  166. package/dist/literate haskell.js +88 -0
  167. package/dist/literateHaskell.tmLanguage.js +70 -0
  168. package/dist/lua.js +84 -0
  169. package/dist/lua.tmLanguage.js +914 -0
  170. package/dist/lua2.js +2853 -0
  171. package/dist/main.js +3564 -9
  172. package/dist/markdown-basics-markdown.code-snippets.js +121 -0
  173. package/dist/markdown-svelte-css.js +37 -0
  174. package/dist/markdown-svelte-js.js +37 -0
  175. package/dist/markdown-svelte.js +59 -0
  176. package/dist/markdown-vue.js +54 -0
  177. package/dist/markdown.js +49 -0
  178. package/dist/markdown.tmLanguage.js +3042 -0
  179. package/dist/menhir-action.js +51 -0
  180. package/dist/menhir.js +597 -0
  181. package/dist/merlin.js +111 -0
  182. package/dist/monaco.d.ts +10 -6
  183. package/dist/namespace.r.js +88 -0
  184. package/dist/oasis.js +99 -0
  185. package/dist/objective-c.js +79 -0
  186. package/dist/objective-c.tmLanguage.js +3763 -0
  187. package/dist/objective-cpp.js +79 -0
  188. package/dist/ocaml-dune-project.js +38 -0
  189. package/dist/ocaml-dune.js +53 -0
  190. package/dist/ocaml-markdown-codeblock.js +42 -0
  191. package/dist/ocaml-ocaml.js +88 -0
  192. package/dist/ocaml-ocamllex.js +12 -0
  193. package/dist/ocaml.META.js +29 -0
  194. package/dist/ocaml.interface.js +292 -0
  195. package/dist/ocaml.interface2.js +114 -0
  196. package/dist/ocaml.js +903 -0
  197. package/dist/ocaml.menhir.js +81 -0
  198. package/dist/ocaml.oasis.js +18 -0
  199. package/dist/ocaml.ocamlbuild.js +45 -0
  200. package/dist/ocaml.ocamlformat.js +8 -0
  201. package/dist/ocaml.ocamllex.js +60 -0
  202. package/dist/ocaml.opam-install.js +49 -0
  203. package/dist/ocaml.opam.js +69 -0
  204. package/dist/ocaml2.js +114 -0
  205. package/dist/ocaml3.js +136 -0
  206. package/dist/ocamlbuild.js +189 -0
  207. package/dist/ocamldoc.js +54 -0
  208. package/dist/ocamlformat.js +206 -0
  209. package/dist/ocamllex.js +133 -0
  210. package/dist/omnisharp-csharp.js +508 -0
  211. package/dist/omnisharp.js +594 -0
  212. package/dist/opam-install.js +40 -0
  213. package/dist/opam.js +140 -0
  214. package/dist/pascal-pascal.js +382 -0
  215. package/dist/pascal.js +80 -0
  216. package/dist/pascal.tmLanguage.js +169 -0
  217. package/dist/pascal2.js +26 -0
  218. package/dist/perl.js +93 -0
  219. package/dist/perl.tmLanguage.js +2986 -0
  220. package/dist/perl6.js +86 -0
  221. package/dist/perl6.tmLanguage.js +323 -0
  222. package/dist/pgsql.tmLanguage.js +284 -0
  223. package/dist/php-php.code-snippets.js +267 -0
  224. package/dist/php.js +154 -0
  225. package/dist/php.tmLanguage.js +4036 -0
  226. package/dist/pip-requirements.js +8 -0
  227. package/dist/pip-requirements.tmLanguage.js +89 -0
  228. package/dist/plaintext.js +11 -0
  229. package/dist/platform.tmLanguage.js +1135 -0
  230. package/dist/postcss.src.yaml.js +393 -0
  231. package/dist/postgres.js +80 -0
  232. package/dist/postgresql.js +75 -0
  233. package/dist/powershell.js +107 -0
  234. package/dist/powershell.tmLanguage.js +1037 -0
  235. package/dist/pug-svelte-dotblock.js +69 -0
  236. package/dist/pug-svelte-tags.js +215 -0
  237. package/dist/pug-svelte.js +307 -0
  238. package/dist/python.js +236 -0
  239. package/dist/r.js +664 -0
  240. package/dist/r2.js +88 -0
  241. package/dist/rbuildignore.js +39 -0
  242. package/dist/rd.js +81 -0
  243. package/dist/reason-markdown-codeblock.js +42 -0
  244. package/dist/reason.js +79 -0
  245. package/dist/rmd.js +84 -0
  246. package/dist/rnamespace.js +283 -0
  247. package/dist/ruby.js +95 -0
  248. package/dist/ruby.tmLanguage.js +2784 -0
  249. package/dist/rust.js +84 -0
  250. package/dist/rust.tmLanguage.js +1178 -0
  251. package/dist/sassdoc.tmLanguage.js +362 -0
  252. package/dist/scala.js +85 -0
  253. package/dist/scalameta.js +224 -0
  254. package/dist/scss.js +117 -0
  255. package/dist/scss.tmLanguage.js +1887 -0
  256. package/dist/sdl.js +162 -0
  257. package/dist/sdl2.js +90 -0
  258. package/dist/semanticdb.js +62 -0
  259. package/dist/shell-unix-bash.tmLanguage.js +2038 -0
  260. package/dist/shellscript.js +93 -0
  261. package/dist/solargraph.js +192 -0
  262. package/dist/solidity-solidity.js +213 -0
  263. package/dist/solidity.js +1224 -0
  264. package/dist/solidity2.js +71 -0
  265. package/dist/solidity3.js +143 -0
  266. package/dist/sql.js +99 -0
  267. package/dist/sql.tmLanguage.js +636 -0
  268. package/dist/svelte.js +120 -0
  269. package/dist/svelte.svelte-vscode-javascript.js +45 -0
  270. package/dist/svelte.svelte-vscode-svelte.js +46 -0
  271. package/dist/svelte.svelte-vscode-typescript.js +43 -0
  272. package/dist/svelte.svelte-vscode.js +383 -0
  273. package/dist/svelte.tmLanguage.src.yaml.js +1099 -0
  274. package/dist/svlangserver-systemverilog.js +395 -0
  275. package/dist/svlangserver.js +85 -0
  276. package/dist/swift-swift.code-snippets.js +183 -0
  277. package/dist/swift.js +90 -0
  278. package/dist/swift.tmLanguage.js +3312 -0
  279. package/dist/systemverilog.js +187 -0
  280. package/dist/systemverilog.tmLanguage.js +1259 -0
  281. package/dist/tasty.js +72 -0
  282. package/dist/tcl-tcl.js +151 -0
  283. package/dist/tcl.js +78 -0
  284. package/dist/tcl.tmlanguage.yaml.js +5490 -0
  285. package/dist/template.js +207 -0
  286. package/dist/theme/index.d.ts +4 -1
  287. package/dist/theme-defaults~dark_plus.js +210 -0
  288. package/dist/theme-defaults~dark_plus_experimental.js +145 -0
  289. package/dist/theme-defaults~dark_vs.js +412 -0
  290. package/dist/theme-defaults~hc_black.js +471 -0
  291. package/dist/theme-defaults~hc_light.js +595 -0
  292. package/dist/theme-defaults~light_plus.js +212 -0
  293. package/dist/theme-defaults~light_plus_experimental.js +158 -0
  294. package/dist/theme-defaults~light_vs.js +441 -0
  295. package/dist/tools/EditorOpenHandlerRegistry.d.ts +2 -3
  296. package/dist/ts.worker.js +6 -0
  297. package/dist/typescript-basics-typescript.code-snippets.js +313 -0
  298. package/dist/typescript-language-features.js +1103 -0
  299. package/dist/typescript.js +216 -0
  300. package/dist/typescriptreact.js +216 -0
  301. package/dist/vb-vb.code-snippets.js +88 -0
  302. package/dist/vb.js +79 -0
  303. package/dist/verilog.js +187 -0
  304. package/dist/{node_modules/monaco-vim/lib/cm/keymap_vim.js → vim.js} +1790 -4
  305. package/dist/volar-vue.js +289 -0
  306. package/dist/vscode-R-r-snippets.js +534 -0
  307. package/dist/vscode-R-rmarkdown.js +461 -0
  308. package/dist/vscode-R.js +660 -0
  309. package/dist/vscode-django-filters.js +340 -0
  310. package/dist/vscode-django.js +37 -0
  311. package/dist/vscode-go-go.js +276 -0
  312. package/dist/vscode-go.js +1610 -0
  313. package/dist/vscode-groovy.js +28 -0
  314. package/dist/vscode-python.js +706 -0
  315. package/dist/vue-directives.js +25 -0
  316. package/dist/vue-interpolations.js +25 -0
  317. package/dist/vue-sfc-style-variable-injection.js +63 -0
  318. package/dist/vue.js +151 -0
  319. package/dist/vue.tmLanguage.js +1218 -0
  320. package/dist/worker.d.ts +10 -1
  321. package/dist/worker.js +43 -11
  322. package/dist/xml.js +116 -0
  323. package/dist/xml.tmLanguage.js +395 -0
  324. package/dist/xsl.js +39 -0
  325. package/dist/xsl.tmLanguage.js +102 -0
  326. package/dist/yaml.js +82 -0
  327. package/dist/yaml.tmLanguage.js +629 -0
  328. package/package.json +67 -127
  329. package/stats.html +1429 -90
  330. package/dist/_virtual/_monaco-editor.js +0 -6
  331. package/dist/_virtual/actions.js +0 -3
  332. package/dist/_virtual/basicInput.js +0 -3
  333. package/dist/_virtual/cm_adapter.js +0 -3
  334. package/dist/_virtual/commands.js +0 -3
  335. package/dist/_virtual/editor.api.js +0 -6
  336. package/dist/_virtual/index.js +0 -3
  337. package/dist/_virtual/index2.js +0 -3
  338. package/dist/_virtual/index3.js +0 -3
  339. package/dist/_virtual/keymap_vim.js +0 -3
  340. package/dist/_virtual/shiftCommand.js +0 -6
  341. package/dist/_virtual/state.js +0 -3
  342. package/dist/_virtual/statusbar.js +0 -3
  343. package/dist/_virtual/util.js +0 -3
  344. package/dist/assets/Angular.ng-template-16.1.8.vsix/expression-c051cd51.json +0 -834
  345. package/dist/assets/Angular.ng-template-16.1.8.vsix/inline-styles-59ea31e9.json +0 -92
  346. package/dist/assets/Angular.ng-template-16.1.8.vsix/inline-template-f0c3f556.json +0 -76
  347. package/dist/assets/Angular.ng-template-16.1.8.vsix/template-e24e3ba1.json +0 -195
  348. package/dist/assets/Dart-Code.dart-code-3.75.20231009.vsix/dart-bea1db40.json +0 -534
  349. package/dist/assets/Dart-Code.dart-code-3.75.20231009.vsix/dart-language-configuration-c4b1f694.json +0 -29
  350. package/dist/assets/Dart-Code.dart-code-3.75.20231009.vsix/flutter_activity_bar-17811551.svg +0 -14
  351. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/codeblock-67e70f41.json +0 -81
  352. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/language-configuration-3467c3a6.json +0 -57
  353. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/systemverilog-ff001e9f.json +0 -349
  354. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/systemverilog.tmLanguage-31a99a46.json +0 -1246
  355. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/tasks.schema-832643df.json +0 -30
  356. package/dist/assets/JakeBecker.elixir-ls-0.17.1.vsix/eex-e9a5e762.json +0 -41
  357. package/dist/assets/JakeBecker.elixir-ls-0.17.1.vsix/eex-language-configuration-6fb789e3.json +0 -58
  358. package/dist/assets/JakeBecker.elixir-ls-0.17.1.vsix/elixir-7cb5db44.json +0 -2580
  359. package/dist/assets/JakeBecker.elixir-ls-0.17.1.vsix/elixir-language-configuration-4bd217f4.json +0 -74
  360. package/dist/assets/JakeBecker.elixir-ls-0.17.1.vsix/html-eex-3079072a.json +0 -25
  361. package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/solidity-1f693465.json +0 -213
  362. package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/solidity-642a30e7.json +0 -1215
  363. package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/solidity.configuration-d0229207.json +0 -32
  364. package/dist/assets/REditorSupport.r-2.8.2.vsix/Markdown Redcarpet-12881a56.json +0 -146
  365. package/dist/assets/REditorSupport.r-2.8.2.vsix/RMarkdown-0bbb72c0.json +0 -13
  366. package/dist/assets/REditorSupport.r-2.8.2.vsix/Rcpp-cea57c6d.json +0 -34
  367. package/dist/assets/REditorSupport.r-2.8.2.vsix/Rd (R Documentation)-555f4e62.json +0 -117
  368. package/dist/assets/REditorSupport.r-2.8.2.vsix/Rlogo-6d3318a6.svg +0 -14
  369. package/dist/assets/REditorSupport.r-2.8.2.vsix/dcf-3d561f42.json +0 -82
  370. package/dist/assets/REditorSupport.r-2.8.2.vsix/dcf-configuration-d58bba2d.json +0 -24
  371. package/dist/assets/REditorSupport.r-2.8.2.vsix/r-configuration-78e137e5.json +0 -33
  372. package/dist/assets/REditorSupport.r-2.8.2.vsix/r-fe2a45c3.json +0 -647
  373. package/dist/assets/REditorSupport.r-2.8.2.vsix/r-snippets-9e46c45c.json +0 -475
  374. package/dist/assets/REditorSupport.r-2.8.2.vsix/rbuildignore-9cfe22f1.json +0 -27
  375. package/dist/assets/REditorSupport.r-2.8.2.vsix/rbuildignore-configuration-8eb95bcb.json +0 -2
  376. package/dist/assets/REditorSupport.r-2.8.2.vsix/rd-configuration-194dd9d9.json +0 -27
  377. package/dist/assets/REditorSupport.r-2.8.2.vsix/rmarkdown-dea1e283.json +0 -459
  378. package/dist/assets/REditorSupport.r-2.8.2.vsix/rmd-configuration-b4c6dc23.json +0 -27
  379. package/dist/assets/REditorSupport.r-2.8.2.vsix/rnamespace-290042cd.json +0 -222
  380. package/dist/assets/alefragnani.pascal-9.6.0.vsix/package.nls-8c1cec26.json +0 -24
  381. package/dist/assets/alefragnani.pascal-9.6.0.vsix/package.nls.pt-br-50a237c2.json +0 -24
  382. package/dist/assets/alefragnani.pascal-9.6.0.vsix/pascal-365151a8.json +0 -414
  383. package/dist/assets/alefragnani.pascal-9.6.0.vsix/pascal-93ca5af8.tmLanguage +0 -243
  384. package/dist/assets/alefragnani.pascal-9.6.0.vsix/pascal.configuration-650e481b.json +0 -32
  385. package/dist/assets/batisteo.vscode-django-1.14.0.vsix/django-html.tmLanguage-a755b992.json +0 -701
  386. package/dist/assets/batisteo.vscode-django-1.14.0.vsix/django-txt.tmLanguage-856346a9.json +0 -255
  387. package/dist/assets/batisteo.vscode-django-1.14.0.vsix/filters-f60b575d.json +0 -339
  388. package/dist/assets/batisteo.vscode-django-1.14.0.vsix/language-configuration-f8af0b2f.json +0 -63
  389. package/dist/assets/batisteo.vscode-django-1.14.0.vsix/tags-43e8b685.json +0 -496
  390. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/language-configuration-e9539ff0.json +0 -75
  391. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/tcl-10fb1e40.json +0 -142
  392. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/tcl-d73ae460.json +0 -5474
  393. package/dist/assets/broadcomMFD.cobol-language-support-2.0.3.vsix/COBOL.tmLanguage-67e1eefb.json +0 -216
  394. package/dist/assets/broadcomMFD.cobol-language-support-2.0.3.vsix/lang-config-a301d1b9.json +0 -27
  395. package/dist/assets/broadcomMFD.cobol-language-support-2.0.3.vsix/pgm_conf.schema-f8558717.json +0 -24
  396. package/dist/assets/broadcomMFD.cobol-language-support-2.0.3.vsix/proc_grps.schema-428d2a80.json +0 -55
  397. package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/language-configuration-b3cf7aac.json +0 -25
  398. package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/pgsql-a84fddae.tmLanguage +0 -413
  399. package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/postgres-explorer-ce4bf408.svg +0 -100
  400. package/dist/assets/golang.Go-0.39.1.vsix/go-71588b74.json +0 -274
  401. package/dist/assets/golang.Go-0.39.1.vsix/go.mod.language-configuration-0301a994.json +0 -5
  402. package/dist/assets/golang.Go-0.39.1.vsix/go.mod.tmGrammar-6cbef28b.json +0 -171
  403. package/dist/assets/golang.Go-0.39.1.vsix/go.sum.tmGrammar-36d4acfd.json +0 -44
  404. package/dist/assets/golang.Go-0.39.1.vsix/govulncheck.tmGrammar-3741e2c9.json +0 -123
  405. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/angular-directives-77c45bf9.json +0 -123
  406. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/angular-interpolations-b1f89745.json +0 -44
  407. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/angular-template-language-configuration-4cd1b761.json +0 -8
  408. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/C2Hs-c12145c8.json +0 -23
  409. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/C2Hs-configuration-dc72a3f0.json +0 -29
  410. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/Hsc2Hs-685ef114.json +0 -23
  411. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/Hsc2Hs-configuration-15e5e5c3.json +0 -30
  412. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/alex-07217e37.json +0 -236
  413. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/cabal-8f2b8b9f.json +0 -53
  414. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/cabal-configuration-64e517a3.json +0 -6
  415. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/codeblock-cabal-34484e34.json +0 -28
  416. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/codeblock-haskell-138d661e.json +0 -28
  417. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/codeblock-literate-haskell-90d8db8f.json +0 -28
  418. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/happy-3cd8fa35.json +0 -196
  419. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/haskell-192ef944.json +0 -2525
  420. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/haskell-configuration-54079281.json +0 -29
  421. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/literate-haskell-configuration-23cbb80e.json +0 -29
  422. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/literateHaskell-0a08d9f7.json +0 -56
  423. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/Kotlin-5d2aa580.tmLanguage +0 -1067
  424. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/codeblock-8be87145.json +0 -22
  425. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/kotlin-9f43cb02.json +0 -107
  426. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/kotlin.configuration-1d328649.json +0 -35
  427. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/aspnetcorerazor.tmLanguage-7002af3f.json +0 -1812
  428. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/csharp-a17ace76.json +0 -493
  429. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/language-configuration-f8b16509.json +0 -24
  430. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls-b9937871.json +0 -419
  431. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.cs-80b9e0b3.json +0 -201
  432. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.de-2f7710c0.json +0 -201
  433. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.es-d1bd829b.json +0 -201
  434. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.fr-e0bc41f9.json +0 -201
  435. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.it-0e21bedf.json +0 -201
  436. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.ja-2384013f.json +0 -201
  437. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.ko-621d3dfe.json +0 -201
  438. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.pl-bd72e09e.json +0 -201
  439. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.pt-br-a446b36f.json +0 -201
  440. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.ru-923ade42.json +0 -201
  441. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.tr-10253fa3.json +0 -201
  442. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.zh-cn-00cb169d.json +0 -201
  443. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/package.nls.zh-tw-1c34b33a.json +0 -201
  444. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/vs2019_dark-a56f6e51.json +0 -783
  445. package/dist/assets/ms-dotnettools.csharp-2.6.24.vsix/vs2019_light-fd29b4ae.json +0 -807
  446. package/dist/assets/ms-python.python-2023.19.12861011.vsix/conda-environment-3aa03e16.json +0 -1
  447. package/dist/assets/ms-python.python-2023.19.12861011.vsix/conda-meta-e7f42ee0.json +0 -1
  448. package/dist/assets/ms-python.python-2023.19.12861011.vsix/condarc-8ad258e5.json +0 -1
  449. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls-c97ce436.json +0 -1
  450. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.cs-5dee4ffc.json +0 -1
  451. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.de-b852e3ec.json +0 -1
  452. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.es-66adbb9e.json +0 -1
  453. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.fr-6abf0276.json +0 -1
  454. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.it-12650beb.json +0 -1
  455. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.ja-de4ee3bd.json +0 -1
  456. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.ko-254d6467.json +0 -1
  457. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.pl-f957d6c6.json +0 -1
  458. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.pt-br-d02ca4d9.json +0 -1
  459. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.qps-ploc-f24b5e76.json +0 -1
  460. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.ru-e6ba5e62.json +0 -1
  461. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.tr-05d98040.json +0 -1
  462. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.zh-cn-f41941e0.json +0 -1
  463. package/dist/assets/ms-python.python-2023.19.12861011.vsix/package.nls.zh-tw-02c30e90.json +0 -1
  464. package/dist/assets/ms-python.python-2023.19.12861011.vsix/pip-requirements-85cd5b06.json +0 -1
  465. package/dist/assets/ms-python.python-2023.19.12861011.vsix/pip-requirements.tmLanguage-5dcdde1f.json +0 -1
  466. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls-faad5326.json +0 -1006
  467. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.cs-1c63e64b.json +0 -441
  468. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.de-a80f3548.json +0 -441
  469. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.es-ed5f9669.json +0 -441
  470. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.fr-0a6f6680.json +0 -441
  471. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.it-690d744e.json +0 -441
  472. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.ja-9e548ee8.json +0 -441
  473. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.ko-b7c6d97d.json +0 -441
  474. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.pl-fac1f880.json +0 -441
  475. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.pt-br-618e6fff.json +0 -441
  476. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.ru-b8aa8e97.json +0 -441
  477. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.tr-61b293ea.json +0 -441
  478. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.zh-cn-2fb473f1.json +0 -441
  479. package/dist/assets/ms-vscode.cpptools-1.18.0.vsix/package.nls.zh-tw-bd960e98.json +0 -441
  480. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/META-a4e7fa6f.json +0 -56
  481. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/META-e71a284d.json +0 -10
  482. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/atd-03beef93.json +0 -57
  483. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/cram-947e10d8.json +0 -167
  484. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/dune-3f9df928.json +0 -24
  485. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/dune-ac59c79b.json +0 -2949
  486. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/dune-b84b8558.json +0 -30
  487. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/dune-project-1f8165b1.json +0 -26
  488. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/dune-project-c3d6414c.json +0 -326
  489. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/dune-workspace-714d48f4.json +0 -191
  490. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/logo-1ec58c70.svg +0 -3
  491. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/menhir-318b208e.json +0 -349
  492. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/menhir-action-1de9ecfe.json +0 -29
  493. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/menhir-ba3ffd84.json +0 -27
  494. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/merlin-68658127.json +0 -73
  495. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/oasis-6cb9104d.json +0 -6
  496. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/oasis-b3731651.json +0 -69
  497. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocaml-2b852e88.json +0 -54
  498. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocaml-721ae493.json +0 -654
  499. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocaml-8263d04c.json +0 -49
  500. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocaml-markdown-codeblock-d59b1879.json +0 -24
  501. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocaml.interface-82c9d397.json +0 -161
  502. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocamlbuild-28c2016d.json +0 -110
  503. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocamlbuild-68c3ee9d.json +0 -16
  504. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocamldoc-68623cf8.json +0 -31
  505. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocamlformat-12d00ff4.json +0 -5
  506. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocamlformat-566f44ca.json +0 -191
  507. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocamllex-16f56b53.json +0 -6
  508. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocamllex-2f54f6a7.json +0 -21
  509. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/ocamllex-9eea3c0f.json +0 -108
  510. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/opam-051cc018.json +0 -24
  511. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/opam-a3126c97.json +0 -111
  512. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/opam-install-24f044a3.json +0 -23
  513. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/opam-install-5c433c27.json +0 -19
  514. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/reason-46868a8a.json +0 -2357
  515. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/reason-e5da4a73.json +0 -25
  516. package/dist/assets/ocamllabs.ocaml-platform-1.13.1.vsix/reason-markdown-codeblock-80e4eeb5.json +0 -24
  517. package/dist/assets/pgourlain.erlang-0.9.7.vsix/Erlang-dc87abbd.plist +0 -2719
  518. package/dist/assets/pgourlain.erlang-0.9.7.vsix/erlang-ceac2319.json +0 -197
  519. package/dist/assets/pgourlain.erlang-0.9.7.vsix/erlang.configuration-52d0fdab.json +0 -25
  520. package/dist/assets/redhat.java-1.24.2023101604.vsix/JavaProperties.tmLanguage-0a8c48eb.json +0 -103
  521. package/dist/assets/redhat.java-1.24.2023101604.vsix/java-properties-configuration-97f1db18.json +0 -67
  522. package/dist/assets/redhat.java-1.24.2023101604.vsix/java.tmLanguage-7cffeca4.json +0 -1892
  523. package/dist/assets/redhat.java-1.24.2023101604.vsix/language-configuration-054e92b8.json +0 -92
  524. package/dist/assets/redhat.java-1.24.2023101604.vsix/package.nls-2147d73e.json +0 -29
  525. package/dist/assets/redhat.java-1.24.2023101604.vsix/package.nls.ko-a7811004.json +0 -26
  526. package/dist/assets/redhat.java-1.24.2023101604.vsix/package.nls.zh-cn-5b3edff8.json +0 -27
  527. package/dist/assets/redhat.java-1.24.2023101604.vsix/package.nls.zh-tw-236ee4a0.json +0 -26
  528. package/dist/assets/redhat.java-1.24.2023101604.vsix/package.schema-58232c4f.json +0 -28
  529. package/dist/assets/scala-lang.scala-0.5.7.vsix/Scala.tmLanguage-e9b79520.json +0 -1
  530. package/dist/assets/scala-lang.scala-0.5.7.vsix/language-configuration-acc80ed1.json +0 -33
  531. package/dist/assets/scalameta.metals-1.25.2.vsix/book-dark-6f0d6908.svg +0 -5
  532. package/dist/assets/scalameta.metals-1.25.2.vsix/book-light-ba883494.svg +0 -1
  533. package/dist/assets/scalameta.metals-1.25.2.vsix/buildtarget-73bbface.json +0 -37
  534. package/dist/assets/scalameta.metals-1.25.2.vsix/file_type_java-36bb31ca.svg +0 -1
  535. package/dist/assets/scalameta.metals-1.25.2.vsix/file_type_scala-b6c14b23.svg +0 -1
  536. package/dist/assets/scalameta.metals-1.25.2.vsix/jvm-bytecode-cab4d04e.json +0 -395
  537. package/dist/assets/scalameta.metals-1.25.2.vsix/jvm-bytecode-verbose-3611fa8e.json +0 -745
  538. package/dist/assets/scalameta.metals-1.25.2.vsix/scalameta-5e510695.svg +0 -11
  539. package/dist/assets/scalameta.metals-1.25.2.vsix/scalameta-logo-f3b7b0bf.png +0 -0
  540. package/dist/assets/scalameta.metals-1.25.2.vsix/semanticdb-44c14f33.json +0 -37
  541. package/dist/assets/scalameta.metals-1.25.2.vsix/tasty-c2b151f2.json +0 -56
  542. package/dist/assets/sumneko.lua-3.7.0.vsix/package.nls-f1576108.json +0 -231
  543. package/dist/assets/sumneko.lua-3.7.0.vsix/package.nls.pt-br-44d0849d.json +0 -231
  544. package/dist/assets/sumneko.lua-3.7.0.vsix/package.nls.zh-cn-3f634909.json +0 -231
  545. package/dist/assets/sumneko.lua-3.7.0.vsix/package.nls.zh-tw-144dc848.json +0 -231
  546. package/dist/assets/sumneko.lua-3.7.0.vsix/schema-dedfd658.json +0 -3421
  547. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/javascript-7aebc91a.json +0 -43
  548. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/language-configuration-3cb1f78d.json +0 -38
  549. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/markdown-svelte-4cd58a41.json +0 -45
  550. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/markdown-svelte-css-0fdc510e.json +0 -23
  551. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/markdown-svelte-js-cd568059.json +0 -23
  552. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/package-json-schema-ec2f7bd4.json +0 -9
  553. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/postcss-05883dcd.json +0 -377
  554. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/prettier-options-schema-9e36a684.json +0 -112
  555. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/pug-svelte-04246371.json +0 -293
  556. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/pug-svelte-dotblock-b92db507.json +0 -55
  557. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/pug-svelte-tags-65124af1.json +0 -201
  558. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/svelte-a1bb47f3.json +0 -22
  559. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/svelte.tmLanguage-aec82be9.json +0 -1163
  560. package/dist/assets/svelte.svelte-vscode-107.12.0.vsix/typescript-bd1c0ff1.json +0 -37
  561. package/dist/assets/webfreak.code-d-0.23.2.vsix/d-2da26fd0.json +0 -3163
  562. package/dist/assets/webfreak.code-d-0.23.2.vsix/d-316cb838.json +0 -90
  563. package/dist/assets/webfreak.code-d-0.23.2.vsix/diet-0b761e76.json +0 -87
  564. package/dist/assets/webfreak.code-d-0.23.2.vsix/diet-7fe4fdb7.json +0 -92
  565. package/dist/assets/webfreak.code-d-0.23.2.vsix/diet-83c1bebc.json +0 -742
  566. package/dist/assets/webfreak.code-d-0.23.2.vsix/dml-ef6957d3.json +0 -157
  567. package/dist/assets/webfreak.code-d-0.23.2.vsix/dub.schema-77c2f417.json +0 -377
  568. package/dist/assets/webfreak.code-d-0.23.2.vsix/general-7b927912.json +0 -84
  569. package/dist/assets/webfreak.code-d-0.23.2.vsix/sdl-b6c61596.json +0 -149
  570. package/dist/configuration/index.js +0 -45
  571. package/dist/editor/autofold.js +0 -24
  572. package/dist/editor/cobol.js +0 -67
  573. package/dist/editor/index.js +0 -9
  574. package/dist/extensions/Angular.ng-template-16.1.8.vsix.js +0 -16
  575. package/dist/extensions/Dart-Code.dart-code-3.75.20231009.vsix.js +0 -14
  576. package/dist/extensions/IMCTradingBV.svlangserver-0.4.1.vsix.js +0 -18
  577. package/dist/extensions/JakeBecker.elixir-ls-0.17.1.vsix.js +0 -18
  578. package/dist/extensions/JuanBlanco.solidity-0.0.165.vsix.js +0 -14
  579. package/dist/extensions/REditorSupport.r-2.8.2.vsix.js +0 -42
  580. package/dist/extensions/alefragnani.pascal-9.6.0.vsix.js +0 -18
  581. package/dist/extensions/batisteo.vscode-django-1.14.0.vsix.js +0 -18
  582. package/dist/extensions/bitwisecook.tcl-0.4.3.vsix.js +0 -14
  583. package/dist/extensions/broadcomMFD.cobol-language-support-2.0.3.vsix.js +0 -16
  584. package/dist/extensions/castwide.solargraph-0.24.0.vsix.js +0 -5
  585. package/dist/extensions/ckolkman.vscode-postgres-1.4.3.vsix.js +0 -14
  586. package/dist/extensions/golang.Go-0.39.1.vsix.js +0 -18
  587. package/dist/extensions/johnsoncodehk.vscode-angular-1.0.22.vsix.js +0 -14
  588. package/dist/extensions/justusadam.language-haskell-3.6.0.vsix.js +0 -38
  589. package/dist/extensions/mathiasfrohlich.Kotlin-1.7.1.vsix.js +0 -16
  590. package/dist/extensions/ms-dotnettools.csharp-2.6.24.vsix.js +0 -46
  591. package/dist/extensions/ms-python.python-2023.19.12861011.vsix.js +0 -48
  592. package/dist/extensions/ms-vscode.cpptools-1.18.0.vsix.js +0 -36
  593. package/dist/extensions/ocamllabs.ocaml-platform-1.13.1.vsix.js +0 -82
  594. package/dist/extensions/pgourlain.erlang-0.9.7.vsix.js +0 -14
  595. package/dist/extensions/redhat.java-1.24.2023101604.vsix.js +0 -26
  596. package/dist/extensions/scala-lang.scala-0.5.7.vsix.js +0 -12
  597. package/dist/extensions/scalameta.metals-1.25.2.vsix.js +0 -30
  598. package/dist/extensions/sumneko.lua-3.7.0.vsix.js +0 -18
  599. package/dist/extensions/svelte.svelte-vscode-107.12.0.vsix.js +0 -36
  600. package/dist/extensions/webfreak.code-d-0.23.2.vsix.js +0 -26
  601. package/dist/extensions.d.ts +0 -36
  602. package/dist/features/debug.js +0 -6
  603. package/dist/features/extensionHostWorker.js +0 -11
  604. package/dist/features/search.d.ts +0 -1
  605. package/dist/features/search.js +0 -7
  606. package/dist/features/viewPanels.d.ts +0 -1
  607. package/dist/features/viewPanels.js +0 -11
  608. package/dist/features/views.d.ts +0 -4
  609. package/dist/features/views.js +0 -27
  610. package/dist/keybindings/index.js +0 -36
  611. package/dist/keybindings/vim.js +0 -82
  612. package/dist/languages/index.js +0 -40
  613. package/dist/monaco.js +0 -93
  614. package/dist/node_modules/lodash.kebabcase/index.js +0 -439
  615. package/dist/node_modules/lodash.throttle/index.js +0 -443
  616. package/dist/node_modules/monaco-emacs/lib/emacs/actions.js +0 -596
  617. package/dist/node_modules/monaco-emacs/lib/emacs/basicInput.js +0 -113
  618. package/dist/node_modules/monaco-emacs/lib/emacs/commands.js +0 -184
  619. package/dist/node_modules/monaco-emacs/lib/emacs/index.js +0 -186
  620. package/dist/node_modules/monaco-emacs/lib/emacs/state.js +0 -116
  621. package/dist/node_modules/monaco-emacs/lib/emacs/util.js +0 -112
  622. package/dist/node_modules/monaco-emacs/lib/index.js +0 -31
  623. package/dist/node_modules/monaco-vim/lib/cm_adapter.js +0 -1393
  624. package/dist/node_modules/monaco-vim/lib/index.js +0 -71
  625. package/dist/node_modules/monaco-vim/lib/statusbar.js +0 -239
  626. package/dist/services.d.ts +0 -8
  627. package/dist/services.js +0 -73
  628. package/dist/style.js +0 -12
  629. package/dist/theme/index.js +0 -21
  630. package/dist/tools/EditorOpenHandlerRegistry.js +0 -108
  631. package/dist/tools/FakeWorker.d.ts +0 -5
  632. package/dist/tools/FakeWorker.js +0 -8
  633. package/dist/tools.js +0 -235
  634. /package/dist/{editor → extensions}/autofold.d.ts +0 -0
  635. /package/dist/{editor → extensions}/cobol.d.ts +0 -0
  636. /package/dist/{editor → extensions}/index.d.ts +0 -0
  637. /package/dist/{features/debug.d.ts → languages/snippets/index.d.ts} +0 -0
  638. /package/dist/{features/extensionHostWorker.d.ts → languages/textMate/semanticTokens.d.ts} +0 -0
@@ -0,0 +1,3565 @@
1
+ var information_for_contributors = [
2
+ "This file has been converted from https://github.com/microsoft/vscode/blob/master/extensions/cpp/",
3
+ "If you want to provide a fix or improvement, please create a pull request against the original repository.",
4
+ "Once accepted there, we are happy to receive an update request."
5
+ ];
6
+ var version = "https://github.com/jeff-hykin/better-c-syntax/commit/34712a6106a4ffb0a04d2fa836fd28ff6c5849a4";
7
+ var name = "C";
8
+ var scopeName = "source.c";
9
+ var patterns = [
10
+ {
11
+ include: "#preprocessor-rule-enabled"
12
+ },
13
+ {
14
+ include: "#preprocessor-rule-disabled"
15
+ },
16
+ {
17
+ include: "#preprocessor-rule-conditional"
18
+ },
19
+ {
20
+ include: "#predefined_macros"
21
+ },
22
+ {
23
+ include: "#comments"
24
+ },
25
+ {
26
+ include: "#switch_statement"
27
+ },
28
+ {
29
+ include: "#anon_pattern_1"
30
+ },
31
+ {
32
+ include: "#storage_types"
33
+ },
34
+ {
35
+ include: "#anon_pattern_2"
36
+ },
37
+ {
38
+ include: "#anon_pattern_3"
39
+ },
40
+ {
41
+ include: "#anon_pattern_4"
42
+ },
43
+ {
44
+ include: "#anon_pattern_5"
45
+ },
46
+ {
47
+ include: "#anon_pattern_6"
48
+ },
49
+ {
50
+ include: "#anon_pattern_7"
51
+ },
52
+ {
53
+ include: "#operators"
54
+ },
55
+ {
56
+ include: "#numbers"
57
+ },
58
+ {
59
+ include: "#strings"
60
+ },
61
+ {
62
+ include: "#anon_pattern_range_1"
63
+ },
64
+ {
65
+ include: "#anon_pattern_range_2"
66
+ },
67
+ {
68
+ include: "#anon_pattern_range_3"
69
+ },
70
+ {
71
+ include: "#pragma-mark"
72
+ },
73
+ {
74
+ include: "#anon_pattern_range_4"
75
+ },
76
+ {
77
+ include: "#anon_pattern_range_5"
78
+ },
79
+ {
80
+ include: "#anon_pattern_range_6"
81
+ },
82
+ {
83
+ include: "#anon_pattern_8"
84
+ },
85
+ {
86
+ include: "#anon_pattern_9"
87
+ },
88
+ {
89
+ include: "#anon_pattern_10"
90
+ },
91
+ {
92
+ include: "#anon_pattern_11"
93
+ },
94
+ {
95
+ include: "#anon_pattern_12"
96
+ },
97
+ {
98
+ include: "#anon_pattern_13"
99
+ },
100
+ {
101
+ include: "#block"
102
+ },
103
+ {
104
+ include: "#parens"
105
+ },
106
+ {
107
+ include: "#anon_pattern_range_7"
108
+ },
109
+ {
110
+ include: "#line_continuation_character"
111
+ },
112
+ {
113
+ include: "#anon_pattern_range_8"
114
+ },
115
+ {
116
+ include: "#anon_pattern_range_9"
117
+ },
118
+ {
119
+ include: "#anon_pattern_14"
120
+ },
121
+ {
122
+ include: "#anon_pattern_15"
123
+ }
124
+ ];
125
+ var repository = {
126
+ "access-method": {
127
+ name: "meta.function-call.member.c",
128
+ begin: "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))\\s*(?:(\\.)|(->))((?:(?:[a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(?:\\.)|(?:->)))*)\\s*([a-zA-Z_][a-zA-Z_0-9]*)(\\()",
129
+ beginCaptures: {
130
+ "1": {
131
+ name: "variable.object.c"
132
+ },
133
+ "2": {
134
+ name: "punctuation.separator.dot-access.c"
135
+ },
136
+ "3": {
137
+ name: "punctuation.separator.pointer-access.c"
138
+ },
139
+ "4": {
140
+ patterns: [
141
+ {
142
+ match: "\\.",
143
+ name: "punctuation.separator.dot-access.c"
144
+ },
145
+ {
146
+ match: "->",
147
+ name: "punctuation.separator.pointer-access.c"
148
+ },
149
+ {
150
+ match: "[a-zA-Z_][a-zA-Z_0-9]*",
151
+ name: "variable.object.c"
152
+ },
153
+ {
154
+ name: "everything.else.c",
155
+ match: ".+"
156
+ }
157
+ ]
158
+ },
159
+ "5": {
160
+ name: "entity.name.function.member.c"
161
+ },
162
+ "6": {
163
+ name: "punctuation.section.arguments.begin.bracket.round.function.member.c"
164
+ }
165
+ },
166
+ end: "\\)",
167
+ endCaptures: {
168
+ "0": {
169
+ name: "punctuation.section.arguments.end.bracket.round.function.member.c"
170
+ }
171
+ },
172
+ patterns: [
173
+ {
174
+ include: "#function-call-innards"
175
+ }
176
+ ]
177
+ },
178
+ anon_pattern_1: {
179
+ match: "\\b(break|continue|do|else|for|goto|if|_Pragma|return|while)\\b",
180
+ name: "keyword.control.c"
181
+ },
182
+ anon_pattern_10: {
183
+ match: "(?x) \\b\n(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t\n|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t\n|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t\n|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t\n|uintmax_t|uintmax_t)\n\\b",
184
+ name: "support.type.stdint.c"
185
+ },
186
+ anon_pattern_11: {
187
+ match: "\\b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\\b",
188
+ name: "support.constant.mac-classic.c"
189
+ },
190
+ anon_pattern_12: {
191
+ match: "(?x) \\b\n(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam\n|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr\n|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber\n|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64\n|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32\n|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr\n|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\n\\b",
192
+ name: "support.type.mac-classic.c"
193
+ },
194
+ anon_pattern_13: {
195
+ match: "\\b([A-Za-z0-9_]+_t)\\b",
196
+ name: "support.type.posix-reserved.c"
197
+ },
198
+ anon_pattern_14: {
199
+ match: ";",
200
+ name: "punctuation.terminator.statement.c"
201
+ },
202
+ anon_pattern_15: {
203
+ match: ",",
204
+ name: "punctuation.separator.delimiter.c"
205
+ },
206
+ anon_pattern_2: {
207
+ match: "typedef",
208
+ name: "keyword.other.typedef.c"
209
+ },
210
+ anon_pattern_3: {
211
+ match: "\\b(const|extern|register|restrict|static|volatile|inline)\\b",
212
+ name: "storage.modifier.c"
213
+ },
214
+ anon_pattern_4: {
215
+ match: "\\bk[A-Z]\\w*\\b",
216
+ name: "constant.other.variable.mac-classic.c"
217
+ },
218
+ anon_pattern_5: {
219
+ match: "\\bg[A-Z]\\w*\\b",
220
+ name: "variable.other.readwrite.global.mac-classic.c"
221
+ },
222
+ anon_pattern_6: {
223
+ match: "\\bs[A-Z]\\w*\\b",
224
+ name: "variable.other.readwrite.static.mac-classic.c"
225
+ },
226
+ anon_pattern_7: {
227
+ match: "\\b(NULL|true|false|TRUE|FALSE)\\b",
228
+ name: "constant.language.c"
229
+ },
230
+ anon_pattern_8: {
231
+ match: "\\b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\\b",
232
+ name: "support.type.sys-types.c"
233
+ },
234
+ anon_pattern_9: {
235
+ match: "\\b(pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t)\\b",
236
+ name: "support.type.pthread.c"
237
+ },
238
+ anon_pattern_range_1: {
239
+ name: "meta.preprocessor.macro.c",
240
+ begin: "((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))((#)\\s*define\\b)\\s+((?<!\\w)[a-zA-Z_]\\w*(?!\\w))(?:(\\()([^()\\\\]+)(\\)))?",
241
+ beginCaptures: {
242
+ "1": {
243
+ patterns: [
244
+ {
245
+ include: "#inline_comment"
246
+ }
247
+ ]
248
+ },
249
+ "2": {
250
+ name: "comment.block.c punctuation.definition.comment.begin.c"
251
+ },
252
+ "3": {
253
+ name: "comment.block.c"
254
+ },
255
+ "4": {
256
+ patterns: [
257
+ {
258
+ match: "\\*\\/",
259
+ name: "comment.block.c punctuation.definition.comment.end.c"
260
+ },
261
+ {
262
+ match: "\\*",
263
+ name: "comment.block.c"
264
+ }
265
+ ]
266
+ },
267
+ "5": {
268
+ name: "keyword.control.directive.define.c"
269
+ },
270
+ "6": {
271
+ name: "punctuation.definition.directive.c"
272
+ },
273
+ "7": {
274
+ name: "entity.name.function.preprocessor.c"
275
+ },
276
+ "8": {
277
+ name: "punctuation.definition.parameters.begin.c"
278
+ },
279
+ "9": {
280
+ patterns: [
281
+ {
282
+ match: "(?<=[(,])\\s*((?<!\\w)[a-zA-Z_]\\w*(?!\\w))\\s*",
283
+ captures: {
284
+ "1": {
285
+ name: "variable.parameter.preprocessor.c"
286
+ }
287
+ }
288
+ },
289
+ {
290
+ match: ",",
291
+ name: "punctuation.separator.parameters.c"
292
+ },
293
+ {
294
+ match: "\\.\\.\\.",
295
+ name: "ellipses.c punctuation.vararg-ellipses.variable.parameter.preprocessor.c"
296
+ }
297
+ ]
298
+ },
299
+ "10": {
300
+ name: "punctuation.definition.parameters.end.c"
301
+ }
302
+ },
303
+ end: "(?<!\\\\)(?=\\n)",
304
+ patterns: [
305
+ {
306
+ include: "#preprocessor-rule-define-line-contents"
307
+ }
308
+ ]
309
+ },
310
+ anon_pattern_range_2: {
311
+ begin: "^\\s*((#)\\s*(error|warning))\\b\\s*",
312
+ beginCaptures: {
313
+ "1": {
314
+ name: "keyword.control.directive.diagnostic.$3.c"
315
+ },
316
+ "2": {
317
+ name: "punctuation.definition.directive.c"
318
+ }
319
+ },
320
+ end: "(?<!\\\\)(?=\\n)",
321
+ name: "meta.preprocessor.diagnostic.c",
322
+ patterns: [
323
+ {
324
+ begin: "\"",
325
+ beginCaptures: {
326
+ "0": {
327
+ name: "punctuation.definition.string.begin.c"
328
+ }
329
+ },
330
+ end: "\"|(?<!\\\\)(?=\\s*\\n)",
331
+ endCaptures: {
332
+ "0": {
333
+ name: "punctuation.definition.string.end.c"
334
+ }
335
+ },
336
+ name: "string.quoted.double.c",
337
+ patterns: [
338
+ {
339
+ include: "#line_continuation_character"
340
+ }
341
+ ]
342
+ },
343
+ {
344
+ begin: "'",
345
+ beginCaptures: {
346
+ "0": {
347
+ name: "punctuation.definition.string.begin.c"
348
+ }
349
+ },
350
+ end: "'|(?<!\\\\)(?=\\s*\\n)",
351
+ endCaptures: {
352
+ "0": {
353
+ name: "punctuation.definition.string.end.c"
354
+ }
355
+ },
356
+ name: "string.quoted.single.c",
357
+ patterns: [
358
+ {
359
+ include: "#line_continuation_character"
360
+ }
361
+ ]
362
+ },
363
+ {
364
+ begin: "[^'\"]",
365
+ end: "(?<!\\\\)(?=\\s*\\n)",
366
+ name: "string.unquoted.single.c",
367
+ patterns: [
368
+ {
369
+ include: "#line_continuation_character"
370
+ },
371
+ {
372
+ include: "#comments"
373
+ }
374
+ ]
375
+ }
376
+ ]
377
+ },
378
+ anon_pattern_range_3: {
379
+ begin: "^\\s*((#)\\s*(include(?:_next)?|import))\\b\\s*",
380
+ beginCaptures: {
381
+ "1": {
382
+ name: "keyword.control.directive.$3.c"
383
+ },
384
+ "2": {
385
+ name: "punctuation.definition.directive.c"
386
+ }
387
+ },
388
+ end: "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",
389
+ name: "meta.preprocessor.include.c",
390
+ patterns: [
391
+ {
392
+ include: "#line_continuation_character"
393
+ },
394
+ {
395
+ begin: "\"",
396
+ beginCaptures: {
397
+ "0": {
398
+ name: "punctuation.definition.string.begin.c"
399
+ }
400
+ },
401
+ end: "\"",
402
+ endCaptures: {
403
+ "0": {
404
+ name: "punctuation.definition.string.end.c"
405
+ }
406
+ },
407
+ name: "string.quoted.double.include.c"
408
+ },
409
+ {
410
+ begin: "<",
411
+ beginCaptures: {
412
+ "0": {
413
+ name: "punctuation.definition.string.begin.c"
414
+ }
415
+ },
416
+ end: ">",
417
+ endCaptures: {
418
+ "0": {
419
+ name: "punctuation.definition.string.end.c"
420
+ }
421
+ },
422
+ name: "string.quoted.other.lt-gt.include.c"
423
+ }
424
+ ]
425
+ },
426
+ anon_pattern_range_4: {
427
+ begin: "^\\s*((#)\\s*line)\\b",
428
+ beginCaptures: {
429
+ "1": {
430
+ name: "keyword.control.directive.line.c"
431
+ },
432
+ "2": {
433
+ name: "punctuation.definition.directive.c"
434
+ }
435
+ },
436
+ end: "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",
437
+ name: "meta.preprocessor.c",
438
+ patterns: [
439
+ {
440
+ include: "#strings"
441
+ },
442
+ {
443
+ include: "#numbers"
444
+ },
445
+ {
446
+ include: "#line_continuation_character"
447
+ }
448
+ ]
449
+ },
450
+ anon_pattern_range_5: {
451
+ begin: "^\\s*(?:((#)\\s*undef))\\b",
452
+ beginCaptures: {
453
+ "1": {
454
+ name: "keyword.control.directive.undef.c"
455
+ },
456
+ "2": {
457
+ name: "punctuation.definition.directive.c"
458
+ }
459
+ },
460
+ end: "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",
461
+ name: "meta.preprocessor.c",
462
+ patterns: [
463
+ {
464
+ match: "[a-zA-Z_$][\\w$]*",
465
+ name: "entity.name.function.preprocessor.c"
466
+ },
467
+ {
468
+ include: "#line_continuation_character"
469
+ }
470
+ ]
471
+ },
472
+ anon_pattern_range_6: {
473
+ begin: "^\\s*(?:((#)\\s*pragma))\\b",
474
+ beginCaptures: {
475
+ "1": {
476
+ name: "keyword.control.directive.pragma.c"
477
+ },
478
+ "2": {
479
+ name: "punctuation.definition.directive.c"
480
+ }
481
+ },
482
+ end: "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",
483
+ name: "meta.preprocessor.pragma.c",
484
+ patterns: [
485
+ {
486
+ include: "#strings"
487
+ },
488
+ {
489
+ match: "[a-zA-Z_$][\\w\\-$]*",
490
+ name: "entity.other.attribute-name.pragma.preprocessor.c"
491
+ },
492
+ {
493
+ include: "#numbers"
494
+ },
495
+ {
496
+ include: "#line_continuation_character"
497
+ }
498
+ ]
499
+ },
500
+ anon_pattern_range_7: {
501
+ name: "meta.function.c",
502
+ begin: "(?<!\\w)(?!\\s*(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|pthread_rwlock_t|atomic_uintptr_t|atomic_ptrdiff_t|atomic_uintmax_t|atomic_intmax_t|atomic_char32_t|atomic_intptr_t|atomic_char16_t|pthread_mutex_t|pthread_cond_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_once_t|pthread_attr_t|uint_least8_t|int_least32_t|int_least16_t|pthread_key_t|uint_fast32_t|uint_fast64_t|uint_fast16_t|atomic_size_t|atomic_ushort|atomic_ullong|int_least64_t|atomic_ulong|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|memory_order|atomic_schar|atomic_uchar|atomic_short|atomic_llong|thread_local|atomic_bool|atomic_uint|atomic_long|int_fast8_t|suseconds_t|atomic_char|atomic_int|useconds_t|_Imaginary|uintmax_t|uintmax_t|in_addr_t|in_port_t|_Noreturn|blksize_t|pthread_t|uintptr_t|volatile|u_quad_t|blkcnt_t|intmax_t|intptr_t|_Complex|uint16_t|uint32_t|uint64_t|_Alignof|_Alignas|continue|unsigned|restrict|intmax_t|register|int64_t|qaddr_t|segsz_t|_Atomic|alignas|default|caddr_t|nlink_t|typedef|u_short|fixpt_t|clock_t|swblk_t|ssize_t|alignof|daddr_t|int16_t|int32_t|uint8_t|struct|mode_t|size_t|time_t|ushort|u_long|u_char|int8_t|double|signed|static|extern|inline|return|switch|xor_eq|and_eq|bitand|not_eq|sizeof|quad_t|uid_t|bitor|union|off_t|key_t|ino_t|compl|u_int|short|const|false|while|float|pid_t|break|_Bool|or_eq|div_t|dev_t|gid_t|id_t|long|case|goto|else|bool|auto|id_t|enum|uint|true|NULL|void|char|for|not|int|and|xor|do|or|if)\\s*\\()(?=[a-zA-Z_]\\w*\\s*\\()",
503
+ end: "(?!\\G)(?<=\\))",
504
+ patterns: [
505
+ {
506
+ include: "#function-innards"
507
+ }
508
+ ]
509
+ },
510
+ anon_pattern_range_8: {
511
+ name: "meta.bracket.square.access.c",
512
+ begin: "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",
513
+ beginCaptures: {
514
+ "1": {
515
+ name: "variable.object.c"
516
+ },
517
+ "2": {
518
+ name: "punctuation.definition.begin.bracket.square.c"
519
+ }
520
+ },
521
+ end: "\\]",
522
+ endCaptures: {
523
+ "0": {
524
+ name: "punctuation.definition.end.bracket.square.c"
525
+ }
526
+ },
527
+ patterns: [
528
+ {
529
+ include: "#function-call-innards"
530
+ }
531
+ ]
532
+ },
533
+ anon_pattern_range_9: {
534
+ name: "storage.modifier.array.bracket.square.c",
535
+ match: "\\[\\s*\\]"
536
+ },
537
+ backslash_escapes: {
538
+ match: "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
539
+ name: "constant.character.escape.c"
540
+ },
541
+ block: {
542
+ patterns: [
543
+ {
544
+ begin: "{",
545
+ beginCaptures: {
546
+ "0": {
547
+ name: "punctuation.section.block.begin.bracket.curly.c"
548
+ }
549
+ },
550
+ end: "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",
551
+ endCaptures: {
552
+ "0": {
553
+ name: "punctuation.section.block.end.bracket.curly.c"
554
+ }
555
+ },
556
+ name: "meta.block.c",
557
+ patterns: [
558
+ {
559
+ include: "#block_innards"
560
+ }
561
+ ]
562
+ }
563
+ ]
564
+ },
565
+ block_comment: {
566
+ patterns: [
567
+ {
568
+ begin: "\\s*+(\\/\\*)",
569
+ end: "\\*\\/",
570
+ beginCaptures: {
571
+ "1": {
572
+ name: "punctuation.definition.comment.begin.c"
573
+ }
574
+ },
575
+ endCaptures: {
576
+ "0": {
577
+ name: "punctuation.definition.comment.end.c"
578
+ }
579
+ },
580
+ name: "comment.block.c"
581
+ },
582
+ {
583
+ begin: "\\s*+(\\/\\*)",
584
+ end: "\\*\\/",
585
+ beginCaptures: {
586
+ "1": {
587
+ name: "punctuation.definition.comment.begin.c"
588
+ }
589
+ },
590
+ endCaptures: {
591
+ "0": {
592
+ name: "punctuation.definition.comment.end.c"
593
+ }
594
+ },
595
+ name: "comment.block.c"
596
+ }
597
+ ]
598
+ },
599
+ block_innards: {
600
+ patterns: [
601
+ {
602
+ include: "#preprocessor-rule-enabled-block"
603
+ },
604
+ {
605
+ include: "#preprocessor-rule-disabled-block"
606
+ },
607
+ {
608
+ include: "#preprocessor-rule-conditional-block"
609
+ },
610
+ {
611
+ include: "#method_access"
612
+ },
613
+ {
614
+ include: "#member_access"
615
+ },
616
+ {
617
+ include: "#c_function_call"
618
+ },
619
+ {
620
+ name: "meta.initialization.c",
621
+ begin: "(?x)\n(?:\n (?:\n\t(?=\\s)(?<!else|new|return)\n\t(?<=\\w) \\s+(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas) # or word + space before name\n )\n)\n(\n (?:[A-Za-z_][A-Za-z0-9_]*+ | :: )++ # actual name\n |\n (?:(?<=operator) (?:[-*&<>=+!]+ | \\(\\) | \\[\\]))\n)\n\\s*(\\() # opening bracket",
622
+ beginCaptures: {
623
+ "1": {
624
+ name: "variable.other.c"
625
+ },
626
+ "2": {
627
+ name: "punctuation.section.parens.begin.bracket.round.initialization.c"
628
+ }
629
+ },
630
+ end: "\\)",
631
+ endCaptures: {
632
+ "0": {
633
+ name: "punctuation.section.parens.end.bracket.round.initialization.c"
634
+ }
635
+ },
636
+ patterns: [
637
+ {
638
+ include: "#function-call-innards"
639
+ }
640
+ ]
641
+ },
642
+ {
643
+ begin: "{",
644
+ beginCaptures: {
645
+ "0": {
646
+ name: "punctuation.section.block.begin.bracket.curly.c"
647
+ }
648
+ },
649
+ end: "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",
650
+ endCaptures: {
651
+ "0": {
652
+ name: "punctuation.section.block.end.bracket.curly.c"
653
+ }
654
+ },
655
+ patterns: [
656
+ {
657
+ include: "#block_innards"
658
+ }
659
+ ]
660
+ },
661
+ {
662
+ include: "#parens-block"
663
+ },
664
+ {
665
+ include: "$self"
666
+ }
667
+ ]
668
+ },
669
+ c_conditional_context: {
670
+ patterns: [
671
+ {
672
+ include: "$self"
673
+ },
674
+ {
675
+ include: "#block_innards"
676
+ }
677
+ ]
678
+ },
679
+ c_function_call: {
680
+ begin: "(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(?=\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++\\s*\\( # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\\s*\\(\n)",
681
+ end: "(?<=\\))(?!\\w)",
682
+ name: "meta.function-call.c",
683
+ patterns: [
684
+ {
685
+ include: "#function-call-innards"
686
+ }
687
+ ]
688
+ },
689
+ case_statement: {
690
+ name: "meta.conditional.case.c",
691
+ begin: "((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?<!\\w)case(?!\\w))",
692
+ beginCaptures: {
693
+ "1": {
694
+ patterns: [
695
+ {
696
+ include: "#inline_comment"
697
+ }
698
+ ]
699
+ },
700
+ "2": {
701
+ name: "comment.block.c punctuation.definition.comment.begin.c"
702
+ },
703
+ "3": {
704
+ name: "comment.block.c"
705
+ },
706
+ "4": {
707
+ patterns: [
708
+ {
709
+ match: "\\*\\/",
710
+ name: "comment.block.c punctuation.definition.comment.end.c"
711
+ },
712
+ {
713
+ match: "\\*",
714
+ name: "comment.block.c"
715
+ }
716
+ ]
717
+ },
718
+ "5": {
719
+ name: "keyword.control.case.c"
720
+ }
721
+ },
722
+ end: "(:)",
723
+ endCaptures: {
724
+ "1": {
725
+ name: "punctuation.separator.colon.case.c"
726
+ }
727
+ },
728
+ patterns: [
729
+ {
730
+ include: "#evaluation_context"
731
+ },
732
+ {
733
+ include: "#c_conditional_context"
734
+ }
735
+ ]
736
+ },
737
+ comments: {
738
+ patterns: [
739
+ {
740
+ patterns: [
741
+ {
742
+ patterns: [
743
+ {
744
+ name: "comment.line.double-slash.documentation.c",
745
+ begin: "(?:^)(?>\\s*)(\\/\\/[!\\/]+)",
746
+ beginCaptures: {
747
+ "1": {
748
+ name: "punctuation.definition.comment.documentation.c"
749
+ }
750
+ },
751
+ end: "(?<=\\n)(?<!\\\\\\n)",
752
+ patterns: [
753
+ {
754
+ include: "#line_continuation_character"
755
+ },
756
+ {
757
+ 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(?:\\{[^}]*\\})?",
758
+ name: "storage.type.class.doxygen.c"
759
+ },
760
+ {
761
+ match: "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
762
+ captures: {
763
+ "1": {
764
+ name: "storage.type.class.doxygen.c"
765
+ },
766
+ "2": {
767
+ name: "markup.italic.doxygen.c"
768
+ }
769
+ }
770
+ },
771
+ {
772
+ match: "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
773
+ captures: {
774
+ "1": {
775
+ name: "storage.type.class.doxygen.c"
776
+ },
777
+ "2": {
778
+ name: "markup.bold.doxygen.c"
779
+ }
780
+ }
781
+ },
782
+ {
783
+ match: "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
784
+ captures: {
785
+ "1": {
786
+ name: "storage.type.class.doxygen.c"
787
+ },
788
+ "2": {
789
+ name: "markup.inline.raw.string.c"
790
+ }
791
+ }
792
+ },
793
+ {
794
+ 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(?:\\{[^}]*\\})?",
795
+ name: "storage.type.class.doxygen.c"
796
+ },
797
+ {
798
+ 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(?:\\{[^}]*\\})?",
799
+ name: "storage.type.class.doxygen.c"
800
+ },
801
+ {
802
+ match: "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)",
803
+ captures: {
804
+ "1": {
805
+ name: "storage.type.class.doxygen.c"
806
+ },
807
+ "2": {
808
+ patterns: [
809
+ {
810
+ match: "in|out",
811
+ name: "keyword.other.parameter.direction.$0.c"
812
+ }
813
+ ]
814
+ },
815
+ "3": {
816
+ name: "variable.parameter.c"
817
+ }
818
+ }
819
+ },
820
+ {
821
+ match: "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
822
+ name: "storage.type.class.doxygen.c"
823
+ },
824
+ {
825
+ match: "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
826
+ name: "storage.type.class.doxygen.c"
827
+ },
828
+ {
829
+ match: "(?:\\b[A-Z]+:|@[a-z_]+:)",
830
+ name: "storage.type.class.gtkdoc"
831
+ }
832
+ ]
833
+ },
834
+ {
835
+ match: "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
836
+ captures: {
837
+ "1": {
838
+ name: "punctuation.definition.comment.begin.documentation.c"
839
+ },
840
+ "2": {
841
+ patterns: [
842
+ {
843
+ 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(?:\\{[^}]*\\})?",
844
+ name: "storage.type.class.doxygen.c"
845
+ },
846
+ {
847
+ match: "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
848
+ captures: {
849
+ "1": {
850
+ name: "storage.type.class.doxygen.c"
851
+ },
852
+ "2": {
853
+ name: "markup.italic.doxygen.c"
854
+ }
855
+ }
856
+ },
857
+ {
858
+ match: "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
859
+ captures: {
860
+ "1": {
861
+ name: "storage.type.class.doxygen.c"
862
+ },
863
+ "2": {
864
+ name: "markup.bold.doxygen.c"
865
+ }
866
+ }
867
+ },
868
+ {
869
+ match: "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
870
+ captures: {
871
+ "1": {
872
+ name: "storage.type.class.doxygen.c"
873
+ },
874
+ "2": {
875
+ name: "markup.inline.raw.string.c"
876
+ }
877
+ }
878
+ },
879
+ {
880
+ 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(?:\\{[^}]*\\})?",
881
+ name: "storage.type.class.doxygen.c"
882
+ },
883
+ {
884
+ 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(?:\\{[^}]*\\})?",
885
+ name: "storage.type.class.doxygen.c"
886
+ },
887
+ {
888
+ match: "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)",
889
+ captures: {
890
+ "1": {
891
+ name: "storage.type.class.doxygen.c"
892
+ },
893
+ "2": {
894
+ patterns: [
895
+ {
896
+ match: "in|out",
897
+ name: "keyword.other.parameter.direction.$0.c"
898
+ }
899
+ ]
900
+ },
901
+ "3": {
902
+ name: "variable.parameter.c"
903
+ }
904
+ }
905
+ },
906
+ {
907
+ match: "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
908
+ name: "storage.type.class.doxygen.c"
909
+ },
910
+ {
911
+ match: "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
912
+ name: "storage.type.class.doxygen.c"
913
+ },
914
+ {
915
+ match: "(?:\\b[A-Z]+:|@[a-z_]+:)",
916
+ name: "storage.type.class.gtkdoc"
917
+ }
918
+ ]
919
+ },
920
+ "3": {
921
+ name: "punctuation.definition.comment.end.documentation.c"
922
+ }
923
+ },
924
+ name: "comment.block.documentation.c"
925
+ },
926
+ {
927
+ name: "comment.block.documentation.c",
928
+ begin: "((?>\\s*)\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s)))",
929
+ beginCaptures: {
930
+ "1": {
931
+ name: "punctuation.definition.comment.begin.documentation.c"
932
+ }
933
+ },
934
+ end: "([!*]*\\*\\/)",
935
+ endCaptures: {
936
+ "1": {
937
+ name: "punctuation.definition.comment.end.documentation.c"
938
+ }
939
+ },
940
+ patterns: [
941
+ {
942
+ 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(?:\\{[^}]*\\})?",
943
+ name: "storage.type.class.doxygen.c"
944
+ },
945
+ {
946
+ match: "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)",
947
+ captures: {
948
+ "1": {
949
+ name: "storage.type.class.doxygen.c"
950
+ },
951
+ "2": {
952
+ name: "markup.italic.doxygen.c"
953
+ }
954
+ }
955
+ },
956
+ {
957
+ match: "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)",
958
+ captures: {
959
+ "1": {
960
+ name: "storage.type.class.doxygen.c"
961
+ },
962
+ "2": {
963
+ name: "markup.bold.doxygen.c"
964
+ }
965
+ }
966
+ },
967
+ {
968
+ match: "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)",
969
+ captures: {
970
+ "1": {
971
+ name: "storage.type.class.doxygen.c"
972
+ },
973
+ "2": {
974
+ name: "markup.inline.raw.string.c"
975
+ }
976
+ }
977
+ },
978
+ {
979
+ 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(?:\\{[^}]*\\})?",
980
+ name: "storage.type.class.doxygen.c"
981
+ },
982
+ {
983
+ 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(?:\\{[^}]*\\})?",
984
+ name: "storage.type.class.doxygen.c"
985
+ },
986
+ {
987
+ match: "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)",
988
+ captures: {
989
+ "1": {
990
+ name: "storage.type.class.doxygen.c"
991
+ },
992
+ "2": {
993
+ patterns: [
994
+ {
995
+ match: "in|out",
996
+ name: "keyword.other.parameter.direction.$0.c"
997
+ }
998
+ ]
999
+ },
1000
+ "3": {
1001
+ name: "variable.parameter.c"
1002
+ }
1003
+ }
1004
+ },
1005
+ {
1006
+ match: "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
1007
+ name: "storage.type.class.doxygen.c"
1008
+ },
1009
+ {
1010
+ match: "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
1011
+ name: "storage.type.class.doxygen.c"
1012
+ },
1013
+ {
1014
+ match: "(?:\\b[A-Z]+:|@[a-z_]+:)",
1015
+ name: "storage.type.class.gtkdoc"
1016
+ }
1017
+ ]
1018
+ },
1019
+ {
1020
+ match: "^\\/\\* =(\\s*.*?)\\s*= \\*\\/$\\n?",
1021
+ captures: {
1022
+ "1": {
1023
+ name: "meta.toc-list.banner.block.c"
1024
+ }
1025
+ },
1026
+ name: "comment.block.banner.c"
1027
+ },
1028
+ {
1029
+ name: "comment.block.c",
1030
+ begin: "(\\/\\*)",
1031
+ beginCaptures: {
1032
+ "1": {
1033
+ name: "punctuation.definition.comment.begin.c"
1034
+ }
1035
+ },
1036
+ end: "(\\*\\/)",
1037
+ endCaptures: {
1038
+ "1": {
1039
+ name: "punctuation.definition.comment.end.c"
1040
+ }
1041
+ }
1042
+ },
1043
+ {
1044
+ match: "^\\/\\/ =(\\s*.*?)\\s*=$\\n?",
1045
+ captures: {
1046
+ "1": {
1047
+ name: "meta.toc-list.banner.line.c"
1048
+ }
1049
+ },
1050
+ name: "comment.line.banner.c"
1051
+ },
1052
+ {
1053
+ begin: "((?:^[ \\t]+)?)(?=\\/\\/)",
1054
+ beginCaptures: {
1055
+ "1": {
1056
+ name: "punctuation.whitespace.comment.leading.c"
1057
+ }
1058
+ },
1059
+ end: "(?!\\G)",
1060
+ patterns: [
1061
+ {
1062
+ name: "comment.line.double-slash.c",
1063
+ begin: "(\\/\\/)",
1064
+ beginCaptures: {
1065
+ "1": {
1066
+ name: "punctuation.definition.comment.c"
1067
+ }
1068
+ },
1069
+ end: "(?=\\n)",
1070
+ patterns: [
1071
+ {
1072
+ include: "#line_continuation_character"
1073
+ }
1074
+ ]
1075
+ }
1076
+ ]
1077
+ }
1078
+ ]
1079
+ },
1080
+ {
1081
+ include: "#block_comment"
1082
+ },
1083
+ {
1084
+ include: "#line_comment"
1085
+ }
1086
+ ]
1087
+ },
1088
+ {
1089
+ include: "#block_comment"
1090
+ },
1091
+ {
1092
+ include: "#line_comment"
1093
+ }
1094
+ ]
1095
+ },
1096
+ default_statement: {
1097
+ name: "meta.conditional.case.c",
1098
+ begin: "((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?<!\\w)default(?!\\w))",
1099
+ beginCaptures: {
1100
+ "1": {
1101
+ patterns: [
1102
+ {
1103
+ include: "#inline_comment"
1104
+ }
1105
+ ]
1106
+ },
1107
+ "2": {
1108
+ name: "comment.block.c punctuation.definition.comment.begin.c"
1109
+ },
1110
+ "3": {
1111
+ name: "comment.block.c"
1112
+ },
1113
+ "4": {
1114
+ patterns: [
1115
+ {
1116
+ match: "\\*\\/",
1117
+ name: "comment.block.c punctuation.definition.comment.end.c"
1118
+ },
1119
+ {
1120
+ match: "\\*",
1121
+ name: "comment.block.c"
1122
+ }
1123
+ ]
1124
+ },
1125
+ "5": {
1126
+ name: "keyword.control.default.c"
1127
+ }
1128
+ },
1129
+ end: "(:)",
1130
+ endCaptures: {
1131
+ "1": {
1132
+ name: "punctuation.separator.colon.case.default.c"
1133
+ }
1134
+ },
1135
+ patterns: [
1136
+ {
1137
+ include: "#evaluation_context"
1138
+ },
1139
+ {
1140
+ include: "#c_conditional_context"
1141
+ }
1142
+ ]
1143
+ },
1144
+ disabled: {
1145
+ begin: "^\\s*#\\s*if(n?def)?\\b.*$",
1146
+ end: "^\\s*#\\s*endif\\b",
1147
+ patterns: [
1148
+ {
1149
+ include: "#disabled"
1150
+ },
1151
+ {
1152
+ include: "#pragma-mark"
1153
+ }
1154
+ ]
1155
+ },
1156
+ evaluation_context: {
1157
+ patterns: [
1158
+ {
1159
+ include: "#function-call-innards"
1160
+ },
1161
+ {
1162
+ include: "$self"
1163
+ }
1164
+ ]
1165
+ },
1166
+ "function-call-innards": {
1167
+ patterns: [
1168
+ {
1169
+ include: "#comments"
1170
+ },
1171
+ {
1172
+ include: "#storage_types"
1173
+ },
1174
+ {
1175
+ include: "#method_access"
1176
+ },
1177
+ {
1178
+ include: "#member_access"
1179
+ },
1180
+ {
1181
+ include: "#operators"
1182
+ },
1183
+ {
1184
+ begin: "(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()",
1185
+ beginCaptures: {
1186
+ "1": {
1187
+ name: "entity.name.function.c"
1188
+ },
1189
+ "2": {
1190
+ name: "punctuation.section.arguments.begin.bracket.round.c"
1191
+ }
1192
+ },
1193
+ end: "\\)",
1194
+ endCaptures: {
1195
+ "0": {
1196
+ name: "punctuation.section.arguments.end.bracket.round.c"
1197
+ }
1198
+ },
1199
+ patterns: [
1200
+ {
1201
+ include: "#function-call-innards"
1202
+ }
1203
+ ]
1204
+ },
1205
+ {
1206
+ begin: "\\(",
1207
+ beginCaptures: {
1208
+ "0": {
1209
+ name: "punctuation.section.parens.begin.bracket.round.c"
1210
+ }
1211
+ },
1212
+ end: "\\)",
1213
+ endCaptures: {
1214
+ "0": {
1215
+ name: "punctuation.section.parens.end.bracket.round.c"
1216
+ }
1217
+ },
1218
+ patterns: [
1219
+ {
1220
+ include: "#function-call-innards"
1221
+ }
1222
+ ]
1223
+ },
1224
+ {
1225
+ include: "#block_innards"
1226
+ }
1227
+ ]
1228
+ },
1229
+ "function-innards": {
1230
+ patterns: [
1231
+ {
1232
+ include: "#comments"
1233
+ },
1234
+ {
1235
+ include: "#storage_types"
1236
+ },
1237
+ {
1238
+ include: "#operators"
1239
+ },
1240
+ {
1241
+ include: "#vararg_ellipses"
1242
+ },
1243
+ {
1244
+ name: "meta.function.definition.parameters.c",
1245
+ begin: "(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()",
1246
+ beginCaptures: {
1247
+ "1": {
1248
+ name: "entity.name.function.c"
1249
+ },
1250
+ "2": {
1251
+ name: "punctuation.section.parameters.begin.bracket.round.c"
1252
+ }
1253
+ },
1254
+ end: "\\)",
1255
+ endCaptures: {
1256
+ "0": {
1257
+ name: "punctuation.section.parameters.end.bracket.round.c"
1258
+ }
1259
+ },
1260
+ patterns: [
1261
+ {
1262
+ include: "#probably_a_parameter"
1263
+ },
1264
+ {
1265
+ include: "#function-innards"
1266
+ }
1267
+ ]
1268
+ },
1269
+ {
1270
+ begin: "\\(",
1271
+ beginCaptures: {
1272
+ "0": {
1273
+ name: "punctuation.section.parens.begin.bracket.round.c"
1274
+ }
1275
+ },
1276
+ end: "\\)",
1277
+ endCaptures: {
1278
+ "0": {
1279
+ name: "punctuation.section.parens.end.bracket.round.c"
1280
+ }
1281
+ },
1282
+ patterns: [
1283
+ {
1284
+ include: "#function-innards"
1285
+ }
1286
+ ]
1287
+ },
1288
+ {
1289
+ include: "$self"
1290
+ }
1291
+ ]
1292
+ },
1293
+ inline_comment: {
1294
+ patterns: [
1295
+ {
1296
+ patterns: [
1297
+ {
1298
+ match: "(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/))",
1299
+ captures: {
1300
+ "1": {
1301
+ name: "comment.block.c punctuation.definition.comment.begin.c"
1302
+ },
1303
+ "2": {
1304
+ name: "comment.block.c"
1305
+ },
1306
+ "3": {
1307
+ patterns: [
1308
+ {
1309
+ match: "\\*\\/",
1310
+ name: "comment.block.c punctuation.definition.comment.end.c"
1311
+ },
1312
+ {
1313
+ match: "\\*",
1314
+ name: "comment.block.c"
1315
+ }
1316
+ ]
1317
+ }
1318
+ }
1319
+ },
1320
+ {
1321
+ match: "(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/))",
1322
+ captures: {
1323
+ "1": {
1324
+ name: "comment.block.c punctuation.definition.comment.begin.c"
1325
+ },
1326
+ "2": {
1327
+ name: "comment.block.c"
1328
+ },
1329
+ "3": {
1330
+ patterns: [
1331
+ {
1332
+ match: "\\*\\/",
1333
+ name: "comment.block.c punctuation.definition.comment.end.c"
1334
+ },
1335
+ {
1336
+ match: "\\*",
1337
+ name: "comment.block.c"
1338
+ }
1339
+ ]
1340
+ }
1341
+ }
1342
+ }
1343
+ ]
1344
+ },
1345
+ {
1346
+ match: "(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/))",
1347
+ captures: {
1348
+ "1": {
1349
+ name: "comment.block.c punctuation.definition.comment.begin.c"
1350
+ },
1351
+ "2": {
1352
+ name: "comment.block.c"
1353
+ },
1354
+ "3": {
1355
+ patterns: [
1356
+ {
1357
+ match: "\\*\\/",
1358
+ name: "comment.block.c punctuation.definition.comment.end.c"
1359
+ },
1360
+ {
1361
+ match: "\\*",
1362
+ name: "comment.block.c"
1363
+ }
1364
+ ]
1365
+ }
1366
+ }
1367
+ }
1368
+ ]
1369
+ },
1370
+ line_comment: {
1371
+ patterns: [
1372
+ {
1373
+ begin: "\\s*+(\\/\\/)",
1374
+ end: "(?<=\\n)(?<!\\\\\\n)",
1375
+ beginCaptures: {
1376
+ "1": {
1377
+ name: "punctuation.definition.comment.c"
1378
+ }
1379
+ },
1380
+ endCaptures: {
1381
+ },
1382
+ name: "comment.line.double-slash.c",
1383
+ patterns: [
1384
+ {
1385
+ include: "#line_continuation_character"
1386
+ }
1387
+ ]
1388
+ },
1389
+ {
1390
+ begin: "\\s*+(\\/\\/)",
1391
+ end: "(?<=\\n)(?<!\\\\\\n)",
1392
+ beginCaptures: {
1393
+ "1": {
1394
+ name: "punctuation.definition.comment.c"
1395
+ }
1396
+ },
1397
+ endCaptures: {
1398
+ },
1399
+ name: "comment.line.double-slash.c",
1400
+ patterns: [
1401
+ {
1402
+ include: "#line_continuation_character"
1403
+ }
1404
+ ]
1405
+ }
1406
+ ]
1407
+ },
1408
+ line_continuation_character: {
1409
+ patterns: [
1410
+ {
1411
+ match: "(\\\\)\\n",
1412
+ captures: {
1413
+ "1": {
1414
+ name: "constant.character.escape.line-continuation.c"
1415
+ }
1416
+ }
1417
+ }
1418
+ ]
1419
+ },
1420
+ member_access: {
1421
+ match: "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:->\\*|->)))\\s*)*)\\s*(\\b(?!(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|atomic_uintptr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintmax_t|pthread_mutex_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_attr_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_cond_t|pthread_once_t|uint_fast64_t|uint_fast16_t|atomic_size_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|pthread_key_t|atomic_ullong|atomic_ushort|uint_fast32_t|atomic_schar|atomic_short|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast16_t|atomic_ulong|atomic_llong|int_least8_t|atomic_uchar|memory_order|suseconds_t|int_fast8_t|atomic_bool|atomic_char|atomic_uint|atomic_long|atomic_int|useconds_t|_Imaginary|blksize_t|pthread_t|in_addr_t|uintptr_t|in_port_t|uintmax_t|uintmax_t|blkcnt_t|uint16_t|unsigned|_Complex|uint32_t|intptr_t|intmax_t|intmax_t|uint64_t|u_quad_t|int64_t|int32_t|ssize_t|caddr_t|clock_t|uint8_t|u_short|swblk_t|segsz_t|int16_t|fixpt_t|daddr_t|nlink_t|qaddr_t|size_t|time_t|mode_t|signed|quad_t|ushort|u_long|u_char|double|int8_t|ino_t|uid_t|pid_t|_Bool|float|dev_t|div_t|short|gid_t|off_t|u_int|key_t|id_t|uint|long|void|char|bool|id_t|int)\\b)[a-zA-Z_]\\w*\\b(?!\\())",
1422
+ captures: {
1423
+ "1": {
1424
+ name: "variable.other.object.access.c"
1425
+ },
1426
+ "2": {
1427
+ name: "punctuation.separator.dot-access.c"
1428
+ },
1429
+ "3": {
1430
+ name: "punctuation.separator.pointer-access.c"
1431
+ },
1432
+ "4": {
1433
+ patterns: [
1434
+ {
1435
+ include: "#member_access"
1436
+ },
1437
+ {
1438
+ include: "#method_access"
1439
+ },
1440
+ {
1441
+ match: "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
1442
+ captures: {
1443
+ "1": {
1444
+ name: "variable.other.object.access.c"
1445
+ },
1446
+ "2": {
1447
+ name: "punctuation.separator.dot-access.c"
1448
+ },
1449
+ "3": {
1450
+ name: "punctuation.separator.pointer-access.c"
1451
+ }
1452
+ }
1453
+ }
1454
+ ]
1455
+ },
1456
+ "5": {
1457
+ name: "variable.other.member.c"
1458
+ }
1459
+ }
1460
+ },
1461
+ method_access: {
1462
+ contentName: "meta.function-call.member.c",
1463
+ begin: "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:->\\*|->)))\\s*)*)\\s*([a-zA-Z_]\\w*)(\\()",
1464
+ beginCaptures: {
1465
+ "1": {
1466
+ name: "variable.other.object.access.c"
1467
+ },
1468
+ "2": {
1469
+ name: "punctuation.separator.dot-access.c"
1470
+ },
1471
+ "3": {
1472
+ name: "punctuation.separator.pointer-access.c"
1473
+ },
1474
+ "4": {
1475
+ patterns: [
1476
+ {
1477
+ include: "#member_access"
1478
+ },
1479
+ {
1480
+ include: "#method_access"
1481
+ },
1482
+ {
1483
+ match: "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
1484
+ captures: {
1485
+ "1": {
1486
+ name: "variable.other.object.access.c"
1487
+ },
1488
+ "2": {
1489
+ name: "punctuation.separator.dot-access.c"
1490
+ },
1491
+ "3": {
1492
+ name: "punctuation.separator.pointer-access.c"
1493
+ }
1494
+ }
1495
+ }
1496
+ ]
1497
+ },
1498
+ "5": {
1499
+ name: "entity.name.function.member.c"
1500
+ },
1501
+ "6": {
1502
+ name: "punctuation.section.arguments.begin.bracket.round.function.member.c"
1503
+ }
1504
+ },
1505
+ end: "(\\))",
1506
+ endCaptures: {
1507
+ "1": {
1508
+ name: "punctuation.section.arguments.end.bracket.round.function.member.c"
1509
+ }
1510
+ },
1511
+ patterns: [
1512
+ {
1513
+ include: "#function-call-innards"
1514
+ }
1515
+ ]
1516
+ },
1517
+ numbers: {
1518
+ match: "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
1519
+ captures: {
1520
+ "0": {
1521
+ patterns: [
1522
+ {
1523
+ begin: "(?=.)",
1524
+ end: "$",
1525
+ patterns: [
1526
+ {
1527
+ 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))?$",
1528
+ captures: {
1529
+ "1": {
1530
+ name: "keyword.other.unit.hexadecimal.c"
1531
+ },
1532
+ "2": {
1533
+ name: "constant.numeric.hexadecimal.c",
1534
+ patterns: [
1535
+ {
1536
+ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
1537
+ name: "punctuation.separator.constant.numeric"
1538
+ }
1539
+ ]
1540
+ },
1541
+ "3": {
1542
+ name: "punctuation.separator.constant.numeric"
1543
+ },
1544
+ "4": {
1545
+ name: "constant.numeric.hexadecimal.c"
1546
+ },
1547
+ "5": {
1548
+ name: "constant.numeric.hexadecimal.c",
1549
+ patterns: [
1550
+ {
1551
+ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
1552
+ name: "punctuation.separator.constant.numeric"
1553
+ }
1554
+ ]
1555
+ },
1556
+ "6": {
1557
+ name: "punctuation.separator.constant.numeric"
1558
+ },
1559
+ "8": {
1560
+ name: "keyword.other.unit.exponent.hexadecimal.c"
1561
+ },
1562
+ "9": {
1563
+ name: "keyword.operator.plus.exponent.hexadecimal.c"
1564
+ },
1565
+ "10": {
1566
+ name: "keyword.operator.minus.exponent.hexadecimal.c"
1567
+ },
1568
+ "11": {
1569
+ name: "constant.numeric.exponent.hexadecimal.c",
1570
+ patterns: [
1571
+ {
1572
+ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
1573
+ name: "punctuation.separator.constant.numeric"
1574
+ }
1575
+ ]
1576
+ },
1577
+ "12": {
1578
+ name: "keyword.other.unit.suffix.floating-point.c"
1579
+ }
1580
+ }
1581
+ },
1582
+ {
1583
+ 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))?$",
1584
+ captures: {
1585
+ "2": {
1586
+ name: "constant.numeric.decimal.c",
1587
+ patterns: [
1588
+ {
1589
+ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
1590
+ name: "punctuation.separator.constant.numeric"
1591
+ }
1592
+ ]
1593
+ },
1594
+ "3": {
1595
+ name: "punctuation.separator.constant.numeric"
1596
+ },
1597
+ "4": {
1598
+ name: "constant.numeric.decimal.point.c"
1599
+ },
1600
+ "5": {
1601
+ name: "constant.numeric.decimal.c",
1602
+ patterns: [
1603
+ {
1604
+ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
1605
+ name: "punctuation.separator.constant.numeric"
1606
+ }
1607
+ ]
1608
+ },
1609
+ "6": {
1610
+ name: "punctuation.separator.constant.numeric"
1611
+ },
1612
+ "8": {
1613
+ name: "keyword.other.unit.exponent.decimal.c"
1614
+ },
1615
+ "9": {
1616
+ name: "keyword.operator.plus.exponent.decimal.c"
1617
+ },
1618
+ "10": {
1619
+ name: "keyword.operator.minus.exponent.decimal.c"
1620
+ },
1621
+ "11": {
1622
+ name: "constant.numeric.exponent.decimal.c",
1623
+ patterns: [
1624
+ {
1625
+ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
1626
+ name: "punctuation.separator.constant.numeric"
1627
+ }
1628
+ ]
1629
+ },
1630
+ "12": {
1631
+ name: "keyword.other.unit.suffix.floating-point.c"
1632
+ }
1633
+ }
1634
+ },
1635
+ {
1636
+ match: "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?$",
1637
+ captures: {
1638
+ "1": {
1639
+ name: "keyword.other.unit.binary.c"
1640
+ },
1641
+ "2": {
1642
+ name: "constant.numeric.binary.c",
1643
+ patterns: [
1644
+ {
1645
+ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
1646
+ name: "punctuation.separator.constant.numeric"
1647
+ }
1648
+ ]
1649
+ },
1650
+ "3": {
1651
+ name: "punctuation.separator.constant.numeric"
1652
+ },
1653
+ "4": {
1654
+ name: "keyword.other.unit.suffix.integer.c"
1655
+ }
1656
+ }
1657
+ },
1658
+ {
1659
+ match: "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?$",
1660
+ captures: {
1661
+ "1": {
1662
+ name: "keyword.other.unit.octal.c"
1663
+ },
1664
+ "2": {
1665
+ name: "constant.numeric.octal.c",
1666
+ patterns: [
1667
+ {
1668
+ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
1669
+ name: "punctuation.separator.constant.numeric"
1670
+ }
1671
+ ]
1672
+ },
1673
+ "3": {
1674
+ name: "punctuation.separator.constant.numeric"
1675
+ },
1676
+ "4": {
1677
+ name: "keyword.other.unit.suffix.integer.c"
1678
+ }
1679
+ }
1680
+ },
1681
+ {
1682
+ 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))?$",
1683
+ captures: {
1684
+ "1": {
1685
+ name: "keyword.other.unit.hexadecimal.c"
1686
+ },
1687
+ "2": {
1688
+ name: "constant.numeric.hexadecimal.c",
1689
+ patterns: [
1690
+ {
1691
+ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
1692
+ name: "punctuation.separator.constant.numeric"
1693
+ }
1694
+ ]
1695
+ },
1696
+ "3": {
1697
+ name: "punctuation.separator.constant.numeric"
1698
+ },
1699
+ "5": {
1700
+ name: "keyword.other.unit.exponent.hexadecimal.c"
1701
+ },
1702
+ "6": {
1703
+ name: "keyword.operator.plus.exponent.hexadecimal.c"
1704
+ },
1705
+ "7": {
1706
+ name: "keyword.operator.minus.exponent.hexadecimal.c"
1707
+ },
1708
+ "8": {
1709
+ name: "constant.numeric.exponent.hexadecimal.c",
1710
+ patterns: [
1711
+ {
1712
+ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
1713
+ name: "punctuation.separator.constant.numeric"
1714
+ }
1715
+ ]
1716
+ },
1717
+ "9": {
1718
+ name: "keyword.other.unit.suffix.integer.c"
1719
+ }
1720
+ }
1721
+ },
1722
+ {
1723
+ 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))?$",
1724
+ captures: {
1725
+ "2": {
1726
+ name: "constant.numeric.decimal.c",
1727
+ patterns: [
1728
+ {
1729
+ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
1730
+ name: "punctuation.separator.constant.numeric"
1731
+ }
1732
+ ]
1733
+ },
1734
+ "3": {
1735
+ name: "punctuation.separator.constant.numeric"
1736
+ },
1737
+ "5": {
1738
+ name: "keyword.other.unit.exponent.decimal.c"
1739
+ },
1740
+ "6": {
1741
+ name: "keyword.operator.plus.exponent.decimal.c"
1742
+ },
1743
+ "7": {
1744
+ name: "keyword.operator.minus.exponent.decimal.c"
1745
+ },
1746
+ "8": {
1747
+ name: "constant.numeric.exponent.decimal.c",
1748
+ patterns: [
1749
+ {
1750
+ match: "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
1751
+ name: "punctuation.separator.constant.numeric"
1752
+ }
1753
+ ]
1754
+ },
1755
+ "9": {
1756
+ name: "keyword.other.unit.suffix.integer.c"
1757
+ }
1758
+ }
1759
+ },
1760
+ {
1761
+ match: "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
1762
+ name: "invalid.illegal.constant.numeric"
1763
+ }
1764
+ ]
1765
+ }
1766
+ ]
1767
+ }
1768
+ }
1769
+ },
1770
+ operators: {
1771
+ patterns: [
1772
+ {
1773
+ match: "(?<![\\w$])(sizeof)(?![\\w$])",
1774
+ name: "keyword.operator.sizeof.c"
1775
+ },
1776
+ {
1777
+ match: "--",
1778
+ name: "keyword.operator.decrement.c"
1779
+ },
1780
+ {
1781
+ match: "\\+\\+",
1782
+ name: "keyword.operator.increment.c"
1783
+ },
1784
+ {
1785
+ match: "%=|\\+=|-=|\\*=|(?<!\\()/=",
1786
+ name: "keyword.operator.assignment.compound.c"
1787
+ },
1788
+ {
1789
+ match: "&=|\\^=|<<=|>>=|\\|=",
1790
+ name: "keyword.operator.assignment.compound.bitwise.c"
1791
+ },
1792
+ {
1793
+ match: "<<|>>",
1794
+ name: "keyword.operator.bitwise.shift.c"
1795
+ },
1796
+ {
1797
+ match: "!=|<=|>=|==|<|>",
1798
+ name: "keyword.operator.comparison.c"
1799
+ },
1800
+ {
1801
+ match: "&&|!|\\|\\|",
1802
+ name: "keyword.operator.logical.c"
1803
+ },
1804
+ {
1805
+ match: "&|\\||\\^|~",
1806
+ name: "keyword.operator.c"
1807
+ },
1808
+ {
1809
+ match: "=",
1810
+ name: "keyword.operator.assignment.c"
1811
+ },
1812
+ {
1813
+ match: "%|\\*|/|-|\\+",
1814
+ name: "keyword.operator.c"
1815
+ },
1816
+ {
1817
+ begin: "(\\?)",
1818
+ beginCaptures: {
1819
+ "1": {
1820
+ name: "keyword.operator.ternary.c"
1821
+ }
1822
+ },
1823
+ end: "(:)",
1824
+ endCaptures: {
1825
+ "1": {
1826
+ name: "keyword.operator.ternary.c"
1827
+ }
1828
+ },
1829
+ patterns: [
1830
+ {
1831
+ include: "#function-call-innards"
1832
+ },
1833
+ {
1834
+ include: "$self"
1835
+ }
1836
+ ]
1837
+ }
1838
+ ]
1839
+ },
1840
+ parens: {
1841
+ name: "meta.parens.c",
1842
+ begin: "\\(",
1843
+ beginCaptures: {
1844
+ "0": {
1845
+ name: "punctuation.section.parens.begin.bracket.round.c"
1846
+ }
1847
+ },
1848
+ end: "\\)",
1849
+ endCaptures: {
1850
+ "0": {
1851
+ name: "punctuation.section.parens.end.bracket.round.c"
1852
+ }
1853
+ },
1854
+ patterns: [
1855
+ {
1856
+ include: "$self"
1857
+ }
1858
+ ]
1859
+ },
1860
+ "parens-block": {
1861
+ name: "meta.parens.block.c",
1862
+ begin: "\\(",
1863
+ beginCaptures: {
1864
+ "0": {
1865
+ name: "punctuation.section.parens.begin.bracket.round.c"
1866
+ }
1867
+ },
1868
+ end: "\\)",
1869
+ endCaptures: {
1870
+ "0": {
1871
+ name: "punctuation.section.parens.end.bracket.round.c"
1872
+ }
1873
+ },
1874
+ patterns: [
1875
+ {
1876
+ include: "#block_innards"
1877
+ },
1878
+ {
1879
+ match: "(?-mix:(?<!:):(?!:))",
1880
+ name: "punctuation.range-based.c"
1881
+ }
1882
+ ]
1883
+ },
1884
+ "pragma-mark": {
1885
+ captures: {
1886
+ "1": {
1887
+ name: "meta.preprocessor.pragma.c"
1888
+ },
1889
+ "2": {
1890
+ name: "keyword.control.directive.pragma.pragma-mark.c"
1891
+ },
1892
+ "3": {
1893
+ name: "punctuation.definition.directive.c"
1894
+ },
1895
+ "4": {
1896
+ name: "entity.name.tag.pragma-mark.c"
1897
+ }
1898
+ },
1899
+ match: "^\\s*(((#)\\s*pragma\\s+mark)\\s+(.*))",
1900
+ name: "meta.section.c"
1901
+ },
1902
+ predefined_macros: {
1903
+ patterns: [
1904
+ {
1905
+ 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",
1906
+ captures: {
1907
+ "1": {
1908
+ name: "entity.name.other.preprocessor.macro.predefined.$1.c"
1909
+ }
1910
+ }
1911
+ },
1912
+ {
1913
+ match: "\\b__([A-Z_]+)__\\b",
1914
+ name: "entity.name.other.preprocessor.macro.predefined.probably.$1.c"
1915
+ }
1916
+ ]
1917
+ },
1918
+ "preprocessor-rule-conditional": {
1919
+ patterns: [
1920
+ {
1921
+ begin: "^\\s*((#)\\s*if(?:n?def)?\\b)",
1922
+ beginCaptures: {
1923
+ "0": {
1924
+ name: "meta.preprocessor.c"
1925
+ },
1926
+ "1": {
1927
+ name: "keyword.control.directive.conditional.c"
1928
+ },
1929
+ "2": {
1930
+ name: "punctuation.definition.directive.c"
1931
+ }
1932
+ },
1933
+ end: "^\\s*((#)\\s*endif\\b)",
1934
+ endCaptures: {
1935
+ "0": {
1936
+ name: "meta.preprocessor.c"
1937
+ },
1938
+ "1": {
1939
+ name: "keyword.control.directive.conditional.c"
1940
+ },
1941
+ "2": {
1942
+ name: "punctuation.definition.directive.c"
1943
+ }
1944
+ },
1945
+ patterns: [
1946
+ {
1947
+ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
1948
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
1949
+ name: "meta.preprocessor.c",
1950
+ patterns: [
1951
+ {
1952
+ include: "#preprocessor-rule-conditional-line"
1953
+ }
1954
+ ]
1955
+ },
1956
+ {
1957
+ include: "#preprocessor-rule-enabled-elif"
1958
+ },
1959
+ {
1960
+ include: "#preprocessor-rule-enabled-else"
1961
+ },
1962
+ {
1963
+ include: "#preprocessor-rule-disabled-elif"
1964
+ },
1965
+ {
1966
+ begin: "^\\s*((#)\\s*elif\\b)",
1967
+ beginCaptures: {
1968
+ "1": {
1969
+ name: "keyword.control.directive.conditional.c"
1970
+ },
1971
+ "2": {
1972
+ name: "punctuation.definition.directive.c"
1973
+ }
1974
+ },
1975
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
1976
+ name: "meta.preprocessor.c",
1977
+ patterns: [
1978
+ {
1979
+ include: "#preprocessor-rule-conditional-line"
1980
+ }
1981
+ ]
1982
+ },
1983
+ {
1984
+ include: "$self"
1985
+ }
1986
+ ]
1987
+ },
1988
+ {
1989
+ match: "^\\s*#\\s*(else|elif|endif)\\b",
1990
+ captures: {
1991
+ "0": {
1992
+ name: "invalid.illegal.stray-$1.c"
1993
+ }
1994
+ }
1995
+ }
1996
+ ]
1997
+ },
1998
+ "preprocessor-rule-conditional-block": {
1999
+ patterns: [
2000
+ {
2001
+ begin: "^\\s*((#)\\s*if(?:n?def)?\\b)",
2002
+ beginCaptures: {
2003
+ "0": {
2004
+ name: "meta.preprocessor.c"
2005
+ },
2006
+ "1": {
2007
+ name: "keyword.control.directive.conditional.c"
2008
+ },
2009
+ "2": {
2010
+ name: "punctuation.definition.directive.c"
2011
+ }
2012
+ },
2013
+ end: "^\\s*((#)\\s*endif\\b)",
2014
+ endCaptures: {
2015
+ "0": {
2016
+ name: "meta.preprocessor.c"
2017
+ },
2018
+ "1": {
2019
+ name: "keyword.control.directive.conditional.c"
2020
+ },
2021
+ "2": {
2022
+ name: "punctuation.definition.directive.c"
2023
+ }
2024
+ },
2025
+ patterns: [
2026
+ {
2027
+ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2028
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
2029
+ name: "meta.preprocessor.c",
2030
+ patterns: [
2031
+ {
2032
+ include: "#preprocessor-rule-conditional-line"
2033
+ }
2034
+ ]
2035
+ },
2036
+ {
2037
+ include: "#preprocessor-rule-enabled-elif-block"
2038
+ },
2039
+ {
2040
+ include: "#preprocessor-rule-enabled-else-block"
2041
+ },
2042
+ {
2043
+ include: "#preprocessor-rule-disabled-elif"
2044
+ },
2045
+ {
2046
+ begin: "^\\s*((#)\\s*elif\\b)",
2047
+ beginCaptures: {
2048
+ "1": {
2049
+ name: "keyword.control.directive.conditional.c"
2050
+ },
2051
+ "2": {
2052
+ name: "punctuation.definition.directive.c"
2053
+ }
2054
+ },
2055
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
2056
+ name: "meta.preprocessor.c",
2057
+ patterns: [
2058
+ {
2059
+ include: "#preprocessor-rule-conditional-line"
2060
+ }
2061
+ ]
2062
+ },
2063
+ {
2064
+ include: "#block_innards"
2065
+ }
2066
+ ]
2067
+ },
2068
+ {
2069
+ match: "^\\s*#\\s*(else|elif|endif)\\b",
2070
+ captures: {
2071
+ "0": {
2072
+ name: "invalid.illegal.stray-$1.c"
2073
+ }
2074
+ }
2075
+ }
2076
+ ]
2077
+ },
2078
+ "preprocessor-rule-conditional-line": {
2079
+ patterns: [
2080
+ {
2081
+ match: "(?:\\bdefined\\b\\s*$)|(?:\\bdefined\\b(?=\\s*\\(*\\s*(?:(?!defined\\b)[a-zA-Z_$][\\w$]*\\b)\\s*\\)*\\s*(?:\\n|//|/\\*|\\?|\\:|&&|\\|\\||\\\\\\s*\\n)))",
2082
+ name: "keyword.control.directive.conditional.c"
2083
+ },
2084
+ {
2085
+ match: "\\bdefined\\b",
2086
+ name: "invalid.illegal.macro-name.c"
2087
+ },
2088
+ {
2089
+ include: "#comments"
2090
+ },
2091
+ {
2092
+ include: "#strings"
2093
+ },
2094
+ {
2095
+ include: "#numbers"
2096
+ },
2097
+ {
2098
+ begin: "\\?",
2099
+ beginCaptures: {
2100
+ "0": {
2101
+ name: "keyword.operator.ternary.c"
2102
+ }
2103
+ },
2104
+ end: ":",
2105
+ endCaptures: {
2106
+ "0": {
2107
+ name: "keyword.operator.ternary.c"
2108
+ }
2109
+ },
2110
+ patterns: [
2111
+ {
2112
+ include: "#preprocessor-rule-conditional-line"
2113
+ }
2114
+ ]
2115
+ },
2116
+ {
2117
+ include: "#operators"
2118
+ },
2119
+ {
2120
+ match: "\\b(NULL|true|false|TRUE|FALSE)\\b",
2121
+ name: "constant.language.c"
2122
+ },
2123
+ {
2124
+ match: "[a-zA-Z_$][\\w$]*",
2125
+ name: "entity.name.function.preprocessor.c"
2126
+ },
2127
+ {
2128
+ include: "#line_continuation_character"
2129
+ },
2130
+ {
2131
+ begin: "\\(",
2132
+ beginCaptures: {
2133
+ "0": {
2134
+ name: "punctuation.section.parens.begin.bracket.round.c"
2135
+ }
2136
+ },
2137
+ end: "\\)|(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
2138
+ endCaptures: {
2139
+ "0": {
2140
+ name: "punctuation.section.parens.end.bracket.round.c"
2141
+ }
2142
+ },
2143
+ patterns: [
2144
+ {
2145
+ include: "#preprocessor-rule-conditional-line"
2146
+ }
2147
+ ]
2148
+ }
2149
+ ]
2150
+ },
2151
+ "preprocessor-rule-define-line-blocks": {
2152
+ patterns: [
2153
+ {
2154
+ begin: "{",
2155
+ beginCaptures: {
2156
+ "0": {
2157
+ name: "punctuation.section.block.begin.bracket.curly.c"
2158
+ }
2159
+ },
2160
+ end: "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)|(?<!\\\\)(?=\\s*\\n)",
2161
+ endCaptures: {
2162
+ "0": {
2163
+ name: "punctuation.section.block.end.bracket.curly.c"
2164
+ }
2165
+ },
2166
+ patterns: [
2167
+ {
2168
+ include: "#preprocessor-rule-define-line-blocks"
2169
+ },
2170
+ {
2171
+ include: "#preprocessor-rule-define-line-contents"
2172
+ }
2173
+ ]
2174
+ },
2175
+ {
2176
+ include: "#preprocessor-rule-define-line-contents"
2177
+ }
2178
+ ]
2179
+ },
2180
+ "preprocessor-rule-define-line-contents": {
2181
+ patterns: [
2182
+ {
2183
+ include: "#vararg_ellipses"
2184
+ },
2185
+ {
2186
+ begin: "{",
2187
+ beginCaptures: {
2188
+ "0": {
2189
+ name: "punctuation.section.block.begin.bracket.curly.c"
2190
+ }
2191
+ },
2192
+ end: "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)|(?<!\\\\)(?=\\s*\\n)",
2193
+ endCaptures: {
2194
+ "0": {
2195
+ name: "punctuation.section.block.end.bracket.curly.c"
2196
+ }
2197
+ },
2198
+ name: "meta.block.c",
2199
+ patterns: [
2200
+ {
2201
+ include: "#preprocessor-rule-define-line-blocks"
2202
+ }
2203
+ ]
2204
+ },
2205
+ {
2206
+ match: "\\(",
2207
+ name: "punctuation.section.parens.begin.bracket.round.c"
2208
+ },
2209
+ {
2210
+ match: "\\)",
2211
+ name: "punctuation.section.parens.end.bracket.round.c"
2212
+ },
2213
+ {
2214
+ begin: "(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas|asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void)\\s*\\()\n(?=\n (?:[A-Za-z_][A-Za-z0-9_]*+|::)++\\s*\\( # actual name\n |\n (?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\\s*\\(\n)",
2215
+ end: "(?<=\\))(?!\\w)|(?<!\\\\)(?=\\s*\\n)",
2216
+ name: "meta.function.c",
2217
+ patterns: [
2218
+ {
2219
+ include: "#preprocessor-rule-define-line-functions"
2220
+ }
2221
+ ]
2222
+ },
2223
+ {
2224
+ begin: "\"",
2225
+ beginCaptures: {
2226
+ "0": {
2227
+ name: "punctuation.definition.string.begin.c"
2228
+ }
2229
+ },
2230
+ end: "\"|(?<!\\\\)(?=\\s*\\n)",
2231
+ endCaptures: {
2232
+ "0": {
2233
+ name: "punctuation.definition.string.end.c"
2234
+ }
2235
+ },
2236
+ name: "string.quoted.double.c",
2237
+ patterns: [
2238
+ {
2239
+ include: "#string_escaped_char"
2240
+ },
2241
+ {
2242
+ include: "#string_placeholder"
2243
+ },
2244
+ {
2245
+ include: "#line_continuation_character"
2246
+ }
2247
+ ]
2248
+ },
2249
+ {
2250
+ begin: "'",
2251
+ beginCaptures: {
2252
+ "0": {
2253
+ name: "punctuation.definition.string.begin.c"
2254
+ }
2255
+ },
2256
+ end: "'|(?<!\\\\)(?=\\s*\\n)",
2257
+ endCaptures: {
2258
+ "0": {
2259
+ name: "punctuation.definition.string.end.c"
2260
+ }
2261
+ },
2262
+ name: "string.quoted.single.c",
2263
+ patterns: [
2264
+ {
2265
+ include: "#string_escaped_char"
2266
+ },
2267
+ {
2268
+ include: "#line_continuation_character"
2269
+ }
2270
+ ]
2271
+ },
2272
+ {
2273
+ include: "#method_access"
2274
+ },
2275
+ {
2276
+ include: "#member_access"
2277
+ },
2278
+ {
2279
+ include: "$self"
2280
+ }
2281
+ ]
2282
+ },
2283
+ "preprocessor-rule-define-line-functions": {
2284
+ patterns: [
2285
+ {
2286
+ include: "#comments"
2287
+ },
2288
+ {
2289
+ include: "#storage_types"
2290
+ },
2291
+ {
2292
+ include: "#vararg_ellipses"
2293
+ },
2294
+ {
2295
+ include: "#method_access"
2296
+ },
2297
+ {
2298
+ include: "#member_access"
2299
+ },
2300
+ {
2301
+ include: "#operators"
2302
+ },
2303
+ {
2304
+ begin: "(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()",
2305
+ beginCaptures: {
2306
+ "1": {
2307
+ name: "entity.name.function.c"
2308
+ },
2309
+ "2": {
2310
+ name: "punctuation.section.arguments.begin.bracket.round.c"
2311
+ }
2312
+ },
2313
+ end: "(\\))|(?<!\\\\)(?=\\s*\\n)",
2314
+ endCaptures: {
2315
+ "1": {
2316
+ name: "punctuation.section.arguments.end.bracket.round.c"
2317
+ }
2318
+ },
2319
+ patterns: [
2320
+ {
2321
+ include: "#preprocessor-rule-define-line-functions"
2322
+ }
2323
+ ]
2324
+ },
2325
+ {
2326
+ begin: "\\(",
2327
+ beginCaptures: {
2328
+ "0": {
2329
+ name: "punctuation.section.parens.begin.bracket.round.c"
2330
+ }
2331
+ },
2332
+ end: "(\\))|(?<!\\\\)(?=\\s*\\n)",
2333
+ endCaptures: {
2334
+ "1": {
2335
+ name: "punctuation.section.parens.end.bracket.round.c"
2336
+ }
2337
+ },
2338
+ patterns: [
2339
+ {
2340
+ include: "#preprocessor-rule-define-line-functions"
2341
+ }
2342
+ ]
2343
+ },
2344
+ {
2345
+ include: "#preprocessor-rule-define-line-contents"
2346
+ }
2347
+ ]
2348
+ },
2349
+ "preprocessor-rule-disabled": {
2350
+ patterns: [
2351
+ {
2352
+ begin: "^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))",
2353
+ beginCaptures: {
2354
+ "0": {
2355
+ name: "meta.preprocessor.c"
2356
+ },
2357
+ "1": {
2358
+ name: "keyword.control.directive.conditional.c"
2359
+ },
2360
+ "2": {
2361
+ name: "punctuation.definition.directive.c"
2362
+ }
2363
+ },
2364
+ end: "^\\s*((#)\\s*endif\\b)",
2365
+ endCaptures: {
2366
+ "0": {
2367
+ name: "meta.preprocessor.c"
2368
+ },
2369
+ "1": {
2370
+ name: "keyword.control.directive.conditional.c"
2371
+ },
2372
+ "2": {
2373
+ name: "punctuation.definition.directive.c"
2374
+ }
2375
+ },
2376
+ patterns: [
2377
+ {
2378
+ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2379
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",
2380
+ name: "meta.preprocessor.c",
2381
+ patterns: [
2382
+ {
2383
+ include: "#preprocessor-rule-conditional-line"
2384
+ }
2385
+ ]
2386
+ },
2387
+ {
2388
+ include: "#comments"
2389
+ },
2390
+ {
2391
+ include: "#preprocessor-rule-enabled-elif"
2392
+ },
2393
+ {
2394
+ include: "#preprocessor-rule-enabled-else"
2395
+ },
2396
+ {
2397
+ include: "#preprocessor-rule-disabled-elif"
2398
+ },
2399
+ {
2400
+ begin: "^\\s*((#)\\s*elif\\b)",
2401
+ beginCaptures: {
2402
+ "0": {
2403
+ name: "meta.preprocessor.c"
2404
+ },
2405
+ "1": {
2406
+ name: "keyword.control.directive.conditional.c"
2407
+ },
2408
+ "2": {
2409
+ name: "punctuation.definition.directive.c"
2410
+ }
2411
+ },
2412
+ end: "(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))",
2413
+ patterns: [
2414
+ {
2415
+ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2416
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
2417
+ name: "meta.preprocessor.c",
2418
+ patterns: [
2419
+ {
2420
+ include: "#preprocessor-rule-conditional-line"
2421
+ }
2422
+ ]
2423
+ },
2424
+ {
2425
+ include: "$self"
2426
+ }
2427
+ ]
2428
+ },
2429
+ {
2430
+ begin: "\\n",
2431
+ end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2432
+ contentName: "comment.block.preprocessor.if-branch.c",
2433
+ patterns: [
2434
+ {
2435
+ include: "#disabled"
2436
+ },
2437
+ {
2438
+ include: "#pragma-mark"
2439
+ }
2440
+ ]
2441
+ }
2442
+ ]
2443
+ }
2444
+ ]
2445
+ },
2446
+ "preprocessor-rule-disabled-block": {
2447
+ patterns: [
2448
+ {
2449
+ begin: "^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))",
2450
+ beginCaptures: {
2451
+ "0": {
2452
+ name: "meta.preprocessor.c"
2453
+ },
2454
+ "1": {
2455
+ name: "keyword.control.directive.conditional.c"
2456
+ },
2457
+ "2": {
2458
+ name: "punctuation.definition.directive.c"
2459
+ }
2460
+ },
2461
+ end: "^\\s*((#)\\s*endif\\b)",
2462
+ endCaptures: {
2463
+ "0": {
2464
+ name: "meta.preprocessor.c"
2465
+ },
2466
+ "1": {
2467
+ name: "keyword.control.directive.conditional.c"
2468
+ },
2469
+ "2": {
2470
+ name: "punctuation.definition.directive.c"
2471
+ }
2472
+ },
2473
+ patterns: [
2474
+ {
2475
+ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2476
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",
2477
+ name: "meta.preprocessor.c",
2478
+ patterns: [
2479
+ {
2480
+ include: "#preprocessor-rule-conditional-line"
2481
+ }
2482
+ ]
2483
+ },
2484
+ {
2485
+ include: "#comments"
2486
+ },
2487
+ {
2488
+ include: "#preprocessor-rule-enabled-elif-block"
2489
+ },
2490
+ {
2491
+ include: "#preprocessor-rule-enabled-else-block"
2492
+ },
2493
+ {
2494
+ include: "#preprocessor-rule-disabled-elif"
2495
+ },
2496
+ {
2497
+ begin: "^\\s*((#)\\s*elif\\b)",
2498
+ beginCaptures: {
2499
+ "0": {
2500
+ name: "meta.preprocessor.c"
2501
+ },
2502
+ "1": {
2503
+ name: "keyword.control.directive.conditional.c"
2504
+ },
2505
+ "2": {
2506
+ name: "punctuation.definition.directive.c"
2507
+ }
2508
+ },
2509
+ end: "(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))",
2510
+ patterns: [
2511
+ {
2512
+ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2513
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
2514
+ name: "meta.preprocessor.c",
2515
+ patterns: [
2516
+ {
2517
+ include: "#preprocessor-rule-conditional-line"
2518
+ }
2519
+ ]
2520
+ },
2521
+ {
2522
+ include: "#block_innards"
2523
+ }
2524
+ ]
2525
+ },
2526
+ {
2527
+ begin: "\\n",
2528
+ end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2529
+ contentName: "comment.block.preprocessor.if-branch.in-block.c",
2530
+ patterns: [
2531
+ {
2532
+ include: "#disabled"
2533
+ },
2534
+ {
2535
+ include: "#pragma-mark"
2536
+ }
2537
+ ]
2538
+ }
2539
+ ]
2540
+ }
2541
+ ]
2542
+ },
2543
+ "preprocessor-rule-disabled-elif": {
2544
+ begin: "^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))",
2545
+ beginCaptures: {
2546
+ "0": {
2547
+ name: "meta.preprocessor.c"
2548
+ },
2549
+ "1": {
2550
+ name: "keyword.control.directive.conditional.c"
2551
+ },
2552
+ "2": {
2553
+ name: "punctuation.definition.directive.c"
2554
+ }
2555
+ },
2556
+ end: "(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))",
2557
+ patterns: [
2558
+ {
2559
+ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2560
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
2561
+ name: "meta.preprocessor.c",
2562
+ patterns: [
2563
+ {
2564
+ include: "#preprocessor-rule-conditional-line"
2565
+ }
2566
+ ]
2567
+ },
2568
+ {
2569
+ include: "#comments"
2570
+ },
2571
+ {
2572
+ begin: "\\n",
2573
+ end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2574
+ contentName: "comment.block.preprocessor.elif-branch.c",
2575
+ patterns: [
2576
+ {
2577
+ include: "#disabled"
2578
+ },
2579
+ {
2580
+ include: "#pragma-mark"
2581
+ }
2582
+ ]
2583
+ }
2584
+ ]
2585
+ },
2586
+ "preprocessor-rule-enabled": {
2587
+ patterns: [
2588
+ {
2589
+ begin: "^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))",
2590
+ beginCaptures: {
2591
+ "0": {
2592
+ name: "meta.preprocessor.c"
2593
+ },
2594
+ "1": {
2595
+ name: "keyword.control.directive.conditional.c"
2596
+ },
2597
+ "2": {
2598
+ name: "punctuation.definition.directive.c"
2599
+ },
2600
+ "3": {
2601
+ name: "constant.numeric.preprocessor.c"
2602
+ }
2603
+ },
2604
+ end: "^\\s*((#)\\s*endif\\b)",
2605
+ endCaptures: {
2606
+ "0": {
2607
+ name: "meta.preprocessor.c"
2608
+ },
2609
+ "1": {
2610
+ name: "keyword.control.directive.conditional.c"
2611
+ },
2612
+ "2": {
2613
+ name: "punctuation.definition.directive.c"
2614
+ }
2615
+ },
2616
+ patterns: [
2617
+ {
2618
+ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2619
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",
2620
+ name: "meta.preprocessor.c",
2621
+ patterns: [
2622
+ {
2623
+ include: "#preprocessor-rule-conditional-line"
2624
+ }
2625
+ ]
2626
+ },
2627
+ {
2628
+ include: "#comments"
2629
+ },
2630
+ {
2631
+ begin: "^\\s*((#)\\s*else\\b)",
2632
+ beginCaptures: {
2633
+ "0": {
2634
+ name: "meta.preprocessor.c"
2635
+ },
2636
+ "1": {
2637
+ name: "keyword.control.directive.conditional.c"
2638
+ },
2639
+ "2": {
2640
+ name: "punctuation.definition.directive.c"
2641
+ }
2642
+ },
2643
+ end: "(?=^\\s*((#)\\s*endif\\b))",
2644
+ contentName: "comment.block.preprocessor.else-branch.c",
2645
+ patterns: [
2646
+ {
2647
+ include: "#disabled"
2648
+ },
2649
+ {
2650
+ include: "#pragma-mark"
2651
+ }
2652
+ ]
2653
+ },
2654
+ {
2655
+ begin: "^\\s*((#)\\s*elif\\b)",
2656
+ beginCaptures: {
2657
+ "0": {
2658
+ name: "meta.preprocessor.c"
2659
+ },
2660
+ "1": {
2661
+ name: "keyword.control.directive.conditional.c"
2662
+ },
2663
+ "2": {
2664
+ name: "punctuation.definition.directive.c"
2665
+ }
2666
+ },
2667
+ end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2668
+ contentName: "comment.block.preprocessor.if-branch.c",
2669
+ patterns: [
2670
+ {
2671
+ include: "#disabled"
2672
+ },
2673
+ {
2674
+ include: "#pragma-mark"
2675
+ }
2676
+ ]
2677
+ },
2678
+ {
2679
+ begin: "\\n",
2680
+ end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2681
+ patterns: [
2682
+ {
2683
+ include: "$self"
2684
+ }
2685
+ ]
2686
+ }
2687
+ ]
2688
+ }
2689
+ ]
2690
+ },
2691
+ "preprocessor-rule-enabled-block": {
2692
+ patterns: [
2693
+ {
2694
+ begin: "^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))",
2695
+ beginCaptures: {
2696
+ "0": {
2697
+ name: "meta.preprocessor.c"
2698
+ },
2699
+ "1": {
2700
+ name: "keyword.control.directive.conditional.c"
2701
+ },
2702
+ "2": {
2703
+ name: "punctuation.definition.directive.c"
2704
+ }
2705
+ },
2706
+ end: "^\\s*((#)\\s*endif\\b)",
2707
+ endCaptures: {
2708
+ "0": {
2709
+ name: "meta.preprocessor.c"
2710
+ },
2711
+ "1": {
2712
+ name: "keyword.control.directive.conditional.c"
2713
+ },
2714
+ "2": {
2715
+ name: "punctuation.definition.directive.c"
2716
+ }
2717
+ },
2718
+ patterns: [
2719
+ {
2720
+ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2721
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",
2722
+ name: "meta.preprocessor.c",
2723
+ patterns: [
2724
+ {
2725
+ include: "#preprocessor-rule-conditional-line"
2726
+ }
2727
+ ]
2728
+ },
2729
+ {
2730
+ include: "#comments"
2731
+ },
2732
+ {
2733
+ begin: "^\\s*((#)\\s*else\\b)",
2734
+ beginCaptures: {
2735
+ "0": {
2736
+ name: "meta.preprocessor.c"
2737
+ },
2738
+ "1": {
2739
+ name: "keyword.control.directive.conditional.c"
2740
+ },
2741
+ "2": {
2742
+ name: "punctuation.definition.directive.c"
2743
+ }
2744
+ },
2745
+ end: "(?=^\\s*((#)\\s*endif\\b))",
2746
+ contentName: "comment.block.preprocessor.else-branch.in-block.c",
2747
+ patterns: [
2748
+ {
2749
+ include: "#disabled"
2750
+ },
2751
+ {
2752
+ include: "#pragma-mark"
2753
+ }
2754
+ ]
2755
+ },
2756
+ {
2757
+ begin: "^\\s*((#)\\s*elif\\b)",
2758
+ beginCaptures: {
2759
+ "0": {
2760
+ name: "meta.preprocessor.c"
2761
+ },
2762
+ "1": {
2763
+ name: "keyword.control.directive.conditional.c"
2764
+ },
2765
+ "2": {
2766
+ name: "punctuation.definition.directive.c"
2767
+ }
2768
+ },
2769
+ end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2770
+ contentName: "comment.block.preprocessor.if-branch.in-block.c",
2771
+ patterns: [
2772
+ {
2773
+ include: "#disabled"
2774
+ },
2775
+ {
2776
+ include: "#pragma-mark"
2777
+ }
2778
+ ]
2779
+ },
2780
+ {
2781
+ begin: "\\n",
2782
+ end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2783
+ patterns: [
2784
+ {
2785
+ include: "#block_innards"
2786
+ }
2787
+ ]
2788
+ }
2789
+ ]
2790
+ }
2791
+ ]
2792
+ },
2793
+ "preprocessor-rule-enabled-elif": {
2794
+ begin: "^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))",
2795
+ beginCaptures: {
2796
+ "0": {
2797
+ name: "meta.preprocessor.c"
2798
+ },
2799
+ "1": {
2800
+ name: "keyword.control.directive.conditional.c"
2801
+ },
2802
+ "2": {
2803
+ name: "punctuation.definition.directive.c"
2804
+ }
2805
+ },
2806
+ end: "(?=^\\s*((#)\\s*endif\\b))",
2807
+ patterns: [
2808
+ {
2809
+ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2810
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
2811
+ name: "meta.preprocessor.c",
2812
+ patterns: [
2813
+ {
2814
+ include: "#preprocessor-rule-conditional-line"
2815
+ }
2816
+ ]
2817
+ },
2818
+ {
2819
+ include: "#comments"
2820
+ },
2821
+ {
2822
+ begin: "\\n",
2823
+ end: "(?=^\\s*((#)\\s*(?:endif)\\b))",
2824
+ patterns: [
2825
+ {
2826
+ begin: "^\\s*((#)\\s*(else)\\b)",
2827
+ beginCaptures: {
2828
+ "0": {
2829
+ name: "meta.preprocessor.c"
2830
+ },
2831
+ "1": {
2832
+ name: "keyword.control.directive.conditional.c"
2833
+ },
2834
+ "2": {
2835
+ name: "punctuation.definition.directive.c"
2836
+ }
2837
+ },
2838
+ end: "(?=^\\s*((#)\\s*endif\\b))",
2839
+ contentName: "comment.block.preprocessor.elif-branch.c",
2840
+ patterns: [
2841
+ {
2842
+ include: "#disabled"
2843
+ },
2844
+ {
2845
+ include: "#pragma-mark"
2846
+ }
2847
+ ]
2848
+ },
2849
+ {
2850
+ begin: "^\\s*((#)\\s*(elif)\\b)",
2851
+ beginCaptures: {
2852
+ "0": {
2853
+ name: "meta.preprocessor.c"
2854
+ },
2855
+ "1": {
2856
+ name: "keyword.control.directive.conditional.c"
2857
+ },
2858
+ "2": {
2859
+ name: "punctuation.definition.directive.c"
2860
+ }
2861
+ },
2862
+ end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2863
+ contentName: "comment.block.preprocessor.elif-branch.c",
2864
+ patterns: [
2865
+ {
2866
+ include: "#disabled"
2867
+ },
2868
+ {
2869
+ include: "#pragma-mark"
2870
+ }
2871
+ ]
2872
+ },
2873
+ {
2874
+ include: "$self"
2875
+ }
2876
+ ]
2877
+ }
2878
+ ]
2879
+ },
2880
+ "preprocessor-rule-enabled-elif-block": {
2881
+ begin: "^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))",
2882
+ beginCaptures: {
2883
+ "0": {
2884
+ name: "meta.preprocessor.c"
2885
+ },
2886
+ "1": {
2887
+ name: "keyword.control.directive.conditional.c"
2888
+ },
2889
+ "2": {
2890
+ name: "punctuation.definition.directive.c"
2891
+ }
2892
+ },
2893
+ end: "(?=^\\s*((#)\\s*endif\\b))",
2894
+ patterns: [
2895
+ {
2896
+ begin: "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2897
+ end: "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
2898
+ name: "meta.preprocessor.c",
2899
+ patterns: [
2900
+ {
2901
+ include: "#preprocessor-rule-conditional-line"
2902
+ }
2903
+ ]
2904
+ },
2905
+ {
2906
+ include: "#comments"
2907
+ },
2908
+ {
2909
+ begin: "\\n",
2910
+ end: "(?=^\\s*((#)\\s*(?:endif)\\b))",
2911
+ patterns: [
2912
+ {
2913
+ begin: "^\\s*((#)\\s*(else)\\b)",
2914
+ beginCaptures: {
2915
+ "0": {
2916
+ name: "meta.preprocessor.c"
2917
+ },
2918
+ "1": {
2919
+ name: "keyword.control.directive.conditional.c"
2920
+ },
2921
+ "2": {
2922
+ name: "punctuation.definition.directive.c"
2923
+ }
2924
+ },
2925
+ end: "(?=^\\s*((#)\\s*endif\\b))",
2926
+ contentName: "comment.block.preprocessor.elif-branch.in-block.c",
2927
+ patterns: [
2928
+ {
2929
+ include: "#disabled"
2930
+ },
2931
+ {
2932
+ include: "#pragma-mark"
2933
+ }
2934
+ ]
2935
+ },
2936
+ {
2937
+ begin: "^\\s*((#)\\s*(elif)\\b)",
2938
+ beginCaptures: {
2939
+ "0": {
2940
+ name: "meta.preprocessor.c"
2941
+ },
2942
+ "1": {
2943
+ name: "keyword.control.directive.conditional.c"
2944
+ },
2945
+ "2": {
2946
+ name: "punctuation.definition.directive.c"
2947
+ }
2948
+ },
2949
+ end: "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2950
+ contentName: "comment.block.preprocessor.elif-branch.c",
2951
+ patterns: [
2952
+ {
2953
+ include: "#disabled"
2954
+ },
2955
+ {
2956
+ include: "#pragma-mark"
2957
+ }
2958
+ ]
2959
+ },
2960
+ {
2961
+ include: "#block_innards"
2962
+ }
2963
+ ]
2964
+ }
2965
+ ]
2966
+ },
2967
+ "preprocessor-rule-enabled-else": {
2968
+ begin: "^\\s*((#)\\s*else\\b)",
2969
+ beginCaptures: {
2970
+ "0": {
2971
+ name: "meta.preprocessor.c"
2972
+ },
2973
+ "1": {
2974
+ name: "keyword.control.directive.conditional.c"
2975
+ },
2976
+ "2": {
2977
+ name: "punctuation.definition.directive.c"
2978
+ }
2979
+ },
2980
+ end: "(?=^\\s*((#)\\s*endif\\b))",
2981
+ patterns: [
2982
+ {
2983
+ include: "$self"
2984
+ }
2985
+ ]
2986
+ },
2987
+ "preprocessor-rule-enabled-else-block": {
2988
+ begin: "^\\s*((#)\\s*else\\b)",
2989
+ beginCaptures: {
2990
+ "0": {
2991
+ name: "meta.preprocessor.c"
2992
+ },
2993
+ "1": {
2994
+ name: "keyword.control.directive.conditional.c"
2995
+ },
2996
+ "2": {
2997
+ name: "punctuation.definition.directive.c"
2998
+ }
2999
+ },
3000
+ end: "(?=^\\s*((#)\\s*endif\\b))",
3001
+ patterns: [
3002
+ {
3003
+ include: "#block_innards"
3004
+ }
3005
+ ]
3006
+ },
3007
+ probably_a_parameter: {
3008
+ match: "(?<=(?:[a-zA-Z_0-9] |[&*>\\]\\)]))\\s*([a-zA-Z_]\\w*)\\s*(?=(?:\\[\\]\\s*)?(?:,|\\)))",
3009
+ captures: {
3010
+ "1": {
3011
+ name: "variable.parameter.probably.c"
3012
+ }
3013
+ }
3014
+ },
3015
+ static_assert: {
3016
+ begin: "((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?<!\\w)static_assert|_Static_assert(?!\\w))((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))(\\()",
3017
+ beginCaptures: {
3018
+ "1": {
3019
+ patterns: [
3020
+ {
3021
+ include: "#inline_comment"
3022
+ }
3023
+ ]
3024
+ },
3025
+ "2": {
3026
+ name: "comment.block.c punctuation.definition.comment.begin.c"
3027
+ },
3028
+ "3": {
3029
+ name: "comment.block.c"
3030
+ },
3031
+ "4": {
3032
+ patterns: [
3033
+ {
3034
+ match: "\\*\\/",
3035
+ name: "comment.block.c punctuation.definition.comment.end.c"
3036
+ },
3037
+ {
3038
+ match: "\\*",
3039
+ name: "comment.block.c"
3040
+ }
3041
+ ]
3042
+ },
3043
+ "5": {
3044
+ name: "keyword.other.static_assert.c"
3045
+ },
3046
+ "6": {
3047
+ patterns: [
3048
+ {
3049
+ include: "#inline_comment"
3050
+ }
3051
+ ]
3052
+ },
3053
+ "7": {
3054
+ name: "comment.block.c punctuation.definition.comment.begin.c"
3055
+ },
3056
+ "8": {
3057
+ name: "comment.block.c"
3058
+ },
3059
+ "9": {
3060
+ patterns: [
3061
+ {
3062
+ match: "\\*\\/",
3063
+ name: "comment.block.c punctuation.definition.comment.end.c"
3064
+ },
3065
+ {
3066
+ match: "\\*",
3067
+ name: "comment.block.c"
3068
+ }
3069
+ ]
3070
+ },
3071
+ "10": {
3072
+ name: "punctuation.section.arguments.begin.bracket.round.static_assert.c"
3073
+ }
3074
+ },
3075
+ end: "(\\))",
3076
+ endCaptures: {
3077
+ "1": {
3078
+ name: "punctuation.section.arguments.end.bracket.round.static_assert.c"
3079
+ }
3080
+ },
3081
+ patterns: [
3082
+ {
3083
+ name: "meta.static_assert.message.c",
3084
+ begin: "(,)\\s*(?=(?:L|u8|u|U\\s*\\\")?)",
3085
+ beginCaptures: {
3086
+ "1": {
3087
+ name: "punctuation.separator.delimiter.comma.c"
3088
+ }
3089
+ },
3090
+ end: "(?=\\))",
3091
+ patterns: [
3092
+ {
3093
+ include: "#string_context"
3094
+ }
3095
+ ]
3096
+ },
3097
+ {
3098
+ include: "#evaluation_context"
3099
+ }
3100
+ ]
3101
+ },
3102
+ storage_types: {
3103
+ patterns: [
3104
+ {
3105
+ match: "(?-mix:(?<!\\w)(?:unsigned|signed|double|_Bool|short|float|long|void|char|bool|int)(?!\\w))",
3106
+ name: "storage.type.built-in.primitive.c"
3107
+ },
3108
+ {
3109
+ match: "(?-mix:(?<!\\w)(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|pthread_rwlockattr_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_uint_fast16_t|atomic_int_least64_t|atomic_int_least32_t|atomic_int_least16_t|atomic_uint_least8_t|atomic_uint_fast8_t|atomic_int_least8_t|atomic_int_fast16_t|pthread_mutexattr_t|atomic_int_fast32_t|atomic_int_fast64_t|atomic_int_fast8_t|pthread_condattr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintptr_t|atomic_uintmax_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_mutex_t|pthread_cond_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_once_t|pthread_attr_t|int_least32_t|pthread_key_t|int_least16_t|int_least64_t|uint_least8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|atomic_ushort|atomic_ullong|atomic_size_t|int_fast16_t|int_fast64_t|uint_fast8_t|atomic_short|atomic_uchar|atomic_schar|int_least8_t|memory_order|atomic_llong|atomic_ulong|int_fast32_t|atomic_long|atomic_uint|atomic_char|int_fast8_t|suseconds_t|atomic_bool|atomic_int|_Imaginary|useconds_t|in_port_t|uintmax_t|uintmax_t|pthread_t|blksize_t|in_addr_t|uintptr_t|blkcnt_t|uint16_t|uint32_t|uint64_t|u_quad_t|_Complex|intptr_t|intmax_t|intmax_t|segsz_t|u_short|nlink_t|uint8_t|int64_t|int32_t|int16_t|fixpt_t|daddr_t|caddr_t|qaddr_t|ssize_t|clock_t|swblk_t|u_long|mode_t|int8_t|time_t|ushort|u_char|quad_t|size_t|pid_t|gid_t|uid_t|dev_t|div_t|off_t|u_int|key_t|ino_t|uint|id_t|id_t)(?!\\w))",
3110
+ name: "storage.type.built-in.c"
3111
+ },
3112
+ {
3113
+ match: "(?-mix:\\b(enum|struct|union)\\b)",
3114
+ name: "storage.type.$1.c"
3115
+ },
3116
+ {
3117
+ name: "meta.asm.c",
3118
+ begin: "(\\b(?:__asm__|asm)\\b)\\s*((?:volatile)?)",
3119
+ beginCaptures: {
3120
+ "1": {
3121
+ name: "storage.type.asm.c"
3122
+ },
3123
+ "2": {
3124
+ name: "storage.modifier.c"
3125
+ }
3126
+ },
3127
+ end: "(?!\\G)",
3128
+ patterns: [
3129
+ {
3130
+ match: "(?:^)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))(?:\\n|$)",
3131
+ captures: {
3132
+ "1": {
3133
+ patterns: [
3134
+ {
3135
+ include: "#inline_comment"
3136
+ }
3137
+ ]
3138
+ },
3139
+ "2": {
3140
+ name: "comment.block.c punctuation.definition.comment.begin.c"
3141
+ },
3142
+ "3": {
3143
+ name: "comment.block.c"
3144
+ },
3145
+ "4": {
3146
+ patterns: [
3147
+ {
3148
+ match: "\\*\\/",
3149
+ name: "comment.block.c punctuation.definition.comment.end.c"
3150
+ },
3151
+ {
3152
+ match: "\\*",
3153
+ name: "comment.block.c"
3154
+ }
3155
+ ]
3156
+ }
3157
+ }
3158
+ },
3159
+ {
3160
+ include: "#comments"
3161
+ },
3162
+ {
3163
+ begin: "(((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\()",
3164
+ beginCaptures: {
3165
+ "1": {
3166
+ name: "punctuation.section.parens.begin.bracket.round.assembly.c"
3167
+ },
3168
+ "2": {
3169
+ patterns: [
3170
+ {
3171
+ include: "#inline_comment"
3172
+ }
3173
+ ]
3174
+ },
3175
+ "3": {
3176
+ name: "comment.block.c punctuation.definition.comment.begin.c"
3177
+ },
3178
+ "4": {
3179
+ name: "comment.block.c"
3180
+ },
3181
+ "5": {
3182
+ patterns: [
3183
+ {
3184
+ match: "\\*\\/",
3185
+ name: "comment.block.c punctuation.definition.comment.end.c"
3186
+ },
3187
+ {
3188
+ match: "\\*",
3189
+ name: "comment.block.c"
3190
+ }
3191
+ ]
3192
+ }
3193
+ },
3194
+ end: "(\\))",
3195
+ endCaptures: {
3196
+ "1": {
3197
+ name: "punctuation.section.parens.end.bracket.round.assembly.c"
3198
+ }
3199
+ },
3200
+ patterns: [
3201
+ {
3202
+ name: "string.quoted.double.c",
3203
+ contentName: "meta.embedded.assembly.c",
3204
+ begin: "(R?)(\")",
3205
+ beginCaptures: {
3206
+ "1": {
3207
+ name: "meta.encoding.c"
3208
+ },
3209
+ "2": {
3210
+ name: "punctuation.definition.string.begin.assembly.c"
3211
+ }
3212
+ },
3213
+ end: "(\")",
3214
+ endCaptures: {
3215
+ "1": {
3216
+ name: "punctuation.definition.string.end.assembly.c"
3217
+ }
3218
+ },
3219
+ patterns: [
3220
+ {
3221
+ include: "source.asm"
3222
+ },
3223
+ {
3224
+ include: "source.x86"
3225
+ },
3226
+ {
3227
+ include: "source.x86_64"
3228
+ },
3229
+ {
3230
+ include: "source.arm"
3231
+ },
3232
+ {
3233
+ include: "#backslash_escapes"
3234
+ },
3235
+ {
3236
+ include: "#string_escaped_char"
3237
+ }
3238
+ ]
3239
+ },
3240
+ {
3241
+ begin: "(\\()",
3242
+ beginCaptures: {
3243
+ "1": {
3244
+ name: "punctuation.section.parens.begin.bracket.round.assembly.inner.c"
3245
+ }
3246
+ },
3247
+ end: "(\\))",
3248
+ endCaptures: {
3249
+ "1": {
3250
+ name: "punctuation.section.parens.end.bracket.round.assembly.inner.c"
3251
+ }
3252
+ },
3253
+ patterns: [
3254
+ {
3255
+ include: "#evaluation_context"
3256
+ }
3257
+ ]
3258
+ },
3259
+ {
3260
+ match: "\\[((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))([a-zA-Z_]\\w*)((?:(?:(?>\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z)))\\]",
3261
+ captures: {
3262
+ "1": {
3263
+ patterns: [
3264
+ {
3265
+ include: "#inline_comment"
3266
+ }
3267
+ ]
3268
+ },
3269
+ "2": {
3270
+ name: "comment.block.c punctuation.definition.comment.begin.c"
3271
+ },
3272
+ "3": {
3273
+ name: "comment.block.c"
3274
+ },
3275
+ "4": {
3276
+ patterns: [
3277
+ {
3278
+ match: "\\*\\/",
3279
+ name: "comment.block.c punctuation.definition.comment.end.c"
3280
+ },
3281
+ {
3282
+ match: "\\*",
3283
+ name: "comment.block.c"
3284
+ }
3285
+ ]
3286
+ },
3287
+ "5": {
3288
+ name: "variable.other.asm.label.c"
3289
+ },
3290
+ "6": {
3291
+ patterns: [
3292
+ {
3293
+ include: "#inline_comment"
3294
+ }
3295
+ ]
3296
+ },
3297
+ "7": {
3298
+ name: "comment.block.c punctuation.definition.comment.begin.c"
3299
+ },
3300
+ "8": {
3301
+ name: "comment.block.c"
3302
+ },
3303
+ "9": {
3304
+ patterns: [
3305
+ {
3306
+ match: "\\*\\/",
3307
+ name: "comment.block.c punctuation.definition.comment.end.c"
3308
+ },
3309
+ {
3310
+ match: "\\*",
3311
+ name: "comment.block.c"
3312
+ }
3313
+ ]
3314
+ }
3315
+ }
3316
+ },
3317
+ {
3318
+ match: ":",
3319
+ name: "punctuation.separator.delimiter.colon.assembly.c"
3320
+ },
3321
+ {
3322
+ include: "#comments"
3323
+ }
3324
+ ]
3325
+ }
3326
+ ]
3327
+ }
3328
+ ]
3329
+ },
3330
+ string_escaped_char: {
3331
+ patterns: [
3332
+ {
3333
+ match: "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3]\\d{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
3334
+ name: "constant.character.escape.c"
3335
+ },
3336
+ {
3337
+ match: "\\\\.",
3338
+ name: "invalid.illegal.unknown-escape.c"
3339
+ }
3340
+ ]
3341
+ },
3342
+ string_placeholder: {
3343
+ patterns: [
3344
+ {
3345
+ match: "(?x) %\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type",
3346
+ name: "constant.other.placeholder.c"
3347
+ },
3348
+ {
3349
+ match: "(%)(?!\"\\s*(PRI|SCN))",
3350
+ captures: {
3351
+ "1": {
3352
+ name: "invalid.illegal.placeholder.c"
3353
+ }
3354
+ }
3355
+ }
3356
+ ]
3357
+ },
3358
+ strings: {
3359
+ patterns: [
3360
+ {
3361
+ begin: "\"",
3362
+ beginCaptures: {
3363
+ "0": {
3364
+ name: "punctuation.definition.string.begin.c"
3365
+ }
3366
+ },
3367
+ end: "\"",
3368
+ endCaptures: {
3369
+ "0": {
3370
+ name: "punctuation.definition.string.end.c"
3371
+ }
3372
+ },
3373
+ name: "string.quoted.double.c",
3374
+ patterns: [
3375
+ {
3376
+ include: "#string_escaped_char"
3377
+ },
3378
+ {
3379
+ include: "#string_placeholder"
3380
+ },
3381
+ {
3382
+ include: "#line_continuation_character"
3383
+ }
3384
+ ]
3385
+ },
3386
+ {
3387
+ begin: "'",
3388
+ beginCaptures: {
3389
+ "0": {
3390
+ name: "punctuation.definition.string.begin.c"
3391
+ }
3392
+ },
3393
+ end: "'",
3394
+ endCaptures: {
3395
+ "0": {
3396
+ name: "punctuation.definition.string.end.c"
3397
+ }
3398
+ },
3399
+ name: "string.quoted.single.c",
3400
+ patterns: [
3401
+ {
3402
+ include: "#string_escaped_char"
3403
+ },
3404
+ {
3405
+ include: "#line_continuation_character"
3406
+ }
3407
+ ]
3408
+ }
3409
+ ]
3410
+ },
3411
+ switch_conditional_parentheses: {
3412
+ name: "meta.conditional.switch.c",
3413
+ begin: "((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))(\\()",
3414
+ beginCaptures: {
3415
+ "1": {
3416
+ patterns: [
3417
+ {
3418
+ include: "#inline_comment"
3419
+ }
3420
+ ]
3421
+ },
3422
+ "2": {
3423
+ name: "comment.block.c punctuation.definition.comment.begin.c"
3424
+ },
3425
+ "3": {
3426
+ name: "comment.block.c"
3427
+ },
3428
+ "4": {
3429
+ patterns: [
3430
+ {
3431
+ match: "\\*\\/",
3432
+ name: "comment.block.c punctuation.definition.comment.end.c"
3433
+ },
3434
+ {
3435
+ match: "\\*",
3436
+ name: "comment.block.c"
3437
+ }
3438
+ ]
3439
+ },
3440
+ "5": {
3441
+ name: "punctuation.section.parens.begin.bracket.round.conditional.switch.c"
3442
+ }
3443
+ },
3444
+ end: "(\\))",
3445
+ endCaptures: {
3446
+ "1": {
3447
+ name: "punctuation.section.parens.end.bracket.round.conditional.switch.c"
3448
+ }
3449
+ },
3450
+ patterns: [
3451
+ {
3452
+ include: "#evaluation_context"
3453
+ },
3454
+ {
3455
+ include: "#c_conditional_context"
3456
+ }
3457
+ ]
3458
+ },
3459
+ switch_statement: {
3460
+ name: "meta.block.switch.c",
3461
+ begin: "(((?>(?:(?:(?>(?<!\\s)\\s+)|(\\/\\*)((?>(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?<!\\w)switch(?!\\w)))",
3462
+ beginCaptures: {
3463
+ "1": {
3464
+ name: "meta.head.switch.c"
3465
+ },
3466
+ "2": {
3467
+ patterns: [
3468
+ {
3469
+ include: "#inline_comment"
3470
+ }
3471
+ ]
3472
+ },
3473
+ "3": {
3474
+ name: "comment.block.c punctuation.definition.comment.begin.c"
3475
+ },
3476
+ "4": {
3477
+ name: "comment.block.c"
3478
+ },
3479
+ "5": {
3480
+ patterns: [
3481
+ {
3482
+ match: "\\*\\/",
3483
+ name: "comment.block.c punctuation.definition.comment.end.c"
3484
+ },
3485
+ {
3486
+ match: "\\*",
3487
+ name: "comment.block.c"
3488
+ }
3489
+ ]
3490
+ },
3491
+ "6": {
3492
+ name: "keyword.control.switch.c"
3493
+ }
3494
+ },
3495
+ end: "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
3496
+ patterns: [
3497
+ {
3498
+ name: "meta.head.switch.c",
3499
+ begin: "\\G ?",
3500
+ end: "((?:\\{|<%|\\?\\?<|(?=;)))",
3501
+ endCaptures: {
3502
+ "1": {
3503
+ name: "punctuation.section.block.begin.bracket.curly.switch.c"
3504
+ }
3505
+ },
3506
+ patterns: [
3507
+ {
3508
+ include: "#switch_conditional_parentheses"
3509
+ },
3510
+ {
3511
+ include: "$self"
3512
+ }
3513
+ ]
3514
+ },
3515
+ {
3516
+ name: "meta.body.switch.c",
3517
+ begin: "(?<=\\{|<%|\\?\\?<)",
3518
+ end: "(\\}|%>|\\?\\?>)",
3519
+ endCaptures: {
3520
+ "1": {
3521
+ name: "punctuation.section.block.end.bracket.curly.switch.c"
3522
+ }
3523
+ },
3524
+ patterns: [
3525
+ {
3526
+ include: "#default_statement"
3527
+ },
3528
+ {
3529
+ include: "#case_statement"
3530
+ },
3531
+ {
3532
+ include: "$self"
3533
+ },
3534
+ {
3535
+ include: "#block_innards"
3536
+ }
3537
+ ]
3538
+ },
3539
+ {
3540
+ name: "meta.tail.switch.c",
3541
+ begin: "(?<=\\}|%>|\\?\\?>)[\\s\\n]*",
3542
+ end: "[\\s\\n]*(?=;)",
3543
+ patterns: [
3544
+ {
3545
+ include: "$self"
3546
+ }
3547
+ ]
3548
+ }
3549
+ ]
3550
+ },
3551
+ vararg_ellipses: {
3552
+ match: "(?<!\\.)\\.\\.\\.(?!\\.)",
3553
+ name: "punctuation.vararg-ellipses.c"
3554
+ }
3555
+ };
3556
+ var c_tmLanguage = {
3557
+ information_for_contributors: information_for_contributors,
3558
+ version: version,
3559
+ name: name,
3560
+ scopeName: scopeName,
3561
+ patterns: patterns,
3562
+ repository: repository
3563
+ };
3564
+
3565
+ export { c_tmLanguage as default, information_for_contributors, name, patterns, repository, scopeName, version };