github-linguist 4.7.6 → 4.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (361) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +1 -1
  3. data/grammars/file.lasso.json +713 -0
  4. data/grammars/module.ceylon.json +54 -0
  5. data/grammars/objdump.x86asm.json +73 -0
  6. data/grammars/source.Kotlin.json +777 -0
  7. data/grammars/source.LS.json +104 -0
  8. data/grammars/source.MCPOST.json +68 -0
  9. data/grammars/source.MOD.json +70 -0
  10. data/grammars/source.abap.json +176 -0
  11. data/grammars/source.abl.json +138 -0
  12. data/grammars/source.actionscript.3.json +1571 -0
  13. data/grammars/source.acucobol.json +16 -0
  14. data/grammars/source.ada.json +140 -0
  15. data/grammars/source.agda.json +254 -0
  16. data/grammars/source.ahk.json +171 -0
  17. data/grammars/source.alloy.json +44 -0
  18. data/grammars/source.ampl.json +157 -0
  19. data/grammars/source.antlr.json +300 -0
  20. data/grammars/source.apache-config.json +352 -0
  21. data/grammars/source.apache-config.mod_perl.json +70 -0
  22. data/grammars/source.apl.json +442 -0
  23. data/grammars/source.applescript.json +1385 -0
  24. data/grammars/source.apt.json +25 -0
  25. data/grammars/source.asm.x86.json +182 -0
  26. data/grammars/source.asp.json +157 -0
  27. data/grammars/source.aspectj.json +966 -0
  28. data/grammars/source.ats.json +240 -0
  29. data/grammars/source.autoit.3.json +132 -0
  30. data/grammars/source.awk.json +388 -0
  31. data/grammars/source.befunge.json +38 -0
  32. data/grammars/source.bf.json +36 -0
  33. data/grammars/source.bison.json +59 -0
  34. data/grammars/source.blitzmax.json +912 -0
  35. data/grammars/source.boo.json +452 -0
  36. data/grammars/source.brightauthorproject.json +29 -0
  37. data/grammars/source.brightscript.json +158 -0
  38. data/grammars/source.bro.json +409 -0
  39. data/grammars/source.bsv.json +283 -0
  40. data/grammars/source.c++.json +364 -0
  41. data/grammars/source.c++.qt.json +37 -0
  42. data/grammars/source.c.ec.json +39 -0
  43. data/grammars/source.c.json +727 -0
  44. data/grammars/source.c.platform.json +154 -0
  45. data/grammars/source.cache.cmake.json +75 -0
  46. data/grammars/source.cake.json +16 -0
  47. data/grammars/source.camlp4.ocaml.json +63 -0
  48. data/grammars/source.capnp.json +93 -0
  49. data/grammars/source.ceylon.json +77 -0
  50. data/grammars/source.cfscript.cfc.json +170 -0
  51. data/grammars/source.cfscript.json +744 -0
  52. data/grammars/source.chapel.json +240 -0
  53. data/grammars/source.cirru.json +66 -0
  54. data/grammars/source.clarion.json +159 -0
  55. data/grammars/source.click.json +99 -0
  56. data/grammars/source.clips.json +80 -0
  57. data/grammars/source.clojure.json +414 -0
  58. data/grammars/source.cm.json +54 -0
  59. data/grammars/source.cmake.json +181 -0
  60. data/grammars/source.cobol.json +498 -0
  61. data/grammars/source.coffee.json +682 -0
  62. data/grammars/source.compiled-papyrus.json +11 -0
  63. data/grammars/source.cool.json +103 -0
  64. data/grammars/source.coq.json +62 -0
  65. data/grammars/source.crystal.json +2760 -0
  66. data/grammars/source.cs.json +566 -0
  67. data/grammars/source.css.json +630 -0
  68. data/grammars/source.css.less.json +614 -0
  69. data/grammars/source.css.mss.json +256 -0
  70. data/grammars/source.csx.json +16 -0
  71. data/grammars/source.cuda-c++.json +137 -0
  72. data/grammars/source.cython.json +2108 -0
  73. data/grammars/source.d.json +726 -0
  74. data/grammars/source.dart.json +763 -0
  75. data/grammars/source.desktop.json +90 -0
  76. data/grammars/source.diff.json +162 -0
  77. data/grammars/source.dockerfile.json +89 -0
  78. data/grammars/source.dosbatch.json +70 -0
  79. data/grammars/source.dot.json +126 -0
  80. data/grammars/source.dylan.json +217 -0
  81. data/grammars/source.eiffel.json +138 -0
  82. data/grammars/source.elixir.json +971 -0
  83. data/grammars/source.elm.json +356 -0
  84. data/grammars/source.erazor.json +126 -0
  85. data/grammars/source.erlang.json +1674 -0
  86. data/grammars/source.essl.json +50 -0
  87. data/grammars/source.factor.json +258 -0
  88. data/grammars/source.fan.json +188 -0
  89. data/grammars/source.fancy.json +270 -0
  90. data/grammars/source.fish.json +214 -0
  91. data/grammars/source.forth.json +101 -0
  92. data/grammars/source.fortran.json +499 -0
  93. data/grammars/source.fortran.modern.json +226 -0
  94. data/grammars/source.fsharp.fsi.json +14 -0
  95. data/grammars/source.fsharp.fsl.json +14 -0
  96. data/grammars/source.fsharp.fsx.json +18 -0
  97. data/grammars/source.fsharp.json +527 -0
  98. data/grammars/source.gap.json +167 -0
  99. data/grammars/source.gcode.json +25 -0
  100. data/grammars/source.gdscript.json +154 -0
  101. data/grammars/source.gfm.json +1392 -0
  102. data/grammars/source.glsl.json +74 -0
  103. data/grammars/source.gnuplot.json +276 -0
  104. data/grammars/source.go.json +552 -0
  105. data/grammars/source.golo.json +182 -0
  106. data/grammars/source.gosu.2.json +163 -0
  107. data/grammars/source.grace.json +679 -0
  108. data/grammars/source.groovy.gradle.json +73 -0
  109. data/grammars/source.groovy.json +1385 -0
  110. data/grammars/source.harbour.json +450 -0
  111. data/grammars/source.haskell.json +449 -0
  112. data/grammars/source.haxe.2.json +1278 -0
  113. data/grammars/source.hss.1.json +464 -0
  114. data/grammars/source.httpspec.json +287 -0
  115. data/grammars/source.hxml.json +26 -0
  116. data/grammars/source.hy.json +270 -0
  117. data/grammars/source.idl-dlm.json +112 -0
  118. data/grammars/source.idl.json +267 -0
  119. data/grammars/source.idris.json +537 -0
  120. data/grammars/source.inform7.json +187 -0
  121. data/grammars/source.ini.json +113 -0
  122. data/grammars/source.inno.json +69 -0
  123. data/grammars/source.io.json +164 -0
  124. data/grammars/source.ioke.json +272 -0
  125. data/grammars/source.isabelle.root.json +68 -0
  126. data/grammars/source.isabelle.theory.json +106 -0
  127. data/grammars/source.j.json +49 -0
  128. data/grammars/source.jasmin.json +299 -0
  129. data/grammars/source.java-properties.json +97 -0
  130. data/grammars/source.java.json +1026 -0
  131. data/grammars/source.jcl.json +49 -0
  132. data/grammars/source.jflex.json +490 -0
  133. data/grammars/source.jq.json +218 -0
  134. data/grammars/source.js.json +1646 -0
  135. data/grammars/source.js.jsx.json +3185 -0
  136. data/grammars/source.js.objj.json +424 -0
  137. data/grammars/source.js.regexp.json +150 -0
  138. data/grammars/source.js.regexp.replacement.json +30 -0
  139. data/grammars/source.json.json +149 -0
  140. data/grammars/source.julia.json +407 -0
  141. data/grammars/source.lean.json +145 -0
  142. data/grammars/source.lid.json +23 -0
  143. data/grammars/source.lilypond.json +623 -0
  144. data/grammars/source.lisp.json +111 -0
  145. data/grammars/source.litcoffee.json +667 -0
  146. data/grammars/source.livescript.json +616 -0
  147. data/grammars/source.llvm.json +71 -0
  148. data/grammars/source.logos.json +31 -0
  149. data/grammars/source.logtalk.json +315 -0
  150. data/grammars/source.loomscript.json +214 -0
  151. data/grammars/source.lsl.json +216 -0
  152. data/grammars/source.lua.json +191 -0
  153. data/grammars/source.makefile.json +474 -0
  154. data/grammars/source.makegen.json +13 -0
  155. data/grammars/source.man.json +53 -0
  156. data/grammars/source.mask.json +795 -0
  157. data/grammars/source.mata.json +133 -0
  158. data/grammars/source.mathematica.json +429 -0
  159. data/grammars/source.matlab.json +1109 -0
  160. data/grammars/source.maxscript.json +453 -0
  161. data/grammars/source.mercury.json +251 -0
  162. data/grammars/source.meta-info.json +156 -0
  163. data/grammars/source.ml.json +291 -0
  164. data/grammars/source.modelica.json +142 -0
  165. data/grammars/source.modula2.json +103 -0
  166. data/grammars/source.monkey.json +701 -0
  167. data/grammars/source.moonscript.json +149 -0
  168. data/grammars/source.mupad.json +149 -0
  169. data/grammars/source.nant-build.json +86 -0
  170. data/grammars/source.ncl.json +66 -0
  171. data/grammars/source.nemerle.json +137 -0
  172. data/grammars/source.nesc.json +27 -0
  173. data/grammars/source.netlinx.erb.json +47 -0
  174. data/grammars/source.netlinx.json +768 -0
  175. data/grammars/source.nginx.json +824 -0
  176. data/grammars/source.nim.json +1169 -0
  177. data/grammars/source.nim_filter.json +133 -0
  178. data/grammars/source.nimcfg.json +116 -0
  179. data/grammars/source.ninja.json +66 -0
  180. data/grammars/source.nit.json +238 -0
  181. data/grammars/source.nix.json +1200 -0
  182. data/grammars/source.nmml.json +87 -0
  183. data/grammars/source.nsis.json +158 -0
  184. data/grammars/source.objc++.json +19 -0
  185. data/grammars/source.objc.json +918 -0
  186. data/grammars/source.objc.platform.json +277 -0
  187. data/grammars/source.ocaml.json +1426 -0
  188. data/grammars/source.ocamllex.json +305 -0
  189. data/grammars/source.ocamlyacc.json +346 -0
  190. data/grammars/source.octave.json +451 -0
  191. data/grammars/source.ooc.json +692 -0
  192. data/grammars/source.opa.json +206 -0
  193. data/grammars/source.opal.json +415 -0
  194. data/grammars/source.opalsysdefs.json +70 -0
  195. data/grammars/source.opencobol.json +65 -0
  196. data/grammars/source.ox.json +97 -0
  197. data/grammars/source.oz.json +84 -0
  198. data/grammars/source.papyrus-assembly.json +266 -0
  199. data/grammars/source.papyrus.json +231 -0
  200. data/grammars/source.parrot.pir.json +117 -0
  201. data/grammars/source.pascal.json +150 -0
  202. data/grammars/source.perl.6.json +318 -0
  203. data/grammars/source.perl.json +2424 -0
  204. data/grammars/source.perl6fe.json +1755 -0
  205. data/grammars/source.php.zephir.json +362 -0
  206. data/grammars/source.pig_latin.json +172 -0
  207. data/grammars/source.pike.json +62 -0
  208. data/grammars/source.plsql.oracle.json +642 -0
  209. data/grammars/source.po.json +232 -0
  210. data/grammars/source.pogoscript.json +85 -0
  211. data/grammars/source.pony.json +255 -0
  212. data/grammars/source.postscript.json +231 -0
  213. data/grammars/source.pov-ray sdl.json +88 -0
  214. data/grammars/source.powershell.json +755 -0
  215. data/grammars/source.processing.json +885 -0
  216. data/grammars/source.prolog.eclipse.json +206 -0
  217. data/grammars/source.prolog.json +292 -0
  218. data/grammars/source.protobuf.json +395 -0
  219. data/grammars/source.pubspec.json +13 -0
  220. data/grammars/source.puppet.json +494 -0
  221. data/grammars/source.purescript.json +833 -0
  222. data/grammars/source.pyjade.json +1010 -0
  223. data/grammars/source.python.django.json +34 -0
  224. data/grammars/source.python.json +3435 -0
  225. data/grammars/source.python.salt.json +13 -0
  226. data/grammars/source.qmake.json +217 -0
  227. data/grammars/source.qml.json +195 -0
  228. data/grammars/source.r.json +203 -0
  229. data/grammars/source.racket.json +119 -0
  230. data/grammars/source.rebol.json +647 -0
  231. data/grammars/source.red.json +652 -0
  232. data/grammars/source.regexp.babel.json +190 -0
  233. data/grammars/source.regexp.perl6fe.json +220 -0
  234. data/grammars/source.regexp.python.json +434 -0
  235. data/grammars/source.regexp.spin.json +188 -0
  236. data/grammars/source.renpy.json +2181 -0
  237. data/grammars/source.ruby.json +1956 -0
  238. data/grammars/source.ruby.rspec.cucumber.steps.json +274 -0
  239. data/grammars/source.rust.json +212 -0
  240. data/grammars/source.sas.json +370 -0
  241. data/grammars/source.sas_log.json +26 -0
  242. data/grammars/source.sass.json +248 -0
  243. data/grammars/source.sbt.json +36 -0
  244. data/grammars/source.scad.json +152 -0
  245. data/grammars/source.scala.json +739 -0
  246. data/grammars/source.scaml.json +466 -0
  247. data/grammars/source.scheme.json +370 -0
  248. data/grammars/source.scilab.json +103 -0
  249. data/grammars/source.scss.json +1321 -0
  250. data/grammars/source.shell.json +1308 -0
  251. data/grammars/source.smali.json +1671 -0
  252. data/grammars/source.smalltalk.json +135 -0
  253. data/grammars/source.smt.json +173 -0
  254. data/grammars/source.sp.json +118 -0
  255. data/grammars/source.sparql.json +23 -0
  256. data/grammars/source.spin.json +936 -0
  257. data/grammars/source.sqf.json +112 -0
  258. data/grammars/source.sql.json +473 -0
  259. data/grammars/source.stan.json +312 -0
  260. data/grammars/source.stata.json +208 -0
  261. data/grammars/source.strings.json +53 -0
  262. data/grammars/source.stylus.json +1017 -0
  263. data/grammars/source.supercollider.json +100 -0
  264. data/grammars/source.swift.json +983 -0
  265. data/grammars/source.systemverilog.json +1050 -0
  266. data/grammars/source.tcl.json +277 -0
  267. data/grammars/source.tea.json +180 -0
  268. data/grammars/source.thrift.json +704 -0
  269. data/grammars/source.toml.json +327 -0
  270. data/grammars/source.ts.json +1188 -0
  271. data/grammars/source.tsx.json +1421 -0
  272. data/grammars/source.turtle.json +505 -0
  273. data/grammars/source.txl.json +62 -0
  274. data/grammars/source.ucfconstraints.json +72 -0
  275. data/grammars/source.ur.json +43 -0
  276. data/grammars/source.vala.json +814 -0
  277. data/grammars/source.varnish.vcl.json +343 -0
  278. data/grammars/source.vbnet.json +338 -0
  279. data/grammars/source.verilog.json +302 -0
  280. data/grammars/source.vhdl.json +1349 -0
  281. data/grammars/source.viml.json +224 -0
  282. data/grammars/source.webidl.json +814 -0
  283. data/grammars/source.x10.json +68 -0
  284. data/grammars/source.x86asm.json +47 -0
  285. data/grammars/source.xc.json +379 -0
  286. data/grammars/source.xq.json +241 -0
  287. data/grammars/source.xquery.json +193 -0
  288. data/grammars/source.xtend.json +733 -0
  289. data/grammars/source.yaml.json +341 -0
  290. data/grammars/source.yaml.salt.json +348 -0
  291. data/grammars/source.yang.json +81 -0
  292. data/grammars/text.bibtex.json +251 -0
  293. data/grammars/text.cfml.basic.json +736 -0
  294. data/grammars/text.dart-analysis-output.json +162 -0
  295. data/grammars/text.dart-doccomments.json +19 -0
  296. data/grammars/text.elixir.json +45 -0
  297. data/grammars/text.gherkin.feature.json +135 -0
  298. data/grammars/text.groff.json +113 -0
  299. data/grammars/text.haml.json +299 -0
  300. data/grammars/text.html.abl.json +75 -0
  301. data/grammars/text.html.asciidoc.json +492 -0
  302. data/grammars/text.html.asdoc.json +541 -0
  303. data/grammars/text.html.asp.json +58 -0
  304. data/grammars/text.html.basic.json +552 -0
  305. data/grammars/text.html.cfm.json +811 -0
  306. data/grammars/text.html.creole.json +329 -0
  307. data/grammars/text.html.django.json +69 -0
  308. data/grammars/text.html.elixir.json +18 -0
  309. data/grammars/text.html.erb.json +157 -0
  310. data/grammars/text.html.erlang.yaws.json +72 -0
  311. data/grammars/text.html.factor.json +25 -0
  312. data/grammars/text.html.ftl.json +85 -0
  313. data/grammars/text.html.handlebars.json +838 -0
  314. data/grammars/text.html.jsp.json +1203 -0
  315. data/grammars/text.html.liquid.json +35 -0
  316. data/grammars/text.html.mako.json +729 -0
  317. data/grammars/text.html.markdown.source.gfm.apib.json +1297 -0
  318. data/grammars/text.html.markdown.source.gfm.mson.json +1165 -0
  319. data/grammars/text.html.mediawiki.json +972 -0
  320. data/grammars/text.html.php.json +2615 -0
  321. data/grammars/text.html.slash.json +313 -0
  322. data/grammars/text.html.smarty.json +216 -0
  323. data/grammars/text.html.ssp.json +49 -0
  324. data/grammars/text.html.tcl.json +44 -0
  325. data/grammars/text.html.twig.json +1353 -0
  326. data/grammars/text.html.vue.json +642 -0
  327. data/grammars/text.idl-idldoc.json +14 -0
  328. data/grammars/text.jade.json +1024 -0
  329. data/grammars/text.junit-test-report.json +92 -0
  330. data/grammars/text.log.latex.json +86 -0
  331. data/grammars/text.python.console.json +25 -0
  332. data/grammars/text.python.traceback.json +46 -0
  333. data/grammars/text.rdoc.json +48 -0
  334. data/grammars/text.restructuredtext.json +561 -0
  335. data/grammars/text.robot.json +73 -0
  336. data/grammars/text.shell-session.json +32 -0
  337. data/grammars/text.slim.json +527 -0
  338. data/grammars/text.tex.json +271 -0
  339. data/grammars/text.tex.latex.beamer.json +63 -0
  340. data/grammars/text.tex.latex.haskell.json +56 -0
  341. data/grammars/text.tex.latex.json +1013 -0
  342. data/grammars/text.tex.latex.memoir.json +136 -0
  343. data/grammars/text.tex.latex.rd.json +117 -0
  344. data/grammars/text.xml.ant.json +202 -0
  345. data/grammars/text.xml.flex-config.json +2634 -0
  346. data/grammars/text.xml.genshi.json +34 -0
  347. data/grammars/text.xml.json +364 -0
  348. data/grammars/text.xml.pom.json +774 -0
  349. data/grammars/text.xml.xsl.json +94 -0
  350. data/grammars/text.zone_file.json +72 -0
  351. data/lib/linguist.rb +79 -0
  352. data/lib/linguist/blob_helper.rb +2 -2
  353. data/lib/linguist/grammars.rb +10 -0
  354. data/lib/linguist/heuristics.rb +17 -1
  355. data/lib/linguist/language.rb +2 -36
  356. data/lib/linguist/languages.json +1 -1
  357. data/lib/linguist/languages.yml +50 -2
  358. data/lib/linguist/samples.json +2580 -116
  359. data/lib/linguist/vendor.yml +11 -1
  360. data/lib/linguist/version.rb +1 -1
  361. metadata +365 -2
