github-linguist-grammars 4.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (335) hide show
  1. checksums.yaml +7 -0
  2. data/grammars/file.lasso.json +713 -0
  3. data/grammars/module.ceylon.json +54 -0
  4. data/grammars/objdump.x86asm.json +73 -0
  5. data/grammars/source.Inform7.json +45 -0
  6. data/grammars/source.Kotlin.json +774 -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 +963 -0
  28. data/grammars/source.ats.json +170 -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.clips.json +80 -0
  56. data/grammars/source.clojure.json +397 -0
  57. data/grammars/source.cm.json +54 -0
  58. data/grammars/source.cmake.json +181 -0
  59. data/grammars/source.cobol.json +528 -0
  60. data/grammars/source.coffee.json +678 -0
  61. data/grammars/source.compiled-papyrus.json +11 -0
  62. data/grammars/source.cool.json +103 -0
  63. data/grammars/source.coq.json +62 -0
  64. data/grammars/source.crystal.json +2760 -0
  65. data/grammars/source.cs.json +556 -0
  66. data/grammars/source.css.json +630 -0
  67. data/grammars/source.css.less.json +276 -0
  68. data/grammars/source.css.mss.json +256 -0
  69. data/grammars/source.csx.json +16 -0
  70. data/grammars/source.cuda-c++.json +137 -0
  71. data/grammars/source.cython.json +2108 -0
  72. data/grammars/source.d.json +722 -0
  73. data/grammars/source.dart.json +763 -0
  74. data/grammars/source.desktop.json +90 -0
  75. data/grammars/source.diff.json +162 -0
  76. data/grammars/source.dockerfile.json +89 -0
  77. data/grammars/source.dosbatch.json +70 -0
  78. data/grammars/source.dot.json +126 -0
  79. data/grammars/source.dylan.json +217 -0
  80. data/grammars/source.eiffel.json +138 -0
  81. data/grammars/source.elixir.json +737 -0
  82. data/grammars/source.elm.json +355 -0
  83. data/grammars/source.erazor.json +126 -0
  84. data/grammars/source.erlang.json +1674 -0
  85. data/grammars/source.essl.json +50 -0
  86. data/grammars/source.factor.json +260 -0
  87. data/grammars/source.fan.json +188 -0
  88. data/grammars/source.fancy.json +270 -0
  89. data/grammars/source.fish.json +214 -0
  90. data/grammars/source.forth.json +101 -0
  91. data/grammars/source.fortran.json +499 -0
  92. data/grammars/source.fortran.modern.json +226 -0
  93. data/grammars/source.fsharp.json +403 -0
  94. data/grammars/source.gap.json +167 -0
  95. data/grammars/source.gcode.json +25 -0
  96. data/grammars/source.gdscript.json +154 -0
  97. data/grammars/source.gfm.json +1270 -0
  98. data/grammars/source.glsl.json +71 -0
  99. data/grammars/source.gnuplot.json +276 -0
  100. data/grammars/source.go.json +552 -0
  101. data/grammars/source.golo.json +182 -0
  102. data/grammars/source.gosu.2.json +163 -0
  103. data/grammars/source.grace.json +679 -0
  104. data/grammars/source.groovy.gradle.json +73 -0
  105. data/grammars/source.groovy.json +1385 -0
  106. data/grammars/source.harbour.json +450 -0
  107. data/grammars/source.haskell.json +449 -0
  108. data/grammars/source.haxe.2.json +1243 -0
  109. data/grammars/source.hss.1.json +464 -0
  110. data/grammars/source.httpspec.json +287 -0
  111. data/grammars/source.hxml.json +26 -0
  112. data/grammars/source.hy.json +270 -0
  113. data/grammars/source.idl-dlm.json +112 -0
  114. data/grammars/source.idl.json +267 -0
  115. data/grammars/source.idris.json +537 -0
  116. data/grammars/source.ini.json +113 -0
  117. data/grammars/source.inno.json +65 -0
  118. data/grammars/source.io.json +164 -0
  119. data/grammars/source.ioke.json +272 -0
  120. data/grammars/source.isabelle.root.json +68 -0
  121. data/grammars/source.isabelle.theory.json +106 -0
  122. data/grammars/source.j.json +49 -0
  123. data/grammars/source.jade.json +1009 -0
  124. data/grammars/source.jasmin.json +299 -0
  125. data/grammars/source.java-properties.json +97 -0
  126. data/grammars/source.java.json +1026 -0
  127. data/grammars/source.jcl.json +49 -0
  128. data/grammars/source.jflex.json +490 -0
  129. data/grammars/source.jq.json +218 -0
  130. data/grammars/source.js.json +948 -0
  131. data/grammars/source.js.jsx.json +2937 -0
  132. data/grammars/source.js.objj.json +424 -0
  133. data/grammars/source.js.regexp.json +150 -0
  134. data/grammars/source.js.regexp.replacement.json +30 -0
  135. data/grammars/source.json.json +149 -0
  136. data/grammars/source.julia.json +407 -0
  137. data/grammars/source.lean.json +145 -0
  138. data/grammars/source.lid.json +23 -0
  139. data/grammars/source.lilypond.json +623 -0
  140. data/grammars/source.lisp.json +111 -0
  141. data/grammars/source.litcoffee.json +669 -0
  142. data/grammars/source.livescript.json +616 -0
  143. data/grammars/source.llvm.json +71 -0
  144. data/grammars/source.logos.json +31 -0
  145. data/grammars/source.logtalk.json +315 -0
  146. data/grammars/source.loomscript.json +214 -0
  147. data/grammars/source.lsl.json +216 -0
  148. data/grammars/source.lua.json +191 -0
  149. data/grammars/source.makefile.json +474 -0
  150. data/grammars/source.makegen.json +13 -0
  151. data/grammars/source.man.json +53 -0
  152. data/grammars/source.mask.json +701 -0
  153. data/grammars/source.mata.json +133 -0
  154. data/grammars/source.mathematica.json +429 -0
  155. data/grammars/source.matlab.json +776 -0
  156. data/grammars/source.mercury.json +251 -0
  157. data/grammars/source.ml.json +291 -0
  158. data/grammars/source.modelica.json +142 -0
  159. data/grammars/source.modula2.json +103 -0
  160. data/grammars/source.monkey.json +701 -0
  161. data/grammars/source.moonscript.json +149 -0
  162. data/grammars/source.mupad.json +149 -0
  163. data/grammars/source.nant-build.json +86 -0
  164. data/grammars/source.ncl.json +66 -0
  165. data/grammars/source.nemerle.json +137 -0
  166. data/grammars/source.nesc.json +27 -0
  167. data/grammars/source.netlinx.erb.json +47 -0
  168. data/grammars/source.netlinx.json +768 -0
  169. data/grammars/source.nginx.json +797 -0
  170. data/grammars/source.nim.json +1150 -0
  171. data/grammars/source.nim_filter.json +133 -0
  172. data/grammars/source.nimcfg.json +116 -0
  173. data/grammars/source.ninja.json +66 -0
  174. data/grammars/source.nit.json +238 -0
  175. data/grammars/source.nix.json +1200 -0
  176. data/grammars/source.nmml.json +87 -0
  177. data/grammars/source.nsis.json +150 -0
  178. data/grammars/source.objc++.json +19 -0
  179. data/grammars/source.objc.json +918 -0
  180. data/grammars/source.objc.platform.json +277 -0
  181. data/grammars/source.ocaml.json +1426 -0
  182. data/grammars/source.ocamllex.json +305 -0
  183. data/grammars/source.ocamlyacc.json +346 -0
  184. data/grammars/source.octave.json +451 -0
  185. data/grammars/source.ooc.json +692 -0
  186. data/grammars/source.opa.json +206 -0
  187. data/grammars/source.opal.json +415 -0
  188. data/grammars/source.opalsysdefs.json +70 -0
  189. data/grammars/source.opencobol.json +65 -0
  190. data/grammars/source.ox.json +97 -0
  191. data/grammars/source.oz.json +84 -0
  192. data/grammars/source.papyrus-assembly.json +266 -0
  193. data/grammars/source.papyrus.json +231 -0
  194. data/grammars/source.parrot.pir.json +117 -0
  195. data/grammars/source.pascal.json +150 -0
  196. data/grammars/source.perl.6.json +310 -0
  197. data/grammars/source.perl.json +2413 -0
  198. data/grammars/source.php.zephir.json +362 -0
  199. data/grammars/source.pig_latin.json +172 -0
  200. data/grammars/source.pike.json +62 -0
  201. data/grammars/source.plsql.oracle.json +642 -0
  202. data/grammars/source.po.json +232 -0
  203. data/grammars/source.pogoscript.json +85 -0
  204. data/grammars/source.postscript.json +231 -0
  205. data/grammars/source.powershell.json +755 -0
  206. data/grammars/source.processing.json +885 -0
  207. data/grammars/source.prolog.eclipse.json +206 -0
  208. data/grammars/source.prolog.json +292 -0
  209. data/grammars/source.protobuf.json +395 -0
  210. data/grammars/source.pubspec.json +13 -0
  211. data/grammars/source.puppet.json +494 -0
  212. data/grammars/source.purescript.json +818 -0
  213. data/grammars/source.pyjade.json +1010 -0
  214. data/grammars/source.python.django.json +34 -0
  215. data/grammars/source.python.json +1960 -0
  216. data/grammars/source.python.salt.json +13 -0
  217. data/grammars/source.qmake.json +217 -0
  218. data/grammars/source.qml.json +195 -0
  219. data/grammars/source.r.json +203 -0
  220. data/grammars/source.racket.json +119 -0
  221. data/grammars/source.rebol.json +647 -0
  222. data/grammars/source.red.json +652 -0
  223. data/grammars/source.regexp.babel.json +190 -0
  224. data/grammars/source.regexp.python.json +187 -0
  225. data/grammars/source.regexp.spin.json +188 -0
  226. data/grammars/source.ruby.json +1956 -0
  227. data/grammars/source.ruby.rspec.cucumber.steps.json +274 -0
  228. data/grammars/source.rust.json +269 -0
  229. data/grammars/source.sas.json +322 -0
  230. data/grammars/source.sas_log.json +26 -0
  231. data/grammars/source.sass.json +248 -0
  232. data/grammars/source.sbt.json +36 -0
  233. data/grammars/source.scad.json +152 -0
  234. data/grammars/source.scala.json +739 -0
  235. data/grammars/source.scaml.json +466 -0
  236. data/grammars/source.scheme.json +370 -0
  237. data/grammars/source.scilab.json +103 -0
  238. data/grammars/source.scss.json +1321 -0
  239. data/grammars/source.shell.json +1212 -0
  240. data/grammars/source.smali.json +1668 -0
  241. data/grammars/source.smalltalk.json +135 -0
  242. data/grammars/source.smt.json +173 -0
  243. data/grammars/source.sp.json +118 -0
  244. data/grammars/source.sparql.json +23 -0
  245. data/grammars/source.spin.json +936 -0
  246. data/grammars/source.sqf.json +112 -0
  247. data/grammars/source.sql.json +473 -0
  248. data/grammars/source.stata.json +208 -0
  249. data/grammars/source.strings.json +53 -0
  250. data/grammars/source.stylus.json +1021 -0
  251. data/grammars/source.swift.json +965 -0
  252. data/grammars/source.systemverilog.json +1050 -0
  253. data/grammars/source.tcl.json +277 -0
  254. data/grammars/source.tea.json +180 -0
  255. data/grammars/source.thrift.json +704 -0
  256. data/grammars/source.toml.json +327 -0
  257. data/grammars/source.ts.json +1094 -0
  258. data/grammars/source.tsx.json +1324 -0
  259. data/grammars/source.turtle.json +505 -0
  260. data/grammars/source.txl.json +62 -0
  261. data/grammars/source.ucfconstraints.json +72 -0
  262. data/grammars/source.vala.json +814 -0
  263. data/grammars/source.varnish.vcl.json +343 -0
  264. data/grammars/source.vbnet.json +338 -0
  265. data/grammars/source.verilog.json +302 -0
  266. data/grammars/source.vhdl.json +1349 -0
  267. data/grammars/source.viml.json +224 -0
  268. data/grammars/source.webidl.json +814 -0
  269. data/grammars/source.x10.json +68 -0
  270. data/grammars/source.x86asm.json +47 -0
  271. data/grammars/source.xc.json +379 -0
  272. data/grammars/source.xq.json +241 -0
  273. data/grammars/source.xquery.json +193 -0
  274. data/grammars/source.xtend.json +733 -0
  275. data/grammars/source.yaml.json +334 -0
  276. data/grammars/source.yaml.salt.json +348 -0
  277. data/grammars/text.bibtex.json +251 -0
  278. data/grammars/text.cfml.basic.json +736 -0
  279. data/grammars/text.dart-analysis-output.json +162 -0
  280. data/grammars/text.dart-doccomments.json +19 -0
  281. data/grammars/text.elixir.json +45 -0
  282. data/grammars/text.gherkin.feature.json +135 -0
  283. data/grammars/text.groff.json +113 -0
  284. data/grammars/text.haml.json +299 -0
  285. data/grammars/text.html.abl.json +24 -0
  286. data/grammars/text.html.asciidoc.json +492 -0
  287. data/grammars/text.html.asdoc.json +541 -0
  288. data/grammars/text.html.asp.json +58 -0
  289. data/grammars/text.html.basic.json +552 -0
  290. data/grammars/text.html.cfm.json +811 -0
  291. data/grammars/text.html.creole.json +329 -0
  292. data/grammars/text.html.django.json +69 -0
  293. data/grammars/text.html.elixir.json +18 -0
  294. data/grammars/text.html.erb.json +157 -0
  295. data/grammars/text.html.erlang.yaws.json +72 -0
  296. data/grammars/text.html.factor.json +27 -0
  297. data/grammars/text.html.handlebars.json +783 -0
  298. data/grammars/text.html.jsp.json +1203 -0
  299. data/grammars/text.html.liquid.json +35 -0
  300. data/grammars/text.html.mako.json +729 -0
  301. data/grammars/text.html.markdown.source.gfm.apib.json +1297 -0
  302. data/grammars/text.html.markdown.source.gfm.mson.json +1165 -0
  303. data/grammars/text.html.mediawiki.json +972 -0
  304. data/grammars/text.html.php.json +2607 -0
  305. data/grammars/text.html.slash.json +313 -0
  306. data/grammars/text.html.smarty.json +216 -0
  307. data/grammars/text.html.ssp.json +49 -0
  308. data/grammars/text.html.tcl.json +44 -0
  309. data/grammars/text.html.twig.json +1353 -0
  310. data/grammars/text.html.vue.json +642 -0
  311. data/grammars/text.idl-idldoc.json +14 -0
  312. data/grammars/text.junit-test-report.json +92 -0
  313. data/grammars/text.log.latex.json +86 -0
  314. data/grammars/text.python.console.json +25 -0
  315. data/grammars/text.python.traceback.json +46 -0
  316. data/grammars/text.rdoc.json +48 -0
  317. data/grammars/text.restructuredtext.json +561 -0
  318. data/grammars/text.robot.json +73 -0
  319. data/grammars/text.shell-session.json +48 -0
  320. data/grammars/text.slim.json +527 -0
  321. data/grammars/text.tex.json +271 -0
  322. data/grammars/text.tex.latex.beamer.json +63 -0
  323. data/grammars/text.tex.latex.haskell.json +56 -0
  324. data/grammars/text.tex.latex.json +1013 -0
  325. data/grammars/text.tex.latex.memoir.json +99 -0
  326. data/grammars/text.tex.latex.rd.json +117 -0
  327. data/grammars/text.xml.ant.json +202 -0
  328. data/grammars/text.xml.flex-config.json +2634 -0
  329. data/grammars/text.xml.genshi.json +34 -0
  330. data/grammars/text.xml.json +364 -0
  331. data/grammars/text.xml.pom.json +774 -0
  332. data/grammars/text.xml.xsl.json +94 -0
  333. data/grammars/text.zone_file.json +72 -0
  334. data/lib/linguist/grammars.rb +13 -0
  335. metadata +389 -0
