@shikijs/langs 1.25.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 (637) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +7 -0
  3. package/dist/1c-query.d.mts +3 -0
  4. package/dist/1c-query.mjs +2 -0
  5. package/dist/1c.d.mts +3 -0
  6. package/dist/1c.mjs +2 -0
  7. package/dist/abap.d.mts +3 -0
  8. package/dist/abap.mjs +5 -0
  9. package/dist/actionscript-3.d.mts +3 -0
  10. package/dist/actionscript-3.mjs +5 -0
  11. package/dist/ada.d.mts +3 -0
  12. package/dist/ada.mjs +5 -0
  13. package/dist/adoc.d.mts +3 -0
  14. package/dist/adoc.mjs +2 -0
  15. package/dist/angular-expression.d.mts +3 -0
  16. package/dist/angular-expression.mjs +5 -0
  17. package/dist/angular-html.d.mts +3 -0
  18. package/dist/angular-html.mjs +16 -0
  19. package/dist/angular-inline-style.d.mts +3 -0
  20. package/dist/angular-inline-style.mjs +8 -0
  21. package/dist/angular-inline-template.d.mts +3 -0
  22. package/dist/angular-inline-template.mjs +10 -0
  23. package/dist/angular-let-declaration.d.mts +3 -0
  24. package/dist/angular-let-declaration.mjs +8 -0
  25. package/dist/angular-template-blocks.d.mts +3 -0
  26. package/dist/angular-template-blocks.mjs +10 -0
  27. package/dist/angular-template.d.mts +3 -0
  28. package/dist/angular-template.mjs +8 -0
  29. package/dist/angular-ts.d.mts +3 -0
  30. package/dist/angular-ts.mjs +18 -0
  31. package/dist/apache.d.mts +3 -0
  32. package/dist/apache.mjs +5 -0
  33. package/dist/apex.d.mts +3 -0
  34. package/dist/apex.mjs +5 -0
  35. package/dist/apl.d.mts +3 -0
  36. package/dist/apl.mjs +16 -0
  37. package/dist/applescript.d.mts +3 -0
  38. package/dist/applescript.mjs +5 -0
  39. package/dist/ara.d.mts +3 -0
  40. package/dist/ara.mjs +5 -0
  41. package/dist/asciidoc.d.mts +3 -0
  42. package/dist/asciidoc.mjs +5 -0
  43. package/dist/asm.d.mts +3 -0
  44. package/dist/asm.mjs +5 -0
  45. package/dist/astro.d.mts +3 -0
  46. package/dist/astro.mjs +16 -0
  47. package/dist/awk.d.mts +3 -0
  48. package/dist/awk.mjs +5 -0
  49. package/dist/ballerina.d.mts +3 -0
  50. package/dist/ballerina.mjs +5 -0
  51. package/dist/bash.d.mts +3 -0
  52. package/dist/bash.mjs +2 -0
  53. package/dist/bat.d.mts +3 -0
  54. package/dist/bat.mjs +5 -0
  55. package/dist/batch.d.mts +3 -0
  56. package/dist/batch.mjs +2 -0
  57. package/dist/be.d.mts +3 -0
  58. package/dist/be.mjs +2 -0
  59. package/dist/beancount.d.mts +3 -0
  60. package/dist/beancount.mjs +5 -0
  61. package/dist/berry.d.mts +3 -0
  62. package/dist/berry.mjs +5 -0
  63. package/dist/bibtex.d.mts +3 -0
  64. package/dist/bibtex.mjs +5 -0
  65. package/dist/bicep.d.mts +3 -0
  66. package/dist/bicep.mjs +5 -0
  67. package/dist/blade.d.mts +3 -0
  68. package/dist/blade.mjs +18 -0
  69. package/dist/bsl.d.mts +3 -0
  70. package/dist/bsl.mjs +8 -0
  71. package/dist/c.d.mts +3 -0
  72. package/dist/c.mjs +5 -0
  73. package/dist/cadence.d.mts +3 -0
  74. package/dist/cadence.mjs +5 -0
  75. package/dist/cairo.d.mts +3 -0
  76. package/dist/cairo.mjs +8 -0
  77. package/dist/cdc.d.mts +3 -0
  78. package/dist/cdc.mjs +2 -0
  79. package/dist/clarity.d.mts +3 -0
  80. package/dist/clarity.mjs +5 -0
  81. package/dist/clj.d.mts +3 -0
  82. package/dist/clj.mjs +2 -0
  83. package/dist/clojure.d.mts +3 -0
  84. package/dist/clojure.mjs +5 -0
  85. package/dist/closure-templates.d.mts +3 -0
  86. package/dist/closure-templates.mjs +2 -0
  87. package/dist/cmake.d.mts +3 -0
  88. package/dist/cmake.mjs +5 -0
  89. package/dist/cmd.d.mts +3 -0
  90. package/dist/cmd.mjs +2 -0
  91. package/dist/cobol.d.mts +3 -0
  92. package/dist/cobol.mjs +10 -0
  93. package/dist/codeowners.d.mts +3 -0
  94. package/dist/codeowners.mjs +5 -0
  95. package/dist/codeql.d.mts +3 -0
  96. package/dist/codeql.mjs +5 -0
  97. package/dist/coffee.d.mts +3 -0
  98. package/dist/coffee.mjs +8 -0
  99. package/dist/coffeescript.d.mts +3 -0
  100. package/dist/coffeescript.mjs +2 -0
  101. package/dist/common-lisp.d.mts +3 -0
  102. package/dist/common-lisp.mjs +5 -0
  103. package/dist/console.d.mts +3 -0
  104. package/dist/console.mjs +2 -0
  105. package/dist/coq.d.mts +3 -0
  106. package/dist/coq.mjs +5 -0
  107. package/dist/cpp-macro.d.mts +3 -0
  108. package/dist/cpp-macro.mjs +12 -0
  109. package/dist/cpp.d.mts +3 -0
  110. package/dist/cpp.mjs +14 -0
  111. package/dist/cql.d.mts +3 -0
  112. package/dist/cql.mjs +2 -0
  113. package/dist/crystal.d.mts +3 -0
  114. package/dist/crystal.mjs +18 -0
  115. package/dist/cs.d.mts +3 -0
  116. package/dist/cs.mjs +2 -0
  117. package/dist/csharp.d.mts +3 -0
  118. package/dist/csharp.mjs +5 -0
  119. package/dist/css.d.mts +3 -0
  120. package/dist/css.mjs +5 -0
  121. package/dist/csv.d.mts +3 -0
  122. package/dist/csv.mjs +5 -0
  123. package/dist/cue.d.mts +3 -0
  124. package/dist/cue.mjs +5 -0
  125. package/dist/cypher.d.mts +3 -0
  126. package/dist/cypher.mjs +5 -0
  127. package/dist/d.d.mts +3 -0
  128. package/dist/d.mjs +5 -0
  129. package/dist/dart.d.mts +3 -0
  130. package/dist/dart.mjs +5 -0
  131. package/dist/dax.d.mts +3 -0
  132. package/dist/dax.mjs +5 -0
  133. package/dist/desktop.d.mts +3 -0
  134. package/dist/desktop.mjs +5 -0
  135. package/dist/diff.d.mts +3 -0
  136. package/dist/diff.mjs +5 -0
  137. package/dist/docker.d.mts +3 -0
  138. package/dist/docker.mjs +5 -0
  139. package/dist/dockerfile.d.mts +3 -0
  140. package/dist/dockerfile.mjs +2 -0
  141. package/dist/dotenv.d.mts +3 -0
  142. package/dist/dotenv.mjs +5 -0
  143. package/dist/dream-maker.d.mts +3 -0
  144. package/dist/dream-maker.mjs +5 -0
  145. package/dist/edge.d.mts +3 -0
  146. package/dist/edge.mjs +12 -0
  147. package/dist/elisp.d.mts +3 -0
  148. package/dist/elisp.mjs +2 -0
  149. package/dist/elixir.d.mts +3 -0
  150. package/dist/elixir.mjs +8 -0
  151. package/dist/elm.d.mts +3 -0
  152. package/dist/elm.mjs +8 -0
  153. package/dist/emacs-lisp.d.mts +3 -0
  154. package/dist/emacs-lisp.mjs +5 -0
  155. package/dist/erb.d.mts +3 -0
  156. package/dist/erb.mjs +10 -0
  157. package/dist/erl.d.mts +3 -0
  158. package/dist/erl.mjs +2 -0
  159. package/dist/erlang.d.mts +3 -0
  160. package/dist/erlang.mjs +5 -0
  161. package/dist/es-tag-css.d.mts +3 -0
  162. package/dist/es-tag-css.mjs +12 -0
  163. package/dist/es-tag-glsl.d.mts +3 -0
  164. package/dist/es-tag-glsl.mjs +12 -0
  165. package/dist/es-tag-html.d.mts +3 -0
  166. package/dist/es-tag-html.mjs +12 -0
  167. package/dist/es-tag-sql.d.mts +3 -0
  168. package/dist/es-tag-sql.mjs +10 -0
  169. package/dist/es-tag-xml.d.mts +3 -0
  170. package/dist/es-tag-xml.mjs +8 -0
  171. package/dist/f.d.mts +3 -0
  172. package/dist/f.mjs +2 -0
  173. package/dist/f03.d.mts +3 -0
  174. package/dist/f03.mjs +2 -0
  175. package/dist/f08.d.mts +3 -0
  176. package/dist/f08.mjs +2 -0
  177. package/dist/f18.d.mts +3 -0
  178. package/dist/f18.mjs +2 -0
  179. package/dist/f77.d.mts +3 -0
  180. package/dist/f77.mjs +2 -0
  181. package/dist/f90.d.mts +3 -0
  182. package/dist/f90.mjs +2 -0
  183. package/dist/f95.d.mts +3 -0
  184. package/dist/f95.mjs +2 -0
  185. package/dist/fennel.d.mts +3 -0
  186. package/dist/fennel.mjs +5 -0
  187. package/dist/fish.d.mts +3 -0
  188. package/dist/fish.mjs +5 -0
  189. package/dist/fluent.d.mts +3 -0
  190. package/dist/fluent.mjs +5 -0
  191. package/dist/for.d.mts +3 -0
  192. package/dist/for.mjs +2 -0
  193. package/dist/fortran-fixed-form.d.mts +3 -0
  194. package/dist/fortran-fixed-form.mjs +8 -0
  195. package/dist/fortran-free-form.d.mts +3 -0
  196. package/dist/fortran-free-form.mjs +5 -0
  197. package/dist/fs.d.mts +3 -0
  198. package/dist/fs.mjs +2 -0
  199. package/dist/fsharp.d.mts +3 -0
  200. package/dist/fsharp.mjs +8 -0
  201. package/dist/fsl.d.mts +3 -0
  202. package/dist/fsl.mjs +2 -0
  203. package/dist/ftl.d.mts +3 -0
  204. package/dist/ftl.mjs +2 -0
  205. package/dist/gdresource.d.mts +3 -0
  206. package/dist/gdresource.mjs +10 -0
  207. package/dist/gdscript.d.mts +3 -0
  208. package/dist/gdscript.mjs +5 -0
  209. package/dist/gdshader.d.mts +3 -0
  210. package/dist/gdshader.mjs +5 -0
  211. package/dist/genie.d.mts +3 -0
  212. package/dist/genie.mjs +5 -0
  213. package/dist/gherkin.d.mts +3 -0
  214. package/dist/gherkin.mjs +5 -0
  215. package/dist/git-commit.d.mts +3 -0
  216. package/dist/git-commit.mjs +8 -0
  217. package/dist/git-rebase.d.mts +3 -0
  218. package/dist/git-rebase.mjs +8 -0
  219. package/dist/gjs.d.mts +3 -0
  220. package/dist/gjs.mjs +2 -0
  221. package/dist/gleam.d.mts +3 -0
  222. package/dist/gleam.mjs +5 -0
  223. package/dist/glimmer-js.d.mts +3 -0
  224. package/dist/glimmer-js.mjs +14 -0
  225. package/dist/glimmer-ts.d.mts +3 -0
  226. package/dist/glimmer-ts.mjs +14 -0
  227. package/dist/glsl.d.mts +3 -0
  228. package/dist/glsl.mjs +8 -0
  229. package/dist/gnuplot.d.mts +3 -0
  230. package/dist/gnuplot.mjs +5 -0
  231. package/dist/go.d.mts +3 -0
  232. package/dist/go.mjs +5 -0
  233. package/dist/gql.d.mts +3 -0
  234. package/dist/gql.mjs +2 -0
  235. package/dist/graphql.d.mts +3 -0
  236. package/dist/graphql.mjs +14 -0
  237. package/dist/groovy.d.mts +3 -0
  238. package/dist/groovy.mjs +5 -0
  239. package/dist/gts.d.mts +3 -0
  240. package/dist/gts.mjs +2 -0
  241. package/dist/hack.d.mts +3 -0
  242. package/dist/hack.mjs +10 -0
  243. package/dist/haml.d.mts +3 -0
  244. package/dist/haml.mjs +10 -0
  245. package/dist/handlebars.d.mts +3 -0
  246. package/dist/handlebars.mjs +14 -0
  247. package/dist/haskell.d.mts +3 -0
  248. package/dist/haskell.mjs +5 -0
  249. package/dist/haxe.d.mts +3 -0
  250. package/dist/haxe.mjs +5 -0
  251. package/dist/hbs.d.mts +3 -0
  252. package/dist/hbs.mjs +2 -0
  253. package/dist/hcl.d.mts +3 -0
  254. package/dist/hcl.mjs +5 -0
  255. package/dist/hjson.d.mts +3 -0
  256. package/dist/hjson.mjs +5 -0
  257. package/dist/hlsl.d.mts +3 -0
  258. package/dist/hlsl.mjs +5 -0
  259. package/dist/hs.d.mts +3 -0
  260. package/dist/hs.mjs +2 -0
  261. package/dist/html-derivative.d.mts +3 -0
  262. package/dist/html-derivative.mjs +8 -0
  263. package/dist/html.d.mts +3 -0
  264. package/dist/html.mjs +10 -0
  265. package/dist/http.d.mts +3 -0
  266. package/dist/http.mjs +14 -0
  267. package/dist/hxml.d.mts +3 -0
  268. package/dist/hxml.mjs +8 -0
  269. package/dist/hy.d.mts +3 -0
  270. package/dist/hy.mjs +5 -0
  271. package/dist/imba.d.mts +3 -0
  272. package/dist/imba.mjs +8 -0
  273. package/dist/index.d.mts +1 -0
  274. package/dist/index.mjs +239 -0
  275. package/dist/ini.d.mts +3 -0
  276. package/dist/ini.mjs +5 -0
  277. package/dist/jade.d.mts +3 -0
  278. package/dist/jade.mjs +2 -0
  279. package/dist/java.d.mts +3 -0
  280. package/dist/java.mjs +5 -0
  281. package/dist/javascript.d.mts +3 -0
  282. package/dist/javascript.mjs +5 -0
  283. package/dist/jinja-html.d.mts +3 -0
  284. package/dist/jinja-html.mjs +8 -0
  285. package/dist/jinja.d.mts +3 -0
  286. package/dist/jinja.mjs +8 -0
  287. package/dist/jison.d.mts +3 -0
  288. package/dist/jison.mjs +8 -0
  289. package/dist/jl.d.mts +3 -0
  290. package/dist/jl.mjs +2 -0
  291. package/dist/js.d.mts +3 -0
  292. package/dist/js.mjs +2 -0
  293. package/dist/json.d.mts +3 -0
  294. package/dist/json.mjs +5 -0
  295. package/dist/json5.d.mts +3 -0
  296. package/dist/json5.mjs +5 -0
  297. package/dist/jsonc.d.mts +3 -0
  298. package/dist/jsonc.mjs +5 -0
  299. package/dist/jsonl.d.mts +3 -0
  300. package/dist/jsonl.mjs +5 -0
  301. package/dist/jsonnet.d.mts +3 -0
  302. package/dist/jsonnet.mjs +5 -0
  303. package/dist/jssm.d.mts +3 -0
  304. package/dist/jssm.mjs +5 -0
  305. package/dist/jsx.d.mts +3 -0
  306. package/dist/jsx.mjs +5 -0
  307. package/dist/julia.d.mts +3 -0
  308. package/dist/julia.mjs +16 -0
  309. package/dist/kotlin.d.mts +3 -0
  310. package/dist/kotlin.mjs +5 -0
  311. package/dist/kql.d.mts +3 -0
  312. package/dist/kql.mjs +2 -0
  313. package/dist/kt.d.mts +3 -0
  314. package/dist/kt.mjs +2 -0
  315. package/dist/kts.d.mts +3 -0
  316. package/dist/kts.mjs +2 -0
  317. package/dist/kusto.d.mts +3 -0
  318. package/dist/kusto.mjs +5 -0
  319. package/dist/latex.d.mts +3 -0
  320. package/dist/latex.mjs +8 -0
  321. package/dist/lean.d.mts +3 -0
  322. package/dist/lean.mjs +5 -0
  323. package/dist/lean4.d.mts +3 -0
  324. package/dist/lean4.mjs +2 -0
  325. package/dist/less.d.mts +3 -0
  326. package/dist/less.mjs +5 -0
  327. package/dist/liquid.d.mts +3 -0
  328. package/dist/liquid.mjs +14 -0
  329. package/dist/lisp.d.mts +3 -0
  330. package/dist/lisp.mjs +2 -0
  331. package/dist/lit.d.mts +3 -0
  332. package/dist/lit.mjs +2 -0
  333. package/dist/log.d.mts +3 -0
  334. package/dist/log.mjs +5 -0
  335. package/dist/logo.d.mts +3 -0
  336. package/dist/logo.mjs +5 -0
  337. package/dist/lua.d.mts +3 -0
  338. package/dist/lua.mjs +8 -0
  339. package/dist/luau.d.mts +3 -0
  340. package/dist/luau.mjs +5 -0
  341. package/dist/make.d.mts +3 -0
  342. package/dist/make.mjs +5 -0
  343. package/dist/makefile.d.mts +3 -0
  344. package/dist/makefile.mjs +2 -0
  345. package/dist/markdown-vue.d.mts +3 -0
  346. package/dist/markdown-vue.mjs +5 -0
  347. package/dist/markdown.d.mts +3 -0
  348. package/dist/markdown.mjs +5 -0
  349. package/dist/marko.d.mts +3 -0
  350. package/dist/marko.mjs +14 -0
  351. package/dist/matlab.d.mts +3 -0
  352. package/dist/matlab.mjs +5 -0
  353. package/dist/md.d.mts +3 -0
  354. package/dist/md.mjs +2 -0
  355. package/dist/mdc.d.mts +3 -0
  356. package/dist/mdc.mjs +12 -0
  357. package/dist/mdx.d.mts +3 -0
  358. package/dist/mdx.mjs +5 -0
  359. package/dist/mediawiki.d.mts +3 -0
  360. package/dist/mediawiki.mjs +2 -0
  361. package/dist/mermaid.d.mts +3 -0
  362. package/dist/mermaid.mjs +5 -0
  363. package/dist/mips.d.mts +3 -0
  364. package/dist/mips.mjs +2 -0
  365. package/dist/mipsasm.d.mts +3 -0
  366. package/dist/mipsasm.mjs +5 -0
  367. package/dist/mmd.d.mts +3 -0
  368. package/dist/mmd.mjs +2 -0
  369. package/dist/mojo.d.mts +3 -0
  370. package/dist/mojo.mjs +5 -0
  371. package/dist/move.d.mts +3 -0
  372. package/dist/move.mjs +5 -0
  373. package/dist/nar.d.mts +3 -0
  374. package/dist/nar.mjs +2 -0
  375. package/dist/narrat.d.mts +3 -0
  376. package/dist/narrat.mjs +5 -0
  377. package/dist/nextflow.d.mts +3 -0
  378. package/dist/nextflow.mjs +5 -0
  379. package/dist/nf.d.mts +3 -0
  380. package/dist/nf.mjs +2 -0
  381. package/dist/nginx.d.mts +3 -0
  382. package/dist/nginx.mjs +8 -0
  383. package/dist/nim.d.mts +3 -0
  384. package/dist/nim.mjs +20 -0
  385. package/dist/nix.d.mts +3 -0
  386. package/dist/nix.mjs +5 -0
  387. package/dist/nu.d.mts +3 -0
  388. package/dist/nu.mjs +2 -0
  389. package/dist/nushell.d.mts +3 -0
  390. package/dist/nushell.mjs +5 -0
  391. package/dist/objc.d.mts +3 -0
  392. package/dist/objc.mjs +2 -0
  393. package/dist/objective-c.d.mts +3 -0
  394. package/dist/objective-c.mjs +5 -0
  395. package/dist/objective-cpp.d.mts +3 -0
  396. package/dist/objective-cpp.mjs +5 -0
  397. package/dist/ocaml.d.mts +3 -0
  398. package/dist/ocaml.mjs +5 -0
  399. package/dist/pascal.d.mts +3 -0
  400. package/dist/pascal.mjs +5 -0
  401. package/dist/perl.d.mts +3 -0
  402. package/dist/perl.mjs +16 -0
  403. package/dist/perl6.d.mts +3 -0
  404. package/dist/perl6.mjs +2 -0
  405. package/dist/php.d.mts +3 -0
  406. package/dist/php.mjs +18 -0
  407. package/dist/plsql.d.mts +3 -0
  408. package/dist/plsql.mjs +5 -0
  409. package/dist/po.d.mts +3 -0
  410. package/dist/po.mjs +5 -0
  411. package/dist/polar.d.mts +3 -0
  412. package/dist/polar.mjs +5 -0
  413. package/dist/postcss.d.mts +3 -0
  414. package/dist/postcss.mjs +5 -0
  415. package/dist/pot.d.mts +3 -0
  416. package/dist/pot.mjs +2 -0
  417. package/dist/potx.d.mts +3 -0
  418. package/dist/potx.mjs +2 -0
  419. package/dist/powerquery.d.mts +3 -0
  420. package/dist/powerquery.mjs +5 -0
  421. package/dist/powershell.d.mts +3 -0
  422. package/dist/powershell.mjs +5 -0
  423. package/dist/prisma.d.mts +3 -0
  424. package/dist/prisma.mjs +5 -0
  425. package/dist/prolog.d.mts +3 -0
  426. package/dist/prolog.mjs +5 -0
  427. package/dist/properties.d.mts +3 -0
  428. package/dist/properties.mjs +2 -0
  429. package/dist/proto.d.mts +3 -0
  430. package/dist/proto.mjs +5 -0
  431. package/dist/protobuf.d.mts +3 -0
  432. package/dist/protobuf.mjs +2 -0
  433. package/dist/ps.d.mts +3 -0
  434. package/dist/ps.mjs +2 -0
  435. package/dist/ps1.d.mts +3 -0
  436. package/dist/ps1.mjs +2 -0
  437. package/dist/pug.d.mts +3 -0
  438. package/dist/pug.mjs +12 -0
  439. package/dist/puppet.d.mts +3 -0
  440. package/dist/puppet.mjs +5 -0
  441. package/dist/purescript.d.mts +3 -0
  442. package/dist/purescript.mjs +5 -0
  443. package/dist/py.d.mts +3 -0
  444. package/dist/py.mjs +2 -0
  445. package/dist/python.d.mts +3 -0
  446. package/dist/python.mjs +5 -0
  447. package/dist/ql.d.mts +3 -0
  448. package/dist/ql.mjs +2 -0
  449. package/dist/qml.d.mts +3 -0
  450. package/dist/qml.mjs +8 -0
  451. package/dist/qmldir.d.mts +3 -0
  452. package/dist/qmldir.mjs +5 -0
  453. package/dist/qss.d.mts +3 -0
  454. package/dist/qss.mjs +5 -0
  455. package/dist/r.d.mts +3 -0
  456. package/dist/r.mjs +5 -0
  457. package/dist/racket.d.mts +3 -0
  458. package/dist/racket.mjs +5 -0
  459. package/dist/raku.d.mts +3 -0
  460. package/dist/raku.mjs +5 -0
  461. package/dist/razor.d.mts +3 -0
  462. package/dist/razor.mjs +10 -0
  463. package/dist/rb.d.mts +3 -0
  464. package/dist/rb.mjs +2 -0
  465. package/dist/reg.d.mts +3 -0
  466. package/dist/reg.mjs +5 -0
  467. package/dist/regex.d.mts +3 -0
  468. package/dist/regex.mjs +2 -0
  469. package/dist/regexp.d.mts +3 -0
  470. package/dist/regexp.mjs +5 -0
  471. package/dist/rel.d.mts +3 -0
  472. package/dist/rel.mjs +5 -0
  473. package/dist/riscv.d.mts +3 -0
  474. package/dist/riscv.mjs +5 -0
  475. package/dist/rs.d.mts +3 -0
  476. package/dist/rs.mjs +2 -0
  477. package/dist/rst.d.mts +3 -0
  478. package/dist/rst.mjs +22 -0
  479. package/dist/ruby.d.mts +3 -0
  480. package/dist/ruby.mjs +30 -0
  481. package/dist/rust.d.mts +3 -0
  482. package/dist/rust.mjs +5 -0
  483. package/dist/sas.d.mts +3 -0
  484. package/dist/sas.mjs +8 -0
  485. package/dist/sass.d.mts +3 -0
  486. package/dist/sass.mjs +5 -0
  487. package/dist/scala.d.mts +3 -0
  488. package/dist/scala.mjs +5 -0
  489. package/dist/scheme.d.mts +3 -0
  490. package/dist/scheme.mjs +5 -0
  491. package/dist/scss.d.mts +3 -0
  492. package/dist/scss.mjs +8 -0
  493. package/dist/sdbl.d.mts +3 -0
  494. package/dist/sdbl.mjs +5 -0
  495. package/dist/sh.d.mts +3 -0
  496. package/dist/sh.mjs +2 -0
  497. package/dist/shader.d.mts +3 -0
  498. package/dist/shader.mjs +2 -0
  499. package/dist/shaderlab.d.mts +3 -0
  500. package/dist/shaderlab.mjs +8 -0
  501. package/dist/shell.d.mts +3 -0
  502. package/dist/shell.mjs +2 -0
  503. package/dist/shellscript.d.mts +3 -0
  504. package/dist/shellscript.mjs +5 -0
  505. package/dist/shellsession.d.mts +3 -0
  506. package/dist/shellsession.mjs +8 -0
  507. package/dist/smalltalk.d.mts +3 -0
  508. package/dist/smalltalk.mjs +5 -0
  509. package/dist/solidity.d.mts +3 -0
  510. package/dist/solidity.mjs +5 -0
  511. package/dist/soy.d.mts +3 -0
  512. package/dist/soy.mjs +8 -0
  513. package/dist/sparql.d.mts +3 -0
  514. package/dist/sparql.mjs +8 -0
  515. package/dist/spl.d.mts +3 -0
  516. package/dist/spl.mjs +2 -0
  517. package/dist/splunk.d.mts +3 -0
  518. package/dist/splunk.mjs +5 -0
  519. package/dist/sql.d.mts +3 -0
  520. package/dist/sql.mjs +5 -0
  521. package/dist/ssh-config.d.mts +3 -0
  522. package/dist/ssh-config.mjs +5 -0
  523. package/dist/stata.d.mts +3 -0
  524. package/dist/stata.mjs +8 -0
  525. package/dist/styl.d.mts +3 -0
  526. package/dist/styl.mjs +2 -0
  527. package/dist/stylus.d.mts +3 -0
  528. package/dist/stylus.mjs +5 -0
  529. package/dist/svelte.d.mts +3 -0
  530. package/dist/svelte.mjs +14 -0
  531. package/dist/swift.d.mts +3 -0
  532. package/dist/swift.mjs +5 -0
  533. package/dist/system-verilog.d.mts +3 -0
  534. package/dist/system-verilog.mjs +5 -0
  535. package/dist/systemd.d.mts +3 -0
  536. package/dist/systemd.mjs +5 -0
  537. package/dist/talon.d.mts +3 -0
  538. package/dist/talon.mjs +2 -0
  539. package/dist/talonscript.d.mts +3 -0
  540. package/dist/talonscript.mjs +5 -0
  541. package/dist/tasl.d.mts +3 -0
  542. package/dist/tasl.mjs +5 -0
  543. package/dist/tcl.d.mts +3 -0
  544. package/dist/tcl.mjs +5 -0
  545. package/dist/templ.d.mts +3 -0
  546. package/dist/templ.mjs +12 -0
  547. package/dist/terraform.d.mts +3 -0
  548. package/dist/terraform.mjs +5 -0
  549. package/dist/tex.d.mts +3 -0
  550. package/dist/tex.mjs +8 -0
  551. package/dist/tf.d.mts +3 -0
  552. package/dist/tf.mjs +2 -0
  553. package/dist/tfvars.d.mts +3 -0
  554. package/dist/tfvars.mjs +2 -0
  555. package/dist/toml.d.mts +3 -0
  556. package/dist/toml.mjs +5 -0
  557. package/dist/ts-tags.d.mts +3 -0
  558. package/dist/ts-tags.mjs +18 -0
  559. package/dist/ts.d.mts +3 -0
  560. package/dist/ts.mjs +2 -0
  561. package/dist/tsp.d.mts +3 -0
  562. package/dist/tsp.mjs +2 -0
  563. package/dist/tsv.d.mts +3 -0
  564. package/dist/tsv.mjs +5 -0
  565. package/dist/tsx.d.mts +3 -0
  566. package/dist/tsx.mjs +5 -0
  567. package/dist/turtle.d.mts +3 -0
  568. package/dist/turtle.mjs +5 -0
  569. package/dist/twig.d.mts +3 -0
  570. package/dist/twig.mjs +18 -0
  571. package/dist/typ.d.mts +3 -0
  572. package/dist/typ.mjs +2 -0
  573. package/dist/typescript.d.mts +3 -0
  574. package/dist/typescript.mjs +5 -0
  575. package/dist/typespec.d.mts +3 -0
  576. package/dist/typespec.mjs +5 -0
  577. package/dist/typst.d.mts +3 -0
  578. package/dist/typst.mjs +5 -0
  579. package/dist/v.d.mts +3 -0
  580. package/dist/v.mjs +5 -0
  581. package/dist/vala.d.mts +3 -0
  582. package/dist/vala.mjs +5 -0
  583. package/dist/vb.d.mts +3 -0
  584. package/dist/vb.mjs +5 -0
  585. package/dist/verilog.d.mts +3 -0
  586. package/dist/verilog.mjs +5 -0
  587. package/dist/vhdl.d.mts +3 -0
  588. package/dist/vhdl.mjs +5 -0
  589. package/dist/vim.d.mts +3 -0
  590. package/dist/vim.mjs +2 -0
  591. package/dist/viml.d.mts +3 -0
  592. package/dist/viml.mjs +5 -0
  593. package/dist/vimscript.d.mts +3 -0
  594. package/dist/vimscript.mjs +2 -0
  595. package/dist/vue-directives.d.mts +3 -0
  596. package/dist/vue-directives.mjs +5 -0
  597. package/dist/vue-html.d.mts +3 -0
  598. package/dist/vue-html.mjs +10 -0
  599. package/dist/vue-interpolations.d.mts +3 -0
  600. package/dist/vue-interpolations.mjs +5 -0
  601. package/dist/vue-sfc-style-variable-injection.d.mts +3 -0
  602. package/dist/vue-sfc-style-variable-injection.mjs +8 -0
  603. package/dist/vue.d.mts +3 -0
  604. package/dist/vue.mjs +26 -0
  605. package/dist/vy.d.mts +3 -0
  606. package/dist/vy.mjs +2 -0
  607. package/dist/vyper.d.mts +3 -0
  608. package/dist/vyper.mjs +5 -0
  609. package/dist/wasm.d.mts +3 -0
  610. package/dist/wasm.mjs +5 -0
  611. package/dist/wenyan.d.mts +3 -0
  612. package/dist/wenyan.mjs +5 -0
  613. package/dist/wgsl.d.mts +3 -0
  614. package/dist/wgsl.mjs +5 -0
  615. package/dist/wiki.d.mts +3 -0
  616. package/dist/wiki.mjs +2 -0
  617. package/dist/wikitext.d.mts +3 -0
  618. package/dist/wikitext.mjs +5 -0
  619. package/dist/wl.d.mts +3 -0
  620. package/dist/wl.mjs +2 -0
  621. package/dist/wolfram.d.mts +3 -0
  622. package/dist/wolfram.mjs +5 -0
  623. package/dist/xml.d.mts +3 -0
  624. package/dist/xml.mjs +8 -0
  625. package/dist/xsl.d.mts +3 -0
  626. package/dist/xsl.mjs +8 -0
  627. package/dist/yaml.d.mts +3 -0
  628. package/dist/yaml.mjs +5 -0
  629. package/dist/yml.d.mts +3 -0
  630. package/dist/yml.mjs +2 -0
  631. package/dist/zenscript.d.mts +3 -0
  632. package/dist/zenscript.mjs +5 -0
  633. package/dist/zig.d.mts +3 -0
  634. package/dist/zig.mjs +5 -0
  635. package/dist/zsh.d.mts +3 -0
  636. package/dist/zsh.mjs +2 -0
  637. package/package.json +354 -0
