github-linguist 7.11.0 → 7.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (598) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +1123 -623
  3. data/ext/linguist/lex.linguist_yy.h +433 -66
  4. data/ext/linguist/linguist.c +5 -35
  5. data/ext/linguist/linguist.h +0 -18
  6. data/ext/linguist/tokenizer.l +83 -65
  7. data/grammars/annotation.liquidhaskell.haskell.json +1 -1835
  8. data/grammars/config.xcompose.json +1 -80
  9. data/grammars/documentation.markdown.injection.haxe.json +1 -22
  10. data/grammars/etc.json +1 -987
  11. data/grammars/file.lasso.json +1 -702
  12. data/grammars/hidden.manref.json +1 -29
  13. data/grammars/hidden.regexp.injection-shell.json +1 -28
  14. data/grammars/hint.haskell.json +1 -1762
  15. data/grammars/hint.message.haskell.json +1 -1786
  16. data/grammars/hint.type.haskell.json +1 -1759
  17. data/grammars/injections.etc.json +1 -659
  18. data/grammars/inline.prisma.json +1 -55
  19. data/grammars/markdown.hack.codeblock.json +1 -20
  20. data/grammars/markdown.haxe.codeblock.json +1 -26
  21. data/grammars/markdown.hxml.codeblock.json +1 -26
  22. data/grammars/markdown.lean.codeblock.json +1 -0
  23. data/grammars/markdown.plantuml.codeblock.json +1 -26
  24. data/grammars/objdump.x86asm.json +1 -69
  25. data/grammars/source.4dm.json +1 -1156
  26. data/grammars/source.SASLog.json +1 -18
  27. data/grammars/source.abap.json +1 -335
  28. data/grammars/source.abapcds.json +1 -0
  29. data/grammars/source.abl.json +1 -734
  30. data/grammars/source.abnf.json +1 -294
  31. data/grammars/source.actionscript.3.json +1 -1538
  32. data/grammars/source.acucobol.json +1 -13
  33. data/grammars/source.ada.json +1 -133
  34. data/grammars/source.afm.json +1 -1207
  35. data/grammars/source.agc.json +1 -87
  36. data/grammars/source.agda.json +1 -72
  37. data/grammars/source.ahk.json +1 -195
  38. data/grammars/source.al.json +1 -130
  39. data/grammars/source.alloy.json +1 -40
  40. data/grammars/source.ampl.json +1 -151
  41. data/grammars/source.angelscript.json +1 -186
  42. data/grammars/source.antlr.json +1 -295
  43. data/grammars/source.apache-config.json +1 -346
  44. data/grammars/source.apache-config.mod_perl.json +1 -65
  45. data/grammars/source.apl.json +1 -1427
  46. data/grammars/source.applescript.json +1 -1384
  47. data/grammars/source.asl.json +1 -56
  48. data/grammars/source.asn.json +1 -55
  49. data/grammars/source.asp.json +1 -151
  50. data/grammars/source.aspectj.json +1 -960
  51. data/grammars/source.assembly.json +1 -116
  52. data/grammars/source.ats.json +1 -164
  53. data/grammars/source.autoit.json +1 -167
  54. data/grammars/source.avro.json +1 -381
  55. data/grammars/source.awk.json +1 -384
  56. data/grammars/source.ballerina.json +1 -1785
  57. data/grammars/source.batchfile.json +1 -732
  58. data/grammars/source.bdf.json +1 -425
  59. data/grammars/source.befunge.json +1 -34
  60. data/grammars/source.bf.json +1 -30
  61. data/grammars/source.blitzmax.json +1 -905
  62. data/grammars/source.bnf.json +1 -191
  63. data/grammars/source.boo.json +1 -448
  64. data/grammars/source.boogie.json +1 -0
  65. data/grammars/source.brightauthorproject.json +1 -24
  66. data/grammars/source.brightscript.json +1 -148
  67. data/grammars/source.bsl.json +1 -451
  68. data/grammars/source.bsv.json +1 -277
  69. data/grammars/source.c++.json +1 -436
  70. data/grammars/source.c++.qt.json +1 -29
  71. data/grammars/source.c.ec.json +1 -33
  72. data/grammars/source.c.json +1 -712
  73. data/grammars/source.c.nwscript.json +1 -0
  74. data/grammars/source.c.platform.json +1 -1115
  75. data/grammars/source.c2hs.json +1 -24
  76. data/grammars/source.cabal.json +1 -63
  77. data/grammars/source.cache.cmake.json +1 -70
  78. data/grammars/source.cake.json +1 -13
  79. data/grammars/source.camlp4.ocaml.json +1 -60
  80. data/grammars/source.capnp.json +1 -88
  81. data/grammars/source.ceylon.json +1 -93
  82. data/grammars/source.cfscript.cfc.json +1 -162
  83. data/grammars/source.cfscript.json +1 -737
  84. data/grammars/source.changelogs.rpm-spec.json +1 -91
  85. data/grammars/source.chapel.json +1 -265
  86. data/grammars/source.cirru.json +1 -61
  87. data/grammars/source.clarion.json +1 -146
  88. data/grammars/source.clean.json +1 -222
  89. data/grammars/source.click.json +1 -107
  90. data/grammars/source.clips.json +1 -67
  91. data/grammars/source.clojure.json +1 -429
  92. data/grammars/source.cm.json +1 -49
  93. data/grammars/source.cmake.json +1 -173
  94. data/grammars/source.cobol.json +1 -485
  95. data/grammars/source.coffee.json +1 -1310
  96. data/grammars/source.cool.json +1 -96
  97. data/grammars/source.coq.json +1 -58
  98. data/grammars/source.crystal.json +1 -2694
  99. data/grammars/source.cs.json +1 -4323
  100. data/grammars/source.csound-document.json +1 -175
  101. data/grammars/source.csound-score.json +1 -191
  102. data/grammars/source.csound.json +1 -824
  103. data/grammars/source.css.json +1 -1859
  104. data/grammars/source.css.less.json +1 -536
  105. data/grammars/source.css.mss.json +1 -249
  106. data/grammars/source.css.postcss.sugarss.json +1 -260
  107. data/grammars/source.css.scss.json +1 -1873
  108. data/grammars/source.csx.json +1 -13
  109. data/grammars/source.cuda-c++.json +1 -103
  110. data/grammars/source.curlrc.json +1 -984
  111. data/grammars/source.cwl.json +1 -103
  112. data/grammars/source.cython.json +1 -1912
  113. data/grammars/source.d.json +1 -741
  114. data/grammars/source.dart.json +1 -433
  115. data/grammars/source.data-weave.json +1 -1580
  116. data/grammars/source.desktop.json +1 -86
  117. data/grammars/source.diff.json +1 -153
  118. data/grammars/source.dircolors.json +1 -137
  119. data/grammars/source.direct-x.json +1 -135
  120. data/grammars/source.disasm.json +1 -30
  121. data/grammars/source.ditroff.desc.json +1 -411
  122. data/grammars/source.ditroff.json +1 -1280
  123. data/grammars/source.dm.json +1 -628
  124. data/grammars/source.dmf.json +1 -96
  125. data/grammars/source.dockerfile.json +1 -88
  126. data/grammars/source.dosbox-conf.json +1 -97
  127. data/grammars/source.dot.json +1 -117
  128. data/grammars/source.dylan.json +1 -212
  129. data/grammars/source.ebnf.json +1 -240
  130. data/grammars/source.editorconfig.json +1 -365
  131. data/grammars/source.eiffel.json +1 -133
  132. data/grammars/source.elixir.json +1 -965
  133. data/grammars/source.elm.json +1 -375
  134. data/grammars/source.emacs.lisp.json +1 -1301
  135. data/grammars/source.erlang.json +1 -1647
  136. data/grammars/source.essl.json +1 -37
  137. data/grammars/source.factor.json +1 -252
  138. data/grammars/source.fan.json +1 -341
  139. data/grammars/source.fancy.json +1 -245
  140. data/grammars/source.faust.json +1 -119
  141. data/grammars/source.figctrl.json +1 -252
  142. data/grammars/source.figfont.json +1 -121
  143. data/grammars/source.firestore.json +1 -289
  144. data/grammars/source.fish.json +1 -190
  145. data/grammars/source.fontdir.json +1 -99
  146. data/grammars/source.fontforge.json +1 -355
  147. data/grammars/source.forth.json +1 -84
  148. data/grammars/source.fortran.json +1 -464
  149. data/grammars/source.fortran.modern.json +1 -200
  150. data/grammars/source.fsharp.fsi.json +1 -9
  151. data/grammars/source.fsharp.fsl.json +1 -9
  152. data/grammars/source.fsharp.fsx.json +1 -13
  153. data/grammars/source.fsharp.json +1 -452
  154. data/grammars/source.fstar.json +1 -439
  155. data/grammars/source.futhark.json +1 -167
  156. data/grammars/source.gap.json +1 -163
  157. data/grammars/source.gcode.json +1 -176
  158. data/grammars/source.gdb.json +1 -160
  159. data/grammars/source.gdb.session.json +1 -70
  160. data/grammars/source.gdbregs.json +1 -14
  161. data/grammars/source.gdscript.json +1 -245
  162. data/grammars/source.gedcom.json +1 -196
  163. data/grammars/source.generic-db.json +1 -41
  164. data/grammars/source.gerber.json +1 -321
  165. data/grammars/source.gf.json +1 -51
  166. data/grammars/source.gfm.blade.json +1 -15
  167. data/grammars/source.gfm.json +1 -1913
  168. data/grammars/source.gitattributes.json +1 -111
  169. data/grammars/source.gitconfig.json +1 -450
  170. data/grammars/source.gitignore.json +1 -140
  171. data/grammars/source.glsl.json +1 -139
  172. data/grammars/source.gn.json +1 -345
  173. data/grammars/source.gnuplot.json +1 -260
  174. data/grammars/source.go.json +1 -540
  175. data/grammars/source.golo.json +1 -177
  176. data/grammars/source.gosu.2.json +1 -153
  177. data/grammars/source.grace.json +1 -675
  178. data/grammars/source.graphql.json +1 -978
  179. data/grammars/source.gremlin.json +1 -200
  180. data/grammars/source.groovy.gradle.json +1 -69
  181. data/grammars/source.groovy.json +1 -1374
  182. data/grammars/source.hack.json +1 -2595
  183. data/grammars/source.haproxy-config.json +1 -152
  184. data/grammars/source.harbour.json +1 -388
  185. data/grammars/source.haskell.json +1 -1760
  186. data/grammars/source.hc.json +1 -709
  187. data/grammars/source.hgignore.json +1 -34
  188. data/grammars/source.hlsl.json +1 -211
  189. data/grammars/source.hosts.json +1 -40
  190. data/grammars/source.hql.json +1 -492
  191. data/grammars/source.hsc2hs.json +1 -9
  192. data/grammars/source.hsig.json +1 -1760
  193. data/grammars/source.httpspec.json +1 -283
  194. data/grammars/source.hx.argument.json +1 -80
  195. data/grammars/source.hx.json +1 -2428
  196. data/grammars/source.hx.type.json +1 -8
  197. data/grammars/source.hxml.json +1 -59
  198. data/grammars/source.hy.json +1 -429
  199. data/grammars/source.ideal.json +1 -356
  200. data/grammars/source.idl-dlm.json +1 -105
  201. data/grammars/source.idl.json +1 -246
  202. data/grammars/source.idris.json +1 -523
  203. data/grammars/source.igor.json +1 -369
  204. data/grammars/source.inform7.json +1 -183
  205. data/grammars/source.ini.json +1 -107
  206. data/grammars/source.ini.npmrc.json +1 -311
  207. data/grammars/source.inno.json +1 -133
  208. data/grammars/source.inputrc.json +1 -500
  209. data/grammars/source.io.json +1 -156
  210. data/grammars/source.ioke.json +1 -266
  211. data/grammars/source.isabelle.root.json +1 -64
  212. data/grammars/source.isabelle.theory.json +1 -102
  213. data/grammars/source.j.json +1 -260
  214. data/grammars/source.jasmin.json +1 -294
  215. data/grammars/source.java-properties.json +1 -87
  216. data/grammars/source.java.json +1 -1020
  217. data/grammars/source.jcl.json +1 -46
  218. data/grammars/source.jflex.json +1 -484
  219. data/grammars/source.jison.json +1 -711
  220. data/grammars/source.jisonlex-injection.json +1 -10
  221. data/grammars/source.jisonlex.json +1 -434
  222. data/grammars/source.jolie.json +1 -132
  223. data/grammars/source.jq.json +1 -211
  224. data/grammars/source.js.json +1 -1897
  225. data/grammars/source.js.objj.json +1 -419
  226. data/grammars/source.js.regexp.json +1 -152
  227. data/grammars/source.js.regexp.replacement.json +1 -26
  228. data/grammars/source.jsdoc.json +1 -460
  229. data/grammars/source.json.json +1 -139
  230. data/grammars/source.jsonnet.json +1 -197
  231. data/grammars/source.julia.console.json +1 -51
  232. data/grammars/source.julia.json +1 -991
  233. data/grammars/source.kotlin.json +1 -704
  234. data/grammars/source.lark.json +1 -0
  235. data/grammars/source.lbnf.json +1 -0
  236. data/grammars/source.lcov.json +1 -398
  237. data/grammars/source.lean.json +1 -226
  238. data/grammars/source.lean.markdown.json +1 -2598
  239. data/grammars/source.lex.json +1 -232
  240. data/grammars/source.lex.regexp.json +1 -269
  241. data/grammars/source.lid.json +1 -19
  242. data/grammars/source.lilypond.json +1 -869
  243. data/grammars/source.lisp.json +1 -101
  244. data/grammars/source.litcoffee.json +1 -654
  245. data/grammars/source.livescript.json +1 -603
  246. data/grammars/source.llvm.json +1 -61
  247. data/grammars/source.logos.json +1 -24
  248. data/grammars/source.logtalk.json +1 -310
  249. data/grammars/source.loomscript.json +1 -208
  250. data/grammars/source.lsl.json +1 -241
  251. data/grammars/source.ltspice.symbol.json +1 -294
  252. data/grammars/source.lua.json +1 -275
  253. data/grammars/source.m2.json +1 -125
  254. data/grammars/source.m4.json +1 -229
  255. data/grammars/source.m68k.json +1 -412
  256. data/grammars/source.mailmap.json +1 -28
  257. data/grammars/source.makefile.json +1 -470
  258. data/grammars/source.makegen.json +1 -9
  259. data/grammars/source.man-conf.json +1 -153
  260. data/grammars/source.mask.json +1 -816
  261. data/grammars/source.mata.json +1 -125
  262. data/grammars/source.mathematica.json +1 -416
  263. data/grammars/source.matlab.json +1 -1096
  264. data/grammars/source.maxscript.json +1 -465
  265. data/grammars/source.mcfunction-snapshot.json +1 -24480
  266. data/grammars/source.mcfunction.json +1 -1354
  267. data/grammars/source.mercury.json +1 -246
  268. data/grammars/source.meson.json +1 -165
  269. data/grammars/source.meta-info.json +1 -146
  270. data/grammars/source.ml.json +1 -285
  271. data/grammars/source.mlir.json +1 -109
  272. data/grammars/source.modelica.json +1 -142
  273. data/grammars/source.modula-3.json +1 -88
  274. data/grammars/source.modula2.json +1 -94
  275. data/grammars/source.monkey.json +1 -694
  276. data/grammars/source.moonscript.json +1 -144
  277. data/grammars/source.mql5.json +1 -187
  278. data/grammars/source.msl.json +1 -755
  279. data/grammars/source.mupad.json +1 -131
  280. data/grammars/source.nanorc.json +1 -333
  281. data/grammars/source.nasl.json +1 -155
  282. data/grammars/source.ncl.json +1 -53
  283. data/grammars/source.ne.json +1 -105
  284. data/grammars/source.nemerle.json +1 -132
  285. data/grammars/source.neon.json +1 -381
  286. data/grammars/source.nesc.json +1 -21
  287. data/grammars/source.netlinx.erb.json +1 -34
  288. data/grammars/source.netlinx.json +1 -704
  289. data/grammars/source.nextflow-groovy.json +1 -1359
  290. data/grammars/source.nextflow.json +1 -94
  291. data/grammars/source.nginx.json +1 -815
  292. data/grammars/source.nim.comment.json +1 -82
  293. data/grammars/source.nim.json +1 -1083
  294. data/grammars/source.nim_filter.json +1 -113
  295. data/grammars/source.nimcfg.json +1 -103
  296. data/grammars/source.ninja.json +1 -248
  297. data/grammars/source.nit.json +1 -234
  298. data/grammars/source.nix.json +1 -1196
  299. data/grammars/source.nsis.json +1 -152
  300. data/grammars/source.nu.json +1 -516
  301. data/grammars/source.nunjucks.json +1 -0
  302. data/grammars/source.nut.json +1 -262
  303. data/grammars/source.objc++.json +1 -12
  304. data/grammars/source.objc.json +1 -910
  305. data/grammars/source.objc.platform.json +1 -842
  306. data/grammars/source.objectscript.json +1 -309
  307. data/grammars/source.objectscript_class.json +1 -674
  308. data/grammars/source.objectscript_csp.json +1 -19
  309. data/grammars/source.objectscript_macros.json +1 -226
  310. data/grammars/source.ocaml.json +1 -1418
  311. data/grammars/source.ocamllex.json +1 -298
  312. data/grammars/source.ocamlyacc.json +1 -339
  313. data/grammars/source.odin-ehr.json +1 -806
  314. data/grammars/source.odin.json +1 -402
  315. data/grammars/source.ooc.json +1 -685
  316. data/grammars/source.opa.json +1 -196
  317. data/grammars/source.opal.json +1 -410
  318. data/grammars/source.opalsysdefs.json +1 -66
  319. data/grammars/source.openbsd-pkg.contents.json +1 -128
  320. data/grammars/source.opencobol.json +1 -62
  321. data/grammars/source.opentype.json +1 -448
  322. data/grammars/source.opts.json +1 -108
  323. data/grammars/source.ox.json +1 -89
  324. data/grammars/source.oz.json +1 -77
  325. data/grammars/source.p4.json +1 -122
  326. data/grammars/source.paket.dependencies.json +1 -0
  327. data/grammars/source.paket.lock.json +1 -0
  328. data/grammars/source.pan.json +1 -706
  329. data/grammars/source.papyrus.skyrim.json +1 -1272
  330. data/grammars/source.parrot.pir.json +1 -145
  331. data/grammars/source.pascal.json +1 -143
  332. data/grammars/source.pawn.json +1 -1194
  333. data/grammars/source.pcb.board.json +1 -285
  334. data/grammars/source.pcb.schematic.json +1 -424
  335. data/grammars/source.pcb.sexp.json +1 -232
  336. data/grammars/source.pep8.json +1 -118
  337. data/grammars/source.perl.6.json +1 -309
  338. data/grammars/source.perl.json +1 -2519
  339. data/grammars/source.php.zephir.json +1 -353
  340. data/grammars/source.pic.json +1 -908
  341. data/grammars/source.pig_latin.json +1 -168
  342. data/grammars/source.pike.json +1 -49
  343. data/grammars/source.plist.json +1 -336
  344. data/grammars/source.po.json +1 -222
  345. data/grammars/source.pogoscript.json +1 -79
  346. data/grammars/source.pony.json +1 -245
  347. data/grammars/source.postcss.json +1 -370
  348. data/grammars/source.postscript.json +1 -477
  349. data/grammars/source.pov-ray sdl.json +1 -82
  350. data/grammars/source.powershell.json +1 -981
  351. data/grammars/source.prisma.json +1 -435
  352. data/grammars/source.processing.json +1 -872
  353. data/grammars/source.prolog.eclipse.json +1 -201
  354. data/grammars/source.prolog.json +1 -286
  355. data/grammars/source.protobuf.json +1 -471
  356. data/grammars/source.puppet.json +1 -433
  357. data/grammars/source.purescript.json +1 -861
  358. data/grammars/source.pyjade.json +1 -996
  359. data/grammars/source.python.django.json +1 -29
  360. data/grammars/source.python.json +1 -5292
  361. data/grammars/source.python.salt.json +1 -9
  362. data/grammars/source.q.json +1 -215
  363. data/grammars/source.q_output.json +1 -348
  364. data/grammars/source.qasm.json +1 -66
  365. data/grammars/source.ql.json +1 -1408
  366. data/grammars/source.qmake.json +1 -210
  367. data/grammars/source.qml.json +1 -174
  368. data/grammars/source.qsharp.json +1 -120
  369. data/grammars/source.quake.json +1 -44
  370. data/grammars/source.quoting.raku.json +1 -0
  371. data/grammars/source.r.json +1 -194
  372. data/grammars/source.racket.json +1 -98
  373. data/grammars/source.raku.json +1 -0
  374. data/grammars/source.rascal.json +1 -283
  375. data/grammars/source.reason.hover.type.json +1 -14
  376. data/grammars/source.reason.json +1 -3382
  377. data/grammars/source.rebol.json +1 -637
  378. data/grammars/source.record-jar.json +1 -0
  379. data/grammars/source.red.json +1 -644
  380. data/grammars/source.reg.json +1 -159
  381. data/grammars/source.regexp.extended.json +1 -558
  382. data/grammars/source.regexp.json +1 -1434
  383. data/grammars/source.regexp.posix.json +1 -0
  384. data/grammars/source.regexp.python.json +1 -490
  385. data/grammars/source.regexp.raku.json +1 -0
  386. data/grammars/source.regexp.spin.json +1 -179
  387. data/grammars/source.rego.json +1 -124
  388. data/grammars/source.renpy.json +1 -1948
  389. data/grammars/source.rescript.json +1 -0
  390. data/grammars/source.rexx.json +1 -52
  391. data/grammars/source.ring.json +1 -247
  392. data/grammars/source.rpm-spec.json +1 -765
  393. data/grammars/source.ruby.gemfile.json +1 -24
  394. data/grammars/source.ruby.json +1 -2605
  395. data/grammars/source.ruby.rspec.cucumber.steps.json +1 -261
  396. data/grammars/source.rust.json +1 -629
  397. data/grammars/source.sas.json +1 -286
  398. data/grammars/source.sass.json +1 -1089
  399. data/grammars/source.sassdoc.json +1 -346
  400. data/grammars/source.scad.json +1 -145
  401. data/grammars/source.scala.json +1 -1121
  402. data/grammars/source.scaml.json +1 -451
  403. data/grammars/source.scheme.json +1 -353
  404. data/grammars/source.scilab.json +1 -96
  405. data/grammars/source.sdbl.json +1 -90
  406. data/grammars/source.sed.json +1 -1520
  407. data/grammars/source.shaderlab.json +1 -198
  408. data/grammars/source.shell.json +1 -1272
  409. data/grammars/source.shen.json +1 -143
  410. data/grammars/source.sieve.json +1 -383
  411. data/grammars/source.slice.json +1 -2755
  412. data/grammars/source.smali.json +1 -1610
  413. data/grammars/source.smalltalk.json +1 -187
  414. data/grammars/source.smpl.json +1 -314
  415. data/grammars/source.smt.json +1 -158
  416. data/grammars/source.solidity.json +1 -189
  417. data/grammars/source.sourcepawn.json +1 -651
  418. data/grammars/source.sparql.json +1 -18
  419. data/grammars/source.spin.json +1 -916
  420. data/grammars/source.sqf.json +1 -111
  421. data/grammars/source.sql.json +1 -459
  422. data/grammars/source.ssh-config.json +1 -97
  423. data/grammars/source.stan.json +1 -388
  424. data/grammars/source.stata.json +1 -197
  425. data/grammars/source.strings.json +1 -49
  426. data/grammars/source.stylus.json +1 -1018
  427. data/grammars/source.supercollider.json +1 -93
  428. data/grammars/source.svelte.json +1 -827
  429. data/grammars/source.swift.json +1 -3134
  430. data/grammars/source.sy.json +1 -2954
  431. data/grammars/source.systemverilog.json +1 -1036
  432. data/grammars/source.tags.json +1 -266
  433. data/grammars/source.tcl.json +1 -260
  434. data/grammars/source.tea.json +1 -174
  435. data/grammars/source.terra.json +1 -138
  436. data/grammars/source.terraform.json +1 -694
  437. data/grammars/source.thrift.json +1 -698
  438. data/grammars/source.tl.json +1 -259
  439. data/grammars/source.tla.json +1 -140
  440. data/grammars/source.tnsaudit.json +1 -256
  441. data/grammars/source.toc.json +1 -52
  442. data/grammars/source.toml.json +1 -426
  443. data/grammars/source.ts.json +1 -5581
  444. data/grammars/source.tsql.json +1 -507
  445. data/grammars/source.tsx.json +1 -5834
  446. data/grammars/source.turing.json +1 -1553
  447. data/grammars/source.turtle.json +1 -489
  448. data/grammars/source.txl.json +1 -48
  449. data/grammars/source.ucd.nameslist.json +1 -444
  450. data/grammars/source.ucd.unidata.json +1 -570
  451. data/grammars/source.ucfconstraints.json +1 -67
  452. data/grammars/source.ur.json +1 -31
  453. data/grammars/source.v.json +1 -1010
  454. data/grammars/source.vala.json +1 -800
  455. data/grammars/source.varnish.vcl.json +1 -331
  456. data/grammars/source.vbnet.json +1 -239
  457. data/grammars/source.verilog.json +1 -296
  458. data/grammars/source.vhdl.json +1 -1374
  459. data/grammars/source.vim-snippet.json +1 -645
  460. data/grammars/source.viml.json +1 -1197
  461. data/grammars/source.vtt.json +1 -702
  462. data/grammars/source.vyper.json +1 -213
  463. data/grammars/source.wavefront.mtl.json +1 -1190
  464. data/grammars/source.wavefront.obj.json +1 -1341
  465. data/grammars/source.wdl.json +1 -220
  466. data/grammars/source.webassembly.json +1 -349
  467. data/grammars/source.webidl.json +1 -807
  468. data/grammars/source.wgetrc.json +1 -1640
  469. data/grammars/source.wollok.json +1 -100
  470. data/grammars/source.wsd.json +1 -781
  471. data/grammars/source.x10.json +1 -64
  472. data/grammars/source.x86.json +1 -299
  473. data/grammars/source.x86asm.json +1 -42
  474. data/grammars/source.xc.json +1 -371
  475. data/grammars/source.xlfd.json +1 -462
  476. data/grammars/source.xojo.json +1 -85
  477. data/grammars/source.xq.json +1 -230
  478. data/grammars/source.xtend.json +1 -724
  479. data/grammars/source.yacc.json +1 -626
  480. data/grammars/source.yaml.json +1 -443
  481. data/grammars/source.yaml.salt.json +1 -345
  482. data/grammars/source.yang.json +1 -78
  483. data/grammars/source.yara.json +1 -99
  484. data/grammars/source.yasnippet.json +1 -377
  485. data/grammars/source.zap.json +1 -260
  486. data/grammars/source.zeek.json +1 -412
  487. data/grammars/source.zenscript.json +1 -282
  488. data/grammars/source.zig.json +1 -547
  489. data/grammars/source.zil.json +1 -750
  490. data/grammars/text.bibtex.json +1 -246
  491. data/grammars/text.browserslist.json +1 -0
  492. data/grammars/text.cfml.basic.json +1 -735
  493. data/grammars/text.checksums.json +1 -0
  494. data/grammars/text.conllu.json +1 -45
  495. data/grammars/text.dfy.dafny.json +1 -188
  496. data/grammars/text.elixir.json +1 -52
  497. data/grammars/text.eml.basic.json +1 -296
  498. data/grammars/text.error-list.json +1 -53
  499. data/grammars/text.find-refs.json +1 -926
  500. data/grammars/text.gherkin.feature.json +1 -127
  501. data/grammars/text.haml.json +1 -518
  502. data/grammars/text.hamlc.json +1 -219
  503. data/grammars/text.html.asciidoc.json +1 -478
  504. data/grammars/text.html.asdoc.json +1 -529
  505. data/grammars/text.html.asp.json +1 -53
  506. data/grammars/text.html.basic.json +1 -908
  507. data/grammars/text.html.cfm.json +1 -802
  508. data/grammars/text.html.creole.json +1 -317
  509. data/grammars/text.html.cshtml.json +1 -356
  510. data/grammars/text.html.django.json +1 -63
  511. data/grammars/text.html.ecr.json +1 -48
  512. data/grammars/text.html.elixir.json +1 -21
  513. data/grammars/text.html.erb.json +1 -150
  514. data/grammars/text.html.erlang.yaws.json +1 -67
  515. data/grammars/text.html.factor.json +1 -19
  516. data/grammars/text.html.ftl.json +1 -76
  517. data/grammars/text.html.handlebars.json +1 -845
  518. data/grammars/text.html.javadoc.json +1 -426
  519. data/grammars/text.html.js.json +1 -24
  520. data/grammars/text.html.jsp.json +1 -1196
  521. data/grammars/text.html.liquid.json +1 -25
  522. data/grammars/text.html.mako.json +1 -726
  523. data/grammars/text.html.markdown.source.gfm.apib.json +1 -1298
  524. data/grammars/text.html.markdown.source.gfm.mson.json +1 -1156
  525. data/grammars/text.html.mediawiki.elm-build-output.json +1 -97
  526. data/grammars/text.html.mediawiki.elm-documentation.json +1 -17
  527. data/grammars/text.html.mediawiki.json +1 -946
  528. data/grammars/text.html.nunjucks.json +1 -0
  529. data/grammars/text.html.php.blade.json +1 -3833
  530. data/grammars/text.html.php.json +1 -2507
  531. data/grammars/text.html.riot.json +1 -788
  532. data/grammars/text.html.slash.json +1 -307
  533. data/grammars/text.html.smarty.json +1 -232
  534. data/grammars/text.html.soy.json +1 -606
  535. data/grammars/text.html.ssp.json +1 -43
  536. data/grammars/text.html.tcl.json +1 -37
  537. data/grammars/text.html.twig.json +1 -1344
  538. data/grammars/text.html.vue.json +1 -963
  539. data/grammars/text.idl-idldoc.json +1 -10
  540. data/grammars/text.jade.json +1 -963
  541. data/grammars/text.junit-test-report.json +1 -89
  542. data/grammars/text.log.latex.json +1 -84
  543. data/grammars/text.marko.json +1 -1662
  544. data/grammars/text.muse.json +1 -1471
  545. data/grammars/text.openbsd-pkg.desc.json +1 -78
  546. data/grammars/text.plain.json +1 -18
  547. data/grammars/text.python.console.json +1 -21
  548. data/grammars/text.python.traceback.json +1 -43
  549. data/grammars/text.rdoc.json +1 -44
  550. data/grammars/text.restructuredtext.clean.json +1 -24
  551. data/grammars/text.restructuredtext.json +1 -1765
  552. data/grammars/text.robot.json +1 -63
  553. data/grammars/text.roff.json +1 -6927
  554. data/grammars/text.rtf.json +1 -148
  555. data/grammars/text.runoff.json +1 -308
  556. data/grammars/text.sfd.json +1 -292
  557. data/grammars/text.shell-session.json +1 -29
  558. data/grammars/text.slim.json +1 -527
  559. data/grammars/text.srt.json +1 -166
  560. data/grammars/text.tex.json +1 -264
  561. data/grammars/text.tex.latex.beamer.json +1 -57
  562. data/grammars/text.tex.latex.haskell.json +1 -1826
  563. data/grammars/text.tex.latex.json +1 -1003
  564. data/grammars/text.tex.latex.memoir.json +1 -129
  565. data/grammars/text.tex.latex.rd.json +1 -111
  566. data/grammars/text.texinfo.json +1 -1525
  567. data/grammars/text.vim-help.json +1 -383
  568. data/grammars/text.xml.ant.json +1 -195
  569. data/grammars/text.xml.flex-config.json +1 -2628
  570. data/grammars/text.xml.genshi.json +1 -28
  571. data/grammars/text.xml.json +1 -351
  572. data/grammars/text.xml.plist.json +1 -664
  573. data/grammars/text.xml.pom.json +1 -769
  574. data/grammars/text.xml.svg.json +1 -562
  575. data/grammars/text.xml.xsl.json +1 -88
  576. data/grammars/text.zone_file.json +1 -67
  577. data/grammars/version +1 -1
  578. data/lib/linguist/VERSION +1 -1
  579. data/lib/linguist/classifier.rb +28 -17
  580. data/lib/linguist/generated.rb +23 -3
  581. data/lib/linguist/generic.yml +18 -0
  582. data/lib/linguist/heuristics.yml +57 -22
  583. data/lib/linguist/language.rb +4 -2
  584. data/lib/linguist/languages.json +1 -1
  585. data/lib/linguist/languages.yml +142 -25
  586. data/lib/linguist/linguist.bundle +0 -0
  587. data/lib/linguist/samples.json +1 -1
  588. data/lib/linguist/samples.rb +4 -4
  589. data/lib/linguist/{md5.rb → sha256.rb} +3 -3
  590. data/lib/linguist/strategy/extension.rb +13 -5
  591. data/lib/linguist/vendor.yml +1 -1
  592. metadata +23 -10
  593. data/ext/linguist/strndup.c +0 -10
  594. data/grammars/source.js.css.json +0 -328
  595. data/grammars/source.js.jsx.json +0 -2488
  596. data/grammars/source.perl6fe.json +0 -2769
  597. data/grammars/source.quoting.perl6fe.json +0 -2369
  598. data/grammars/source.regexp.perl6fe.json +0 -244
