@codingame/monaco-editor-wrapper 3.9.3 → 4.0.0-next.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 (537) hide show
  1. package/dist/C2Hs-configuration.json.js +3 -0
  2. package/dist/C2Hs.json.js +3 -0
  3. package/dist/COBOL.tmLanguage.json.js +3 -0
  4. package/dist/Erlang.plist.js +2 -1751
  5. package/dist/Hsc2Hs-configuration.json.js +3 -0
  6. package/dist/Hsc2Hs.json.js +3 -0
  7. package/dist/JavaProperties.tmLanguage.json.js +3 -0
  8. package/dist/Kotlin.tmLanguage.js +2 -723
  9. package/dist/META.json.js +3 -0
  10. package/dist/META.json2.js +3 -0
  11. package/dist/Markdown Redcarpet.json.js +3 -0
  12. package/dist/RMarkdown.json.js +3 -0
  13. package/dist/Rcpp.json.js +3 -0
  14. package/dist/Rd (R Documentation).json.js +3 -0
  15. package/dist/Scala.tmLanguage.json.js +3 -0
  16. package/dist/_commonjsHelpers.js +35 -0
  17. package/dist/_rollupPluginBabelHelpers.js +1 -1
  18. package/dist/add.svg.js +3 -0
  19. package/dist/add.svg2.js +3 -0
  20. package/dist/adddep-dark.svg.js +3 -0
  21. package/dist/adddep-light.svg.js +3 -0
  22. package/dist/alex.json.js +3 -0
  23. package/dist/angular-directives.json.js +3 -0
  24. package/dist/angular-interpolations.json.js +3 -0
  25. package/dist/angular-template-language-configuration.json.js +3 -0
  26. package/dist/arrow-circle-up-dark.svg.js +3 -0
  27. package/dist/arrow-circle-up-light.svg.js +3 -0
  28. package/dist/aspnetcorerazor.tmLanguage.json.js +3 -0
  29. package/dist/atd.json.js +3 -0
  30. package/dist/book-dark.svg.js +3 -0
  31. package/dist/book-light.svg.js +3 -0
  32. package/dist/book-open-dark.svg.js +3 -0
  33. package/dist/book-open-light.svg.js +3 -0
  34. package/dist/buildtarget.json.js +3 -0
  35. package/dist/cabal-configuration.json.js +3 -0
  36. package/dist/cabal.json.js +3 -0
  37. package/dist/codeblock-cabal.json.js +3 -0
  38. package/dist/codeblock-haskell.json.js +3 -0
  39. package/dist/codeblock-literate-haskell.json.js +3 -0
  40. package/dist/codeblock.json.js +3 -0
  41. package/dist/codeblock.json2.js +3 -0
  42. package/dist/configuration/index.d.ts +0 -1
  43. package/dist/cram.json.js +3 -0
  44. package/dist/csharp.json.js +3 -0
  45. package/dist/css.worker.js +1 -1
  46. package/dist/d.json.js +3 -0
  47. package/dist/d.json2.js +3 -0
  48. package/dist/dart-language-configuration.json.js +3 -0
  49. package/dist/dart.json.js +3 -0
  50. package/dist/dcf-configuration.json.js +3 -0
  51. package/dist/dcf.json.js +3 -0
  52. package/dist/diet.json.js +3 -0
  53. package/dist/diet.json2.js +3 -0
  54. package/dist/diet.json3.js +3 -0
  55. package/dist/django-html.tmLanguage.json.js +3 -0
  56. package/dist/django-txt.tmLanguage.json.js +3 -0
  57. package/dist/dml.json.js +3 -0
  58. package/dist/document-search-dark.svg.js +3 -0
  59. package/dist/document-search-light.svg.js +3 -0
  60. package/dist/documentation-inverse.svg.js +3 -0
  61. package/dist/documentation.svg.js +3 -0
  62. package/dist/dub-convert-inverse.svg.js +3 -0
  63. package/dist/dub-convert.svg.js +3 -0
  64. package/dist/dune-project.json.js +3 -0
  65. package/dist/dune-project.json2.js +3 -0
  66. package/dist/dune-workspace.json.js +3 -0
  67. package/dist/dune.json.js +3 -0
  68. package/dist/dune.json2.js +3 -0
  69. package/dist/dune.json3.js +3 -0
  70. package/dist/edit-dub-inverse.svg.js +3 -0
  71. package/dist/edit-dub.svg.js +3 -0
  72. package/dist/edit-source-inverse.svg.js +3 -0
  73. package/dist/edit-source.svg.js +3 -0
  74. package/dist/eex-language-configuration.json.js +3 -0
  75. package/dist/eex.json.js +3 -0
  76. package/dist/elixir-language-configuration.json.js +3 -0
  77. package/dist/elixir.json.js +3 -0
  78. package/dist/erlang.configuration.json.js +3 -0
  79. package/dist/erlang.json.js +3 -0
  80. package/dist/expression.json.js +3 -0
  81. package/dist/extension-web.js.js +3 -0
  82. package/dist/extension-web.js2.js +3 -0
  83. package/dist/extension.browser.js.js +3 -0
  84. package/dist/extensions.d.ts +35 -0
  85. package/dist/features/htmlContribution.js +0 -1
  86. package/dist/features/jsonContribution.d.ts +2 -4
  87. package/dist/features/jsonContribution.js +10 -29
  88. package/dist/features/typescriptContribution.js +2 -2
  89. package/dist/file_type_java.svg.js +3 -0
  90. package/dist/file_type_scala.svg.js +3 -0
  91. package/dist/filters.json.js +3 -0
  92. package/dist/focus-dark.svg.js +3 -0
  93. package/dist/focus-light.svg.js +3 -0
  94. package/dist/general.json.js +3 -0
  95. package/dist/get-inverse.svg.js +3 -0
  96. package/dist/get.svg.js +3 -0
  97. package/dist/go.json.js +3 -0
  98. package/dist/go.mod.language-configuration.json.js +3 -0
  99. package/dist/go.mod.tmGrammar.json.js +3 -0
  100. package/dist/go.sum.tmGrammar.json.js +3 -0
  101. package/dist/govulncheck.tmGrammar.json.js +3 -0
  102. package/dist/happy.json.js +3 -0
  103. package/dist/haskell-configuration.json.js +3 -0
  104. package/dist/haskell.json.js +3 -0
  105. package/dist/hot-reload-tb.png.js +3 -0
  106. package/dist/hot-reload.svg.js +3 -0
  107. package/dist/html-eex.json.js +3 -0
  108. package/dist/html.worker.js +1 -1
  109. package/dist/index.d.ts +2 -3
  110. package/dist/index.js +9 -6
  111. package/dist/index2.js +2 -1351
  112. package/dist/inline-styles.json.js +3 -0
  113. package/dist/inline-template.json.js +3 -0
  114. package/dist/inspector.svg.js +3 -0
  115. package/dist/java-properties-configuration.json.js +3 -0
  116. package/dist/java.json.js +3 -0
  117. package/dist/javascript.json.js +3 -0
  118. package/dist/json.worker.js +1 -1
  119. package/dist/jvm-bytecode-verbose.json.js +3 -0
  120. package/dist/jvm-bytecode.json.js +3 -0
  121. package/dist/kotlin.configuration.json.js +3 -0
  122. package/dist/kotlin.json.js +3 -0
  123. package/dist/lang-config.json.js +3 -0
  124. package/dist/language-configuration.json.js +3 -0
  125. package/dist/language-configuration.json2.js +3 -0
  126. package/dist/language-configuration.json3.js +3 -0
  127. package/dist/language-configuration.json4.js +3 -0
  128. package/dist/language-configuration.json5.js +3 -0
  129. package/dist/language-configuration.json6.js +3 -0
  130. package/dist/language-configuration.json7.js +3 -0
  131. package/dist/language-configuration.json8.js +3 -0
  132. package/dist/languages/index.d.ts +0 -2
  133. package/dist/literate-haskell-configuration.json.js +3 -0
  134. package/dist/literateHaskell.json.js +3 -0
  135. package/dist/main.js +839 -3115
  136. package/dist/markdown-svelte-css.json.js +3 -0
  137. package/dist/markdown-svelte-js.json.js +3 -0
  138. package/dist/markdown-svelte.json.js +3 -0
  139. package/dist/menhir-action.json.js +3 -0
  140. package/dist/menhir.json.js +3 -0
  141. package/dist/menhir.json2.js +3 -0
  142. package/dist/merlin.json.js +3 -0
  143. package/dist/monaco.d.ts +6 -9
  144. package/dist/oasis.json.js +3 -0
  145. package/dist/oasis.json2.js +3 -0
  146. package/dist/ocaml-markdown-codeblock.json.js +3 -0
  147. package/dist/ocaml.interface.json.js +3 -0
  148. package/dist/ocaml.json.js +3 -0
  149. package/dist/ocaml.json2.js +3 -0
  150. package/dist/ocaml.json3.js +3 -0
  151. package/dist/ocamlbuild.json.js +3 -0
  152. package/dist/ocamlbuild.json2.js +3 -0
  153. package/dist/ocamldoc.json.js +3 -0
  154. package/dist/ocamlformat.json.js +3 -0
  155. package/dist/ocamlformat.json2.js +3 -0
  156. package/dist/ocamllex.json.js +3 -0
  157. package/dist/ocamllex.json2.js +3 -0
  158. package/dist/ocamllex.json3.js +3 -0
  159. package/dist/opam-install.json.js +3 -0
  160. package/dist/opam-install.json2.js +3 -0
  161. package/dist/opam.json.js +3 -0
  162. package/dist/opam.json2.js +3 -0
  163. package/dist/outdated-inverse.svg.js +3 -0
  164. package/dist/outdated.svg.js +3 -0
  165. package/dist/pascal.configuration.json.js +3 -0
  166. package/dist/pascal.json.js +3 -0
  167. package/dist/pascal.tmLanguage.js +2 -168
  168. package/dist/performance.svg.js +3 -0
  169. package/dist/pgsql.tmLanguage.js +2 -283
  170. package/dist/pip-requirements.json.js +3 -0
  171. package/dist/pip-requirements.tmLanguage.json.js +3 -0
  172. package/dist/plus-dark.svg.js +3 -0
  173. package/dist/plus-light.svg.js +3 -0
  174. package/dist/postcss.json.js +3 -0
  175. package/dist/preview-right-dark.svg.js +3 -0
  176. package/dist/preview-right-light.svg.js +3 -0
  177. package/dist/pug-svelte-dotblock.json.js +3 -0
  178. package/dist/pug-svelte-tags.json.js +3 -0
  179. package/dist/pug-svelte.json.js +3 -0
  180. package/dist/r-configuration.json.js +3 -0
  181. package/dist/r-snippets.json.js +3 -0
  182. package/dist/r.json.js +3 -0
  183. package/dist/rbuildignore-configuration.json.js +3 -0
  184. package/dist/rbuildignore.json.js +3 -0
  185. package/dist/rd-configuration.json.js +3 -0
  186. package/dist/reason-markdown-codeblock.json.js +3 -0
  187. package/dist/reason.json.js +3 -0
  188. package/dist/reason.json2.js +3 -0
  189. package/dist/ref-group-by-type-dark.svg.js +3 -0
  190. package/dist/ref-group-by-type-light.svg.js +3 -0
  191. package/dist/ref-ungroup-by-type-dark.svg.js +3 -0
  192. package/dist/ref-ungroup-by-type-light.svg.js +3 -0
  193. package/dist/refresh-dark.svg.js +3 -0
  194. package/dist/refresh-dark.svg2.js +3 -0
  195. package/dist/refresh-light.svg.js +3 -0
  196. package/dist/refresh-light.svg2.js +3 -0
  197. package/dist/repl.svg.js +3 -0
  198. package/dist/repl.svg2.js +3 -0
  199. package/dist/rmarkdown.json2.js +3 -0
  200. package/dist/rmd-configuration.json.js +3 -0
  201. package/dist/rnamespace-configuration.json.js +3 -0
  202. package/dist/rnamespace.json.js +3 -0
  203. package/dist/save.svg.js +3 -0
  204. package/dist/save.svg2.js +3 -0
  205. package/dist/scalameta-logo.png.js +3 -0
  206. package/dist/sdl.json.js +3 -0
  207. package/dist/semanticdb.json.js +3 -0
  208. package/dist/services.d.ts +4 -0
  209. package/dist/solidity.configuration.json.js +3 -0
  210. package/dist/solidity.json.js +3 -0
  211. package/dist/solidity.json2.js +3 -0
  212. package/dist/svelte.json.js +3 -0
  213. package/dist/svelte.tmLanguage.json.js +3 -0
  214. package/dist/switch-impl-intf.dark.svg.js +3 -0
  215. package/dist/switch-impl-intf.light.svg.js +3 -0
  216. package/dist/systemverilog.json.js +3 -0
  217. package/dist/systemverilog.tmLanguage.json.js +3 -0
  218. package/dist/tags.json.js +3 -0
  219. package/dist/tasty.json.js +3 -0
  220. package/dist/tcl.json.js +3 -0
  221. package/dist/tcl.json2.js +3 -0
  222. package/dist/template.json.js +3 -0
  223. package/dist/theme/index.d.ts +1 -4
  224. package/dist/tools/EditorOpenHandlerRegistry.d.ts +3 -2
  225. package/dist/ts.worker.js +1 -1
  226. package/dist/typescript.json.js +3 -0
  227. package/dist/upgrade-inverse.svg.js +3 -0
  228. package/dist/upgrade.svg.js +3 -0
  229. package/dist/vim.js +37 -36
  230. package/dist/vs2019_dark.json.js +3 -0
  231. package/dist/vs2019_light.json.js +3 -0
  232. package/dist/worker.js +14 -2
  233. package/dist/x-dark.svg.js +3 -0
  234. package/dist/x-light.svg.js +3 -0
  235. package/package.json +40 -42
  236. package/stats.html +90 -1429
  237. package/dist/COBOL.tmLanguage.js +0 -172
  238. package/dist/HTML (Eex)2.js +0 -100
  239. package/dist/JSON.tmLanguage.js +0 -221
  240. package/dist/JSONC.tmLanguage.js +0 -221
  241. package/dist/JavaProperties.tmLanguage.js +0 -116
  242. package/dist/JavaScript.tmLanguage.js +0 -5929
  243. package/dist/JavaScriptReact.tmLanguage.js +0 -5929
  244. package/dist/META.js +0 -100
  245. package/dist/MagicPython.tmLanguage.js +0 -4221
  246. package/dist/MagicRegExp.tmLanguage.js +0 -505
  247. package/dist/Markdown Redcarpet.js +0 -221
  248. package/dist/RMarkdown.js +0 -25
  249. package/dist/Rcpp.js +0 -50
  250. package/dist/Rd (R Documentation).js +0 -131
  251. package/dist/Regular Expressions (JavaScript).tmLanguage.js +0 -166
  252. package/dist/Scala.tmLanguage.js +0 -1324
  253. package/dist/TypeScript.tmLanguage.js +0 -5680
  254. package/dist/TypeScriptReact.tmLanguage.js +0 -5929
  255. package/dist/angular.js +0 -62
  256. package/dist/asp-vb-net.tmlanguage.js +0 -247
  257. package/dist/aspnetcorerazor.js +0 -72
  258. package/dist/aspnetcorerazor.tmLanguage.js +0 -1825
  259. package/dist/atd.js +0 -110
  260. package/dist/atd2.js +0 -114
  261. package/dist/buildignore.r.js +0 -5
  262. package/dist/buildtarget.js +0 -53
  263. package/dist/c.js +0 -101
  264. package/dist/c.tmLanguage.js +0 -3565
  265. package/dist/cabal.js +0 -10
  266. package/dist/cabal.tmLanguage.js +0 -66
  267. package/dist/clojure.js +0 -68
  268. package/dist/clojure.tmLanguage.js +0 -439
  269. package/dist/cobol.js +0 -6
  270. package/dist/cobol2.js +0 -341
  271. package/dist/codeblock-cabal.js +0 -42
  272. package/dist/codeblock-haskell.js +0 -42
  273. package/dist/codeblock-literate-haskell.js +0 -42
  274. package/dist/codeblock.js +0 -59
  275. package/dist/codeblock2.js +0 -36
  276. package/dist/codeblock3.js +0 -95
  277. package/dist/coffeescript-coffeescript.code-snippets.js +0 -18
  278. package/dist/coffeescript.js +0 -91
  279. package/dist/coffeescript.tmLanguage.js +0 -1324
  280. package/dist/configuration/files.d.ts +0 -6
  281. package/dist/cpp-c.code-snippets.js +0 -18
  282. package/dist/cpp-cpp.code-snippets.js +0 -18
  283. package/dist/cpp.js +0 -101
  284. package/dist/cpp.tmLanguage.js +0 -16648
  285. package/dist/cpptools.js +0 -2631
  286. package/dist/cram.js +0 -257
  287. package/dist/csharp.js +0 -92
  288. package/dist/csharp.tmLanguage.js +0 -4992
  289. package/dist/css.js +0 -106
  290. package/dist/css.tmLanguage.js +0 -1873
  291. package/dist/cuda-cpp.js +0 -101
  292. package/dist/cuda-cpp.tmLanguage.js +0 -19993
  293. package/dist/d-diet.js +0 -92
  294. package/dist/d.js +0 -3212
  295. package/dist/d2.js +0 -97
  296. package/dist/d3.js +0 -609
  297. package/dist/dart.js +0 -543
  298. package/dist/dart2.js +0 -103
  299. package/dist/dart3.js +0 -1130
  300. package/dist/dcf.js +0 -93
  301. package/dist/debian-control.r.js +0 -69
  302. package/dist/diet.js +0 -758
  303. package/dist/diet2.js +0 -100
  304. package/dist/django-html.js +0 -155
  305. package/dist/django-html.tmLanguage.js +0 -715
  306. package/dist/django-txt.js +0 -155
  307. package/dist/django-txt.tmLanguage.js +0 -269
  308. package/dist/dml.js +0 -169
  309. package/dist/dml2.js +0 -90
  310. package/dist/dockercompose.js +0 -82
  311. package/dist/dpp.js +0 -97
  312. package/dist/dscript.js +0 -90
  313. package/dist/dune-project.js +0 -481
  314. package/dist/dune-project2.js +0 -65
  315. package/dist/dune-workspace.js +0 -298
  316. package/dist/dune-workspace2.js +0 -65
  317. package/dist/dune.js +0 -2962
  318. package/dist/dune2.js +0 -65
  319. package/dist/eex.js +0 -55
  320. package/dist/elixir-snippets.js +0 -184
  321. package/dist/elixir.js +0 -2341
  322. package/dist/elixir2.js +0 -69
  323. package/dist/elixir3.js +0 -40
  324. package/dist/erlang-erlang.js +0 -195
  325. package/dist/erlang.js +0 -81
  326. package/dist/erlang2.js +0 -86
  327. package/dist/expression.js +0 -846
  328. package/dist/features/extensionConfigurations.d.ts +0 -1
  329. package/dist/features/extensionConfigurations.js +0 -44
  330. package/dist/fsharp-fsharp.code-snippets.js +0 -18
  331. package/dist/fsharp.js +0 -80
  332. package/dist/fsharp.tmLanguage.js +0 -1844
  333. package/dist/go.js +0 -103
  334. package/dist/go.mod.js +0 -8
  335. package/dist/go.mod.tmGrammar.js +0 -182
  336. package/dist/go.sum.tmGrammar.js +0 -55
  337. package/dist/go.tmLanguage.js +0 -1025
  338. package/dist/go.work.js +0 -8
  339. package/dist/govulncheck.tmGrammar.js +0 -138
  340. package/dist/groovy-groovy.code-snippets.js +0 -229
  341. package/dist/groovy.js +0 -79
  342. package/dist/groovy.tmLanguage.js +0 -1391
  343. package/dist/haskell.js +0 -88
  344. package/dist/haskell.tmLanguage.js +0 -629
  345. package/dist/haskell2.js +0 -16
  346. package/dist/html (eex).js +0 -31
  347. package/dist/html-derivative.tmLanguage.js +0 -57
  348. package/dist/html-html.code-snippets.js +0 -20
  349. package/dist/html.js +0 -11
  350. package/dist/html.tmLanguage.js +0 -2652
  351. package/dist/html.tmLanguage2.js +0 -107
  352. package/dist/inline-styles.js +0 -104
  353. package/dist/inline-template.js +0 -88
  354. package/dist/jade.js +0 -11
  355. package/dist/java-java.js +0 -125
  356. package/dist/java-properties.js +0 -73
  357. package/dist/java.js +0 -98
  358. package/dist/java.tmLanguage.js +0 -1863
  359. package/dist/java2.js +0 -917
  360. package/dist/javascript-javascript.code-snippets.js +0 -205
  361. package/dist/javascript.js +0 -197
  362. package/dist/javascriptreact.js +0 -197
  363. package/dist/jsdoc.js.injection.tmLanguage.js +0 -32
  364. package/dist/jsdoc.ts.injection.tmLanguage.js +0 -32
  365. package/dist/json.js +0 -75
  366. package/dist/jsonc.js +0 -75
  367. package/dist/jsx-tags.js +0 -158
  368. package/dist/julia.js +0 -89
  369. package/dist/julia.tmLanguage.js +0 -954
  370. package/dist/jvm-bytecode-verbose.js +0 -1231
  371. package/dist/jvm-bytecode.js +0 -565
  372. package/dist/kotlin-kotlin.js +0 -117
  373. package/dist/kotlin.js +0 -103
  374. package/dist/kotlinscript.js +0 -103
  375. package/dist/languages/extensions/extensionConfigurationLoader.d.ts +0 -3
  376. package/dist/languages/extensions/grammarLoader.d.ts +0 -2
  377. package/dist/languages/extensions/languageConfigurationLoader.d.ts +0 -2
  378. package/dist/languages/extensions/snippetLoader.d.ts +0 -2
  379. package/dist/languages/extensions/themeLoader.d.ts +0 -2
  380. package/dist/languages/snippets/index.d.ts +0 -1
  381. package/dist/languages/textMate/index.d.ts +0 -1
  382. package/dist/languages/textMate/semanticTokens.d.ts +0 -1
  383. package/dist/literate haskell.js +0 -88
  384. package/dist/literateHaskell.tmLanguage.js +0 -70
  385. package/dist/lua.js +0 -84
  386. package/dist/lua.tmLanguage.js +0 -914
  387. package/dist/lua2.js +0 -2853
  388. package/dist/markdown-basics-markdown.code-snippets.js +0 -121
  389. package/dist/markdown-svelte-css.js +0 -37
  390. package/dist/markdown-svelte-js.js +0 -37
  391. package/dist/markdown-svelte.js +0 -59
  392. package/dist/markdown-vue.js +0 -54
  393. package/dist/markdown.js +0 -49
  394. package/dist/markdown.tmLanguage.js +0 -3042
  395. package/dist/menhir-action.js +0 -51
  396. package/dist/menhir.js +0 -597
  397. package/dist/merlin.js +0 -111
  398. package/dist/namespace.r.js +0 -88
  399. package/dist/oasis.js +0 -99
  400. package/dist/objective-c.js +0 -79
  401. package/dist/objective-c.tmLanguage.js +0 -3763
  402. package/dist/objective-cpp.js +0 -79
  403. package/dist/ocaml-dune-project.js +0 -38
  404. package/dist/ocaml-dune.js +0 -53
  405. package/dist/ocaml-markdown-codeblock.js +0 -42
  406. package/dist/ocaml-ocaml.js +0 -88
  407. package/dist/ocaml-ocamllex.js +0 -12
  408. package/dist/ocaml.META.js +0 -29
  409. package/dist/ocaml.interface.js +0 -292
  410. package/dist/ocaml.interface2.js +0 -114
  411. package/dist/ocaml.js +0 -903
  412. package/dist/ocaml.menhir.js +0 -81
  413. package/dist/ocaml.oasis.js +0 -18
  414. package/dist/ocaml.ocamlbuild.js +0 -45
  415. package/dist/ocaml.ocamlformat.js +0 -8
  416. package/dist/ocaml.ocamllex.js +0 -60
  417. package/dist/ocaml.opam-install.js +0 -49
  418. package/dist/ocaml.opam.js +0 -69
  419. package/dist/ocaml2.js +0 -114
  420. package/dist/ocaml3.js +0 -136
  421. package/dist/ocamlbuild.js +0 -189
  422. package/dist/ocamldoc.js +0 -54
  423. package/dist/ocamlformat.js +0 -206
  424. package/dist/ocamllex.js +0 -133
  425. package/dist/omnisharp-csharp.js +0 -508
  426. package/dist/omnisharp.js +0 -594
  427. package/dist/opam-install.js +0 -40
  428. package/dist/opam.js +0 -140
  429. package/dist/pascal-pascal.js +0 -382
  430. package/dist/pascal.js +0 -80
  431. package/dist/pascal2.js +0 -26
  432. package/dist/perl.js +0 -93
  433. package/dist/perl.tmLanguage.js +0 -2986
  434. package/dist/perl6.js +0 -86
  435. package/dist/perl6.tmLanguage.js +0 -323
  436. package/dist/php-php.code-snippets.js +0 -267
  437. package/dist/php.js +0 -154
  438. package/dist/php.tmLanguage.js +0 -4036
  439. package/dist/pip-requirements.js +0 -8
  440. package/dist/pip-requirements.tmLanguage.js +0 -89
  441. package/dist/plaintext.js +0 -11
  442. package/dist/platform.tmLanguage.js +0 -1135
  443. package/dist/postcss.src.yaml.js +0 -393
  444. package/dist/postgres.js +0 -80
  445. package/dist/postgresql.js +0 -75
  446. package/dist/powershell.js +0 -107
  447. package/dist/powershell.tmLanguage.js +0 -1037
  448. package/dist/pug-svelte-dotblock.js +0 -69
  449. package/dist/pug-svelte-tags.js +0 -215
  450. package/dist/pug-svelte.js +0 -307
  451. package/dist/python.js +0 -236
  452. package/dist/r.js +0 -664
  453. package/dist/r2.js +0 -88
  454. package/dist/rbuildignore.js +0 -39
  455. package/dist/rd.js +0 -81
  456. package/dist/reason-markdown-codeblock.js +0 -42
  457. package/dist/reason.js +0 -79
  458. package/dist/rmd.js +0 -84
  459. package/dist/rnamespace.js +0 -283
  460. package/dist/ruby.js +0 -95
  461. package/dist/ruby.tmLanguage.js +0 -2784
  462. package/dist/rust.js +0 -84
  463. package/dist/rust.tmLanguage.js +0 -1178
  464. package/dist/sassdoc.tmLanguage.js +0 -362
  465. package/dist/scala.js +0 -85
  466. package/dist/scalameta.js +0 -224
  467. package/dist/scss.js +0 -117
  468. package/dist/scss.tmLanguage.js +0 -1887
  469. package/dist/sdl.js +0 -162
  470. package/dist/sdl2.js +0 -90
  471. package/dist/semanticdb.js +0 -62
  472. package/dist/shell-unix-bash.tmLanguage.js +0 -2038
  473. package/dist/shellscript.js +0 -93
  474. package/dist/solargraph.js +0 -192
  475. package/dist/solidity-solidity.js +0 -213
  476. package/dist/solidity.js +0 -1224
  477. package/dist/solidity2.js +0 -71
  478. package/dist/solidity3.js +0 -143
  479. package/dist/sql.js +0 -99
  480. package/dist/sql.tmLanguage.js +0 -636
  481. package/dist/svelte.js +0 -120
  482. package/dist/svelte.svelte-vscode-javascript.js +0 -45
  483. package/dist/svelte.svelte-vscode-svelte.js +0 -46
  484. package/dist/svelte.svelte-vscode-typescript.js +0 -43
  485. package/dist/svelte.svelte-vscode.js +0 -383
  486. package/dist/svelte.tmLanguage.src.yaml.js +0 -1099
  487. package/dist/svlangserver-systemverilog.js +0 -395
  488. package/dist/svlangserver.js +0 -85
  489. package/dist/swift-swift.code-snippets.js +0 -183
  490. package/dist/swift.js +0 -90
  491. package/dist/swift.tmLanguage.js +0 -3312
  492. package/dist/systemverilog.js +0 -187
  493. package/dist/systemverilog.tmLanguage.js +0 -1259
  494. package/dist/tasty.js +0 -72
  495. package/dist/tcl-tcl.js +0 -151
  496. package/dist/tcl.js +0 -78
  497. package/dist/tcl.tmlanguage.yaml.js +0 -5490
  498. package/dist/template.js +0 -207
  499. package/dist/theme-defaults~dark_plus.js +0 -210
  500. package/dist/theme-defaults~dark_plus_experimental.js +0 -145
  501. package/dist/theme-defaults~dark_vs.js +0 -412
  502. package/dist/theme-defaults~hc_black.js +0 -471
  503. package/dist/theme-defaults~hc_light.js +0 -595
  504. package/dist/theme-defaults~light_plus.js +0 -212
  505. package/dist/theme-defaults~light_plus_experimental.js +0 -158
  506. package/dist/theme-defaults~light_vs.js +0 -441
  507. package/dist/typescript-basics-typescript.code-snippets.js +0 -313
  508. package/dist/typescript-language-features.js +0 -1103
  509. package/dist/typescript.js +0 -216
  510. package/dist/typescriptreact.js +0 -216
  511. package/dist/vb-vb.code-snippets.js +0 -88
  512. package/dist/vb.js +0 -79
  513. package/dist/verilog.js +0 -187
  514. package/dist/volar-vue.js +0 -289
  515. package/dist/vscode-R-r-snippets.js +0 -534
  516. package/dist/vscode-R-rmarkdown.js +0 -461
  517. package/dist/vscode-R.js +0 -660
  518. package/dist/vscode-django-filters.js +0 -340
  519. package/dist/vscode-django.js +0 -37
  520. package/dist/vscode-go-go.js +0 -276
  521. package/dist/vscode-go.js +0 -1610
  522. package/dist/vscode-groovy.js +0 -28
  523. package/dist/vscode-python.js +0 -706
  524. package/dist/vue-directives.js +0 -25
  525. package/dist/vue-interpolations.js +0 -25
  526. package/dist/vue-sfc-style-variable-injection.js +0 -63
  527. package/dist/vue.js +0 -151
  528. package/dist/vue.tmLanguage.js +0 -1218
  529. package/dist/xml.js +0 -116
  530. package/dist/xml.tmLanguage.js +0 -395
  531. package/dist/xsl.js +0 -39
  532. package/dist/xsl.tmLanguage.js +0 -102
  533. package/dist/yaml.js +0 -82
  534. package/dist/yaml.tmLanguage.js +0 -629
  535. /package/dist/{extensions → editor}/autofold.d.ts +0 -0
  536. /package/dist/{extensions → editor}/cobol.d.ts +0 -0
  537. /package/dist/{extensions → editor}/index.d.ts +0 -0
@@ -1,3565 +0,0 @@
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 };