package/dist/swift.mjs ADDED
@@ -0,0 +1,5 @@
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Swift\",\"name\":\"swift\",\"patterns\":[{\"include\":\"#root\"}],\"repository\":{\"async-throws\":{\"captures\":{\"1\":{\"name\":\"invalid.illegal.await-must-precede-throws.swift\"},\"2\":{\"name\":\"storage.modifier.exception.swift\"},\"3\":{\"name\":\"storage.modifier.async.swift\"}},\"match\":\"\\\\b(?:(throws\\\\s+async|rethrows\\\\s+async)|(throws|rethrows)|(async))\\\\b\"},\"attributes\":{\"patterns\":[{\"begin\":\"((@)available)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.attribute.swift\"},\"2\":{\"name\":\"punctuation.definition.attribute.swift\"},\"3\":{\"name\":\"punctuation.definition.arguments.begin.swift\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"name\":\"meta.attribute.available.swift\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.other.platform.os.swift\"},\"2\":{\"name\":\"constant.numeric.swift\"}},\"match\":\"\\\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b(?:\\\\s+(\\\\d+(?:\\\\.\\\\d+)*\\\\b))?\"},{\"begin\":\"\\\\b(introduced|deprecated|obsoleted)\\\\s*(:)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.swift\"},\"2\":{\"name\":\"punctuation.separator.key-value.swift\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"match\":\"\\\\b\\\\d+(?:\\\\.\\\\d+)*\\\\b\",\"name\":\"constant.numeric.swift\"}]},{\"begin\":\"\\\\b(message|renamed)\\\\s*(:)\\\\s*(?=\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.swift\"},\"2\":{\"name\":\"punctuation.separator.key-value.swift\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"include\":\"#literals\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.other.platform.all.swift\"},\"2\":{\"name\":\"keyword.other.swift\"},\"3\":{\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}},\"match\":\"(?:(\\\\*)|\\\\b(deprecated|unavailable|noasync)\\\\b)\\\\s*(.*?)(?=[,)])\"}]},{\"begin\":\"((@)objc)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.attribute.swift\"},\"2\":{\"name\":\"punctuation.definition.attribute.swift\"},\"3\":{\"name\":\"punctuation.definition.arguments.begin.swift\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"name\":\"meta.attribute.objc.swift\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"invalid.illegal.missing-colon-after-selector-piece.swift\"}},\"match\":\"\\\\w*(?::(?:\\\\w*:)*(\\\\w*))?\",\"name\":\"entity.name.function.swift\"}]},{\"begin\":\"(@)(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.attribute.swift\"},\"1\":{\"name\":\"punctuation.definition.attribute.swift\"},\"2\":{\"name\":\"punctuation.definition.identifier.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"comment\":\"any other attribute\",\"end\":\"(?!\\\\G\\\\()\",\"name\":\"meta.attribute.swift\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.begin.swift\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"name\":\"meta.arguments.attribute.swift\",\"patterns\":[{\"include\":\"#expressions\"}]}]}]},\"builtin-functions\":{\"patterns\":[{\"comment\":\"Member functions in the standard library in Swift 3 which may be used with trailing closures and no parentheses\",\"match\":\"(?<=\\\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a(?:p|x)))(?=\\\\s*[({])\\\\b\",\"name\":\"support.function.swift\"},{\"comment\":\"Member functions in the standard library in Swift 3\",\"match\":\"(?<=\\\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:Reference|OrPinnedReference)|as(?:Suffix|Prefix))|ne(?:gate(?:d)?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:RetainedValue|UnretainedValue)|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:Retained|Unretained)|re(?:decessor|fix))|e(?:scape(?:d)?|n(?:code|umerate(?:d)?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:BackwardFrom|From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:Range|Subrange)?|verse(?:d)?|quest(?:NativeBuffer|UniqueMutableBackingBuffer)|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\\\s*\\\\()\",\"name\":\"support.function.swift\"},{\"comment\":\"Member functions in the standard library in Swift 2 only\",\"match\":\"(?<=\\\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\\\s*\\\\()\",\"name\":\"support.function.swift\"}]},\"builtin-global-functions\":{\"patterns\":[{\"begin\":\"\\\\b(type)(\\\\()\\\\s*(of)(:)\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.dynamic-type.swift\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.swift\"},\"3\":{\"name\":\"support.variable.parameter.swift\"},\"4\":{\"name\":\"punctuation.separator.argument-label.begin.swift\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"patterns\":[{\"include\":\"#expressions\"}]},{\"comment\":\"Global functions available in Swift 3 which may be used with trailing closures and no parentheses\",\"match\":\"\\\\b(?:anyGenerator|autoreleasepool)(?=\\\\s*[({])\\\\b\",\"name\":\"support.function.swift\"},{\"comment\":\"Global functions available in Swift 3\",\"match\":\"\\\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:MutablePointer|Pointer)|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\\\s*\\\\()\",\"name\":\"support.function.swift\"},{\"comment\":\"Global functions available in Swift 2 only\",\"match\":\"\\\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:MutablePointers|Pointers)|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\\\s*\\\\()\",\"name\":\"support.function.swift\"}]},\"builtin-properties\":{\"patterns\":[{\"comment\":\"The simpler (?<=\\\\bProcess\\\\.|\\\\bCommandLine\\\\.) breaks VS Code / Atom, see https://github.com/textmate/swift.tmbundle/issues/29\",\"match\":\"(?<=^Process\\\\.|\\\\WProcess\\\\.|^CommandLine\\\\.|\\\\WCommandLine\\\\.)(arguments|argc|unsafeArgv)\",\"name\":\"support.variable.swift\"},{\"comment\":\"Properties in the standard library in Swift 3\",\"match\":\"(?<=\\\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:scription|bugDescription)|u(?:n(?:safelyUnwrapped|icodeScalar(?:s)?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|value(?:s)?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzeroMagnitude|rmalMagnitude)|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\\\b\",\"name\":\"support.variable.swift\"},{\"comment\":\"Properties in the standard library in Swift 2 only\",\"match\":\"(?<=\\\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\\\b\",\"name\":\"support.variable.swift\"},{\"comment\":\"Enum cases in the standard library - note that there is some overlap between these and the properties\",\"match\":\"(?<=\\\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\\\b\",\"name\":\"support.variable.swift\"}]},\"builtin-types\":{\"comment\":\"Types provided in the standard library\",\"patterns\":[{\"include\":\"#builtin-types-builtin-class-type\"},{\"include\":\"#builtin-types-builtin-enum-type\"},{\"include\":\"#builtin-types-builtin-protocol-type\"},{\"include\":\"#builtin-types-builtin-struct-type\"},{\"include\":\"#builtin-types-builtin-typealias\"},{\"match\":\"\\\\bAny\\\\b\",\"name\":\"support.type.any.swift\"}]},\"builtin-types-builtin-class-type\":{\"comment\":\"Builtin class types\",\"match\":\"\\\\b(Managed(Buffer|ProtoBuffer)|NonObjectiveCBase|AnyGenerator)\\\\b\",\"name\":\"support.class.swift\"},\"builtin-types-builtin-enum-type\":{\"patterns\":[{\"comment\":\"CommandLine is an enum, but it acts like a constant\",\"match\":\"\\\\b(?:CommandLine|Process(?=\\\\.))\\\\b\",\"name\":\"support.constant.swift\"},{\"comment\":\"The return type of a function that never returns\",\"match\":\"\\\\bNever\\\\b\",\"name\":\"support.constant.never.swift\"},{\"comment\":\"Enum types in the standard library in Swift 3\",\"match\":\"\\\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\\\b\",\"name\":\"support.type.swift\"},{\"comment\":\"Enum types in the standard library in Swift 2 only\",\"match\":\"\\\\b(?:MirrorDisposition|QuickLookObject)\\\\b\",\"name\":\"support.type.swift\"}]},\"builtin-types-builtin-protocol-type\":{\"patterns\":[{\"comment\":\"Protocols in the standard library in Swift 3\",\"match\":\"\\\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ideable|eamable)|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflectable|StringConvertible|DebugStringConvertible|PlaygroundQuickLookable|LeafReflectable)|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:SequenceProtocol|CollectionProtocol))|A(?:nyObject|bsoluteValuable))\\\\b\",\"name\":\"support.type.swift\"},{\"comment\":\"Protocols in the standard library in Swift 2 only\",\"match\":\"\\\\b(?:Ran(?:domAccessIndexType|geReplaceableCollectionType)|GeneratorType|M(?:irror(?:Type|PathType)|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperationsType|directionalIndexType)|oolean(?:Type|LiteralConvertible))|S(?:tring(?:InterpolationConvertible|LiteralConvertible)|i(?:nkType|gned(?:NumberType|IntegerType))|e(?:tAlgebraType|quenceType)|liceable)|NilLiteralConvertible|C(?:ollectionType|VarArgType)|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStreamType|ptionSetType)|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\\\b\",\"name\":\"support.type.swift\"}]},\"builtin-types-builtin-struct-type\":{\"patterns\":[{\"comment\":\"Structs in the standard library in Swift 3\",\"match\":\"\\\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccessSlice|BidirectionalSlice|Slice)|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccessSlice|geReplaceable(?:RandomAccessSlice|BidirectionalSlice|Slice))|BidirectionalSlice|Slice)|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:Generator|Iterator)?|o(?:Generator|Iterator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:Range|ClosedRange)|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Generator|Iterator))?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccessIndices|BidirectionalIndices|Indices))|U(?:n(?:safe(?:RawPointer|Mutable(?:RawPointer|BufferPointer|Pointer)|BufferPointer(?:Generator|Iterator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\\\b\",\"name\":\"support.type.swift\"},{\"comment\":\"Structs in the standard library in Swift 2 only\",\"match\":\"\\\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\\\b\",\"name\":\"support.type.swift\"}]},\"builtin-types-builtin-typealias\":{\"patterns\":[{\"comment\":\"Typealiases in the standard library in Swift 3\",\"match\":\"\\\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam(?:1|2)))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lement(?:s)?|x(?:tendedGraphemeCluster(?:Type|LiteralType)|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\\\b\",\"name\":\"support.type.swift\"},{\"comment\":\"Typealiases in the standard library in Swift 2 only\",\"match\":\"\\\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\\\b\",\"name\":\"support.type.swift\"}]},\"code-block\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.swift\"}},\"patterns\":[{\"include\":\"$self\"}]},\"comments\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.swift\"}},\"match\":\"\\\\A^(#!).*$\\\\n?\",\"name\":\"comment.line.number-sign.swift\"},{\"begin\":\"/\\\\*\\\\*(?!/)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.swift\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.swift\"}},\"name\":\"comment.block.documentation.swift\",\"patterns\":[{\"include\":\"#comments-nested\"}]},{\"begin\":\"/\\\\*:\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.swift\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.swift\"}},\"name\":\"comment.block.documentation.playground.swift\",\"patterns\":[{\"include\":\"#comments-nested\"}]},{\"begin\":\"/\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.swift\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.swift\"}},\"name\":\"comment.block.swift\",\"patterns\":[{\"include\":\"#comments-nested\"}]},{\"match\":\"\\\\*/\",\"name\":\"invalid.illegal.unexpected-end-of-block-comment.swift\"},{\"begin\":\"(^[ \\\\t]+)?(?=//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.swift\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"///\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.swift\"}},\"end\":\"$\",\"name\":\"comment.line.triple-slash.documentation.swift\"},{\"begin\":\"//:\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.swift\"}},\"end\":\"$\",\"name\":\"comment.line.double-slash.documentation.swift\"},{\"begin\":\"//\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.swift\"}},\"end\":\"$\",\"name\":\"comment.line.double-slash.swift\"}]}]},\"comments-nested\":{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"patterns\":[{\"include\":\"#comments-nested\"}]},\"compiler-control\":{\"patterns\":[{\"begin\":\"^\\\\s*(#)(if|elseif)\\\\s+(false)\\\\b.*?(?=$|//|/\\\\*)\",\"beginCaptures\":{\"0\":{\"name\":\"meta.preprocessor.conditional.swift\"},\"1\":{\"name\":\"punctuation.definition.preprocessor.swift\"},\"2\":{\"name\":\"keyword.control.import.preprocessor.conditional.swift\"},\"3\":{\"name\":\"constant.language.boolean.swift\"}},\"contentName\":\"comment.block.preprocessor.swift\",\"end\":\"(?=^\\\\s*(#(elseif|else|endif)\\\\b))\"},{\"begin\":\"^\\\\s*(#)(if|elseif)\\\\s+\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.preprocessor.swift\"},\"2\":{\"name\":\"keyword.control.import.preprocessor.conditional.swift\"}},\"end\":\"(?=\\\\s*(?://|/\\\\*))|$\",\"name\":\"meta.preprocessor.conditional.swift\",\"patterns\":[{\"match\":\"(&&|\\\\|\\\\|)\",\"name\":\"keyword.operator.logical.swift\"},{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.swift\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.condition.swift\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.swift\"},\"3\":{\"name\":\"support.constant.platform.architecture.swift\"},\"4\":{\"name\":\"punctuation.definition.parameters.end.swift\"}},\"match\":\"\\\\b(arch)\\\\s*(\\\\()\\\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\\\w+)\\\\s*(\\\\))\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.condition.swift\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.swift\"},\"3\":{\"name\":\"support.constant.platform.os.swift\"},\"4\":{\"name\":\"punctuation.definition.parameters.end.swift\"}},\"match\":\"\\\\b(os)\\\\s*(\\\\()\\\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\\\w+)\\\\s*(\\\\))\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.condition.swift\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.swift\"},\"3\":{\"name\":\"entity.name.type.module.swift\"},\"4\":{\"name\":\"punctuation.definition.parameters.end.swift\"}},\"match\":\"\\\\b(canImport)\\\\s*(\\\\()([\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*)(\\\\))\"},{\"begin\":\"\\\\b(targetEnvironment)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.condition.swift\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.swift\"}},\"end\":\"(\\\\))|$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.swift\"}},\"patterns\":[{\"match\":\"\\\\b(simulator|UIKitForMac)\\\\b\",\"name\":\"support.constant.platform.environment.swift\"}]},{\"begin\":\"\\\\b(swift|compiler)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.condition.swift\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.swift\"}},\"end\":\"(\\\\))|$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.swift\"}},\"patterns\":[{\"match\":\">=|<\",\"name\":\"keyword.operator.comparison.swift\"},{\"match\":\"\\\\b\\\\d+(?:\\\\.\\\\d+)*\\\\b\",\"name\":\"constant.numeric.swift\"}]}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.preprocessor.swift\"},\"2\":{\"name\":\"keyword.control.import.preprocessor.conditional.swift\"},\"3\":{\"patterns\":[{\"match\":\"\\\\S+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]}},\"match\":\"^\\\\s*(#)(else|endif)(.*?)(?=$|//|/\\\\*)\",\"name\":\"meta.preprocessor.conditional.swift\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.preprocessor.swift\"},\"2\":{\"name\":\"keyword.control.import.preprocessor.sourcelocation.swift\"},\"4\":{\"name\":\"punctuation.definition.parameters.begin.swift\"},\"5\":{\"patterns\":[{\"begin\":\"(file)\\\\s*(:)\\\\s*(?=\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"support.variable.parameter.swift\"},\"2\":{\"name\":\"punctuation.separator.key-value.swift\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"include\":\"#literals\"}]},{\"captures\":{\"1\":{\"name\":\"support.variable.parameter.swift\"},\"2\":{\"name\":\"punctuation.separator.key-value.swift\"},\"3\":{\"name\":\"constant.numeric.integer.swift\"}},\"match\":\"(line)\\\\s*(:)\\\\s*(\\\\d+)\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameters.swift\"},{\"match\":\"\\\\S+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]},\"6\":{\"name\":\"punctuation.definition.parameters.begin.swift\"},\"7\":{\"patterns\":[{\"match\":\"\\\\S+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]}},\"match\":\"^\\\\s*(#)(sourceLocation)((\\\\()([^)]*)(\\\\)))(.*?)(?=$|//|/\\\\*)\",\"name\":\"meta.preprocessor.sourcelocation.swift\"}]},\"conditionals\":{\"patterns\":[{\"begin\":\"(?<!\\\\.)\\\\b(if|guard|switch|for)\\\\b\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#keywords\"}]}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#expressions-without-trailing-closures\"}]},{\"begin\":\"(?<!\\\\.)\\\\b(while)\\\\b\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#keywords\"}]}},\"comment\":\"while can be the end of a repeat-while statement so doesn't necessarily have braces after it\",\"end\":\"(?=\\\\{)|$\",\"patterns\":[{\"include\":\"#expressions-without-trailing-closures\"}]}]},\"declarations\":{\"patterns\":[{\"include\":\"#declarations-function\"},{\"include\":\"#declarations-function-initializer\"},{\"include\":\"#declarations-function-subscript\"},{\"include\":\"#declarations-typed-variable-declaration\"},{\"include\":\"#declarations-import\"},{\"include\":\"#declarations-operator\"},{\"include\":\"#declarations-precedencegroup\"},{\"include\":\"#declarations-protocol\"},{\"include\":\"#declarations-type\"},{\"include\":\"#declarations-extension\"},{\"include\":\"#declarations-typealias\"},{\"include\":\"#declarations-macro\"}]},\"declarations-available-types\":{\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#builtin-types\"},{\"include\":\"#attributes\"},{\"match\":\"\\\\basync\\\\b\",\"name\":\"storage.modifier.async.swift\"},{\"match\":\"\\\\b(?:throws|rethrows)\\\\b\",\"name\":\"storage.modifier.exception.swift\"},{\"match\":\"\\\\bsome\\\\b\",\"name\":\"keyword.other.operator.type.opaque.swift\"},{\"match\":\"\\\\bany\\\\b\",\"name\":\"keyword.other.operator.type.existential.swift\"},{\"match\":\"\\\\b(?:repeat|each)\\\\b\",\"name\":\"keyword.control.loop.swift\"},{\"match\":\"\\\\b(?:inout|isolated|borrowing|consuming)\\\\b\",\"name\":\"storage.modifier.swift\"},{\"match\":\"\\\\bSelf\\\\b\",\"name\":\"variable.language.swift\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.type.function.swift\"}},\"match\":\"(?<![/=\\\\-+!*%<>&|\\\\^~.])(->)(?![/=\\\\-+!*%<>&|\\\\^~.])\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.type.composition.swift\"}},\"comment\":\"Swift 3: A & B\",\"match\":\"(?<![/=\\\\-+!*%<>&|\\\\^~.])(&)(?![/=\\\\-+!*%<>&|\\\\^~.])\"},{\"match\":\"[?!]\",\"name\":\"keyword.operator.type.optional.swift\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.function.variadic-parameter.swift\"},{\"comment\":\"Swift 2: protocol<A, B>\",\"match\":\"\\\\bprotocol\\\\b\",\"name\":\"keyword.other.type.composition.swift\"},{\"match\":\"(?<=\\\\.)(?:Protocol|Type)\\\\b\",\"name\":\"keyword.other.type.metatype.swift\"},{\"include\":\"#declarations-available-types-tuple-type\"},{\"include\":\"#declarations-available-types-collection-type\"},{\"include\":\"#declarations-generic-argument-clause\"}]},\"declarations-available-types-collection-type\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.collection-type.begin.swift\"}},\"comment\":\"array and dictionary types [Value] and [Key: Value]\",\"end\":\"\\\\]|(?=[>){}])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.collection-type.end.swift\"}},\"patterns\":[{\"include\":\"#declarations-available-types\"},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.key-value.swift\"}},\"end\":\"(?=\\\\]|[>){}])\",\"patterns\":[{\"match\":\":\",\"name\":\"invalid.illegal.extra-colon-in-dictionary-type.swift\"},{\"include\":\"#declarations-available-types\"}]}]},\"declarations-available-types-tuple-type\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tuple-type.begin.swift\"}},\"end\":\"\\\\)|(?=[>\\\\]{}])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tuple-type.end.swift\"}},\"patterns\":[{\"include\":\"#declarations-available-types\"}]},\"declarations-extension\":{\"begin\":\"\\\\b(extension)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.$1.swift\"},\"2\":{\"name\":\"entity.name.type.swift\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?<=\\\\})\",\"name\":\"meta.definition.type.$1.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"comment\":\"SE-0143: Conditional Conformances\",\"include\":\"#declarations-generic-where-clause\"},{\"include\":\"#declarations-inheritance-clause\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.end.swift\"}},\"name\":\"meta.definition.type.body.swift\",\"patterns\":[{\"include\":\"$self\"}]}]},\"declarations-function\":{\"begin\":\"\\\\b(func)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)|(?:((?<oph>[/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}])(\\\\g<oph>|(?<opc>[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)+)))\\\\s*(?=\\\\(|<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.swift\"},\"2\":{\"name\":\"entity.name.function.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?<=\\\\})|$\",\"name\":\"meta.definition.function.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"include\":\"#declarations-parameter-clause\"},{\"include\":\"#declarations-function-result\"},{\"include\":\"#async-throws\"},{\"comment\":\"Swift 3: generic constraints after the parameters and return type\",\"include\":\"#declarations-generic-where-clause\"},{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.swift\"}},\"end\":\"(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.end.swift\"}},\"name\":\"meta.definition.function.body.swift\",\"patterns\":[{\"include\":\"$self\"}]}]},\"declarations-function-initializer\":{\"begin\":\"(?<!\\\\.)\\\\b(init[?!]*)\\\\s*(?=\\\\(|<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.swift\",\"patterns\":[{\"match\":\"(?<=[?!])[?!]+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]}},\"end\":\"(?<=\\\\})|$\",\"name\":\"meta.definition.function.initializer.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"include\":\"#declarations-parameter-clause\"},{\"include\":\"#async-throws\"},{\"comment\":\"Swift 3: generic constraints after the parameters and return type\",\"include\":\"#declarations-generic-where-clause\"},{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.swift\"}},\"end\":\"(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.end.swift\"}},\"name\":\"meta.definition.function.body.swift\",\"patterns\":[{\"include\":\"$self\"}]}]},\"declarations-function-result\":{\"begin\":\"(?<![/=\\\\-+!*%<>&|\\\\^~.])(->)(?![/=\\\\-+!*%<>&|\\\\^~.])\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.function-result.swift\"}},\"end\":\"(?!\\\\G)(?=\\\\{|\\\\bwhere\\\\b|;|=)|$\",\"name\":\"meta.function-result.swift\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]},\"declarations-function-subscript\":{\"begin\":\"(?<!\\\\.)\\\\b(subscript)\\\\s*(?=\\\\(|<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.swift\"}},\"end\":\"(?<=\\\\})|$\",\"name\":\"meta.definition.function.subscript.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"include\":\"#declarations-parameter-clause\"},{\"include\":\"#declarations-function-result\"},{\"include\":\"#async-throws\"},{\"include\":\"#declarations-generic-where-clause\"},{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.swift\"}},\"end\":\"(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.end.swift\"}},\"name\":\"meta.definition.function.body.swift\",\"patterns\":[{\"include\":\"$self\"}]}]},\"declarations-generic-argument-clause\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.generic-argument-clause.begin.swift\"}},\"end\":\">|(?=[)\\\\]{}])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.generic-argument-clause.end.swift\"}},\"name\":\"meta.generic-argument-clause.swift\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]},\"declarations-generic-parameter-clause\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.generic-parameter-clause.begin.swift\"}},\"end\":\">|(?=[^\\\\w\\\\d:<>\\\\s,=&`])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.generic-parameter-clause.end.swift\"}},\"name\":\"meta.generic-parameter-clause.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"comment\":\"Swift 2: constraints inside the generic param list\",\"include\":\"#declarations-generic-where-clause\"},{\"match\":\"\\\\beach\\\\b\",\"name\":\"keyword.control.loop.swift\"},{\"captures\":{\"1\":{\"name\":\"variable.language.generic-parameter.swift\"}},\"match\":\"\\\\b((?!\\\\d)\\\\w[\\\\w\\\\d]*)\\\\b\"},{\"match\":\",\",\"name\":\"punctuation.separator.generic-parameters.swift\"},{\"begin\":\"(:)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.generic-parameter-constraint.swift\"}},\"end\":\"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)\",\"name\":\"meta.generic-parameter-constraint.swift\",\"patterns\":[{\"begin\":\"\\\\G\",\"end\":\"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)\",\"name\":\"entity.other.inherited-class.swift\",\"patterns\":[{\"include\":\"#declarations-type-identifier\"},{\"include\":\"#declarations-type-operators\"}]}]}]},\"declarations-generic-where-clause\":{\"begin\":\"\\\\b(where)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.generic-constraint-introducer.swift\"}},\"end\":\"(?!\\\\G)$|(?=[>{};\\\\n]|//|/\\\\*)\",\"name\":\"meta.generic-where-clause.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-where-clause-requirement-list\"}]},\"declarations-generic-where-clause-requirement-list\":{\"begin\":\"\\\\G|,\\\\s*\",\"end\":\"(?=[,>{};\\\\n]|//|/\\\\*)\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#constraint\"},{\"include\":\"#declarations-available-types\"},{\"begin\":\"(?<![/=\\\\-+!*%<>&|\\\\^~.])(==)(?![/=\\\\-+!*%<>&|\\\\^~.])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.generic-constraint.same-type.swift\"}},\"end\":\"(?=\\\\s*[,>{};\\\\n]|//|/\\\\*)\",\"name\":\"meta.generic-where-clause.same-type-requirement.swift\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]},{\"begin\":\"(?<![/=\\\\-+!*%<>&|\\\\^~.])(:)(?![/=\\\\-+!*%<>&|\\\\^~.])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.generic-constraint.conforms-to.swift\"}},\"end\":\"(?=\\\\s*[,>{};\\\\n]|//|/\\\\*)\",\"name\":\"meta.generic-where-clause.conformance-requirement.swift\",\"patterns\":[{\"begin\":\"\\\\G\\\\s*\",\"contentName\":\"entity.other.inherited-class.swift\",\"end\":\"(?=\\\\s*[,>{};\\\\n]|//|/\\\\*)\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]}]}]},\"declarations-import\":{\"begin\":\"(?<!\\\\.)\\\\b(import)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.swift\"}},\"end\":\"(;)|$\\\\n?|(?=//|/\\\\*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.swift\"}},\"name\":\"meta.import.swift\",\"patterns\":[{\"begin\":\"\\\\G(?!;|$|//|/\\\\*)(?:(typealias|struct|class|actor|enum|protocol|var|func)\\\\s+)?\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.swift\"}},\"end\":\"(?=;|$|//|/\\\\*)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.identifier.swift\"},\"2\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"match\":\"(?<=\\\\G|\\\\.)(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)\",\"name\":\"entity.name.type.swift\"},{\"match\":\"(?<=\\\\G|\\\\.)\\\\$\\\\d+\",\"name\":\"entity.name.type.swift\"},{\"captures\":{\"1\":{\"patterns\":[{\"match\":\"\\\\.\",\"name\":\"invalid.illegal.dot-not-allowed-here.swift\"}]}},\"match\":\"(?<=\\\\G|\\\\.)(?:((?<oph>[/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}])(\\\\g<oph>|(?<opc>[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)+))(?=\\\\.|;|$|//|/\\\\*|\\\\s)\",\"name\":\"entity.name.type.swift\"},{\"match\":\"\\\\.\",\"name\":\"punctuation.separator.import.swift\"},{\"begin\":\"(?!\\\\s*(;|$|//|/\\\\*))\",\"end\":\"(?=\\\\s*(;|$|//|/\\\\*))\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]}]},\"declarations-inheritance-clause\":{\"begin\":\"(:)(?=\\\\s*\\\\{)|(:)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"invalid.illegal.empty-inheritance-clause.swift\"},\"2\":{\"name\":\"punctuation.separator.inheritance-clause.swift\"}},\"end\":\"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)\",\"name\":\"meta.inheritance-clause.swift\",\"patterns\":[{\"begin\":\"\\\\bclass\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.class.swift\"}},\"end\":\"(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-inheritance-clause-more-types\"}]},{\"begin\":\"\\\\G\",\"end\":\"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-inheritance-clause-inherited-type\"},{\"include\":\"#declarations-inheritance-clause-more-types\"},{\"include\":\"#declarations-type-operators\"}]}]},\"declarations-inheritance-clause-inherited-type\":{\"begin\":\"(?=[`\\\\p{L}_])\",\"end\":\"(?!\\\\G)\",\"name\":\"entity.other.inherited-class.swift\",\"patterns\":[{\"include\":\"#declarations-type-identifier\"}]},\"declarations-inheritance-clause-more-types\":{\"begin\":\",\\\\s*\",\"end\":\"(?!\\\\G)(?!//|/\\\\*)|(?=[,={}]|(?!\\\\G)\\\\bwhere\\\\b)\",\"name\":\"meta.inheritance-list.more-types\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-inheritance-clause-inherited-type\"},{\"include\":\"#declarations-inheritance-clause-more-types\"},{\"include\":\"#declarations-type-operators\"}]},\"declarations-macro\":{\"begin\":\"\\\\b(macro)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(?=\\\\(|<|=)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.swift\"},\"2\":{\"name\":\"entity.name.function.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"$|(?=;|//|/\\\\*|\\\\}|=)\",\"name\":\"meta.definition.macro.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"include\":\"#declarations-parameter-clause\"},{\"include\":\"#declarations-function-result\"},{\"include\":\"#async-throws\"},{\"comment\":\"Swift 3: generic constraints after the parameters and return type\",\"include\":\"#declarations-generic-where-clause\"}]},\"declarations-operator\":{\"begin\":\"(?:\\\\b(prefix|infix|postfix)\\\\s+)?\\\\b(operator)\\\\s+(((?<oph>[/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}])(\\\\g<oph>|\\\\.|(?<opc>[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))*+)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)++))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.swift\"},\"2\":{\"name\":\"storage.type.function.operator.swift\"},\"3\":{\"name\":\"entity.name.function.operator.swift\"},\"4\":{\"comment\":\"workaround for https://github.com/microsoft/vscode-textmate/issues/140#issuecomment-1793610346\",\"name\":\"entity.name.function.operator.swift\",\"patterns\":[{\"match\":\"\\\\.\",\"name\":\"invalid.illegal.dot-not-allowed-here.swift\"}]}},\"end\":\"(;)|$\\\\n?|(?=//|/\\\\*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.swift\"}},\"name\":\"meta.definition.operator.swift\",\"patterns\":[{\"include\":\"#declarations-operator-swift2\"},{\"include\":\"#declarations-operator-swift3\"},{\"match\":\"((?!$|;|//|/\\\\*)\\\\S)+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]},\"declarations-operator-swift2\":{\"begin\":\"\\\\G(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.operator.begin.swift\"}},\"end\":\"(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.operator.end.swift\"}},\"patterns\":[{\"include\":\"#comments\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.swift\"},\"2\":{\"name\":\"keyword.other.operator.associativity.swift\"}},\"match\":\"\\\\b(associativity)\\\\s+(left|right)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.swift\"},\"2\":{\"name\":\"constant.numeric.integer.swift\"}},\"match\":\"\\\\b(precedence)\\\\s+(\\\\d+)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.swift\"}},\"match\":\"\\\\b(assignment)\\\\b\"}]},\"declarations-operator-swift3\":{\"captures\":{\"2\":{\"name\":\"entity.other.inherited-class.swift\",\"patterns\":[{\"include\":\"#declarations-types-precedencegroup\"}]},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"match\":\"\\\\G(:)\\\\s*((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\"},\"declarations-parameter-clause\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.swift\"}},\"end\":\"(\\\\))(?:\\\\s*(async)\\\\b)?\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.swift\"},\"2\":{\"name\":\"storage.modifier.async.swift\"}},\"name\":\"meta.parameter-clause.swift\",\"patterns\":[{\"include\":\"#declarations-parameter-list\"}]},\"declarations-parameter-list\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.swift\"},\"2\":{\"name\":\"punctuation.definition.identifier.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"variable.parameter.function.swift\"},\"5\":{\"name\":\"punctuation.definition.identifier.swift\"},\"6\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"comment\":\"External parameter labels are considered part of the function name\",\"match\":\"((?<q1>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q1>))\\\\s+((?<q2>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q2>))(?=\\\\s*:)\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.function.swift\"},\"2\":{\"name\":\"entity.name.function.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"comment\":\"If no external label is given, the name is both the external label and the internal variable name\",\"match\":\"(((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)))(?=\\\\s*:)\"},{\"begin\":\":\\\\s*(?!\\\\s)\",\"end\":\"(?=[,)])\",\"patterns\":[{\"include\":\"#declarations-available-types\"},{\"match\":\":\",\"name\":\"invalid.illegal.extra-colon-in-parameter-list.swift\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.swift\"}},\"comment\":\"a parameter's default value\",\"end\":\"(?=[,)])\",\"patterns\":[{\"include\":\"#expressions\"}]}]}]},\"declarations-precedencegroup\":{\"begin\":\"\\\\b(precedencegroup)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.precedencegroup.swift\"},\"2\":{\"name\":\"entity.name.type.precedencegroup.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?!\\\\G)\",\"name\":\"meta.definition.precedencegroup.swift\",\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.precedencegroup.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.precedencegroup.end.swift\"}},\"patterns\":[{\"include\":\"#comments\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.swift\"},\"2\":{\"name\":\"entity.other.inherited-class.swift\",\"patterns\":[{\"include\":\"#declarations-types-precedencegroup\"}]},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"match\":\"\\\\b(higherThan|lowerThan)\\\\s*:\\\\s*((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.swift\"},\"2\":{\"name\":\"keyword.other.operator.associativity.swift\"}},\"match\":\"\\\\b(associativity)\\\\b(?:\\\\s*:\\\\s*(right|left|none)\\\\b)?\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.swift\"},\"2\":{\"name\":\"constant.language.boolean.swift\"}},\"match\":\"\\\\b(assignment)\\\\b(?:\\\\s*:\\\\s*(true|false)\\\\b)?\"}]}]},\"declarations-protocol\":{\"begin\":\"\\\\b(protocol)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.$1.swift\"},\"2\":{\"name\":\"entity.name.type.$1.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?<=\\\\})\",\"name\":\"meta.definition.type.protocol.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-inheritance-clause\"},{\"comment\":\"SE-0142: Permit where clauses to constrain associated types\",\"include\":\"#declarations-generic-where-clause\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.end.swift\"}},\"name\":\"meta.definition.type.body.swift\",\"patterns\":[{\"include\":\"#declarations-protocol-protocol-method\"},{\"include\":\"#declarations-protocol-protocol-initializer\"},{\"include\":\"#declarations-protocol-associated-type\"},{\"include\":\"$self\"}]}]},\"declarations-protocol-associated-type\":{\"begin\":\"\\\\b(associatedtype)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.declaration-specifier.swift\"},\"2\":{\"name\":\"variable.language.associatedtype.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?!\\\\G)$|(?=[;}]|$)\",\"name\":\"meta.definition.associatedtype.swift\",\"patterns\":[{\"include\":\"#declarations-inheritance-clause\"},{\"comment\":\"SE-0142: Permit where clauses to constrain associated types\",\"include\":\"#declarations-generic-where-clause\"},{\"include\":\"#declarations-typealias-assignment\"}]},\"declarations-protocol-protocol-initializer\":{\"begin\":\"(?<!\\\\.)\\\\b(init[?!]*)\\\\s*(?=\\\\(|<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.swift\",\"patterns\":[{\"match\":\"(?<=[?!])[?!]+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]}},\"end\":\"$|(?=;|//|/\\\\*|\\\\})\",\"name\":\"meta.definition.function.initializer.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"include\":\"#declarations-parameter-clause\"},{\"include\":\"#async-throws\"},{\"comment\":\"Swift 3: generic constraints after the parameters and return type\",\"include\":\"#declarations-generic-where-clause\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.function.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.function.end.swift\"}},\"name\":\"invalid.illegal.function-body-not-allowed-in-protocol.swift\",\"patterns\":[{\"include\":\"$self\"}]}]},\"declarations-protocol-protocol-method\":{\"begin\":\"\\\\b(func)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)|(?:((?<oph>[/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}])(\\\\g<oph>|(?<opc>[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)+)))\\\\s*(?=\\\\(|<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.swift\"},\"2\":{\"name\":\"entity.name.function.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"$|(?=;|//|/\\\\*|\\\\})\",\"name\":\"meta.definition.function.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"include\":\"#declarations-parameter-clause\"},{\"include\":\"#declarations-function-result\"},{\"include\":\"#async-throws\"},{\"comment\":\"Swift 3: generic constraints after the parameters and return type\",\"include\":\"#declarations-generic-where-clause\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.function.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.function.end.swift\"}},\"name\":\"invalid.illegal.function-body-not-allowed-in-protocol.swift\",\"patterns\":[{\"include\":\"$self\"}]}]},\"declarations-type\":{\"patterns\":[{\"begin\":\"\\\\b(class(?!\\\\s+(?:func|var|let)\\\\b)|struct|actor)\\\\b\\\\s*((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.$1.swift\"},\"2\":{\"name\":\"entity.name.type.$1.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?<=\\\\})\",\"name\":\"meta.definition.type.$1.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"comment\":\"Swift 3: generic constraints after the generic param list\",\"include\":\"#declarations-generic-where-clause\"},{\"include\":\"#declarations-inheritance-clause\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.end.swift\"}},\"name\":\"meta.definition.type.body.swift\",\"patterns\":[{\"include\":\"$self\"}]}]},{\"include\":\"#declarations-type-enum\"}]},\"declarations-type-enum\":{\"begin\":\"\\\\b(enum)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.$1.swift\"},\"2\":{\"name\":\"entity.name.type.$1.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?<=\\\\})\",\"name\":\"meta.definition.type.$1.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"comment\":\"Swift 3: generic constraints after the generic param list\",\"include\":\"#declarations-generic-where-clause\"},{\"include\":\"#declarations-inheritance-clause\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.end.swift\"}},\"name\":\"meta.definition.type.body.swift\",\"patterns\":[{\"include\":\"#declarations-type-enum-enum-case-clause\"},{\"include\":\"$self\"}]}]},\"declarations-type-enum-associated-values\":{\"begin\":\"\\\\G\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.swift\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.swift\"}},\"patterns\":[{\"include\":\"#comments\"},{\"begin\":\"(?:(_)|((?<q1>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*\\\\k<q1>))\\\\s+(((?<q2>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*\\\\k<q2>))\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.swift\"},\"2\":{\"name\":\"invalid.illegal.distinct-labels-not-allowed.swift\"},\"5\":{\"name\":\"variable.parameter.function.swift\"},\"7\":{\"name\":\"punctuation.separator.argument-label.swift\"}},\"end\":\"(?=[,)\\\\]])\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]},{\"begin\":\"(((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*\\\\k<q>))\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.swift\"},\"2\":{\"name\":\"variable.parameter.function.swift\"},\"4\":{\"name\":\"punctuation.separator.argument-label.swift\"}},\"end\":\"(?=[,)\\\\]])\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]},{\"begin\":\"(?![,)\\\\]])(?=\\\\S)\",\"comment\":\"an element without a label (i.e. anything else)\",\"end\":\"(?=[,)\\\\]])\",\"patterns\":[{\"include\":\"#declarations-available-types\"},{\"match\":\":\",\"name\":\"invalid.illegal.extra-colon-in-parameter-list.swift\"}]}]},\"declarations-type-enum-enum-case\":{\"begin\":\"((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.enummember.swift\"}},\"end\":\"(?<=\\\\))|(?![=(])\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-type-enum-associated-values\"},{\"include\":\"#declarations-type-enum-raw-value-assignment\"}]},\"declarations-type-enum-enum-case-clause\":{\"begin\":\"\\\\b(case)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.enum.case.swift\"}},\"end\":\"(?=[;}])|(?!\\\\G)(?!//|/\\\\*)(?=[^\\\\s,])\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-type-enum-enum-case\"},{\"include\":\"#declarations-type-enum-more-cases\"}]},\"declarations-type-enum-more-cases\":{\"begin\":\",\\\\s*\",\"end\":\"(?!\\\\G)(?!//|/\\\\*)(?=[;}]|[^\\\\s,])\",\"name\":\"meta.enum-case.more-cases\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-type-enum-enum-case\"},{\"include\":\"#declarations-type-enum-more-cases\"}]},\"declarations-type-enum-raw-value-assignment\":{\"begin\":\"(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.swift\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#literals\"}]},\"declarations-type-identifier\":{\"begin\":\"((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"meta.type-name.swift\",\"patterns\":[{\"include\":\"#builtin-types\"}]},\"2\":{\"name\":\"punctuation.definition.identifier.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?!<)\",\"patterns\":[{\"begin\":\"(?=<)\",\"end\":\"(?!\\\\G)\",\"patterns\":[{\"include\":\"#declarations-generic-argument-clause\"}]}]},\"declarations-type-operators\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.type.composition.swift\"}},\"comment\":\"Swift 3: A & B\",\"match\":\"(?<![/=\\\\-+!*%<>&|\\\\^~.])(&)(?![/=\\\\-+!*%<>&|\\\\^~.])\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.type.requirement-suppression.swift\"}},\"comment\":\"SE-0390: Noncopyable structs and enums\",\"match\":\"(?<![/=\\\\-+!*%<>&|\\\\^~.])(~)(?![/=\\\\-+!*%<>&|\\\\^~.])\"}]},\"declarations-typealias\":{\"begin\":\"\\\\b(typealias)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.declaration-specifier.swift\"},\"2\":{\"name\":\"entity.name.type.typealias.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?!\\\\G)$|(?=;|//|/\\\\*|$)\",\"name\":\"meta.definition.typealias.swift\",\"patterns\":[{\"begin\":\"\\\\G(?=<)\",\"end\":\"(?!\\\\G)\",\"patterns\":[{\"include\":\"#declarations-generic-parameter-clause\"}]},{\"include\":\"#declarations-typealias-assignment\"}]},\"declarations-typealias-assignment\":{\"begin\":\"(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.swift\"}},\"end\":\"(?!\\\\G)$|(?=;|//|/\\\\*|$)\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]},\"declarations-typed-variable-declaration\":{\"begin\":\"\\\\b(?:(async)\\\\s+)?(let|var)\\\\b\\\\s+(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)\\\\s*:\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.swift\"},\"2\":{\"name\":\"keyword.other.declaration-specifier.swift\"}},\"end\":\"(?=$|[={])\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]},\"declarations-types-precedencegroup\":{\"patterns\":[{\"comment\":\"Precedence groups in the standard library\",\"match\":\"\\\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\\\b\",\"name\":\"support.type.swift\"}]},\"expressions\":{\"comment\":\"trailing closures need to be parsed before other member references\",\"patterns\":[{\"include\":\"#expressions-without-trailing-closures-or-member-references\"},{\"include\":\"#expressions-trailing-closure\"},{\"include\":\"#member-reference\"}]},\"expressions-trailing-closure\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"support.function.any-method.swift\"},\"2\":{\"name\":\"punctuation.definition.identifier.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"comment\":\"foo { body } -- a call with a trailing closure and no argument clause\",\"match\":\"(#?(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))(?=\\\\s*\\\\{)\",\"name\":\"meta.function-call.trailing-closure-only.swift\"},{\"captures\":{\"1\":{\"name\":\"support.function.any-method.trailing-closure-label.swift\"},\"2\":{\"name\":\"punctuation.definition.identifier.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.separator.argument-label.swift\"}},\"comment\":\"foo: { body } -- labeled-trailing-closure (SE-0279)\",\"match\":\"((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(:)(?=\\\\s*\\\\{)\"}]},\"expressions-without-trailing-closures\":{\"patterns\":[{\"include\":\"#expressions-without-trailing-closures-or-member-references\"},{\"include\":\"#member-references\"}]},\"expressions-without-trailing-closures-or-member-references\":{\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#code-block\"},{\"include\":\"#attributes\"},{\"include\":\"#expressions-without-trailing-closures-or-member-references-closure-parameter\"},{\"include\":\"#literals\"},{\"include\":\"#operators\"},{\"include\":\"#builtin-types\"},{\"include\":\"#builtin-functions\"},{\"include\":\"#builtin-global-functions\"},{\"include\":\"#builtin-properties\"},{\"include\":\"#expressions-without-trailing-closures-or-member-references-compound-name\"},{\"include\":\"#conditionals\"},{\"include\":\"#keywords\"},{\"include\":\"#expressions-without-trailing-closures-or-member-references-availability-condition\"},{\"include\":\"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression\"},{\"include\":\"#expressions-without-trailing-closures-or-member-references-macro-expansion\"},{\"include\":\"#expressions-without-trailing-closures-or-member-references-subscript-expression\"},{\"include\":\"#expressions-without-trailing-closures-or-member-references-parenthesized-expression\"},{\"match\":\"\\\\b_\\\\b\",\"name\":\"support.variable.discard-value.swift\"}]},\"expressions-without-trailing-closures-or-member-references-availability-condition\":{\"begin\":\"\\\\B(#(?:un)?available)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.availability-condition.swift\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.swift\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.other.platform.os.swift\"},\"2\":{\"name\":\"constant.numeric.swift\"}},\"match\":\"\\\\s*\\\\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b(?:\\\\s+(\\\\d+(?:\\\\.\\\\d+)*\\\\b))\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.platform.all.swift\"},\"2\":{\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}},\"match\":\"(\\\\*)\\\\s*(.*?)(?=[,)])\"},{\"match\":\"[^\\\\s,)]+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]},\"expressions-without-trailing-closures-or-member-references-closure-parameter\":{\"match\":\"\\\\$\\\\d+\",\"name\":\"variable.language.closure-parameter.swift\"},\"expressions-without-trailing-closures-or-member-references-compound-name\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.compound-name.swift\"},\"2\":{\"name\":\"punctuation.definition.entity.swift\"},\"3\":{\"name\":\"punctuation.definition.entity.swift\"},\"4\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.swift\"},\"2\":{\"name\":\"punctuation.definition.entity.swift\"}},\"match\":\"(?<q>`?)(?!_:)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>):\",\"name\":\"entity.name.function.compound-name.swift\"}]}},\"comment\":\"a reference to a function with disambiguating argument labels, such as foo(_:), foo(bar:), etc.\",\"match\":\"((?<q1>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q1>))\\\\(((((?<q2>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q2>)):)+)\\\\)\"},\"expressions-without-trailing-closures-or-member-references-expression-element-list\":{\"patterns\":[{\"include\":\"#comments\"},{\"begin\":\"((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.any-method.swift\"},\"2\":{\"name\":\"punctuation.definition.identifier.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.separator.argument-label.swift\"}},\"comment\":\"an element with a label\",\"end\":\"(?=[,)\\\\]])\",\"patterns\":[{\"include\":\"#expressions\"}]},{\"begin\":\"(?![,)\\\\]])(?=\\\\S)\",\"comment\":\"an element without a label (i.e. anything else)\",\"end\":\"(?=[,)\\\\]])\",\"patterns\":[{\"include\":\"#expressions\"}]}]},\"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression\":{\"patterns\":[{\"begin\":\"(#?(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.any-method.swift\"},\"2\":{\"name\":\"punctuation.definition.identifier.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.arguments.begin.swift\"}},\"comment\":\"foo(args) -- a call whose callee is a highlightable name\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"name\":\"meta.function-call.swift\",\"patterns\":[{\"include\":\"#expressions-without-trailing-closures-or-member-references-expression-element-list\"}]},{\"begin\":\"(?<=[`\\\\])}>\\\\p{L}_\\\\p{N}\\\\p{M}])\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.begin.swift\"}},\"comment\":\"[Int](args) -- a call whose callee is a more complicated expression\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"name\":\"meta.function-call.swift\",\"patterns\":[{\"include\":\"#expressions-without-trailing-closures-or-member-references-expression-element-list\"}]}]},\"expressions-without-trailing-closures-or-member-references-macro-expansion\":{\"match\":\"(#(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\",\"name\":\"support.function.any-method.swift\"},\"expressions-without-trailing-closures-or-member-references-parenthesized-expression\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tuple.begin.swift\"}},\"comment\":\"correctly matching closure expressions is too hard (depends on trailing \\\"in\\\") so we just tack on some basics to the end of parenthesized-expression\",\"end\":\"(\\\\))\\\\s*((?:\\\\b(?:async|throws|rethrows)\\\\s)*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.tuple.end.swift\"},\"2\":{\"patterns\":[{\"match\":\"\\\\brethrows\\\\b\",\"name\":\"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift\"},{\"include\":\"#async-throws\"}]}},\"patterns\":[{\"include\":\"#expressions-without-trailing-closures-or-member-references-expression-element-list\"}]},\"expressions-without-trailing-closures-or-member-references-subscript-expression\":{\"begin\":\"(?<=[`\\\\p{L}_\\\\p{N}\\\\p{M}])\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.begin.swift\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"name\":\"meta.subscript-expression.swift\",\"patterns\":[{\"include\":\"#expressions-without-trailing-closures-or-member-references-expression-element-list\"}]},\"keywords\":{\"patterns\":[{\"match\":\"(?<!\\\\.)\\\\b(?:if|else|guard|where|switch|case|default|fallthrough)\\\\b\",\"name\":\"keyword.control.branch.swift\"},{\"match\":\"(?<!\\\\.)\\\\b(?:continue|break|fallthrough|return)\\\\b\",\"name\":\"keyword.control.transfer.swift\"},{\"match\":\"(?<!\\\\.)\\\\b(?:while|for|in|each)\\\\b\",\"name\":\"keyword.control.loop.swift\"},{\"match\":\"\\\\bany\\\\b(?=\\\\s*`?[\\\\p{L}_])\",\"name\":\"keyword.other.operator.type.existential.swift\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.loop.swift\"},\"2\":{\"name\":\"punctuation.whitespace.trailing.repeat.swift\"}},\"comment\":\"extra scopes for repeat-while snippet\",\"match\":\"(?<!\\\\.)\\\\b(repeat)\\\\b(\\\\s*)\"},{\"match\":\"(?<!\\\\.)\\\\bdefer\\\\b\",\"name\":\"keyword.control.defer.swift\"},{\"captures\":{\"1\":{\"name\":\"invalid.illegal.try-must-precede-await.swift\"},\"2\":{\"name\":\"keyword.control.await.swift\"}},\"match\":\"(?<!\\\\.)\\\\b(?:(await\\\\s+try)|(await))\\\\b\"},{\"match\":\"(?<!\\\\.)\\\\b(?:catch|throw|try)\\\\b|\\\\btry[?!]\\\\B\",\"name\":\"keyword.control.exception.swift\"},{\"match\":\"(?<!\\\\.)\\\\b(?:throws|rethrows)\\\\b\",\"name\":\"storage.modifier.exception.swift\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.exception.swift\"},\"2\":{\"name\":\"punctuation.whitespace.trailing.do.swift\"}},\"comment\":\"extra scopes for do-catch snippet\",\"match\":\"(?<!\\\\.)\\\\b(do)\\\\b(\\\\s*)\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.async.swift\"},\"2\":{\"name\":\"keyword.other.declaration-specifier.swift\"}},\"match\":\"(?<!\\\\.)\\\\b(?:(async)\\\\s+)?(let|var)\\\\b\"},{\"match\":\"(?<!\\\\.)\\\\b(?:associatedtype|operator|typealias)\\\\b\",\"name\":\"keyword.other.declaration-specifier.swift\"},{\"match\":\"(?<!\\\\.)\\\\b(class|enum|extension|precedencegroup|protocol|struct|actor)\\\\b(?=\\\\s*`?[\\\\p{L}_])\",\"name\":\"storage.type.$1.swift\"},{\"match\":\"(?<!\\\\.)\\\\b(?:inout|static|final|lazy|mutating|nonmutating|optional|indirect|required|override|dynamic|convenience|infix|prefix|postfix|distributed|nonisolated|borrowing|consuming)\\\\b\",\"name\":\"storage.modifier.swift\"},{\"match\":\"\\\\binit[?!]|\\\\binit\\\\b|(?<!\\\\.)\\\\b(?:func|deinit|subscript|didSet|get|set|willSet)\\\\b\",\"name\":\"storage.type.function.swift\"},{\"match\":\"(?<!\\\\.)\\\\b(?:fileprivate|private|internal|public|open|package)\\\\b\",\"name\":\"keyword.other.declaration-specifier.accessibility.swift\"},{\"comment\":\"matches weak, unowned, unowned(safe), unowned(unsafe)\",\"match\":\"(?<!\\\\.)\\\\bunowned\\\\((?:safe|unsafe)\\\\)|(?<!\\\\.)\\\\b(?:weak|unowned)\\\\b\",\"name\":\"keyword.other.capture-specifier.swift\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.type.swift\"},\"2\":{\"name\":\"keyword.other.type.metatype.swift\"}},\"match\":\"(?<=\\\\.)(?:(dynamicType|self)|(Protocol|Type))\\\\b\"},{\"match\":\"(?<!\\\\.)\\\\b(?:super|self|Self)\\\\b\",\"name\":\"variable.language.swift\"},{\"match\":\"\\\\B(?:#file|#filePath|#fileID|#line|#column|#function|#dsohandle)\\\\b|\\\\b(?:__FILE__|__LINE__|__COLUMN__|__FUNCTION__|__DSO_HANDLE__)\\\\b\",\"name\":\"support.variable.swift\"},{\"match\":\"(?<!\\\\.)\\\\bimport\\\\b\",\"name\":\"keyword.control.import.swift\"},{\"comment\":\"SE-0366: \\\"consume behaves as a contextual keyword. In order to avoid interfering with existing code that calls functions named consume, the operand to consume must begin with another identifier, and must consist of an identifier or postfix expression\\\"\",\"match\":\"(?<!\\\\.)\\\\bconsume(?=\\\\s+`?[\\\\p{L}_])\",\"name\":\"keyword.control.consume.swift\"},{\"comment\":\"SE-0377: \\\"copy is a contextual keyword, parsed as an operator if it is immediately followed by an identifier on the same line, like the consume x operator before it\\\"\",\"match\":\"(?<!\\\\.)\\\\bcopy(?=\\\\s+`?[\\\\p{L}_])\",\"name\":\"keyword.control.copy.swift\"}]},\"literals\":{\"patterns\":[{\"include\":\"#literals-boolean\"},{\"include\":\"#literals-numeric\"},{\"include\":\"#literals-string\"},{\"match\":\"\\\\bnil\\\\b\",\"name\":\"constant.language.nil.swift\"},{\"comment\":\"object \\\"literals\\\" used in playgrounds\",\"match\":\"\\\\B#(colorLiteral|imageLiteral|fileLiteral)\\\\b\",\"name\":\"support.function.object-literal.swift\"},{\"match\":\"\\\\B#externalMacro\\\\b\",\"name\":\"support.function.builtin-macro.swift\"},{\"match\":\"\\\\B#keyPath\\\\b\",\"name\":\"support.function.key-path.swift\"},{\"begin\":\"\\\\B(#selector)(\\\\()(?:\\\\s*(getter|setter)\\\\s*(:))?\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.selector-reference.swift\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.swift\"},\"3\":{\"name\":\"support.variable.parameter.swift\"},\"4\":{\"name\":\"punctuation.separator.argument-label.swift\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"patterns\":[{\"include\":\"#expressions\"}]},{\"include\":\"#literals-regular-expression-literal\"}]},\"literals-boolean\":{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.swift\"},\"literals-numeric\":{\"patterns\":[{\"comment\":\"0.1, -4_2.5, 6.022e23, 10E-5\",\"match\":\"(\\\\B-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)\\\\d[0-9_]*(?=\\\\.\\\\d|[eE])(?:\\\\.\\\\d[0-9_]*)?(?:[eE][-+]?\\\\d[0-9_]*)?\\\\b(?!\\\\.\\\\d)\",\"name\":\"constant.numeric.float.decimal.swift\"},{\"comment\":\"-0x1.ap2_3, 0x31p-4\",\"match\":\"(\\\\B-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)(0x[0-9a-fA-F][0-9a-fA-F_]*)(?:\\\\.[0-9a-fA-F][0-9a-fA-F_]*)?[pP][-+]?\\\\d[0-9_]*\\\\b(?!\\\\.\\\\d)\",\"name\":\"constant.numeric.float.hexadecimal.swift\"},{\"comment\":\"0x1p, 0x1p_2, 0x1.5pa, 0x1.1p+1f, 0x1pz\",\"match\":\"(\\\\B-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)(0x[0-9a-fA-F][0-9a-fA-F_]*)(?:\\\\.[0-9a-fA-F][0-9a-fA-F_]*)?(?:[pP][-+]?\\\\w*)\\\\b(?!\\\\.\\\\d)\",\"name\":\"invalid.illegal.numeric.float.invalid-exponent.swift\"},{\"comment\":\"0x1.5w (note that 0x1.f may be a valid expression)\",\"match\":\"(\\\\B-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)(0x[0-9a-fA-F][0-9a-fA-F_]*)\\\\.\\\\d[\\\\w.]*\",\"name\":\"invalid.illegal.numeric.float.missing-exponent.swift\"},{\"comment\":\"-.5, .2f (note that 1.-.5 may be a valid expression)\",\"match\":\"(?<=\\\\s|^)-?\\\\.\\\\d[\\\\w.]*\",\"name\":\"invalid.illegal.numeric.float.missing-leading-zero.swift\"},{\"comment\":\"0b_0_1, 0x_1p+3q\",\"match\":\"(\\\\B-|\\\\b)0[box]_[0-9a-fA-F_]*(?:[pPeE][+-]?\\\\w+)?[\\\\w.]+\",\"name\":\"invalid.illegal.numeric.leading-underscore.swift\"},{\"comment\":\"tuple positional member: not really a numeric literal, but not invalid\",\"match\":\"(?<=[\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)\\\\d+\\\\b\"},{\"comment\":\"0b010, 0b1_0\",\"match\":\"(\\\\B-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)0b[01][01_]*\\\\b(?!\\\\.\\\\d)\",\"name\":\"constant.numeric.integer.binary.swift\"},{\"comment\":\"0o1, 0o7_3\",\"match\":\"(\\\\B-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)0o[0-7][0-7_]*\\\\b(?!\\\\.\\\\d)\",\"name\":\"constant.numeric.integer.octal.swift\"},{\"comment\":\"02, 3_456\",\"match\":\"(\\\\B-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)\\\\d[0-9_]*\\\\b(?!\\\\.\\\\d)\",\"name\":\"constant.numeric.integer.decimal.swift\"},{\"comment\":\"0x4, 0xF_7\",\"match\":\"(\\\\B-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)0x[0-9a-fA-F][0-9a-fA-F_]*\\\\b(?!\\\\.\\\\d)\",\"name\":\"constant.numeric.integer.hexadecimal.swift\"},{\"match\":\"(\\\\B-|\\\\b)\\\\d[\\\\w.]*\",\"name\":\"invalid.illegal.numeric.other.swift\"}]},\"literals-regular-expression-literal\":{\"comment\":\"SE-0354 & SE-0355\",\"patterns\":[{\"begin\":\"(#+)/\\\\n\",\"end\":\"/\\\\1\",\"name\":\"string.regexp.block.swift\",\"patterns\":[{\"include\":\"#literals-regular-expression-literal-regex-guts\"},{\"include\":\"#literals-regular-expression-literal-line-comment\"}]},{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#literals-regular-expression-literal-regex-guts\"}]},\"1\":{\"name\":\"punctuation.definition.string.begin.regexp.swift\"},\"12\":{\"name\":\"punctuation.definition.string.end.regexp.swift\"},\"13\":{\"name\":\"invalid.illegal.returns-not-allowed.regexp\"}},\"comment\":\"Single-line regular expression literals must be matched all in one go\\n in order to avoid ambiguities with operators, and to adhere to certain\\n parsing rules in SE-0354/SE-0355, such as:\\n - A regex literal will not be parsed if it contains an unbalanced ).\\n - A regex may end with a space only if it began with an escaped space\",\"match\":\"(((\\\\#+)?)/)(?(3)|(?!/))(?(3)|(?!\\\\s))(\\\\\\\\\\\\s)?(?<guts>(?>(?:\\\\\\\\Q(?:(?!\\\\\\\\E)(?!/\\\\2).)*+(?:\\\\\\\\E|(?(3)|(?<!\\\\s))(?=/\\\\2))|\\\\\\\\.|\\\\(\\\\?\\\\#[^)]*\\\\)|\\\\(\\\\?\\\\{(?<g1>\\\\{)?+(?<g2>\\\\{)?+(?<g3>\\\\{)?+(?<g4>\\\\{)?+(?<g5>\\\\{)?+.+?\\\\}(?(<g1>)\\\\})(?(<g2>)\\\\})(?(<g3>)\\\\})(?(<g4>)\\\\})(?(<g5>)\\\\})(?:\\\\[(?!\\\\d)\\\\w+\\\\])?[X<>]?\\\\)|(?<class>\\\\[(?:\\\\\\\\.|[^\\\\[\\\\]]|\\\\g<class>)+\\\\])|\\\\(\\\\g<guts>?+\\\\)|(?:(?!/\\\\2)[^()\\\\[\\\\\\\\])+)+))?+(?(3)|(?(5)(?<!\\\\s)))(/\\\\2)|\\\\#+/.+(\\\\n)\",\"name\":\"string.regexp.line.swift\"}]},\"literals-regular-expression-literal-backreference-or-subpattern\":{\"comment\":\"These patterns are separated to work around issues like https://github.com/microsoft/vscode-textmate/issues/164\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.escape.backslash.regexp\"},\"2\":{\"name\":\"variable.other.group-name.regexp\"},\"3\":{\"name\":\"keyword.operator.recursion-level.regexp\"},\"4\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"5\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"6\":{\"name\":\"keyword.operator.recursion-level.regexp\"},\"7\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"8\":{\"name\":\"constant.character.escape.backslash.regexp\"}},\"comment\":\"'\\\\g{' NamedOrNumberRef '}'\",\"match\":\"(\\\\\\\\g\\\\{)(?:((?!\\\\d)\\\\w+)(?:([+-])(\\\\d+))?|([+-]?\\\\d+)(?:([+-])(\\\\d+))?)(\\\\})\"},{\"captures\":{\"1\":{\"name\":\"constant.character.escape.backslash.regexp\"},\"2\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"3\":{\"name\":\"keyword.operator.recursion-level.regexp\"},\"4\":{\"name\":\"constant.numeric.integer.decimal.regexp\"}},\"comment\":\"'\\\\g' NumberRef\",\"match\":\"(\\\\\\\\g)([+-]?\\\\d+)(?:([+-])(\\\\d+))?\"},{\"captures\":{\"1\":{\"name\":\"constant.character.escape.backslash.regexp\"},\"3\":{\"name\":\"variable.other.group-name.regexp\"},\"4\":{\"name\":\"keyword.operator.recursion-level.regexp\"},\"5\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"6\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"7\":{\"name\":\"keyword.operator.recursion-level.regexp\"},\"8\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"9\":{\"name\":\"constant.character.escape.backslash.regexp\"}},\"comment\":\"'\\\\k<' NamedOrNumberRef '>'\\n \\\"\\\\k'\\\" NamedOrNumberRef \\\"'\\\"\\n '\\\\g<' NamedOrNumberRef '>'\\n \\\"\\\\g'\\\" NamedOrNumberRef \\\"'\\\"\",\"match\":\"(\\\\\\\\[gk](<)|\\\\\\\\[gk]')(?:((?!\\\\d)\\\\w+)(?:([+-])(\\\\d+))?|([+-]?\\\\d+)(?:([+-])(\\\\d+))?)((?(2)>|'))\"},{\"captures\":{\"1\":{\"name\":\"constant.character.escape.backslash.regexp\"},\"2\":{\"name\":\"variable.other.group-name.regexp\"},\"3\":{\"name\":\"keyword.operator.recursion-level.regexp\"},\"4\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"5\":{\"name\":\"constant.character.escape.backslash.regexp\"}},\"comment\":\"'\\\\k{' NamedRef '}'\",\"match\":\"(\\\\\\\\k\\\\{)((?!\\\\d)\\\\w+)(?:([+-])(\\\\d+))?(\\\\})\"},{\"match\":\"\\\\\\\\[1-9]\\\\d+\",\"name\":\"keyword.other.back-reference.regexp\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.back-reference.regexp\"},\"2\":{\"name\":\"variable.other.group-name.regexp\"},\"3\":{\"name\":\"keyword.operator.recursion-level.regexp\"},\"4\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"5\":{\"name\":\"keyword.other.back-reference.regexp\"}},\"comment\":\"'(?P=' NamedRef ')'\",\"match\":\"(\\\\(\\\\?(?:P[=>]|&))((?!\\\\d)\\\\w+)(?:([+-])(\\\\d+))?(\\\\))\"},{\"match\":\"\\\\(\\\\?R\\\\)\",\"name\":\"keyword.other.back-reference.regexp\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.back-reference.regexp\"},\"2\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"3\":{\"name\":\"keyword.operator.recursion-level.regexp\"},\"4\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"5\":{\"name\":\"keyword.other.back-reference.regexp\"}},\"comment\":\"'(?' NumberRef ')'\",\"match\":\"(\\\\(\\\\?)([+-]?\\\\d+)(?:([+-])(\\\\d+))?(\\\\))\"}]},\"literals-regular-expression-literal-backtracking-directive-or-global-matching-option\":{\"captures\":{\"1\":{\"name\":\"keyword.control.directive.regexp\"},\"2\":{\"name\":\"keyword.control.directive.regexp\"},\"3\":{\"name\":\"keyword.control.directive.regexp\"},\"4\":{\"name\":\"variable.language.tag.regexp\"},\"5\":{\"name\":\"keyword.control.directive.regexp\"},\"6\":{\"name\":\"keyword.operator.assignment.regexp\"},\"7\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"8\":{\"name\":\"keyword.control.directive.regexp\"},\"9\":{\"name\":\"keyword.control.directive.regexp\"}},\"match\":\"(\\\\(\\\\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^)]+))?|(?:(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\\\d+))|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\\\\))\"},\"literals-regular-expression-literal-callout\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp\"},\"2\":{\"name\":\"keyword.control.callout.regexp\"},\"3\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"4\":{\"name\":\"entity.name.function.callout.regexp\"},\"5\":{\"name\":\"entity.name.function.callout.regexp\"},\"6\":{\"name\":\"entity.name.function.callout.regexp\"},\"7\":{\"name\":\"entity.name.function.callout.regexp\"},\"8\":{\"name\":\"entity.name.function.callout.regexp\"},\"9\":{\"name\":\"entity.name.function.callout.regexp\"},\"10\":{\"name\":\"entity.name.function.callout.regexp\"},\"11\":{\"name\":\"entity.name.function.callout.regexp\"},\"12\":{\"name\":\"punctuation.definition.group.regexp\"},\"13\":{\"name\":\"punctuation.definition.group.regexp\"},\"14\":{\"name\":\"keyword.control.callout.regexp\"},\"15\":{\"name\":\"entity.name.function.callout.regexp\"},\"16\":{\"name\":\"variable.language.tag-name.regexp\"},\"17\":{\"name\":\"punctuation.definition.group.regexp\"},\"18\":{\"name\":\"punctuation.definition.group.regexp\"},\"19\":{\"name\":\"keyword.control.callout.regexp\"},\"26\":{\"name\":\"variable.language.tag-name.regexp\"},\"27\":{\"name\":\"keyword.control.callout.regexp\"},\"28\":{\"name\":\"punctuation.definition.group.regexp\"}},\"match\":\"(\\\\()(?<keyw>\\\\?C)(?:(?<num>\\\\d+)|`(?<name>(?:[^`]|``)*)`|'(?<name>(?:[^']|'')*)'|\\\"(?<name>(?:[^\\\"]|\\\"\\\")*)\\\"|\\\\^(?<name>(?:[^\\\\^]|\\\\^\\\\^)*)\\\\^|%(?<name>(?:[^%]|%%)*)%|\\\\#(?<name>(?:[^#]|\\\\#\\\\#)*)\\\\#|\\\\$(?<name>(?:[^$]|\\\\$\\\\$)*)\\\\$|\\\\{(?<name>(?:[^}]|\\\\}\\\\})*)\\\\})?(\\\\))|(\\\\()(?<keyw>\\\\*)(?<name>(?!\\\\d)\\\\w+)(?:\\\\[(?<tag>(?!\\\\d)\\\\w+)\\\\])?(?:\\\\{[^,}]+(?:,[^,}]+)*\\\\})?(\\\\))|(\\\\()(?<keyw>\\\\?)(\\\\{(?<g1>\\\\{)?+(?<g2>\\\\{)?+(?<g3>\\\\{)?+(?<g4>\\\\{)?+(?<g5>\\\\{)?+).+?\\\\}(?(<g1>)\\\\})(?(<g2>)\\\\})(?(<g3>)\\\\})(?(<g4>)\\\\})(?(<g5>)\\\\})(?:\\\\[(?<tag>(?!\\\\d)\\\\w+)\\\\])?(?<keyw>[X<>]?)(\\\\))\",\"name\":\"meta.callout.regexp\"},\"literals-regular-expression-literal-character-properties\":{\"captures\":{\"1\":{\"name\":\"support.variable.character-property.regexp\"},\"2\":{\"name\":\"punctuation.definition.character-class.regexp\"},\"3\":{\"name\":\"support.variable.character-property.regexp\"},\"4\":{\"name\":\"punctuation.definition.character-class.regexp\"}},\"match\":\"\\\\\\\\[pP]\\\\{([\\\\s\\\\w-]+(?:=[\\\\s\\\\w-]+)?)\\\\}|(\\\\[:)([\\\\s\\\\w-]+(?:=[\\\\s\\\\w-]+)?)(:\\\\])\",\"name\":\"constant.other.character-class.set.regexp\"},\"literals-regular-expression-literal-custom-char-class\":{\"patterns\":[{\"begin\":\"(\\\\[)(\\\\^)?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.regexp\"},\"2\":{\"name\":\"keyword.operator.negation.regexp\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.character-class.regexp\"}},\"name\":\"constant.other.character-class.set.regexp\",\"patterns\":[{\"include\":\"#literals-regular-expression-literal-custom-char-class-members\"}]}]},\"literals-regular-expression-literal-custom-char-class-members\":{\"comment\":\"TODO: should also include atoms?\",\"patterns\":[{\"comment\":\"\\\\b inside a character class represents a backspace\",\"match\":\"\\\\\\\\b\",\"name\":\"constant.character.escape.backslash.regexp\"},{\"include\":\"#literals-regular-expression-literal-custom-char-class\"},{\"include\":\"#literals-regular-expression-literal-quote\"},{\"include\":\"#literals-regular-expression-literal-set-operators\"},{\"include\":\"#literals-regular-expression-literal-unicode-scalars\"},{\"include\":\"#literals-regular-expression-literal-character-properties\"}]},\"literals-regular-expression-literal-group-option-toggle\":{\"comment\":\"A matching option sequence may be part of an \\\"isolated group\\\" which has an implicit scope that wraps the remaining elements of the current group\",\"match\":\"\\\\(\\\\?(?:\\\\^(?:[iJmnsUxwDPSW]|xx|y\\\\{[gw]\\\\})*|(?:[iJmnsUxwDPSW]|xx|y\\\\{[gw]\\\\})+|(?:[iJmnsUxwDPSW]|xx|y\\\\{[gw]\\\\})*-(?:[iJmnsUxwDPSW]|xx|y\\\\{[gw]\\\\})*)\\\\)\",\"name\":\"keyword.other.option-toggle.regexp\"},\"literals-regular-expression-literal-group-or-conditional\":{\"patterns\":[{\"begin\":\"(\\\\()(\\\\?~)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp\"},\"2\":{\"name\":\"keyword.control.conditional.absent.regexp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.regexp\"}},\"name\":\"meta.group.absent.regexp\",\"patterns\":[{\"include\":\"#literals-regular-expression-literal-regex-guts\"}]},{\"begin\":\"(\\\\()(?<cond>\\\\?\\\\()(?:(?<NumberRef>(?<num>[+-]?\\\\d+)(?:(?<op>[+-])(?<num>\\\\d+))?)|(?<cond>R)\\\\g<NumberRef>?|(?<cond>R&)(?<NamedRef>(?<name>(?!\\\\d)\\\\w+)(?:(?<op>[+-])(?<num>\\\\d+))?)|(?<cond><)(?:\\\\g<NamedRef>|\\\\g<NumberRef>)(?<cond>>)|(?<cond>')(?:\\\\g<NamedRef>|\\\\g<NumberRef>)(?<cond>')|(?<cond>DEFINE)|(?<cond>VERSION)(?<compar>>?=)(?<num>\\\\d+\\\\.\\\\d+))(?<cond>\\\\))|(\\\\()(?<cond>\\\\?)(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp\"},\"2\":{\"name\":\"keyword.control.conditional.regexp\"},\"4\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"5\":{\"name\":\"keyword.operator.recursion-level.regexp\"},\"6\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"7\":{\"name\":\"keyword.control.conditional.regexp\"},\"8\":{\"name\":\"keyword.control.conditional.regexp\"},\"10\":{\"name\":\"variable.other.group-name.regexp\"},\"11\":{\"name\":\"keyword.operator.recursion-level.regexp\"},\"12\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"13\":{\"name\":\"keyword.control.conditional.regexp\"},\"14\":{\"name\":\"keyword.control.conditional.regexp\"},\"15\":{\"name\":\"keyword.control.conditional.regexp\"},\"16\":{\"name\":\"keyword.control.conditional.regexp\"},\"17\":{\"name\":\"keyword.control.conditional.regexp\"},\"18\":{\"name\":\"keyword.control.conditional.regexp\"},\"19\":{\"name\":\"keyword.operator.comparison.regexp\"},\"20\":{\"name\":\"constant.numeric.integer.decimal.regexp\"},\"21\":{\"name\":\"keyword.control.conditional.regexp\"},\"22\":{\"name\":\"punctuation.definition.group.regexp\"},\"23\":{\"name\":\"keyword.control.conditional.regexp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.regexp\"}},\"name\":\"meta.group.conditional.regexp\",\"patterns\":[{\"include\":\"#literals-regular-expression-literal-regex-guts\"}]},{\"begin\":\"(\\\\()((\\\\?)(?:([:|>=!*]|<[=!*])|P?<(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)>|'(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)'|(?:\\\\^(?:[iJmnsUxwDPSW]|xx|y\\\\{[gw]\\\\})*|(?:[iJmnsUxwDPSW]|xx|y\\\\{[gw]\\\\})+|(?:[iJmnsUxwDPSW]|xx|y\\\\{[gw]\\\\})*-(?:[iJmnsUxwDPSW]|xx|y\\\\{[gw]\\\\})*):)|\\\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?+\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp\"},\"2\":{\"name\":\"keyword.other.group-options.regexp\"},\"3\":{\"name\":\"punctuation.definition.group.regexp\"},\"4\":{\"name\":\"punctuation.definition.group.regexp\"},\"5\":{\"name\":\"variable.other.group-name.regexp\"},\"6\":{\"name\":\"keyword.operator.balancing-group.regexp\"},\"7\":{\"name\":\"variable.other.group-name.regexp\"},\"8\":{\"name\":\"variable.other.group-name.regexp\"},\"9\":{\"name\":\"keyword.operator.balancing-group.regexp\"},\"10\":{\"name\":\"variable.other.group-name.regexp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.regexp\"}},\"name\":\"meta.group.regexp\",\"patterns\":[{\"include\":\"#literals-regular-expression-literal-regex-guts\"}]}]},\"literals-regular-expression-literal-line-comment\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.regexp\"}},\"match\":\"(\\\\#).*$\",\"name\":\"comment.line.regexp\"},\"literals-regular-expression-literal-quote\":{\"begin\":\"\\\\\\\\Q\",\"beginCaptures\":{\"0\":{\"name\":\"constant.character.escape.backslash.regexp\"}},\"end\":\"\\\\\\\\E|(\\\\n)\",\"endCaptures\":{\"0\":{\"name\":\"constant.character.escape.backslash.regexp\"},\"1\":{\"name\":\"invalid.illegal.returns-not-allowed.regexp\"}},\"name\":\"string.quoted.other.regexp.swift\"},\"literals-regular-expression-literal-regex-guts\":{\"patterns\":[{\"include\":\"#literals-regular-expression-literal-quote\"},{\"begin\":\"\\\\(\\\\?\\\\#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.regexp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.regexp\"}},\"name\":\"comment.block.regexp\"},{\"begin\":\"<\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.regexp\"}},\"end\":\"\\\\}>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.regexp\"}},\"name\":\"meta.embedded.expression.regexp\"},{\"include\":\"#literals-regular-expression-literal-unicode-scalars\"},{\"include\":\"#literals-regular-expression-literal-character-properties\"},{\"match\":\"[$^]|\\\\\\\\[AbBGyYzZ]|\\\\\\\\K\",\"name\":\"keyword.control.anchor.regexp\"},{\"include\":\"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option\"},{\"include\":\"#literals-regular-expression-literal-callout\"},{\"include\":\"#literals-regular-expression-literal-backreference-or-subpattern\"},{\"match\":\"\\\\.|\\\\\\\\[CdDhHNORsSvVwWX]\",\"name\":\"constant.character.character-class.regexp\"},{\"match\":\"\\\\\\\\c.\",\"name\":\"constant.character.entity.control-character.regexp\"},{\"match\":\"\\\\\\\\[^c]\",\"name\":\"constant.character.escape.backslash.regexp\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.or.regexp\"},{\"match\":\"[*+?]\",\"name\":\"keyword.operator.quantifier.regexp\"},{\"match\":\"\\\\{\\\\s*\\\\d+\\\\s*(?:,\\\\s*\\\\d*\\\\s*)?\\\\}|\\\\{\\\\s*,\\\\s*\\\\d+\\\\s*\\\\}\",\"name\":\"keyword.operator.quantifier.regexp\"},{\"include\":\"#literals-regular-expression-literal-custom-char-class\"},{\"include\":\"#literals-regular-expression-literal-group-option-toggle\"},{\"include\":\"#literals-regular-expression-literal-group-or-conditional\"}]},\"literals-regular-expression-literal-set-operators\":{\"patterns\":[{\"match\":\"&&\",\"name\":\"keyword.operator.intersection.regexp.swift\"},{\"match\":\"--\",\"name\":\"keyword.operator.subtraction.regexp.swift\"},{\"match\":\"\\\\~\\\\~\",\"name\":\"keyword.operator.symmetric-difference.regexp.swift\"}]},\"literals-regular-expression-literal-unicode-scalars\":{\"match\":\"\\\\\\\\u\\\\{\\\\s*(?:[0-9a-fA-F]+\\\\s*)+\\\\}|\\\\\\\\u[0-9a-fA-F]{4}|\\\\\\\\x\\\\{[0-9a-fA-F]+\\\\}|\\\\\\\\x[0-9a-fA-F]{0,2}|\\\\\\\\U[0-9a-fA-F]{8}|\\\\\\\\o\\\\{[0-7]+\\\\}|\\\\\\\\0[0-7]{0,3}|\\\\\\\\N\\\\{(?:U\\\\+[0-9a-fA-F]{1,8}|[\\\\s\\\\w-]+)\\\\}\",\"name\":\"constant.character.numeric.regexp\"},\"literals-string\":{\"patterns\":[{\"begin\":\"\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.swift\"}},\"comment\":\"SE-0168: Multi-Line String Literals\",\"end\":\"\\\"\\\"\\\"(#*)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.swift\"},\"1\":{\"name\":\"invalid.illegal.extra-closing-delimiter.swift\"}},\"name\":\"string.quoted.double.block.swift\",\"patterns\":[{\"match\":\"\\\\G.+(?=\\\"\\\"\\\")|\\\\G.+\",\"name\":\"invalid.illegal.content-after-opening-delimiter.swift\"},{\"match\":\"\\\\\\\\\\\\s*\\\\n\",\"name\":\"constant.character.escape.newline.swift\"},{\"include\":\"#literals-string-string-guts\"},{\"comment\":\"Allow \\\\(\\\"\\\"\\\"...\\\"\\\"\\\") to appear inside a block string\",\"match\":\"\\\\S((?!\\\\\\\\\\\\().)*(?=\\\"\\\"\\\")\",\"name\":\"invalid.illegal.content-before-closing-delimiter.swift\"}]},{\"begin\":\"#\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.swift\"}},\"end\":\"\\\"\\\"\\\"#(#*)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.swift\"},\"1\":{\"name\":\"invalid.illegal.extra-closing-delimiter.swift\"}},\"name\":\"string.quoted.double.block.raw.swift\",\"patterns\":[{\"match\":\"\\\\G.+(?=\\\"\\\"\\\")|\\\\G.+\",\"name\":\"invalid.illegal.content-after-opening-delimiter.swift\"},{\"match\":\"\\\\\\\\#\\\\s*\\\\n\",\"name\":\"constant.character.escape.newline.swift\"},{\"include\":\"#literals-string-raw-string-guts\"},{\"comment\":\"Allow \\\\(\\\"\\\"\\\"...\\\"\\\"\\\") to appear inside a block string\",\"match\":\"\\\\S((?!\\\\\\\\#\\\\().)*(?=\\\"\\\"\\\")\",\"name\":\"invalid.illegal.content-before-closing-delimiter.swift\"}]},{\"begin\":\"(##+)\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.swift\"}},\"end\":\"\\\"\\\"\\\"\\\\1(#*)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.swift\"},\"1\":{\"name\":\"invalid.illegal.extra-closing-delimiter.swift\"}},\"name\":\"string.quoted.double.block.raw.swift\",\"patterns\":[{\"match\":\"\\\\G.+(?=\\\"\\\"\\\")|\\\\G.+\",\"name\":\"invalid.illegal.content-after-opening-delimiter.swift\"}]},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.swift\"}},\"end\":\"\\\"(#*)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.swift\"},\"1\":{\"name\":\"invalid.illegal.extra-closing-delimiter.swift\"}},\"name\":\"string.quoted.double.single-line.swift\",\"patterns\":[{\"match\":\"\\\\r|\\\\n\",\"name\":\"invalid.illegal.returns-not-allowed.swift\"},{\"include\":\"#literals-string-string-guts\"}]},{\"begin\":\"(##+)\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.raw.swift\"}},\"comment\":\"SE-0168: raw string literals (more than one #, grammar limitations prevent us from supporting escapes)\",\"end\":\"\\\"\\\\1(#*)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.raw.swift\"},\"1\":{\"name\":\"invalid.illegal.extra-closing-delimiter.swift\"}},\"name\":\"string.quoted.double.single-line.raw.swift\",\"patterns\":[{\"match\":\"\\\\r|\\\\n\",\"name\":\"invalid.illegal.returns-not-allowed.swift\"}]},{\"begin\":\"#\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.raw.swift\"}},\"comment\":\"SE-0168: raw string literals (one #, escapes supported)\",\"end\":\"\\\"#(#*)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.raw.swift\"},\"1\":{\"name\":\"invalid.illegal.extra-closing-delimiter.swift\"}},\"name\":\"string.quoted.double.single-line.raw.swift\",\"patterns\":[{\"match\":\"\\\\r|\\\\n\",\"name\":\"invalid.illegal.returns-not-allowed.swift\"},{\"include\":\"#literals-string-raw-string-guts\"}]}]},\"literals-string-raw-string-guts\":{\"comment\":\"the same as #string-guts but with # in escapes\",\"patterns\":[{\"match\":\"\\\\\\\\#[0\\\\\\\\tnr\\\"']\",\"name\":\"constant.character.escape.swift\"},{\"match\":\"\\\\\\\\#u\\\\{[0-9a-fA-F]{1,8}\\\\}\",\"name\":\"constant.character.escape.unicode.swift\"},{\"begin\":\"\\\\\\\\#\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.swift\"}},\"contentName\":\"source.swift\",\"end\":\"(\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.swift\"},\"1\":{\"name\":\"source.swift\"}},\"name\":\"meta.embedded.line.swift\",\"patterns\":[{\"include\":\"$self\"},{\"begin\":\"\\\\(\",\"comment\":\"Nested parens\",\"end\":\"\\\\)\"}]},{\"match\":\"\\\\\\\\#.\",\"name\":\"invalid.illegal.escape-not-recognized\"}]},\"literals-string-string-guts\":{\"patterns\":[{\"match\":\"\\\\\\\\[0\\\\\\\\tnr\\\"']\",\"name\":\"constant.character.escape.swift\"},{\"match\":\"\\\\\\\\u\\\\{[0-9a-fA-F]{1,8}\\\\}\",\"name\":\"constant.character.escape.unicode.swift\"},{\"begin\":\"\\\\\\\\\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.swift\"}},\"contentName\":\"source.swift\",\"end\":\"(\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.swift\"},\"1\":{\"name\":\"source.swift\"}},\"name\":\"meta.embedded.line.swift\",\"patterns\":[{\"include\":\"$self\"},{\"begin\":\"\\\\(\",\"comment\":\"Nested parens\",\"end\":\"\\\\)\"}]},{\"match\":\"\\\\\\\\.\",\"name\":\"invalid.illegal.escape-not-recognized\"}]},\"member-reference\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.other.swift\"},\"2\":{\"name\":\"punctuation.definition.identifier.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"match\":\"(?<=\\\\.)((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\"}]},\"operators\":{\"patterns\":[{\"comment\":\"Type casting\",\"match\":\"\\\\b(is\\\\b|as([!?]\\\\B|\\\\b))\",\"name\":\"keyword.operator.type-casting.swift\"},{\"begin\":\"(?=(?<oph>[/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}])|\\\\.(\\\\g<oph>|\\\\.|[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))\",\"comment\":\"This rule helps us speed up the matching.\",\"end\":\"(?!\\\\G)\",\"patterns\":[{\"captures\":{\"0\":{\"patterns\":[{\"match\":\"\\\\G(\\\\+\\\\+|--)$\",\"name\":\"keyword.operator.increment-or-decrement.swift\"},{\"match\":\"\\\\G(\\\\+|-)$\",\"name\":\"keyword.operator.arithmetic.unary.swift\"},{\"match\":\"\\\\G!$\",\"name\":\"keyword.operator.logical.not.swift\"},{\"match\":\"\\\\G~$\",\"name\":\"keyword.operator.bitwise.not.swift\"},{\"match\":\".+\",\"name\":\"keyword.operator.custom.prefix.swift\"}]}},\"comment\":\"Prefix unary operator\",\"match\":\"\\\\G(?<=^|[\\\\s(\\\\[{,;:])((?!(//|/\\\\*|\\\\*/))([/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}]|[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))++(?![\\\\s)\\\\]},;:]|\\\\z)\"},{\"captures\":{\"0\":{\"patterns\":[{\"match\":\"\\\\G(\\\\+\\\\+|--)$\",\"name\":\"keyword.operator.increment-or-decrement.swift\"},{\"match\":\"\\\\G!$\",\"name\":\"keyword.operator.increment-or-decrement.swift\"},{\"match\":\".+\",\"name\":\"keyword.operator.custom.postfix.swift\"}]}},\"comment\":\"Postfix unary operator\",\"match\":\"\\\\G(?<!^|[\\\\s(\\\\[{,;:])((?!(//|/\\\\*|\\\\*/))([/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}]|[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))++(?=[\\\\s)\\\\]},;:]|\\\\z)\"},{\"captures\":{\"0\":{\"patterns\":[{\"match\":\"\\\\G=$\",\"name\":\"keyword.operator.assignment.swift\"},{\"match\":\"\\\\G(\\\\+|-|\\\\*|/|%|<<|>>|&|\\\\^|\\\\||&&|\\\\|\\\\|)=$\",\"name\":\"keyword.operator.assignment.compound.swift\"},{\"match\":\"\\\\G(\\\\+|-|\\\\*|/)$\",\"name\":\"keyword.operator.arithmetic.swift\"},{\"match\":\"\\\\G&(\\\\+|-|\\\\*)$\",\"name\":\"keyword.operator.arithmetic.overflow.swift\"},{\"match\":\"\\\\G%$\",\"name\":\"keyword.operator.arithmetic.remainder.swift\"},{\"match\":\"\\\\G(==|!=|>|<|>=|<=|~=)$\",\"name\":\"keyword.operator.comparison.swift\"},{\"match\":\"\\\\G\\\\?\\\\?$\",\"name\":\"keyword.operator.coalescing.swift\"},{\"match\":\"\\\\G(&&|\\\\|\\\\|)$\",\"name\":\"keyword.operator.logical.swift\"},{\"match\":\"\\\\G(&|\\\\||\\\\^|<<|>>)$\",\"name\":\"keyword.operator.bitwise.swift\"},{\"match\":\"\\\\G(===|!==)$\",\"name\":\"keyword.operator.bitwise.swift\"},{\"match\":\"\\\\G\\\\?$\",\"name\":\"keyword.operator.ternary.swift\"},{\"match\":\".+\",\"name\":\"keyword.operator.custom.infix.swift\"}]}},\"comment\":\"Infix operator\",\"match\":\"\\\\G((?!(//|/\\\\*|\\\\*/))([/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}]|[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))++\"},{\"captures\":{\"0\":{\"patterns\":[{\"match\":\".+\",\"name\":\"keyword.operator.custom.prefix.dot.swift\"}]}},\"comment\":\"Dot prefix unary operator\",\"match\":\"\\\\G(?<=^|[\\\\s(\\\\[{,;:])\\\\.((?!(//|/\\\\*|\\\\*/))(\\\\.|[/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}]|[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))++(?![\\\\s)\\\\]},;:]|\\\\z)\"},{\"captures\":{\"0\":{\"patterns\":[{\"match\":\".+\",\"name\":\"keyword.operator.custom.postfix.dot.swift\"}]}},\"comment\":\"Dot postfix unary operator\",\"match\":\"\\\\G(?<!^|[\\\\s(\\\\[{,;:])\\\\.((?!(//|/\\\\*|\\\\*/))(\\\\.|[/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}]|[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))++(?=[\\\\s)\\\\]},;:]|\\\\z)\"},{\"captures\":{\"0\":{\"patterns\":[{\"match\":\"\\\\G\\\\.\\\\.[.<]$\",\"name\":\"keyword.operator.range.swift\"},{\"match\":\".+\",\"name\":\"keyword.operator.custom.infix.dot.swift\"}]}},\"comment\":\"Dot infix operator\",\"match\":\"\\\\G\\\\.((?!(//|/\\\\*|\\\\*/))(\\\\.|[/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}]|[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))++\"}]},{\"match\":\":\",\"name\":\"keyword.operator.ternary.swift\"}]},\"root\":{\"patterns\":[{\"include\":\"#compiler-control\"},{\"include\":\"#declarations\"},{\"include\":\"#expressions\"}]}},\"scopeName\":\"source.swift\"}"))
2
+
3
+ export default [
4
+ lang
5
+ ]
@@ -0,0 +1,3 @@
1
+ import type { LanguageRegistration } from '@shikijs/types'
2
+ const langs: LanguageRegistration []
3
+ export default langs
@@ -0,0 +1,5 @@
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"SystemVerilog\",\"fileTypes\":[\"v\",\"vh\",\"sv\",\"svh\"],\"name\":\"system-verilog\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#strings\"},{\"include\":\"#typedef-enum-struct-union\"},{\"include\":\"#typedef\"},{\"include\":\"#functions\"},{\"include\":\"#keywords\"},{\"include\":\"#tables\"},{\"include\":\"#function-task\"},{\"include\":\"#module-declaration\"},{\"include\":\"#class-declaration\"},{\"include\":\"#enum-struct-union\"},{\"include\":\"#sequence\"},{\"include\":\"#all-types\"},{\"include\":\"#module-parameters\"},{\"include\":\"#module-no-parameters\"},{\"include\":\"#port-net-parameter\"},{\"include\":\"#system-tf\"},{\"include\":\"#assertion\"},{\"include\":\"#bind-directive\"},{\"include\":\"#cast-operator\"},{\"include\":\"#storage-scope\"},{\"include\":\"#attributes\"},{\"include\":\"#imports\"},{\"include\":\"#operators\"},{\"include\":\"#constants\"},{\"include\":\"#identifiers\"},{\"include\":\"#selects\"}],\"repository\":{\"all-types\":{\"patterns\":[{\"include\":\"#built-ins\"},{\"include\":\"#modifiers\"}]},\"assertion\":{\"captures\":{\"1\":{\"name\":\"entity.name.goto-label.php\"},\"2\":{\"name\":\"keyword.operator.systemverilog\"},\"3\":{\"name\":\"keyword.sva.systemverilog\"}},\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*(assert|assume|cover|restrict)\\\\b\"},\"attributes\":{\"begin\":\"(?<!@[ \\\\t\\\\r\\\\n]?)\\\\(\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.attribute.rounds.begin\"}},\"end\":\"\\\\*\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.attribute.rounds.end\"}},\"name\":\"meta.attribute.systemverilog\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"name\":\"keyword.operator.assignment.systemverilog\"}},\"match\":\"([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]*(=)[ \\\\t\\\\r\\\\n]*)?\"},{\"include\":\"#constants\"},{\"include\":\"#strings\"}]},\"base-grammar\":{\"patterns\":[{\"include\":\"#all-types\"},{\"include\":\"#comments\"},{\"include\":\"#operators\"},{\"include\":\"#constants\"},{\"include\":\"#strings\"},{\"captures\":{\"1\":{\"name\":\"storage.type.interface.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]+[a-zA-Z_][a-zA-Z0-9_,= \\\\t\\\\n]*\"},{\"include\":\"#storage-scope\"}]},\"bind-directive\":{\"captures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"name\":\"entity.name.type.module.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(bind)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)\\\\b\",\"name\":\"meta.definition.systemverilog\"},\"built-ins\":{\"patterns\":[{\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(bit|logic|reg)\\\\b\",\"name\":\"storage.type.vector.systemverilog\"},{\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(byte|shortint|int|longint|integer|time|genvar)\\\\b\",\"name\":\"storage.type.atom.systemverilog\"},{\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(shortreal|real|realtime)\\\\b\",\"name\":\"storage.type.notint.systemverilog\"},{\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b\",\"name\":\"storage.type.net.systemverilog\"},{\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(genvar|var|void|signed|unsigned|string|const|process)\\\\b\",\"name\":\"storage.type.built-in.systemverilog\"},{\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(uvm_(?:root|transaction|component|monitor|driver|test|env|object|agent|sequence_base|sequence_item|sequence_state|sequencer|sequencer_base|sequence|component_registry|analysis_imp|analysis_port|analysis_export|config_db|active_passive_enum|phase|verbosity|tlm_analysis_fifo|tlm_fifo|report_server|objection|recorder|domain|reg_field|reg_block|reg|bitstream_t|radix_enum|printer|packer|comparer|scope_stack))\\\\b\",\"name\":\"storage.type.uvm.systemverilog\"}]},\"cast-operator\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#built-ins\"},{\"include\":\"#constants\"},{\"match\":\"[a-zA-Z_][a-zA-Z0-9_$]*\",\"name\":\"storage.type.user-defined.systemverilog\"}]},\"2\":{\"name\":\"keyword.operator.cast.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]*(\\\\d+|[a-zA-Z_][a-zA-Z0-9_$]*)(')(?=\\\\()\",\"name\":\"meta.cast.systemverilog\"},\"class-declaration\":{\"begin\":\"[ \\\\t\\\\r\\\\n]*\\\\b(virtual[ \\\\t\\\\r\\\\n]+)?(class)(?:[ \\\\t\\\\r\\\\n]+(static|automatic))?[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\t\\\\r\\\\n]+(extends|implements)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*))?\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.systemverilog\"},\"2\":{\"name\":\"storage.type.class.systemverilog\"},\"3\":{\"name\":\"storage.modifier.systemverilog\"},\"4\":{\"name\":\"entity.name.type.class.systemverilog\"},\"5\":{\"name\":\"keyword.control.systemverilog\"},\"6\":{\"name\":\"entity.name.type.class.systemverilog\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.class.end.systemverilog\"}},\"name\":\"meta.class.systemverilog\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"name\":\"entity.name.type.class.systemverilog\"},\"3\":{\"name\":\"entity.name.type.class.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]+\\\\b(extends|implements)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$:]*)(?:[ \\\\t\\\\r\\\\n]*,[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$:]*))*\"},{\"captures\":{\"1\":{\"name\":\"storage.type.userdefined.systemverilog\"},\"2\":{\"name\":\"keyword.operator.param.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]+\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(#)\\\\(\",\"name\":\"meta.typedef.class.systemverilog\"},{\"include\":\"#port-net-parameter\"},{\"include\":\"#base-grammar\"},{\"include\":\"#module-binding\"},{\"include\":\"#identifiers\"}]},\"comments\":{\"patterns\":[{\"begin\":\"/\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.systemverilog\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.systemverilog\"}},\"name\":\"comment.block.systemverilog\",\"patterns\":[{\"include\":\"#fixme-todo\"}]},{\"begin\":\"//\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.systemverilog\"}},\"end\":\"$\\\\n?\",\"name\":\"comment.line.double-slash.systemverilog\",\"patterns\":[{\"include\":\"#fixme-todo\"}]}]},\"compiler-directives\":{\"name\":\"meta.preprocessor.systemverilog\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.directive.systemverilog\"},\"2\":{\"name\":\"string.regexp.systemverilog\"}},\"match\":\"(`)(else|endif|endcelldefine|celldefine|nounconnected_drive|resetall|undefineall|end_keywords|__FILE__|__LINE__)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.directive.systemverilog\"},\"2\":{\"name\":\"string.regexp.systemverilog\"},\"3\":{\"name\":\"variable.other.constant.preprocessor.systemverilog\"}},\"match\":\"(`)(ifdef|ifndef|elsif|define|undef|pragma)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.directive.systemverilog\"},\"2\":{\"name\":\"string.regexp.systemverilog\"}},\"match\":\"(`)(include|timescale|default_nettype|unconnected_drive|line|begin_keywords)\\\\b\"},{\"begin\":\"(`)(protected)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.directive.systemverilog\"},\"2\":{\"name\":\"string.regexp.systemverilog\"}},\"end\":\"(`)(endprotected)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.directive.systemverilog\"},\"2\":{\"name\":\"string.regexp.systemverilog\"}},\"name\":\"meta.crypto.systemverilog\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.directive.systemverilog\"},\"2\":{\"name\":\"variable.other.constant.preprocessor.systemverilog\"}},\"match\":\"(`)([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b\"}]},\"constants\":{\"patterns\":[{\"match\":\"(\\\\b[1-9][0-9_]*)?'([sS]?[bB][ \\\\t\\\\r\\\\n]*[0-1xXzZ?][0-1_xXzZ?]*|[sS]?[oO][ \\\\t\\\\r\\\\n]*[0-7xXzZ?][0-7_xXzZ?]*|[sS]?[dD][ \\\\t\\\\r\\\\n]*[0-9xXzZ?][0-9_xXzZ?]*|[sS]?[hH][ \\\\t\\\\r\\\\n]*[0-9a-fA-FxXzZ?][0-9a-fA-F_xXzZ?]*)((e|E)(\\\\+|-)?\\\\d+)?(?!'|\\\\w)\",\"name\":\"constant.numeric.systemverilog\"},{\"match\":\"'[01xXzZ]\",\"name\":\"constant.numeric.bit.systemverilog\"},{\"match\":\"\\\\b(?:\\\\d[\\\\d_\\\\.]*(?<!\\\\.)(?:e|E)(?:\\\\+|-)?\\\\d+)\\\\b\",\"name\":\"constant.numeric.exp.systemverilog\"},{\"match\":\"\\\\b(?:\\\\d[\\\\d_\\\\.]*(?!(?:[\\\\d\\\\.]|[ \\\\t\\\\r\\\\n]*(?:e|E|fs|ps|ns|us|ms|s))))\\\\b\",\"name\":\"constant.numeric.decimal.systemverilog\"},{\"match\":\"\\\\b(?:\\\\d[\\\\d\\\\.]*[ \\\\t\\\\r\\\\n]*(?:fs|ps|ns|us|ms|s))\\\\b\",\"name\":\"constant.numeric.time.systemverilog\"},{\"include\":\"#compiler-directives\"},{\"match\":\"\\\\b(?:this|super|null)\\\\b\",\"name\":\"constant.language.systemverilog\"},{\"match\":\"\\\\b([A-Z][A-Z0-9_]*)\\\\b\",\"name\":\"constant.other.net.systemverilog\"},{\"match\":\"\\\\b(?<!\\\\.)([A-Z0-9_]+)(?!\\\\.)\\\\b\",\"name\":\"constant.numeric.parameter.uppercase.systemverilog\"},{\"match\":\"\\\\.\\\\*\",\"name\":\"keyword.operator.quantifier.regexp\"}]},\"enum-struct-union\":{\"begin\":\"[ \\\\t\\\\r\\\\n]*\\\\b(enum|struct|union(?:[ \\\\t\\\\r\\\\n]+tagged)?|class|interface[ \\\\t\\\\r\\\\n]+class)(?:[ \\\\t\\\\r\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?:[ \\\\t\\\\r\\\\n]+(packed))?(?:[ \\\\t\\\\r\\\\n]+(signed|unsigned))?(?=[ \\\\t\\\\r\\\\n]*(?:{|$))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"patterns\":[{\"include\":\"#built-ins\"}]},\"3\":{\"patterns\":[{\"include\":\"#selects\"}]},\"4\":{\"name\":\"storage.modifier.systemverilog\"},\"5\":{\"name\":\"storage.modifier.systemverilog\"}},\"end\":\"(?<=})[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n]))(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*[,;]\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#identifiers\"}]},\"2\":{\"patterns\":[{\"include\":\"#selects\"}]}},\"name\":\"meta.enum-struct-union.systemverilog\",\"patterns\":[{\"include\":\"#keywords\"},{\"include\":\"#base-grammar\"},{\"include\":\"#identifiers\"}]},\"fixme-todo\":{\"patterns\":[{\"match\":\"(?i:fixme)\",\"name\":\"invalid.broken.fixme.systemverilog\"},{\"match\":\"(?i:todo)\",\"name\":\"invalid.unimplemented.todo.systemverilog\"}]},\"function-task\":{\"begin\":\"[ \\\\t\\\\r\\\\n]*(?:\\\\b(virtual)[ \\\\t\\\\r\\\\n]+)?(?:\\\\b(function|task)\\\\b)(?:[ \\\\t\\\\r\\\\n]+\\\\b(static|automatic)\\\\b)?\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.systemverilog\"},\"2\":{\"name\":\"storage.type.function.systemverilog\"},\"3\":{\"name\":\"storage.modifier.systemverilog\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.function.end.systemverilog\"}},\"name\":\"meta.function.systemverilog\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"support.type.scope.systemverilog\"},\"2\":{\"name\":\"keyword.operator.scope.systemverilog\"},\"3\":{\"patterns\":[{\"include\":\"#built-ins\"},{\"match\":\"[a-zA-Z_][a-zA-Z0-9_$]*\",\"name\":\"storage.type.user-defined.systemverilog\"}]},\"4\":{\"patterns\":[{\"include\":\"#modifiers\"}]},\"5\":{\"patterns\":[{\"include\":\"#selects\"}]},\"6\":{\"name\":\"entity.name.function.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]*(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?([a-zA-Z_][a-zA-Z0-9_$]*\\\\b[ \\\\t\\\\r\\\\n]+)?(?:\\\\b(signed|unsigned)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])[ \\\\t\\\\r\\\\n]*)?(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*)(?=\\\\(|;)\"},{\"include\":\"#keywords\"},{\"include\":\"#port-net-parameter\"},{\"include\":\"#base-grammar\"},{\"include\":\"#identifiers\"}]},\"functions\":{\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(?!while|for|if|iff|else|case|casex|casez)([a-zA-Z_][a-zA-Z0-9_$]*)(?=[ \\\\t\\\\r\\\\n]*\\\\()\",\"name\":\"entity.name.function.systemverilog\"},\"identifiers\":{\"patterns\":[{\"match\":\"\\\\b[a-zA-Z_][a-zA-Z0-9_$]*\\\\b\",\"name\":\"variable.other.identifier.systemverilog\"},{\"match\":\"(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n])\",\"name\":\"string.regexp.identifier.systemverilog\"}]},\"imports\":{\"captures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"name\":\"support.type.scope.systemverilog\"},\"3\":{\"name\":\"keyword.operator.scope.systemverilog\"},\"4\":{\"patterns\":[{\"include\":\"#operators\"},{\"include\":\"#identifiers\"}]}},\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(import|export)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*|\\\\*)[ \\\\t\\\\r\\\\n]*(::)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|\\\\*)[ \\\\t\\\\r\\\\n]*(,|;)\",\"name\":\"meta.import.systemverilog\"},\"keywords\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.other.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(edge|negedge|posedge|cell|config|defparam|design|disable|endgenerate|endspecify|event|generate|ifnone|incdir|instance|liblist|library|noshowcancelled|pulsestyle_onevent|pulsestyle_ondetect|scalared|showcancelled|specify|specparam|use|vectored)\\\\b\"},{\"include\":\"#sv-control\"},{\"include\":\"#sv-control-begin\"},{\"include\":\"#sv-control-end\"},{\"include\":\"#sv-definition\"},{\"include\":\"#sv-cover-cross\"},{\"include\":\"#sv-std\"},{\"include\":\"#sv-option\"},{\"include\":\"#sv-local\"},{\"include\":\"#sv-rand\"}]},\"modifiers\":{\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(?:(?:un)?signed|packed|small|medium|large|supply[01]|strong[01]|pull[01]|weak[01]|highz[01])\\\\b\",\"name\":\"storage.modifier.systemverilog\"},\"module-binding\":{\"begin\":\"\\\\.([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.port.systemverilog\"}},\"end\":\"\\\\),?\",\"name\":\"meta.port.binding.systemverilog\",\"patterns\":[{\"include\":\"#constants\"},{\"include\":\"#comments\"},{\"include\":\"#operators\"},{\"include\":\"#strings\"},{\"include\":\"#constants\"},{\"include\":\"#storage-scope\"},{\"include\":\"#cast-operator\"},{\"include\":\"#system-tf\"},{\"match\":\"\\\\bvirtual\\\\b\",\"name\":\"storage.modifier.systemverilog\"},{\"include\":\"#identifiers\"}]},\"module-declaration\":{\"begin\":\"[ \\\\t\\\\r\\\\n]*\\\\b((?:macro)?module|interface|program|package|modport)[ \\\\t\\\\r\\\\n]+(?:(static|automatic)[ \\\\t\\\\r\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"name\":\"storage.modifier.systemverilog\"},\"3\":{\"name\":\"entity.name.type.module.systemverilog\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.module.end.systemverilog\"}},\"name\":\"meta.module.systemverilog\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#port-net-parameter\"},{\"include\":\"#imports\"},{\"include\":\"#base-grammar\"},{\"include\":\"#system-tf\"},{\"include\":\"#identifiers\"}]},\"module-no-parameters\":{\"begin\":\"[ \\\\t\\\\r\\\\n]*\\\\b(?:(bind|pullup|pulldown)[ \\\\t\\\\r\\\\n]+(?:([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)[ \\\\t\\\\r\\\\n]+)?)?((?:\\\\b(?:and|nand|or|nor|xor|xnor|buf|not|bufif[01]|notif[01]|r?[npc]mos|r?tran|r?tranif[01])\\\\b|[a-zA-Z_][a-zA-Z0-9_$]*))[ \\\\t\\\\r\\\\n]+(?!intersect|and|or|throughout|within)([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*(?=\\\\(|$)(?!;)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"name\":\"entity.name.type.module.systemverilog\"},\"3\":{\"name\":\"entity.name.type.module.systemverilog\"},\"4\":{\"name\":\"variable.other.module.systemverilog\"},\"5\":{\"patterns\":[{\"include\":\"#selects\"}]}},\"end\":\"\\\\)(?:[ \\\\t\\\\r\\\\n]*(;))?\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.module.instantiation.end.systemverilog\"}},\"name\":\"meta.module.no_parameters.systemverilog\",\"patterns\":[{\"include\":\"#module-binding\"},{\"include\":\"#comments\"},{\"include\":\"#operators\"},{\"include\":\"#constants\"},{\"include\":\"#strings\"},{\"include\":\"#port-net-parameter\"},{\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*(\\\\(|$))\",\"name\":\"variable.other.module.systemverilog\"},{\"include\":\"#identifiers\"}]},\"module-parameters\":{\"begin\":\"[ \\\\t\\\\r\\\\n]*\\\\b(?:(bind)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$\\\\.]*)[ \\\\t\\\\r\\\\n]+)?([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]+(?!intersect|and|or|throughout|within)(?=#[^#])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"name\":\"entity.name.type.module.systemverilog\"},\"3\":{\"name\":\"entity.name.type.module.systemverilog\"}},\"end\":\"\\\\)(?:[ \\\\t\\\\r\\\\n]*(;))?\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.module.instantiation.end.systemverilog\"}},\"name\":\"meta.module.parameters.systemverilog\",\"patterns\":[{\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*\\\\()\",\"name\":\"variable.other.module.systemverilog\"},{\"include\":\"#module-binding\"},{\"include\":\"#parameters\"},{\"include\":\"#comments\"},{\"include\":\"#operators\"},{\"include\":\"#constants\"},{\"include\":\"#strings\"},{\"include\":\"#port-net-parameter\"},{\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b(?=[ \\\\t\\\\r\\\\n]*$)\",\"name\":\"variable.other.module.systemverilog\"},{\"include\":\"#identifiers\"}]},\"operators\":{\"patterns\":[{\"match\":\"\\\\b(?:dist|inside|with|intersect|and|or|throughout|within|first_match)\\\\b|:=|:/|\\\\|->|\\\\|=>|->>|\\\\*>|#-#|#=#|&&&\",\"name\":\"keyword.operator.logical.systemverilog\"},{\"match\":\"@|##|#|->|<->\",\"name\":\"keyword.operator.channel.systemverilog\"},{\"match\":\"\\\\+=|-=|/=|\\\\*=|%=|&=|\\\\|=|\\\\^=|>>>=|>>=|<<<=|<<=|<=|=\",\"name\":\"keyword.operator.assignment.systemverilog\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.systemverilog\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.systemverilog\"},{\"match\":\"\\\\+|-|\\\\*\\\\*|\\\\*|/|%\",\"name\":\"keyword.operator.arithmetic.systemverilog\"},{\"match\":\"!|&&|\\\\|\\\\|\",\"name\":\"keyword.operator.logical.systemverilog\"},{\"match\":\"<<<|<<|>>>|>>\",\"name\":\"keyword.operator.bitwise.shift.systemverilog\"},{\"match\":\"~&|~\\\\||~|\\\\^~|~\\\\^|&|\\\\||\\\\^|{|'{|}|:|\\\\?\",\"name\":\"keyword.operator.bitwise.systemverilog\"},{\"match\":\"<=|<|>=|>|==\\\\?|!=\\\\?|===|!==|==|!=\",\"name\":\"keyword.operator.comparison.systemverilog\"}]},\"parameters\":{\"begin\":\"[ \\\\t\\\\r\\\\n]*(#)[ \\\\t\\\\r\\\\n]*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.channel.systemverilog\"},\"2\":{\"name\":\"punctuation.section.parameters.begin\"}},\"end\":\"(\\\\))[ \\\\t\\\\r\\\\n]*(?=;|\\\\(|[a-zA-Z_]|\\\\\\\\|$)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.parameters.end\"}},\"name\":\"meta.parameters.systemverilog\",\"patterns\":[{\"include\":\"#port-net-parameter\"},{\"include\":\"#comments\"},{\"include\":\"#constants\"},{\"include\":\"#operators\"},{\"include\":\"#strings\"},{\"include\":\"#system-tf\"},{\"include\":\"#functions\"},{\"match\":\"\\\\bvirtual\\\\b\",\"name\":\"storage.modifier.systemverilog\"},{\"include\":\"#module-binding\"}]},\"port-net-parameter\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"support.type.direction.systemverilog\"},\"2\":{\"name\":\"storage.type.net.systemverilog\"},\"3\":{\"name\":\"support.type.scope.systemverilog\"},\"4\":{\"name\":\"keyword.operator.scope.systemverilog\"},\"5\":{\"patterns\":[{\"include\":\"#built-ins\"},{\"match\":\"[a-zA-Z_][a-zA-Z0-9_$]*\",\"name\":\"storage.type.user-defined.systemverilog\"}]},\"6\":{\"patterns\":[{\"include\":\"#modifiers\"}]},\"7\":{\"patterns\":[{\"include\":\"#selects\"}]},\"8\":{\"patterns\":[{\"include\":\"#constants\"},{\"include\":\"#identifiers\"}]},\"9\":{\"patterns\":[{\"include\":\"#selects\"}]}},\"match\":\",?[ \\\\t\\\\r\\\\n]*(?:\\\\b(output|input|inout|ref)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?(?:([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:\\\\b(signed|unsigned)\\\\b[ \\\\t\\\\r\\\\n]*)?(?:(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])[ \\\\t\\\\r\\\\n]*)?(?<!(?<!#)[:&|=+\\\\-*/%?><^!~(][ \\\\t\\\\r\\\\n]*)\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?[ \\\\t\\\\r\\\\n]*(?=,|;|=|\\\\)|/|$)\",\"name\":\"meta.port-net-parameter.declaration.systemverilog\"}]},\"selects\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.slice.brackets.begin\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.slice.brackets.end\"}},\"name\":\"meta.brackets.select.systemverilog\",\"patterns\":[{\"match\":\"\\\\$(?![a-z])\",\"name\":\"constant.language.systemverilog\"},{\"include\":\"#system-tf\"},{\"include\":\"#constants\"},{\"include\":\"#operators\"},{\"include\":\"#cast-operator\"},{\"include\":\"#storage-scope\"},{\"match\":\"[a-zA-Z_][a-zA-Z0-9_$]*\",\"name\":\"variable.other.identifier.systemverilog\"}]},\"sequence\":{\"captures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"name\":\"entity.name.function.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(sequence)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b\",\"name\":\"meta.sequence.systemverilog\"},\"storage-scope\":{\"captures\":{\"1\":{\"name\":\"support.type.scope.systemverilog\"},\"2\":{\"name\":\"keyword.operator.scope.systemverilog\"}},\"match\":\"\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)(::)\",\"name\":\"meta.scope.systemverilog\"},\"strings\":{\"patterns\":[{\"begin\":\"`?\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.systemverilog\"}},\"end\":\"\\\"`?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.systemverilog\"}},\"name\":\"string.quoted.double.systemverilog\",\"patterns\":[{\"match\":\"\\\\\\\\(?:[nt\\\\\\\\\\\"vfa]|[0-7]{3}|x[0-9a-fA-F]{2})\",\"name\":\"constant.character.escape.systemverilog\"},{\"match\":\"%(\\\\d+\\\\$)?['\\\\-+0 #]*[,;:_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh|h|ll|l|j|z|t|L)?[xXhHdDoObBcClLvVmMpPsStTuUzZeEfFgG%]\",\"name\":\"constant.character.format.placeholder.systemverilog\"},{\"match\":\"%\",\"name\":\"invalid.illegal.placeholder.systemverilog\"},{\"include\":\"#fixme-todo\"}]},{\"begin\":\"(?<=include)[ \\\\t\\\\r\\\\n]*(<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.systemverilog\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.systemverilog\"}},\"name\":\"string.quoted.other.lt-gt.include.systemverilog\"}]},\"sv-control\":{\"captures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|if|iff|else|case|casex|casez|default|endcase|return|break|continue|do|foreach|clocking|coverpoint|property|bins|binsof|illegal_bins|ignore_bins|randcase|matches|solve|before|expect|cross|ref|srandom|struct|chandle|tagged|extern|throughout|timeprecision|timeunit|priority|type|union|wait_order|triggered|randsequence|context|pure|wildcard|new|forkjoin|unique|unique0|priority)\\\\b\"},\"sv-control-begin\":{\"captures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"name\":\"punctuation.definition.label.systemverilog\"},\"3\":{\"name\":\"entity.name.section.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(begin|fork)\\\\b(?:[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?\",\"name\":\"meta.item.begin.systemverilog\"},\"sv-control-end\":{\"captures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"name\":\"punctuation.definition.label.systemverilog\"},\"3\":{\"name\":\"entity.name.section.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\b(?:[ \\\\t\\\\r\\\\n]*(:)[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*))?\",\"name\":\"meta.item.end.systemverilog\"},\"sv-cover-cross\":{\"captures\":{\"2\":{\"name\":\"entity.name.type.class.systemverilog\"},\"3\":{\"name\":\"keyword.operator.other.systemverilog\"},\"4\":{\"name\":\"keyword.control.systemverilog\"}},\"match\":\"(([a-zA-Z_][a-zA-Z0-9_$]*)[ \\\\t\\\\r\\\\n]*(:))?[ \\\\t\\\\r\\\\n]*(coverpoint|cross)[ \\\\t\\\\r\\\\n]+([a-zA-Z_][a-zA-Z0-9_$]*)\",\"name\":\"meta.definition.systemverilog\"},\"sv-definition\":{\"captures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"name\":\"entity.name.type.class.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(primitive|package|constraint|interface|covergroup|program)[ \\\\t\\\\r\\\\n]+\\\\b([a-zA-Z_][a-zA-Z0-9_$]*)\\\\b\",\"name\":\"meta.definition.systemverilog\"},\"sv-local\":{\"captures\":{\"1\":{\"name\":\"keyword.other.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\b\"},\"sv-option\":{\"captures\":{\"1\":{\"name\":\"keyword.cover.systemverilog\"}},\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(option)\\\\.\"},\"sv-rand\":{\"match\":\"[ \\\\t\\\\r\\\\n]*\\\\b(?:rand|randc)\\\\b\",\"name\":\"storage.type.rand.systemverilog\"},\"sv-std\":{\"match\":\"\\\\b(std)\\\\b::\",\"name\":\"support.class.systemverilog\"},\"system-tf\":{\"match\":\"\\\\$[a-zA-Z0-9_$][a-zA-Z0-9_$]*\\\\b\",\"name\":\"support.function.systemverilog\"},\"tables\":{\"begin\":\"[ \\\\t\\\\r\\\\n]*\\\\b(table)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.table.systemverilog.begin\"}},\"end\":\"[ \\\\t\\\\r\\\\n]*\\\\b(endtable)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.table.systemverilog.end\"}},\"name\":\"meta.table.systemverilog\",\"patterns\":[{\"include\":\"#comments\"},{\"match\":\"\\\\b[01xXbBrRfFpPnN]\\\\b\",\"name\":\"constant.language.systemverilog\"},{\"match\":\"[-*?]\",\"name\":\"constant.language.systemverilog\"},{\"captures\":{\"1\":{\"name\":\"constant.language.systemverilog\"}},\"match\":\"\\\\(([01xX?]{2})\\\\)\"},{\"match\":\":\",\"name\":\"punctuation.definition.label.systemverilog\"},{\"include\":\"#operators\"},{\"include\":\"#constants\"},{\"include\":\"#strings\"},{\"include\":\"#identifiers\"}]},\"typedef\":{\"begin\":\"[ \\\\t\\\\r\\\\n]*\\\\b(?:(typedef)[ \\\\t\\\\r\\\\n]+)(?:([a-zA-Z_][a-zA-Z0-9_$]*)(?:[ \\\\t\\\\r\\\\n]+\\\\b(signed|unsigned)\\\\b)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?=[ \\\\t\\\\r\\\\n]*[a-zA-Z_\\\\\\\\])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"patterns\":[{\"include\":\"#built-ins\"},{\"match\":\"\\\\bvirtual\\\\b\",\"name\":\"storage.modifier.systemverilog\"}]},\"3\":{\"patterns\":[{\"include\":\"#modifiers\"}]},\"4\":{\"patterns\":[{\"include\":\"#selects\"}]}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typedef.end.systemverilog\"}},\"name\":\"meta.typedef.systemverilog\",\"patterns\":[{\"include\":\"#identifiers\"},{\"include\":\"#selects\"}]},\"typedef-enum-struct-union\":{\"begin\":\"[ \\\\t\\\\r\\\\n]*\\\\b(typedef)[ \\\\t\\\\r\\\\n]+(enum|struct|union(?:[ \\\\t\\\\r\\\\n]+tagged)?|class|interface[ \\\\t\\\\r\\\\n]+class)(?:[ \\\\t\\\\r\\\\n]+(?!packed|signed|unsigned)([a-zA-Z_][a-zA-Z0-9_$]*)?(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?))?(?:[ \\\\t\\\\r\\\\n]+(packed))?(?:[ \\\\t\\\\r\\\\n]+(signed|unsigned))?(?=[ \\\\t\\\\r\\\\n]*(?:{|$))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.systemverilog\"},\"2\":{\"name\":\"keyword.control.systemverilog\"},\"3\":{\"patterns\":[{\"include\":\"#built-ins\"}]},\"4\":{\"patterns\":[{\"include\":\"#selects\"}]},\"5\":{\"name\":\"storage.modifier.systemverilog\"},\"6\":{\"name\":\"storage.modifier.systemverilog\"}},\"end\":\"(?<=})[ \\\\t\\\\r\\\\n]*([a-zA-Z_][a-zA-Z0-9_$]*|(?<=^|[ \\\\t\\\\r\\\\n])\\\\\\\\[!-~]+(?=$|[ \\\\t\\\\r\\\\n]))(?:[ \\\\t\\\\r\\\\n]*(\\\\[[a-zA-Z0-9_:$\\\\.\\\\-+\\\\*/%`' \\\\t\\\\r\\\\n\\\\[\\\\]()]*\\\\])?)[ \\\\t\\\\r\\\\n]*[,;]\",\"endCaptures\":{\"1\":{\"name\":\"storage.type.systemverilog\"},\"2\":{\"patterns\":[{\"include\":\"#selects\"}]}},\"name\":\"meta.typedef-enum-struct-union.systemverilog\",\"patterns\":[{\"include\":\"#port-net-parameter\"},{\"include\":\"#keywords\"},{\"include\":\"#base-grammar\"},{\"include\":\"#identifiers\"}]}},\"scopeName\":\"source.systemverilog\"}"))
2
+
3
+ export default [
4
+ lang
5
+ ]
@@ -0,0 +1,3 @@
1
+ import type { LanguageRegistration } from '@shikijs/types'
2
+ const langs: LanguageRegistration []
3
+ export default langs
@@ -0,0 +1,5 @@
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Systemd Units\",\"name\":\"systemd\",\"patterns\":[{\"include\":\"#comments\"},{\"begin\":\"^\\\\s*(InaccessableDirectories|InaccessibleDirectories|ReadOnlyDirectories|ReadWriteDirectories|Capabilities|TableId|UseDomainName|IPv6AcceptRouterAdvertisements|SysVStartPriority|StartLimitInterval|RequiresOverridable|RequisiteOverridable|PropagateReloadTo|PropagateReloadFrom|OnFailureIsolate|BindTo)\\\\s*(=)[ \\\\t]*\",\"beginCaptures\":{\"1\":{\"name\":\"invalid.deprecated\"},\"2\":{\"name\":\"keyword.operator.assignment\"}},\"end\":\"(?<!\\\\\\\\)\\\\n\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#variables\"},{\"include\":\"#quotedString\"},{\"include\":\"#booleans\"},{\"include\":\"#timeSpans\"},{\"include\":\"#sizes\"},{\"include\":\"#numbers\"}]},{\"begin\":\"^\\\\s*(Environment)\\\\s*(=)[ \\\\t]*\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag\"},\"2\":{\"name\":\"keyword.operator.assignment\"}},\"end\":\"(?<!\\\\\\\\)\\\\n\",\"name\":\"meta.config-entry.systemd\",\"patterns\":[{\"include\":\"#comments\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter\"},\"2\":{\"name\":\"keyword.operator.assignment\"}},\"match\":\"(?<=\\\\G|[\\\\s\\\"'])([A-Za-z0-9_]+)(=)(?=[^\\\\s\\\"'])\"},{\"include\":\"#variables\"},{\"include\":\"#booleans\"},{\"include\":\"#numbers\"}]},{\"begin\":\"^\\\\s*(OnCalendar)\\\\s*(=)[ \\\\t]*\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag\"},\"2\":{\"name\":\"keyword.operator.assignment\"}},\"end\":\"(?<!\\\\\\\\)\\\\n\",\"name\":\"meta.config-entry.systemd\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#variables\"},{\"include\":\"#calendarShorthands\"},{\"include\":\"#numbers\"}]},{\"begin\":\"^\\\\s*(CapabilityBoundingSet|AmbientCapabilities|AddCapability|DropCapability)\\\\s*(=)[ \\\\t]*\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag\"},\"2\":{\"name\":\"keyword.operator.assignment\"}},\"end\":\"(?<!\\\\\\\\)\\\\n\",\"name\":\"meta.config-entry.systemd\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#capabilities\"}]},{\"begin\":\"^\\\\s*(Restart)\\\\s*(=)[ \\\\t]*\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag\"},\"2\":{\"name\":\"keyword.operator.assignment\"}},\"end\":\"(?<!\\\\\\\\)\\\\n\",\"name\":\"meta.config-entry.systemd\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#variables\"},{\"include\":\"#restartOptions\"}]},{\"begin\":\"^\\\\s*(Type)\\\\s*(=)[ \\\\t]*\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag\"},\"2\":{\"name\":\"keyword.operator.assignment\"}},\"end\":\"(?<!\\\\\\\\)\\\\n\",\"name\":\"meta.config-entry.systemd\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#variables\"},{\"include\":\"#typeOptions\"}]},{\"begin\":\"^\\\\s*(Exec(?:Start(?:Pre|Post)?|Reload|Stop(?:Post)?))\\\\s*(=)[ \\\\t]*\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag\"},\"2\":{\"name\":\"keyword.operator.assignment\"}},\"end\":\"(?<!\\\\\\\\)\\\\n\",\"name\":\"meta.config-entry.systemd\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#executablePrefixes\"},{\"include\":\"#variables\"},{\"include\":\"#quotedString\"},{\"include\":\"#booleans\"},{\"include\":\"#numbers\"}]},{\"begin\":\"^\\\\s*([\\\\w\\\\-\\\\.]+)\\\\s*(=)[ \\\\t]*\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag\"},\"2\":{\"name\":\"keyword.operator.assignment\"}},\"end\":\"(?<!\\\\\\\\)\\\\n\",\"name\":\"meta.config-entry.systemd\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#variables\"},{\"include\":\"#quotedString\"},{\"include\":\"#booleans\"},{\"include\":\"#timeSpans\"},{\"include\":\"#sizes\"},{\"include\":\"#numbers\"}]},{\"include\":\"#sections\"}],\"repository\":{\"booleans\":{\"patterns\":[{\"match\":\"\\\\b(?<![-\\\\/\\\\.])(true|false|on|off|yes|no)(?![-\\\\/\\\\.])\\\\b\",\"name\":\"constant.language\"}]},\"calendarShorthands\":{\"patterns\":[{\"match\":\"\\\\b(?:minute|hour|dai|month|week|quarter|semiannual)ly\\\\b\",\"name\":\"constant.language\"}]},\"capabilities\":{\"patterns\":[{\"match\":\"\\\\b(?:CAP_(?:AUDIT_CONTROL|AUDIT_READ|AUDIT_WRITE|BLOCK_SUSPEND|BPF|CHECKPOINT_RESTORE|CHOWN|DAC_OVERRIDE|DAC_READ_SEARCH|FOWNER|FSETID|IPC_LOCK|IPC_OWNER|KILL|LEASE|LINUX_IMMUTABLE|MAC_ADMIN|MAC_OVERRIDE|MKNOD|NET_ADMIN|NET_BIND_SERVICE|NET_BROADCAST|NET_RAW|PERFMON|SETFCAP|SETGID|SETPCAP|SETUID|SYS_ADMIN|SYS_BOOT|SYS_CHROOT|SYS_MODULE|SYS_NICE|SYS_PACCT|SYS_PTRACE|SYS_RAWIO|SYS_RESOURCE|SYS_TIME|SYS_TTY_CONFIG|SYSLOG|WAKE_ALARM))\\\\b\",\"name\":\"constant.other.systemd\"}]},\"comments\":{\"patterns\":[{\"match\":\"^\\\\s*[#;].*\\\\n\",\"name\":\"comment.line.number-sign\"}]},\"executablePrefixes\":{\"patterns\":[{\"match\":\"\\\\G([@\\\\-:]+(?:\\\\+|!!?)?|(?:\\\\+|!!?)[@\\\\-:]*)\",\"name\":\"keyword.operator.prefix.systemd\"}]},\"numbers\":{\"patterns\":[{\"match\":\"(?<=\\\\s|=)\\\\d+(?:\\\\.\\\\d+)?(?=[\\\\s:]|$)\",\"name\":\"constant.numeric\"}]},\"quotedString\":{\"patterns\":[{\"begin\":\"(?<=\\\\G|\\\\s)'\",\"end\":\"['\\\\n]\",\"name\":\"string.quoted.single\",\"patterns\":[{\"match\":\"\\\\\\\\(?:[abfnrtvs\\\\\\\\\\\"'\\\\n]|x[0-9A-Fa-f]{2}|[0-8]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})\",\"name\":\"constant.character.escape\"}]},{\"begin\":\"(?<=\\\\G|\\\\s)\\\"\",\"end\":\"[\\\"\\\\n]\",\"name\":\"string.quoted.double\",\"patterns\":[{\"match\":\"\\\\\\\\(?:[abfnrtvs\\\\\\\\\\\"'\\\\n]|x[0-9A-Fa-f]{2}|[0-8]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})\",\"name\":\"constant.character.escape\"}]}]},\"restartOptions\":{\"patterns\":[{\"match\":\"\\\\b(no|always|on-(?:success|failure|abnormal|abort|watchdog))\\\\b\",\"name\":\"constant.language\"}]},\"sections\":{\"patterns\":[{\"match\":\"^\\\\s*\\\\[(Address|Automount|BFIFO|BareUDP|BatmanAdvanced|Bond|Bridge|BridgeFDB|BridgeMDB|BridgeVLAN|CAKE|CAN|Container|Content|ControlledDelay|Coredump|D-BUS Service|DHCP|DHCPPrefixDelegation|DHCPServer|DHCPServerStaticLease|DHCPv4|DHCPv6|DHCPv6PrefixDelegation|DeficitRoundRobinScheduler|DeficitRoundRobinSchedulerClass|Distribution|EnhancedTransmissionSelection|Exec|FairQueueing|FairQueueingControlledDelay|Files|FlowQueuePIE|FooOverUDP|GENEVE|GenericRandomEarlyDetection|HeavyHitterFilter|HierarchyTokenBucket|HierarchyTokenBucketClass|Home|IOCost|IPVLAN|IPVTAP|IPoIB|IPv6AcceptRA|IPv6AddressLabel|IPv6PREF64Prefix|IPv6Prefix|IPv6PrefixDelegation|IPv6RoutePrefix|IPv6SendRA|Image|Install|Journal|Kube|L2TP|L2TPSession|LLDP|Link|Login|MACVLAN|MACVTAP|MACsec|MACsecReceiveAssociation|MACsecReceiveChannel|MACsecTransmitAssociation|Manager|Match|Mount|Neighbor|NetDev|Network|NetworkEmulator|NextHop|OOM|Output|PFIFO|PFIFOFast|PFIFOHeadDrop|PIE|PStore|Packages|Partition|Path|Peer|Pod|QDisc|QuickFairQueueing|QuickFairQueueingClass|Remote|Resolve|Route|RoutingPolicyRule|SR-IOV|Scope|Service|Sleep|Socket|Source|StochasticFairBlue|StochasticFairnessQueueing|Swap|Tap|Target|Time|Timer|TokenBucketFilter|TrafficControlQueueingDiscipline|Transfer|TrivialLinkEqualizer|Tun|Tunnel|UKI|Unit|Upload|VLAN|VRF|VXCAN|VXLAN|Volume|WLAN|WireGuard|WireGuardPeer|Xfrm)\\\\]\",\"name\":\"entity.name.section\"},{\"match\":\"\\\\s*\\\\[[\\\\w-]+\\\\]\",\"name\":\"entity.name.unknown-section\"}]},\"sizes\":{\"patterns\":[{\"match\":\"(?<=\\\\s|=)\\\\d+(?:\\\\.\\\\d+)?[KMGT](?=[\\\\s:]|$)\",\"name\":\"constant.numeric\"},{\"match\":\"(?<==)infinity(?=[\\\\s:]|$)\",\"name\":\"constant.numeric\"}]},\"timeSpans\":{\"patterns\":[{\"match\":\"\\\\b(?:\\\\d+(?:[uμ]s(?:ec)?|ms(?:ec)?|s(?:ec|econds?)?|m(?:in|inutes?)?|h(?:r|ours?)?|d(?:ays?)?|w(?:eeks)?|M|months?|y(?:ears?)?)){1,}\\\\b\",\"name\":\"constant.numeric\"}]},\"typeOptions\":{\"patterns\":[{\"match\":\"\\\\b(?:simple|exec|forking|oneshot|dbus|notify(?:-reload)?|idle|unicast|local|broadcast|anycast|multicast|blackhole|unreachable|prohibit|throw|nat|xresolve|blackhole|unreachable|prohibit|ad-hoc|station|ap(?:-vlan)?|wds|monitor|mesh-point|p2p-(?:client|go|device)|ocb|nan)\\\\b\",\"name\":\"constant.language\"}]},\"variables\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.systemd\"},\"2\":{\"name\":\"variable.other\"}},\"match\":\"(\\\\$)([A-Za-z0-9_]+)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.systemd\"},\"2\":{\"name\":\"variable.other\"},\"3\":{\"name\":\"punctuation.definition.variable.systemd\"}},\"match\":\"(\\\\$\\\\{)([A-Za-z0-9_]+)(\\\\})\"},{\"match\":\"%%\",\"name\":\"constant.other.placeholder\"},{\"match\":\"%[aAbBCEfgGhHiIjJlLmMnNopPsStTuUvVwW]\\\\b\",\"name\":\"constant.other.placeholder\"}]}},\"scopeName\":\"source.systemd\"}"))
2
+
3
+ export default [
4
+ lang
5
+ ]
@@ -0,0 +1,3 @@
1
+ import type { LanguageRegistration } from '@shikijs/types'
2
+ const langs: LanguageRegistration []
3
+ export default langs
package/dist/talon.mjs ADDED
@@ -0,0 +1,2 @@
1
+ /* Alias talon for talonscript */
2
+ export { default } from './talonscript.mjs'
@@ -0,0 +1,3 @@
1
+ import type { LanguageRegistration } from '@shikijs/types'
2
+ const langs: LanguageRegistration []
3
+ export default langs
@@ -0,0 +1,5 @@
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"TalonScript\",\"name\":\"talonscript\",\"patterns\":[{\"include\":\"#body-header\"},{\"include\":\"#header\"},{\"include\":\"#body-noheader\"},{\"include\":\"#comment\"},{\"include\":\"#settings\"}],\"repository\":{\"action\":{\"begin\":\"([a-zA-Z0-9._]+)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.talon\",\"patterns\":[{\"match\":\"\\\\.\",\"name\":\"punctuation.separator.talon\"}]},\"2\":{\"name\":\"punctuation.definition.parameters.begin.talon\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.talon\"}},\"name\":\"variable.parameter.talon\",\"patterns\":[{\"include\":\"#action\"},{\"include\":\"#qstring-long\"},{\"include\":\"#qstring\"},{\"include\":\"#argsep\"},{\"include\":\"#number\"},{\"include\":\"#operator\"},{\"include\":\"#varname\"}]},\"action-gamepad\":{\"captures\":{\"2\":{\"name\":\"punctuation.definition.parameters.begin.talon\"},\"3\":{\"name\":\"variable.parameter.talon\",\"patterns\":[{\"include\":\"#key-mods\"}]},\"4\":{\"name\":\"punctuation.definition.parameters.key.talon\"}},\"match\":\"(deck|gamepad|action|face|parrot)(\\\\()(.*)(\\\\))\",\"name\":\"entity.name.function.talon\"},\"action-key\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.talon\"},\"2\":{\"name\":\"variable.parameter.talon\",\"patterns\":[{\"include\":\"#key-prefixes\"},{\"include\":\"#key-mods\"},{\"include\":\"#keystring\"}]},\"3\":{\"name\":\"punctuation.definition.parameters.key.talon\"}},\"match\":\"key(\\\\()(.*)(\\\\))\",\"name\":\"entity.name.function.talon\"},\"argsep\":{\"match\":\",\",\"name\":\"punctuation.separator.talon\"},\"assignment\":{\"captures\":{\"1\":{\"name\":\"variable.other.talon\"},\"2\":{\"name\":\"keyword.operator.talon\"},\"3\":{\"name\":\"variable.other.talon\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#expression\"}]}},\"match\":\"(\\\\S*)(\\\\s?=\\\\s?)(.*)\"},\"body-header\":{\"begin\":\"^-$\",\"end\":\"(?=not)possible\",\"patterns\":[{\"include\":\"#body-noheader\"}]},\"body-noheader\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#other-rule-definition\"},{\"include\":\"#speech-rule-definition\"}]},\"capture\":{\"match\":\"(<[a-zA-Z0-9._]+>)\",\"name\":\"variable.parameter.talon\"},\"comment\":{\"match\":\"(\\\\s*#.*)$\",\"name\":\"comment.line.number-sign.talon\"},\"context\":{\"captures\":{\"1\":{\"name\":\"entity.name.tag.talon\",\"patterns\":[{\"match\":\"(and |or )\",\"name\":\"keyword.operator.talon\"}]},\"2\":{\"name\":\"entity.name.type.talon\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#regexp\"}]}},\"match\":\"(.*): (.*)\"},\"expression\":{\"patterns\":[{\"include\":\"#qstring-long\"},{\"include\":\"#action-key\"},{\"include\":\"#action\"},{\"include\":\"#operator\"},{\"include\":\"#number\"},{\"include\":\"#qstring\"},{\"include\":\"#varname\"}]},\"fstring\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#action\"},{\"include\":\"#operator\"},{\"include\":\"#number\"},{\"include\":\"#varname\"},{\"include\":\"#qstring\"}]}},\"match\":\"{(.+?)}\",\"name\":\"constant.character.format.placeholder.talon\"},\"header\":{\"begin\":\"(?=^app:|title:|os:|tag:|list:|language:)\",\"end\":\"(?=^-$)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#context\"}]},\"key-mods\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.talon\"},\"2\":{\"name\":\"keyword.control.talon\"}},\"match\":\"(:)(up|down|change|repeat|start|stop|\\\\d+)\",\"name\":\"keyword.operator.talon\"},\"key-prefixes\":{\"captures\":{\"1\":{\"name\":\"keyword.control.talon\"},\"2\":{\"name\":\"keyword.operator.talon\"}},\"match\":\"(ctrl|shift|cmd|alt|win|super)(-)\"},\"keystring\":{\"begin\":\"(\\\"|')\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.talon\"}},\"end\":\"(\\\\1)|$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.talon\"}},\"name\":\"string.quoted.double.talon\",\"patterns\":[{\"include\":\"#string-body\"},{\"include\":\"#key-mods\"},{\"include\":\"#key-prefixes\"}]},\"list\":{\"match\":\"({[a-zA-Z0-9._]+?})\",\"name\":\"string.interpolated.talon\"},\"number\":{\"match\":\"(?<=\\\\b)\\\\d+(\\\\.\\\\d+)?\",\"name\":\"constant.numeric.talon\"},\"operator\":{\"match\":\"\\\\s(\\\\+|-|\\\\*|/|or)\\\\s\",\"name\":\"keyword.operator.talon\"},\"other-rule-definition\":{\"begin\":\"^([a-z]+\\\\(.*[^\\\\-]\\\\)|[a-z]+\\\\(.*--\\\\)|[a-z]+\\\\(-\\\\)|[a-z]+\\\\(\\\\)):\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.talon\",\"patterns\":[{\"include\":\"#action-key\"},{\"include\":\"#action-gamepad\"},{\"include\":\"#rule-specials\"}]}},\"end\":\"(?=^[^\\\\s#])\",\"patterns\":[{\"include\":\"#statement\"}]},\"qstring\":{\"begin\":\"(\\\"|')\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.talon\"}},\"end\":\"(\\\\1)|$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.talon\"}},\"name\":\"string.quoted.double.talon\",\"patterns\":[{\"include\":\"#string-body\"}]},\"qstring-long\":{\"begin\":\"(\\\"\\\"\\\"|''')\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.talon\"}},\"end\":\"(\\\\1)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.talon\"}},\"name\":\"string.quoted.double.talon\",\"patterns\":[{\"include\":\"#string-body\"}]},\"regexp\":{\"begin\":\"(/)\",\"end\":\"(/)\",\"name\":\"string.regexp.talon\",\"patterns\":[{\"match\":\"\\\\.\",\"name\":\"support.other.match.any.regexp\"},{\"match\":\"\\\\$\",\"name\":\"support.other.match.end.regexp\"},{\"match\":\"\\\\^\",\"name\":\"support.other.match.begin.regexp\"},{\"match\":\"\\\\\\\\\\\\.|\\\\\\\\\\\\*|\\\\\\\\\\\\^|\\\\\\\\\\\\$|\\\\\\\\\\\\+|\\\\\\\\\\\\?\",\"name\":\"constant.character.escape.talon\"},{\"match\":\"\\\\[(\\\\\\\\\\\\]|[^\\\\]])*\\\\]\",\"name\":\"constant.other.set.regexp\"},{\"match\":\"\\\\*|\\\\+|\\\\?\",\"name\":\"keyword.operator.quantifier.regexp\"}]},\"rule-specials\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.talon\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.talon\"},\"3\":{\"name\":\"punctuation.definition.parameters.end.talon\"}},\"match\":\"(settings|tag)(\\\\()(\\\\))\"},\"speech-rule-definition\":{\"begin\":\"^(.*?):\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.talon\",\"patterns\":[{\"match\":\"^\\\\^\",\"name\":\"string.regexp.talon\"},{\"match\":\"\\\\$$\",\"name\":\"string.regexp.talon\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.parameters.begin.talon\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.parameters.end.talon\"},{\"match\":\"\\\\|\",\"name\":\"punctuation.separator.talon\"},{\"include\":\"#capture\"},{\"include\":\"#list\"}]}},\"end\":\"(?=^[^\\\\s#])\",\"patterns\":[{\"include\":\"#statement\"}]},\"statement\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#qstring-long\"},{\"include\":\"#action-key\"},{\"include\":\"#action\"},{\"include\":\"#qstring\"},{\"include\":\"#assignment\"}]},\"string-body\":{\"patterns\":[{\"match\":\"{{|}}\",\"name\":\"string.quoted.double.talon\"},{\"match\":\"\\\\\\\\\\\\\\\\|\\\\\\\\n|\\\\\\\\t|\\\\\\\\r|\\\\\\\\\\\"|\\\\\\\\'\",\"name\":\"constant.character.escape.python\"},{\"include\":\"#fstring\"}]},\"varname\":{\"captures\":{\"2\":{\"name\":\"constant.numeric.talon\",\"patterns\":[{\"match\":\"_\",\"name\":\"keyword.operator.talon\"}]}},\"match\":\"([a-zA-Z0-9._])(_(list|\\\\d+))?\",\"name\":\"variable.parameter.talon\"}},\"scopeName\":\"source.talon\",\"aliases\":[\"talon\"]}"))
2
+
3
+ export default [
4
+ lang
5
+ ]
@@ -0,0 +1,3 @@
1
+ import type { LanguageRegistration } from '@shikijs/types'
2
+ const langs: LanguageRegistration []
3
+ export default langs
package/dist/tasl.mjs ADDED
@@ -0,0 +1,5 @@
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Tasl\",\"fileTypes\":[\"tasl\"],\"name\":\"tasl\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#namespace\"},{\"include\":\"#type\"},{\"include\":\"#class\"},{\"include\":\"#edge\"}],\"repository\":{\"class\":{\"begin\":\"(?:^\\\\s*)(class)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.tasl.class\"}},\"end\":\"$\",\"patterns\":[{\"include\":\"#key\"},{\"include\":\"#export\"},{\"include\":\"#expression\"}]},\"comment\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.tasl\"}},\"match\":\"(#).*$\",\"name\":\"comment.line.number-sign.tasl\"},\"component\":{\"begin\":\"->\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.tasl.component\"}},\"end\":\"$\",\"patterns\":[{\"include\":\"#expression\"}]},\"coproduct\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tasl.coproduct\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tasl.coproduct\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#term\"},{\"include\":\"#option\"}]},\"datatype\":{\"match\":\"[a-zA-Z][a-zA-Z0-9]*:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@/?]|%[0-9A-Fa-f]{2})+\",\"name\":\"string.regexp\"},\"edge\":{\"begin\":\"(?:^\\\\s*)(edge)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.tasl.edge\"}},\"end\":\"$\",\"patterns\":[{\"include\":\"#key\"},{\"include\":\"#export\"},{\"match\":\"=/\",\"name\":\"punctuation.separator.tasl.edge.source\"},{\"match\":\"/=>\",\"name\":\"punctuation.separator.tasl.edge.target\"},{\"match\":\"=>\",\"name\":\"punctuation.separator.tasl.edge\"},{\"include\":\"#expression\"}]},\"export\":{\"match\":\"::\",\"name\":\"keyword.operator.tasl.export\"},\"expression\":{\"patterns\":[{\"include\":\"#literal\"},{\"include\":\"#uri\"},{\"include\":\"#product\"},{\"include\":\"#coproduct\"},{\"include\":\"#reference\"},{\"include\":\"#optional\"},{\"include\":\"#identifier\"}]},\"identifier\":{\"captures\":{\"1\":{\"name\":\"variable\"}},\"match\":\"([a-zA-Z][a-zA-Z0-9]*)\\\\b\"},\"key\":{\"match\":\"[a-zA-Z][a-zA-Z0-9]*:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@/?]|%[0-9A-Fa-f]{2})+\",\"name\":\"markup.bold entity.name.class\"},\"literal\":{\"patterns\":[{\"include\":\"#datatype\"}]},\"namespace\":{\"captures\":{\"1\":{\"name\":\"keyword.control.tasl.namespace\"},\"2\":{\"patterns\":[{\"include\":\"#namespaceURI\"},{\"match\":\"[a-zA-Z][a-zA-Z0-9]*\\\\b\",\"name\":\"entity.name\"}]}},\"match\":\"(?:^\\\\s*)(namespace)\\\\b(.*)\"},\"namespaceURI\":{\"match\":\"[a-z]+:[a-zA-Z0-9-._~:\\\\/?#\\\\[\\\\]@!$&'()*+,;%=]+\",\"name\":\"markup.underline.link\"},\"option\":{\"begin\":\"<-\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.tasl.option\"}},\"end\":\"$\",\"patterns\":[{\"include\":\"#expression\"}]},\"optional\":{\"begin\":\"\\\\?\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator\"}},\"end\":\"$\",\"patterns\":[{\"include\":\"#expression\"}]},\"product\":{\"begin\":\"{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tasl.product\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.tasl.product\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#term\"},{\"include\":\"#component\"}]},\"reference\":{\"captures\":{\"1\":{\"name\":\"markup.bold keyword.operator\"},\"2\":{\"patterns\":[{\"include\":\"#key\"}]}},\"match\":\"(\\\\*)\\\\s*(.*)\"},\"term\":{\"match\":\"[a-zA-Z][a-zA-Z0-9]*:(?:[A-Za-z0-9\\\\-._~!$&'()*+,;=:@/?]|%[0-9A-Fa-f]{2})+\",\"name\":\"entity.other.tasl.key\"},\"type\":{\"begin\":\"(?:^\\\\s*)(type)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.tasl.type\"}},\"end\":\"$\",\"patterns\":[{\"include\":\"#expression\"}]},\"uri\":{\"match\":\"<>\",\"name\":\"variable.other.constant\"}},\"scopeName\":\"source.tasl\"}"))
2
+
3
+ export default [
4
+ lang
5
+ ]
package/dist/tcl.d.mts ADDED
@@ -0,0 +1,3 @@
1
+ import type { LanguageRegistration } from '@shikijs/types'
2
+ const langs: LanguageRegistration []
3
+ export default langs
package/dist/tcl.mjs ADDED
@@ -0,0 +1,5 @@
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Tcl\",\"fileTypes\":[\"tcl\"],\"foldingStartMarker\":\"\\\\{\\\\s*$\",\"foldingStopMarker\":\"^\\\\s*\\\\}\",\"name\":\"tcl\",\"patterns\":[{\"begin\":\"(?<=^|;)\\\\s*((#))\",\"beginCaptures\":{\"1\":{\"name\":\"comment.line.number-sign.tcl\"},\"2\":{\"name\":\"punctuation.definition.comment.tcl\"}},\"contentName\":\"comment.line.number-sign.tcl\",\"end\":\"\\\\n\",\"patterns\":[{\"match\":\"(\\\\\\\\\\\\\\\\|\\\\\\\\\\\\n)\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.tcl\"}},\"match\":\"(?<=^|[\\\\[{;])\\\\s*(if|while|for|catch|default|return|break|continue|switch|exit|foreach|try|throw)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.tcl\"}},\"match\":\"(?<=^|})\\\\s*(then|elseif|else)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.tcl\"},\"2\":{\"name\":\"entity.name.function.tcl\"}},\"match\":\"(?<=^|{)\\\\s*(proc)\\\\s+([^\\\\s]+)\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.tcl\"}},\"match\":\"(?<=^|[\\\\[{;])\\\\s*(after|append|array|auto_execok|auto_import|auto_load|auto_mkindex|auto_mkindex_old|auto_qualify|auto_reset|bgerror|binary|cd|clock|close|concat|dde|encoding|eof|error|eval|exec|expr|fblocked|fconfigure|fcopy|file|fileevent|filename|flush|format|gets|glob|global|history|http|incr|info|interp|join|lappend|library|lindex|linsert|list|llength|load|lrange|lreplace|lsearch|lset|lsort|memory|msgcat|namespace|open|package|parray|pid|pkg::create|pkg_mkIndex|proc|puts|pwd|re_syntax|read|registry|rename|resource|scan|seek|set|socket|SafeBase|source|split|string|subst|Tcl|tcl_endOfWord|tcl_findLibrary|tcl_startOfNextWord|tcl_startOfPreviousWord|tcl_wordBreakAfter|tcl_wordBreakBefore|tcltest|tclvars|tell|time|trace|unknown|unset|update|uplevel|upvar|variable|vwait)\\\\b\"},{\"begin\":\"(?<=^|[\\\\[{;])\\\\s*(regexp|regsub)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tcl\"}},\"comment\":\"special-case regexp/regsub keyword in order to handle the expression\",\"end\":\"[\\\\n;\\\\]]\",\"patterns\":[{\"match\":\"\\\\\\\\(?:.|\\\\n)\",\"name\":\"constant.character.escape.tcl\"},{\"comment\":\"switch for regexp\",\"match\":\"-\\\\w+\\\\s*\"},{\"applyEndPatternLast\":1,\"begin\":\"--\\\\s*\",\"comment\":\"end of switches\",\"end\":\"\",\"patterns\":[{\"include\":\"#regexp\"}]},{\"include\":\"#regexp\"}]},{\"include\":\"#escape\"},{\"include\":\"#variable\"},{\"include\":\"#operator\"},{\"include\":\"#numeric\"},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.tcl\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.tcl\"}},\"name\":\"string.quoted.double.tcl\",\"patterns\":[{\"include\":\"#escape\"},{\"include\":\"#variable\"},{\"include\":\"#embedded\"}]}],\"repository\":{\"bare-string\":{\"begin\":\"(?:^|(?<=\\\\s))\\\"\",\"comment\":\"matches a single quote-enclosed word without scoping\",\"end\":\"\\\"([^\\\\s\\\\]]*)\",\"endCaptures\":{\"1\":{\"name\":\"invalid.illegal.tcl\"}},\"patterns\":[{\"include\":\"#escape\"},{\"include\":\"#variable\"}]},\"braces\":{\"begin\":\"(?:^|(?<=\\\\s))\\\\{\",\"comment\":\"matches a single brace-enclosed word\",\"end\":\"\\\\}([^\\\\s\\\\]]*)\",\"endCaptures\":{\"1\":{\"name\":\"invalid.illegal.tcl\"}},\"patterns\":[{\"match\":\"\\\\\\\\[{}\\\\n]\",\"name\":\"constant.character.escape.tcl\"},{\"include\":\"#inner-braces\"}]},\"embedded\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.tcl\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.tcl\"}},\"name\":\"source.tcl.embedded\",\"patterns\":[{\"include\":\"source.tcl\"}]},\"escape\":{\"match\":\"\\\\\\\\(\\\\d{1,3}|x[a-fA-F0-9]+|u[a-fA-F0-9]{1,4}|.|\\\\n)\",\"name\":\"constant.character.escape.tcl\"},\"inner-braces\":{\"begin\":\"\\\\{\",\"comment\":\"matches a nested brace in a brace-enclosed word\",\"end\":\"\\\\}\",\"patterns\":[{\"match\":\"\\\\\\\\[{}\\\\n]\",\"name\":\"constant.character.escape.tcl\"},{\"include\":\"#inner-braces\"}]},\"numeric\":{\"match\":\"(?<![a-zA-Z])([+-]?(\\\\d*[.])?\\\\d+f?)(?![\\\\.a-zA-Z])\",\"name\":\"constant.numeric.tcl\"},\"operator\":{\"match\":\"(?<= |\\\\d)(-|\\\\+|~|&{1,2}|\\\\|{1,2}|<{1,2}|>{1,2}|\\\\*{1,2}|!|%|\\\\/|<=|>=|={1,2}|!=|\\\\^)(?= |\\\\d)\",\"name\":\"keyword.operator.tcl\"},\"regexp\":{\"begin\":\"(?=\\\\S)(?![\\\\n;\\\\]])\",\"comment\":\"matches a single word, named as a regexp, then swallows the rest of the command\",\"end\":\"(?=[\\\\n;\\\\]])\",\"patterns\":[{\"begin\":\"(?=[^ \\\\t\\\\n;])\",\"end\":\"(?=[ \\\\t\\\\n;])\",\"name\":\"string.regexp.tcl\",\"patterns\":[{\"include\":\"#braces\"},{\"include\":\"#bare-string\"},{\"include\":\"#escape\"},{\"include\":\"#variable\"}]},{\"begin\":\"[ \\\\t]\",\"comment\":\"swallow the rest of the command\",\"end\":\"(?=[\\\\n;\\\\]])\",\"patterns\":[{\"include\":\"#variable\"},{\"include\":\"#embedded\"},{\"include\":\"#escape\"},{\"include\":\"#braces\"},{\"include\":\"#string\"}]}]},\"string\":{\"applyEndPatternLast\":1,\"begin\":\"(?:^|(?<=\\\\s))(?=\\\")\",\"comment\":\"matches a single quote-enclosed word with scoping\",\"end\":\"\",\"name\":\"string.quoted.double.tcl\",\"patterns\":[{\"include\":\"#bare-string\"}]},\"variable\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.tcl\"}},\"match\":\"(\\\\$)((?:\\\\w|::)+(\\\\([^)]+\\\\))?|\\\\{[^}]*\\\\})\",\"name\":\"support.function.tcl\"}},\"scopeName\":\"source.tcl\"}"))
2
+
3
+ export default [
4
+ lang
5
+ ]
@@ -0,0 +1,3 @@
1
+ import type { LanguageRegistration } from '@shikijs/types'
2
+ const langs: LanguageRegistration []
3
+ export default langs