@@ -1,2755 +1 @@
1
- {
2
- "name": "Slice",
3
- "scopeName": "source.slice",
4
- "patterns": [
5
- {
6
- "include": "#comment"
7
- },
8
- {
9
- "include": "#preprocessor"
10
- },
11
- {
12
- "include": "#metadata.global"
13
- },
14
- {
15
- "include": "#storage.module"
16
- }
17
- ],
18
- "repository": {
19
- "annotation": {
20
- "patterns": [
21
- {
22
- "name": "storage.type.annotation.slice",
23
- "match": "(@)\\S*\\b",
24
- "captures": {
25
- "1": {
26
- "name": "punctuation.definition.annotation.slice"
27
- }
28
- }
29
- }
30
- ]
31
- },
32
- "comment": {
33
- "patterns": [
34
- {
35
- "include": "#comment.line"
36
- },
37
- {
38
- "include": "#comment.block"
39
- }
40
- ]
41
- },
42
- "comment.block": {
43
- "patterns": [
44
- {
45
- "name": "comment.block.slice",
46
- "contentName": "text.slice",
47
- "begin": "\\/\\*",
48
- "end": "\\*\\/",
49
- "patterns": [
50
- {
51
- "include": "#annotation"
52
- },
53
- {
54
- "include": "#link"
55
- },
56
- {
57
- "include": "#line.continuation"
58
- }
59
- ],
60
- "beginCaptures": {
61
- "0": {
62
- "name": "punctuation.definition.comment.block.begin.slice"
63
- }
64
- },
65
- "endCaptures": {
66
- "0": {
67
- "name": "punctuation.definition.comment.block.end.slice"
68
- }
69
- }
70
- }
71
- ]
72
- },
73
- "comment.line": {
74
- "patterns": [
75
- {
76
- "name": "comment.line.slice",
77
- "contentName": "text.slice",
78
- "begin": "\\/\\/",
79
- "end": "$",
80
- "patterns": [
81
- {
82
- "include": "#annotation"
83
- },
84
- {
85
- "include": "#link"
86
- },
87
- {
88
- "include": "#line.continuation"
89
- }
90
- ],
91
- "beginCaptures": {
92
- "0": {
93
- "name": "punctuation.definition.comment.line.begin.slice"
94
- }
95
- }
96
- }
97
- ]
98
- },
99
- "constant": {
100
- "patterns": [
101
- {
102
- "include": "#constant.boolean"
103
- },
104
- {
105
- "include": "#constant.string"
106
- },
107
- {
108
- "include": "#constant.numeric.float"
109
- },
110
- {
111
- "include": "#constant.numeric.hex"
112
- },
113
- {
114
- "include": "#constant.numeric.oct"
115
- },
116
- {
117
- "include": "#constant.numeric.dec"
118
- }
119
- ]
120
- },
121
- "constant.boolean": {
122
- "patterns": [
123
- {
124
- "match": "\\b(?:(true)|(false))\\b",
125
- "captures": {
126
- "0": {
127
- "name": "constant.langauge.slice"
128
- },
129
- "1": {
130
- "name": "constant.boolean.true.slice"
131
- },
132
- "2": {
133
- "name": "constant.boolean.false.slice"
134
- }
135
- }
136
- }
137
- ]
138
- },
139
- "constant.numeric.dec": {
140
- "patterns": [
141
- {
142
- "name": "constant.numeric.integer.slice",
143
- "match": "(-|\\+)?\\b(?:0|[1-9]\\d*)\\b",
144
- "captures": {
145
- "1": {
146
- "name": "punctuation.definition.numeric.sign.slice"
147
- }
148
- }
149
- }
150
- ]
151
- },
152
- "constant.numeric.float": {
153
- "patterns": [
154
- {
155
- "name": "constant.numeric.float.slice",
156
- "match": "(-|\\+)?(?:\\d+(\\.)\\d*|\\d*(\\.)\\d+|\\d+(?=e|E|f|F))(?:(e|E)-?\\d+)?(f|F)?",
157
- "captures": {
158
- "1": {
159
- "name": "punctuation.numeric.sign.slice"
160
- },
161
- "2": {
162
- "name": "punctuation.separator.decimal.slice"
163
- },
164
- "3": {
165
- "name": "punctuation.separator.decimal.slice"
166
- },
167
- "4": {
168
- "name": "punctuation.numeric.exponent.slice"
169
- },
170
- "5": {
171
- "name": "punctuation.definition.float.slice"
172
- }
173
- }
174
- }
175
- ]
176
- },
177
- "constant.numeric.hex": {
178
- "patterns": [
179
- {
180
- "name": "constant.numeric.hex.slice",
181
- "match": "(-|\\+)?\\b(0x)[\\da-fA-F]+\\b",
182
- "captures": {
183
- "1": {
184
- "name": "punctuation.definition.numeric.sign.slice"
185
- },
186
- "2": {
187
- "name": "punctuation.definition.numeric.hex.slice"
188
- }
189
- }
190
- }
191
- ]
192
- },
193
- "constant.numeric.oct": {
194
- "patterns": [
195
- {
196
- "name": "constant.numeric.octal.slice",
197
- "match": "(-|\\+)?\\b(0)(\\d+)\\b",
198
- "captures": {
199
- "1": {
200
- "name": "punctuation.definition.numeric.sign.slice"
201
- },
202
- "2": {
203
- "name": "punctuation.definition.numeric.oct.slice"
204
- },
205
- "3": {
206
- "patterns": [
207
- {
208
- "name": "invalid.illegal.oct.slice",
209
- "match": "[8-9]"
210
- }
211
- ]
212
- }
213
- }
214
- }
215
- ]
216
- },
217
- "constant.string": {
218
- "patterns": [
219
- {
220
- "name": "string.quoted.double.slice",
221
- "begin": "\"",
222
- "end": "(\")|$",
223
- "patterns": [
224
- {
225
- "match": "\\\\."
226
- },
227
- {
228
- "include": "#line.continuation"
229
- }
230
- ],
231
- "beginCaptures": {
232
- "0": {
233
- "name": "punctuation.definition.string.begin.slice"
234
- }
235
- },
236
- "endCaptures": {
237
- "1": {
238
- "name": "punctuation.definition.string.end.slice"
239
- },
240
- "2": {
241
- "name": "invalid.illegal.mismatched-quotes.slice"
242
- }
243
- }
244
- }
245
- ]
246
- },
247
- "invalid": {
248
- "patterns": [
249
- {
250
- "name": "invalid.illegal",
251
- "match": "\\S"
252
- }
253
- ]
254
- },
255
- "line.continuation": {
256
- "patterns": [
257
- {
258
- "begin": "(\\\\)\\s*$",
259
- "end": "^",
260
- "beginCaptures": {
261
- "1": {
262
- "name": "punctuation.separator.continuation.backslash.slice"
263
- }
264
- }
265
- }
266
- ]
267
- },
268
- "link": {
269
- "patterns": [
270
- {
271
- "name": "variable.link.slice",
272
- "match": "(\\b\\S*)?(#)\\S*\\b",
273
- "captures": {
274
- "1": {
275
- "name": "punctuation.definition.link.slice"
276
- }
277
- }
278
- }
279
- ]
280
- },
281
- "metadata": {
282
- "patterns": [
283
- {
284
- "include": "#metadata.global"
285
- },
286
- {
287
- "include": "#metadata.local"
288
- }
289
- ]
290
- },
291
- "metadata.content": {
292
- "patterns": [
293
- {
294
- "include": "#standard"
295
- },
296
- {
297
- "begin": "(\")",
298
- "end": "(?=\\])|(?\u003c=,)",
299
- "patterns": [
300
- {
301
- "include": "#line.continuation"
302
- },
303
- {
304
- "name": "string.quoted.double.slice",
305
- "match": "((?:[^\\\\\"]|\\\\.)+)",
306
- "captures": {
307
- "1": {
308
- "patterns": [
309
- {
310
- "include": "#metadata.identifier"
311
- }
312
- ]
313
- }
314
- }
315
- },
316
- {
317
- "begin": "(\")",
318
- "end": "(?=\\])|(,)",
319
- "patterns": [
320
- {
321
- "include": "#standard"
322
- }
323
- ],
324
- "beginCaptures": {
325
- "0": {
326
- "name": "string.quoted.double.slice"
327
- },
328
- "1": {
329
- "name": "punctuation.definition.string.end.slice"
330
- }
331
- },
332
- "endCaptures": {
333
- "1": {
334
- "name": "punctuation.separator.metadata.slice"
335
- }
336
- }
337
- }
338
- ],
339
- "beginCaptures": {
340
- "0": {
341
- "name": "string.quoted.double.slice"
342
- },
343
- "1": {
344
- "name": "punctuation.definition.string.begin.slice"
345
- }
346
- }
347
- }
348
- ]
349
- },
350
- "metadata.global": {
351
- "patterns": [
352
- {
353
- "name": "meta.metadata.global.slice",
354
- "begin": "\\[\\[",
355
- "end": "\\]\\]",
356
- "patterns": [
357
- {
358
- "include": "#metadata.content"
359
- }
360
- ],
361
- "beginCaptures": {
362
- "0": {
363
- "name": "punctuation.definition.metadata.global.begin.slice"
364
- }
365
- },
366
- "endCaptures": {
367
- "0": {
368
- "name": "punctuation.definition.metadata.global.end.slice"
369
- }
370
- }
371
- }
372
- ]
373
- },
374
- "metadata.identifier": {
375
- "patterns": [
376
- {
377
- "name": "entity.metadata.directive.slice",
378
- "match": "\\S+"
379
- }
380
- ]
381
- },
382
- "metadata.local": {
383
- "patterns": [
384
- {
385
- "name": "meta.metadata.local.slice",
386
- "begin": "\\[",
387
- "end": "\\]",
388
- "patterns": [
389
- {
390
- "include": "#metadata.content"
391
- }
392
- ],
393
- "beginCaptures": {
394
- "0": {
395
- "name": "punctuation.definition.metadata.local.begin.slice"
396
- }
397
- },
398
- "endCaptures": {
399
- "0": {
400
- "name": "punctuation.definition.metadata.local.end.slice"
401
- }
402
- }
403
- }
404
- ]
405
- },
406
- "preprocessor": {
407
- "patterns": [
408
- {
409
- "include": "#preprocessor.if"
410
- },
411
- {
412
- "include": "#preprocessor.ifdef"
413
- },
414
- {
415
- "include": "#preprocessor.ifndef"
416
- },
417
- {
418
- "include": "#preprocessor.elif"
419
- },
420
- {
421
- "include": "#preprocessor.else"
422
- },
423
- {
424
- "include": "#preprocessor.endif"
425
- },
426
- {
427
- "include": "#preprocessor.define"
428
- },
429
- {
430
- "include": "#preprocessor.undef"
431
- },
432
- {
433
- "include": "#preprocessor.include"
434
- },
435
- {
436
- "include": "#preprocessor.pragma"
437
- },
438
- {
439
- "include": "#preprocessor.line"
440
- },
441
- {
442
- "include": "#preprocessor.error"
443
- },
444
- {
445
- "include": "#preprocessor.null"
446
- }
447
- ]
448
- },
449
- "preprocessor.define": {
450
- "patterns": [
451
- {
452
- "name": "meta.preprocessor.define.slice",
453
- "begin": "(#)\\s*define\\b",
454
- "end": "$",
455
- "patterns": [
456
- {
457
- "include": "#standardP"
458
- },
459
- {
460
- "begin": "\\b(\\w+)((\\())",
461
- "end": "$",
462
- "patterns": [
463
- {
464
- "include": "#standardP"
465
- },
466
- {
467
- "begin": "\\b\\w+\\b",
468
- "end": "(?=\\))|(,)|($)",
469
- "patterns": [
470
- {
471
- "include": "#standardP"
472
- }
473
- ],
474
- "beginCaptures": {
475
- "0": {
476
- "patterns": [
477
- {
478
- "include": "#preprocessor.identifier"
479
- }
480
- ]
481
- }
482
- },
483
- "endCaptures": {
484
- "1": {
485
- "name": "punctuation.separator.parameter.preprocessor.slice"
486
- },
487
- "2": {
488
- "name": "invalid.mismatched.parenthesis.slice"
489
- }
490
- }
491
- },
492
- {
493
- "begin": "\\b\\w+\\b",
494
- "end": "(?=\\))|((,))|($)",
495
- "patterns": [
496
- {
497
- "include": "#standardP"
498
- }
499
- ],
500
- "beginCaptures": {
501
- "0": {
502
- "name": "punctuation.variable.parameter.preprocessor.slice"
503
- }
504
- },
505
- "endCaptures": {
506
- "1": {
507
- "name": "punctuation.separator.parameter.preprocessor.slice"
508
- },
509
- "2": {
510
- "name": "invalid.trailing-comma.slice"
511
- },
512
- "3": {
513
- "name": "invalid.mismatched.parenthesis.slice"
514
- }
515
- }
516
- },
517
- {
518
- "begin": "(\\))",
519
- "end": "$",
520
- "patterns": [
521
- {
522
- "include": "#standardP"
523
- },
524
- {
525
- "name": "constant.preprocessor.slice",
526
- "match": "\\S"
527
- }
528
- ],
529
- "beginCaptures": {
530
- "0": {
531
- "name": "meta.group.parameters.preprocessor.slice"
532
- },
533
- "1": {
534
- "name": "punctuation.section.group.parameters.end.slice"
535
- }
536
- }
537
- }
538
- ],
539
- "beginCaptures": {
540
- "1": {
541
- "patterns": [
542
- {
543
- "include": "#preprocessor.identifier"
544
- }
545
- ]
546
- },
547
- "2": {
548
- "name": "meta.group.parameters.preprocessor.slice"
549
- },
550
- "3": {
551
- "name": "punctuation.section.group.parameters.begin.slice"
552
- }
553
- }
554
- },
555
- {
556
- "begin": "\\b\\w+\\b",
557
- "end": "$",
558
- "patterns": [
559
- {
560
- "include": "#standardP"
561
- },
562
- {
563
- "name": "constant.preprocessor.slice",
564
- "match": "\\S"
565
- }
566
- ],
567
- "beginCaptures": {
568
- "0": {
569
- "patterns": [
570
- {
571
- "include": "#preprocessor.identifier"
572
- }
573
- ]
574
- }
575
- }
576
- }
577
- ],
578
- "beginCaptures": {
579
- "0": {
580
- "name": "keyword.control.preprocessor.define.slice"
581
- },
582
- "1": {
583
- "name": "punctuation.definition.preprocessor.slice"
584
- }
585
- }
586
- }
587
- ]
588
- },
589
- "preprocessor.elif": {
590
- "patterns": [
591
- {
592
- "name": "meta.preprocessor.elif.slice",
593
- "begin": "(#)\\s*elif\\b",
594
- "end": "$",
595
- "patterns": [
596
- {
597
- "include": "#standardP"
598
- }
599
- ],
600
- "beginCaptures": {
601
- "0": {
602
- "name": "keyword.control.preprocessor.elif.slice"
603
- },
604
- "1": {
605
- "name": "punctuation.definition.preprocessor.slice"
606
- }
607
- }
608
- }
609
- ]
610
- },
611
- "preprocessor.else": {
612
- "patterns": [
613
- {
614
- "name": "meta.preprocessor.endif.slice",
615
- "begin": "(#)\\s*else\\b",
616
- "end": "$",
617
- "patterns": [
618
- {
619
- "include": "#standardP"
620
- }
621
- ],
622
- "beginCaptures": {
623
- "0": {
624
- "name": "keyword.control.preprocessor.else.slice"
625
- },
626
- "1": {
627
- "name": "punctuation.definition.preprocessor.slice"
628
- }
629
- }
630
- }
631
- ]
632
- },
633
- "preprocessor.endif": {
634
- "patterns": [
635
- {
636
- "name": "meta.preprocessor.endif.slice",
637
- "begin": "(#)\\s*endif\\b",
638
- "end": "$",
639
- "patterns": [
640
- {
641
- "include": "#standardP"
642
- }
643
- ],
644
- "beginCaptures": {
645
- "0": {
646
- "name": "keyword.control.preprocessor.endif.slice"
647
- },
648
- "1": {
649
- "name": "punctuation.definition.preprocessor.slice"
650
- }
651
- }
652
- }
653
- ]
654
- },
655
- "preprocessor.error": {
656
- "patterns": [
657
- {
658
- "name": "meta.preprocessor.error.slice",
659
- "begin": "((#)\\s*error)\\b",
660
- "end": "$",
661
- "patterns": [
662
- {
663
- "include": "#standardP"
664
- },
665
- {
666
- "name": "text.error.slice",
667
- "match": "."
668
- }
669
- ],
670
- "beginCaptures": {
671
- "1": {
672
- "name": "keyword.control.preprocessor.error.slice"
673
- },
674
- "2": {
675
- "name": "punctuation.definition.preprocessor.slice"
676
- }
677
- }
678
- }
679
- ]
680
- },
681
- "preprocessor.identifier": {
682
- "patterns": [
683
- {
684
- "name": "entity.identifier.preproprocessor.slice",
685
- "match": "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"
686
- },
687
- {
688
- "include": "#invalid"
689
- }
690
- ]
691
- },
692
- "preprocessor.if": {
693
- "patterns": [
694
- {
695
- "name": "meta.preprocessor.if.slice",
696
- "begin": "(#)\\s*if\\b",
697
- "end": "$",
698
- "patterns": [
699
- {
700
- "include": "#standardP"
701
- }
702
- ],
703
- "beginCaptures": {
704
- "0": {
705
- "name": "keyword.control.preprocessor.if.slice"
706
- },
707
- "1": {
708
- "name": "punctuation.definition.preprocessor.slice"
709
- }
710
- }
711
- }
712
- ]
713
- },
714
- "preprocessor.ifdef": {
715
- "patterns": [
716
- {
717
- "name": "meta.preprocessor.ifdef.slice",
718
- "begin": "(#)\\s*ifdef\\b",
719
- "end": "$",
720
- "patterns": [
721
- {
722
- "include": "#standardP"
723
- },
724
- {
725
- "begin": "\\b\\w+\\b",
726
- "end": "$",
727
- "patterns": [
728
- {
729
- "include": "#standardP"
730
- }
731
- ],
732
- "beginCaptures": {
733
- "0": {
734
- "patterns": [
735
- {
736
- "include": "#preprocessor.identifier"
737
- }
738
- ]
739
- }
740
- }
741
- }
742
- ],
743
- "beginCaptures": {
744
- "0": {
745
- "name": "keyword.control.preprocessor.ifdef.slice"
746
- },
747
- "1": {
748
- "name": "punctuation.definition.preprocessor.slice"
749
- }
750
- }
751
- }
752
- ]
753
- },
754
- "preprocessor.ifndef": {
755
- "patterns": [
756
- {
757
- "name": "meta.preprocessor.ifndef.slice",
758
- "begin": "(#)\\s*ifndef\\b",
759
- "end": "$",
760
- "patterns": [
761
- {
762
- "include": "#standardP"
763
- },
764
- {
765
- "begin": "\\b\\w+\\b",
766
- "end": "$",
767
- "patterns": [
768
- {
769
- "include": "#standardP"
770
- }
771
- ],
772
- "beginCaptures": {
773
- "0": {
774
- "patterns": [
775
- {
776
- "include": "#preprocessor.identifier"
777
- }
778
- ]
779
- }
780
- }
781
- }
782
- ],
783
- "beginCaptures": {
784
- "0": {
785
- "name": "keyword.control.preprocessor.ifndef.slice"
786
- },
787
- "1": {
788
- "name": "punctuation.definition.preprocessor.slice"
789
- }
790
- }
791
- }
792
- ]
793
- },
794
- "preprocessor.include": {
795
- "patterns": [
796
- {
797
- "name": "meta.preprocessor.include.slice",
798
- "begin": "((#)\\s*include)\\b",
799
- "end": "$",
800
- "patterns": [
801
- {
802
- "include": "#standardP"
803
- },
804
- {
805
- "begin": "(?\u003c=\"|\u003e)",
806
- "end": "$",
807
- "patterns": [
808
- {
809
- "include": "#standardP"
810
- }
811
- ]
812
- },
813
- {
814
- "name": "string.quoted.double.slice",
815
- "contentName": "entity.name.header.slice",
816
- "begin": "\"",
817
- "end": "(\")|($)",
818
- "patterns": [
819
- {
820
- "match": "\\\\."
821
- },
822
- {
823
- "include": "#line.continuation"
824
- }
825
- ],
826
- "beginCaptures": {
827
- "0": {
828
- "name": "punctuation.definition.string.begin.slice"
829
- }
830
- },
831
- "endCaptures": {
832
- "1": {
833
- "name": "punctuation.definition.string.end.slice"
834
- },
835
- "2": {
836
- "name": "invalid.illegal.mismatched-quotes.slice"
837
- }
838
- }
839
- },
840
- {
841
- "name": "string.quoted.other.angle.slice",
842
- "contentName": "entity.name.header.slice",
843
- "begin": "\u003c",
844
- "end": "(\u003e)|($)",
845
- "patterns": [
846
- {
847
- "match": "\\\\."
848
- },
849
- {
850
- "include": "#line.continuation"
851
- }
852
- ],
853
- "beginCaptures": {
854
- "0": {
855
- "name": "punctuation.definition.string.begin.slice"
856
- }
857
- },
858
- "endCaptures": {
859
- "1": {
860
- "name": "punctuation.definition.string.end.slice"
861
- },
862
- "2": {
863
- "name": "invalid.illegal.mismatched-quotes.slice"
864
- }
865
- }
866
- }
867
- ],
868
- "beginCaptures": {
869
- "1": {
870
- "name": "keyword.control.preprocessor.include.slice"
871
- },
872
- "2": {
873
- "name": "punctuation.definition.preprocessor.slice"
874
- }
875
- }
876
- }
877
- ]
878
- },
879
- "preprocessor.line": {
880
- "patterns": [
881
- {
882
- "name": "meta.preprocessor.line.slice",
883
- "begin": "((#)\\s*line)\\b",
884
- "end": "$",
885
- "patterns": [
886
- {
887
- "include": "#standardP"
888
- },
889
- {
890
- "begin": "\\b[\\d]+\\b",
891
- "end": "$",
892
- "patterns": [
893
- {
894
- "include": "#standardP"
895
- },
896
- {
897
- "begin": "(?\u003c=\")",
898
- "end": "$",
899
- "patterns": [
900
- {
901
- "include": "#standardP"
902
- }
903
- ]
904
- },
905
- {
906
- "name": "string.quoted.double.slice",
907
- "contentName": "entity.name.file.slice",
908
- "begin": "\"",
909
- "end": "(\")|($)",
910
- "patterns": [
911
- {
912
- "match": "\\\\."
913
- },
914
- {
915
- "include": "#line.continuation"
916
- }
917
- ],
918
- "beginCaptures": {
919
- "0": {
920
- "name": "punctuation.definition.string.begin.slice"
921
- }
922
- },
923
- "endCaptures": {
924
- "1": {
925
- "name": "punctuation.definition.string.end.slice"
926
- },
927
- "2": {
928
- "name": "invalid.illegal.mismatched-quotes.slice"
929
- }
930
- }
931
- }
932
- ],
933
- "beginCaptures": {
934
- "0": {
935
- "patterns": [
936
- {
937
- "include": "#constant.numeric.dec"
938
- }
939
- ]
940
- }
941
- }
942
- }
943
- ],
944
- "beginCaptures": {
945
- "1": {
946
- "name": "keyword.control.preprocessor.line.slice"
947
- },
948
- "2": {
949
- "name": "punctuation.definition.preprocessor.slice"
950
- }
951
- }
952
- }
953
- ]
954
- },
955
- "preprocessor.null": {
956
- "patterns": [
957
- {
958
- "name": "meta.preprocessor.null.slice",
959
- "begin": "(#)",
960
- "end": "$",
961
- "patterns": [
962
- {
963
- "include": "#standardP"
964
- }
965
- ],
966
- "beginCaptures": {
967
- "0": {
968
- "name": "punctuation.definition.preprocessor.slice"
969
- },
970
- "1": {
971
- "name": "keyword.control.preprocessor.null.slice"
972
- }
973
- }
974
- }
975
- ]
976
- },
977
- "preprocessor.pragma": {
978
- "patterns": [
979
- {
980
- "name": "meta.preprocessor.pragma.slice",
981
- "begin": "((#)\\s*pragma)\\b",
982
- "end": "$",
983
- "patterns": [
984
- {
985
- "include": "#standardP"
986
- },
987
- {
988
- "begin": "\\b\\S+\\b",
989
- "end": "$",
990
- "patterns": [
991
- {
992
- "include": "#standardP"
993
- }
994
- ],
995
- "beginCaptures": {
996
- "0": {
997
- "name": "keyword.control.preprocessor.pragma.other.slice"
998
- }
999
- }
1000
- }
1001
- ],
1002
- "beginCaptures": {
1003
- "1": {
1004
- "name": "keyword.control.preprocessor.pragma.slice"
1005
- },
1006
- "2": {
1007
- "name": "punctuation.definition.preprocessor.slice"
1008
- }
1009
- }
1010
- }
1011
- ]
1012
- },
1013
- "preprocessor.undef": {
1014
- "patterns": [
1015
- {
1016
- "name": "meta.preprocessor.undef.slice",
1017
- "begin": "((#)\\s*undef)\\b",
1018
- "end": "$",
1019
- "patterns": [
1020
- {
1021
- "include": "#standardP"
1022
- },
1023
- {
1024
- "begin": "\\b\\w+\\b",
1025
- "end": "$",
1026
- "patterns": [
1027
- {
1028
- "include": "#standardP"
1029
- }
1030
- ],
1031
- "beginCaptures": {
1032
- "0": {
1033
- "patterns": [
1034
- {
1035
- "include": "#preprocessor.identifier"
1036
- }
1037
- ]
1038
- }
1039
- }
1040
- }
1041
- ],
1042
- "beginCaptures": {
1043
- "1": {
1044
- "name": "keyword.control.preprocessor.undef.slice"
1045
- },
1046
- "2": {
1047
- "name": "punctuation.definition.preprocessor.slice"
1048
- }
1049
- }
1050
- }
1051
- ]
1052
- },
1053
- "standard": {
1054
- "patterns": [
1055
- {
1056
- "include": "#comment"
1057
- },
1058
- {
1059
- "include": "#preprocessor"
1060
- },
1061
- {
1062
- "include": "#line.continuation"
1063
- }
1064
- ]
1065
- },
1066
- "standardP": {
1067
- "patterns": [
1068
- {
1069
- "include": "#comment"
1070
- },
1071
- {
1072
- "include": "#line.continuation"
1073
- }
1074
- ]
1075
- },
1076
- "storage": {
1077
- "patterns": [
1078
- {
1079
- "include": "#storage.module"
1080
- },
1081
- {
1082
- "include": "#storage.enum"
1083
- },
1084
- {
1085
- "include": "#storage.struct"
1086
- },
1087
- {
1088
- "include": "#storage.sequence"
1089
- },
1090
- {
1091
- "include": "#storage.dictionary"
1092
- },
1093
- {
1094
- "include": "#storage.interface"
1095
- },
1096
- {
1097
- "include": "#storage.exception"
1098
- },
1099
- {
1100
- "include": "#storage.class"
1101
- },
1102
- {
1103
- "include": "#storage.basic"
1104
- }
1105
- ]
1106
- },
1107
- "storage.basic": {
1108
- "patterns": [
1109
- {
1110
- "include": "#storage.modifier"
1111
- },
1112
- {
1113
- "name": "meta.bool.slice",
1114
- "begin": "\\\\?\\bbool\\b",
1115
- "end": "(;)|((?=}))",
1116
- "patterns": [
1117
- {
1118
- "include": "#standard"
1119
- },
1120
- {
1121
- "begin": "\\\\?\\b\\w+\\b",
1122
- "end": "(?=;|})",
1123
- "patterns": [
1124
- {
1125
- "include": "#storage.basic.assignment"
1126
- }
1127
- ],
1128
- "beginCaptures": {
1129
- "0": {
1130
- "name": "entity.name.bool.slice",
1131
- "patterns": [
1132
- {
1133
- "include": "#storage.identifier"
1134
- }
1135
- ]
1136
- }
1137
- }
1138
- }
1139
- ],
1140
- "beginCaptures": {
1141
- "0": {
1142
- "patterns": [
1143
- {
1144
- "include": "#storage.types"
1145
- }
1146
- ]
1147
- }
1148
- },
1149
- "endCaptures": {
1150
- "1": {
1151
- "name": "punctuation.terminator.semicolon.slice"
1152
- },
1153
- "2": {
1154
- "name": "invalid.illegal.missing.semicolon.slice"
1155
- }
1156
- }
1157
- },
1158
- {
1159
- "name": "meta.byte.slice",
1160
- "begin": "\\\\?\\bbyte\\b",
1161
- "end": "(;)|((?=}))",
1162
- "patterns": [
1163
- {
1164
- "include": "#standard"
1165
- },
1166
- {
1167
- "begin": "\\\\?\\b\\w+\\b",
1168
- "end": "(?=;|})",
1169
- "patterns": [
1170
- {
1171
- "include": "#storage.basic.assignment"
1172
- }
1173
- ],
1174
- "beginCaptures": {
1175
- "0": {
1176
- "name": "entity.name.byte.slice",
1177
- "patterns": [
1178
- {
1179
- "include": "#storage.identifier"
1180
- }
1181
- ]
1182
- }
1183
- }
1184
- }
1185
- ],
1186
- "beginCaptures": {
1187
- "0": {
1188
- "patterns": [
1189
- {
1190
- "include": "#storage.types"
1191
- }
1192
- ]
1193
- }
1194
- },
1195
- "endCaptures": {
1196
- "1": {
1197
- "name": "punctuation.terminator.semicolon.slice"
1198
- },
1199
- "2": {
1200
- "name": "invalid.illegal.missing.semicolon.slice"
1201
- }
1202
- }
1203
- },
1204
- {
1205
- "name": "meta.short.slice",
1206
- "begin": "\\\\?\\bshort\\b",
1207
- "end": "(;)|((?=}))",
1208
- "patterns": [
1209
- {
1210
- "include": "#standard"
1211
- },
1212
- {
1213
- "begin": "\\\\?\\b\\w+\\b",
1214
- "end": "(?=;|})",
1215
- "patterns": [
1216
- {
1217
- "include": "#storage.basic.assignment"
1218
- }
1219
- ],
1220
- "beginCaptures": {
1221
- "0": {
1222
- "name": "entity.name.short.slice",
1223
- "patterns": [
1224
- {
1225
- "include": "#storage.identifier"
1226
- }
1227
- ]
1228
- }
1229
- }
1230
- }
1231
- ],
1232
- "beginCaptures": {
1233
- "0": {
1234
- "patterns": [
1235
- {
1236
- "include": "#storage.types"
1237
- }
1238
- ]
1239
- }
1240
- },
1241
- "endCaptures": {
1242
- "1": {
1243
- "name": "punctuation.terminator.semicolon.slice"
1244
- },
1245
- "2": {
1246
- "name": "invalid.illegal.missing.semicolon.slice"
1247
- }
1248
- }
1249
- },
1250
- {
1251
- "name": "meta.int.slice",
1252
- "begin": "\\\\?\\bint\\b",
1253
- "end": "(;)|((?=}))",
1254
- "patterns": [
1255
- {
1256
- "include": "#standard"
1257
- },
1258
- {
1259
- "begin": "\\\\?\\b\\w+\\b",
1260
- "end": "(?=;|})",
1261
- "patterns": [
1262
- {
1263
- "include": "#storage.basic.assignment"
1264
- }
1265
- ],
1266
- "beginCaptures": {
1267
- "0": {
1268
- "name": "entity.name.int.slice",
1269
- "patterns": [
1270
- {
1271
- "include": "#storage.identifier"
1272
- }
1273
- ]
1274
- }
1275
- }
1276
- }
1277
- ],
1278
- "beginCaptures": {
1279
- "0": {
1280
- "patterns": [
1281
- {
1282
- "include": "#storage.types"
1283
- }
1284
- ]
1285
- }
1286
- },
1287
- "endCaptures": {
1288
- "1": {
1289
- "name": "punctuation.terminator.semicolon.slice"
1290
- },
1291
- "2": {
1292
- "name": "invalid.illegal.missing.semicolon.slice"
1293
- }
1294
- }
1295
- },
1296
- {
1297
- "name": "meta.long.slice",
1298
- "begin": "\\\\?\\blong\\b",
1299
- "end": "(;)|((?=}))",
1300
- "patterns": [
1301
- {
1302
- "include": "#standard"
1303
- },
1304
- {
1305
- "begin": "\\\\?\\b\\w+\\b",
1306
- "end": "(?=;|})",
1307
- "patterns": [
1308
- {
1309
- "include": "#storage.basic.assignment"
1310
- }
1311
- ],
1312
- "beginCaptures": {
1313
- "0": {
1314
- "name": "entity.name.long.slice",
1315
- "patterns": [
1316
- {
1317
- "include": "#storage.identifier"
1318
- }
1319
- ]
1320
- }
1321
- }
1322
- }
1323
- ],
1324
- "beginCaptures": {
1325
- "0": {
1326
- "patterns": [
1327
- {
1328
- "include": "#storage.types"
1329
- }
1330
- ]
1331
- }
1332
- },
1333
- "endCaptures": {
1334
- "1": {
1335
- "name": "punctuation.terminator.semicolon.slice"
1336
- },
1337
- "2": {
1338
- "name": "invalid.illegal.missing.semicolon.slice"
1339
- }
1340
- }
1341
- },
1342
- {
1343
- "name": "meta.float.slice",
1344
- "begin": "\\\\?\\bfloat\\b",
1345
- "end": "(;)|((?=}))",
1346
- "patterns": [
1347
- {
1348
- "include": "#standard"
1349
- },
1350
- {
1351
- "begin": "\\\\?\\b\\w+\\b",
1352
- "end": "(?=;|})",
1353
- "patterns": [
1354
- {
1355
- "include": "#storage.basic.assignment"
1356
- }
1357
- ],
1358
- "beginCaptures": {
1359
- "0": {
1360
- "name": "entity.name.float.slice",
1361
- "patterns": [
1362
- {
1363
- "include": "#storage.identifier"
1364
- }
1365
- ]
1366
- }
1367
- }
1368
- }
1369
- ],
1370
- "beginCaptures": {
1371
- "0": {
1372
- "patterns": [
1373
- {
1374
- "include": "#storage.types"
1375
- }
1376
- ]
1377
- }
1378
- },
1379
- "endCaptures": {
1380
- "1": {
1381
- "name": "punctuation.terminator.semicolon.slice"
1382
- },
1383
- "2": {
1384
- "name": "invalid.illegal.missing.semicolon.slice"
1385
- }
1386
- }
1387
- },
1388
- {
1389
- "name": "meta.double.slice",
1390
- "begin": "\\\\?\\bdouble\\b",
1391
- "end": "(;)|((?=}))",
1392
- "patterns": [
1393
- {
1394
- "include": "#standard"
1395
- },
1396
- {
1397
- "begin": "\\\\?\\b\\w+\\b",
1398
- "end": "(?=;|})",
1399
- "patterns": [
1400
- {
1401
- "include": "#storage.basic.assignment"
1402
- }
1403
- ],
1404
- "beginCaptures": {
1405
- "0": {
1406
- "name": "entity.name.double.slice",
1407
- "patterns": [
1408
- {
1409
- "include": "#storage.identifier"
1410
- }
1411
- ]
1412
- }
1413
- }
1414
- }
1415
- ],
1416
- "beginCaptures": {
1417
- "0": {
1418
- "patterns": [
1419
- {
1420
- "include": "#storage.types"
1421
- }
1422
- ]
1423
- }
1424
- },
1425
- "endCaptures": {
1426
- "1": {
1427
- "name": "punctuation.terminator.semicolon.slice"
1428
- },
1429
- "2": {
1430
- "name": "invalid.illegal.missing.semicolon.slice"
1431
- }
1432
- }
1433
- },
1434
- {
1435
- "name": "meta.string.slice",
1436
- "begin": "\\\\?\\bstring\\b",
1437
- "end": "(;)|((?=}))",
1438
- "patterns": [
1439
- {
1440
- "include": "#standard"
1441
- },
1442
- {
1443
- "begin": "\\\\?\\b\\w+\\b",
1444
- "end": "(?=;|})",
1445
- "patterns": [
1446
- {
1447
- "include": "#storage.basic.assignment"
1448
- }
1449
- ],
1450
- "beginCaptures": {
1451
- "0": {
1452
- "name": "entity.name.string.slice",
1453
- "patterns": [
1454
- {
1455
- "include": "#storage.identifier"
1456
- }
1457
- ]
1458
- }
1459
- }
1460
- }
1461
- ],
1462
- "beginCaptures": {
1463
- "0": {
1464
- "patterns": [
1465
- {
1466
- "include": "#storage.types"
1467
- }
1468
- ]
1469
- }
1470
- },
1471
- "endCaptures": {
1472
- "1": {
1473
- "name": "punctuation.terminator.semicolon.slice"
1474
- },
1475
- "2": {
1476
- "name": "invalid.illegal.missing.semicolon.slice"
1477
- }
1478
- }
1479
- },
1480
- {
1481
- "name": "meta.type.slice",
1482
- "begin": "\\\\?\\b[:\\w]+\\b",
1483
- "end": "(;)|((?=}))",
1484
- "patterns": [
1485
- {
1486
- "include": "#standard"
1487
- },
1488
- {
1489
- "begin": "\\\\?\\b\\w+\\b",
1490
- "end": "(?=;|})",
1491
- "patterns": [
1492
- {
1493
- "include": "#storage.basic.assignment"
1494
- }
1495
- ],
1496
- "beginCaptures": {
1497
- "0": {
1498
- "name": "entity.name.slice",
1499
- "patterns": [
1500
- {
1501
- "include": "#storage.identifier"
1502
- }
1503
- ]
1504
- }
1505
- }
1506
- }
1507
- ],
1508
- "beginCaptures": {
1509
- "0": {
1510
- "patterns": [
1511
- {
1512
- "include": "#storage.types.custom"
1513
- }
1514
- ]
1515
- }
1516
- },
1517
- "endCaptures": {
1518
- "1": {
1519
- "name": "punctuation.terminator.semicolon.slice"
1520
- },
1521
- "2": {
1522
- "name": "invalid.illegal.missing.semicolon.slice"
1523
- }
1524
- }
1525
- }
1526
- ]
1527
- },
1528
- "storage.basic.assignment": {
1529
- "patterns": [
1530
- {
1531
- "include": "#standard"
1532
- },
1533
- {
1534
- "begin": "=",
1535
- "end": "(?=;|})",
1536
- "patterns": [
1537
- {
1538
- "include": "#standard"
1539
- },
1540
- {
1541
- "include": "#constant"
1542
- }
1543
- ],
1544
- "beginCaptures": {
1545
- "0": {
1546
- "name": "keyword.operator.assignment.slice"
1547
- }
1548
- }
1549
- }
1550
- ]
1551
- },
1552
- "storage.class": {
1553
- "patterns": [
1554
- {
1555
- "include": "#storage.modifier"
1556
- },
1557
- {
1558
- "name": "meta.class.slice",
1559
- "begin": "(?\u003c!\\\\)\\bclass\\b",
1560
- "end": "(})|(;)",
1561
- "patterns": [
1562
- {
1563
- "include": "#standard"
1564
- },
1565
- {
1566
- "begin": "\\\\?\\b\\w+\\b",
1567
- "end": "(?=}|;)",
1568
- "patterns": [
1569
- {
1570
- "include": "#standard"
1571
- },
1572
- {
1573
- "begin": "(?\u003c!\\\\)\\bextends\\b",
1574
- "end": "(?=})|((?=;))",
1575
- "patterns": [
1576
- {
1577
- "include": "#standard"
1578
- },
1579
- {
1580
- "begin": "\\\\?[:\\w]+",
1581
- "end": "(?=}|;)",
1582
- "patterns": [
1583
- {
1584
- "include": "#standard"
1585
- },
1586
- {
1587
- "include": "#storage.class.implements"
1588
- }
1589
- ],
1590
- "beginCaptures": {
1591
- "0": {
1592
- "patterns": [
1593
- {
1594
- "include": "#storage.types"
1595
- }
1596
- ]
1597
- }
1598
- }
1599
- },
1600
- {
1601
- "name": "invalid.illegal.missing-types.slice",
1602
- "include": "#storage.class.implements"
1603
- }
1604
- ],
1605
- "beginCaptures": {
1606
- "0": {
1607
- "name": "storage.modifier.extends.slice"
1608
- }
1609
- },
1610
- "endCaptures": {
1611
- "1": {
1612
- "name": "invalid.illegal.missing-brace.slice"
1613
- }
1614
- }
1615
- },
1616
- {
1617
- "include": "#storage.class.implements"
1618
- }
1619
- ],
1620
- "beginCaptures": {
1621
- "0": {
1622
- "name": "entity.name.class.slice",
1623
- "patterns": [
1624
- {
1625
- "include": "#storage.identifier"
1626
- }
1627
- ]
1628
- }
1629
- }
1630
- }
1631
- ],
1632
- "beginCaptures": {
1633
- "0": {
1634
- "name": "storage.type.class.slice"
1635
- }
1636
- },
1637
- "endCaptures": {
1638
- "1": {
1639
- "name": "punctuation.section.block.end.slice"
1640
- },
1641
- "2": {
1642
- "name": "punctuation.terminator.semicolon.slice"
1643
- }
1644
- }
1645
- }
1646
- ]
1647
- },
1648
- "storage.class.body": {
1649
- "patterns": [
1650
- {
1651
- "begin": "{",
1652
- "end": "(?=})",
1653
- "patterns": [
1654
- {
1655
- "include": "#standard"
1656
- },
1657
- {
1658
- "include": "#storage.basic"
1659
- }
1660
- ],
1661
- "beginCaptures": {
1662
- "0": {
1663
- "name": "punctuation.section.block.begin.slice"
1664
- }
1665
- }
1666
- }
1667
- ]
1668
- },
1669
- "storage.class.implements": {
1670
- "patterns": [
1671
- {
1672
- "begin": "(?\u003c!\\\\)\\bimplements\\b",
1673
- "end": "(?=})|((?=;))",
1674
- "patterns": [
1675
- {
1676
- "include": "#standard"
1677
- },
1678
- {
1679
- "begin": "\\\\?[:\\w]+",
1680
- "end": "(?={|}|;)|(,)",
1681
- "patterns": [
1682
- {
1683
- "include": "#standard"
1684
- }
1685
- ],
1686
- "beginCaptures": {
1687
- "0": {
1688
- "patterns": [
1689
- {
1690
- "include": "#storage.types"
1691
- }
1692
- ]
1693
- }
1694
- },
1695
- "endCaptures": {
1696
- "1": {
1697
- "name": "punctuation.separator.class.implements.slice"
1698
- }
1699
- }
1700
- },
1701
- {
1702
- "include": "#storage.class.body"
1703
- }
1704
- ],
1705
- "beginCaptures": {
1706
- "0": {
1707
- "name": "storage.modifier.implements.slice"
1708
- }
1709
- },
1710
- "endCaptures": {
1711
- "1": {
1712
- "name": "invalid.illegal.missing-brace.slice"
1713
- }
1714
- }
1715
- },
1716
- {
1717
- "include": "#storage.class.body"
1718
- }
1719
- ]
1720
- },
1721
- "storage.dictionary": {
1722
- "patterns": [
1723
- {
1724
- "include": "#storage.modifier"
1725
- },
1726
- {
1727
- "name": "meta.dictionary.slice",
1728
- "begin": "(?\u003c!\\\\)\\bdictionary\\b",
1729
- "end": "(;)|((?=}))",
1730
- "patterns": [
1731
- {
1732
- "include": "#standard"
1733
- },
1734
- {
1735
- "begin": "(\\\u003c)",
1736
- "end": "(?=;|})",
1737
- "patterns": [
1738
- {
1739
- "include": "#standard"
1740
- },
1741
- {
1742
- "begin": "(\\\\?[:\\w]+)|(?=\\\u003e)",
1743
- "end": "(?=;|})",
1744
- "patterns": [
1745
- {
1746
- "include": "#standard"
1747
- },
1748
- {
1749
- "begin": "(,)|(?=\\\u003e)",
1750
- "end": "(?=;|{|})",
1751
- "patterns": [
1752
- {
1753
- "include": "#standard"
1754
- },
1755
- {
1756
- "begin": "(\\\\?[:\\w]+)|(?=\\\u003e)",
1757
- "end": "(?=;|})",
1758
- "patterns": [
1759
- {
1760
- "include": "#standard"
1761
- },
1762
- {
1763
- "begin": "(\\\u003e)",
1764
- "end": "(?=;|})",
1765
- "patterns": [
1766
- {
1767
- "include": "#standard"
1768
- },
1769
- {
1770
- "begin": "\\\\?\\b\\w+\\b",
1771
- "end": "(?=;|})",
1772
- "beginCaptures": {
1773
- "0": {
1774
- "name": "entity.name.dictionary.slice",
1775
- "patterns": [
1776
- {
1777
- "include": "#storage.identifier"
1778
- }
1779
- ]
1780
- }
1781
- }
1782
- }
1783
- ],
1784
- "beginCaptures": {
1785
- "0": {
1786
- "name": "meta.generic.dictionary.slice"
1787
- },
1788
- "1": {
1789
- "name": "punctuation.definition.generic.end.slice"
1790
- }
1791
- }
1792
- }
1793
- ],
1794
- "beginCaptures": {
1795
- "1": {
1796
- "name": "meta.generic.dictionary.slice",
1797
- "patterns": [
1798
- {
1799
- "include": "#storage.types"
1800
- }
1801
- ]
1802
- },
1803
- "2": {
1804
- "name": "invalid.illegal.missing-type.slice"
1805
- }
1806
- }
1807
- }
1808
- ],
1809
- "beginCaptures": {
1810
- "0": {
1811
- "name": "meta.generic.dictionary.slice"
1812
- },
1813
- "1": {
1814
- "name": "punctuation.separator.dictionary.slice"
1815
- },
1816
- "2": {
1817
- "name": "invalid.illegal.missing-type.slice"
1818
- }
1819
- }
1820
- }
1821
- ],
1822
- "beginCaptures": {
1823
- "1": {
1824
- "name": "meta.generic.dictionary.slice",
1825
- "patterns": [
1826
- {
1827
- "include": "#storage.types"
1828
- }
1829
- ]
1830
- },
1831
- "2": {
1832
- "name": "invalid.illegal.missing-type.slice"
1833
- }
1834
- }
1835
- }
1836
- ],
1837
- "beginCaptures": {
1838
- "0": {
1839
- "name": "meta.generic.dictionary.slice"
1840
- },
1841
- "1": {
1842
- "name": "punctuation.definition.generic.begin.slice"
1843
- }
1844
- }
1845
- }
1846
- ],
1847
- "beginCaptures": {
1848
- "0": {
1849
- "name": "storage.type.dictionary.slice"
1850
- }
1851
- },
1852
- "endCaptures": {
1853
- "1": {
1854
- "name": "punctuation.terminator.semicolon.slice"
1855
- },
1856
- "2": {
1857
- "name": "invalid.illegal.missing.semicolon.slice"
1858
- }
1859
- }
1860
- }
1861
- ]
1862
- },
1863
- "storage.enum": {
1864
- "patterns": [
1865
- {
1866
- "include": "#storage.modifier"
1867
- },
1868
- {
1869
- "name": "meta.enum.slice",
1870
- "begin": "(?\u003c!\\\\)\\benum\\b",
1871
- "end": "}",
1872
- "patterns": [
1873
- {
1874
- "include": "#standard"
1875
- },
1876
- {
1877
- "begin": "\\\\?\\b\\w+\\b",
1878
- "end": "(?=})",
1879
- "patterns": [
1880
- {
1881
- "include": "#standard"
1882
- },
1883
- {
1884
- "begin": "{",
1885
- "end": "(?=})",
1886
- "patterns": [
1887
- {
1888
- "include": "#standard"
1889
- },
1890
- {
1891
- "begin": "\\\\?\\b\\w+\\b",
1892
- "end": "(?=})|(,)",
1893
- "patterns": [
1894
- {
1895
- "include": "#standard"
1896
- },
1897
- {
1898
- "begin": "=",
1899
- "end": "(?=})|(?=,)",
1900
- "patterns": [
1901
- {
1902
- "include": "#standard"
1903
- },
1904
- {
1905
- "include": "#constant"
1906
- }
1907
- ],
1908
- "beginCaptures": {
1909
- "0": {
1910
- "name": "keyword.operator.assignment.slice"
1911
- }
1912
- }
1913
- }
1914
- ],
1915
- "beginCaptures": {
1916
- "0": {
1917
- "name": "constant.other.enum.slice",
1918
- "patterns": [
1919
- {
1920
- "include": "#identifier"
1921
- }
1922
- ]
1923
- }
1924
- },
1925
- "endCaptures": {
1926
- "1": {
1927
- "name": "punctuation.separator.enum.slice"
1928
- }
1929
- }
1930
- }
1931
- ],
1932
- "beginCaptures": {
1933
- "0": {
1934
- "name": "punctuation.section.block.begin.slice"
1935
- }
1936
- }
1937
- }
1938
- ],
1939
- "beginCaptures": {
1940
- "0": {
1941
- "name": "entity.name.enum.slice",
1942
- "patterns": [
1943
- {
1944
- "include": "#storage.identifier"
1945
- }
1946
- ]
1947
- }
1948
- }
1949
- }
1950
- ],
1951
- "beginCaptures": {
1952
- "0": {
1953
- "name": "storage.type.enum.slice"
1954
- }
1955
- },
1956
- "endCaptures": {
1957
- "0": {
1958
- "name": "punctuation.section.block.end.slice"
1959
- }
1960
- }
1961
- }
1962
- ]
1963
- },
1964
- "storage.exception": {
1965
- "patterns": [
1966
- {
1967
- "include": "#storage.modifier"
1968
- },
1969
- {
1970
- "name": "meta.exception.slice",
1971
- "begin": "(?\u003c!\\\\)\\bexception\\b",
1972
- "end": "}",
1973
- "patterns": [
1974
- {
1975
- "include": "#standard"
1976
- },
1977
- {
1978
- "begin": "\\\\?\\b\\w+\\b",
1979
- "end": "(?=})",
1980
- "patterns": [
1981
- {
1982
- "include": "#standard"
1983
- },
1984
- {
1985
- "begin": "(?\u003c!\\\\)\\bextends\\b",
1986
- "end": "(?=})",
1987
- "patterns": [
1988
- {
1989
- "include": "#standard"
1990
- },
1991
- {
1992
- "begin": "\\\\?[:\\w]+",
1993
- "end": "(?={|})|(,)",
1994
- "patterns": [
1995
- {
1996
- "include": "#standard"
1997
- }
1998
- ],
1999
- "beginCaptures": {
2000
- "0": {
2001
- "patterns": [
2002
- {
2003
- "include": "#storage.types"
2004
- }
2005
- ]
2006
- }
2007
- },
2008
- "endCaptures": {
2009
- "1": {
2010
- "name": "punctuation.separator.exception.extends.slice"
2011
- }
2012
- }
2013
- },
2014
- {
2015
- "include": "#storage.exception.body"
2016
- }
2017
- ],
2018
- "beginCaptures": {
2019
- "0": {
2020
- "name": "storage.modifier.extends.slice"
2021
- }
2022
- }
2023
- },
2024
- {
2025
- "include": "#storage.exception.body"
2026
- }
2027
- ],
2028
- "beginCaptures": {
2029
- "0": {
2030
- "name": "entity.name.exception.slice",
2031
- "patterns": [
2032
- {
2033
- "include": "#storage.identifier"
2034
- }
2035
- ]
2036
- }
2037
- }
2038
- }
2039
- ],
2040
- "beginCaptures": {
2041
- "0": {
2042
- "name": "storage.type.exception.slice"
2043
- }
2044
- },
2045
- "endCaptures": {
2046
- "0": {
2047
- "name": "punctuation.section.block.end.slice"
2048
- }
2049
- }
2050
- }
2051
- ]
2052
- },
2053
- "storage.exception.body": {
2054
- "patterns": [
2055
- {
2056
- "begin": "{",
2057
- "end": "(?=})",
2058
- "patterns": [
2059
- {
2060
- "include": "#standard"
2061
- },
2062
- {
2063
- "include": "#storage.basic"
2064
- }
2065
- ],
2066
- "beginCaptures": {
2067
- "0": {
2068
- "name": "punctuation.section.block.begin.slice"
2069
- }
2070
- }
2071
- }
2072
- ]
2073
- },
2074
- "storage.identifier": {
2075
- "patterns": [
2076
- {
2077
- "name": "invalid.illegal.reserved.identifier.slice",
2078
- "match": "(?\u003c!\\\\)\\b(?:bool|byte|class|const|dictionary|double|enum|exception|extends|false|float|idempotent|implements|int|interface|local|LocalObject|long|module|Object|optional|out|sequence|short|string|struct|throws|true|Value|void)\\b"
2079
- },
2080
- {
2081
- "match": "(\\\\)?\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b",
2082
- "captures": {
2083
- "1": {
2084
- "name": "punctuation.escape.backslash.slice"
2085
- },
2086
- "2": {
2087
- "patterns": [
2088
- {
2089
- "name": "invalid.illegal.underscore.slice",
2090
- "match": "__+|\\b_|_\\b"
2091
- }
2092
- ]
2093
- }
2094
- }
2095
- },
2096
- {
2097
- "name": "invalid.illegal.identifier.slice",
2098
- "match": "."
2099
- }
2100
- ]
2101
- },
2102
- "storage.interface": {
2103
- "patterns": [
2104
- {
2105
- "include": "#storage.modifier"
2106
- },
2107
- {
2108
- "name": "meta.interface.slice",
2109
- "begin": "(?\u003c!\\\\)\\binterface\\b",
2110
- "end": "(})|(;)",
2111
- "patterns": [
2112
- {
2113
- "include": "#standard"
2114
- },
2115
- {
2116
- "begin": "\\\\?\\b\\w+\\b",
2117
- "end": "(?=}|;)",
2118
- "patterns": [
2119
- {
2120
- "include": "#standard"
2121
- },
2122
- {
2123
- "begin": "(?\u003c!\\\\)\\bextends\\b",
2124
- "end": "(?=})|((?=;))",
2125
- "patterns": [
2126
- {
2127
- "include": "#standard"
2128
- },
2129
- {
2130
- "begin": "\\\\?[:\\w]+",
2131
- "end": "(?={|}|;)|(,)",
2132
- "patterns": [
2133
- {
2134
- "include": "#standard"
2135
- }
2136
- ],
2137
- "beginCaptures": {
2138
- "0": {
2139
- "patterns": [
2140
- {
2141
- "include": "#storage.types"
2142
- }
2143
- ]
2144
- }
2145
- },
2146
- "endCaptures": {
2147
- "1": {
2148
- "name": "punctuation.separator.interface.extends.slice"
2149
- }
2150
- }
2151
- },
2152
- {
2153
- "include": "#storage.interface.body"
2154
- }
2155
- ],
2156
- "beginCaptures": {
2157
- "0": {
2158
- "name": "storage.modifier.extends.slice"
2159
- }
2160
- },
2161
- "endCaptures": {
2162
- "1": {
2163
- "name": "invalid.illegal.missing-brace.slice"
2164
- }
2165
- }
2166
- },
2167
- {
2168
- "include": "#storage.interface.body"
2169
- }
2170
- ],
2171
- "beginCaptures": {
2172
- "0": {
2173
- "name": "entity.name.interface.slice",
2174
- "patterns": [
2175
- {
2176
- "include": "#storage.identifier"
2177
- }
2178
- ]
2179
- }
2180
- }
2181
- }
2182
- ],
2183
- "beginCaptures": {
2184
- "0": {
2185
- "name": "storage.type.interface.slice"
2186
- }
2187
- },
2188
- "endCaptures": {
2189
- "1": {
2190
- "name": "punctuation.section.block.end.slice"
2191
- },
2192
- "2": {
2193
- "name": "punctuation.terminator.semicolon.slice"
2194
- }
2195
- }
2196
- }
2197
- ]
2198
- },
2199
- "storage.interface.body": {
2200
- "patterns": [
2201
- {
2202
- "begin": "{",
2203
- "end": "(?=})",
2204
- "patterns": [
2205
- {
2206
- "include": "#standard"
2207
- },
2208
- {
2209
- "include": "#storage.operation"
2210
- }
2211
- ],
2212
- "beginCaptures": {
2213
- "0": {
2214
- "name": "punctuation.section.block.begin.slice"
2215
- }
2216
- }
2217
- }
2218
- ]
2219
- },
2220
- "storage.modifier": {
2221
- "patterns": [
2222
- {
2223
- "begin": "(?=\\[)",
2224
- "end": "(?\u003c=])",
2225
- "patterns": [
2226
- {
2227
- "include": "#standard"
2228
- },
2229
- {
2230
- "include": "#metadata.local"
2231
- }
2232
- ]
2233
- },
2234
- {
2235
- "match": "(?\u003c!\\\\)\\b(?:(local)|(const)|(idempotent)|(out)|(optional\\(\\d*\\)))(?:\\b|(?\u003c=\\)))",
2236
- "captures": {
2237
- "1": {
2238
- "name": "storage.modifier.local.slice"
2239
- },
2240
- "2": {
2241
- "name": "storage.modifier.const.slice"
2242
- },
2243
- "3": {
2244
- "name": "storage.modifier.idempotent.slice"
2245
- },
2246
- "4": {
2247
- "name": "storage.modifier.out.slice"
2248
- },
2249
- "5": {
2250
- "patterns": [
2251
- {
2252
- "match": "(optional)(\\()(\\d*)(\\))",
2253
- "captures": {
2254
- "1": {
2255
- "name": "storage.modifier.optional.slice"
2256
- },
2257
- "2": {
2258
- "name": "punctuation.section.group.optional.begin.slice"
2259
- },
2260
- "3": {
2261
- "patterns": [
2262
- {
2263
- "include": "#constant.numeric.dec"
2264
- }
2265
- ]
2266
- },
2267
- "4": {
2268
- "name": "punctuation.section.group.optional.end.slice"
2269
- }
2270
- }
2271
- }
2272
- ]
2273
- }
2274
- }
2275
- }
2276
- ]
2277
- },
2278
- "storage.module": {
2279
- "patterns": [
2280
- {
2281
- "include": "#storage.modifier"
2282
- },
2283
- {
2284
- "name": "meta.module.slice",
2285
- "begin": "(?\u003c!\\\\)\\bmodule\\b",
2286
- "end": "}",
2287
- "patterns": [
2288
- {
2289
- "include": "#standard"
2290
- },
2291
- {
2292
- "begin": "\\\\?\\b\\w+\\b",
2293
- "end": "(?=})",
2294
- "patterns": [
2295
- {
2296
- "include": "#standard"
2297
- },
2298
- {
2299
- "begin": "{",
2300
- "end": "(?=})",
2301
- "patterns": [
2302
- {
2303
- "include": "#standard"
2304
- },
2305
- {
2306
- "include": "#storage"
2307
- }
2308
- ],
2309
- "beginCaptures": {
2310
- "0": {
2311
- "name": "punctuation.section.block.begin.slice"
2312
- }
2313
- }
2314
- }
2315
- ],
2316
- "beginCaptures": {
2317
- "0": {
2318
- "name": "entity.name.module.slice",
2319
- "patterns": [
2320
- {
2321
- "include": "#storage.identifier"
2322
- }
2323
- ]
2324
- }
2325
- }
2326
- }
2327
- ],
2328
- "beginCaptures": {
2329
- "0": {
2330
- "name": "storage.type.module.slice"
2331
- }
2332
- },
2333
- "endCaptures": {
2334
- "0": {
2335
- "name": "punctuation.section.block.end.slice"
2336
- }
2337
- }
2338
- }
2339
- ]
2340
- },
2341
- "storage.operation": {
2342
- "patterns": [
2343
- {
2344
- "include": "#storage.modifier"
2345
- },
2346
- {
2347
- "name": "meta.operation.slice",
2348
- "begin": "\\\\?[:\\w]+",
2349
- "end": "(;)|((?=}))",
2350
- "patterns": [
2351
- {
2352
- "include": "#standard"
2353
- },
2354
- {
2355
- "begin": "\\\\?\\b\\w+\\b",
2356
- "end": "(?=;|})",
2357
- "patterns": [
2358
- {
2359
- "include": "#standard"
2360
- },
2361
- {
2362
- "begin": "\\(",
2363
- "end": "(?=;|})",
2364
- "patterns": [
2365
- {
2366
- "include": "#standard"
2367
- },
2368
- {
2369
- "begin": "\\)",
2370
- "end": "(?=;|})",
2371
- "patterns": [
2372
- {
2373
- "include": "#standard"
2374
- },
2375
- {
2376
- "begin": "(?\u003c!\\\\)\\bthrows\\b",
2377
- "end": "(?=;|})",
2378
- "patterns": [
2379
- {
2380
- "include": "#standard"
2381
- },
2382
- {
2383
- "begin": "\\\\?[:\\w]+",
2384
- "end": "(?=;|})|(,)",
2385
- "patterns": [
2386
- {
2387
- "include": "#standard"
2388
- }
2389
- ],
2390
- "beginCaptures": {
2391
- "0": {
2392
- "patterns": [
2393
- {
2394
- "include": "#storage.types"
2395
- }
2396
- ]
2397
- }
2398
- },
2399
- "endCaptures": {
2400
- "1": {
2401
- "name": "punctuation.separator.operation.throws.slice"
2402
- }
2403
- }
2404
- }
2405
- ],
2406
- "beginCaptures": {
2407
- "0": {
2408
- "name": "storage.modifier.throws.slice"
2409
- }
2410
- }
2411
- }
2412
- ],
2413
- "beginCaptures": {
2414
- "0": {
2415
- "name": "punctuation.section.group.operation.parameters.end.slice"
2416
- }
2417
- }
2418
- },
2419
- {
2420
- "include": "#storage.modifier"
2421
- },
2422
- {
2423
- "begin": "\\\\?[:\\w]+",
2424
- "end": "(?=\\))|(?\u003c=,)",
2425
- "patterns": [
2426
- {
2427
- "begin": "\\\\?\\b\\w+\\b",
2428
- "end": "(?=\\))|(,)",
2429
- "beginCaptures": {
2430
- "0": {
2431
- "name": "entity.name.operation.parameter",
2432
- "patterns": [
2433
- {
2434
- "include": "#storage.identifier"
2435
- }
2436
- ]
2437
- }
2438
- },
2439
- "endCaptures": {
2440
- "1": {
2441
- "name": "punctuation.separator.operation.parameter.slice"
2442
- }
2443
- }
2444
- }
2445
- ],
2446
- "beginCaptures": {
2447
- "0": {
2448
- "patterns": [
2449
- {
2450
- "include": "#storage.types"
2451
- }
2452
- ]
2453
- }
2454
- }
2455
- }
2456
- ],
2457
- "beginCaptures": {
2458
- "0": {
2459
- "name": "punctuation.section.group.operation.parameters.begin.slice"
2460
- }
2461
- }
2462
- }
2463
- ],
2464
- "beginCaptures": {
2465
- "0": {
2466
- "name": "entity.name.function.slice",
2467
- "patterns": [
2468
- {
2469
- "include": "#storage.identifier"
2470
- }
2471
- ]
2472
- }
2473
- }
2474
- }
2475
- ],
2476
- "beginCaptures": {
2477
- "0": {
2478
- "patterns": [
2479
- {
2480
- "include": "#storage.types.void"
2481
- },
2482
- {
2483
- "include": "#storage.types"
2484
- }
2485
- ]
2486
- }
2487
- },
2488
- "endCaptures": {
2489
- "1": {
2490
- "name": "punctuation.terminator.semicolon.slice"
2491
- },
2492
- "2": {
2493
- "name": "invalid.illegal.missing-brace.slice"
2494
- }
2495
- }
2496
- }
2497
- ]
2498
- },
2499
- "storage.sequence": {
2500
- "patterns": [
2501
- {
2502
- "include": "#storage.modifier"
2503
- },
2504
- {
2505
- "name": "meta.sequence.slice",
2506
- "begin": "(?\u003c!\\\\)\\bsequence\\b",
2507
- "end": "(;)|((?=}))",
2508
- "patterns": [
2509
- {
2510
- "include": "#standard"
2511
- },
2512
- {
2513
- "begin": "(\\\u003c)",
2514
- "end": "(?=;|})",
2515
- "patterns": [
2516
- {
2517
- "include": "#standard"
2518
- },
2519
- {
2520
- "begin": "(\\\\?[:\\w]+)|(?=\\\u003e)",
2521
- "end": "(?=;|})",
2522
- "patterns": [
2523
- {
2524
- "include": "#standard"
2525
- },
2526
- {
2527
- "begin": "(\\\u003e)",
2528
- "end": "(?=;|})",
2529
- "patterns": [
2530
- {
2531
- "include": "#standard"
2532
- },
2533
- {
2534
- "begin": "\\\\?\\b\\w+\\b",
2535
- "end": "(?=;|})",
2536
- "beginCaptures": {
2537
- "0": {
2538
- "name": "entity.name.sequence.slice",
2539
- "patterns": [
2540
- {
2541
- "include": "#storage.identifier"
2542
- }
2543
- ]
2544
- }
2545
- }
2546
- }
2547
- ],
2548
- "beginCaptures": {
2549
- "0": {
2550
- "name": "meta.generic.sequence.slice"
2551
- },
2552
- "1": {
2553
- "name": "punctuation.definition.generic.end.slice"
2554
- }
2555
- }
2556
- }
2557
- ],
2558
- "beginCaptures": {
2559
- "1": {
2560
- "name": "meta.generic.sequence.slice",
2561
- "patterns": [
2562
- {
2563
- "include": "#storage.types"
2564
- }
2565
- ]
2566
- },
2567
- "2": {
2568
- "name": "invalid.illegal.missing-type.slice"
2569
- }
2570
- }
2571
- }
2572
- ],
2573
- "beginCaptures": {
2574
- "0": {
2575
- "name": "meta.generic.sequence.slice"
2576
- },
2577
- "1": {
2578
- "name": "punctuation.definition.generic.begin.slice"
2579
- }
2580
- }
2581
- }
2582
- ],
2583
- "beginCaptures": {
2584
- "0": {
2585
- "name": "storage.type.sequence.slice"
2586
- }
2587
- },
2588
- "endCaptures": {
2589
- "1": {
2590
- "name": "punctuation.terminator.semicolon.slice"
2591
- },
2592
- "2": {
2593
- "name": "invalid.illegal.missing.semicolon.slice"
2594
- }
2595
- }
2596
- }
2597
- ]
2598
- },
2599
- "storage.struct": {
2600
- "patterns": [
2601
- {
2602
- "include": "#storage.modifier"
2603
- },
2604
- {
2605
- "name": "meta.struct.slice",
2606
- "begin": "(?\u003c!\\\\)\\bstruct\\b",
2607
- "end": "}",
2608
- "patterns": [
2609
- {
2610
- "include": "#standard"
2611
- },
2612
- {
2613
- "begin": "\\\\?\\b\\w+\\b",
2614
- "end": "(?=})",
2615
- "patterns": [
2616
- {
2617
- "include": "#standard"
2618
- },
2619
- {
2620
- "begin": "{",
2621
- "end": "(?=})",
2622
- "patterns": [
2623
- {
2624
- "include": "#standard"
2625
- },
2626
- {
2627
- "include": "#storage.basic"
2628
- }
2629
- ],
2630
- "beginCaptures": {
2631
- "0": {
2632
- "name": "punctuation.section.block.begin.slice"
2633
- }
2634
- }
2635
- }
2636
- ],
2637
- "beginCaptures": {
2638
- "0": {
2639
- "name": "entity.name.struct.slice",
2640
- "patterns": [
2641
- {
2642
- "include": "#storage.identifier"
2643
- }
2644
- ]
2645
- }
2646
- }
2647
- }
2648
- ],
2649
- "beginCaptures": {
2650
- "0": {
2651
- "name": "storage.type.struct.slice"
2652
- }
2653
- },
2654
- "endCaptures": {
2655
- "0": {
2656
- "name": "punctuation.section.block.end.slice"
2657
- }
2658
- }
2659
- }
2660
- ]
2661
- },
2662
- "storage.types": {
2663
- "patterns": [
2664
- {
2665
- "match": "(\\\\)?\\b(?:(bool)|(byte)|(short)|(int)|(long)|(float)|(double)|(string)|(Object)|(LocalObject)|(Value))\\b",
2666
- "captures": {
2667
- "1": {
2668
- "name": "punctuation.escape.backslash.slice"
2669
- },
2670
- "10": {
2671
- "name": "storage.type.object.slice"
2672
- },
2673
- "11": {
2674
- "name": "storage.type.localobject.slice"
2675
- },
2676
- "12": {
2677
- "name": "storage.type.value.slice"
2678
- },
2679
- "2": {
2680
- "name": "storage.type.bool.slice"
2681
- },
2682
- "3": {
2683
- "name": "storage.type.byte.slice"
2684
- },
2685
- "4": {
2686
- "name": "storage.type.short.slice"
2687
- },
2688
- "5": {
2689
- "name": "storage.type.int.slice"
2690
- },
2691
- "6": {
2692
- "name": "storage.type.long.slice"
2693
- },
2694
- "7": {
2695
- "name": "storage.type.float.slice"
2696
- },
2697
- "8": {
2698
- "name": "storage.type.double.slice"
2699
- },
2700
- "9": {
2701
- "name": "storage.type.string.slice"
2702
- }
2703
- }
2704
- },
2705
- {
2706
- "include": "#storage.types.custom"
2707
- }
2708
- ]
2709
- },
2710
- "storage.types.custom": {
2711
- "patterns": [
2712
- {
2713
- "match": "(\\\\)?([:\\w]+)",
2714
- "captures": {
2715
- "1": {
2716
- "name": "punctuation.escape.backslash.slice"
2717
- },
2718
- "2": {
2719
- "patterns": [
2720
- {
2721
- "name": "variable.type.slice",
2722
- "match": "\\w+"
2723
- },
2724
- {
2725
- "name": "punctuation.accessor.slice",
2726
- "match": "::"
2727
- },
2728
- {
2729
- "name": "invalid.illegal.accessor.slice",
2730
- "match": ":"
2731
- }
2732
- ]
2733
- }
2734
- }
2735
- },
2736
- {
2737
- "include": "#invalid"
2738
- }
2739
- ]
2740
- },
2741
- "storage.types.void": {
2742
- "patterns": [
2743
- {
2744
- "name": "storage.type.void.slice",
2745
- "match": "(\\\\)?\\bvoid\\b",
2746
- "captures": {
2747
- "1": {
2748
- "name": "punctuation.escape.backslash.slice"
2749
- }
2750
- }
2751
- }
2752
- ]
2753
- }
2754
- }
2755
- }
1
+ {"name":"Slice","scopeName":"source.slice","patterns":[{"include":"#comment"},{"include":"#preprocessor"},{"include":"#metadata.global"},{"include":"#storage.module"}],"repository":{"annotation":{"patterns":[{"name":"storage.type.annotation.slice","match":"(@)\\S*\\b","captures":{"1":{"name":"punctuation.definition.annotation.slice"}}}]},"comment":{"patterns":[{"include":"#comment.line"},{"include":"#comment.block"}]},"comment.block":{"patterns":[{"name":"comment.block.slice","contentName":"text.slice","begin":"\\/\\*","end":"\\*\\/","patterns":[{"include":"#annotation"},{"include":"#link"},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.slice"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.slice"}}}]},"comment.line":{"patterns":[{"name":"comment.line.slice","contentName":"text.slice","begin":"\\/\\/","end":"$","patterns":[{"include":"#annotation"},{"include":"#link"},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.line.begin.slice"}}}]},"constant":{"patterns":[{"include":"#constant.boolean"},{"include":"#constant.string"},{"include":"#constant.numeric.float"},{"include":"#constant.numeric.hex"},{"include":"#constant.numeric.oct"},{"include":"#constant.numeric.dec"}]},"constant.boolean":{"patterns":[{"match":"\\b(?:(true)|(false))\\b","captures":{"0":{"name":"constant.langauge.slice"},"1":{"name":"constant.boolean.true.slice"},"2":{"name":"constant.boolean.false.slice"}}}]},"constant.numeric.dec":{"patterns":[{"name":"constant.numeric.integer.slice","match":"(-|\\+)?\\b(?:0|[1-9]\\d*)\\b","captures":{"1":{"name":"punctuation.definition.numeric.sign.slice"}}}]},"constant.numeric.float":{"patterns":[{"name":"constant.numeric.float.slice","match":"(-|\\+)?(?:\\d+(\\.)\\d*|\\d*(\\.)\\d+|\\d+(?=e|E|f|F))(?:(e|E)-?\\d+)?(f|F)?","captures":{"1":{"name":"punctuation.numeric.sign.slice"},"2":{"name":"punctuation.separator.decimal.slice"},"3":{"name":"punctuation.separator.decimal.slice"},"4":{"name":"punctuation.numeric.exponent.slice"},"5":{"name":"punctuation.definition.float.slice"}}}]},"constant.numeric.hex":{"patterns":[{"name":"constant.numeric.hex.slice","match":"(-|\\+)?\\b(0x)[\\da-fA-F]+\\b","captures":{"1":{"name":"punctuation.definition.numeric.sign.slice"},"2":{"name":"punctuation.definition.numeric.hex.slice"}}}]},"constant.numeric.oct":{"patterns":[{"name":"constant.numeric.octal.slice","match":"(-|\\+)?\\b(0)(\\d+)\\b","captures":{"1":{"name":"punctuation.definition.numeric.sign.slice"},"2":{"name":"punctuation.definition.numeric.oct.slice"},"3":{"patterns":[{"name":"invalid.illegal.oct.slice","match":"[8-9]"}]}}}]},"constant.string":{"patterns":[{"name":"string.quoted.double.slice","begin":"\"","end":"(\")|$","patterns":[{"match":"\\\\."},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.slice"},"2":{"name":"invalid.illegal.mismatched-quotes.slice"}}}]},"invalid":{"patterns":[{"name":"invalid.illegal","match":"\\S"}]},"line.continuation":{"patterns":[{"begin":"(\\\\)\\s*$","end":"^","beginCaptures":{"1":{"name":"punctuation.separator.continuation.backslash.slice"}}}]},"link":{"patterns":[{"name":"variable.link.slice","match":"(\\b\\S*)?(#)\\S*\\b","captures":{"1":{"name":"punctuation.definition.link.slice"}}}]},"metadata":{"patterns":[{"include":"#metadata.global"},{"include":"#metadata.local"}]},"metadata.content":{"patterns":[{"include":"#standard"},{"begin":"(\")","end":"(?=\\])|(?\u003c=,)","patterns":[{"include":"#line.continuation"},{"name":"string.quoted.double.slice","match":"((?:[^\\\\\"]|\\\\.)+)","captures":{"1":{"patterns":[{"include":"#metadata.identifier"}]}}},{"begin":"(\")","end":"(?=\\])|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"name":"string.quoted.double.slice"},"1":{"name":"punctuation.definition.string.end.slice"}},"endCaptures":{"1":{"name":"punctuation.separator.metadata.slice"}}}],"beginCaptures":{"0":{"name":"string.quoted.double.slice"},"1":{"name":"punctuation.definition.string.begin.slice"}}},{"end":"(?=\\])","patterns":[{"include":"#line.continuation"},{"name":"string.unquoted.slice","match":"((?:[^\\\\\"\\]]|\\\\.)+)","captures":{"1":{"patterns":[{"include":"#metadata.identifier"}]}}},{"name":"invalid.illegal.punctuation.definition.string.slice","match":"\""}]}]},"metadata.global":{"patterns":[{"name":"meta.metadata.global.slice","begin":"\\[\\[","end":"\\]\\]","patterns":[{"include":"#metadata.content"}],"beginCaptures":{"0":{"name":"punctuation.definition.metadata.global.begin.slice"}},"endCaptures":{"0":{"name":"punctuation.definition.metadata.global.end.slice"}}}]},"metadata.identifier":{"patterns":[{"name":"entity.metadata.directive.slice","match":"\\S+"}]},"metadata.local":{"patterns":[{"name":"meta.metadata.local.slice","begin":"\\[","end":"\\]","patterns":[{"include":"#metadata.content"}],"beginCaptures":{"0":{"name":"punctuation.definition.metadata.local.begin.slice"}},"endCaptures":{"0":{"name":"punctuation.definition.metadata.local.end.slice"}}}]},"preprocessor":{"patterns":[{"include":"#preprocessor.if"},{"include":"#preprocessor.ifdef"},{"include":"#preprocessor.ifndef"},{"include":"#preprocessor.elif"},{"include":"#preprocessor.else"},{"include":"#preprocessor.endif"},{"include":"#preprocessor.define"},{"include":"#preprocessor.undef"},{"include":"#preprocessor.include"},{"include":"#preprocessor.pragma"},{"include":"#preprocessor.line"},{"include":"#preprocessor.error"},{"include":"#preprocessor.null"}]},"preprocessor.define":{"patterns":[{"name":"meta.preprocessor.define.slice","begin":"(#)\\s*define\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b(\\w+)((\\())","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\w+\\b","end":"(?=\\))|(,)|($)","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}},"endCaptures":{"1":{"name":"punctuation.separator.parameter.preprocessor.slice"},"2":{"name":"invalid.mismatched.parenthesis.slice"}}},{"begin":"\\b\\w+\\b","end":"(?=\\))|((,))|($)","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"punctuation.variable.parameter.preprocessor.slice"}},"endCaptures":{"1":{"name":"punctuation.separator.parameter.preprocessor.slice"},"2":{"name":"invalid.trailing-comma.slice"},"3":{"name":"invalid.mismatched.parenthesis.slice"}}},{"begin":"(\\))","end":"$","patterns":[{"include":"#standardP"},{"name":"constant.preprocessor.slice","match":"\\S"}],"beginCaptures":{"0":{"name":"meta.group.parameters.preprocessor.slice"},"1":{"name":"punctuation.section.group.parameters.end.slice"}}}],"beginCaptures":{"1":{"patterns":[{"include":"#preprocessor.identifier"}]},"2":{"name":"meta.group.parameters.preprocessor.slice"},"3":{"name":"punctuation.section.group.parameters.begin.slice"}}},{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#standardP"},{"name":"constant.preprocessor.slice","match":"\\S"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.define.slice"},"1":{"name":"punctuation.definition.preprocessor.slice"}}}]},"preprocessor.elif":{"patterns":[{"name":"meta.preprocessor.elif.slice","begin":"(#)\\s*elif\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.elif.slice"},"1":{"name":"punctuation.definition.preprocessor.slice"}}}]},"preprocessor.else":{"patterns":[{"name":"meta.preprocessor.endif.slice","begin":"(#)\\s*else\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.else.slice"},"1":{"name":"punctuation.definition.preprocessor.slice"}}}]},"preprocessor.endif":{"patterns":[{"name":"meta.preprocessor.endif.slice","begin":"(#)\\s*endif\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.endif.slice"},"1":{"name":"punctuation.definition.preprocessor.slice"}}}]},"preprocessor.error":{"patterns":[{"name":"meta.preprocessor.error.slice","begin":"((#)\\s*error)\\b","end":"$","patterns":[{"include":"#standardP"},{"name":"text.error.slice","match":"."}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.error.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}}]},"preprocessor.identifier":{"patterns":[{"name":"entity.identifier.preproprocessor.slice","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"},{"include":"#invalid"}]},"preprocessor.if":{"patterns":[{"name":"meta.preprocessor.if.slice","begin":"(#)\\s*if\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.if.slice"},"1":{"name":"punctuation.definition.preprocessor.slice"}}}]},"preprocessor.ifdef":{"patterns":[{"name":"meta.preprocessor.ifdef.slice","begin":"(#)\\s*ifdef\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.ifdef.slice"},"1":{"name":"punctuation.definition.preprocessor.slice"}}}]},"preprocessor.ifndef":{"patterns":[{"name":"meta.preprocessor.ifndef.slice","begin":"(#)\\s*ifndef\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.ifndef.slice"},"1":{"name":"punctuation.definition.preprocessor.slice"}}}]},"preprocessor.include":{"patterns":[{"name":"meta.preprocessor.include.slice","begin":"((#)\\s*include)\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"(?\u003c=\"|\u003e)","end":"$","patterns":[{"include":"#standardP"}]},{"name":"string.quoted.double.slice","contentName":"entity.name.header.slice","begin":"\"","end":"(\")|($)","patterns":[{"match":"\\\\."},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.slice"},"2":{"name":"invalid.illegal.mismatched-quotes.slice"}}},{"name":"string.quoted.other.angle.slice","contentName":"entity.name.header.slice","begin":"\u003c","end":"(\u003e)|($)","patterns":[{"match":"\\\\."},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.slice"},"2":{"name":"invalid.illegal.mismatched-quotes.slice"}}}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.include.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}}]},"preprocessor.line":{"patterns":[{"name":"meta.preprocessor.line.slice","begin":"((#)\\s*line)\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b[\\d]+\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"(?\u003c=\")","end":"$","patterns":[{"include":"#standardP"}]},{"name":"string.quoted.double.slice","contentName":"entity.name.file.slice","begin":"\"","end":"(\")|($)","patterns":[{"match":"\\\\."},{"include":"#line.continuation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slice"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.slice"},"2":{"name":"invalid.illegal.mismatched-quotes.slice"}}}],"beginCaptures":{"0":{"patterns":[{"include":"#constant.numeric.dec"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.line.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}}]},"preprocessor.null":{"patterns":[{"name":"meta.preprocessor.null.slice","begin":"(#)","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"punctuation.definition.preprocessor.slice"},"1":{"name":"keyword.control.preprocessor.null.slice"}}}]},"preprocessor.pragma":{"patterns":[{"name":"meta.preprocessor.pragma.slice","begin":"((#)\\s*pragma)\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\S+\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"name":"keyword.control.preprocessor.pragma.other.slice"}}}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.pragma.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}}]},"preprocessor.undef":{"patterns":[{"name":"meta.preprocessor.undef.slice","begin":"((#)\\s*undef)\\b","end":"$","patterns":[{"include":"#standardP"},{"begin":"\\b\\w+\\b","end":"$","patterns":[{"include":"#standardP"}],"beginCaptures":{"0":{"patterns":[{"include":"#preprocessor.identifier"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.slice"},"2":{"name":"punctuation.definition.preprocessor.slice"}}}]},"standard":{"patterns":[{"include":"#comment"},{"include":"#preprocessor"},{"include":"#line.continuation"}]},"standardP":{"patterns":[{"include":"#comment"},{"include":"#line.continuation"}]},"storage":{"patterns":[{"include":"#storage.module"},{"include":"#storage.enum"},{"include":"#storage.struct"},{"include":"#storage.sequence"},{"include":"#storage.dictionary"},{"include":"#storage.interface"},{"include":"#storage.exception"},{"include":"#storage.class"},{"include":"#storage.basic"}]},"storage.basic":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.bool.slice","begin":"\\\\?\\bbool\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.bool.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.byte.slice","begin":"\\\\?\\bbyte\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.byte.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.short.slice","begin":"\\\\?\\bshort\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.short.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.ushort.slice","begin":"\\\\?\\bushort\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.ushort.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.int.slice","begin":"\\\\?\\bint\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.int.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.uint.slice","begin":"\\\\?\\buint\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.uint.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.varint.slice","begin":"\\\\?\\bvarint\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.varint.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.varuint.slice","begin":"\\\\?\\bvaruint\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.varuint.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.long.slice","begin":"\\\\?\\blong\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.long.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.ulong.slice","begin":"\\\\?\\bulong\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.ulong.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.varlong.slice","begin":"\\\\?\\bvarlong\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.varlong.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.varulong.slice","begin":"\\\\?\\bvarulong\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.varulong.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.float.slice","begin":"\\\\?\\bfloat\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.float.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.double.slice","begin":"\\\\?\\bdouble\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.double.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.string.slice","begin":"\\\\?\\bstring\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.string.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}},{"name":"meta.type.slice","begin":"\\\\?\\b[:\\w]+\\b\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#storage.basic.assignment"}],"beginCaptures":{"0":{"name":"entity.name.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types.custom"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}}]},"storage.basic.assignment":{"patterns":[{"include":"#standard"},{"begin":"=","end":"(?=;|})","patterns":[{"include":"#standard"},{"include":"#constant"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}}]},"storage.class":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.class.slice","begin":"(?\u003c!\\\\)\\bclass\\b","end":"(})|(;)","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=}|;)","patterns":[{"include":"#standard"},{"begin":"(?\u003c!\\\\)(?:(\\bextends\\b)|(:))","end":"(?=})|((?=;))","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?=}|;)","patterns":[{"include":"#standard"},{"include":"#storage.class.implements"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}}},{"name":"invalid.illegal.missing-types.slice","include":"#storage.class.implements"}],"beginCaptures":{"1":{"name":"storage.modifier.extends.slice"},"2":{"name":"punctuation.storage.modifier.extends.slice"}},"endCaptures":{"1":{"name":"invalid.illegal.missing-brace.slice"}}},{"include":"#storage.class.implements"}],"beginCaptures":{"0":{"name":"entity.name.class.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.class.slice"}},"endCaptures":{"1":{"name":"punctuation.section.block.end.slice"},"2":{"name":"punctuation.terminator.semicolon.slice"}}}]},"storage.class.body":{"patterns":[{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage.basic"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.slice"}}}]},"storage.class.implements":{"patterns":[{"begin":"(?\u003c!\\\\)\\bimplements\\b","end":"(?=})|((?=;))","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?={|}|;)|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.separator.class.implements.slice"}}},{"include":"#storage.class.body"}],"beginCaptures":{"0":{"name":"storage.modifier.implements.slice"}},"endCaptures":{"1":{"name":"invalid.illegal.missing-brace.slice"}}},{"include":"#storage.class.body"}]},"storage.dictionary":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.dictionary.slice","begin":"(?\u003c!\\\\)\\bdictionary\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"(\\\u003c)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(\\\\?[:\\w]+)|(?=\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(,)|(?=\\\u003e)","end":"(?=;|{|})","patterns":[{"include":"#standard"},{"begin":"(\\\\?[:\\w]+)|(?=\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","beginCaptures":{"0":{"name":"entity.name.dictionary.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"meta.generic.dictionary.slice"},"1":{"name":"punctuation.definition.generic.end.slice"}}}],"beginCaptures":{"1":{"name":"meta.generic.dictionary.slice","patterns":[{"include":"#storage.types"}]},"2":{"name":"invalid.illegal.missing-type.slice"}}}],"beginCaptures":{"0":{"name":"meta.generic.dictionary.slice"},"1":{"name":"punctuation.separator.dictionary.slice"},"2":{"name":"invalid.illegal.missing-type.slice"}}}],"beginCaptures":{"1":{"name":"meta.generic.dictionary.slice","patterns":[{"include":"#storage.types"}]},"2":{"name":"invalid.illegal.missing-type.slice"}}}],"beginCaptures":{"0":{"name":"meta.generic.dictionary.slice"},"1":{"name":"punctuation.definition.generic.begin.slice"}}}],"beginCaptures":{"0":{"name":"storage.type.dictionary.slice"}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}}]},"storage.enum":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.enum.slice","begin":"(?\u003c!\\\\)\\benum\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"(:)\\s*(\\w*)","end":"(?=({|;))","beginCaptures":{"1":{"name":"punctuation.storage.modifier.extends.slice"},"2":{"patterns":[{"include":"#storage.types"}]}}},{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})|(,)","patterns":[{"include":"#standard"},{"begin":"=","end":"(?=})|(?=,)","patterns":[{"include":"#standard"},{"include":"#constant"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.slice"}}}],"beginCaptures":{"0":{"name":"constant.other.enum.slice","patterns":[{"include":"#identifier"}]}},"endCaptures":{"1":{"name":"punctuation.separator.enum.slice"}}}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.slice"}}}],"beginCaptures":{"0":{"name":"entity.name.enum.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.enum.slice"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.slice"}}}]},"storage.exception":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.exception.slice","begin":"(?\u003c!\\\\)\\bexception\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"(?\u003c!\\\\)(?:(\\bextends\\b)|(:))","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?={|})|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.separator.exception.extends.slice"}}},{"include":"#storage.exception.body"}],"beginCaptures":{"1":{"name":"storage.modifier.extends.slice"},"2":{"name":"punctuation.storage.modifier.extends.slice"}}},{"include":"#storage.exception.body"}],"beginCaptures":{"0":{"name":"entity.name.exception.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.exception.slice"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.slice"}}}]},"storage.exception.body":{"patterns":[{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage.basic"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.slice"}}}]},"storage.identifier":{"patterns":[{"name":"invalid.illegal.reserved.identifier.slice","match":"(?\u003c!\\\\)\\b(?:bool|byte|class|const|dictionary|double|enum|exception|extends|false|float|idempotent|implements|int|interface|local|LocalObject|long|module|Object|optional|out|sequence|short|string|struct|tag|throws|true|uint|ulong|ushort|Value|varuint|varulong|void)\\b"},{"match":"(\\\\)?\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b","captures":{"1":{"name":"punctuation.escape.backslash.slice"},"2":{"patterns":[{"name":"invalid.illegal.underscore.slice","match":"__+|\\b_|_\\b"}]}}},{"name":"invalid.illegal.identifier.slice","match":"."}]},"storage.interface":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.interface.slice","begin":"(?\u003c!\\\\)\\binterface\\b","end":"(})|(;)","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=}|;)","patterns":[{"include":"#standard"},{"begin":"(?\u003c!\\\\)(?:(\\bextends\\b)|(:))","end":"(?=})|((?=;))","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?={|}|;)|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.separator.interface.extends.slice"}}},{"include":"#storage.interface.body"}],"beginCaptures":{"1":{"name":"storage.modifier.extends.slice"},"2":{"name":"punctuation.storage.modifier.extends.slice"}},"endCaptures":{"1":{"name":"invalid.illegal.missing-brace.slice"}}},{"include":"#storage.interface.body"}],"beginCaptures":{"0":{"name":"entity.name.interface.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.interface.slice"}},"endCaptures":{"1":{"name":"punctuation.section.block.end.slice"},"2":{"name":"punctuation.terminator.semicolon.slice"}}}]},"storage.interface.body":{"patterns":[{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage.operation"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.slice"}}}]},"storage.modifier":{"patterns":[{"begin":"(?=\\[)","end":"(?\u003c=])","patterns":[{"include":"#standard"},{"include":"#metadata.local"}]},{"match":"(?\u003c!\\\\)\\b(?:(local)|(const)|(idempotent)|(out)|(unchecked)|((?:optional|tag)\\([-a-zA-Z0-9:]*\\)))(?:\\b|(?\u003c=\\)))","captures":{"1":{"name":"storage.modifier.local.slice"},"2":{"name":"storage.modifier.const.slice"},"3":{"name":"storage.modifier.idempotent.slice"},"4":{"name":"storage.modifier.out.slice"},"5":{"name":"storage.modifier.unchecked.slice"},"6":{"patterns":[{"match":"(optional|tag)(\\()([-a-zA-Z0-9:]*)(\\))","captures":{"1":{"name":"storage.modifier.tagged.slice"},"2":{"name":"punctuation.section.group.tagged.begin.slice"},"3":{"patterns":[{"include":"#constant.numeric.oct"},{"include":"#constant.numeric.dec"},{"include":"#constant.numeric.hex"},{"include":"#storage.types.custom"}]},"4":{"name":"punctuation.section.group.tagged.end.slice"}}}]}}}]},"storage.module":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.module.slice","begin":"(?\u003c!\\\\)\\bmodule\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.slice"}}}],"beginCaptures":{"0":{"name":"entity.name.module.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.module.slice"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.slice"}}}]},"storage.operation":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.operation.slice","begin":"\\\\?[:\\w]+\\s*\\??","end":"(;)|((?=}))","patterns":[{"include":"#storage.operation.body"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types.void"},{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing-brace.slice"}}},{"name":"meta.operation.slice","begin":"\\(","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"\\)","end":"(?=;|})","patterns":[{"include":"#standard"},{"include":"#storage.operation.body"}],"beginCaptures":{"0":{"name":"punctuation.section.group.operation.return-tuple.end.slice"}}},{"include":"#storage.modifier"},{"begin":"\\\\?[:\\w]+\\s*\\??","end":"(?=\\))|(?\u003c=,)","patterns":[{"begin":"\\\\?\\b\\w+\\b","end":"(?=\\))|(,)","beginCaptures":{"0":{"name":"entity.name.operation.return-member","patterns":[{"include":"#storage.identifier"}]}},"endCaptures":{"1":{"name":"punctuation.separator.operation.return-tuple.slice"}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}}}],"beginCaptures":{"0":{"name":"punctuation.section.group.operation.return-tuple.begin.slice"}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing-brace.slice"}}}]},"storage.operation.body":{"patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\(","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(?\u003c!\\\\)\\bthrows\\b","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\\\?[:\\w]+","end":"(?=;|})|(,)","patterns":[{"include":"#standard"}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}},"endCaptures":{"1":{"name":"punctuation.separator.operation.throws.slice"}}}],"beginCaptures":{"0":{"name":"storage.modifier.throws.slice"}}}],"beginCaptures":{"0":{"name":"punctuation.section.group.operation.parameters.end.slice"}}},{"include":"#storage.modifier"},{"begin":"\\\\?[:\\w]+\\s*\\??","end":"(?=\\))|(?\u003c=,)","patterns":[{"begin":"\\\\?\\b\\w+\\b","end":"(?=\\))|(,)","beginCaptures":{"0":{"name":"entity.name.operation.parameter","patterns":[{"include":"#storage.identifier"}]}},"endCaptures":{"1":{"name":"punctuation.separator.operation.parameter.slice"}}}],"beginCaptures":{"0":{"patterns":[{"include":"#storage.types"}]}}}],"beginCaptures":{"0":{"name":"punctuation.section.group.operation.parameters.begin.slice"}}}],"beginCaptures":{"0":{"name":"entity.name.function.slice","patterns":[{"include":"#storage.identifier"}]}}}]},"storage.sequence":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.sequence.slice","begin":"(?\u003c!\\\\)\\bsequence\\b","end":"(;)|((?=}))","patterns":[{"include":"#standard"},{"begin":"(\\\u003c)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(\\\\?[:\\w]+)|(?=\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"(\\\u003e)","end":"(?=;|})","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=;|})","beginCaptures":{"0":{"name":"entity.name.sequence.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"meta.generic.sequence.slice"},"1":{"name":"punctuation.definition.generic.end.slice"}}}],"beginCaptures":{"1":{"name":"meta.generic.sequence.slice","patterns":[{"include":"#storage.types"}]},"2":{"name":"invalid.illegal.missing-type.slice"}}}],"beginCaptures":{"0":{"name":"meta.generic.sequence.slice"},"1":{"name":"punctuation.definition.generic.begin.slice"}}}],"beginCaptures":{"0":{"name":"storage.type.sequence.slice"}},"endCaptures":{"1":{"name":"punctuation.terminator.semicolon.slice"},"2":{"name":"invalid.illegal.missing.semicolon.slice"}}}]},"storage.struct":{"patterns":[{"include":"#storage.modifier"},{"name":"meta.struct.slice","begin":"(?\u003c!\\\\)\\bstruct\\b","end":"}","patterns":[{"include":"#standard"},{"begin":"\\\\?\\b\\w+\\b","end":"(?=})","patterns":[{"include":"#standard"},{"begin":"{","end":"(?=})","patterns":[{"include":"#standard"},{"include":"#storage.basic"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.slice"}}}],"beginCaptures":{"0":{"name":"entity.name.struct.slice","patterns":[{"include":"#storage.identifier"}]}}}],"beginCaptures":{"0":{"name":"storage.type.struct.slice"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.slice"}}}]},"storage.types":{"patterns":[{"match":"(\\\\)?\\b(?:(bool)|(byte)|(short)|(ushort)|(int)|(uint)|(varint)|(varuint)|(long)|(ulong)|(varlong)|(varulong)|(float)|(double)|(string)|(Object)|(LocalObject)|(Value))\\b\\s*(\\?)?","captures":{"1":{"name":"punctuation.escape.backslash.slice"},"10":{"name":"storage.type.long.slice"},"11":{"name":"storage.type.ulong.slice"},"12":{"name":"storage.type.varlong.slice"},"13":{"name":"storage.type.varulong.slice"},"14":{"name":"storage.type.float.slice"},"15":{"name":"storage.type.double.slice"},"16":{"name":"storage.type.string.slice"},"17":{"name":"storage.type.object.slice"},"18":{"name":"storage.type.localobject.slice"},"19":{"name":"storage.type.value.slice"},"2":{"name":"storage.type.bool.slice"},"20":{"name":"punctuation.storage.modifier.optional.slice"},"3":{"name":"storage.type.byte.slice"},"4":{"name":"storage.type.short.slice"},"5":{"name":"storage.type.ushort.slice"},"6":{"name":"storage.type.int.slice"},"7":{"name":"storage.type.uint.slice"},"8":{"name":"storage.type.varint.slice"},"9":{"name":"storage.type.varuint.slice"}}},{"include":"#storage.types.custom"}]},"storage.types.custom":{"patterns":[{"match":"(\\\\)?([:\\w]+)\\s*(\\?)?","captures":{"1":{"name":"punctuation.escape.backslash.slice"},"2":{"patterns":[{"name":"variable.type.slice","match":"\\w+"},{"name":"punctuation.accessor.slice","match":"::"},{"name":"invalid.illegal.accessor.slice","match":":"}]},"3":{"name":"punctuation.storage.modifier.optional.slice"}}},{"include":"#invalid"}]},"storage.types.void":{"patterns":[{"name":"storage.type.void.slice","match":"(\\\\)?\\bvoid\\b","captures":{"1":{"name":"punctuation.escape.backslash.slice"}}}]}}}