@@ -0,0 +1,726 @@
1
+ {
2
+ "comment": "D language",
3
+ "fileTypes": [
4
+ "d",
5
+ "di"
6
+ ],
7
+ "firstLineMatch": "^#!.*\\bg?dmd\\b.",
8
+ "keyEquivalent": "^~D",
9
+ "name": "D",
10
+ "patterns": [
11
+ {
12
+ "match": "\\A#!.+",
13
+ "name": "comment.line.number-sign.shebang.d"
14
+ },
15
+ {
16
+ "captures": {
17
+ "0": {
18
+ "name": "punctuation.definition.comment.d"
19
+ }
20
+ },
21
+ "match": "/\\*\\*/",
22
+ "name": "comment.block.empty.d"
23
+ },
24
+ {
25
+ "include": "text.html.javadoc"
26
+ },
27
+ {
28
+ "captures": {
29
+ "2": {
30
+ "name": "keyword.other.debug.d"
31
+ },
32
+ "4": {
33
+ "name": "keyword.other.debug.d"
34
+ },
35
+ "5": {
36
+ "name": "keyword.other.debug.d"
37
+ }
38
+ },
39
+ "match": "\\s*(\\b(deprecated|unittest|debug)\\b|(\\b(static)\\b\\s+)?\\b(assert)\\b)",
40
+ "name": "meta.other.debug.d"
41
+ },
42
+ {
43
+ "captures": {
44
+ "1": {
45
+ "name": "keyword.control.version.d"
46
+ },
47
+ "2": {
48
+ "name": "keyword.control.version.d"
49
+ },
50
+ "4": {
51
+ "name": "constant.language.version.d"
52
+ },
53
+ "5": {
54
+ "name": "invalid.deprecated.version.d"
55
+ }
56
+ },
57
+ "match": "(?x)^\\s*\n\t\t\t\t\t(else\\s+)?(version)\\s*\n\t\t\t\t\t\\(\\s*\n\t\t\t\t\t((DigitalMars|\n\t\t\t\t\tGNU|\n\t\t\t\t\tLDC|\n\t\t\t\t\tSDC|\n\t\t\t\t\tWindows|\n\t\t\t\t\tWin32|\n\t\t\t\t\tWin64|\n\t\t\t\t\tlinux|\n\t\t\t\t\tOSX|\n\t\t\t\t\tFreeBSD|\n\t\t\t\t\tOpenBSD|\n\t\t\t\t\tNetBSD|\n\t\t\t\t\tDragonFlyBSD|\n\t\t\t\t\tBSD|\n\t\t\t\t\tSolaris|\n\t\t\t\t\tPosix|\n\t\t\t\t\tAIX|\n\t\t\t\t\tHaiku|\n\t\t\t\t\tSkyOS|\n\t\t\t\t\tSysV3|\n\t\t\t\t\tSysV4|\n\t\t\t\t\tHurd|\n\t\t\t\t\tAndroid|\n\t\t\t\t\tCygwin|\n\t\t\t\t\tMinGW|\n\t\t\t\t\tFreeStanding|\n\t\t\t\t\tX86|\n\t\t\t\t\tX86_64|\n\t\t\t\t\tARM|\n\t\t\t\t\tARM_Thumb|\n\t\t\t\t\tARM_SoftFloat|\n\t\t\t\t\tARM_SoftFP|\n\t\t\t\t\tARM_HardFloat|\n\t\t\t\t\tAArch64|\n\t\t\t\t\tEpiphany|\n\t\t\t\t\tPPC|\n\t\t\t\t\tPPC_SoftFloat|\n\t\t\t\t\tPPC_HardFloat|\n\t\t\t\t\tPPC64|\n\t\t\t\t\tIA64|\n\t\t\t\t\tMIPS32|\n\t\t\t\t\tMIPS64|\n\t\t\t\t\tMIPS_O32|\n\t\t\t\t\tMIPS_N32|\n\t\t\t\t\tMIPS_O64|\n\t\t\t\t\tMIPS_N64|\n\t\t\t\t\tMIPS_EABI|\n\t\t\t\t\tMIPS_SoftFloat|\n\t\t\t\t\tMIPS_HardFloat|\n\t\t\t\t\tNVPTX|\n\t\t\t\t\tNVPTX64|\n\t\t\t\t\tSPARC|\n\t\t\t\t\tSPARC_V8Plus|\n\t\t\t\t\tSPARC_SoftFloat|\n\t\t\t\t\tSPARC_HardFloat|\n\t\t\t\t\tSPARC64|\n\t\t\t\t\tS390|\n\t\t\t\t\tS390X|\n\t\t\t\t\tHPPA|\n\t\t\t\t\tHPPA64|\n\t\t\t\t\tSH|\n\t\t\t\t\tSH64|\n\t\t\t\t\tAlpha|\n\t\t\t\t\tAlpha_SoftFloat|\n\t\t\t\t\tAlpha_HardFloat|\n\t\t\t\t\tLittleEndian|\n\t\t\t\t\tBigEndian|\n\t\t\t\t\tD_Coverage|\n\t\t\t\t\tD_Ddoc|\n\t\t\t\t\tD_InlineAsm_X86|\n\t\t\t\t\tD_InlineAsm_X86_64|\n\t\t\t\t\tD_LP64|\n\t\t\t\t\tD_X32|\n\t\t\t\t\tD_HardFloat|\n\t\t\t\t\tD_SoftFloat|\n\t\t\t\t\tD_PIC|\n\t\t\t\t\tD_SIMD|\n\t\t\t\t\tD_Version2|\n\t\t\t\t\tD_NoBoundsChecks|\n\t\t\t\t\tunittest|\n\t\t\t\t\tassert|\n\t\t\t\t\tnone|\n\t\t\t\t\tall)|(darwin|Thumb)|([A-Za-z_][A-Za-z0-9_]*))\n\t\t\t\t\t\\s*\\)",
58
+ "name": "meta.version.d"
59
+ },
60
+ {
61
+ "captures": {
62
+ "2": {
63
+ "name": "keyword.control.conditional.d"
64
+ },
65
+ "4": {
66
+ "name": "keyword.control.conditional.d"
67
+ },
68
+ "5": {
69
+ "name": "keyword.control.conditional.d"
70
+ }
71
+ },
72
+ "match": "\\s*\\b((else|switch)|((static)\\s+)?(if))\\b",
73
+ "name": "meta.control.conditional.d"
74
+ },
75
+ {
76
+ "begin": "(?x)^\\s*\n\t\t\t\t\t((?:\\b(public|private|protected|static|final|synchronized|abstract|export|shared)\\b\\s*)*) # modifier\n\t\t\t\t\t(class|interface)\\s+\n\t\t\t\t\t(\\w+)\\s* # identifier\n\t\t\t\t\t(?:\\(\\s*([^\\)]+)\\s*\\)|)\\s* # Template type\n\t\t\t\t\t(?:\n\t\t\t\t\t \\s*(:)\\s*\n\t\t\t\t\t (\\w+)\n\t\t\t\t\t (?:\\s*,\\s*(\\w+))?\n\t\t\t\t\t (?:\\s*,\\s*(\\w+))?\n\t\t\t\t\t (?:\\s*,\\s*(\\w+))?\n\t\t\t\t\t (?:\\s*,\\s*(\\w+))?\n\t\t\t\t\t (?:\\s*,\\s*(\\w+))?\n\t\t\t\t\t (?:\\s*,\\s*(\\w+))?\n\t\t\t\t\t)? # super class\n\t\t\t\t\t",
77
+ "beginCaptures": {
78
+ "1": {
79
+ "name": "storage.modifier.d"
80
+ },
81
+ "10": {
82
+ "name": "entity.other.inherited-class.d"
83
+ },
84
+ "11": {
85
+ "name": "entity.other.inherited-class.d"
86
+ },
87
+ "12": {
88
+ "name": "entity.other.inherited-class.d"
89
+ },
90
+ "13": {
91
+ "name": "entity.other.inherited-class.d"
92
+ },
93
+ "3": {
94
+ "name": "storage.type.structure.d"
95
+ },
96
+ "4": {
97
+ "name": "entity.name.type.class.d"
98
+ },
99
+ "5": {
100
+ "patterns": [
101
+ {
102
+ "include": "$base"
103
+ }
104
+ ]
105
+ },
106
+ "6": {
107
+ "name": "punctuation.separator.inheritance.d"
108
+ },
109
+ "7": {
110
+ "name": "entity.other.inherited-class.d"
111
+ },
112
+ "8": {
113
+ "name": "entity.other.inherited-class.d"
114
+ },
115
+ "9": {
116
+ "name": "entity.other.inherited-class.d"
117
+ }
118
+ },
119
+ "end": "(?={|;)",
120
+ "name": "meta.definition.class.d",
121
+ "patterns": [
122
+ {
123
+ "begin": "\\b(_|:)\\b",
124
+ "captures": {
125
+ "1": {
126
+ "name": "storage.modifier.d"
127
+ }
128
+ },
129
+ "end": "(?={)",
130
+ "name": "meta.definition.class.extends.d",
131
+ "patterns": [
132
+ {
133
+ "include": "#all-types"
134
+ }
135
+ ]
136
+ },
137
+ {
138
+ "include": "#template-constraint-d"
139
+ }
140
+ ]
141
+ },
142
+ {
143
+ "begin": "(?x)^\\s*\n\t\t\t\t\t((?:\\b(public|private|protected|static|final|synchronized|abstract|export|shared)\\b\\s*)*) # modifier\n\t\t\t\t\t(struct)\\s+\n\t\t\t\t\t(\\w+)\\s* # identifier\n\t\t\t\t\t(?:\\(\\s*([^\\)]+)\\s*\\)|)\\s* # Template type\n\t\t\t\t\t",
144
+ "beginCaptures": {
145
+ "1": {
146
+ "name": "storage.modifier.d"
147
+ },
148
+ "3": {
149
+ "name": "storage.type.structure.d"
150
+ },
151
+ "4": {
152
+ "name": "entity.name.type.struct.d"
153
+ },
154
+ "5": {
155
+ "patterns": [
156
+ {
157
+ "include": "$base"
158
+ }
159
+ ]
160
+ }
161
+ },
162
+ "end": "(?={|;)",
163
+ "name": "meta.definition.struct.d",
164
+ "patterns": [
165
+ {
166
+ "begin": "\\b(_|:)\\b",
167
+ "captures": {
168
+ "1": {
169
+ "name": "storage.modifier.d"
170
+ }
171
+ },
172
+ "end": "(?={)",
173
+ "name": "meta.definition.class.extends.d",
174
+ "patterns": [
175
+ {
176
+ "include": "#all-types"
177
+ }
178
+ ]
179
+ },
180
+ {
181
+ "include": "#template-constraint-d"
182
+ }
183
+ ]
184
+ },
185
+ {
186
+ "begin": "(?x)^\\s*\n\t\t\t\t\t((?:\\b(public|private|protected|static|final|synchronized|abstract|export)\\b\\s*)*) # modifier\n\t\t\t\t\t(\\b(this))\\s* # identifier\n\t\t\t\t\t(?=\\()",
187
+ "captures": {
188
+ "1": {
189
+ "name": "storage.modifier.d"
190
+ },
191
+ "3": {
192
+ "name": "entity.name.function.constructor.d"
193
+ }
194
+ },
195
+ "end": "(?={|;)",
196
+ "name": "meta.definition.constructor.d",
197
+ "patterns": [
198
+ {
199
+ "include": "$base"
200
+ }
201
+ ]
202
+ },
203
+ {
204
+ "begin": "(?x)\n \t\t\t\t(?: ^ # begin-of-line\n \t\t\t\t | (?: (?<!else|new|=) ) # or word + space before name\n \t\t\t\t)\n\t\t\t\t\t((?:\\b(?:public|private|protected|static|final|synchronized|abstract|export)\\b\\s*)*) # modifier\n \t\t\t\t(~this) # actual name\n \t\t\t\t \\s*(\\() # start bracket or end-of-line\n \t\t\t",
205
+ "captures": {
206
+ "1": {
207
+ "name": "storage.modifier.d"
208
+ },
209
+ "2": {
210
+ "name": "entity.name.function.destructor.d"
211
+ }
212
+ },
213
+ "end": "\\)",
214
+ "endCaptures": {
215
+ "0": {
216
+ "name": "punctuation.definition.parameters.d"
217
+ }
218
+ },
219
+ "name": "meta.definition.destructor.d",
220
+ "patterns": [
221
+ {
222
+ "include": "$base"
223
+ }
224
+ ]
225
+ },
226
+ {
227
+ "begin": "(?x)^\\s*\n\t\t\t\t\t((?:\\b(?:public|private|protected|static|final|synchronized|abstract|export|override|auto|nothrow|immutable|const|inout|ref|shared)\\b\\s*)*) # modifier\n\t\t\t\t\t(?:(_|\\w[^\\s]*))\\s+ # return type\n\t\t\t\t\t(\\w+)\\s* # identifier\n\t\t\t\t\t(?=\\()",
228
+ "beginCaptures": {
229
+ "1": {
230
+ "name": "storage.modifier.d"
231
+ },
232
+ "2": {
233
+ "patterns": [
234
+ {
235
+ "include": "$base"
236
+ }
237
+ ]
238
+ },
239
+ "3": {
240
+ "name": "entity.name.function.d"
241
+ }
242
+ },
243
+ "end": "(?={|;)",
244
+ "name": "meta.definition.method.d",
245
+ "patterns": [
246
+ {
247
+ "include": "$base"
248
+ },
249
+ {
250
+ "include": "#block"
251
+ }
252
+ ]
253
+ },
254
+ {
255
+ "begin": "(?x)^\\s*\n\t\t\t\t\t(__traits)\n\t\t\t\t\t\\(\n\t\t\t\t\t(isAbstractClass|\n\t\t\t\t\tisArithmetic|\n\t\t\t\t\tisAssociativeArray|\n\t\t\t\t\tisFinalClass|\n\t\t\t\t\tisPOD|\n\t\t\t\t\tisNested|\n\t\t\t\t\tisFloating|\n\t\t\t\t\tisIntegral|\n\t\t\t\t\tisScalar|\n\t\t\t\t\tisStaticArray|\n\t\t\t\t\tisUnsigned|\n\t\t\t\t\tisVirtualFunction|\n\t\t\t\t\tisVirtualMethod|\n\t\t\t\t\tisAbstractFunction|\n\t\t\t\t\tisFinalFunction|\n\t\t\t\t\tisStaticFunction|\n\t\t\t\t\tisOverrideFunction|\n\t\t\t\t\tisRef|\n\t\t\t\t\tisOut|\n\t\t\t\t\tisLazy|\n\t\t\t\t\thasMember|\n\t\t\t\t\tidentifier|\n\t\t\t\t\tgetAliasThis|\n\t\t\t\t\tgetAttributes|\n\t\t\t\t\tgetFunctionAttributes|\n\t\t\t\t\tgetMember|\n\t\t\t\t\tgetOverloads|\n\t\t\t\t\tgetPointerBitmap|\n\t\t\t\t\tgetProtection|\n\t\t\t\t\tgetVirtualFunctions|\n\t\t\t\t\tgetVirtualMethods|\n\t\t\t\t\tgetUnitTests|\n\t\t\t\t\tparent|\n\t\t\t\t\tclassInstanceSize|\n\t\t\t\t\tgetVirtualIndex|\n\t\t\t\t\tallMembers|\n\t\t\t\t\tderivedMembers|\n\t\t\t\t\tisSame|\n\t\t\t\t\tcompiles)\n\t\t\t\t\t,",
256
+ "beginCaptures": {
257
+ "1": {
258
+ "name": "keyword.other.special.d"
259
+ },
260
+ "2": {
261
+ "name": "constant.language.traits.d"
262
+ }
263
+ },
264
+ "end": "\\);",
265
+ "name": "meta.traits.d",
266
+ "patterns": [
267
+ {
268
+ "include": "$base"
269
+ }
270
+ ]
271
+ },
272
+ {
273
+ "captures": {
274
+ "1": {
275
+ "name": "keyword.other.external.d"
276
+ },
277
+ "5": {
278
+ "name": "constant.language.external.d"
279
+ },
280
+ "7": {
281
+ "name": "constant.language.external.d"
282
+ }
283
+ },
284
+ "match": "(extern)(\\s*\\(\\s*(((C\\+\\+)(\\s*,\\s*[A-Za-z_][A-Za-z0-9._]*)?)|(C|D|Windows|Pascal|System))\\s*\\))?",
285
+ "name": "meta.external.d"
286
+ },
287
+ {
288
+ "match": "\\b([A-Z][A-Z0-9_]+)\\b",
289
+ "name": "constant.other.d"
290
+ },
291
+ {
292
+ "include": "#comments"
293
+ },
294
+ {
295
+ "include": "#all-types"
296
+ },
297
+ {
298
+ "match": "\\b(private|protected|public|export|package)\\b",
299
+ "name": "storage.modifier.access-control.d"
300
+ },
301
+ {
302
+ "match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\tauto|\n\t\t\t\t\tstatic|\n\t\t\t\t\toverride|\n\t\t\t\t\tfinal|\n\t\t\t\t\tabstract|\n\t\t\t\t\tvolatile|\n\t\t\t\t\tsynchronized|\n\t\t\t\t\tlazy|\n\t\t\t\t\tnothrow|\n\t\t\t\t\timmutable|\n\t\t\t\t\tconst|\n\t\t\t\t\tinout|\n\t\t\t\t\tref|\n\t\t\t\t\tin|\n\t\t\t\t\tscope|\n\t\t\t\t\t__gshared|\n\t\t\t\t\tshared|\n\t\t\t\t\tpure\n\t\t\t\t)\n\t\t\t\t\\b|\n\t\t\t\t(@)(\n\t\t\t\t\tproperty|\n\t\t\t\t\tdisable|\n\t\t\t\t\tnogc|\n\t\t\t\t\tsafe|\n\t\t\t\t\ttrusted|\n\t\t\t\t\tsystem\n\t\t\t\t)\\b",
303
+ "name": "storage.modifier.d"
304
+ },
305
+ {
306
+ "match": "\\b(template|interface|class|enum|struct|union)\\b",
307
+ "name": "storage.type.structure.d"
308
+ },
309
+ {
310
+ "match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\tushort|\n\t\t\t\t\tint|\n\t\t\t\t\tuint|\n\t\t\t\t\tlong|\n\t\t\t\t\tulong|\n\t\t\t\t\tfloat|\n\t\t\t\t\tvoid|\n\t\t\t\t\tbyte|\n\t\t\t\t\tubyte|\n\t\t\t\t\tdouble|\n\t\t\t\t\tchar|\n\t\t\t\t\twchar|\n\t\t\t\t\tucent|\n\t\t\t\t\tcent|\n\t\t\t\t\tshort|\n\t\t\t\t\tbool|\n\t\t\t\t\tdchar|\n\t\t\t\t\treal|\n\t\t\t\t\tireal|\n\t\t\t\t\tifloat|\n\t\t\t\t\tidouble|\n\t\t\t\t\tcreal|\n\t\t\t\t\tcfloat|\n\t\t\t\t\tcdouble|\n\t\t\t\t\tlazy|\n\t\t\t\t\t__vector\n\t\t\t\t)\\b",
311
+ "name": "storage.type.d"
312
+ },
313
+ {
314
+ "match": "\\b(try|catch|finally|throw)\\b",
315
+ "name": "keyword.control.exception.d"
316
+ },
317
+ {
318
+ "match": "\\b(return|break|case|continue|default|do|while|for|switch|if|else)\\b",
319
+ "name": "keyword.control.d"
320
+ },
321
+ {
322
+ "match": "\\b(goto|break|continue)\\b",
323
+ "name": "keyword.control.branch.d"
324
+ },
325
+ {
326
+ "match": "\\b(while|for|do|foreach(_reverse)?)\\b",
327
+ "name": "keyword.control.repeat.d"
328
+ },
329
+ {
330
+ "match": "\\b(return|with|invariant|body|scope|asm|mixin|function|delegate)\\b",
331
+ "name": "keyword.control.statement.d"
332
+ },
333
+ {
334
+ "match": "\\b(pragma)\\b",
335
+ "name": "keyword.control.pragma.d"
336
+ },
337
+ {
338
+ "match": "\\b(alias|typedef)\\b",
339
+ "name": "keyword.control.alias.d"
340
+ },
341
+ {
342
+ "match": "\\b(import)\\b",
343
+ "name": "keyword.control.import.d"
344
+ },
345
+ {
346
+ "captures": {
347
+ "1": {
348
+ "name": "keyword.control.module.d"
349
+ },
350
+ "2": {
351
+ "name": "entity.name.function.package.d"
352
+ }
353
+ },
354
+ "match": "^\\s*(module)\\s+([^ ;]+?);",
355
+ "name": "meta.module.d"
356
+ },
357
+ {
358
+ "match": "\\b(true|false)\\b",
359
+ "name": "constant.language.boolean.d"
360
+ },
361
+ {
362
+ "match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\t__FILE__|\n\t\t\t\t\t__LINE__|\n\t\t\t\t\t__DATE__|\n\t\t\t\t\t__TIME__|\n\t\t\t\t\t__TIMESTAMP__|\n\t\t\t\t\t__MODULE__|\n\t\t\t\t\t__FUNCTION__|\n\t\t\t\t\t__PRETTY_FUNCTION__|\n\t\t\t\t\t__VENDOR__|\n\t\t\t\t\t__VERSION__|\n\t\t\t\t\tnull\n\t\t\t\t)\\b",
363
+ "name": "constant.language.d"
364
+ },
365
+ {
366
+ "match": "\\b(this|super)\\b",
367
+ "name": "variable.language.d"
368
+ },
369
+ {
370
+ "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\\b",
371
+ "name": "constant.numeric.d"
372
+ },
373
+ {
374
+ "include": "#string_escaped_char"
375
+ },
376
+ {
377
+ "include": "#strings"
378
+ },
379
+ {
380
+ "match": "(==|!=|<=|>=|<>|<|>)",
381
+ "name": "keyword.operator.comparison.d"
382
+ },
383
+ {
384
+ "match": "(\\-\\-|\\+\\+)",
385
+ "name": "keyword.operator.increment-decrement.d"
386
+ },
387
+ {
388
+ "match": "(\\-|\\+|\\*|\\/|~|%|\\^|\\^\\^)=?",
389
+ "name": "keyword.operator.arithmetic.d"
390
+ },
391
+ {
392
+ "match": "(\\.\\.)",
393
+ "name": "keyword.operator.slice.d"
394
+ },
395
+ {
396
+ "match": "(!|&&|\\|\\|)",
397
+ "name": "keyword.operator.logical.d"
398
+ },
399
+ {
400
+ "match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\topNeg|\n\t\t\t\t\topCom|\n\t\t\t\t\topPostInc|\n\t\t\t\t\topPostDec|\n\t\t\t\t\topCast|\n\t\t\t\t\topAdd|\n\t\t\t\t\topSub|\n\t\t\t\t\topSub_r|\n\t\t\t\t\topMul|\n\t\t\t\t\topDiv|\n\t\t\t\t\topDiv_r|\n\t\t\t\t\topMod|\n\t\t\t\t\topMod_r|\n\t\t\t\t\topAnd|\n\t\t\t\t\topOr|\n\t\t\t\t\topXor|\n\t\t\t\t\topShl|\n\t\t\t\t\topShl_r|\n\t\t\t\t\topShr|\n\t\t\t\t\topShr_r|\n\t\t\t\t\topUShr|\n\t\t\t\t\topUShr_r|\n\t\t\t\t\topCat|\n\t\t\t\t\topCat_r|\n\t\t\t\t\topEquals|\n\t\t\t\t\topEquals|\n\t\t\t\t\topCmp|\n\t\t\t\t\topCmp|\n\t\t\t\t\topCmp|\n\t\t\t\t\topCmp|\n\t\t\t\t\topAddAssign|\n\t\t\t\t\topSubAssign|\n\t\t\t\t\topMulAssign|\n\t\t\t\t\topDivAssign|\n\t\t\t\t\topModAssign|\n\t\t\t\t\topAndAssign|\n\t\t\t\t\topOrAssign|\n\t\t\t\t\topXorAssign|\n\t\t\t\t\topShlAssign|\n\t\t\t\t\topShrAssign|\n\t\t\t\t\topUShrAssign|\n\t\t\t\t\topCatAssign|\n\t\t\t\t\topIndex|\n\t\t\t\t\topIndexAssign|\n\t\t\t\t\topCall|\n\t\t\t\t\topSlice|\n\t\t\t\t\topSliceAssign|\n\t\t\t\t\topPos|\n\t\t\t\t\topAdd_r|\n\t\t\t\t\topMul_r|\n\t\t\t\t\topAnd_r|\n\t\t\t\t\topOr_r|\n\t\t\t\t\topXor_r|\n\t\t\t\t\topDispatch\n\t\t\t\t)\\b",
401
+ "name": "keyword.operator.overload.d"
402
+ },
403
+ {
404
+ "match": "\\b(new|delete|typeof|typeid|cast|align|is)\\b",
405
+ "name": "keyword.operator.d"
406
+ },
407
+ {
408
+ "match": "\\b(new)\\b",
409
+ "name": "keyword.other.class-fns.d"
410
+ },
411
+ {
412
+ "match": "\\b(__parameters)\\b|(#)line\\b",
413
+ "name": "keyword.other.special.d"
414
+ },
415
+ {
416
+ "match": "\\b(macro)\\b",
417
+ "name": "keyword.other.reserved.d"
418
+ },
419
+ {
420
+ "match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\tu_char|\n\t\t\t\t\tu_short|\n\t\t\t\t\tu_int|\n\t\t\t\t\tu_long|\n\t\t\t\t\tushort|\n\t\t\t\t\tuint|\n\t\t\t\t\tu_quad_t|\n\t\t\t\t\tquad_t|\n\t\t\t\t\tqaddr_t|\n\t\t\t\t\tcaddr_t|\n\t\t\t\t\tdaddr_t|\n\t\t\t\t\tdev_t|\n\t\t\t\t\tfixpt_t|\n\t\t\t\t\tblkcnt_t|\n\t\t\t\t\tblksize_t|\n\t\t\t\t\tgid_t|\n\t\t\t\t\tin_addr_t|\n\t\t\t\t\tin_port_t|\n\t\t\t\t\tino_t|\n\t\t\t\t\tkey_t|\n\t\t\t\t\tmode_t|\n\t\t\t\t\tnlink_t|\n\t\t\t\t\tid_t|\n\t\t\t\t\tpid_t|\n\t\t\t\t\toff_t|\n\t\t\t\t\tsegsz_t|\n\t\t\t\t\tswblk_t|\n\t\t\t\t\tuid_t|\n\t\t\t\t\tid_t|\n\t\t\t\t\tclock_t|\n\t\t\t\t\tsize_t|\n\t\t\t\t\tssize_t|\n\t\t\t\t\ttime_t|\n\t\t\t\t\tuseconds_t|\n\t\t\t\t\tsuseconds_t\n\t\t\t\t)\\b",
421
+ "name": "support.type.sys-types.c"
422
+ },
423
+ {
424
+ "match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\tpthread_attr_t|\n\t\t\t\t\tpthread_cond_t|\n\t\t\t\t\tpthread_condattr_t|\n\t\t\t\t\tpthread_mutex_t|\n\t\t\t\t\tpthread_mutexattr_t|\n\t\t\t\t\tpthread_once_t|\n\t\t\t\t\tpthread_rwlock_t|\n\t\t\t\t\tpthread_rwlockattr_t|\n\t\t\t\t\tpthread_t|\n\t\t\t\t\tpthread_key_t\n\t\t\t\t)\\b",
425
+ "name": "support.type.pthread.c"
426
+ },
427
+ {
428
+ "match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\tint8_t|\n\t\t\t\t\tint16_t|\n\t\t\t\t\tint32_t|\n\t\t\t\t\tint64_t|\n\t\t\t\t\tuint8_t|\n\t\t\t\t\tuint16_t|\n\t\t\t\t\tuint32_t|\n\t\t\t\t\tuint64_t|\n\t\t\t\t\tint_least8_t|\n\t\t\t\t\tint_least16_t|\n\t\t\t\t\tint_least32_t|\n\t\t\t\t\tint_least64_t|\n\t\t\t\t\tuint_least8_t|\n\t\t\t\t\tuint_least16_t|\n\t\t\t\t\tuint_least32_t|\n\t\t\t\t\tuint_least64_t|\n\t\t\t\t\tint_fast8_t|\n\t\t\t\t\tint_fast16_t|\n\t\t\t\t\tint_fast32_t|\n\t\t\t\t\tint_fast64_t|\n\t\t\t\t\tuint_fast8_t|\n\t\t\t\t\tuint_fast16_t|\n\t\t\t\t\tuint_fast32_t|\n\t\t\t\t\tuint_fast64_t|\n\t\t\t\t\tintptr_t|\n\t\t\t\t\tuintptr_t|\n\t\t\t\t\tintmax_t|\n\t\t\t\t\tintmax_t|\n\t\t\t\t\tuintmax_t|\n\t\t\t\t\tuintmax_t\n\t\t\t\t)\\b",
429
+ "name": "support.type.stdint.c"
430
+ },
431
+ {
432
+ "include": "#block"
433
+ }
434
+ ],
435
+ "repository": {
436
+ "all-types": {
437
+ "patterns": [
438
+ {
439
+ "include": "#support-type-built-ins-d"
440
+ },
441
+ {
442
+ "include": "#support-type-d"
443
+ },
444
+ {
445
+ "include": "#storage-type-d"
446
+ }
447
+ ]
448
+ },
449
+ "block": {
450
+ "patterns": [
451
+ {
452
+ "begin": "\\{",
453
+ "beginCaptures": {
454
+ "0": {
455
+ "name": "punctuation.section.block.begin.d"
456
+ }
457
+ },
458
+ "end": "\\}",
459
+ "endCaptures": {
460
+ "0": {
461
+ "name": "punctuation.section.block.end.d"
462
+ }
463
+ },
464
+ "name": "meta.block.d",
465
+ "patterns": [
466
+ {
467
+ "include": "$base"
468
+ }
469
+ ]
470
+ }
471
+ ]
472
+ },
473
+ "comments": {
474
+ "patterns": [
475
+ {
476
+ "begin": "/\\*",
477
+ "captures": {
478
+ "0": {
479
+ "name": "punctuation.definition.comment.d"
480
+ }
481
+ },
482
+ "end": "\\*/",
483
+ "name": "comment.block.d"
484
+ },
485
+ {
486
+ "begin": "/\\+",
487
+ "captures": {
488
+ "0": {
489
+ "name": "punctuation.definition.comment.d"
490
+ }
491
+ },
492
+ "end": "\\+/",
493
+ "name": "comment.block.nested.d"
494
+ },
495
+ {
496
+ "begin": "(^[ \\t]+)?(?=//)",
497
+ "beginCaptures": {
498
+ "1": {
499
+ "name": "punctuation.whitespace.comment.leading.d"
500
+ }
501
+ },
502
+ "end": "(?!\\G)",
503
+ "patterns": [
504
+ {
505
+ "begin": "//",
506
+ "beginCaptures": {
507
+ "0": {
508
+ "name": "punctuation.definition.comment.d"
509
+ }
510
+ },
511
+ "end": "\\n",
512
+ "name": "comment.line.double-slash.d"
513
+ }
514
+ ]
515
+ }
516
+ ]
517
+ },
518
+ "constant_placeholder": {
519
+ "match": "(?i:%(\\([a-z_]+\\))?#?0?\\-?[ ]?\\+?([0-9]*|\\*)(\\.([0-9]*|\\*))?[hL]?[a-z%])",
520
+ "name": "constant.other.placeholder.d"
521
+ },
522
+ "regular_expressions": {
523
+ "comment": "Change disabled to 1 to turn off syntax highlighting in “r” strings.",
524
+ "disabled": 1,
525
+ "patterns": [
526
+ {
527
+ "include": "source.regexp.python"
528
+ }
529
+ ]
530
+ },
531
+ "statement-remainder": {
532
+ "patterns": [
533
+ {
534
+ "begin": "\\(",
535
+ "end": "(?=\\))",
536
+ "name": "meta.definition.param-list.d",
537
+ "patterns": [
538
+ {
539
+ "include": "#all-types"
540
+ }
541
+ ]
542
+ }
543
+ ]
544
+ },
545
+ "storage-type-d": {
546
+ "match": "\\b(void|byte|short|char|int|long|float|double)\\b",
547
+ "name": "storage.type.d"
548
+ },
549
+ "string_escaped_char": {
550
+ "patterns": [
551
+ {
552
+ "match": "\\\\(\\\\|[abefnprtv'\"?]|[0-3]\\d{0,2}|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|&\\w+;)",
553
+ "name": "constant.character.escape.d"
554
+ },
555
+ {
556
+ "match": "\\\\.",
557
+ "name": "invalid.illegal.unknown-escape.d"
558
+ }
559
+ ]
560
+ },
561
+ "strings": {
562
+ "patterns": [
563
+ {
564
+ "begin": "\"",
565
+ "beginCaptures": {
566
+ "0": {
567
+ "name": "punctuation.definition.string.begin.d"
568
+ }
569
+ },
570
+ "end": "\"",
571
+ "endCaptures": {
572
+ "0": {
573
+ "name": "punctuation.definition.string.end.d"
574
+ }
575
+ },
576
+ "name": "string.quoted.double.d",
577
+ "patterns": [
578
+ {
579
+ "include": "#string_escaped_char"
580
+ }
581
+ ]
582
+ },
583
+ {
584
+ "begin": "(r)(\")",
585
+ "beginCaptures": {
586
+ "1": {
587
+ "name": "storage.type.string.d"
588
+ },
589
+ "2": {
590
+ "name": "punctuation.definition.string.begin.d"
591
+ }
592
+ },
593
+ "end": "((?<=\")(\")|\")",
594
+ "endCaptures": {
595
+ "1": {
596
+ "name": "punctuation.definition.string.end.d"
597
+ },
598
+ "2": {
599
+ "name": "meta.empty-string.double.d"
600
+ }
601
+ },
602
+ "name": "string.quoted.double.raw.d",
603
+ "patterns": [
604
+ {
605
+ "include": "#regular_expressions"
606
+ }
607
+ ]
608
+ },
609
+ {
610
+ "begin": "`",
611
+ "beginCaptures": {
612
+ "0": {
613
+ "name": "punctuation.definition.string.begin.d"
614
+ }
615
+ },
616
+ "end": "((?<=`)(`)|`)",
617
+ "endCaptures": {
618
+ "1": {
619
+ "name": "punctuation.definition.string.end.d"
620
+ },
621
+ "2": {
622
+ "name": "meta.empty-string.double.d"
623
+ }
624
+ },
625
+ "name": "string.quoted.double.raw.backtick.d"
626
+ },
627
+ {
628
+ "begin": "'",
629
+ "beginCaptures": {
630
+ "0": {
631
+ "name": "punctuation.definition.string.begin.d"
632
+ }
633
+ },
634
+ "end": "'",
635
+ "endCaptures": {
636
+ "0": {
637
+ "name": "punctuation.definition.string.end.d"
638
+ }
639
+ },
640
+ "name": "string.quoted.single.d",
641
+ "patterns": [
642
+ {
643
+ "include": "#string_escaped_char"
644
+ }
645
+ ]
646
+ }
647
+ ]
648
+ },
649
+ "support-type-built-ins-aliases-d": {
650
+ "match": "\\b(dstring|equals_t|hash_t|ptrdiff_t|sizediff_t|size_t|string|wstring)\\b",
651
+ "name": "support.type.built-ins.aliases.d"
652
+ },
653
+ "support-type-built-ins-classes-d": {
654
+ "match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\tAbstractServer|\n\t\t\t\t\tArchiveMember|\n\t\t\t\t\tArgParser|\n\t\t\t\t\tBarrier|\n\t\t\t\t\tBomSniffer|\n\t\t\t\t\tBuffer|\n\t\t\t\t\tBufferInput|\n\t\t\t\t\tBufferOutput|\n\t\t\t\t\tBufferSlice|\n\t\t\t\t\tBufferedFile|\n\t\t\t\t\tBufferedStream|\n\t\t\t\t\tBzipInput|\n\t\t\t\t\tBzipOutput|\n\t\t\t\t\tCFile|\n\t\t\t\t\tCacheInvalidatee|\n\t\t\t\t\tCacheInvalidator|\n\t\t\t\t\tCacheServer|\n\t\t\t\t\tCacheThread|\n\t\t\t\t\tCertificate|\n\t\t\t\t\tCertificateStore|\n\t\t\t\t\tCertificateStoreCtx|\n\t\t\t\t\tChunkInput|\n\t\t\t\t\tChunkOutput|\n\t\t\t\t\tClassInfo|\n\t\t\t\t\tCluster|\n\t\t\t\t\tClusterCache|\n\t\t\t\t\tClusterQueue|\n\t\t\t\t\tClusterThread|\n\t\t\t\t\tCmdParser|\n\t\t\t\t\tComObject|\n\t\t\t\t\tCompress|\n\t\t\t\t\tCondition|\n\t\t\t\t\tConduit|\n\t\t\t\t\tCookie|\n\t\t\t\t\tCookieParser|\n\t\t\t\t\tCookieStack|\n\t\t\t\t\tCounterInput|\n\t\t\t\t\tCounterOutput|\n\t\t\t\t\tDataFileInput|\n\t\t\t\t\tDataFileOutput|\n\t\t\t\t\tDataInput|\n\t\t\t\t\tDataOutput|\n\t\t\t\t\tDatabase|\n\t\t\t\t\tDatagramConduit|\n\t\t\t\t\tDeviceConduit|\n\t\t\t\t\tDigestInput|\n\t\t\t\t\tDigestOutput|\n\t\t\t\t\tDocPrinter|\n\t\t\t\t\tDocument|\n\t\t\t\t\tDummyInputStream|\n\t\t\t\t\tDummyOutputStream|\n\t\t\t\t\tEndianInput|\n\t\t\t\t\tEndianOutput|\n\t\t\t\t\tEndianProtocol|\n\t\t\t\t\tEndianStream|\n\t\t\t\t\tEventSeekInputStream|\n\t\t\t\t\tEventSeekOutputStream|\n\t\t\t\t\tFTPConnection|\n\t\t\t\t\tFiber|\n\t\t\t\t\tField|\n\t\t\t\t\tFile|\n\t\t\t\t\tFileConduit|\n\t\t\t\t\tFileFolder|\n\t\t\t\t\tFileGroup|\n\t\t\t\t\tFileInput|\n\t\t\t\t\tFileOutput|\n\t\t\t\t\tFilePath|\n\t\t\t\t\tFileScan|\n\t\t\t\t\tFilterStream|\n\t\t\t\t\tFoo|\n\t\t\t\t\tFormatOutput|\n\t\t\t\t\tGreedyInput|\n\t\t\t\t\tGreedyOutput|\n\t\t\t\t\tGregorian|\n\t\t\t\t\tGrowBuffer|\n\t\t\t\t\tHeapCopy|\n\t\t\t\t\tHeapSlice|\n\t\t\t\t\tHierarchy|\n\t\t\t\t\tHttpClient|\n\t\t\t\t\tHttpCookies|\n\t\t\t\t\tHttpCookiesView|\n\t\t\t\t\tHttpGet|\n\t\t\t\t\tHttpHeaders|\n\t\t\t\t\tHttpHeadersView|\n\t\t\t\t\tHttpParams|\n\t\t\t\t\tHttpPost|\n\t\t\t\t\tHttpStack|\n\t\t\t\t\tHttpTokens|\n\t\t\t\t\tHttpTriplet|\n\t\t\t\t\tIPv4Address|\n\t\t\t\t\tIUnknown|\n\t\t\t\t\tInputFilter|\n\t\t\t\t\tInternetAddress|\n\t\t\t\t\tInternetHost|\n\t\t\t\t\tLayout|\n\t\t\t\t\tLineInput|\n\t\t\t\t\tLineIterator|\n\t\t\t\t\tLinkedFolder|\n\t\t\t\t\tLog|\n\t\t\t\t\tMapInput|\n\t\t\t\t\tMapOutput|\n\t\t\t\t\tMappedBuffer|\n\t\t\t\t\tMd2|\n\t\t\t\t\tMd4|\n\t\t\t\t\tMemoryQueue|\n\t\t\t\t\tMemoryStream|\n\t\t\t\t\tMmFile|\n\t\t\t\t\tMmFileStream|\n\t\t\t\t\tModuleInfo|\n\t\t\t\t\tMulticastConduit|\n\t\t\t\t\tMutex|\n\t\t\t\t\tNativeProtocol|\n\t\t\t\t\tNetCall|\n\t\t\t\t\tNetHost|\n\t\t\t\t\tNetworkAlert|\n\t\t\t\t\tNetworkCache|\n\t\t\t\t\tNetworkCall|\n\t\t\t\t\tNetworkClient|\n\t\t\t\t\tNetworkCombo|\n\t\t\t\t\tNetworkMessage|\n\t\t\t\t\tNetworkQueue|\n\t\t\t\t\tNetworkRegistry|\n\t\t\t\t\tNetworkTask|\n\t\t\t\t\tNotImplemented|\n\t\t\t\t\tObject|\n\t\t\t\t\tObserver|\n\t\t\t\t\tOutBuffer|\n\t\t\t\t\tOutputFilter|\n\t\t\t\t\tPersistQueue|\n\t\t\t\t\tPipe|\n\t\t\t\t\tPipeConduit|\n\t\t\t\t\tPrint|\n\t\t\t\t\tPrivateKey|\n\t\t\t\t\tProcess|\n\t\t\t\t\tProperties|\n\t\t\t\t\tProtocol|\n\t\t\t\t\tProtocolReader|\n\t\t\t\t\tProtocolWriter|\n\t\t\t\t\tPublicKey|\n\t\t\t\t\tPullParser|\n\t\t\t\t\tQueueFile|\n\t\t\t\t\tQueueServer|\n\t\t\t\t\tQueueThread|\n\t\t\t\t\tQueuedCache|\n\t\t\t\t\tQuoteIterator|\n\t\t\t\t\tRandom|\n\t\t\t\t\tRange|\n\t\t\t\t\tReadWriteMutex|\n\t\t\t\t\tReader|\n\t\t\t\t\tRecord|\n\t\t\t\t\tRegExp|\n\t\t\t\t\tRegExpT|\n\t\t\t\t\tRegexIterator|\n\t\t\t\t\tRollCall|\n\t\t\t\t\tSSLCtx|\n\t\t\t\t\tSSLServerSocket|\n\t\t\t\t\tSSLSocketConduit|\n\t\t\t\t\tSaxParser|\n\t\t\t\t\tSelectionKey|\n\t\t\t\t\tSemaphore|\n\t\t\t\t\tServerSocket|\n\t\t\t\t\tServerThread|\n\t\t\t\t\tService|\n\t\t\t\t\tSimpleIterator|\n\t\t\t\t\tSliceInputStream|\n\t\t\t\t\tSliceSeekInputStream|\n\t\t\t\t\tSliceSeekOutputStream|\n\t\t\t\t\tSliceStream|\n\t\t\t\t\tSnoopInput|\n\t\t\t\t\tSnoopOutput|\n\t\t\t\t\tSocket|\n\t\t\t\t\tSocketConduit|\n\t\t\t\t\tSocketListener|\n\t\t\t\t\tSocketSet|\n\t\t\t\t\tSocketStream|\n\t\t\t\t\tSprint|\n\t\t\t\t\tStream|\n\t\t\t\t\tStreamIterator|\n\t\t\t\t\tTArrayStream|\n\t\t\t\t\tTaskServer|\n\t\t\t\t\tTaskThread|\n\t\t\t\t\tTcpSocket|\n\t\t\t\t\tTelnet|\n\t\t\t\t\tTempFile|\n\t\t\t\t\tText|\n\t\t\t\t\tTextFileInput|\n\t\t\t\t\tTextFileOutput|\n\t\t\t\t\tTextView|\n\t\t\t\t\tThread|\n\t\t\t\t\tThreadGroup|\n\t\t\t\t\tThreadLocal|\n\t\t\t\t\tThreadPool|\n\t\t\t\t\tToken|\n\t\t\t\t\tTypeInfo|\n\t\t\t\t\tTypeInfo_AC|\n\t\t\t\t\tTypeInfo_Aa|\n\t\t\t\t\tTypeInfo_Ab|\n\t\t\t\t\tTypeInfo_Ac|\n\t\t\t\t\tTypeInfo_Ad|\n\t\t\t\t\tTypeInfo_Ae|\n\t\t\t\t\tTypeInfo_Af|\n\t\t\t\t\tTypeInfo_Ag|\n\t\t\t\t\tTypeInfo_Ah|\n\t\t\t\t\tTypeInfo_Ai|\n\t\t\t\t\tTypeInfo_Aj|\n\t\t\t\t\tTypeInfo_Ak|\n\t\t\t\t\tTypeInfo_Al|\n\t\t\t\t\tTypeInfo_Am|\n\t\t\t\t\tTypeInfo_Ao|\n\t\t\t\t\tTypeInfo_Ap|\n\t\t\t\t\tTypeInfo_Aq|\n\t\t\t\t\tTypeInfo_Ar|\n\t\t\t\t\tTypeInfo_Array|\n\t\t\t\t\tTypeInfo_As|\n\t\t\t\t\tTypeInfo_AssociativeArray|\n\t\t\t\t\tTypeInfo_At|\n\t\t\t\t\tTypeInfo_Au|\n\t\t\t\t\tTypeInfo_Av|\n\t\t\t\t\tTypeInfo_Aw|\n\t\t\t\t\tTypeInfo_C|\n\t\t\t\t\tTypeInfo_Class|\n\t\t\t\t\tTypeInfo_D|\n\t\t\t\t\tTypeInfo_Delegate|\n\t\t\t\t\tTypeInfo_Enum|\n\t\t\t\t\tTypeInfo_Function|\n\t\t\t\t\tTypeInfo_Interface|\n\t\t\t\t\tTypeInfo_P|\n\t\t\t\t\tTypeInfo_Pointer|\n\t\t\t\t\tTypeInfo_StaticArray|\n\t\t\t\t\tTypeInfo_Struct|\n\t\t\t\t\tTypeInfo_Tuple|\n\t\t\t\t\tTypeInfo_Typedef|\n\t\t\t\t\tTypeInfo_a|\n\t\t\t\t\tTypeInfo_b|\n\t\t\t\t\tTypeInfo_c|\n\t\t\t\t\tTypeInfo_d|\n\t\t\t\t\tTypeInfo_e|\n\t\t\t\t\tTypeInfo_f|\n\t\t\t\t\tTypeInfo_g|\n\t\t\t\t\tTypeInfo_h|\n\t\t\t\t\tTypeInfo_i|\n\t\t\t\t\tTypeInfo_j|\n\t\t\t\t\tTypeInfo_k|\n\t\t\t\t\tTypeInfo_l|\n\t\t\t\t\tTypeInfo_m|\n\t\t\t\t\tTypeInfo_o|\n\t\t\t\t\tTypeInfo_p|\n\t\t\t\t\tTypeInfo_q|\n\t\t\t\t\tTypeInfo_r|\n\t\t\t\t\tTypeInfo_s|\n\t\t\t\t\tTypeInfo_t|\n\t\t\t\t\tTypeInfo_u|\n\t\t\t\t\tTypeInfo_v|\n\t\t\t\t\tTypeInfo_w|\n\t\t\t\t\tTypedInput|\n\t\t\t\t\tTypedOutput|\n\t\t\t\t\tURIerror|\n\t\t\t\t\tUdpSocket|\n\t\t\t\t\tUnCompress|\n\t\t\t\t\tUniText|\n\t\t\t\t\tUnicodeBom|\n\t\t\t\t\tUnicodeFile|\n\t\t\t\t\tUnknownAddress|\n\t\t\t\t\tUri|\n\t\t\t\t\tUtfInput|\n\t\t\t\t\tUtfOutput|\n\t\t\t\t\tVirtualFolder|\n\t\t\t\t\tWrapSeekInputStream|\n\t\t\t\t\tWrapSeekOutputStream|\n\t\t\t\t\tWriter|\n\t\t\t\t\tXmlPrinter|\n\t\t\t\t\tZipArchive|\n\t\t\t\t\tZipBlockReader|\n\t\t\t\t\tZipBlockWriter|\n\t\t\t\t\tZipEntry|\n\t\t\t\t\tZipEntryVerifier|\n\t\t\t\t\tZipFile|\n\t\t\t\t\tZipFileGroup|\n\t\t\t\t\tZipFolder|\n\t\t\t\t\tZipSubFolder|\n\t\t\t\t\tZipSubFolderEntry|\n\t\t\t\t\tZipSubFolderGroup|\n\t\t\t\t\tZlibInput|\n\t\t\t\t\tZlibOutput\n\t\t\t\t)\\b",
655
+ "name": "support.type.built-ins.classes.d"
656
+ },
657
+ "support-type-built-ins-d": {
658
+ "patterns": [
659
+ {
660
+ "include": "#support-type-built-ins-exceptions-d"
661
+ },
662
+ {
663
+ "include": "#support-type-built-ins-classes-d"
664
+ },
665
+ {
666
+ "include": "#support-type-built-ins-interfaces-d"
667
+ },
668
+ {
669
+ "include": "#support-type-built-ins-structs-d"
670
+ },
671
+ {
672
+ "include": "#support-type-built-ins-aliases-d"
673
+ },
674
+ {
675
+ "include": "#support-type-built-ins-functions-d"
676
+ },
677
+ {
678
+ "include": "#support-type-built-ins-templates-d"
679
+ }
680
+ ]
681
+ },
682
+ "support-type-built-ins-exceptions-d": {
683
+ "match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\tAddressException|\n\t\t\t\t\tArrayBoundsError|\n\t\t\t\t\tArrayBoundsException|\n\t\t\t\t\tAssertError|\n\t\t\t\t\tAssertException|\n\t\t\t\t\tBase64CharException|\n\t\t\t\t\tBase64Exception|\n\t\t\t\t\tBzipClosedException|\n\t\t\t\t\tBzipException|\n\t\t\t\t\tClusterEmptyException|\n\t\t\t\t\tClusterFullException|\n\t\t\t\t\tConvError|\n\t\t\t\t\tConvOverflowError|\n\t\t\t\t\tConversionException|\n\t\t\t\t\tCorruptedIteratorException|\n\t\t\t\t\tDatabaseException|\n\t\t\t\t\tDateParseError|\n\t\t\t\t\tException|\n\t\t\t\t\tFTPException|\n\t\t\t\t\tFiberException|\n\t\t\t\t\tFileException|\n\t\t\t\t\tFinalizeException|\n\t\t\t\t\tFormatError|\n\t\t\t\t\tHostException|\n\t\t\t\t\tIOException|\n\t\t\t\t\tIllegalArgumentException|\n\t\t\t\t\tIllegalElementException|\n\t\t\t\t\tInvalidKeyException|\n\t\t\t\t\tInvalidTypeException|\n\t\t\t\t\tLocaleException|\n\t\t\t\t\tModuleCtorError|\n\t\t\t\t\tNoSuchElementException|\n\t\t\t\t\tOpenException|\n\t\t\t\t\tOpenRJException|\n\t\t\t\t\tOutOfMemoryException|\n\t\t\t\t\tPlatformException|\n\t\t\t\t\tProcessCreateException|\n\t\t\t\t\tProcessException|\n\t\t\t\t\tProcessForkException|\n\t\t\t\t\tProcessKillException|\n\t\t\t\t\tProcessWaitException|\n\t\t\t\t\tReadException|\n\t\t\t\t\tRegExpException|\n\t\t\t\t\tRegexException|\n\t\t\t\t\tRegistryException|\n\t\t\t\t\tSeekException|\n\t\t\t\t\tSharedLibException|\n\t\t\t\t\tSocketAcceptException|\n\t\t\t\t\tSocketException|\n\t\t\t\t\tStdioException|\n\t\t\t\t\tStreamException|\n\t\t\t\t\tStreamFileException|\n\t\t\t\t\tStringException|\n\t\t\t\t\tSwitchError|\n\t\t\t\t\tSwitchException|\n\t\t\t\t\tSyncException|\n\t\t\t\t\tTextException|\n\t\t\t\t\tThreadError|\n\t\t\t\t\tThreadException|\n\t\t\t\t\tUnboxException|\n\t\t\t\t\tUnicodeException|\n\t\t\t\t\tUtfException|\n\t\t\t\t\tVariantTypeMismatchException|\n\t\t\t\t\tWin32Exception|\n\t\t\t\t\tWriteException|\n\t\t\t\t\tXmlException|\n\t\t\t\t\tZipChecksumException|\n\t\t\t\t\tZipException|\n\t\t\t\t\tZipExhaustedException|\n\t\t\t\t\tZipNotSupportedException|\n\t\t\t\t\tZlibClosedException|\n\t\t\t\t\tZlibException|\n\t\t\t\t\tOurUnwindException|\n\t\t\t\t\tSysError\n\t\t\t\t)\\b",
684
+ "name": "support.type.built-ins.exceptions.d"
685
+ },
686
+ "support-type-built-ins-functions-d": {
687
+ "match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\taaLiteral|\n\t\t\t\t\tassumeSafeAppend|\n\t\t\t\t\tbyKey|\n\t\t\t\t\tbyKeyValue|\n\t\t\t\t\tbyValue|\n\t\t\t\t\tcapacity|\n\t\t\t\t\tdestroy|\n\t\t\t\t\tdup|\n\t\t\t\t\tget|\n\t\t\t\t\tkeys|\n\t\t\t\t\trehash|\n\t\t\t\t\treserve|\n\t\t\t\t\tvalues\n\t\t\t\t)\\b",
688
+ "name": "support.type.built-ins.functions.d"
689
+ },
690
+ "support-type-built-ins-interfaces-d": {
691
+ "match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\tBuffered|\n\t\t\t\t\tHttpParamsView|\n\t\t\t\t\tICache|\n\t\t\t\t\tIChannel|\n\t\t\t\t\tIClassFactory|\n\t\t\t\t\tICluster|\n\t\t\t\t\tIConduit|\n\t\t\t\t\tIConsumer|\n\t\t\t\t\tIEvent|\n\t\t\t\t\tIHierarchy|\n\t\t\t\t\tILevel|\n\t\t\t\t\tIListener|\n\t\t\t\t\tIMessage|\n\t\t\t\t\tIMessageLoader|\n\t\t\t\t\tIOStream|\n\t\t\t\t\tIReadable|\n\t\t\t\t\tISelectable|\n\t\t\t\t\tISelectionSet|\n\t\t\t\t\tISelector|\n\t\t\t\t\tIServer|\n\t\t\t\t\tIUnknown|\n\t\t\t\t\tIWritable|\n\t\t\t\t\tIXmlPrinter|\n\t\t\t\t\tInputStream|\n\t\t\t\t\tOutputStream|\n\t\t\t\t\tPathView|\n\t\t\t\t\tVfsFile|\n\t\t\t\t\tVfsFiles|\n\t\t\t\t\tVfsFolder|\n\t\t\t\t\tVfsFolderEntry|\n\t\t\t\t\tVfsFolders|\n\t\t\t\t\tVfsHost|\n\t\t\t\t\tVfsSync|\n\t\t\t\t\tZipReader|\n\t\t\t\t\tZipWriter\n\t\t\t\t)\\b",
692
+ "name": "support.type.built-ins.interfaces.d"
693
+ },
694
+ "support-type-built-ins-structs-d": {
695
+ "match": "(?x)\n\t\t\t\t\\b(\n\t\t\t\t\tABC|\n\t\t\t\t\tABCFLOAT|\n\t\t\t\t\tACCEL|\n\t\t\t\t\tACCESSTIMEOUT|\n\t\t\t\t\tACCESS_ALLOWED_ACE|\n\t\t\t\t\tACCESS_DENIED_ACE|\n\t\t\t\t\tACE_HEADER|\n\t\t\t\t\tACL|\n\t\t\t\t\tACL_REVISION_INFORMATION|\n\t\t\t\t\tACL_SIZE_INFORMATION|\n\t\t\t\t\tACTION_HEADER|\n\t\t\t\t\tADAPTER_STATUS|\n\t\t\t\t\tADDJOB_INFO_1|\n\t\t\t\t\tANIMATIONINFO|\n\t\t\t\t\tAPPBARDATA|\n\t\t\t\t\tArgument|\n\t\t\t\t\tAtomic|\n\t\t\t\t\tAttribute|\n\t\t\t\t\tBITMAP|\n\t\t\t\t\tBITMAPCOREHEADER|\n\t\t\t\t\tBITMAPCOREINFO|\n\t\t\t\t\tBITMAPINFO|\n\t\t\t\t\tBITMAPINFOHEADER|\n\t\t\t\t\tBITMAPV4HEADER|\n\t\t\t\t\tBLOB|\n\t\t\t\t\tBROWSEINFO|\n\t\t\t\t\tBY_HANDLE_FILE_INFORMATION|\n\t\t\t\t\tBar|\n\t\t\t\t\tBaz|\n\t\t\t\t\tBitArray|\n\t\t\t\t\tBox|\n\t\t\t\t\tBracketResult|\n\t\t\t\t\tByteSwap|\n\t\t\t\t\tCANDIDATEFORM|\n\t\t\t\t\tCANDIDATELIST|\n\t\t\t\t\tCBTACTIVATESTRUCT|\n\t\t\t\t\tCBT_CREATEWND|\n\t\t\t\t\tCHARFORMAT|\n\t\t\t\t\tCHARRANGE|\n\t\t\t\t\tCHARSET|\n\t\t\t\t\tCHARSETINFO|\n\t\t\t\t\tCHAR_INFO|\n\t\t\t\t\tCIDA|\n\t\t\t\t\tCIEXYZ|\n\t\t\t\t\tCIEXYZTRIPLE|\n\t\t\t\t\tCLIENTCREATESTRUCT|\n\t\t\t\t\tCMINVOKECOMMANDINFO|\n\t\t\t\t\tCOLORADJUSTMENT|\n\t\t\t\t\tCOLORMAP|\n\t\t\t\t\tCOMMCONFIG|\n\t\t\t\t\tCOMMPROP|\n\t\t\t\t\tCOMMTIMEOUTS|\n\t\t\t\t\tCOMPAREITEMSTRUCT|\n\t\t\t\t\tCOMPCOLOR|\n\t\t\t\t\tCOMPOSITIONFORM|\n\t\t\t\t\tCOMSTAT|\n\t\t\t\t\tCONNECTDLGSTRUCT|\n\t\t\t\t\tCONSOLE_CURSOR_INFO|\n\t\t\t\t\tCONTEXT|\n\t\t\t\t\tCONVCONTEXT|\n\t\t\t\t\tCONVINFO|\n\t\t\t\t\tCOORD|\n\t\t\t\t\tCOPYDATASTRUCT|\n\t\t\t\t\tCPINFO|\n\t\t\t\t\tCPLINFO|\n\t\t\t\t\tCREATESTRUCT|\n\t\t\t\t\tCREATE_PROCESS_DEBUG_INFO|\n\t\t\t\t\tCREATE_THREAD_DEBUG_INFO|\n\t\t\t\t\tCRITICAL_SECTION|\n\t\t\t\t\tCRITICAL_SECTION_DEBUG|\n\t\t\t\t\tCURRENCYFMT|\n\t\t\t\t\tCURSORSHAPE|\n\t\t\t\t\tCWPRETSTRUCT|\n\t\t\t\t\tCWPSTRUCT|\n\t\t\t\t\tCharClass|\n\t\t\t\t\tCharRange|\n\t\t\t\t\tClock|\n\t\t\t\t\tCodePage|\n\t\t\t\t\tConsole|\n\t\t\t\t\tDATATYPES_INFO_1|\n\t\t\t\t\tDCB|\n\t\t\t\t\tDDEACK|\n\t\t\t\t\tDDEADVISE|\n\t\t\t\t\tDDEDATA|\n\t\t\t\t\tDDELN|\n\t\t\t\t\tDDEML_MSG_HOOK_DATA|\n\t\t\t\t\tDDEPOKE|\n\t\t\t\t\tDDEUP|\n\t\t\t\t\tDEBUGHOOKINFO|\n\t\t\t\t\tDEBUG_EVENT|\n\t\t\t\t\tDELETEITEMSTRUCT|\n\t\t\t\t\tDEVMODE|\n\t\t\t\t\tDEVNAMES|\n\t\t\t\t\tDEV_BROADCAST_HDR|\n\t\t\t\t\tDEV_BROADCAST_OEM|\n\t\t\t\t\tDEV_BROADCAST_PORT|\n\t\t\t\t\tDEV_BROADCAST_VOLUME|\n\t\t\t\t\tDIBSECTION|\n\t\t\t\t\tDIR|\n\t\t\t\t\tDISCDLGSTRUCT|\n\t\t\t\t\tDISK_GEOMETRY|\n\t\t\t\t\tDISK_PERFORMANCE|\n\t\t\t\t\tDOCINFO|\n\t\t\t\t\tDOC_INFO_1|\n\t\t\t\t\tDOC_INFO_2|\n\t\t\t\t\tDRAGLISTINFO|\n\t\t\t\t\tDRAWITEMSTRUCT|\n\t\t\t\t\tDRAWTEXTPARAMS|\n\t\t\t\t\tDRIVER_INFO_1|\n\t\t\t\t\tDRIVER_INFO_2|\n\t\t\t\t\tDRIVER_INFO_3|\n\t\t\t\t\tDRIVE_LAYOUT_INFORMATION|\n\t\t\t\t\tDate|\n\t\t\t\t\tDateParse|\n\t\t\t\t\tDateTime|\n\t\t\t\t\tDirEntry|\n\t\t\t\t\tDynArg|\n\t\t\t\t\tEDITSTREAM|\n\t\t\t\t\tEMPTYRECORD|\n\t\t\t\t\tEMR|\n\t\t\t\t\tEMRABORTPATH|\n\t\t\t\t\tEMRANGLEARC|\n\t\t\t\t\tEMRARC|\n\t\t\t\t\tEMRBITBLT|\n\t\t\t\t\tEMRCREATEBRUSHINDIRECT|\n\t\t\t\t\tEMRCREATECOLORSPACE|\n\t\t\t\t\tEMRCREATEDIBPATTERNBRUSHPT|\n\t\t\t\t\tEMRCREATEMONOBRUSH|\n\t\t\t\t\tEMRCREATEPALETTE|\n\t\t\t\t\tEMRCREATEPEN|\n\t\t\t\t\tEMRELLIPSE|\n\t\t\t\t\tEMREOF|\n\t\t\t\t\tEMREXCLUDECLIPRECT|\n\t\t\t\t\tEMREXTCREATEFONTINDIRECTW|\n\t\t\t\t\tEMREXTCREATEPEN|\n\t\t\t\t\tEMREXTFLOODFILL|\n\t\t\t\t\tEMREXTSELECTCLIPRGN|\n\t\t\t\t\tEMREXTTEXTOUTA|\n\t\t\t\t\tEMRFILLPATH|\n\t\t\t\t\tEMRFILLRGN|\n\t\t\t\t\tEMRFORMAT|\n\t\t\t\t\tEMRFRAMERGN|\n\t\t\t\t\tEMRGDICOMMENT|\n\t\t\t\t\tEMRINVERTRGN|\n\t\t\t\t\tEMRLINETO|\n\t\t\t\t\tEMRMASKBLT|\n\t\t\t\t\tEMRMODIFYWORLDTRANSFORM|\n\t\t\t\t\tEMROFFSETCLIPRGN|\n\t\t\t\t\tEMRPLGBLT|\n\t\t\t\t\tEMRPOLYDRAW|\n\t\t\t\t\tEMRPOLYDRAW16|\n\t\t\t\t\tEMRPOLYLINE|\n\t\t\t\t\tEMRPOLYLINE16|\n\t\t\t\t\tEMRPOLYPOLYLINE|\n\t\t\t\t\tEMRPOLYPOLYLINE16|\n\t\t\t\t\tEMRPOLYTEXTOUTA|\n\t\t\t\t\tEMRRESIZEPALETTE|\n\t\t\t\t\tEMRRESTOREDC|\n\t\t\t\t\tEMRROUNDRECT|\n\t\t\t\t\tEMRSCALEVIEWPORTEXTEX|\n\t\t\t\t\tEMRSELECTCLIPPATH|\n\t\t\t\t\tEMRSELECTCOLORSPACE|\n\t\t\t\t\tEMRSELECTOBJECT|\n\t\t\t\t\tEMRSELECTPALETTE|\n\t\t\t\t\tEMRSETARCDIRECTION|\n\t\t\t\t\tEMRSETBKCOLOR|\n\t\t\t\t\tEMRSETCOLORADJUSTMENT|\n\t\t\t\t\tEMRSETDIBITSTODEVICE|\n\t\t\t\t\tEMRSETMAPPERFLAGS|\n\t\t\t\t\tEMRSETMITERLIMIT|\n\t\t\t\t\tEMRSETPALETTEENTRIES|\n\t\t\t\t\tEMRSETPIXELV|\n\t\t\t\t\tEMRSETVIEWPORTEXTEX|\n\t\t\t\t\tEMRSETVIEWPORTORGEX|\n\t\t\t\t\tEMRSETWORLDTRANSFORM|\n\t\t\t\t\tEMRSTRETCHBLT|\n\t\t\t\t\tEMRSTRETCHDIBITS|\n\t\t\t\t\tEMRTEXT|\n\t\t\t\t\tENCORRECTTEXT|\n\t\t\t\t\tENDROPFILES|\n\t\t\t\t\tENHMETAHEADER|\n\t\t\t\t\tENHMETARECORD|\n\t\t\t\t\tENOLEOPFAILED|\n\t\t\t\t\tENPROTECTED|\n\t\t\t\t\tENSAVECLIPBOARD|\n\t\t\t\t\tENUMLOGFONT|\n\t\t\t\t\tENUMLOGFONTEX|\n\t\t\t\t\tENUM_SERVICE_STATUS|\n\t\t\t\t\tEVENTLOGRECORD|\n\t\t\t\t\tEVENTMSG|\n\t\t\t\t\tEXCEPTION_DEBUG_INFO|\n\t\t\t\t\tEXCEPTION_POINTERS|\n\t\t\t\t\tEXCEPTION_RECORD|\n\t\t\t\t\tEXIT_PROCESS_DEBUG_INFO|\n\t\t\t\t\tEXIT_THREAD_DEBUG_INFO|\n\t\t\t\t\tEXTLOGFONT|\n\t\t\t\t\tEXTLOGPEN|\n\t\t\t\t\tEXT_BUTTON|\n\t\t\t\t\tEmptySlot|\n\t\t\t\t\tEndOfCDRecord|\n\t\t\t\t\tEnvironment|\n\t\t\t\t\tFILETIME|\n\t\t\t\t\tFILTERKEYS|\n\t\t\t\t\tFINDREPLACE|\n\t\t\t\t\tFINDTEXTEX|\n\t\t\t\t\tFIND_NAME_BUFFER|\n\t\t\t\t\tFIND_NAME_HEADER|\n\t\t\t\t\tFIXED|\n\t\t\t\t\tFLOATING_SAVE_AREA|\n\t\t\t\t\tFMS_GETDRIVEINFO|\n\t\t\t\t\tFMS_GETFILESEL|\n\t\t\t\t\tFMS_LOAD|\n\t\t\t\t\tFMS_TOOLBARLOAD|\n\t\t\t\t\tFOCUS_EVENT_RECORD|\n\t\t\t\t\tFONTSIGNATURE|\n\t\t\t\t\tFORMATRANGE|\n\t\t\t\t\tFORMAT_PARAMETERS|\n\t\t\t\t\tFORM_INFO_1|\n\t\t\t\t\tFileConst|\n\t\t\t\t\tFileHeader|\n\t\t\t\t\tFileRoots|\n\t\t\t\t\tFileSystem|\n\t\t\t\t\tFoldingCaseData|\n\t\t\t\t\tFoo|\n\t\t\t\t\tFtpConnectionDetail|\n\t\t\t\t\tFtpFeature|\n\t\t\t\t\tFtpFileInfo|\n\t\t\t\t\tFtpResponse|\n\t\t\t\t\tGC|\n\t\t\t\t\tGCP_RESULTS|\n\t\t\t\t\tGCStats|\n\t\t\t\t\tGENERIC_MAPPING|\n\t\t\t\t\tGLYPHMETRICS|\n\t\t\t\t\tGLYPHMETRICSFLOAT|\n\t\t\t\t\tGROUP_INFO_2|\n\t\t\t\t\tGUID|\n\t\t\t\t\tHANDLETABLE|\n\t\t\t\t\tHD_HITTESTINFO|\n\t\t\t\t\tHD_ITEM|\n\t\t\t\t\tHD_LAYOUT|\n\t\t\t\t\tHD_NOTIFY|\n\t\t\t\t\tHELPINFO|\n\t\t\t\t\tHELPWININFO|\n\t\t\t\t\tHIGHCONTRAST|\n\t\t\t\t\tHSZPAIR|\n\t\t\t\t\tHeaderElement|\n\t\t\t\t\tHttpConst|\n\t\t\t\t\tHttpHeader|\n\t\t\t\t\tHttpHeaderName|\n\t\t\t\t\tHttpResponses|\n\t\t\t\t\tHttpStatus|\n\t\t\t\t\tHttpToken|\n\t\t\t\t\tICONINFO|\n\t\t\t\t\tICONMETRICS|\n\t\t\t\t\tIMAGEINFO|\n\t\t\t\t\tIMAGE_DOS_HEADER|\n\t\t\t\t\tINPUT_RECORD|\n\t\t\t\t\tITEMIDLIST|\n\t\t\t\t\tIeeeFlags|\n\t\t\t\t\tInterface|\n\t\t\t\t\tJOB_INFO_1|\n\t\t\t\t\tJOB_INFO_2|\n\t\t\t\t\tKERNINGPAIR|\n\t\t\t\t\tLANA_ENUM|\n\t\t\t\t\tLAYERPLANEDESCRIPTOR|\n\t\t\t\t\tLDT_ENTRY|\n\t\t\t\t\tLIST_ENTRY|\n\t\t\t\t\tLOAD_DLL_DEBUG_INFO|\n\t\t\t\t\tLOCALESIGNATURE|\n\t\t\t\t\tLOCALGROUP_INFO_0|\n\t\t\t\t\tLOCALGROUP_MEMBERS_INFO_0|\n\t\t\t\t\tLOCALGROUP_MEMBERS_INFO_3|\n\t\t\t\t\tLOGBRUSH|\n\t\t\t\t\tLOGCOLORSPACE|\n\t\t\t\t\tLOGFONT|\n\t\t\t\t\tLOGFONTA|\n\t\t\t\t\tLOGFONTW|\n\t\t\t\t\tLOGPALETTE|\n\t\t\t\t\tLOGPEN|\n\t\t\t\t\tLUID_AND_ATTRIBUTES|\n\t\t\t\t\tLV_COLUMN|\n\t\t\t\t\tLV_DISPINFO|\n\t\t\t\t\tLV_FINDINFO|\n\t\t\t\t\tLV_HITTESTINFO|\n\t\t\t\t\tLV_ITEM|\n\t\t\t\t\tLV_KEYDOWN|\n\t\t\t\t\tLocalFileHeader|\n\t\t\t\t\tMAT2|\n\t\t\t\t\tMD5_CTX|\n\t\t\t\t\tMDICREATESTRUCT|\n\t\t\t\t\tMEASUREITEMSTRUCT|\n\t\t\t\t\tMEMORYSTATUS|\n\t\t\t\t\tMEMORY_BASIC_INFORMATION|\n\t\t\t\t\tMENUEX_TEMPLATE_HEADER|\n\t\t\t\t\tMENUEX_TEMPLATE_ITEM|\n\t\t\t\t\tMENUITEMINFO|\n\t\t\t\t\tMENUITEMTEMPLATE|\n\t\t\t\t\tMENUITEMTEMPLATEHEADER|\n\t\t\t\t\tMENUTEMPLATE|\n\t\t\t\t\tMENU_EVENT_RECORD|\n\t\t\t\t\tMETAFILEPICT|\n\t\t\t\t\tMETARECORD|\n\t\t\t\t\tMINIMIZEDMETRICS|\n\t\t\t\t\tMINMAXINFO|\n\t\t\t\t\tMODEMDEVCAPS|\n\t\t\t\t\tMODEMSETTINGS|\n\t\t\t\t\tMONCBSTRUCT|\n\t\t\t\t\tMONCONVSTRUCT|\n\t\t\t\t\tMONERRSTRUCT|\n\t\t\t\t\tMONHSZSTRUCT|\n\t\t\t\t\tMONITOR_INFO_1|\n\t\t\t\t\tMONITOR_INFO_2|\n\t\t\t\t\tMONLINKSTRUCT|\n\t\t\t\t\tMONMSGSTRUCT|\n\t\t\t\t\tMOUSEHOOKSTRUCT|\n\t\t\t\t\tMOUSEKEYS|\n\t\t\t\t\tMOUSE_EVENT_RECORD|\n\t\t\t\t\tMSG|\n\t\t\t\t\tMSGBOXPARAMS|\n\t\t\t\t\tMSGFILTER|\n\t\t\t\t\tMULTIKEYHELP|\n\t\t\t\t\tNAME_BUFFER|\n\t\t\t\t\tNCB|\n\t\t\t\t\tNCCALCSIZE_PARAMS|\n\t\t\t\t\tNDDESHAREINFO|\n\t\t\t\t\tNETCONNECTINFOSTRUCT|\n\t\t\t\t\tNETINFOSTRUCT|\n\t\t\t\t\tNETRESOURCE|\n\t\t\t\t\tNEWCPLINFO|\n\t\t\t\t\tNEWTEXTMETRIC|\n\t\t\t\t\tNEWTEXTMETRICEX|\n\t\t\t\t\tNMHDR|\n\t\t\t\t\tNM_LISTVIEW|\n\t\t\t\t\tNM_TREEVIEW|\n\t\t\t\t\tNM_UPDOWNW|\n\t\t\t\t\tNONCLIENTMETRICS|\n\t\t\t\t\tNS_SERVICE_INFO|\n\t\t\t\t\tNUMBERFMT|\n\t\t\t\t\tOFNOTIFY|\n\t\t\t\t\tOFSTRUCT|\n\t\t\t\t\tOPENFILENAME|\n\t\t\t\t\tOPENFILENAMEA|\n\t\t\t\t\tOPENFILENAMEW|\n\t\t\t\t\tOSVERSIONINFO|\n\t\t\t\t\tOUTLINETEXTMETRIC|\n\t\t\t\t\tOUTPUT_DEBUG_STRING_INFO|\n\t\t\t\t\tOVERLAPPED|\n\t\t\t\t\tOffsetTypeInfo|\n\t\t\t\t\tPAINTSTRUCT|\n\t\t\t\t\tPALETTEENTRY|\n\t\t\t\t\tPANOSE|\n\t\t\t\t\tPARAFORMAT|\n\t\t\t\t\tPARTITION_INFORMATION|\n\t\t\t\t\tPERF_COUNTER_BLOCK|\n\t\t\t\t\tPERF_COUNTER_DEFINITION|\n\t\t\t\t\tPERF_DATA_BLOCK|\n\t\t\t\t\tPERF_INSTANCE_DEFINITION|\n\t\t\t\t\tPERF_OBJECT_TYPE|\n\t\t\t\t\tPIXELFORMATDESCRIPTOR|\n\t\t\t\t\tPOINT|\n\t\t\t\t\tPOINTFLOAT|\n\t\t\t\t\tPOINTFX|\n\t\t\t\t\tPOINTL|\n\t\t\t\t\tPOINTS|\n\t\t\t\t\tPOLYTEXT|\n\t\t\t\t\tPORT_INFO_1|\n\t\t\t\t\tPORT_INFO_2|\n\t\t\t\t\tPREVENT_MEDIA_REMOVAL|\n\t\t\t\t\tPRINTER_DEFAULTS|\n\t\t\t\t\tPRINTER_INFO_1|\n\t\t\t\t\tPRINTER_INFO_2|\n\t\t\t\t\tPRINTER_INFO_3|\n\t\t\t\t\tPRINTER_INFO_4|\n\t\t\t\t\tPRINTER_INFO_5|\n\t\t\t\t\tPRINTER_NOTIFY_INFO|\n\t\t\t\t\tPRINTER_NOTIFY_INFO_DATA|\n\t\t\t\t\tPRINTER_NOTIFY_OPTIONS|\n\t\t\t\t\tPRINTER_NOTIFY_OPTIONS_TYPE|\n\t\t\t\t\tPRINTPROCESSOR_INFO_1|\n\t\t\t\t\tPRIVILEGE_SET|\n\t\t\t\t\tPROCESS_HEAPENTRY|\n\t\t\t\t\tPROCESS_INFORMATION|\n\t\t\t\t\tPROPSHEETHEADER|\n\t\t\t\t\tPROPSHEETHEADER_U1|\n\t\t\t\t\tPROPSHEETHEADER_U2|\n\t\t\t\t\tPROPSHEETHEADER_U3|\n\t\t\t\t\tPROPSHEETPAGE|\n\t\t\t\t\tPROPSHEETPAGE_U1|\n\t\t\t\t\tPROPSHEETPAGE_U2|\n\t\t\t\t\tPROTOCOL_INFO|\n\t\t\t\t\tPROVIDOR_INFO_1|\n\t\t\t\t\tPSHNOTIFY|\n\t\t\t\t\tPUNCTUATION|\n\t\t\t\t\tPassByCopy|\n\t\t\t\t\tPassByRef|\n\t\t\t\t\tPhase1Info|\n\t\t\t\t\tPropertyConfigurator|\n\t\t\t\t\tQUERY_SERVICE_CONFIG|\n\t\t\t\t\tQUERY_SERVICE_LOCK_STATUS|\n\t\t\t\t\tRASAMB|\n\t\t\t\t\tRASCONN|\n\t\t\t\t\tRASCONNSTATUS|\n\t\t\t\t\tRASDIALEXTENSIONS|\n\t\t\t\t\tRASDIALPARAMS|\n\t\t\t\t\tRASENTRYNAME|\n\t\t\t\t\tRASPPPIP|\n\t\t\t\t\tRASPPPIPX|\n\t\t\t\t\tRASPPPNBF|\n\t\t\t\t\tRASTERIZER_STATUS|\n\t\t\t\t\tREASSIGN_BLOCKS|\n\t\t\t\t\tRECT|\n\t\t\t\t\tRECTL|\n\t\t\t\t\tREMOTE_NAME_INFO|\n\t\t\t\t\tREPASTESPECIAL|\n\t\t\t\t\tREQRESIZE|\n\t\t\t\t\tRGBQUAD|\n\t\t\t\t\tRGBTRIPLE|\n\t\t\t\t\tRGNDATA|\n\t\t\t\t\tRGNDATAHEADER|\n\t\t\t\t\tRIP_INFO|\n\t\t\t\t\tRuntime|\n\t\t\t\t\tSCROLLINFO|\n\t\t\t\t\tSECURITY_ATTRIBUTES|\n\t\t\t\t\tSECURITY_DESCRIPTOR|\n\t\t\t\t\tSECURITY_QUALITY_OF_SERVICE|\n\t\t\t\t\tSELCHANGE|\n\t\t\t\t\tSERIALKEYS|\n\t\t\t\t\tSERVICE_ADDRESS|\n\t\t\t\t\tSERVICE_ADDRESSES|\n\t\t\t\t\tSERVICE_INFO|\n\t\t\t\t\tSERVICE_STATUS|\n\t\t\t\t\tSERVICE_TABLE_ENTRY|\n\t\t\t\t\tSERVICE_TYPE_INFO_ABS|\n\t\t\t\t\tSERVICE_TYPE_VALUE_ABS|\n\t\t\t\t\tSESSION_BUFFER|\n\t\t\t\t\tSESSION_HEADER|\n\t\t\t\t\tSET_PARTITION_INFORMATION|\n\t\t\t\t\tSHFILEINFO|\n\t\t\t\t\tSHFILEOPSTRUCT|\n\t\t\t\t\tSHITEMID|\n\t\t\t\t\tSHNAMEMAPPING|\n\t\t\t\t\tSID|\n\t\t\t\t\tSID_AND_ATTRIBUTES|\n\t\t\t\t\tSID_IDENTIFIER_AUTHORITY|\n\t\t\t\t\tSINGLE_LIST_ENTRY|\n\t\t\t\t\tSIZE|\n\t\t\t\t\tSMALL_RECT|\n\t\t\t\t\tSOUNDSENTRY|\n\t\t\t\t\tSTARTUPINFO|\n\t\t\t\t\tSTICKYKEYS|\n\t\t\t\t\tSTRRET|\n\t\t\t\t\tSTYLEBUF|\n\t\t\t\t\tSTYLESTRUCT|\n\t\t\t\t\tSYSTEMTIME|\n\t\t\t\t\tSYSTEM_AUDIT_ACE|\n\t\t\t\t\tSYSTEM_INFO|\n\t\t\t\t\tSYSTEM_INFO_U|\n\t\t\t\t\tSYSTEM_POWER_STATUS|\n\t\t\t\t\tSignal|\n\t\t\t\t\tSjLj_Function_Context|\n\t\t\t\t\tSpecialCaseData|\n\t\t\t\t\tTAPE_ERASE|\n\t\t\t\t\tTAPE_GET_DRIVE_PARAMETERS|\n\t\t\t\t\tTAPE_GET_MEDIA_PARAMETERS|\n\t\t\t\t\tTAPE_GET_POSITION|\n\t\t\t\t\tTAPE_PREPARE|\n\t\t\t\t\tTAPE_SET_DRIVE_PARAMETERS|\n\t\t\t\t\tTAPE_SET_MEDIA_PARAMETERS|\n\t\t\t\t\tTAPE_SET_POSITION|\n\t\t\t\t\tTAPE_WRITE_MARKS|\n\t\t\t\t\tTBADDBITMAP|\n\t\t\t\t\tTBBUTTON|\n\t\t\t\t\tTBNOTIFY|\n\t\t\t\t\tTBSAVEPARAMS|\n\t\t\t\t\tTCHOOSECOLOR|\n\t\t\t\t\tTCHOOSEFONT|\n\t\t\t\t\tTC_HITTESTINFO|\n\t\t\t\t\tTC_ITEM|\n\t\t\t\t\tTC_ITEMHEADER|\n\t\t\t\t\tTC_KEYDOWN|\n\t\t\t\t\tTEXTMETRIC|\n\t\t\t\t\tTEXTMETRICA|\n\t\t\t\t\tTEXTRANGE|\n\t\t\t\t\tTFINDTEXT|\n\t\t\t\t\tTIME_ZONE_INFORMATION|\n\t\t\t\t\tTOGGLEKEYS|\n\t\t\t\t\tTOKEN_CONTROL|\n\t\t\t\t\tTOKEN_DEFAULT_DACL|\n\t\t\t\t\tTOKEN_GROUPS|\n\t\t\t\t\tTOKEN_OWNER|\n\t\t\t\t\tTOKEN_PRIMARY_GROUP|\n\t\t\t\t\tTOKEN_PRIVILEGES|\n\t\t\t\t\tTOKEN_SOURCE|\n\t\t\t\t\tTOKEN_STATISTICS|\n\t\t\t\t\tTOKEN_USER|\n\t\t\t\t\tTOOLINFO|\n\t\t\t\t\tTOOLTIPTEXT|\n\t\t\t\t\tTPAGESETUPDLG|\n\t\t\t\t\tTPMPARAMS|\n\t\t\t\t\tTRANSMIT_FILE_BUFFERS|\n\t\t\t\t\tTREEITEM|\n\t\t\t\t\tTSMALLPOINT|\n\t\t\t\t\tTTHITTESTINFO|\n\t\t\t\t\tTTPOLYCURVE|\n\t\t\t\t\tTTPOLYGONHEADER|\n\t\t\t\t\tTVARIANT|\n\t\t\t\t\tTV_DISPINFO|\n\t\t\t\t\tTV_HITTESTINFO|\n\t\t\t\t\tTV_INSERTSTRUCT|\n\t\t\t\t\tTV_ITEM|\n\t\t\t\t\tTV_KEYDOWN|\n\t\t\t\t\tTV_SORTCB|\n\t\t\t\t\tTime|\n\t\t\t\t\tTimeOfDay|\n\t\t\t\t\tTimeSpan|\n\t\t\t\t\tTuple|\n\t\t\t\t\tUDACCEL|\n\t\t\t\t\tULARGE_INTEGER|\n\t\t\t\t\tUNIVERSAL_NAME_INFO|\n\t\t\t\t\tUNLOAD_DLL_DEBUG_INFO|\n\t\t\t\t\tUSEROBJECTFLAGS|\n\t\t\t\t\tUSER_INFO_0|\n\t\t\t\t\tUSER_INFO_2|\n\t\t\t\t\tUSER_INFO_3|\n\t\t\t\t\tUnicodeData|\n\t\t\t\t\tVALENT|\n\t\t\t\t\tVA_LIST|\n\t\t\t\t\tVERIFY_INFORMATION|\n\t\t\t\t\tVS_FIXEDFILEINFO|\n\t\t\t\t\tVariant|\n\t\t\t\t\tVfsFilterInfo|\n\t\t\t\t\tWIN32_FILE_ATTRIBUTE_DATA|\n\t\t\t\t\tWIN32_FIND_DATA|\n\t\t\t\t\tWIN32_FIND_DATAW|\n\t\t\t\t\tWIN32_STREAM_ID|\n\t\t\t\t\tWINDOWINFO|\n\t\t\t\t\tWINDOWPLACEMENT|\n\t\t\t\t\tWINDOWPOS|\n\t\t\t\t\tWINDOW_BUFFER_SIZE_RECORD|\n\t\t\t\t\tWNDCLASS|\n\t\t\t\t\tWNDCLASSA|\n\t\t\t\t\tWNDCLASSEX|\n\t\t\t\t\tWNDCLASSEXA|\n\t\t\t\t\tWSADATA|\n\t\t\t\t\tWallClock|\n\t\t\t\t\tXFORM|\n\t\t\t\t\tZipEntryInfo\n\t\t\t\t)\\b",
696
+ "name": "support.type.built-ins.structs.d"
697
+ },
698
+ "support-type-built-ins-templates-d": {
699
+ "match": "\\b(AssociativeArray|RTInfo)\\b",
700
+ "name": "support.type.built-ins.templates.d"
701
+ },
702
+ "support-type-d": {
703
+ "match": "\\b((?:core|std)\\.[\\w\\.]+)\\b",
704
+ "name": "support.type.d"
705
+ },
706
+ "template-constraint-d": {
707
+ "patterns": [
708
+ {
709
+ "captures": {
710
+ "1": {
711
+ "patterns": [
712
+ {
713
+ "include": "$base"
714
+ }
715
+ ]
716
+ }
717
+ },
718
+ "match": "\\s*(if\\s*\\(\\s*([^\\)]+)\\s*\\)|)",
719
+ "name": "meta.definition.template-constraint.d"
720
+ }
721
+ ]
722
+ }
723
+ },
724
+ "scopeName": "source.d",
725
+ "uuid": "D7C3A109-0466-4C28-9ECF-10753300FF46"
726
+ }