@@ -0,0 +1,722 @@
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
+ "captures": {
13
+ "0": {
14
+ "name": "punctuation.definition.comment.d"
15
+ }
16
+ },
17
+ "match": "/\\*\\*/",
18
+ "name": "comment.block.empty.d"
19
+ },
20
+ {
21
+ "include": "text.html.javadoc"
22
+ },
23
+ {
24
+ "captures": {
25
+ "2": {
26
+ "name": "keyword.other.debug.d"
27
+ },
28
+ "4": {
29
+ "name": "keyword.other.debug.d"
30
+ },
31
+ "5": {
32
+ "name": "keyword.other.debug.d"
33
+ }
34
+ },
35
+ "match": "\\s*(\\b(deprecated|unittest|debug)\\b|((static)\\s+)?(assert))",
36
+ "name": "meta.other.debug.d"
37
+ },
38
+ {
39
+ "captures": {
40
+ "1": {
41
+ "name": "keyword.control.version.d"
42
+ },
43
+ "2": {
44
+ "name": "keyword.control.version.d"
45
+ },
46
+ "4": {
47
+ "name": "constant.language.version.d"
48
+ },
49
+ "5": {
50
+ "name": "invalid.deprecated.version.d"
51
+ }
52
+ },
53
+ "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*\\)",
54
+ "name": "meta.version.d"
55
+ },
56
+ {
57
+ "captures": {
58
+ "2": {
59
+ "name": "keyword.control.conditional.d"
60
+ },
61
+ "4": {
62
+ "name": "keyword.control.conditional.d"
63
+ },
64
+ "5": {
65
+ "name": "keyword.control.conditional.d"
66
+ }
67
+ },
68
+ "match": "\\s*\\b((else|switch)|((static)\\s+)?(if))\\b",
69
+ "name": "meta.control.conditional.d"
70
+ },
71
+ {
72
+ "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",
73
+ "beginCaptures": {
74
+ "1": {
75
+ "name": "storage.modifier.d"
76
+ },
77
+ "10": {
78
+ "name": "entity.other.inherited-class.d"
79
+ },
80
+ "11": {
81
+ "name": "entity.other.inherited-class.d"
82
+ },
83
+ "12": {
84
+ "name": "entity.other.inherited-class.d"
85
+ },
86
+ "13": {
87
+ "name": "entity.other.inherited-class.d"
88
+ },
89
+ "3": {
90
+ "name": "storage.type.structure.d"
91
+ },
92
+ "4": {
93
+ "name": "entity.name.type.class.d"
94
+ },
95
+ "5": {
96
+ "patterns": [
97
+ {
98
+ "include": "$base"
99
+ }
100
+ ]
101
+ },
102
+ "6": {
103
+ "name": "punctuation.separator.inheritance.d"
104
+ },
105
+ "7": {
106
+ "name": "entity.other.inherited-class.d"
107
+ },
108
+ "8": {
109
+ "name": "entity.other.inherited-class.d"
110
+ },
111
+ "9": {
112
+ "name": "entity.other.inherited-class.d"
113
+ }
114
+ },
115
+ "end": "(?={|;)",
116
+ "name": "meta.definition.class.d",
117
+ "patterns": [
118
+ {
119
+ "begin": "\\b(_|:)\\b",
120
+ "captures": {
121
+ "1": {
122
+ "name": "storage.modifier.d"
123
+ }
124
+ },
125
+ "end": "(?={)",
126
+ "name": "meta.definition.class.extends.d",
127
+ "patterns": [
128
+ {
129
+ "include": "#all-types"
130
+ }
131
+ ]
132
+ },
133
+ {
134
+ "include": "#template-constraint-d"
135
+ }
136
+ ]
137
+ },
138
+ {
139
+ "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",
140
+ "beginCaptures": {
141
+ "1": {
142
+ "name": "storage.modifier.d"
143
+ },
144
+ "3": {
145
+ "name": "storage.type.structure.d"
146
+ },
147
+ "4": {
148
+ "name": "entity.name.type.struct.d"
149
+ },
150
+ "5": {
151
+ "patterns": [
152
+ {
153
+ "include": "$base"
154
+ }
155
+ ]
156
+ }
157
+ },
158
+ "end": "(?={|;)",
159
+ "name": "meta.definition.struct.d",
160
+ "patterns": [
161
+ {
162
+ "begin": "\\b(_|:)\\b",
163
+ "captures": {
164
+ "1": {
165
+ "name": "storage.modifier.d"
166
+ }
167
+ },
168
+ "end": "(?={)",
169
+ "name": "meta.definition.class.extends.d",
170
+ "patterns": [
171
+ {
172
+ "include": "#all-types"
173
+ }
174
+ ]
175
+ },
176
+ {
177
+ "include": "#template-constraint-d"
178
+ }
179
+ ]
180
+ },
181
+ {
182
+ "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(?=\\()",
183
+ "captures": {
184
+ "1": {
185
+ "name": "storage.modifier.d"
186
+ },
187
+ "3": {
188
+ "name": "entity.name.function.constructor.d"
189
+ }
190
+ },
191
+ "end": "(?={|;)",
192
+ "name": "meta.definition.constructor.d",
193
+ "patterns": [
194
+ {
195
+ "include": "$base"
196
+ }
197
+ ]
198
+ },
199
+ {
200
+ "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",
201
+ "captures": {
202
+ "1": {
203
+ "name": "storage.modifier.d"
204
+ },
205
+ "2": {
206
+ "name": "entity.name.function.destructor.d"
207
+ }
208
+ },
209
+ "end": "\\)",
210
+ "endCaptures": {
211
+ "0": {
212
+ "name": "punctuation.definition.parameters.d"
213
+ }
214
+ },
215
+ "name": "meta.definition.destructor.d",
216
+ "patterns": [
217
+ {
218
+ "include": "$base"
219
+ }
220
+ ]
221
+ },
222
+ {
223
+ "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(?=\\()",
224
+ "beginCaptures": {
225
+ "1": {
226
+ "name": "storage.modifier.d"
227
+ },
228
+ "2": {
229
+ "patterns": [
230
+ {
231
+ "include": "$base"
232
+ }
233
+ ]
234
+ },
235
+ "3": {
236
+ "name": "entity.name.function.d"
237
+ }
238
+ },
239
+ "end": "(?={|;)",
240
+ "name": "meta.definition.method.d",
241
+ "patterns": [
242
+ {
243
+ "include": "$base"
244
+ },
245
+ {
246
+ "include": "#block"
247
+ }
248
+ ]
249
+ },
250
+ {
251
+ "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,",
252
+ "beginCaptures": {
253
+ "1": {
254
+ "name": "keyword.other.special.d"
255
+ },
256
+ "2": {
257
+ "name": "constant.language.traits.d"
258
+ }
259
+ },
260
+ "end": "\\);",
261
+ "name": "meta.traits.d",
262
+ "patterns": [
263
+ {
264
+ "include": "$base"
265
+ }
266
+ ]
267
+ },
268
+ {
269
+ "captures": {
270
+ "1": {
271
+ "name": "keyword.other.external.d"
272
+ },
273
+ "5": {
274
+ "name": "constant.language.external.d"
275
+ },
276
+ "7": {
277
+ "name": "constant.language.external.d"
278
+ }
279
+ },
280
+ "match": "(extern)(\\s*\\(\\s*(((C\\+\\+)(\\s*,\\s*[A-Za-z_][A-Za-z0-9._]*)?)|(C|D|Windows|Pascal|System))\\s*\\))?",
281
+ "name": "meta.external.d"
282
+ },
283
+ {
284
+ "match": "\\b([A-Z][A-Z0-9_]+)\\b",
285
+ "name": "constant.other.d"
286
+ },
287
+ {
288
+ "include": "#comments"
289
+ },
290
+ {
291
+ "include": "#all-types"
292
+ },
293
+ {
294
+ "match": "\\b(private|protected|public|export|package)\\b",
295
+ "name": "storage.modifier.access-control.d"
296
+ },
297
+ {
298
+ "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",
299
+ "name": "storage.modifier.d"
300
+ },
301
+ {
302
+ "match": "\\b(template|interface|class|enum|struct|union)\\b",
303
+ "name": "storage.type.structure.d"
304
+ },
305
+ {
306
+ "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",
307
+ "name": "storage.type.d"
308
+ },
309
+ {
310
+ "match": "\\b(try|catch|finally|throw)\\b",
311
+ "name": "keyword.control.exception.d"
312
+ },
313
+ {
314
+ "match": "\\b(return|break|case|continue|default|do|while|for|switch|if|else)\\b",
315
+ "name": "keyword.control.d"
316
+ },
317
+ {
318
+ "match": "\\b(goto|break|continue)\\b",
319
+ "name": "keyword.control.branch.d"
320
+ },
321
+ {
322
+ "match": "\\b(while|for|do|foreach(_reverse)?)\\b",
323
+ "name": "keyword.control.repeat.d"
324
+ },
325
+ {
326
+ "match": "\\b(return|with|invariant|body|scope|asm|mixin|function|delegate)\\b",
327
+ "name": "keyword.control.statement.d"
328
+ },
329
+ {
330
+ "match": "\\b(pragma)\\b",
331
+ "name": "keyword.control.pragma.d"
332
+ },
333
+ {
334
+ "match": "\\b(alias|typedef)\\b",
335
+ "name": "keyword.control.alias.d"
336
+ },
337
+ {
338
+ "match": "\\b(import)\\b",
339
+ "name": "keyword.control.import.d"
340
+ },
341
+ {
342
+ "captures": {
343
+ "1": {
344
+ "name": "keyword.control.module.d"
345
+ },
346
+ "2": {
347
+ "name": "entity.name.function.package.d"
348
+ }
349
+ },
350
+ "match": "^\\s*(module)\\s+([^ ;]+?);",
351
+ "name": "meta.module.d"
352
+ },
353
+ {
354
+ "match": "\\b(true|false)\\b",
355
+ "name": "constant.language.boolean.d"
356
+ },
357
+ {
358
+ "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",
359
+ "name": "constant.language.d"
360
+ },
361
+ {
362
+ "match": "\\b(this|super)\\b",
363
+ "name": "variable.language.d"
364
+ },
365
+ {
366
+ "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\\b",
367
+ "name": "constant.numeric.d"
368
+ },
369
+ {
370
+ "include": "#string_escaped_char"
371
+ },
372
+ {
373
+ "include": "#strings"
374
+ },
375
+ {
376
+ "match": "(==|!=|<=|>=|<>|<|>)",
377
+ "name": "keyword.operator.comparison.d"
378
+ },
379
+ {
380
+ "match": "(\\-\\-|\\+\\+)",
381
+ "name": "keyword.operator.increment-decrement.d"
382
+ },
383
+ {
384
+ "match": "(\\-|\\+|\\*|\\/|~|%|\\^|\\^\\^)=?",
385
+ "name": "keyword.operator.arithmetic.d"
386
+ },
387
+ {
388
+ "match": "(\\.\\.)",
389
+ "name": "keyword.operator.slice.d"
390
+ },
391
+ {
392
+ "match": "(!|&&|\\|\\|)",
393
+ "name": "keyword.operator.logical.d"
394
+ },
395
+ {
396
+ "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",
397
+ "name": "keyword.operator.overload.d"
398
+ },
399
+ {
400
+ "match": "\\b(new|delete|typeof|typeid|cast|align|is)\\b",
401
+ "name": "keyword.operator.d"
402
+ },
403
+ {
404
+ "match": "\\b(new)\\b",
405
+ "name": "keyword.other.class-fns.d"
406
+ },
407
+ {
408
+ "match": "\\b(__parameters)\\b|(#)line\\b",
409
+ "name": "keyword.other.special.d"
410
+ },
411
+ {
412
+ "match": "\\b(macro)\\b",
413
+ "name": "keyword.other.reserved.d"
414
+ },
415
+ {
416
+ "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",
417
+ "name": "support.type.sys-types.c"
418
+ },
419
+ {
420
+ "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",
421
+ "name": "support.type.pthread.c"
422
+ },
423
+ {
424
+ "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",
425
+ "name": "support.type.stdint.c"
426
+ },
427
+ {
428
+ "include": "#block"
429
+ }
430
+ ],
431
+ "repository": {
432
+ "all-types": {
433
+ "patterns": [
434
+ {
435
+ "include": "#support-type-built-ins-d"
436
+ },
437
+ {
438
+ "include": "#support-type-d"
439
+ },
440
+ {
441
+ "include": "#storage-type-d"
442
+ }
443
+ ]
444
+ },
445
+ "block": {
446
+ "patterns": [
447
+ {
448
+ "begin": "\\{",
449
+ "beginCaptures": {
450
+ "0": {
451
+ "name": "punctuation.section.block.begin.d"
452
+ }
453
+ },
454
+ "end": "\\}",
455
+ "endCaptures": {
456
+ "0": {
457
+ "name": "punctuation.section.block.end.d"
458
+ }
459
+ },
460
+ "name": "meta.block.d",
461
+ "patterns": [
462
+ {
463
+ "include": "$base"
464
+ }
465
+ ]
466
+ }
467
+ ]
468
+ },
469
+ "comments": {
470
+ "patterns": [
471
+ {
472
+ "begin": "/\\*",
473
+ "captures": {
474
+ "0": {
475
+ "name": "punctuation.definition.comment.d"
476
+ }
477
+ },
478
+ "end": "\\*/",
479
+ "name": "comment.block.d"
480
+ },
481
+ {
482
+ "begin": "/\\+",
483
+ "captures": {
484
+ "0": {
485
+ "name": "punctuation.definition.comment.d"
486
+ }
487
+ },
488
+ "end": "\\+/",
489
+ "name": "comment.block.nested.d"
490
+ },
491
+ {
492
+ "begin": "(^[ \\t]+)?(?=//)",
493
+ "beginCaptures": {
494
+ "1": {
495
+ "name": "punctuation.whitespace.comment.leading.d"
496
+ }
497
+ },
498
+ "end": "(?!\\G)",
499
+ "patterns": [
500
+ {
501
+ "begin": "//",
502
+ "beginCaptures": {
503
+ "0": {
504
+ "name": "punctuation.definition.comment.d"
505
+ }
506
+ },
507
+ "end": "\\n",
508
+ "name": "comment.line.double-slash.d"
509
+ }
510
+ ]
511
+ }
512
+ ]
513
+ },
514
+ "constant_placeholder": {
515
+ "match": "(?i:%(\\([a-z_]+\\))?#?0?\\-?[ ]?\\+?([0-9]*|\\*)(\\.([0-9]*|\\*))?[hL]?[a-z%])",
516
+ "name": "constant.other.placeholder.d"
517
+ },
518
+ "regular_expressions": {
519
+ "comment": "Change disabled to 1 to turn off syntax highlighting in “r” strings.",
520
+ "disabled": 1,
521
+ "patterns": [
522
+ {
523
+ "include": "source.regexp.python"
524
+ }
525
+ ]
526
+ },
527
+ "statement-remainder": {
528
+ "patterns": [
529
+ {
530
+ "begin": "\\(",
531
+ "end": "(?=\\))",
532
+ "name": "meta.definition.param-list.d",
533
+ "patterns": [
534
+ {
535
+ "include": "#all-types"
536
+ }
537
+ ]
538
+ }
539
+ ]
540
+ },
541
+ "storage-type-d": {
542
+ "match": "\\b(void|byte|short|char|int|long|float|double)\\b",
543
+ "name": "storage.type.d"
544
+ },
545
+ "string_escaped_char": {
546
+ "patterns": [
547
+ {
548
+ "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+;)",
549
+ "name": "constant.character.escape.d"
550
+ },
551
+ {
552
+ "match": "\\\\.",
553
+ "name": "invalid.illegal.unknown-escape.d"
554
+ }
555
+ ]
556
+ },
557
+ "strings": {
558
+ "patterns": [
559
+ {
560
+ "begin": "\"",
561
+ "beginCaptures": {
562
+ "0": {
563
+ "name": "punctuation.definition.string.begin.d"
564
+ }
565
+ },
566
+ "end": "\"",
567
+ "endCaptures": {
568
+ "0": {
569
+ "name": "punctuation.definition.string.end.d"
570
+ }
571
+ },
572
+ "name": "string.quoted.double.d",
573
+ "patterns": [
574
+ {
575
+ "include": "#string_escaped_char"
576
+ }
577
+ ]
578
+ },
579
+ {
580
+ "begin": "(r)(\")",
581
+ "beginCaptures": {
582
+ "1": {
583
+ "name": "storage.type.string.d"
584
+ },
585
+ "2": {
586
+ "name": "punctuation.definition.string.begin.d"
587
+ }
588
+ },
589
+ "end": "((?<=\")(\")|\")",
590
+ "endCaptures": {
591
+ "1": {
592
+ "name": "punctuation.definition.string.end.d"
593
+ },
594
+ "2": {
595
+ "name": "meta.empty-string.double.d"
596
+ }
597
+ },
598
+ "name": "string.quoted.double.raw.d",
599
+ "patterns": [
600
+ {
601
+ "include": "#regular_expressions"
602
+ }
603
+ ]
604
+ },
605
+ {
606
+ "begin": "`",
607
+ "beginCaptures": {
608
+ "0": {
609
+ "name": "punctuation.definition.string.begin.d"
610
+ }
611
+ },
612
+ "end": "((?<=`)(`)|`)",
613
+ "endCaptures": {
614
+ "1": {
615
+ "name": "punctuation.definition.string.end.d"
616
+ },
617
+ "2": {
618
+ "name": "meta.empty-string.double.d"
619
+ }
620
+ },
621
+ "name": "string.quoted.double.raw.backtick.d"
622
+ },
623
+ {
624
+ "begin": "'",
625
+ "beginCaptures": {
626
+ "0": {
627
+ "name": "punctuation.definition.string.begin.d"
628
+ }
629
+ },
630
+ "end": "'",
631
+ "endCaptures": {
632
+ "0": {
633
+ "name": "punctuation.definition.string.end.d"
634
+ }
635
+ },
636
+ "name": "string.quoted.single.d",
637
+ "patterns": [
638
+ {
639
+ "include": "#string_escaped_char"
640
+ }
641
+ ]
642
+ }
643
+ ]
644
+ },
645
+ "support-type-built-ins-aliases-d": {
646
+ "match": "\\b(dstring|equals_t|hash_t|ptrdiff_t|sizediff_t|size_t|string|wstring)\\b",
647
+ "name": "support.type.built-ins.aliases.d"
648
+ },
649
+ "support-type-built-ins-classes-d": {
650
+ "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",
651
+ "name": "support.type.built-ins.classes.d"
652
+ },
653
+ "support-type-built-ins-d": {
654
+ "patterns": [
655
+ {
656
+ "include": "#support-type-built-ins-exceptions-d"
657
+ },
658
+ {
659
+ "include": "#support-type-built-ins-classes-d"
660
+ },
661
+ {
662
+ "include": "#support-type-built-ins-interfaces-d"
663
+ },
664
+ {
665
+ "include": "#support-type-built-ins-structs-d"
666
+ },
667
+ {
668
+ "include": "#support-type-built-ins-aliases-d"
669
+ },
670
+ {
671
+ "include": "#support-type-built-ins-functions-d"
672
+ },
673
+ {
674
+ "include": "#support-type-built-ins-templates-d"
675
+ }
676
+ ]
677
+ },
678
+ "support-type-built-ins-exceptions-d": {
679
+ "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",
680
+ "name": "support.type.built-ins.exceptions.d"
681
+ },
682
+ "support-type-built-ins-functions-d": {
683
+ "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",
684
+ "name": "support.type.built-ins.functions.d"
685
+ },
686
+ "support-type-built-ins-interfaces-d": {
687
+ "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",
688
+ "name": "support.type.built-ins.interfaces.d"
689
+ },
690
+ "support-type-built-ins-structs-d": {
691
+ "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",
692
+ "name": "support.type.built-ins.structs.d"
693
+ },
694
+ "support-type-built-ins-templates-d": {
695
+ "match": "\\b(AssociativeArray|RTInfo)\\b",
696
+ "name": "support.type.built-ins.templates.d"
697
+ },
698
+ "support-type-d": {
699
+ "match": "\\b((?:core|std)\\.[\\w\\.]+)\\b",
700
+ "name": "support.type.d"
701
+ },
702
+ "template-constraint-d": {
703
+ "patterns": [
704
+ {
705
+ "captures": {
706
+ "1": {
707
+ "patterns": [
708
+ {
709
+ "include": "$base"
710
+ }
711
+ ]
712
+ }
713
+ },
714
+ "match": "\\s*(if\\s*\\(\\s*([^\\)]+)\\s*\\)|)",
715
+ "name": "meta.definition.template-constraint.d"
716
+ }
717
+ ]
718
+ }
719
+ },
720
+ "scopeName": "source.d",
721
+ "uuid": "D7C3A109-0466-4C28-9ECF-10753300FF46"
722
+ }