@shikijs/langs-precompiled 3.2.1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-html.mjs +1 -1
  6. package/dist/angular-inline-style.mjs +1 -1
  7. package/dist/angular-inline-template.mjs +1 -1
  8. package/dist/angular-let-declaration.mjs +1 -1
  9. package/dist/angular-template-blocks.mjs +1 -1
  10. package/dist/angular-ts.mjs +1 -1
  11. package/dist/apache.mjs +1 -1
  12. package/dist/apex.mjs +1 -1
  13. package/dist/apl.mjs +1 -1
  14. package/dist/applescript.mjs +1 -1
  15. package/dist/ara.mjs +1 -1
  16. package/dist/asciidoc.mjs +1 -1
  17. package/dist/asm.mjs +1 -1
  18. package/dist/astro.mjs +1 -1
  19. package/dist/awk.mjs +1 -1
  20. package/dist/ballerina.mjs +1 -1
  21. package/dist/bat.mjs +1 -1
  22. package/dist/beancount.mjs +1 -1
  23. package/dist/berry.mjs +1 -1
  24. package/dist/bibtex.mjs +1 -1
  25. package/dist/bicep.mjs +1 -1
  26. package/dist/blade.mjs +1 -1
  27. package/dist/bsl.mjs +1 -1
  28. package/dist/c.mjs +1 -1
  29. package/dist/cadence.mjs +1 -1
  30. package/dist/cairo.mjs +1 -1
  31. package/dist/clarity.mjs +1 -1
  32. package/dist/clojure.mjs +1 -1
  33. package/dist/cobol.mjs +1 -1
  34. package/dist/codeql.mjs +1 -1
  35. package/dist/coffee.mjs +1 -1
  36. package/dist/common-lisp.mjs +1 -1
  37. package/dist/coq.mjs +1 -1
  38. package/dist/cpp-macro.mjs +1 -1
  39. package/dist/cpp.mjs +1 -1
  40. package/dist/crystal.mjs +1 -1
  41. package/dist/csharp.mjs +1 -1
  42. package/dist/css.mjs +1 -1
  43. package/dist/cue.mjs +1 -1
  44. package/dist/cypher.mjs +1 -1
  45. package/dist/d.mjs +1 -1
  46. package/dist/dart.mjs +1 -1
  47. package/dist/dax.mjs +1 -1
  48. package/dist/desktop.mjs +1 -1
  49. package/dist/diff.mjs +1 -1
  50. package/dist/dotenv.mjs +1 -1
  51. package/dist/dream-maker.mjs +1 -1
  52. package/dist/edge.mjs +1 -1
  53. package/dist/elixir.mjs +1 -1
  54. package/dist/elm.mjs +1 -1
  55. package/dist/emacs-lisp.mjs +1 -1
  56. package/dist/erb.mjs +1 -1
  57. package/dist/erlang.mjs +1 -1
  58. package/dist/es-tag-css.mjs +1 -1
  59. package/dist/es-tag-glsl.mjs +1 -1
  60. package/dist/es-tag-html.mjs +1 -1
  61. package/dist/es-tag-sql.mjs +1 -1
  62. package/dist/es-tag-xml.mjs +1 -1
  63. package/dist/fennel.mjs +1 -1
  64. package/dist/fish.mjs +1 -1
  65. package/dist/fluent.mjs +1 -1
  66. package/dist/fortran-fixed-form.mjs +1 -1
  67. package/dist/fortran-free-form.mjs +1 -1
  68. package/dist/fsharp.mjs +1 -1
  69. package/dist/gdresource.mjs +1 -1
  70. package/dist/gdscript.mjs +1 -1
  71. package/dist/gdshader.mjs +1 -1
  72. package/dist/genie.mjs +1 -1
  73. package/dist/gherkin.mjs +1 -1
  74. package/dist/gleam.mjs +1 -1
  75. package/dist/glimmer-js.mjs +1 -1
  76. package/dist/glimmer-ts.mjs +1 -1
  77. package/dist/glsl.mjs +1 -1
  78. package/dist/gnuplot.mjs +1 -1
  79. package/dist/go.mjs +1 -1
  80. package/dist/graphql.mjs +1 -1
  81. package/dist/groovy.mjs +1 -1
  82. package/dist/hack.mjs +1 -1
  83. package/dist/haml.mjs +1 -1
  84. package/dist/handlebars.mjs +1 -1
  85. package/dist/haskell.mjs +1 -1
  86. package/dist/haxe.mjs +1 -1
  87. package/dist/hcl.mjs +1 -1
  88. package/dist/hjson.mjs +1 -1
  89. package/dist/hlsl.mjs +1 -1
  90. package/dist/html-derivative.mjs +1 -1
  91. package/dist/html.mjs +1 -1
  92. package/dist/http.mjs +1 -1
  93. package/dist/hxml.mjs +1 -1
  94. package/dist/hy.mjs +1 -1
  95. package/dist/imba.mjs +1 -1
  96. package/dist/ini.mjs +1 -1
  97. package/dist/java.mjs +1 -1
  98. package/dist/javascript.mjs +1 -1
  99. package/dist/jinja.mjs +1 -1
  100. package/dist/jison.mjs +1 -1
  101. package/dist/json.mjs +1 -1
  102. package/dist/json5.mjs +1 -1
  103. package/dist/jsonc.mjs +1 -1
  104. package/dist/jsonl.mjs +1 -1
  105. package/dist/jsonnet.mjs +1 -1
  106. package/dist/jssm.mjs +1 -1
  107. package/dist/jsx.mjs +1 -1
  108. package/dist/julia.mjs +1 -1
  109. package/dist/kotlin.mjs +1 -1
  110. package/dist/kusto.mjs +1 -1
  111. package/dist/latex.mjs +1 -1
  112. package/dist/lean.mjs +1 -1
  113. package/dist/less.mjs +1 -1
  114. package/dist/liquid.mjs +1 -1
  115. package/dist/llvm.mjs +1 -1
  116. package/dist/log.mjs +1 -1
  117. package/dist/logo.mjs +1 -1
  118. package/dist/lua.mjs +1 -1
  119. package/dist/luau.mjs +1 -1
  120. package/dist/make.mjs +1 -1
  121. package/dist/markdown-vue.mjs +1 -1
  122. package/dist/markdown.mjs +1 -1
  123. package/dist/marko.mjs +1 -1
  124. package/dist/matlab.mjs +1 -1
  125. package/dist/mdc.mjs +1 -1
  126. package/dist/mdx.mjs +1 -1
  127. package/dist/mermaid.mjs +1 -1
  128. package/dist/mipsasm.mjs +1 -1
  129. package/dist/mojo.mjs +1 -1
  130. package/dist/move.mjs +1 -1
  131. package/dist/narrat.mjs +1 -1
  132. package/dist/nextflow.mjs +1 -1
  133. package/dist/nginx.mjs +1 -1
  134. package/dist/nim.mjs +1 -1
  135. package/dist/nix.mjs +1 -1
  136. package/dist/nushell.mjs +1 -1
  137. package/dist/objective-c.mjs +1 -1
  138. package/dist/objective-cpp.mjs +1 -1
  139. package/dist/ocaml.mjs +1 -1
  140. package/dist/pascal.mjs +1 -1
  141. package/dist/perl.mjs +1 -1
  142. package/dist/php.mjs +1 -1
  143. package/dist/plsql.mjs +1 -1
  144. package/dist/po.mjs +1 -1
  145. package/dist/polar.mjs +1 -1
  146. package/dist/postcss.mjs +1 -1
  147. package/dist/powerquery.mjs +1 -1
  148. package/dist/powershell.mjs +1 -1
  149. package/dist/prisma.mjs +1 -1
  150. package/dist/prolog.mjs +1 -1
  151. package/dist/proto.mjs +1 -1
  152. package/dist/pug.mjs +1 -1
  153. package/dist/puppet.mjs +1 -1
  154. package/dist/purescript.mjs +1 -1
  155. package/dist/python.mjs +1 -1
  156. package/dist/qml.mjs +1 -1
  157. package/dist/qss.mjs +1 -1
  158. package/dist/r.mjs +1 -1
  159. package/dist/racket.mjs +1 -1
  160. package/dist/raku.mjs +1 -1
  161. package/dist/razor.mjs +1 -1
  162. package/dist/reg.mjs +1 -1
  163. package/dist/regexp.mjs +1 -1
  164. package/dist/rel.mjs +1 -1
  165. package/dist/riscv.mjs +1 -1
  166. package/dist/rst.mjs +1 -1
  167. package/dist/ruby.mjs +1 -1
  168. package/dist/rust.mjs +1 -1
  169. package/dist/sas.mjs +1 -1
  170. package/dist/sass.mjs +1 -1
  171. package/dist/scala.mjs +1 -1
  172. package/dist/scheme.mjs +1 -1
  173. package/dist/scss.mjs +1 -1
  174. package/dist/sdbl.mjs +1 -1
  175. package/dist/shaderlab.mjs +1 -1
  176. package/dist/shellscript.mjs +1 -1
  177. package/dist/shellsession.mjs +1 -1
  178. package/dist/smalltalk.mjs +1 -1
  179. package/dist/solidity.mjs +1 -1
  180. package/dist/soy.mjs +1 -1
  181. package/dist/sparql.mjs +1 -1
  182. package/dist/splunk.mjs +1 -1
  183. package/dist/sql.mjs +1 -1
  184. package/dist/ssh-config.mjs +1 -1
  185. package/dist/stata.mjs +1 -1
  186. package/dist/stylus.mjs +1 -1
  187. package/dist/svelte.mjs +1 -1
  188. package/dist/system-verilog.mjs +1 -1
  189. package/dist/systemd.mjs +1 -1
  190. package/dist/talonscript.mjs +1 -1
  191. package/dist/tasl.mjs +1 -1
  192. package/dist/tcl.mjs +1 -1
  193. package/dist/templ.mjs +1 -1
  194. package/dist/terraform.mjs +1 -1
  195. package/dist/tex.mjs +1 -1
  196. package/dist/toml.mjs +1 -1
  197. package/dist/tsx.mjs +1 -1
  198. package/dist/turtle.mjs +1 -1
  199. package/dist/twig.mjs +1 -1
  200. package/dist/typescript.mjs +1 -1
  201. package/dist/typespec.mjs +1 -1
  202. package/dist/typst.mjs +1 -1
  203. package/dist/v.mjs +1 -1
  204. package/dist/vala.mjs +1 -1
  205. package/dist/vb.mjs +1 -1
  206. package/dist/verilog.mjs +1 -1
  207. package/dist/vhdl.mjs +1 -1
  208. package/dist/viml.mjs +1 -1
  209. package/dist/vue-html.mjs +1 -1
  210. package/dist/vue-sfc-style-variable-injection.mjs +1 -1
  211. package/dist/vue.mjs +3 -3
  212. package/dist/vyper.mjs +1 -1
  213. package/dist/wasm.mjs +1 -1
  214. package/dist/wenyan.mjs +1 -1
  215. package/dist/wgsl.mjs +1 -1
  216. package/dist/wikitext.mjs +1 -1
  217. package/dist/wit.mjs +1 -1
  218. package/dist/wolfram.mjs +1 -1
  219. package/dist/xml.mjs +1 -1
  220. package/dist/xsl.mjs +1 -1
  221. package/dist/yaml.mjs +1 -1
  222. package/dist/zenscript.mjs +1 -1
  223. package/dist/zig.mjs +1 -1
  224. package/package.json +4 -4
package/dist/d.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"D",fileTypes:["d","di","dpp"],name:"d",patterns:[{include:"#comment"},{include:"#type"},{include:"#statement"},{include:"#expression"}],repository:{"aggregate-declaration":{patterns:[{include:"#class-declaration"},{include:"#interface-declaration"},{include:"#struct-declaration"},{include:"#union-declaration"},{include:"#mixin-template-declaration"},{include:"#template-declaration"}]},"alias-declaration":{patterns:[{begin:/\b(alias)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.alias.d"}},end:/;/dgv,endCaptures:{"0":{name:"meta.alias.end.d"}},patterns:[{include:"#type"},{match:/=(?![\=\>])/dgv,name:"keyword.operator.equal.alias.d"},{include:"#expression"}]}]},"align-attribute":{patterns:[{begin:/\balign\p{space}*\(/dgv,end:/\)/dgv,name:"storage.modifier.align-attribute.d",patterns:[{include:"#integer-literal"}]},{match:/\balign\b\p{space}*(?!\()/dgv,name:"storage.modifier.align-attribute.d"}]},"alternate-wysiwyg-string":{patterns:[{begin:/`/dgv,end:/`[cwd]?/dgv,name:"string.alternate-wysiwyg-string.d",patterns:[{include:"#wysiwyg-characters"}]}]},"arbitrary-delimited-string":{begin:/q"([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,end:/\1"()/dgv,name:"string.delimited.d",patterns:[{match:/[^\n]/dgv,name:"string.delimited.d"}]},"arithmetic-expression":{patterns:[{match:/\^\^|\+\+|--|(?<!\/)\+(?!\/)|[\-\~]|(?<!\/)\*(?!\/)|(?<![\+\*\/])\/(?![\+\*\/])|%/dgv,name:"keyword.operator.numeric.d"}]},"asm-instruction":{patterns:[{include:"#comment"},{match:/\b(align|even|naked|db|ds|di|dl|df|dd|de)\b|:/dgv,name:"keyword.asm-instruction.d"},{match:/\b__LOCAL_SIZE\b/dgv,name:"constant.language.assembly.d"},{match:/\b(offsetof|seg)\b/dgv,name:"support.type.assembly.d"},{include:"#asm-type-prefix"},{include:"#asm-primary-expression"},{include:"#operands"},{include:"#register"},{include:"#register-64"},{include:"#float-literal"},{include:"#integer-literal"},{include:"#identifier"}]},"asm-statement":{patterns:[{begin:/\b(asm)\b\p{space}*(?=\{)/dgv,captures:{"1":{name:"keyword.control.switch.d"}},end:/(?<=\})/dgv,patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"keyword.control.asm.begin.d"}},contentName:"gfm.markup.raw.assembly.d",end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.asm.end.d"}},patterns:[{include:"#asm-instruction"}]}]}]},"asm-type-prefix":{patterns:[{match:/\b((near\p{space}+ptr)|(far\p{space}+ptr)|(byte\p{space}+ptr)|(short\p{space}+ptr)|(int\p{space}+ptr)|(word\p{space}+ptr)|(dword\p{space}+ptr)|(qword\p{space}+ptr)|(float\p{space}+ptr)|(double\p{space}+ptr)|(real\p{space}+ptr))\b/dgv,name:"support.type.asm-type-prefix.d"}]},"assert-expression":{patterns:[{begin:/\bassert\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.assert.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.assert.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"assign-expression":{patterns:[{match:/>>>=|\^\^=|>>=|<<=|~=|\^=|\|=|&=|%=|\/=|\*=|-=|\+=|=(?!>)/dgv,name:"keyword.operator.assign.d"}]},attribute:{patterns:[{include:"#linkage-attribute"},{include:"#align-attribute"},{include:"#deprecated-attribute"},{include:"#protection-attribute"},{include:"#pragma"},{match:/\b(static|extern|abstract|final|override|synchronized|auto|scope|const|immutable|inout|shared|__gshared|nothrow|pure|ref)\b/dgv,name:"entity.other.attribute-name.d"},{include:"#property"}]},"base-type":{patterns:[{match:/\b(auto|bool|byte|ubyte|short|ushort|int|uint|long|ulong|char|wchar|dchar|float|double|real|ifloat|idouble|ireal|cfloat|cdouble|creal|void|noreturn)\b/dgv,name:"storage.type.basic-type.d"},{match:/\b(string|wstring|dstring|size_t|ptrdiff_t)\b(?!\p{space}*=)/dgv,name:"storage.type.basic-type.d"}]},"binary-integer":{patterns:[{match:/\b(0[bB])[0-1_]+(Lu|LU|uL|UL|[LuU])?\b/dgv,name:"constant.numeric.integer.binary.d"}]},"bitwise-expression":{patterns:[{match:/[\|\^\&]/dgv,name:"keyword.operator.bitwise.d"}]},"block-comment":{patterns:[{begin:/\/((?!\*\/)\*)+/dgv,beginCaptures:{"0":{name:"comment.block.begin.d"}},end:/\*+\//dgv,endCaptures:{"0":{name:"comment.block.end.d"}},name:"comment.block.content.d"}]},"break-statement":{patterns:[{match:/\bbreak\b/dgv,name:"keyword.control.break.d"}]},"case-statement":{patterns:[{begin:/\b(case)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.case.range.d"}},end:/:/dgv,endCaptures:{"0":{name:"meta.case.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"cast-expression":{patterns:[{begin:/\b(cast)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.operator.cast.d"},"2":{name:"keyword.operator.cast.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.operator.cast.end.d"}},patterns:[{include:"#type"},{include:"#extended-type"}]}]},catch:{patterns:[{begin:/\b(catch)\b\p{space}*(?=\()/dgv,captures:{"1":{name:"keyword.control.catch.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},catches:{patterns:[{include:"#catch"}]},character:{patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}\p{space}]+/dgv,name:"string.character.d"}]},"character-literal":{patterns:[{begin:/'/dgv,end:/'/dgv,name:"string.character-literal.d",patterns:[{include:"#character"},{include:"#escape-sequence"}]}]},"class-declaration":{patterns:[{captures:{"1":{name:"storage.type.class.d"},"2":{name:"entity.name.class.d"}},match:/\b(class)(?:\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}_\p{Nd}]*))?\b/dgv},{include:"#protection-attribute"},{include:"#class-members"}]},"class-members":{patterns:[{include:"#shared-static-constructor"},{include:"#shared-static-destructor"},{include:"#constructor"},{include:"#destructor"},{include:"#postblit"},{include:"#invariant"},{include:"#member-function-attribute"}]},colon:{patterns:[{match:/:/dgv,name:"support.type.colon.d"}]},comma:{patterns:[{match:/,/dgv,name:"keyword.operator.comma.d"}]},comment:{patterns:[{include:"#block-comment"},{include:"#line-comment"},{include:"#nesting-block-comment"}]},condition:{patterns:[{include:"#version-condition"},{include:"#debug-condition"},{include:"#static-if-condition"}]},"conditional-declaration":{patterns:[{include:"#condition"},{match:/\belse\b/dgv,name:"keyword.control.else.d"},{include:"#colon"},{include:"#decl-defs"}]},"conditional-expression":{patterns:[{match:/\p{space}([\?\:])\p{space}/dgv,name:"keyword.operator.ternary.d"}]},"conditional-statement":{patterns:[{include:"#condition"},{include:"#no-scope-non-empty-statement"},{match:/\belse\b/dgv,name:"keyword.control.else.d"}]},constructor:{patterns:[{match:/\bthis\b/dgv,name:"entity.name.function.constructor.d"}]},"continue-statement":{patterns:[{match:/\bcontinue\b/dgv,name:"keyword.control.continue.d"}]},"debug-condition":{patterns:[{begin:/\bdebug\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.debug.identifier.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.debug.identifier.end.d"}},patterns:[{include:"#integer-literal"},{include:"#identifier"}]},{match:/\bdebug\b\p{space}*(?!\()/dgv,name:"keyword.other.debug.plain.d"}]},"debug-specification":{patterns:[{match:/\bdebug\b\p{space}*(?==)/dgv,name:"keyword.other.debug-specification.d"}]},"decimal-float":{patterns:[{match:/\b((\.[0-9])|(0\.)|(([1-9]|(0[1-9_]))[0-9_]*\.))[0-9_]*((e-|E-|e\+|E\+|[eE])[0-9][0-9_]*)?[LfF]?i?\b/dgv,name:"constant.numeric.float.decimal.d"}]},"decimal-integer":{patterns:[{match:/\b(0(?=[^\p{Nd}xXbB]))|([1-9][0-9_]*)(Lu|LU|uL|UL|[LuU])?\b/dgv,name:"constant.numeric.integer.decimal.d"}]},declaration:{patterns:[{include:"#alias-declaration"},{include:"#aggregate-declaration"},{include:"#enum-declaration"},{include:"#import-declaration"},{include:"#storage-class"},{include:"#void-initializer"},{include:"#mixin-declaration"}]},"declaration-statement":{patterns:[{include:"#declaration"}]},"default-statement":{patterns:[{captures:{"1":{name:"keyword.control.case.default.d"},"2":{name:"meta.default.colon.d"}},match:/\b(default)\p{space}*(:)/dgv}]},"delete-expression":{patterns:[{match:/\bdelete\p{space}+/dgv,name:"keyword.other.delete.d"}]},"delimited-string":{begin:/q"/dgv,end:/"/dgv,name:"string.delimited.d",patterns:[{include:"#delimited-string-bracket"},{include:"#delimited-string-parens"},{include:"#delimited-string-angle-brackets"},{include:"#delimited-string-braces"}]},"delimited-string-angle-brackets":{patterns:[{begin:/</dgv,end:/>/dgv,name:"constant.character.angle-brackets.d",patterns:[{include:"#wysiwyg-characters"}]}]},"delimited-string-braces":{patterns:[{begin:/\{/dgv,end:/\}/dgv,name:"constant.character.delimited.braces.d",patterns:[{include:"#wysiwyg-characters"}]}]},"delimited-string-bracket":{patterns:[{begin:/\[/dgv,end:/\]/dgv,name:"constant.characters.delimited.brackets.d",patterns:[{include:"#wysiwyg-characters"}]}]},"delimited-string-parens":{patterns:[{begin:/\(/dgv,end:/\)/dgv,name:"constant.character.delimited.parens.d",patterns:[{include:"#wysiwyg-characters"}]}]},"deprecated-statement":{patterns:[{begin:/\bdeprecated\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.deprecated.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.deprecated.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]},{match:/\bdeprecated\b\p{space}*(?!\()/dgv,name:"keyword.other.deprecated.plain.d"}]},destructor:{patterns:[{match:/\b~this\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.destructor.d"}]},"do-statement":{patterns:[{match:/\bdo\b/dgv,name:"keyword.control.do.d"}]},"double-quoted-characters":{patterns:[{include:"#character"},{include:"#end-of-line"},{include:"#escape-sequence"}]},"double-quoted-string":{patterns:[{begin:/"/dgv,end:/"[cwd]?/dgv,name:"string.double-quoted-string.d",patterns:[{include:"#double-quoted-characters"}]}]},"end-of-line":{patterns:[{match:/\n+/dgv,name:"string.character.end-of-line.d"}]},"enum-declaration":{patterns:[{begin:/\b(enum)\b\p{space}+(?=[^\n]*[\=\;])/dgv,beginCaptures:{"1":{name:"storage.type.enum.d"}},end:/([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}_\p{Nd}]*)\p{space}*(?=[\;\=\(])(;)?/dgv,endCaptures:{"1":{name:"entity.name.type.enum.d"},"2":{name:"meta.enum.end.d"}},patterns:[{include:"#type"},{include:"#extended-type"},{match:/=(?![\=\>])/dgv,name:"keyword.operator.equal.alias.d"}]}]},eof:{patterns:[{begin:/__EOF__/dgv,beginCaptures:{"0":{name:"comment.block.documentation.eof.start.d"}},end:/(?!__NEVER_MATCH__)__NEVER_MATCH__/dgv,name:"text.eof.d"}]},equal:{patterns:[{match:/=(?![\=\>])/dgv,name:"keyword.operator.equal.d"}]},"escape-sequence":{patterns:[{match:/(\\(?:quot|amp|lt|gt|OElig|oelig|Scaron|scaron|Yuml|circ|tilde|ensp|emsp|thinsp|zwnj|zwj|lrm|rlm|ndash|mdash|lsquo|rsquo|sbquo|ldquo|rdquo|bdquo|dagger|Dagger|permil|lsaquo|rsaquo|euro|nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|Aelig|Ccedil|egrave|eacute|ecirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|fnof|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf|sigma|tau|upsilon|phi|chi|psi|omega|thetasym|upsih|piv|bull|hellip|prime|Prime|oline|frasl|weierp|image|real|trade|alefsym|larr|uarr|rarr|darr|harr|crarr|lArr|uArr|rArr|dArr|hArr|forall|part|exist|empty|nabla|isin|notin|ni|prod|sum|minux|lowast|radic|prop|infin|ang|and|or|cap|cup|int|there4|sim|cong|asymp|ne|equiv|le|ge|sub|sup|nsub|sube|supe|oplus|otimes|perp|sdot|lceil|rceil|lfloor|rfloor|loz|spades|clubs|hearts|diams|lang|rang))/dgv,name:"constant.character.escape-sequence.entity.d"},{match:/(\\(?:x[_\p{AHex}]{2}|u[_\p{AHex}]{4}|U[_\p{AHex}]{8}|[0-7]{1,3}))/dgv,name:"constant.character.escape-sequence.number.d"},{match:/(\\[t'"\?0abfnrv\\])/dgv,name:"constant.character.escape-sequence.d"}]},expression:{patterns:[{include:"#index-expression"},{include:"#expression-no-index"}]},"expression-no-index":{patterns:[{include:"#function-literal"},{include:"#assert-expression"},{include:"#assign-expression"},{include:"#mixin-expression"},{include:"#import-expression"},{include:"#traits-expression"},{include:"#is-expression"},{include:"#typeid-expression"},{include:"#shift-expression"},{include:"#logical-expression"},{include:"#rel-expression"},{include:"#bitwise-expression"},{include:"#identity-expression"},{include:"#in-expression"},{include:"#conditional-expression"},{include:"#arithmetic-expression"},{include:"#new-expression"},{include:"#delete-expression"},{include:"#cast-expression"},{include:"#type-specialization"},{include:"#comma"},{include:"#special-keyword"},{include:"#functions"},{include:"#type"},{include:"#parentheses-expression"},{include:"#lexical"}]},"extended-type":{patterns:[{match:/\b((\.\p{space}*)?[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*\b/dgv,name:"entity.name.type.d"},{begin:/\[/dgv,beginCaptures:{"0":{name:"storage.type.array.expression.begin.d"}},end:/\]/dgv,endCaptures:{"0":{name:"storage.type.array.expression.end.d"}},patterns:[{match:/\.\.|\$/dgv,name:"keyword.operator.slice.d"},{include:"#type"},{include:"#expression"}]}]},"final-switch-statement":{patterns:[{begin:/\b(final\p{space}+switch)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.final.switch.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"finally-statement":{patterns:[{match:/\bfinally\b/dgv,name:"keyword.control.throw.d"}]},"float-literal":{patterns:[{include:"#decimal-float"},{include:"#hexadecimal-float"}]},"for-statement":{patterns:[{begin:/\b(for)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.for.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"foreach-reverse-statement":{patterns:[{begin:/\b(foreach_reverse)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.foreach_reverse.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"foreach-statement":{patterns:[{begin:/\b(foreach)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.foreach.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"function-attribute":{patterns:[{match:/\b(nothrow|pure)\b/dgv,name:"storage.type.modifier.function-attribute.d"},{include:"#property"}]},"function-body":{patterns:[{include:"#in-statement"},{include:"#out-statement"},{include:"#block-statement"}]},"function-literal":{patterns:[{match:/=>/dgv,name:"keyword.operator.lambda.d"},{match:/\b(function|delegate)\b/dgv,name:"keyword.other.function-literal.d"},{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=>)/dgv,beginCaptures:{"1":{name:"variable.parameter.d"},"2":{name:"meta.lexical.token.symbolic.d"}},end:/(?=[\)\;\,\]\}])/dgv,patterns:[{include:"source.d"}]},{begin:/(?<=[\)\(])(\p{space}*)(\{)/dgv,beginCaptures:{"1":{name:"source.d"},"2":{name:"source.d"}},end:/\}/dgv,patterns:[{include:"source.d"}]}]},"function-prelude":{patterns:[{match:/(?!type(?:of|id))((\.\p{space}*)?[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*\p{space}*(?=\()/dgv,name:"entity.name.function.d"}]},functions:{patterns:[{include:"#function-attribute"},{include:"#function-prelude"}]},"goto-statement":{patterns:[{match:/\bgoto\p{space}+default\b/dgv,name:"keyword.control.goto.d"},{match:/\bgoto\p{space}+case\b/dgv,name:"keyword.control.goto.d"},{match:/\bgoto\b/dgv,name:"keyword.control.goto.d"}]},"hex-string":{patterns:[{begin:/x"/dgv,end:/"[cwd]?/dgv,name:"string.hex-string.d",patterns:[{match:/[_s\p{AHex}]+/dgv,name:"constant.character.hex-string.d"}]}]},"hexadecimal-float":{patterns:[{match:/\b0[xX][_\p{AHex}]*(\.[_\p{AHex}]*)?(p-|P-|p\+|P\+|[pP])[0-9][0-9_]*[LfF]?i?\b/dgv,name:"constant.numeric.float.hexadecimal.d"}]},"hexadecimal-integer":{patterns:[{match:/\b(0[xX])(\p{AHex}[_\p{AHex}]*)(Lu|LU|uL|UL|[LuU])?\b/dgv,name:"constant.numeric.integer.hexadecimal.d"}]},identifier:{patterns:[{match:/\b((\.\p{space}*)?[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*\b/dgv,name:"variable.d"}]},"identifier-list":{patterns:[{match:/,/dgv,name:"keyword.other.comma.d"},{include:"#identifier"}]},"identity-expression":{patterns:[{match:/\b(is|!is)\b/dgv,name:"keyword.operator.identity.d"}]},"ies-string":{patterns:[{begin:/i"/dgv,end:/"[cwd]?/dgv,name:"string.ies-string.d",patterns:[{include:"#interpolation-escape"},{include:"#interpolation-sequence"},{include:"#double-quoted-characters"}]}]},"ies-token-string":{begin:/iq\{/dgv,beginCaptures:{"0":{name:"string.quoted.token.d"}},end:/\}[cdw]?/dgv,endCaptures:{"0":{name:"string.quoted.token.d"}},patterns:[{include:"#interpolation-sequence"},{include:"#token-string-content"}]},"ies-wysiwyg-string":{patterns:[{begin:/i`/dgv,end:/`[cwd]?/dgv,name:"string.ies-wysiwyg-string.d",patterns:[{include:"#interpolation-escape"},{include:"#interpolation-sequence"},{include:"#wysiwyg-characters"}]}]},"if-statement":{patterns:[{begin:/\b(if)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.if.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]},{match:/\belse\b\p{space}*/dgv,name:"keyword.control.else.d"}]},"import-declaration":{patterns:[{begin:/\b(static\p{space}+)?(import)\p{space}+(?!\()/dgv,beginCaptures:{"1":{name:"keyword.package.import.d"},"2":{name:"keyword.package.import.d"}},end:/;/dgv,endCaptures:{"0":{name:"meta.import.end.d"}},patterns:[{include:"#import-identifier"},{include:"#comma"},{include:"#comment"}]}]},"import-expression":{patterns:[{begin:/\b(import)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.other.import.d"},"2":{name:"keyword.other.import.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.import.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"import-identifier":{patterns:[{match:/([_a-zA-Z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_a-zA-Z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*/dgv,name:"variable.parameter.import.d"}]},"in-expression":{patterns:[{match:/\b(in|!in)\b/dgv,name:"keyword.operator.in.d"}]},"in-statement":{patterns:[{match:/\bin\b/dgv,name:"keyword.control.in.d"}]},"index-expression":{patterns:[{begin:/\[/dgv,end:/\]/dgv,patterns:[{match:/\.\.|\$/dgv,name:"keyword.operator.slice.d"},{include:"#expression-no-index"}]}]},"integer-literal":{patterns:[{include:"#decimal-integer"},{include:"#binary-integer"},{include:"#hexadecimal-integer"}]},"interface-declaration":{patterns:[{captures:{"1":{name:"storage.type.interface.d"},"2":{name:"entity.name.type.interface.d"}},match:/\b(interface)(?:\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}_\p{Nd}]*))?\b/dgv}]},"interpolation-escape":{match:/\\\$/dgv,name:"constant.character.escape-sequence.d"},"interpolation-sequence":{begin:/\$\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.d"}},name:"meta.interpolation.expression.d",patterns:[{include:"#expression"}]},invariant:{patterns:[{match:/\binvariant\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.invariant.d"}]},"is-expression":{patterns:[{begin:/\bis\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.token.is.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.token.is.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},keyword:{patterns:[{match:/\babstract\b/dgv,name:"keyword.token.abstract.d"},{match:/\balias\b/dgv,name:"keyword.token.alias.d"},{match:/\balign\b/dgv,name:"keyword.token.align.d"},{match:/\basm\b/dgv,name:"keyword.token.asm.d"},{match:/\bassert\b/dgv,name:"keyword.token.assert.d"},{match:/\bauto\b/dgv,name:"keyword.token.auto.d"},{match:/\bbool\b/dgv,name:"keyword.token.bool.d"},{match:/\bbreak\b/dgv,name:"keyword.token.break.d"},{match:/\bbyte\b/dgv,name:"keyword.token.byte.d"},{match:/\bcase\b/dgv,name:"keyword.token.case.d"},{match:/\bcast\b/dgv,name:"keyword.token.cast.d"},{match:/\bcatch\b/dgv,name:"keyword.token.catch.d"},{match:/\bcdouble\b/dgv,name:"keyword.token.cdouble.d"},{match:/\bcent\b/dgv,name:"keyword.token.cent.d"},{match:/\bcfloat\b/dgv,name:"keyword.token.cfloat.d"},{match:/\bchar\b/dgv,name:"keyword.token.char.d"},{match:/\bclass\b/dgv,name:"keyword.token.class.d"},{match:/\bconst\b/dgv,name:"keyword.token.const.d"},{match:/\bcontinue\b/dgv,name:"keyword.token.continue.d"},{match:/\bcreal\b/dgv,name:"keyword.token.creal.d"},{match:/\bdchar\b/dgv,name:"keyword.token.dchar.d"},{match:/\bdebug\b/dgv,name:"keyword.token.debug.d"},{match:/\bdefault\b/dgv,name:"keyword.token.default.d"},{match:/\bdelegate\b/dgv,name:"keyword.token.delegate.d"},{match:/\bdelete\b/dgv,name:"keyword.token.delete.d"},{match:/\bdeprecated\b/dgv,name:"keyword.token.deprecated.d"},{match:/\bdo\b/dgv,name:"keyword.token.do.d"},{match:/\bdouble\b/dgv,name:"keyword.token.double.d"},{match:/\belse\b/dgv,name:"keyword.token.else.d"},{match:/\benum\b/dgv,name:"keyword.token.enum.d"},{match:/\bexport\b/dgv,name:"keyword.token.export.d"},{match:/\bextern\b/dgv,name:"keyword.token.extern.d"},{match:/\bfalse\b/dgv,name:"constant.language.boolean.false.d"},{match:/\bfinal\b/dgv,name:"keyword.token.final.d"},{match:/\bfinally\b/dgv,name:"keyword.token.finally.d"},{match:/\bfloat\b/dgv,name:"keyword.token.float.d"},{match:/\bfor\b/dgv,name:"keyword.token.for.d"},{match:/\bforeach\b/dgv,name:"keyword.token.foreach.d"},{match:/\bforeach_reverse\b/dgv,name:"keyword.token.foreach_reverse.d"},{match:/\bfunction\b/dgv,name:"keyword.token.function.d"},{match:/\bgoto\b/dgv,name:"keyword.token.goto.d"},{match:/\bidouble\b/dgv,name:"keyword.token.idouble.d"},{match:/\bif\b/dgv,name:"keyword.token.if.d"},{match:/\bifloat\b/dgv,name:"keyword.token.ifloat.d"},{match:/\bimmutable\b/dgv,name:"keyword.token.immutable.d"},{match:/\bimport\b/dgv,name:"keyword.token.import.d"},{match:/\bin\b/dgv,name:"keyword.token.in.d"},{match:/\binout\b/dgv,name:"keyword.token.inout.d"},{match:/\bint\b/dgv,name:"keyword.token.int.d"},{match:/\binterface\b/dgv,name:"keyword.token.interface.d"},{match:/\binvariant\b/dgv,name:"keyword.token.invariant.d"},{match:/\bireal\b/dgv,name:"keyword.token.ireal.d"},{match:/\bis\b/dgv,name:"keyword.token.is.d"},{match:/\blazy\b/dgv,name:"keyword.token.lazy.d"},{match:/\blong\b/dgv,name:"keyword.token.long.d"},{match:/\bmacro\b/dgv,name:"keyword.token.macro.d"},{match:/\bmixin\b/dgv,name:"keyword.token.mixin.d"},{match:/\bmodule\b/dgv,name:"keyword.token.module.d"},{match:/\bnew\b/dgv,name:"keyword.token.new.d"},{match:/\bnothrow\b/dgv,name:"keyword.token.nothrow.d"},{match:/\bnull\b/dgv,name:"constant.language.null.d"},{match:/\bout\b/dgv,name:"keyword.token.out.d"},{match:/\boverride\b/dgv,name:"keyword.token.override.d"},{match:/\bpackage\b/dgv,name:"keyword.token.package.d"},{match:/\bpragma\b/dgv,name:"keyword.token.pragma.d"},{match:/\bprivate\b/dgv,name:"keyword.token.private.d"},{match:/\bprotected\b/dgv,name:"keyword.token.protected.d"},{match:/\bpublic\b/dgv,name:"keyword.token.public.d"},{match:/\bpure\b/dgv,name:"keyword.token.pure.d"},{match:/\breal\b/dgv,name:"keyword.token.real.d"},{match:/\bref\b/dgv,name:"keyword.token.ref.d"},{match:/\breturn\b/dgv,name:"keyword.token.return.d"},{match:/\bscope\b/dgv,name:"keyword.token.scope.d"},{match:/\bshared\b/dgv,name:"keyword.token.shared.d"},{match:/\bshort\b/dgv,name:"keyword.token.short.d"},{match:/\bstatic\b/dgv,name:"keyword.token.static.d"},{match:/\bstruct\b/dgv,name:"keyword.token.struct.d"},{match:/\bsuper\b/dgv,name:"keyword.token.super.d"},{match:/\bswitch\b/dgv,name:"keyword.token.switch.d"},{match:/\bsynchronized\b/dgv,name:"keyword.token.synchronized.d"},{match:/\btemplate\b/dgv,name:"keyword.token.template.d"},{match:/\bthis\b/dgv,name:"keyword.token.this.d"},{match:/\bthrow\b/dgv,name:"keyword.token.throw.d"},{match:/\btrue\b/dgv,name:"constant.language.boolean.true.d"},{match:/\btry\b/dgv,name:"keyword.token.try.d"},{match:/\btypedef\b/dgv,name:"keyword.token.typedef.d"},{match:/\btypeid\b/dgv,name:"keyword.token.typeid.d"},{match:/\btypeof\b/dgv,name:"keyword.token.typeof.d"},{match:/\bubyte\b/dgv,name:"keyword.token.ubyte.d"},{match:/\bucent\b/dgv,name:"keyword.token.ucent.d"},{match:/\buint\b/dgv,name:"keyword.token.uint.d"},{match:/\bulong\b/dgv,name:"keyword.token.ulong.d"},{match:/\bunion\b/dgv,name:"keyword.token.union.d"},{match:/\bunittest\b/dgv,name:"keyword.token.unittest.d"},{match:/\bushort\b/dgv,name:"keyword.token.ushort.d"},{match:/\bversion\b/dgv,name:"keyword.token.version.d"},{match:/\bvoid\b/dgv,name:"keyword.token.void.d"},{match:/\bvolatile\b/dgv,name:"keyword.token.volatile.d"},{match:/\bwchar\b/dgv,name:"keyword.token.wchar.d"},{match:/\bwhile\b/dgv,name:"keyword.token.while.d"},{match:/\bwith\b/dgv,name:"keyword.token.with.d"},{match:/\b__FILE__\b/dgv,name:"keyword.token.__FILE__.d"},{match:/\b__MODULE__\b/dgv,name:"keyword.token.__MODULE__.d"},{match:/\b__LINE__\b/dgv,name:"keyword.token.__LINE__.d"},{match:/\b__FUNCTION__\b/dgv,name:"keyword.token.__FUNCTION__.d"},{match:/\b__PRETTY_FUNCTION__\b/dgv,name:"keyword.token.__PRETTY_FUNCTION__.d"},{match:/\b__gshared\b/dgv,name:"keyword.token.__gshared.d"},{match:/\b__traits\b/dgv,name:"keyword.token.__traits.d"},{match:/\b__vector\b/dgv,name:"keyword.token.__vector.d"},{match:/\b__parameters\b/dgv,name:"keyword.token.__parameters.d"}]},"labeled-statement":{patterns:[{match:/\b(?!abstract|alias|align|asm|assert|auto|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|in|inout|int|interface|invariant|ireal|is|lazy|long|macro|mixin|module|new|nothrow|noreturn|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__|__gshared|__traits|__vector|__parameters)[a-zA-Z_][a-zA-Z_0-9]*\p{space}*:/dgv,name:"entity.name.d"}]},lexical:{patterns:[{include:"#comment"},{include:"#string-literal"},{include:"#character-literal"},{include:"#float-literal"},{include:"#integer-literal"},{include:"#eof"},{include:"#special-tokens"},{include:"#special-token-sequence"},{include:"#keyword"},{include:"#identifier"}]},"line-comment":{patterns:[{match:/\/\/+[^\n]*(?=\n?$)/dgv,name:"comment.line.d"}]},"linkage-attribute":{patterns:[{begin:/\bextern\p{space}*\(\p{space}*C\+\+\p{space}*,/dgv,beginCaptures:{"0":{name:"keyword.other.extern.cplusplus.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.extern.cplusplus.end.d"}},patterns:[{include:"#identifier"},{include:"#comma"}]},{begin:/\bextern\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.extern.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.extern.end.d"}},patterns:[{include:"#linkage-type"}]}]},"linkage-type":{patterns:[{match:/C|C\+\+|D|Windows|Pascal|System/dgv,name:"storage.modifier.linkage-type.d"}]},"logical-expression":{patterns:[{match:/\|\||&&|==|!=|!/dgv,name:"keyword.operator.logical.d"}]},"member-function-attribute":{patterns:[{match:/\b(const|immutable|inout|shared)\b/dgv,name:"storage.type.modifier.member-function-attribute"}]},"mixin-declaration":{patterns:[{begin:/\bmixin\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.mixin.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.mixin.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"mixin-expression":{patterns:[{begin:/\bmixin\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.mixin.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.mixin.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"mixin-statement":{patterns:[{begin:/\bmixin\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.control.mixin.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.control.mixin.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"mixin-template-declaration":{patterns:[{captures:{"1":{name:"storage.type.mixintemplate.d"},"2":{name:"entity.name.type.mixintemplate.d"}},match:/\b(mixin\p{space}*template)(?:\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}_\p{Nd}]*))?\b/dgv}]},module:{packages:[{import:"#module-declaration"}]},"module-declaration":{patterns:[{begin:/\b(module)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.package.module.d"}},end:/;/dgv,endCaptures:{"0":{name:"meta.module.end.d"}},patterns:[{include:"#module-identifier"},{include:"#comment"}]}]},"module-identifier":{patterns:[{match:/([_a-zA-Z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_a-zA-Z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*/dgv,name:"variable.parameter.module.d"}]},"nesting-block-comment":{patterns:[{begin:/\/((?!\+\/)\+)+/dgv,beginCaptures:{"0":{name:"comment.block.documentation.begin.d"}},end:/\++\//dgv,endCaptures:{"0":{name:"comment.block.documentation.end.d"}},name:"comment.block.documentation.content.d",patterns:[{include:"#nesting-block-comment"}]}]},"new-expression":{patterns:[{match:/\bnew\p{space}+/dgv,name:"keyword.other.new.d"}]},"non-block-statement":{patterns:[{include:"#module-declaration"},{include:"#labeled-statement"},{include:"#if-statement"},{include:"#while-statement"},{include:"#do-statement"},{include:"#for-statement"},{include:"#static-foreach"},{include:"#static-foreach-reverse"},{include:"#foreach-statement"},{include:"#foreach-reverse-statement"},{include:"#switch-statement"},{include:"#final-switch-statement"},{include:"#case-statement"},{include:"#default-statement"},{include:"#continue-statement"},{include:"#break-statement"},{include:"#return-statement"},{include:"#goto-statement"},{include:"#with-statement"},{include:"#synchronized-statement"},{include:"#try-statement"},{include:"#catches"},{include:"#scope-guard-statement"},{include:"#throw-statement"},{include:"#finally-statement"},{include:"#asm-statement"},{include:"#pragma-statement"},{include:"#mixin-statement"},{include:"#conditional-statement"},{include:"#static-assert"},{include:"#deprecated-statement"},{include:"#unit-test"},{include:"#declaration-statement"}]},operands:{patterns:[{match:/[\?\:]/dgv,name:"keyword.operator.ternary.assembly.d"},{match:/[\]\[]/dgv,name:"keyword.operator.bracket.assembly.d"},{match:/>>>|\|\||&&|==|!=|<=|>=|<<|>>|[\|\^\&\<\>\+\-\*\/\%\~\!]/dgv,name:"keyword.operator.assembly.d"}]},"out-statement":{patterns:[{begin:/\bout\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.control.out.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.control.out.end.d"}},patterns:[{include:"#identifier"}]},{match:/\bout\b/dgv,name:"keyword.control.out.d"}]},"parentheses-expression":{patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#expression"}]}]},postblit:{patterns:[{match:/\bthis\p{space}*\(\p{space}*this\p{space}*\)\p{space}/dgv,name:"entity.name.class.postblit.d"}]},pragma:{patterns:[{match:/\bpragma\p{space}*\(\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\)/dgv,name:"keyword.other.pragma.d"},{begin:/\bpragma\p{space}*\(\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*,/dgv,end:/\)/dgv,name:"keyword.other.pragma.d",patterns:[{include:"#expression"}]},{match:/^#![^\n]+/dgv,name:"gfm.markup.header.preprocessor.script-tag.d"}]},"pragma-statement":{patterns:[{include:"#pragma"}]},property:{patterns:[{match:/@(property|safe|trusted|system|disable|nogc)\b/dgv,name:"entity.name.tag.property.d"},{include:"#user-defined-attribute"}]},"protection-attribute":{patterns:[{match:/\b(private|package|protected|public|export)\b/dgv,name:"keyword.other.protections.d"}]},register:{patterns:[{match:/\b(XMM0|XMM1|XMM2|XMM3|XMM4|XMM5|XMM6|XMM7|MM0|MM1|MM2|MM3|MM4|MM5|MM6|MM7|ST\(0\)|ST\(1\)|ST\(2\)|ST\(3\)|ST\(4\)|ST\(5\)|ST\(6\)|ST\(7\)|ST|TR1|TR2|TR3|TR4|TR5|TR6|TR7|DR0|DR1|DR2|DR3|DR4|DR5|DR6|DR7|CR0|CR2|CR3|CR4|EAX|EBX|ECX|EDX|EBP|ESP|EDI|ESI|AL|AH|AX|BL|BH|BX|CL|CH|CX|DL|DH|DX|BP|SP|DI|SI|ES|CS|SS|DS|GS|FS)\b/dgv,name:"storage.type.assembly.register.d"}]},"register-64":{patterns:[{match:/\b(RAX|RBX|RCX|RDX|BPL|RBP|SPL|RSP|DIL|RDI|SIL|RSI|R8B|R8W|R8D|R8|R9B|R9W|R9D|R9|R10B|R10W|R10D|R10|R11B|R11W|R11D|R11|R12B|R12W|R12D|R12|R13B|R13W|R13D|R13|R14B|R14W|R14D|R14|R15B|R15W|R15D|R15|XMM8|XMM9|XMM10|XMM11|XMM12|XMM13|XMM14|XMM15|YMM0|YMM1|YMM2|YMM3|YMM4|YMM5|YMM6|YMM7|YMM8|YMM9|YMM10|YMM11|YMM12|YMM13|YMM14|YMM15)\b/dgv,name:"storage.type.assembly.register-64.d"}]},"rel-expression":{patterns:[{match:/!<>=|!<>|<>=|!>=|!<=|<=|>=|<>|!>|!<|[\<\>]/dgv,name:"keyword.operator.rel.d"}]},"return-statement":{patterns:[{match:/\breturn\b/dgv,name:"keyword.control.return.d"}]},"scope-guard-statement":{patterns:[{match:/\bscope\p{space}*\((exit|success|failure)\)/dgv,name:"keyword.control.scope.d"}]},"semi-colon":{patterns:[{match:/;/dgv,name:"meta.statement.end.d"}]},"shared-static-constructor":{patterns:[{match:/\b(shared\p{space}+)?static\p{space}+this\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.constructor.shared-static.d"},{include:"#function-body"}]},"shared-static-destructor":{patterns:[{match:/\b(shared\p{space}+)?static\p{space}+~this\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.destructor.static.d"}]},"shift-expression":{patterns:[{match:/<<|>>|>>>/dgv,name:"keyword.operator.shift.d"},{include:"#add-expression"}]},"special-keyword":{patterns:[{match:/\b(__(?:FILE__|FILE_FULL_PATH__|MODULE__|LINE__|FUNCTION__|PRETTY_FUNCTION__))\b/dgv,name:"constant.language.special-keyword.d"}]},"special-token-sequence":{patterns:[{match:/#\p{space}*line[^\n]*/dgv,name:"gfm.markup.italic.special-token-sequence.d"}]},"special-tokens":{patterns:[{match:/\b(__(?:DATE__|TIME__|TIMESTAMP__|VENDOR__|VERSION__))\b/dgv,name:"gfm.markup.raw.special-tokens.d"}]},statement:{patterns:[{include:"#non-block-statement"},{include:"#semi-colon"}]},"static-assert":{patterns:[{begin:/\bstatic\p{space}+assert\b\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.static-assert.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.static-assert.end.d"}},patterns:[{include:"#expression"}]}]},"static-foreach":{patterns:[{begin:/\b(static\p{space}+foreach)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.static-foreach.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"static-foreach-reverse":{patterns:[{begin:/\b(static\p{space}+foreach_reverse)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.static-foreach.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"static-if-condition":{patterns:[{begin:/\bstatic\p{space}+if\b\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.control.static-if.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.control.static-if.end.d"}},patterns:[{include:"#comment"},{include:"#expression"}]}]},"storage-class":{patterns:[{match:/\b(deprecated|enum|static|extern|abstract|final|override|synchronized|auto|scope|const|immutable|inout|shared|__gshared|nothrow|pure|ref)\b/dgv,name:"storage.class.d"},{include:"#linkage-attribute"},{include:"#align-attribute"},{include:"#property"}]},"string-literal":{patterns:[{include:"#wysiwyg-string"},{include:"#alternate-wysiwyg-string"},{include:"#hex-string"},{include:"#arbitrary-delimited-string"},{include:"#delimited-string"},{include:"#double-quoted-string"},{include:"#token-string"},{include:"#ies-string"},{include:"#ies-wysiwyg-string"},{include:"#ies-token-string"}]},"struct-declaration":{patterns:[{captures:{"1":{name:"storage.type.struct.d"},"2":{name:"entity.name.type.struct.d"}},match:/\b(struct)(?:\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}_\p{Nd}]*))?\b/dgv}]},"switch-statement":{patterns:[{begin:/\b(switch)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.switch.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"synchronized-statement":{patterns:[{begin:/\b(synchronized)\b\p{space}*(?=\()/dgv,captures:{"1":{name:"keyword.control.synchronized.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"template-declaration":{patterns:[{captures:{"1":{name:"storage.type.template.d"},"2":{name:"entity.name.type.template.d"}},match:/\b(template)(?:\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}_\p{Nd}]*))?\b/dgv}]},"throw-statement":{patterns:[{match:/\bthrow\b/dgv,name:"keyword.control.throw.d"}]},"token-string":{begin:/q\{/dgv,beginCaptures:{"0":{name:"string.quoted.token.d"}},end:/\}[cdw]?/dgv,endCaptures:{"0":{name:"string.quoted.token.d"}},patterns:[{include:"#token-string-content"}]},"token-string-content":{patterns:[{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#token-string-content"}]},{include:"#comment"},{include:"#tokens"}]},tokens:{patterns:[{include:"#string-literal"},{include:"#character-literal"},{include:"#integer-literal"},{include:"#float-literal"},{include:"#keyword"},{match:/~=|~|>>>|>>=|>>|>=|>|=>|==|=|<>|<=|<<|<|%=|[\%\#]|&=|&&|[\&\$]|\|=|\|\||\||\+=|\+\+|\+|\^=|\^\^=|\^\^|\^|\*=|[\*\}\{\]\[\)\(]|\.\.\.|\.\.|[\.\?]|!>=|!>|!=|!<>=|!<>|!<=|!<|!|\/=|[\/\@\:\;\,]|-=|--|-/dgv,name:"meta.lexical.token.symbolic.d"},{include:"#identifier"}]},"traits-argument":{patterns:[{include:"#expression"},{include:"#type"}]},"traits-arguments":{patterns:[{include:"#traits-argument"},{include:"#comma"}]},"traits-expression":{patterns:[{begin:/\b__traits\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.traits.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.traits.end.d"}},patterns:[{include:"#traits-keyword"},{include:"#comma"},{include:"#traits-argument"}]}]},"traits-keyword":{patterns:[{match:/isAbstractClass|isArithmetic|isAssociativeArray|isFinalClass|isPOD|isNested|isFloating|isIntegral|isScalar|isStaticArray|isUnsigned|isVirtualFunction|isVirtualMethod|isAbstractFunction|isFinalFunction|isStaticFunction|isOverrideFunction|isRef|isOut|isLazy|hasMember|identifier|getAliasThis|getAttributes|getMember|getOverloads|getProtection|getVirtualFunctions|getVirtualMethods|getUnitTests|parent|classInstanceSize|getVirtualIndex|allMembers|derivedMembers|isSame|compiles/dgv,name:"support.constant.traits-keyword.d"}]},"try-statement":{patterns:[{match:/\btry\b/dgv,name:"keyword.control.try.d"}]},type:{patterns:[{include:"#typeof"},{include:"#base-type"},{include:"#type-ctor"},{begin:/!\(/dgv,end:/\)/dgv,patterns:[{include:"#type"},{include:"#expression"}]}]},"type-ctor":{patterns:[{match:/(const|immutable|inout|shared)\b/dgv,name:"storage.type.modifier.d"}]},"type-specialization":{patterns:[{match:/\b(struct|union|class|interface|enum|function|delegate|super|const|immutable|inout|shared|return|__parameters)\b/dgv,name:"keyword.other.storage.type-specialization.d"}]},"typeid-expression":{patterns:[{match:/\btypeid\p{space}*(?=\()/dgv,name:"keyword.other.typeid.d"}]},typeof:{begin:/typeof\p{space}*\(/dgv,end:/\)/dgv,name:"keyword.token.typeof.d",patterns:[{match:/return/dgv,name:"keyword.control.return.d"},{include:"#expression"}]},"union-declaration":{patterns:[{captures:{"1":{name:"storage.type.union.d"},"2":{name:"entity.name.type.union.d"}},match:/\b(union)(?:\p{space}+([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}_\p{Nd}]*))?\b/dgv}]},"user-defined-attribute":{patterns:[{match:/@([_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.tag.user-defined-property.d"},{begin:/@([_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)?\(/dgv,end:/\)/dgv,name:"entity.name.tag.user-defined-property.d",patterns:[{include:"#expression"}]}]},"version-condition":{patterns:[{match:/\bversion\p{space}*\(\p{space}*unittest\p{space}*\)/dgv,name:"keyword.other.version.unittest.d"},{match:/\bversion\p{space}*\(\p{space}*assert\p{space}*\)/dgv,name:"keyword.other.version.assert.d"},{begin:/\bversion\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.version.identifier.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.version.identifer.end.d"}},patterns:[{include:"#integer-literal"},{include:"#identifier"}]},{include:"#version-specification"}]},"version-specification":{patterns:[{match:/\bversion\b\p{space}*(?==)/dgv,name:"keyword.other.version-specification.d"}]},"void-initializer":{patterns:[{match:/\bvoid\b/dgv,name:"support.type.void.d"}]},"while-statement":{patterns:[{begin:/\b(while)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.while.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"with-statement":{patterns:[{begin:/\b(with)\b\p{space}*(?=\()/dgv,captures:{"1":{name:"keyword.control.with.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"wysiwyg-characters":{patterns:[{include:"#character"},{include:"#end-of-line"}]},"wysiwyg-string":{patterns:[{begin:/r"/dgv,end:/"[cwd]?/dgv,name:"string.wysiwyg-string.d",patterns:[{include:"#wysiwyg-characters"}]}]}},scopeName:"source.d",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"D",fileTypes:["d","di","dpp"],name:"d",patterns:[{include:"#comment"},{include:"#type"},{include:"#statement"},{include:"#expression"}],repository:{"aggregate-declaration":{patterns:[{include:"#class-declaration"},{include:"#interface-declaration"},{include:"#struct-declaration"},{include:"#union-declaration"},{include:"#mixin-template-declaration"},{include:"#template-declaration"}]},"alias-declaration":{patterns:[{begin:/\b(alias)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.alias.d"}},end:/;/dgv,endCaptures:{"0":{name:"meta.alias.end.d"}},patterns:[{include:"#type"},{match:/=(?![\=\>])/dgv,name:"keyword.operator.equal.alias.d"},{include:"#expression"}]}]},"align-attribute":{patterns:[{begin:/\balign\p{space}*\(/dgv,end:/\)/dgv,name:"storage.modifier.align-attribute.d",patterns:[{include:"#integer-literal"}]},{match:/\balign\b\p{space}*(?!\()/dgv,name:"storage.modifier.align-attribute.d"}]},"alternate-wysiwyg-string":{patterns:[{begin:/`/dgv,end:/`[cdw]?/dgv,name:"string.alternate-wysiwyg-string.d",patterns:[{include:"#wysiwyg-characters"}]}]},"arbitrary-delimited-string":{begin:/q"([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,end:/\1"()/dgv,name:"string.delimited.d",patterns:[{match:/[^\n]/dgv,name:"string.delimited.d"}]},"arithmetic-expression":{patterns:[{match:/\^\^|\+\+|--|(?<!\/)\+(?!\/)|[\-\~]|(?<!\/)\*(?!\/)|(?<![\*\+\/])\/(?![\*\+\/])|%/dgv,name:"keyword.operator.numeric.d"}]},"asm-instruction":{patterns:[{include:"#comment"},{match:/\b(align|even|naked|db|ds|di|dl|df|dd|de)\b|:/dgv,name:"keyword.asm-instruction.d"},{match:/\b__LOCAL_SIZE\b/dgv,name:"constant.language.assembly.d"},{match:/\b(offsetof|seg)\b/dgv,name:"support.type.assembly.d"},{include:"#asm-type-prefix"},{include:"#asm-primary-expression"},{include:"#operands"},{include:"#register"},{include:"#register-64"},{include:"#float-literal"},{include:"#integer-literal"},{include:"#identifier"}]},"asm-statement":{patterns:[{begin:/\b(asm)\b\p{space}*(?=\{)/dgv,captures:{"1":{name:"keyword.control.switch.d"}},end:/(?<=\})/dgv,patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"keyword.control.asm.begin.d"}},contentName:"gfm.markup.raw.assembly.d",end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.asm.end.d"}},patterns:[{include:"#asm-instruction"}]}]}]},"asm-type-prefix":{patterns:[{match:/\b((near\p{space}+ptr)|(far\p{space}+ptr)|(byte\p{space}+ptr)|(short\p{space}+ptr)|(int\p{space}+ptr)|(word\p{space}+ptr)|(dword\p{space}+ptr)|(qword\p{space}+ptr)|(float\p{space}+ptr)|(double\p{space}+ptr)|(real\p{space}+ptr))\b/dgv,name:"support.type.asm-type-prefix.d"}]},"assert-expression":{patterns:[{begin:/\bassert\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.assert.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.assert.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"assign-expression":{patterns:[{match:/>>>=|\^\^=|>>=|<<=|~=|\^=|\|=|&=|%=|\/=|\*=|-=|\+=|=(?!>)/dgv,name:"keyword.operator.assign.d"}]},attribute:{patterns:[{include:"#linkage-attribute"},{include:"#align-attribute"},{include:"#deprecated-attribute"},{include:"#protection-attribute"},{include:"#pragma"},{match:/\b(static|extern|abstract|final|override|synchronized|auto|scope|const|immutable|inout|shared|__gshared|nothrow|pure|ref)\b/dgv,name:"entity.other.attribute-name.d"},{include:"#property"}]},"base-type":{patterns:[{match:/\b(auto|bool|byte|ubyte|short|ushort|int|uint|long|ulong|char|wchar|dchar|float|double|real|ifloat|idouble|ireal|cfloat|cdouble|creal|void|noreturn)\b/dgv,name:"storage.type.basic-type.d"},{match:/\b(string|wstring|dstring|size_t|ptrdiff_t)\b(?!\p{space}*=)/dgv,name:"storage.type.basic-type.d"}]},"binary-integer":{patterns:[{match:/\b(0[Bb])[01_]+(Lu|LU|uL|UL|[LUu])?\b/dgv,name:"constant.numeric.integer.binary.d"}]},"bitwise-expression":{patterns:[{match:/[\&\^\|]/dgv,name:"keyword.operator.bitwise.d"}]},"block-comment":{patterns:[{begin:/\/((?!\*\/)\*)+/dgv,beginCaptures:{"0":{name:"comment.block.begin.d"}},end:/\*+\//dgv,endCaptures:{"0":{name:"comment.block.end.d"}},name:"comment.block.content.d"}]},"break-statement":{patterns:[{match:/\bbreak\b/dgv,name:"keyword.control.break.d"}]},"case-statement":{patterns:[{begin:/\b(case)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.case.range.d"}},end:/:/dgv,endCaptures:{"0":{name:"meta.case.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"cast-expression":{patterns:[{begin:/\b(cast)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.operator.cast.d"},"2":{name:"keyword.operator.cast.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.operator.cast.end.d"}},patterns:[{include:"#type"},{include:"#extended-type"}]}]},catch:{patterns:[{begin:/\b(catch)\b\p{space}*(?=\()/dgv,captures:{"1":{name:"keyword.control.catch.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},catches:{patterns:[{include:"#catch"}]},character:{patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}\p{space}]+/dgv,name:"string.character.d"}]},"character-literal":{patterns:[{begin:/'/dgv,end:/'/dgv,name:"string.character-literal.d",patterns:[{include:"#character"},{include:"#escape-sequence"}]}]},"class-declaration":{patterns:[{captures:{"1":{name:"storage.type.class.d"},"2":{name:"entity.name.class.d"}},match:/\b(class)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv},{include:"#protection-attribute"},{include:"#class-members"}]},"class-members":{patterns:[{include:"#shared-static-constructor"},{include:"#shared-static-destructor"},{include:"#constructor"},{include:"#destructor"},{include:"#postblit"},{include:"#invariant"},{include:"#member-function-attribute"}]},colon:{patterns:[{match:/:/dgv,name:"support.type.colon.d"}]},comma:{patterns:[{match:/,/dgv,name:"keyword.operator.comma.d"}]},comment:{patterns:[{include:"#block-comment"},{include:"#line-comment"},{include:"#nesting-block-comment"}]},condition:{patterns:[{include:"#version-condition"},{include:"#debug-condition"},{include:"#static-if-condition"}]},"conditional-declaration":{patterns:[{include:"#condition"},{match:/\belse\b/dgv,name:"keyword.control.else.d"},{include:"#colon"},{include:"#decl-defs"}]},"conditional-expression":{patterns:[{match:/\p{space}([\:\?])\p{space}/dgv,name:"keyword.operator.ternary.d"}]},"conditional-statement":{patterns:[{include:"#condition"},{include:"#no-scope-non-empty-statement"},{match:/\belse\b/dgv,name:"keyword.control.else.d"}]},constructor:{patterns:[{match:/\bthis\b/dgv,name:"entity.name.function.constructor.d"}]},"continue-statement":{patterns:[{match:/\bcontinue\b/dgv,name:"keyword.control.continue.d"}]},"debug-condition":{patterns:[{begin:/\bdebug\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.debug.identifier.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.debug.identifier.end.d"}},patterns:[{include:"#integer-literal"},{include:"#identifier"}]},{match:/\bdebug\b\p{space}*(?!\()/dgv,name:"keyword.other.debug.plain.d"}]},"debug-specification":{patterns:[{match:/\bdebug\b\p{space}*(?==)/dgv,name:"keyword.other.debug-specification.d"}]},"decimal-float":{patterns:[{match:/\b((\.[0-9])|(0\.)|(([1-9]|(0[1-9_]))[0-9_]*\.))[0-9_]*((e-|E-|e\+|E\+|[Ee])[0-9][0-9_]*)?[FLf]?i?\b/dgv,name:"constant.numeric.float.decimal.d"}]},"decimal-integer":{patterns:[{match:/\b(0(?=[^BXbx\p{Nd}]))|([1-9][0-9_]*)(Lu|LU|uL|UL|[LUu])?\b/dgv,name:"constant.numeric.integer.decimal.d"}]},declaration:{patterns:[{include:"#alias-declaration"},{include:"#aggregate-declaration"},{include:"#enum-declaration"},{include:"#import-declaration"},{include:"#storage-class"},{include:"#void-initializer"},{include:"#mixin-declaration"}]},"declaration-statement":{patterns:[{include:"#declaration"}]},"default-statement":{patterns:[{captures:{"1":{name:"keyword.control.case.default.d"},"2":{name:"meta.default.colon.d"}},match:/\b(default)\p{space}*(:)/dgv}]},"delete-expression":{patterns:[{match:/\bdelete\p{space}+/dgv,name:"keyword.other.delete.d"}]},"delimited-string":{begin:/q"/dgv,end:/"/dgv,name:"string.delimited.d",patterns:[{include:"#delimited-string-bracket"},{include:"#delimited-string-parens"},{include:"#delimited-string-angle-brackets"},{include:"#delimited-string-braces"}]},"delimited-string-angle-brackets":{patterns:[{begin:/</dgv,end:/>/dgv,name:"constant.character.angle-brackets.d",patterns:[{include:"#wysiwyg-characters"}]}]},"delimited-string-braces":{patterns:[{begin:/\{/dgv,end:/\}/dgv,name:"constant.character.delimited.braces.d",patterns:[{include:"#wysiwyg-characters"}]}]},"delimited-string-bracket":{patterns:[{begin:/\[/dgv,end:/\]/dgv,name:"constant.characters.delimited.brackets.d",patterns:[{include:"#wysiwyg-characters"}]}]},"delimited-string-parens":{patterns:[{begin:/\(/dgv,end:/\)/dgv,name:"constant.character.delimited.parens.d",patterns:[{include:"#wysiwyg-characters"}]}]},"deprecated-statement":{patterns:[{begin:/\bdeprecated\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.deprecated.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.deprecated.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]},{match:/\bdeprecated\b\p{space}*(?!\()/dgv,name:"keyword.other.deprecated.plain.d"}]},destructor:{patterns:[{match:/\b~this\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.destructor.d"}]},"do-statement":{patterns:[{match:/\bdo\b/dgv,name:"keyword.control.do.d"}]},"double-quoted-characters":{patterns:[{include:"#character"},{include:"#end-of-line"},{include:"#escape-sequence"}]},"double-quoted-string":{patterns:[{begin:/"/dgv,end:/"[cdw]?/dgv,name:"string.double-quoted-string.d",patterns:[{include:"#double-quoted-characters"}]}]},"end-of-line":{patterns:[{match:/\n+/dgv,name:"string.character.end-of-line.d"}]},"enum-declaration":{patterns:[{begin:/\b(enum)\b\p{space}+(?=[^\n]*[\;\=])/dgv,beginCaptures:{"1":{name:"storage.type.enum.d"}},end:/([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*)\p{space}*(?=[\(\;\=])(;)?/dgv,endCaptures:{"1":{name:"entity.name.type.enum.d"},"2":{name:"meta.enum.end.d"}},patterns:[{include:"#type"},{include:"#extended-type"},{match:/=(?![\=\>])/dgv,name:"keyword.operator.equal.alias.d"}]}]},eof:{patterns:[{begin:/__EOF__/dgv,beginCaptures:{"0":{name:"comment.block.documentation.eof.start.d"}},end:/(?!__NEVER_MATCH__)__NEVER_MATCH__/dgv,name:"text.eof.d"}]},equal:{patterns:[{match:/=(?![\=\>])/dgv,name:"keyword.operator.equal.d"}]},"escape-sequence":{patterns:[{match:/(\\(?:quot|amp|lt|gt|OElig|oelig|Scaron|scaron|Yuml|circ|tilde|ensp|emsp|thinsp|zwnj|zwj|lrm|rlm|ndash|mdash|lsquo|rsquo|sbquo|ldquo|rdquo|bdquo|dagger|Dagger|permil|lsaquo|rsaquo|euro|nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|Aelig|Ccedil|egrave|eacute|ecirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|fnof|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf|sigma|tau|upsilon|phi|chi|psi|omega|thetasym|upsih|piv|bull|hellip|prime|Prime|oline|frasl|weierp|image|real|trade|alefsym|larr|uarr|rarr|darr|harr|crarr|lArr|uArr|rArr|dArr|hArr|forall|part|exist|empty|nabla|isin|notin|ni|prod|sum|minux|lowast|radic|prop|infin|ang|and|or|cap|cup|int|there4|sim|cong|asymp|ne|equiv|le|ge|sub|sup|nsub|sube|supe|oplus|otimes|perp|sdot|lceil|rceil|lfloor|rfloor|loz|spades|clubs|hearts|diams|lang|rang))/dgv,name:"constant.character.escape-sequence.entity.d"},{match:/(\\(?:x[_\p{AHex}]{2}|u[_\p{AHex}]{4}|U[_\p{AHex}]{8}|[0-7]{1,3}))/dgv,name:"constant.character.escape-sequence.number.d"},{match:/(\\["'0\?\\abfnrtv])/dgv,name:"constant.character.escape-sequence.d"}]},expression:{patterns:[{include:"#index-expression"},{include:"#expression-no-index"}]},"expression-no-index":{patterns:[{include:"#function-literal"},{include:"#assert-expression"},{include:"#assign-expression"},{include:"#mixin-expression"},{include:"#import-expression"},{include:"#traits-expression"},{include:"#is-expression"},{include:"#typeid-expression"},{include:"#shift-expression"},{include:"#logical-expression"},{include:"#rel-expression"},{include:"#bitwise-expression"},{include:"#identity-expression"},{include:"#in-expression"},{include:"#conditional-expression"},{include:"#arithmetic-expression"},{include:"#new-expression"},{include:"#delete-expression"},{include:"#cast-expression"},{include:"#type-specialization"},{include:"#comma"},{include:"#special-keyword"},{include:"#functions"},{include:"#type"},{include:"#parentheses-expression"},{include:"#lexical"}]},"extended-type":{patterns:[{match:/\b((\.\p{space}*)?[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*\b/dgv,name:"entity.name.type.d"},{begin:/\[/dgv,beginCaptures:{"0":{name:"storage.type.array.expression.begin.d"}},end:/\]/dgv,endCaptures:{"0":{name:"storage.type.array.expression.end.d"}},patterns:[{match:/\.\.|\$/dgv,name:"keyword.operator.slice.d"},{include:"#type"},{include:"#expression"}]}]},"final-switch-statement":{patterns:[{begin:/\b(final\p{space}+switch)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.final.switch.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"finally-statement":{patterns:[{match:/\bfinally\b/dgv,name:"keyword.control.throw.d"}]},"float-literal":{patterns:[{include:"#decimal-float"},{include:"#hexadecimal-float"}]},"for-statement":{patterns:[{begin:/\b(for)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.for.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"foreach-reverse-statement":{patterns:[{begin:/\b(foreach_reverse)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.foreach_reverse.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"foreach-statement":{patterns:[{begin:/\b(foreach)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.foreach.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"function-attribute":{patterns:[{match:/\b(nothrow|pure)\b/dgv,name:"storage.type.modifier.function-attribute.d"},{include:"#property"}]},"function-body":{patterns:[{include:"#in-statement"},{include:"#out-statement"},{include:"#block-statement"}]},"function-literal":{patterns:[{match:/=>/dgv,name:"keyword.operator.lambda.d"},{match:/\b(function|delegate)\b/dgv,name:"keyword.other.function-literal.d"},{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=>)/dgv,beginCaptures:{"1":{name:"variable.parameter.d"},"2":{name:"meta.lexical.token.symbolic.d"}},end:/(?=[\]\)\,\;\}])/dgv,patterns:[{include:"source.d"}]},{begin:/(?<=[\(\)])(\p{space}*)(\{)/dgv,beginCaptures:{"1":{name:"source.d"},"2":{name:"source.d"}},end:/\}/dgv,patterns:[{include:"source.d"}]}]},"function-prelude":{patterns:[{match:/(?!type(?:of|id))((\.\p{space}*)?[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*\p{space}*(?=\()/dgv,name:"entity.name.function.d"}]},functions:{patterns:[{include:"#function-attribute"},{include:"#function-prelude"}]},"goto-statement":{patterns:[{match:/\bgoto\p{space}+default\b/dgv,name:"keyword.control.goto.d"},{match:/\bgoto\p{space}+case\b/dgv,name:"keyword.control.goto.d"},{match:/\bgoto\b/dgv,name:"keyword.control.goto.d"}]},"hex-string":{patterns:[{begin:/x"/dgv,end:/"[cdw]?/dgv,name:"string.hex-string.d",patterns:[{match:/[_s\p{AHex}]+/dgv,name:"constant.character.hex-string.d"}]}]},"hexadecimal-float":{patterns:[{match:/\b0[Xx][_\p{AHex}]*(\.[_\p{AHex}]*)?(p-|P-|p\+|P\+|[Pp])[0-9][0-9_]*[FLf]?i?\b/dgv,name:"constant.numeric.float.hexadecimal.d"}]},"hexadecimal-integer":{patterns:[{match:/\b(0[Xx])(\p{AHex}[_\p{AHex}]*)(Lu|LU|uL|UL|[LUu])?\b/dgv,name:"constant.numeric.integer.hexadecimal.d"}]},identifier:{patterns:[{match:/\b((\.\p{space}*)?[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*\b/dgv,name:"variable.d"}]},"identifier-list":{patterns:[{match:/,/dgv,name:"keyword.other.comma.d"},{include:"#identifier"}]},"identity-expression":{patterns:[{match:/\b((?:|!)is)\b/dgv,name:"keyword.operator.identity.d"}]},"ies-string":{patterns:[{begin:/i"/dgv,end:/"[cdw]?/dgv,name:"string.ies-string.d",patterns:[{include:"#interpolation-escape"},{include:"#interpolation-sequence"},{include:"#double-quoted-characters"}]}]},"ies-token-string":{begin:/iq\{/dgv,beginCaptures:{"0":{name:"string.quoted.token.d"}},end:/\}[cdw]?/dgv,endCaptures:{"0":{name:"string.quoted.token.d"}},patterns:[{include:"#interpolation-sequence"},{include:"#token-string-content"}]},"ies-wysiwyg-string":{patterns:[{begin:/i`/dgv,end:/`[cdw]?/dgv,name:"string.ies-wysiwyg-string.d",patterns:[{include:"#interpolation-escape"},{include:"#interpolation-sequence"},{include:"#wysiwyg-characters"}]}]},"if-statement":{patterns:[{begin:/\b(if)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.if.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]},{match:/\belse\b\p{space}*/dgv,name:"keyword.control.else.d"}]},"import-declaration":{patterns:[{begin:/\b(static\p{space}+)?(import)\p{space}+(?!\()/dgv,beginCaptures:{"1":{name:"keyword.package.import.d"},"2":{name:"keyword.package.import.d"}},end:/;/dgv,endCaptures:{"0":{name:"meta.import.end.d"}},patterns:[{include:"#import-identifier"},{include:"#comma"},{include:"#comment"}]}]},"import-expression":{patterns:[{begin:/\b(import)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.other.import.d"},"2":{name:"keyword.other.import.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.import.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"import-identifier":{patterns:[{match:/([A-Z_a-z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[A-Z_a-z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*/dgv,name:"variable.parameter.import.d"}]},"in-expression":{patterns:[{match:/\b((?:|!)in)\b/dgv,name:"keyword.operator.in.d"}]},"in-statement":{patterns:[{match:/\bin\b/dgv,name:"keyword.control.in.d"}]},"index-expression":{patterns:[{begin:/\[/dgv,end:/\]/dgv,patterns:[{match:/\.\.|\$/dgv,name:"keyword.operator.slice.d"},{include:"#expression-no-index"}]}]},"integer-literal":{patterns:[{include:"#decimal-integer"},{include:"#binary-integer"},{include:"#hexadecimal-integer"}]},"interface-declaration":{patterns:[{captures:{"1":{name:"storage.type.interface.d"},"2":{name:"entity.name.type.interface.d"}},match:/\b(interface)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},"interpolation-escape":{match:/\\\$/dgv,name:"constant.character.escape-sequence.d"},"interpolation-sequence":{begin:/\$\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.d"}},name:"meta.interpolation.expression.d",patterns:[{include:"#expression"}]},invariant:{patterns:[{match:/\binvariant\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.invariant.d"}]},"is-expression":{patterns:[{begin:/\bis\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.token.is.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.token.is.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},keyword:{patterns:[{match:/\babstract\b/dgv,name:"keyword.token.abstract.d"},{match:/\balias\b/dgv,name:"keyword.token.alias.d"},{match:/\balign\b/dgv,name:"keyword.token.align.d"},{match:/\basm\b/dgv,name:"keyword.token.asm.d"},{match:/\bassert\b/dgv,name:"keyword.token.assert.d"},{match:/\bauto\b/dgv,name:"keyword.token.auto.d"},{match:/\bbool\b/dgv,name:"keyword.token.bool.d"},{match:/\bbreak\b/dgv,name:"keyword.token.break.d"},{match:/\bbyte\b/dgv,name:"keyword.token.byte.d"},{match:/\bcase\b/dgv,name:"keyword.token.case.d"},{match:/\bcast\b/dgv,name:"keyword.token.cast.d"},{match:/\bcatch\b/dgv,name:"keyword.token.catch.d"},{match:/\bcdouble\b/dgv,name:"keyword.token.cdouble.d"},{match:/\bcent\b/dgv,name:"keyword.token.cent.d"},{match:/\bcfloat\b/dgv,name:"keyword.token.cfloat.d"},{match:/\bchar\b/dgv,name:"keyword.token.char.d"},{match:/\bclass\b/dgv,name:"keyword.token.class.d"},{match:/\bconst\b/dgv,name:"keyword.token.const.d"},{match:/\bcontinue\b/dgv,name:"keyword.token.continue.d"},{match:/\bcreal\b/dgv,name:"keyword.token.creal.d"},{match:/\bdchar\b/dgv,name:"keyword.token.dchar.d"},{match:/\bdebug\b/dgv,name:"keyword.token.debug.d"},{match:/\bdefault\b/dgv,name:"keyword.token.default.d"},{match:/\bdelegate\b/dgv,name:"keyword.token.delegate.d"},{match:/\bdelete\b/dgv,name:"keyword.token.delete.d"},{match:/\bdeprecated\b/dgv,name:"keyword.token.deprecated.d"},{match:/\bdo\b/dgv,name:"keyword.token.do.d"},{match:/\bdouble\b/dgv,name:"keyword.token.double.d"},{match:/\belse\b/dgv,name:"keyword.token.else.d"},{match:/\benum\b/dgv,name:"keyword.token.enum.d"},{match:/\bexport\b/dgv,name:"keyword.token.export.d"},{match:/\bextern\b/dgv,name:"keyword.token.extern.d"},{match:/\bfalse\b/dgv,name:"constant.language.boolean.false.d"},{match:/\bfinal\b/dgv,name:"keyword.token.final.d"},{match:/\bfinally\b/dgv,name:"keyword.token.finally.d"},{match:/\bfloat\b/dgv,name:"keyword.token.float.d"},{match:/\bfor\b/dgv,name:"keyword.token.for.d"},{match:/\bforeach\b/dgv,name:"keyword.token.foreach.d"},{match:/\bforeach_reverse\b/dgv,name:"keyword.token.foreach_reverse.d"},{match:/\bfunction\b/dgv,name:"keyword.token.function.d"},{match:/\bgoto\b/dgv,name:"keyword.token.goto.d"},{match:/\bidouble\b/dgv,name:"keyword.token.idouble.d"},{match:/\bif\b/dgv,name:"keyword.token.if.d"},{match:/\bifloat\b/dgv,name:"keyword.token.ifloat.d"},{match:/\bimmutable\b/dgv,name:"keyword.token.immutable.d"},{match:/\bimport\b/dgv,name:"keyword.token.import.d"},{match:/\bin\b/dgv,name:"keyword.token.in.d"},{match:/\binout\b/dgv,name:"keyword.token.inout.d"},{match:/\bint\b/dgv,name:"keyword.token.int.d"},{match:/\binterface\b/dgv,name:"keyword.token.interface.d"},{match:/\binvariant\b/dgv,name:"keyword.token.invariant.d"},{match:/\bireal\b/dgv,name:"keyword.token.ireal.d"},{match:/\bis\b/dgv,name:"keyword.token.is.d"},{match:/\blazy\b/dgv,name:"keyword.token.lazy.d"},{match:/\blong\b/dgv,name:"keyword.token.long.d"},{match:/\bmacro\b/dgv,name:"keyword.token.macro.d"},{match:/\bmixin\b/dgv,name:"keyword.token.mixin.d"},{match:/\bmodule\b/dgv,name:"keyword.token.module.d"},{match:/\bnew\b/dgv,name:"keyword.token.new.d"},{match:/\bnothrow\b/dgv,name:"keyword.token.nothrow.d"},{match:/\bnull\b/dgv,name:"constant.language.null.d"},{match:/\bout\b/dgv,name:"keyword.token.out.d"},{match:/\boverride\b/dgv,name:"keyword.token.override.d"},{match:/\bpackage\b/dgv,name:"keyword.token.package.d"},{match:/\bpragma\b/dgv,name:"keyword.token.pragma.d"},{match:/\bprivate\b/dgv,name:"keyword.token.private.d"},{match:/\bprotected\b/dgv,name:"keyword.token.protected.d"},{match:/\bpublic\b/dgv,name:"keyword.token.public.d"},{match:/\bpure\b/dgv,name:"keyword.token.pure.d"},{match:/\breal\b/dgv,name:"keyword.token.real.d"},{match:/\bref\b/dgv,name:"keyword.token.ref.d"},{match:/\breturn\b/dgv,name:"keyword.token.return.d"},{match:/\bscope\b/dgv,name:"keyword.token.scope.d"},{match:/\bshared\b/dgv,name:"keyword.token.shared.d"},{match:/\bshort\b/dgv,name:"keyword.token.short.d"},{match:/\bstatic\b/dgv,name:"keyword.token.static.d"},{match:/\bstruct\b/dgv,name:"keyword.token.struct.d"},{match:/\bsuper\b/dgv,name:"keyword.token.super.d"},{match:/\bswitch\b/dgv,name:"keyword.token.switch.d"},{match:/\bsynchronized\b/dgv,name:"keyword.token.synchronized.d"},{match:/\btemplate\b/dgv,name:"keyword.token.template.d"},{match:/\bthis\b/dgv,name:"keyword.token.this.d"},{match:/\bthrow\b/dgv,name:"keyword.token.throw.d"},{match:/\btrue\b/dgv,name:"constant.language.boolean.true.d"},{match:/\btry\b/dgv,name:"keyword.token.try.d"},{match:/\btypedef\b/dgv,name:"keyword.token.typedef.d"},{match:/\btypeid\b/dgv,name:"keyword.token.typeid.d"},{match:/\btypeof\b/dgv,name:"keyword.token.typeof.d"},{match:/\bubyte\b/dgv,name:"keyword.token.ubyte.d"},{match:/\bucent\b/dgv,name:"keyword.token.ucent.d"},{match:/\buint\b/dgv,name:"keyword.token.uint.d"},{match:/\bulong\b/dgv,name:"keyword.token.ulong.d"},{match:/\bunion\b/dgv,name:"keyword.token.union.d"},{match:/\bunittest\b/dgv,name:"keyword.token.unittest.d"},{match:/\bushort\b/dgv,name:"keyword.token.ushort.d"},{match:/\bversion\b/dgv,name:"keyword.token.version.d"},{match:/\bvoid\b/dgv,name:"keyword.token.void.d"},{match:/\bvolatile\b/dgv,name:"keyword.token.volatile.d"},{match:/\bwchar\b/dgv,name:"keyword.token.wchar.d"},{match:/\bwhile\b/dgv,name:"keyword.token.while.d"},{match:/\bwith\b/dgv,name:"keyword.token.with.d"},{match:/\b__FILE__\b/dgv,name:"keyword.token.__FILE__.d"},{match:/\b__MODULE__\b/dgv,name:"keyword.token.__MODULE__.d"},{match:/\b__LINE__\b/dgv,name:"keyword.token.__LINE__.d"},{match:/\b__FUNCTION__\b/dgv,name:"keyword.token.__FUNCTION__.d"},{match:/\b__PRETTY_FUNCTION__\b/dgv,name:"keyword.token.__PRETTY_FUNCTION__.d"},{match:/\b__gshared\b/dgv,name:"keyword.token.__gshared.d"},{match:/\b__traits\b/dgv,name:"keyword.token.__traits.d"},{match:/\b__vector\b/dgv,name:"keyword.token.__vector.d"},{match:/\b__parameters\b/dgv,name:"keyword.token.__parameters.d"}]},"labeled-statement":{patterns:[{match:/\b(?!abstract|alias|align|asm|assert|auto|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|in|inout|int|interface|invariant|ireal|is|lazy|long|macro|mixin|module|new|nothrow|noreturn|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__|__gshared|__traits|__vector|__parameters)[A-Z_a-z][0-9A-Z_a-z]*\p{space}*:/dgv,name:"entity.name.d"}]},lexical:{patterns:[{include:"#comment"},{include:"#string-literal"},{include:"#character-literal"},{include:"#float-literal"},{include:"#integer-literal"},{include:"#eof"},{include:"#special-tokens"},{include:"#special-token-sequence"},{include:"#keyword"},{include:"#identifier"}]},"line-comment":{patterns:[{match:/\/\/+[^\n]*(?=\n?$)/dgv,name:"comment.line.d"}]},"linkage-attribute":{patterns:[{begin:/\bextern\p{space}*\(\p{space}*C\+\+\p{space}*,/dgv,beginCaptures:{"0":{name:"keyword.other.extern.cplusplus.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.extern.cplusplus.end.d"}},patterns:[{include:"#identifier"},{include:"#comma"}]},{begin:/\bextern\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.extern.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.extern.end.d"}},patterns:[{include:"#linkage-type"}]}]},"linkage-type":{patterns:[{match:/C|C\+\+|D|Windows|Pascal|System/dgv,name:"storage.modifier.linkage-type.d"}]},"logical-expression":{patterns:[{match:/\|\||&&|==|!=|!/dgv,name:"keyword.operator.logical.d"}]},"member-function-attribute":{patterns:[{match:/\b(const|immutable|inout|shared)\b/dgv,name:"storage.type.modifier.member-function-attribute"}]},"mixin-declaration":{patterns:[{begin:/\bmixin\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.mixin.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.mixin.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"mixin-expression":{patterns:[{begin:/\bmixin\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.mixin.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.mixin.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"mixin-statement":{patterns:[{begin:/\bmixin\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.control.mixin.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.control.mixin.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"mixin-template-declaration":{patterns:[{captures:{"1":{name:"storage.type.mixintemplate.d"},"2":{name:"entity.name.type.mixintemplate.d"}},match:/\b(mixin\p{space}*template)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},module:{packages:[{import:"#module-declaration"}]},"module-declaration":{patterns:[{begin:/\b(module)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.package.module.d"}},end:/;/dgv,endCaptures:{"0":{name:"meta.module.end.d"}},patterns:[{include:"#module-identifier"},{include:"#comment"}]}]},"module-identifier":{patterns:[{match:/([A-Z_a-z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[A-Z_a-z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*/dgv,name:"variable.parameter.module.d"}]},"nesting-block-comment":{patterns:[{begin:/\/((?!\+\/)\+)+/dgv,beginCaptures:{"0":{name:"comment.block.documentation.begin.d"}},end:/\++\//dgv,endCaptures:{"0":{name:"comment.block.documentation.end.d"}},name:"comment.block.documentation.content.d",patterns:[{include:"#nesting-block-comment"}]}]},"new-expression":{patterns:[{match:/\bnew\p{space}+/dgv,name:"keyword.other.new.d"}]},"non-block-statement":{patterns:[{include:"#module-declaration"},{include:"#labeled-statement"},{include:"#if-statement"},{include:"#while-statement"},{include:"#do-statement"},{include:"#for-statement"},{include:"#static-foreach"},{include:"#static-foreach-reverse"},{include:"#foreach-statement"},{include:"#foreach-reverse-statement"},{include:"#switch-statement"},{include:"#final-switch-statement"},{include:"#case-statement"},{include:"#default-statement"},{include:"#continue-statement"},{include:"#break-statement"},{include:"#return-statement"},{include:"#goto-statement"},{include:"#with-statement"},{include:"#synchronized-statement"},{include:"#try-statement"},{include:"#catches"},{include:"#scope-guard-statement"},{include:"#throw-statement"},{include:"#finally-statement"},{include:"#asm-statement"},{include:"#pragma-statement"},{include:"#mixin-statement"},{include:"#conditional-statement"},{include:"#static-assert"},{include:"#deprecated-statement"},{include:"#unit-test"},{include:"#declaration-statement"}]},operands:{patterns:[{match:/[\:\?]/dgv,name:"keyword.operator.ternary.assembly.d"},{match:/[\]\[]/dgv,name:"keyword.operator.bracket.assembly.d"},{match:/>>>|\|\||&&|==|!=|<=|>=|<<|>>|[\-\!\%\&\*\+\/\<\>\^\|\~]/dgv,name:"keyword.operator.assembly.d"}]},"out-statement":{patterns:[{begin:/\bout\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.control.out.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.control.out.end.d"}},patterns:[{include:"#identifier"}]},{match:/\bout\b/dgv,name:"keyword.control.out.d"}]},"parentheses-expression":{patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#expression"}]}]},postblit:{patterns:[{match:/\bthis\p{space}*\(\p{space}*this\p{space}*\)\p{space}/dgv,name:"entity.name.class.postblit.d"}]},pragma:{patterns:[{match:/\bpragma\p{space}*\(\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\)/dgv,name:"keyword.other.pragma.d"},{begin:/\bpragma\p{space}*\(\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*,/dgv,end:/\)/dgv,name:"keyword.other.pragma.d",patterns:[{include:"#expression"}]},{match:/^#![^\n]+/dgv,name:"gfm.markup.header.preprocessor.script-tag.d"}]},"pragma-statement":{patterns:[{include:"#pragma"}]},property:{patterns:[{match:/@(property|safe|trusted|system|disable|nogc)\b/dgv,name:"entity.name.tag.property.d"},{include:"#user-defined-attribute"}]},"protection-attribute":{patterns:[{match:/\b(private|package|protected|public|export)\b/dgv,name:"keyword.other.protections.d"}]},register:{patterns:[{match:/\b(XMM0|XMM1|XMM2|XMM3|XMM4|XMM5|XMM6|XMM7|MM0|MM1|MM2|MM3|MM4|MM5|MM6|MM7|ST\(0\)|ST\(1\)|ST\(2\)|ST\(3\)|ST\(4\)|ST\(5\)|ST\(6\)|ST\(7\)|ST|TR1|TR2|TR3|TR4|TR5|TR6|TR7|DR0|DR1|DR2|DR3|DR4|DR5|DR6|DR7|CR0|CR2|CR3|CR4|EAX|EBX|ECX|EDX|EBP|ESP|EDI|ESI|AL|AH|AX|BL|BH|BX|CL|CH|CX|DL|DH|DX|BP|SP|DI|SI|ES|CS|SS|DS|GS|FS)\b/dgv,name:"storage.type.assembly.register.d"}]},"register-64":{patterns:[{match:/\b(RAX|RBX|RCX|RDX|BPL|RBP|SPL|RSP|DIL|RDI|SIL|RSI|R8B|R8W|R8D|R8|R9B|R9W|R9D|R9|R10B|R10W|R10D|R10|R11B|R11W|R11D|R11|R12B|R12W|R12D|R12|R13B|R13W|R13D|R13|R14B|R14W|R14D|R14|R15B|R15W|R15D|R15|XMM8|XMM9|XMM10|XMM11|XMM12|XMM13|XMM14|XMM15|YMM0|YMM1|YMM2|YMM3|YMM4|YMM5|YMM6|YMM7|YMM8|YMM9|YMM10|YMM11|YMM12|YMM13|YMM14|YMM15)\b/dgv,name:"storage.type.assembly.register-64.d"}]},"rel-expression":{patterns:[{match:/!<>=|!<>|<>=|!>=|!<=|<=|>=|<>|!>|!<|[\<\>]/dgv,name:"keyword.operator.rel.d"}]},"return-statement":{patterns:[{match:/\breturn\b/dgv,name:"keyword.control.return.d"}]},"scope-guard-statement":{patterns:[{match:/\bscope\p{space}*\((exit|success|failure)\)/dgv,name:"keyword.control.scope.d"}]},"semi-colon":{patterns:[{match:/;/dgv,name:"meta.statement.end.d"}]},"shared-static-constructor":{patterns:[{match:/\b(shared\p{space}+)?static\p{space}+this\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.constructor.shared-static.d"},{include:"#function-body"}]},"shared-static-destructor":{patterns:[{match:/\b(shared\p{space}+)?static\p{space}+~this\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.destructor.static.d"}]},"shift-expression":{patterns:[{match:/<<|>>|>>>/dgv,name:"keyword.operator.shift.d"},{include:"#add-expression"}]},"special-keyword":{patterns:[{match:/\b(__(?:FILE|FILE_FULL_PATH|MODULE|LINE|FUNCTION|PRETTY_FUNCTION)__)\b/dgv,name:"constant.language.special-keyword.d"}]},"special-token-sequence":{patterns:[{match:/#\p{space}*line[^\n]*/dgv,name:"gfm.markup.italic.special-token-sequence.d"}]},"special-tokens":{patterns:[{match:/\b(__(?:DATE|TIME|TIMESTAMP|VENDOR|VERSION)__)\b/dgv,name:"gfm.markup.raw.special-tokens.d"}]},statement:{patterns:[{include:"#non-block-statement"},{include:"#semi-colon"}]},"static-assert":{patterns:[{begin:/\bstatic\p{space}+assert\b\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.static-assert.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.static-assert.end.d"}},patterns:[{include:"#expression"}]}]},"static-foreach":{patterns:[{begin:/\b(static\p{space}+foreach)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.static-foreach.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"static-foreach-reverse":{patterns:[{begin:/\b(static\p{space}+foreach_reverse)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.static-foreach.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"static-if-condition":{patterns:[{begin:/\bstatic\p{space}+if\b\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.control.static-if.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.control.static-if.end.d"}},patterns:[{include:"#comment"},{include:"#expression"}]}]},"storage-class":{patterns:[{match:/\b(deprecated|enum|static|extern|abstract|final|override|synchronized|auto|scope|const|immutable|inout|shared|__gshared|nothrow|pure|ref)\b/dgv,name:"storage.class.d"},{include:"#linkage-attribute"},{include:"#align-attribute"},{include:"#property"}]},"string-literal":{patterns:[{include:"#wysiwyg-string"},{include:"#alternate-wysiwyg-string"},{include:"#hex-string"},{include:"#arbitrary-delimited-string"},{include:"#delimited-string"},{include:"#double-quoted-string"},{include:"#token-string"},{include:"#ies-string"},{include:"#ies-wysiwyg-string"},{include:"#ies-token-string"}]},"struct-declaration":{patterns:[{captures:{"1":{name:"storage.type.struct.d"},"2":{name:"entity.name.type.struct.d"}},match:/\b(struct)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},"switch-statement":{patterns:[{begin:/\b(switch)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.switch.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"synchronized-statement":{patterns:[{begin:/\b(synchronized)\b\p{space}*(?=\()/dgv,captures:{"1":{name:"keyword.control.synchronized.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"template-declaration":{patterns:[{captures:{"1":{name:"storage.type.template.d"},"2":{name:"entity.name.type.template.d"}},match:/\b(template)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},"throw-statement":{patterns:[{match:/\bthrow\b/dgv,name:"keyword.control.throw.d"}]},"token-string":{begin:/q\{/dgv,beginCaptures:{"0":{name:"string.quoted.token.d"}},end:/\}[cdw]?/dgv,endCaptures:{"0":{name:"string.quoted.token.d"}},patterns:[{include:"#token-string-content"}]},"token-string-content":{patterns:[{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#token-string-content"}]},{include:"#comment"},{include:"#tokens"}]},tokens:{patterns:[{include:"#string-literal"},{include:"#character-literal"},{include:"#integer-literal"},{include:"#float-literal"},{include:"#keyword"},{match:/~=|~|>>>|>>=|>>|>=|>|=>|==|=|<>|<=|<<|<|%=|[\#\%]|&=|&&|[\$\&]|\|=|\|\||\||\+=|\+\+|\+|\^=|\^\^=|\^\^|\^|\*=|[\]\(\)\*\[\{\}]|\.\.\.|\.\.|[\.\?]|!>=|!>|!=|!<>=|!<>|!<=|!<|!|\/=|[\,\/\:\;\@]|-=|--|-/dgv,name:"meta.lexical.token.symbolic.d"},{include:"#identifier"}]},"traits-argument":{patterns:[{include:"#expression"},{include:"#type"}]},"traits-arguments":{patterns:[{include:"#traits-argument"},{include:"#comma"}]},"traits-expression":{patterns:[{begin:/\b__traits\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.traits.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.traits.end.d"}},patterns:[{include:"#traits-keyword"},{include:"#comma"},{include:"#traits-argument"}]}]},"traits-keyword":{patterns:[{match:/isAbstractClass|isArithmetic|isAssociativeArray|isFinalClass|isPOD|isNested|isFloating|isIntegral|isScalar|isStaticArray|isUnsigned|isVirtualFunction|isVirtualMethod|isAbstractFunction|isFinalFunction|isStaticFunction|isOverrideFunction|isRef|isOut|isLazy|hasMember|identifier|getAliasThis|getAttributes|getMember|getOverloads|getProtection|getVirtualFunctions|getVirtualMethods|getUnitTests|parent|classInstanceSize|getVirtualIndex|allMembers|derivedMembers|isSame|compiles/dgv,name:"support.constant.traits-keyword.d"}]},"try-statement":{patterns:[{match:/\btry\b/dgv,name:"keyword.control.try.d"}]},type:{patterns:[{include:"#typeof"},{include:"#base-type"},{include:"#type-ctor"},{begin:/!\(/dgv,end:/\)/dgv,patterns:[{include:"#type"},{include:"#expression"}]}]},"type-ctor":{patterns:[{match:/(const|immutable|inout|shared)\b/dgv,name:"storage.type.modifier.d"}]},"type-specialization":{patterns:[{match:/\b(struct|union|class|interface|enum|function|delegate|super|const|immutable|inout|shared|return|__parameters)\b/dgv,name:"keyword.other.storage.type-specialization.d"}]},"typeid-expression":{patterns:[{match:/\btypeid\p{space}*(?=\()/dgv,name:"keyword.other.typeid.d"}]},typeof:{begin:/typeof\p{space}*\(/dgv,end:/\)/dgv,name:"keyword.token.typeof.d",patterns:[{match:/return/dgv,name:"keyword.control.return.d"},{include:"#expression"}]},"union-declaration":{patterns:[{captures:{"1":{name:"storage.type.union.d"},"2":{name:"entity.name.type.union.d"}},match:/\b(union)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},"user-defined-attribute":{patterns:[{match:/@([_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.tag.user-defined-property.d"},{begin:/@([_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)?\(/dgv,end:/\)/dgv,name:"entity.name.tag.user-defined-property.d",patterns:[{include:"#expression"}]}]},"version-condition":{patterns:[{match:/\bversion\p{space}*\(\p{space}*unittest\p{space}*\)/dgv,name:"keyword.other.version.unittest.d"},{match:/\bversion\p{space}*\(\p{space}*assert\p{space}*\)/dgv,name:"keyword.other.version.assert.d"},{begin:/\bversion\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.version.identifier.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.version.identifer.end.d"}},patterns:[{include:"#integer-literal"},{include:"#identifier"}]},{include:"#version-specification"}]},"version-specification":{patterns:[{match:/\bversion\b\p{space}*(?==)/dgv,name:"keyword.other.version-specification.d"}]},"void-initializer":{patterns:[{match:/\bvoid\b/dgv,name:"support.type.void.d"}]},"while-statement":{patterns:[{begin:/\b(while)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.while.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"with-statement":{patterns:[{begin:/\b(with)\b\p{space}*(?=\()/dgv,captures:{"1":{name:"keyword.control.with.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"wysiwyg-characters":{patterns:[{include:"#character"},{include:"#end-of-line"}]},"wysiwyg-string":{patterns:[{begin:/r"/dgv,end:/"[cdw]?/dgv,name:"string.wysiwyg-string.d",patterns:[{include:"#wysiwyg-characters"}]}]}},scopeName:"source.d",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/dart.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Dart",name:"dart",patterns:[{match:/^(#![^\n]*)(?=\n?$)/dgv,name:"meta.preprocessor.script.dart"},{begin:/^[\p{L}\p{M}\p{N}\p{Pc}]*\b(augment\p{space}+library|library|import\p{space}+augment|import|part\p{space}+of|part|export)\b/dgv,beginCaptures:{"0":{name:"keyword.other.import.dart"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.dart"}},name:"meta.declaration.dart",patterns:[{include:"#strings"},{include:"#comments"},{match:/\b(as|show|hide)\b/dgv,name:"keyword.other.import.dart"},{match:/\b(if)\b/dgv,name:"keyword.control.dart"}]},{include:"#comments"},{include:"#punctuation"},{include:"#annotations"},{include:"#keywords"},{include:"#constants-and-special-vars"},{include:"#operators"},{include:"#strings"}],repository:{annotations:{patterns:[{match:/@[a-zA-Z]+/dgv,name:"storage.type.annotation.dart"}]},"class-identifier":{patterns:[{match:/(?<!\$)\b(bool|num|int|double|dynamic)\b(?!\$)/dgv,name:"support.class.dart"},{match:/(?<!\$)\bvoid\b(?!\$)/dgv,name:"storage.type.primitive.dart"},{begin:/(?<![a-zA-Z0-9_\$])([_\$]*[A-Z][a-zA-Z0-9_\$]*)\b/dgv,beginCaptures:{"1":{name:"support.class.dart"}},end:/(?!<)/dgv,patterns:[{include:"#type-args"}]}]},comments:{patterns:[{captures:{"0":{name:"punctuation.definition.comment.dart"}},match:/\/\*\*\//dgv,name:"comment.block.empty.dart"},{include:"#comments-doc-oldschool"},{include:"#comments-doc"},{include:"#comments-inline"}]},"comments-block":{patterns:[{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.dart",patterns:[{include:"#comments-block"}]}]},"comments-doc":{patterns:[{begin:/\/\/\//dgv,end:/^(?!\p{space}*\/\/\/)/dgv,name:"comment.block.documentation.dart",patterns:[{include:"#dartdoc"}]}]},"comments-doc-oldschool":{patterns:[{begin:/\/\*\*/dgv,end:/\*\//dgv,name:"comment.block.documentation.dart",patterns:[{include:"#comments-doc-oldschool"},{include:"#comments-block"},{include:"#dartdoc"}]}]},"comments-inline":{patterns:[{include:"#comments-block"},{captures:{"1":{name:"comment.line.double-slash.dart"}},match:/((\/\/)[^\n]*)(?=\n?$)/dgv}]},"constants-and-special-vars":{patterns:[{match:/(?<!\$)\b(true|false|null)\b(?!\$)/dgv,name:"constant.language.dart"},{match:/(?<!\$)\b(this|super|augmented)\b(?!\$)/dgv,name:"variable.language.dart"},{match:/(?<!\$)\b((0([xX])\p{AHex}[_\p{AHex}]*)|(([0-9][0-9_]*\.?[0-9_]*)|(\.[0-9][0-9_]*))(([eE])([\+\-])?[0-9][0-9_]*)?)\b(?!\$)/dgv,name:"constant.numeric.dart"},{include:"#class-identifier"},{include:"#function-identifier"}]},dartdoc:{patterns:[{captures:{"0":{name:"variable.name.source.dart"}},match:/(\[[^\n]*?\])/dgv},{begin:/^\p{space}*\/\/\/\p{space}*(```)/dgv,end:/^(?:\p{space}*\/\/\/\p{space}*(```)|(?!\p{space}*\/\/\/))/dgv,patterns:[{include:"#dartdoc-codeblock-triple"}]},{begin:/^\p{space}*\*\p{space}*(```)/dgv,end:/^(?:\p{space}*\*\p{space}*(```)|(?=\p{space}*\*\/))/dgv,patterns:[{include:"#dartdoc-codeblock-block"}]},{match:/`[^\`\n]+`/dgv,name:"variable.other.source.dart"},{captures:{"1":{name:"variable.other.source.dart"}},match:/(?:\*|\/\/)\p{space}{4,}([^\n]*?)(?=((?=\n?$)|\*\/))/dgv}]},"dartdoc-codeblock-block":{begin:/^\p{space}*\*\p{space}*(?!(\p{space}*```|\/))/dgv,contentName:"variable.other.source.dart",end:/\n/dgv},"dartdoc-codeblock-triple":{begin:/^\p{space}*\/\/\/\p{space}*(?!\p{space}*```)/dgv,contentName:"variable.other.source.dart",end:/\n/dgv},expression:{patterns:[{include:"#constants-and-special-vars"},{include:"#strings"},{match:/[a-zA-Z0-9_]+/dgv,name:"variable.parameter.dart"},{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#expression"}]}]},"function-identifier":{patterns:[{captures:{"1":{name:"entity.name.function.dart"},"2":{patterns:[{include:"#type-args"}]}},match:/([_\$]*[a-z][a-zA-Z0-9_\$]*)(<(?:[a-zA-Z0-9_\$\<\>\?]|,\p{space}*|\p{space}+extends\p{space}+)+>)?[\!\?]?\(/dgv}]},keywords:{patterns:[{match:/(?<!\$)\bas\b(?!\$)/dgv,name:"keyword.cast.dart"},{match:/(?<!\$)\b(try|on|catch|finally|throw|rethrow)\b(?!\$)/dgv,name:"keyword.control.catch-exception.dart"},{match:/(?<!\$)\b(break|case|continue|default|do|else|for|if|in|switch|while|when)\b(?!\$)/dgv,name:"keyword.control.dart"},{match:/(?<!\$)\b(sync(\*)?|async(\*)?|await|yield(\*)?)\b(?!\$)/dgv,name:"keyword.control.dart"},{match:/(?<!\$)\bassert\b(?!\$)/dgv,name:"keyword.control.dart"},{match:/(?<!\$)\b(new)\b(?!\$)/dgv,name:"keyword.control.new.dart"},{match:/(?<!\$)\b(return)\b(?!\$)/dgv,name:"keyword.control.return.dart"},{match:/(?<!\$)\b(abstract|sealed|base|interface|class|enum|extends|extension\p{space}+type|extension|external|factory|implements|get(?![\(\<])|mixin|native|operator|set(?![\(\<])|typedef|with|covariant)\b(?!\$)/dgv,name:"keyword.declaration.dart"},{match:/(?<!\$)\b(macro|augment|static|final|const|required|late)\b(?!\$)/dgv,name:"storage.modifier.dart"},{match:/(?<!\$)\bv(?:oid|ar)\b(?!\$)/dgv,name:"storage.type.primitive.dart"}]},operators:{patterns:[{match:/(?<!\$)\b(is!?)\b(?!\$)/dgv,name:"keyword.operator.dart"},{match:/[\?\:]/dgv,name:"keyword.operator.ternary.dart"},{match:/(<<|>>>?|[\~\^\|\&])/dgv,name:"keyword.operator.bitwise.dart"},{match:/(([\&\^\|]|<<|>>>?)=)/dgv,name:"keyword.operator.assignment.bitwise.dart"},{match:/(=>)/dgv,name:"keyword.operator.closure.dart"},{match:/(==|!=|<=?|>=?)/dgv,name:"keyword.operator.comparison.dart"},{match:/(([\+\*\/\%\-\~])=)/dgv,name:"keyword.operator.assignment.arithmetic.dart"},{match:/(=)/dgv,name:"keyword.operator.assignment.dart"},{match:/(--|\+\+)/dgv,name:"keyword.operator.increment-decrement.dart"},{match:/([\-\+\*\/]|~\/|%)/dgv,name:"keyword.operator.arithmetic.dart"},{match:/(!|&&|\|\|)/dgv,name:"keyword.operator.logical.dart"}]},punctuation:{patterns:[{match:/,/dgv,name:"punctuation.comma.dart"},{match:/;/dgv,name:"punctuation.terminator.dart"},{match:/\./dgv,name:"punctuation.dot.dart"}]},"string-interp":{patterns:[{captures:{"1":{name:"variable.parameter.dart"}},match:/\$([a-zA-Z0-9_]+)/dgv,name:"meta.embedded.expression.dart"},{begin:/\$\{/dgv,end:/\}/dgv,name:"meta.embedded.expression.dart",patterns:[{include:"#expression"}]},{match:/\\[^\n]/dgv,name:"constant.character.escape.dart"}]},strings:{patterns:[{begin:/(?<!r)"""/dgv,end:/"""(?!")/dgv,name:"string.interpolated.triple.double.dart",patterns:[{include:"#string-interp"}]},{begin:/(?<!r)'''/dgv,end:/'''(?!')/dgv,name:"string.interpolated.triple.single.dart",patterns:[{include:"#string-interp"}]},{begin:/r"""/dgv,end:/"""(?!")/dgv,name:"string.quoted.triple.double.dart"},{begin:/r'''/dgv,end:/'''(?!')/dgv,name:"string.quoted.triple.single.dart"},{begin:/(?<!\|r)"/dgv,end:/"/dgv,name:"string.interpolated.double.dart",patterns:[{match:/\n/dgv,name:"invalid.string.newline"},{include:"#string-interp"}]},{begin:/r"/dgv,end:/"/dgv,name:"string.quoted.double.dart",patterns:[{match:/\n/dgv,name:"invalid.string.newline"}]},{begin:/(?<!\|r)'/dgv,end:/'/dgv,name:"string.interpolated.single.dart",patterns:[{match:/\n/dgv,name:"invalid.string.newline"},{include:"#string-interp"}]},{begin:/r'/dgv,end:/'/dgv,name:"string.quoted.single.dart",patterns:[{match:/\n/dgv,name:"invalid.string.newline"}]}]},"type-args":{begin:/(<)/dgv,beginCaptures:{"1":{name:"other.source.dart"}},end:/(>)/dgv,endCaptures:{"1":{name:"other.source.dart"}},patterns:[{include:"#class-identifier"},{match:/,/dgv},{match:/extends/dgv,name:"keyword.declaration.dart"},{include:"#comments"}]}},scopeName:"source.dart",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Dart",name:"dart",patterns:[{match:/^(#![^\n]*)(?=\n?$)/dgv,name:"meta.preprocessor.script.dart"},{begin:/^[\p{L}\p{M}\p{N}\p{Pc}]*\b(augment\p{space}+library|library|import\p{space}+augment|import|part\p{space}+of|part|export)\b/dgv,beginCaptures:{"0":{name:"keyword.other.import.dart"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.dart"}},name:"meta.declaration.dart",patterns:[{include:"#strings"},{include:"#comments"},{match:/\b(as|show|hide)\b/dgv,name:"keyword.other.import.dart"},{match:/\b(if)\b/dgv,name:"keyword.control.dart"}]},{include:"#comments"},{include:"#punctuation"},{include:"#annotations"},{include:"#keywords"},{include:"#constants-and-special-vars"},{include:"#operators"},{include:"#strings"}],repository:{annotations:{patterns:[{match:/@[A-Za-z]+/dgv,name:"storage.type.annotation.dart"}]},"class-identifier":{patterns:[{match:/(?<!\$)\b(bool|num|int|double|dynamic)\b(?!\$)/dgv,name:"support.class.dart"},{match:/(?<!\$)\bvoid\b(?!\$)/dgv,name:"storage.type.primitive.dart"},{begin:/(?<![\$0-9A-Z_a-z])([\$_]*[A-Z][\$0-9A-Z_a-z]*)\b/dgv,beginCaptures:{"1":{name:"support.class.dart"}},end:/(?!<)/dgv,patterns:[{include:"#type-args"}]}]},comments:{patterns:[{captures:{"0":{name:"punctuation.definition.comment.dart"}},match:/\/\*\*\//dgv,name:"comment.block.empty.dart"},{include:"#comments-doc-oldschool"},{include:"#comments-doc"},{include:"#comments-inline"}]},"comments-block":{patterns:[{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.dart",patterns:[{include:"#comments-block"}]}]},"comments-doc":{patterns:[{begin:/\/\/\//dgv,end:/^(?!\p{space}*\/\/\/)/dgv,name:"comment.block.documentation.dart",patterns:[{include:"#dartdoc"}]}]},"comments-doc-oldschool":{patterns:[{begin:/\/\*\*/dgv,end:/\*\//dgv,name:"comment.block.documentation.dart",patterns:[{include:"#comments-doc-oldschool"},{include:"#comments-block"},{include:"#dartdoc"}]}]},"comments-inline":{patterns:[{include:"#comments-block"},{captures:{"1":{name:"comment.line.double-slash.dart"}},match:/((\/\/)[^\n]*)(?=\n?$)/dgv}]},"constants-and-special-vars":{patterns:[{match:/(?<!\$)\b(true|false|null)\b(?!\$)/dgv,name:"constant.language.dart"},{match:/(?<!\$)\b(this|super|augmented)\b(?!\$)/dgv,name:"variable.language.dart"},{match:/(?<!\$)\b((0([Xx])\p{AHex}[_\p{AHex}]*)|(([0-9][0-9_]*\.?[0-9_]*)|(\.[0-9][0-9_]*))(([Ee])([\-\+])?[0-9][0-9_]*)?)\b(?!\$)/dgv,name:"constant.numeric.dart"},{include:"#class-identifier"},{include:"#function-identifier"}]},dartdoc:{patterns:[{captures:{"0":{name:"variable.name.source.dart"}},match:/(\[[^\n]*?\])/dgv},{begin:/^\p{space}*\/\/\/\p{space}*(```)/dgv,end:/^(?:\p{space}*\/\/\/\p{space}*(```)|(?!\p{space}*\/\/\/))/dgv,patterns:[{include:"#dartdoc-codeblock-triple"}]},{begin:/^\p{space}*\*\p{space}*(```)/dgv,end:/^(?:\p{space}*\*\p{space}*(```)|(?=\p{space}*\*\/))/dgv,patterns:[{include:"#dartdoc-codeblock-block"}]},{match:/`[^\n\`]+`/dgv,name:"variable.other.source.dart"},{captures:{"1":{name:"variable.other.source.dart"}},match:/(?:\*|\/\/)\p{space}{4,}([^\n]*?)(?=((?=\n?$)|\*\/))/dgv}]},"dartdoc-codeblock-block":{begin:/^\p{space}*\*\p{space}*(?!(\p{space}*```|\/))/dgv,contentName:"variable.other.source.dart",end:/\n/dgv},"dartdoc-codeblock-triple":{begin:/^\p{space}*\/\/\/\p{space}*(?!\p{space}*```)/dgv,contentName:"variable.other.source.dart",end:/\n/dgv},expression:{patterns:[{include:"#constants-and-special-vars"},{include:"#strings"},{match:/[0-9A-Z_a-z]+/dgv,name:"variable.parameter.dart"},{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#expression"}]}]},"function-identifier":{patterns:[{captures:{"1":{name:"entity.name.function.dart"},"2":{patterns:[{include:"#type-args"}]}},match:/([\$_]*[a-z][\$0-9A-Z_a-z]*)(<(?:[\$0-9\<\>\?A-Z_a-z]|,\p{space}*|\p{space}+extends\p{space}+)+>)?[\!\?]?\(/dgv}]},keywords:{patterns:[{match:/(?<!\$)\bas\b(?!\$)/dgv,name:"keyword.cast.dart"},{match:/(?<!\$)\b(try|on|catch|finally|throw|rethrow)\b(?!\$)/dgv,name:"keyword.control.catch-exception.dart"},{match:/(?<!\$)\b(break|case|continue|default|do|else|for|if|in|switch|while|when)\b(?!\$)/dgv,name:"keyword.control.dart"},{match:/(?<!\$)\b(sync(\*)?|async(\*)?|await|yield(\*)?)\b(?!\$)/dgv,name:"keyword.control.dart"},{match:/(?<!\$)\bassert\b(?!\$)/dgv,name:"keyword.control.dart"},{match:/(?<!\$)\b(new)\b(?!\$)/dgv,name:"keyword.control.new.dart"},{match:/(?<!\$)\b(return)\b(?!\$)/dgv,name:"keyword.control.return.dart"},{match:/(?<!\$)\b(abstract|sealed|base|interface|class|enum|extends|extension\p{space}+type|extension|external|factory|implements|get(?![\(\<])|mixin|native|operator|set(?![\(\<])|typedef|with|covariant)\b(?!\$)/dgv,name:"keyword.declaration.dart"},{match:/(?<!\$)\b(macro|augment|static|final|const|required|late)\b(?!\$)/dgv,name:"storage.modifier.dart"},{match:/(?<!\$)\bv(?:oid|ar)\b(?!\$)/dgv,name:"storage.type.primitive.dart"}]},operators:{patterns:[{match:/(?<!\$)\b(is!?)\b(?!\$)/dgv,name:"keyword.operator.dart"},{match:/[\:\?]/dgv,name:"keyword.operator.ternary.dart"},{match:/(<<|>>>?|[\&\^\|\~])/dgv,name:"keyword.operator.bitwise.dart"},{match:/(([\&\^\|]|<<|>>>?)=)/dgv,name:"keyword.operator.assignment.bitwise.dart"},{match:/(=>)/dgv,name:"keyword.operator.closure.dart"},{match:/(==|!=|<=?|>=?)/dgv,name:"keyword.operator.comparison.dart"},{match:/(([\-\%\*\+\/\~])=)/dgv,name:"keyword.operator.assignment.arithmetic.dart"},{match:/(=)/dgv,name:"keyword.operator.assignment.dart"},{match:/(--|\+\+)/dgv,name:"keyword.operator.increment-decrement.dart"},{match:/([\-\*\+\/]|~\/|%)/dgv,name:"keyword.operator.arithmetic.dart"},{match:/(!|&&|\|\|)/dgv,name:"keyword.operator.logical.dart"}]},punctuation:{patterns:[{match:/,/dgv,name:"punctuation.comma.dart"},{match:/;/dgv,name:"punctuation.terminator.dart"},{match:/\./dgv,name:"punctuation.dot.dart"}]},"string-interp":{patterns:[{captures:{"1":{name:"variable.parameter.dart"}},match:/\$([0-9A-Z_a-z]+)/dgv,name:"meta.embedded.expression.dart"},{begin:/\$\{/dgv,end:/\}/dgv,name:"meta.embedded.expression.dart",patterns:[{include:"#expression"}]},{match:/\\[^\n]/dgv,name:"constant.character.escape.dart"}]},strings:{patterns:[{begin:/(?<!r)"""/dgv,end:/"""(?!")/dgv,name:"string.interpolated.triple.double.dart",patterns:[{include:"#string-interp"}]},{begin:/(?<!r)'''/dgv,end:/'''(?!')/dgv,name:"string.interpolated.triple.single.dart",patterns:[{include:"#string-interp"}]},{begin:/r"""/dgv,end:/"""(?!")/dgv,name:"string.quoted.triple.double.dart"},{begin:/r'''/dgv,end:/'''(?!')/dgv,name:"string.quoted.triple.single.dart"},{begin:/(?<!\|r)"/dgv,end:/"/dgv,name:"string.interpolated.double.dart",patterns:[{match:/\n/dgv,name:"invalid.string.newline"},{include:"#string-interp"}]},{begin:/r"/dgv,end:/"/dgv,name:"string.quoted.double.dart",patterns:[{match:/\n/dgv,name:"invalid.string.newline"}]},{begin:/(?<!\|r)'/dgv,end:/'/dgv,name:"string.interpolated.single.dart",patterns:[{match:/\n/dgv,name:"invalid.string.newline"},{include:"#string-interp"}]},{begin:/r'/dgv,end:/'/dgv,name:"string.quoted.single.dart",patterns:[{match:/\n/dgv,name:"invalid.string.newline"}]}]},"type-args":{begin:/(<)/dgv,beginCaptures:{"1":{name:"other.source.dart"}},end:/(>)/dgv,endCaptures:{"1":{name:"other.source.dart"}},patterns:[{include:"#class-identifier"},{match:/,/dgv},{match:/extends/dgv,name:"keyword.declaration.dart"},{include:"#comments"}]}},scopeName:"source.dart",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/dax.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"DAX",name:"dax",patterns:[{include:"#comments"},{include:"#keywords"},{include:"#labels"},{include:"#parameters"},{include:"#strings"},{include:"#numbers"}],repository:{comments:{patterns:[{begin:/\/\//dgv,captures:{"0":{name:"punctuation.definition.comment.dax"}},end:/\n/dgv,name:"comment.line.dax"},{begin:/--/dgv,captures:{"0":{name:"punctuation.definition.comment.dax"}},end:/\n/dgv,name:"comment.line.dax"},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.dax"}},end:/\*\//dgv,name:"comment.block.dax"}]},keywords:{patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("\\b(YIELDMAT|YIELDDISC|YIELD|YEARFRAC|YEAR|XNPV|XIRR|WEEKNUM|WEEKDAY|VDB|VARX[^\\n]S|VARX[^\\n]P|VAR[^\\n]S|VAR[^\\n]P|VALUES|VALUE|UTCTODAY|UTCNOW|USERPRINCIPALNAME|USEROBJECTID|USERNAME|USERELATIONSHIP|USERCULTURE|UPPER|UNION|UNICODE|UNICHAR|TRUNC|TRUE|TRIM|TREATAS|TOTALYTD|TOTALQTD|TOTALMTD|TOPNSKIP|TOPNPERLEVEL|TOPN|TODAY|TIMEVALUE|TIME|TBILLYIELD|TBILLPRICE|TBILLEQ|TANH|TAN|T[^\\n]INV[^\\n]2T|T[^\\n]INV|T[^\\n]DIST[^\\n]RT|T[^\\n]DIST[^\\n]2T|T[^\\n]DIST|SYD|SWITCH|SUMX|SUMMARIZECOLUMNS|SUMMARIZE|SUM|SUBSTITUTEWITHINDEX|SUBSTITUTE|STDEVX[^\\n]S|STDEVX[^\\n]P|STDEV[^\\n]S|STDEV[^\\n]P|STARTOFYEAR|STARTOFQUARTER|STARTOFMONTH|SQRTPI|SQRT|SLN|SINH|SIN|SIGN|SELECTEDVALUE|SELECTEDMEASURENAME|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURE|SELECTCOLUMNS|SECOND|SEARCH|SAMPLE|SAMEPERIODLASTYEAR|RRI|ROW|ROUNDUP|ROUNDDOWN|ROUND|ROLLUPISSUBTOTAL|ROLLUPGROUP|ROLLUPADDISSUBTOTAL|ROLLUP|RIGHT|REPT|REPLACE|REMOVEFILTERS|RELATEDTABLE|RELATED|RECEIVED|RATE|RANKX|RANK[^\\n]EQ|RANDBETWEEN|RAND|RADIANS|QUOTIENT|QUARTER|PV|PRODUCTX|PRODUCT|PRICEMAT|PRICEDISC|PRICE|PREVIOUSYEAR|PREVIOUSQUARTER|PREVIOUSMONTH|PREVIOUSDAY|PPMT|POWER|POISSON[^\\n]DIST|PMT|PI|PERMUT|PERCENTILEX[^\\n]INC|PERCENTILEX[^\\n]EXC|PERCENTILE[^\\n]INC|PERCENTILE[^\\n]EXC|PDURATION|PATHLENGTH|PATHITEMREVERSE|PATHITEM|PATHCONTAINS|PATH|PARALLELPERIOD|OR|OPENINGBALANCEYEAR|OPENINGBALANCEQUARTER|OPENINGBALANCEMONTH|ODDLYIELD|ODDLPRICE|ODDFYIELD|ODDFPRICE|ODD|NPER|NOW|NOT|NORM[^\\n]S[^\\n]INV|NORM[^\\n]S[^\\n]DIST|NORM[^\\n]INV|NORM[^\\n]DIST|NONVISUAL|NOMINAL|NEXTYEAR|NEXTQUARTER|NEXTMONTH|NEXTDAY|NATURALLEFTOUTERJOIN|NATURALINNERJOIN|MROUND|MONTH|MOD|MINX|MINUTE|MINA|MIN|MID|MEDIANX|MEDIAN|MDURATION|MAXX|MAXA|MAX|LOWER|LOOKUPVALUE|LOG10|LOG|LN|LEN|LEFT|LCM|LASTNONBLANKVALUE|LASTNONBLANK|LASTDATE|KEYWORDMATCH|KEEPFILTERS|ISTEXT|ISSUBTOTAL|ISSELECTEDMEASURE|ISPMT|ISONORAFTER|ISODD|ISO[^\\n]CEILING|ISNUMBER|ISNONTEXT|ISLOGICAL|ISINSCOPE|ISFILTERED|ISEVEN|ISERROR|ISEMPTY|ISCROSSFILTERED|ISBLANK|ISAFTER|IPMT|INTRATE|INTERSECT|INT|IGNORE|IFERROR|IF[^\\n]EAGER|IF|HOUR|HASONEVALUE|HASONEFILTER|HASH|GROUPBY|GEOMEANX|GEOMEAN|GENERATESERIES|GENERATEALL|GENERATE|GCD|FV|FORMAT|FLOOR|FIXED|FIRSTNONBLANKVALUE|FIRSTNONBLANK|FIRSTDATE|FIND|FILTERS|FILTER|FALSE|FACT|EXPON[^\\n]DIST|EXP|EXCEPT|EXACT|EVEN|ERROR|EOMONTH|ENDOFYEAR|ENDOFQUARTER|ENDOFMONTH|EFFECT|EDATE|EARLIEST|EARLIER|DURATION|DOLLARFR|DOLLARDE|DIVIDE|DISTINCTCOUNTNOBLANK|DISTINCTCOUNT|DISTINCT|DISC|DETAILROWS|DEGREES|DDB|DB|DAY|DATEVALUE|DATESYTD|DATESQTD|DATESMTD|DATESINPERIOD|DATESBETWEEN|DATEDIFF|DATEADD|DATE|DATATABLE|CUSTOMDATA|CURRENTGROUP|CURRENCY|CUMPRINC|CUMIPMT|CROSSJOIN|CROSSFILTER|COUPPCD|COUPNUM|COUPNCD|COUPDAYSNC|COUPDAYS|COUPDAYBS|COUNTX|COUNTROWS|COUNTBLANK|COUNTAX|COUNTA|COUNT|COTH|COT|COSH|COS|CONVERT|CONTAINSSTRINGEXACT|CONTAINSSTRING|CONTAINSROW|CONTAINS|CONFIDENCE[^\\n]T|CONFIDENCE[^\\n]NORM|CONCATENATEX|CONCATENATE|COMBINEVALUES|COMBINA|COMBIN|COLUMNSTATISTICS|COALESCE|CLOSINGBALANCEYEAR|CLOSINGBALANCEQUARTER|CLOSINGBALANCEMONTH|CHISQ[^\\n]INV[^\\n]RT|CHISQ[^\\n]INV|CHISQ[^\\n]DIST[^\\n]RT|CHISQ[^\\n]DIST|CEILING|CALENDARAUTO|CALENDAR|CALCULATETABLE|CALCULATE|BLANK|BETA[^\\n]INV|BETA[^\\n]DIST|AVERAGEX|AVERAGEA|AVERAGE|ATANH|ATAN|ASINH|ASIN|APPROXIMATEDISTINCTCOUNT|AND|AMORLINC|AMORDEGRC|ALLSELECTED|ALLNOBLANKROW|ALLEXCEPT|ALLCROSSFILTERED|ALL|ADDMISSINGITEMS|ADDCOLUMNS|ACOTH|ACOT|ACOSH|ACOS|ACCRINTM|ACCRINT|ABS)\\b","dgv",{"lazyCompile":true}),name:"variable.language.dax"},{match:/\b(DEFINE|EVALUATE|ORDER BY|RETURN|VAR)\b/dgv,name:"keyword.control.dax"},{match:/[\{\}]/dgv,name:"keyword.array.constructor.dax"},{match:/[\>\<]|>=|<=|=(?!==)/dgv,name:"keyword.operator.comparison.dax"},{match:/&&|IN|NOT|\|\|/dgv,name:"keyword.operator.logical.dax"},{match:/[\+\-\*\/]/dgv,name:"keyword.arithmetic.operator.dax"},{begin:/\[/dgv,end:/\]/dgv,name:"support.function.dax"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.dax"},{begin:/'/dgv,end:/'/dgv,name:"support.class.dax"}]},labels:{patterns:[{captures:{"1":{name:"punctuation.separator.label.dax"},"2":{name:"entity.name.label.dax"}},match:/(^([^\n]*?)\p{space}*(:=|!=))/dgv}]},metas:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.dax"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.dax"}}}]},numbers:{match:/-?(?:0|[1-9]\p{Nd}*)(?:(?:\.\p{Nd}+)?(?:[eE][\+\-]?\p{Nd}+)?)?/dgv,name:"constant.numeric.dax"},parameters:{patterns:[{begin:/\b(?<!\.)(VAR)\b(?<!\.)\b/dgv,beginCaptures:{"1":{name:"keyword.control.dax"},"2":{name:"variable.other.readwrite.dax"}},end:/=/dgv,endCaptures:{"0":{name:"keyword.operator.assignment.dax"}},name:"meta.function.definition.parameters.dax",patterns:[{match:/=/dgv,name:"keyword.control.dax"}]},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.constant.dax"}]},strings:{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.dax",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.dax"}]}},scopeName:"source.dax",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({displayName:"DAX",name:"dax",patterns:[{include:"#comments"},{include:"#keywords"},{include:"#labels"},{include:"#parameters"},{include:"#strings"},{include:"#numbers"}],repository:{comments:{patterns:[{begin:/\/\//dgv,captures:{"0":{name:"punctuation.definition.comment.dax"}},end:/\n/dgv,name:"comment.line.dax"},{begin:/--/dgv,captures:{"0":{name:"punctuation.definition.comment.dax"}},end:/\n/dgv,name:"comment.line.dax"},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.dax"}},end:/\*\//dgv,name:"comment.block.dax"}]},keywords:{patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("\\b(YIELDMAT|YIELDDISC|YIELD|YEARFRAC|YEAR|XNPV|XIRR|WEEKNUM|WEEKDAY|VDB|VARX[^\\n]S|VARX[^\\n]P|VAR[^\\n]S|VAR[^\\n]P|VALUES|VALUE|UTCTODAY|UTCNOW|USERPRINCIPALNAME|USEROBJECTID|USERNAME|USERELATIONSHIP|USERCULTURE|UPPER|UNION|UNICODE|UNICHAR|TRUNC|TRUE|TRIM|TREATAS|TOTALYTD|TOTALQTD|TOTALMTD|TOPNSKIP|TOPNPERLEVEL|TOPN|TODAY|TIMEVALUE|TIME|TBILLYIELD|TBILLPRICE|TBILLEQ|TANH|TAN|T[^\\n]INV[^\\n]2T|T[^\\n]INV|T[^\\n]DIST[^\\n]RT|T[^\\n]DIST[^\\n]2T|T[^\\n]DIST|SYD|SWITCH|SUMX|SUMMARIZECOLUMNS|SUMMARIZE|SUM|SUBSTITUTEWITHINDEX|SUBSTITUTE|STDEVX[^\\n]S|STDEVX[^\\n]P|STDEV[^\\n]S|STDEV[^\\n]P|STARTOFYEAR|STARTOFQUARTER|STARTOFMONTH|SQRTPI|SQRT|SLN|SINH|SIN|SIGN|SELECTEDVALUE|SELECTEDMEASURENAME|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURE|SELECTCOLUMNS|SECOND|SEARCH|SAMPLE|SAMEPERIODLASTYEAR|RRI|ROW|ROUNDUP|ROUNDDOWN|ROUND|ROLLUPISSUBTOTAL|ROLLUPGROUP|ROLLUPADDISSUBTOTAL|ROLLUP|RIGHT|REPT|REPLACE|REMOVEFILTERS|RELATEDTABLE|RELATED|RECEIVED|RATE|RANKX|RANK[^\\n]EQ|RANDBETWEEN|RAND|RADIANS|QUOTIENT|QUARTER|PV|PRODUCTX|PRODUCT|PRICEMAT|PRICEDISC|PRICE|PREVIOUSYEAR|PREVIOUSQUARTER|PREVIOUSMONTH|PREVIOUSDAY|PPMT|POWER|POISSON[^\\n]DIST|PMT|PI|PERMUT|PERCENTILEX[^\\n]INC|PERCENTILEX[^\\n]EXC|PERCENTILE[^\\n]INC|PERCENTILE[^\\n]EXC|PDURATION|PATHLENGTH|PATHITEMREVERSE|PATHITEM|PATHCONTAINS|PATH|PARALLELPERIOD|OR|OPENINGBALANCEYEAR|OPENINGBALANCEQUARTER|OPENINGBALANCEMONTH|ODDLYIELD|ODDLPRICE|ODDFYIELD|ODDFPRICE|ODD|NPER|NOW|NOT|NORM[^\\n]S[^\\n]INV|NORM[^\\n]S[^\\n]DIST|NORM[^\\n]INV|NORM[^\\n]DIST|NONVISUAL|NOMINAL|NEXTYEAR|NEXTQUARTER|NEXTMONTH|NEXTDAY|NATURALLEFTOUTERJOIN|NATURALINNERJOIN|MROUND|MONTH|MOD|MINX|MINUTE|MINA|MIN|MID|MEDIANX|MEDIAN|MDURATION|MAXX|MAXA|MAX|LOWER|LOOKUPVALUE|LOG10|LOG|LN|LEN|LEFT|LCM|LASTNONBLANKVALUE|LASTNONBLANK|LASTDATE|KEYWORDMATCH|KEEPFILTERS|ISTEXT|ISSUBTOTAL|ISSELECTEDMEASURE|ISPMT|ISONORAFTER|ISODD|ISO[^\\n]CEILING|ISNUMBER|ISNONTEXT|ISLOGICAL|ISINSCOPE|ISFILTERED|ISEVEN|ISERROR|ISEMPTY|ISCROSSFILTERED|ISBLANK|ISAFTER|IPMT|INTRATE|INTERSECT|INT|IGNORE|IFERROR|IF[^\\n]EAGER|IF|HOUR|HASONEVALUE|HASONEFILTER|HASH|GROUPBY|GEOMEANX|GEOMEAN|GENERATESERIES|GENERATEALL|GENERATE|GCD|FV|FORMAT|FLOOR|FIXED|FIRSTNONBLANKVALUE|FIRSTNONBLANK|FIRSTDATE|FIND|FILTERS|FILTER|FALSE|FACT|EXPON[^\\n]DIST|EXP|EXCEPT|EXACT|EVEN|ERROR|EOMONTH|ENDOFYEAR|ENDOFQUARTER|ENDOFMONTH|EFFECT|EDATE|EARLIEST|EARLIER|DURATION|DOLLARFR|DOLLARDE|DIVIDE|DISTINCTCOUNTNOBLANK|DISTINCTCOUNT|DISTINCT|DISC|DETAILROWS|DEGREES|DDB|DB|DAY|DATEVALUE|DATESYTD|DATESQTD|DATESMTD|DATESINPERIOD|DATESBETWEEN|DATEDIFF|DATEADD|DATE|DATATABLE|CUSTOMDATA|CURRENTGROUP|CURRENCY|CUMPRINC|CUMIPMT|CROSSJOIN|CROSSFILTER|COUPPCD|COUPNUM|COUPNCD|COUPDAYSNC|COUPDAYS|COUPDAYBS|COUNTX|COUNTROWS|COUNTBLANK|COUNTAX|COUNTA|COUNT|COTH|COT|COSH|COS|CONVERT|CONTAINSSTRINGEXACT|CONTAINSSTRING|CONTAINSROW|CONTAINS|CONFIDENCE[^\\n]T|CONFIDENCE[^\\n]NORM|CONCATENATEX|CONCATENATE|COMBINEVALUES|COMBINA|COMBIN|COLUMNSTATISTICS|COALESCE|CLOSINGBALANCEYEAR|CLOSINGBALANCEQUARTER|CLOSINGBALANCEMONTH|CHISQ[^\\n]INV[^\\n]RT|CHISQ[^\\n]INV|CHISQ[^\\n]DIST[^\\n]RT|CHISQ[^\\n]DIST|CEILING|CALENDARAUTO|CALENDAR|CALCULATETABLE|CALCULATE|BLANK|BETA[^\\n]INV|BETA[^\\n]DIST|AVERAGEX|AVERAGEA|AVERAGE|ATANH|ATAN|ASINH|ASIN|APPROXIMATEDISTINCTCOUNT|AND|AMORLINC|AMORDEGRC|ALLSELECTED|ALLNOBLANKROW|ALLEXCEPT|ALLCROSSFILTERED|ALL|ADDMISSINGITEMS|ADDCOLUMNS|ACOTH|ACOT|ACOSH|ACOS|ACCRINTM|ACCRINT|ABS)\\b","dgv",{"lazyCompile":true}),name:"variable.language.dax"},{match:/\b(DEFINE|EVALUATE|ORDER BY|RETURN|VAR)\b/dgv,name:"keyword.control.dax"},{match:/[\{\}]/dgv,name:"keyword.array.constructor.dax"},{match:/[\<\>]|>=|<=|=(?!==)/dgv,name:"keyword.operator.comparison.dax"},{match:/&&|IN|NOT|\|\|/dgv,name:"keyword.operator.logical.dax"},{match:/[\-\*\+\/]/dgv,name:"keyword.arithmetic.operator.dax"},{begin:/\[/dgv,end:/\]/dgv,name:"support.function.dax"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.dax"},{begin:/'/dgv,end:/'/dgv,name:"support.class.dax"}]},labels:{patterns:[{captures:{"1":{name:"punctuation.separator.label.dax"},"2":{name:"entity.name.label.dax"}},match:/^(([^\n]*?)\p{space}*([\!\:]=))/dgv}]},metas:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.dax"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.dax"}}}]},numbers:{match:/-?(?:0|[1-9]\p{Nd}*)(?:(?:\.\p{Nd}+)?(?:[Ee][\-\+]?\p{Nd}+)?)?/dgv,name:"constant.numeric.dax"},parameters:{patterns:[{begin:/\b(?<!\.)(VAR)\b(?<!\.)\b/dgv,beginCaptures:{"1":{name:"keyword.control.dax"},"2":{name:"variable.other.readwrite.dax"}},end:/=/dgv,endCaptures:{"0":{name:"keyword.operator.assignment.dax"}},name:"meta.function.definition.parameters.dax",patterns:[{match:/=/dgv,name:"keyword.control.dax"}]},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.constant.dax"}]},strings:{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.dax",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.dax"}]}},scopeName:"source.dax",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/desktop.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Desktop",name:"desktop",patterns:[{include:"#layout"},{include:"#keywords"},{include:"#values"},{include:"#inCommands"},{include:"#inCategories"}],repository:{inCategories:{patterns:[{match:/(?<=^Categories[^\n]*)AudioVideo|(?<=^Categories[^\n]*)Audio|(?<=^Categories[^\n]*)Video|(?<=^Categories[^\n]*)Development|(?<=^Categories[^\n]*)Education|(?<=^Categories[^\n]*)Game|(?<=^Categories[^\n]*)Graphics|(?<=^Categories[^\n]*)Network|(?<=^Categories[^\n]*)Office|(?<=^Categories[^\n]*)Science|(?<=^Categories[^\n]*)Settings|(?<=^Categories[^\n]*)System|(?<=^Categories[^\n]*)Utility/dgv,name:"markup.bold"}]},inCommands:{patterns:[{match:/(?<=^Exec[^\n]*\p{space})-+\P{space}+/dgv,name:"variable.parameter"},{match:/(?<=^Exec[^\n]*)\p{space}%[fFuUick]\p{space}/dgv,name:"variable.language"},{match:/"[^\n]*"/dgv,name:"string"}]},keywords:{patterns:[{match:/^(?:Type\b|Version\b|Name\b|GenericName\b|NoDisplay\b|Comment\b|Icon\b|Hidden\b|OnlyShowIn\b|NotShowIn\b|DBusActivatable\b|TryExec\b|Exec\b|Path\b|Terminal\b|Actions\b|MimeType\b|Categories\b|Implements\b|Keywords\b|StartupNotify\b|StartupWMClass\b|URL\b|PrefersNonDefaultGPU\b|Encoding\b)/dgv,name:"keyword"},{match:/^X-[A-z 0-9\-]*/dgv,name:"keyword.other"},{match:/(?<!^)\[[^\n]+\]/dgv,name:"constant.language"},{match:/^(?:GtkTheme\b|MetacityTheme\b|IconTheme\b|CursorTheme\b|ButtonLayout\b|ApplicationFont\b)/dgv,name:"keyword"}]},layout:{patterns:[{begin:/^\[Desktop/dgv,end:/\]/dgv,name:"markup.heading"},{begin:/^\[X-[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,end:/\]/dgv,name:"markup.heading"},{match:/^\p{space}*#[^\n]*/dgv,name:"comment"},{match:/;/dgv,name:"strong"}]},values:{patterns:[{match:/(?<=^\P{space}+)=/dgv,name:"keyword.operator"},{match:/\b(?:true\b|false\b)/dgv,name:"variable.other"},{match:/(?<=^Version[^\n]*)\p{Nd}+(\.?\p{Nd}*)/dgv,name:"variable.other"}]}},scopeName:"source.desktop",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Desktop",name:"desktop",patterns:[{include:"#layout"},{include:"#keywords"},{include:"#values"},{include:"#inCommands"},{include:"#inCategories"}],repository:{inCategories:{patterns:[{match:/(?<=^Categories[^\n]*)AudioVideo|(?<=^Categories[^\n]*)Audio|(?<=^Categories[^\n]*)Video|(?<=^Categories[^\n]*)Development|(?<=^Categories[^\n]*)Education|(?<=^Categories[^\n]*)Game|(?<=^Categories[^\n]*)Graphics|(?<=^Categories[^\n]*)Network|(?<=^Categories[^\n]*)Office|(?<=^Categories[^\n]*)Science|(?<=^Categories[^\n]*)Settings|(?<=^Categories[^\n]*)System|(?<=^Categories[^\n]*)Utility/dgv,name:"markup.bold"}]},inCommands:{patterns:[{match:/(?<=^Exec[^\n]*\p{space})-+\P{space}+/dgv,name:"variable.parameter"},{match:/(?<=^Exec[^\n]*)\p{space}%[FUcfiku]\p{space}/dgv,name:"variable.language"},{match:/"[^\n]*"/dgv,name:"string"}]},keywords:{patterns:[{match:/^(?:Type|Version|Name|GenericName|NoDisplay|Comment|Icon|Hidden|OnlyShowIn|NotShowIn|DBusActivatable|TryExec|Exec|Path|Terminal|Actions|MimeType|Categories|Implements|Keywords|StartupNotify|StartupWMClass|URL|PrefersNonDefaultGPU|Encoding)\b/dgv,name:"keyword"},{match:/^X-[\- 0-9A-z]*/dgv,name:"keyword.other"},{match:/(?<!^)\[[^\n]+\]/dgv,name:"constant.language"},{match:/^(?:GtkTheme|MetacityTheme|IconTheme|CursorTheme|ButtonLayout|ApplicationFont)\b/dgv,name:"keyword"}]},layout:{patterns:[{begin:/^\[Desktop/dgv,end:/\]/dgv,name:"markup.heading"},{begin:/^\[X-[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,end:/\]/dgv,name:"markup.heading"},{match:/^\p{space}*#[^\n]*/dgv,name:"comment"},{match:/;/dgv,name:"strong"}]},values:{patterns:[{match:/(?<=^\P{space}+)=/dgv,name:"keyword.operator"},{match:/\b(?:tru|fals)e\b/dgv,name:"variable.other"},{match:/(?<=^Version[^\n]*)\p{Nd}+(\.?\p{Nd}*)/dgv,name:"variable.other"}]}},scopeName:"source.desktop",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/diff.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Diff",name:"diff",patterns:[{captures:{"1":{name:"punctuation.definition.separator.diff"}},match:/^((\*{15})|(={67})|(-{3}))(?=\n?$)\n?/dgv,name:"meta.separator.diff"},{match:/^\p{Nd}+(,\p{Nd}+)*([adc])\p{Nd}+(,\p{Nd}+)*(?=\n?$)\n?/dgv,name:"meta.diff.range.normal"},{captures:{"1":{name:"punctuation.definition.range.diff"},"2":{name:"meta.toc-list.line-number.diff"},"3":{name:"punctuation.definition.range.diff"}},match:/^(@@)\p{space}*([^\n]+?)\p{space}*(@@)((?=\n?$)\n?)?/dgv,name:"meta.diff.range.unified"},{captures:{"3":{name:"punctuation.definition.range.diff"},"4":{name:"punctuation.definition.range.diff"},"6":{name:"punctuation.definition.range.diff"},"7":{name:"punctuation.definition.range.diff"}},match:/^(((-{3}) [^\n]+ (-{4}))|((\*{3}) [^\n]+ (\*{4})))(?=\n?$)\n?/dgv,name:"meta.diff.range.context"},{match:/^diff --git a\/[^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.header.git"},{match:/^diff (-|\P{space}+\p{space}+\P{space}+)[^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.header.command"},{captures:{"4":{name:"punctuation.definition.from-file.diff"},"6":{name:"punctuation.definition.from-file.diff"},"7":{name:"punctuation.definition.from-file.diff"}},match:/(^(?:(((-{3}) [^\n]+)|((\*{3}) [^\n]+))(?=\n?$)\n?|(={4}) [^\n]+(?= - )))/dgv,name:"meta.diff.header.from-file"},{captures:{"2":{name:"punctuation.definition.to-file.diff"},"3":{name:"punctuation.definition.to-file.diff"},"4":{name:"punctuation.definition.to-file.diff"}},match:/(^(\+{3}) [^\n]+(?=\n?$)\n?| (-) [^\n]* (={4})(?=\n?$)\n?)/dgv,name:"meta.diff.header.to-file"},{captures:{"3":{name:"punctuation.definition.inserted.diff"},"6":{name:"punctuation.definition.inserted.diff"}},match:/^(((>)( [^\n]*)?)|((\+)[^\n]*))(?=\n?$)\n?/dgv,name:"markup.inserted.diff"},{captures:{"1":{name:"punctuation.definition.changed.diff"}},match:/^(!)[^\n]*(?=\n?$)\n?/dgv,name:"markup.changed.diff"},{captures:{"3":{name:"punctuation.definition.deleted.diff"},"6":{name:"punctuation.definition.deleted.diff"}},match:/^(((<)( [^\n]*)?)|((-)[^\n]*))(?=\n?$)\n?/dgv,name:"markup.deleted.diff"},{begin:/^(#)/dgv,captures:{"1":{name:"punctuation.definition.comment.diff"}},end:/\n/dgv,name:"comment.line.number-sign.diff"},{match:/^index [0-9a-f]{7,40}\.\.[0-9a-f]{7,40}[^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.index.git"},{captures:{"1":{name:"punctuation.separator.key-value.diff"},"2":{name:"meta.toc-list.file-name.diff"}},match:/^Index(:) ([^\n]+)(?=\n?$)\n?/dgv,name:"meta.diff.index"},{match:/^Only in [^\n]*: [^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.only-in"}],scopeName:"source.diff",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Diff",name:"diff",patterns:[{captures:{"1":{name:"punctuation.definition.separator.diff"}},match:/^((\*{15})|(={67})|(-{3}))(?=\n?$)\n?/dgv,name:"meta.separator.diff"},{match:/^\p{Nd}+(,\p{Nd}+)*([acd])\p{Nd}+(,\p{Nd}+)*(?=\n?$)\n?/dgv,name:"meta.diff.range.normal"},{captures:{"1":{name:"punctuation.definition.range.diff"},"2":{name:"meta.toc-list.line-number.diff"},"3":{name:"punctuation.definition.range.diff"}},match:/^(@@)\p{space}*([^\n]+?)\p{space}*(@@)((?=\n?$)\n?)?/dgv,name:"meta.diff.range.unified"},{captures:{"3":{name:"punctuation.definition.range.diff"},"4":{name:"punctuation.definition.range.diff"},"6":{name:"punctuation.definition.range.diff"},"7":{name:"punctuation.definition.range.diff"}},match:/^(((-{3}) [^\n]+ (-{4}))|((\*{3}) [^\n]+ (\*{4})))(?=\n?$)\n?/dgv,name:"meta.diff.range.context"},{match:/^diff --git a\/[^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.header.git"},{match:/^diff (-|\P{space}+\p{space}+\P{space}+)[^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.header.command"},{captures:{"4":{name:"punctuation.definition.from-file.diff"},"6":{name:"punctuation.definition.from-file.diff"},"7":{name:"punctuation.definition.from-file.diff"}},match:/^((((-{3}) [^\n]+)|((\*{3}) [^\n]+))(?=\n?$)\n?|(={4}) [^\n]+(?= - ))/dgv,name:"meta.diff.header.from-file"},{captures:{"2":{name:"punctuation.definition.to-file.diff"},"3":{name:"punctuation.definition.to-file.diff"},"4":{name:"punctuation.definition.to-file.diff"}},match:/(^(\+{3}) [^\n]+(?=\n?$)\n?| (-) [^\n]* (={4})(?=\n?$)\n?)/dgv,name:"meta.diff.header.to-file"},{captures:{"3":{name:"punctuation.definition.inserted.diff"},"6":{name:"punctuation.definition.inserted.diff"}},match:/^(((>)( [^\n]*)?)|((\+)[^\n]*))(?=\n?$)\n?/dgv,name:"markup.inserted.diff"},{captures:{"1":{name:"punctuation.definition.changed.diff"}},match:/^(!)[^\n]*(?=\n?$)\n?/dgv,name:"markup.changed.diff"},{captures:{"3":{name:"punctuation.definition.deleted.diff"},"6":{name:"punctuation.definition.deleted.diff"}},match:/^(((<)( [^\n]*)?)|((-)[^\n]*))(?=\n?$)\n?/dgv,name:"markup.deleted.diff"},{begin:/^(#)/dgv,captures:{"1":{name:"punctuation.definition.comment.diff"}},end:/\n/dgv,name:"comment.line.number-sign.diff"},{match:/^index [0-9a-f]{7,40}\.\.[0-9a-f]{7,40}[^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.index.git"},{captures:{"1":{name:"punctuation.separator.key-value.diff"},"2":{name:"meta.toc-list.file-name.diff"}},match:/^Index(:) ([^\n]+)(?=\n?$)\n?/dgv,name:"meta.diff.index"},{match:/^Only in [^\n]*: [^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.only-in"}],scopeName:"source.diff",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/dotenv.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"dotEnv",name:"dotenv",patterns:[{captures:{"1":{patterns:[{include:"#line-comment"}]}},match:/^\p{space}?(#[^\n]*(?=\n?$))\n/dgv},{captures:{"1":{patterns:[{include:"#key"}]},"2":{name:"keyword.operator.assignment.dotenv"},"3":{name:"property.value.dotenv",patterns:[{include:"#line-comment"},{include:"#double-quoted-string"},{include:"#single-quoted-string"},{include:"#interpolation"}]}},match:/^\p{space}?([^\n]*?)\p{space}?(=)([^\n]*)(?=\n?$)/dgv}],repository:{"double-quoted-string":{captures:{"1":{patterns:[{include:"#interpolation"},{include:"#escape-characters"}]}},match:/"([^\n]*)"/dgv,name:"string.quoted.double.dotenv"},"escape-characters":{match:/\\(?:[nrtfb"'\\]|u[0123456789ABCDEF]{4})/dgv,name:"constant.character.escape.dotenv"},interpolation:{captures:{"1":{name:"keyword.interpolation.begin.dotenv"},"2":{name:"variable.interpolation.dotenv"},"3":{name:"keyword.interpolation.end.dotenv"}},match:/(\$\{)([^\n]*)(\})/dgv},key:{captures:{"1":{name:"keyword.key.export.dotenv"},"2":{name:"variable.key.dotenv",patterns:[{include:"#variable"}]}},match:/(export\p{space})?([^\n]*)/dgv},"line-comment":{match:/#[^\n]*(?=\n?$)/dgv,name:"comment.line.dotenv"},"single-quoted-string":{match:/'([^\n]*)'/dgv,name:"string.quoted.single.dotenv"},variable:{match:/[a-zA-Z_]+[a-zA-Z0-9_]*/dgv}},scopeName:"source.dotenv",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"dotEnv",name:"dotenv",patterns:[{captures:{"1":{patterns:[{include:"#line-comment"}]}},match:/^\p{space}?(#[^\n]*)(?=\n?$)\n/dgv},{captures:{"1":{patterns:[{include:"#key"}]},"2":{name:"keyword.operator.assignment.dotenv"},"3":{name:"property.value.dotenv",patterns:[{include:"#line-comment"},{include:"#double-quoted-string"},{include:"#single-quoted-string"},{include:"#interpolation"}]}},match:/^\p{space}?([^\n]*?)\p{space}?(=)([^\n]*)(?=\n?$)/dgv}],repository:{"double-quoted-string":{captures:{"1":{patterns:[{include:"#interpolation"},{include:"#escape-characters"}]}},match:/"([^\n]*)"/dgv,name:"string.quoted.double.dotenv"},"escape-characters":{match:/\\(?:["'\\bfnrt]|u[0-9A-F]{4})/dgv,name:"constant.character.escape.dotenv"},interpolation:{captures:{"1":{name:"keyword.interpolation.begin.dotenv"},"2":{name:"variable.interpolation.dotenv"},"3":{name:"keyword.interpolation.end.dotenv"}},match:/(\$\{)([^\n]*)(\})/dgv},key:{captures:{"1":{name:"keyword.key.export.dotenv"},"2":{name:"variable.key.dotenv",patterns:[{include:"#variable"}]}},match:/(export\p{space})?([^\n]*)/dgv},"line-comment":{match:/#[^\n]*(?=\n?$)/dgv,name:"comment.line.dotenv"},"single-quoted-string":{match:/'([^\n]*)'/dgv,name:"string.quoted.single.dotenv"},variable:{match:/[A-Z_a-z]+[0-9A-Z_a-z]*/dgv}},scopeName:"source.dotenv",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Dream Maker",fileTypes:["dm","dme"],foldingStartMarker:/\/\*\*(?!\*)|^(?![^\{]*?\/\/|[^\{]*?\/\*(?![^\n]*?\*\/[^\n]*?\{))[^\n]*?\{\p{space}*((?=\n?$)|\/\/|\/\*(?![^\n]*?\*\/[^\n]*\P{space}))/dgv,foldingStopMarker:/(?<!\*)\*\*\/|^\p{space}*\}/dgv,name:"dream-maker",patterns:[{include:"#preprocessor-rule-enabled"},{include:"#preprocessor-rule-disabled"},{include:"#preprocessor-rule-other"},{include:"#comments"},{captures:{"1":{name:"storage.type.dm"},"2":{name:"storage.modifier.dm"},"3":{name:"storage.type.dm"},"5":{name:"variable.other.dm"}},match:/(var)[\/ ](?:(static|global|tmp|const)\/)?(?:(datum|atom(?:\/movable)?|obj|mob|turf|area|savefile|list|client|sound|image|database|matrix|regex|exception)\/)?(?:([a-zA-Z0-9_\-\$]*)\/)*([A-Za-z0-9_\$]*)\b/dgv,name:"meta.initialization.dm"},{match:/\b((0([xX])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([eE])([\+\-])?[0-9]+)?)\b/dgv,name:"constant.numeric.dm"},{match:/\b(sleep|spawn|break|continue|do|else|for|goto|if|return|switch|while)\b/dgv,name:"keyword.control.dm"},{match:/\b(del|new)\b/dgv,name:"keyword.other.dm"},{match:/\b(proc|verb|datum|atom(\/movable)?|obj|mob|turf|area|savefile|list|client|sound|image|database|matrix|regex|exception)\b/dgv,name:"storage.type.dm"},{match:/\b(as|const|global|set|static|tmp)\b/dgv,name:"storage.modifier.dm"},{match:/\b(usr|world|src|args)\b/dgv,name:"variable.language.dm"},{match:/(\?|([\>\<])(=)?|[\.\:]|\/(=)?|~|\+([\+\=])?|-([\-\=])?|\*([\*\=])?|%|>>|<<|=(=)?|!(=)?|<>|&|&&|[\^\|]|\|\||\bto\b|\bin\b|\bstep\b)/dgv,name:"keyword.operator.dm"},{match:/\b([A-Z_][A-Z_0-9]*)\b/dgv,name:"constant.language.dm"},{match:/\bnull\b/dgv,name:"constant.language.dm"},{begin:/\{"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.dm"}},end:/"\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.dm"}},name:"string.quoted.triple.dm",patterns:[{include:"#string_escaped_char"},{include:"#string_embedded_expression"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.dm"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.dm"}},name:"string.quoted.double.dm",patterns:[{include:"#string_escaped_char"},{include:"#string_embedded_expression"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.dm"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.dm"}},name:"string.quoted.single.dm",patterns:[{include:"#string_escaped_char"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*((#)\\p{space}*define)\\p{space}+((?<id>[a-zA-Z_][a-zA-Z0-9_]*))(\\()(\\p{space}*([a-zA-Z_][a-zA-Z0-9_]*)\\p{space}*((,)\\p{space}*([a-zA-Z_][a-zA-Z0-9_]*)\\p{space}*)*(?:\\.\\.\\.)?)(\\))","dgv",{"hiddenCaptures":[7,10],"transfers":[[4,[7,10]]]}),beginCaptures:{"1":{name:"keyword.control.directive.define.dm"},"2":{name:"punctuation.definition.directive.dm"},"3":{name:"entity.name.function.preprocessor.dm"},"5":{name:"punctuation.definition.parameters.begin.dm"},"6":{name:"variable.parameter.preprocessor.dm"},"8":{name:"punctuation.separator.parameters.dm"},"9":{name:"punctuation.definition.parameters.end.dm"}},end:/(?=\/[\/\*])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.macro.dm",patterns:[{include:"$base"}]},{begin:/^\p{space}*((#)\p{space}*define)\p{space}+((?<id>[a-zA-Z_][a-zA-Z0-9_]*))/dgv,beginCaptures:{"1":{name:"keyword.control.directive.define.dm"},"2":{name:"punctuation.definition.directive.dm"},"3":{name:"variable.other.preprocessor.dm"}},end:/(?=\/[\/\*])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.macro.dm",patterns:[{include:"$base"}]},{begin:/^\p{space}*(#\p{space}*(error|warn))\b/dgv,captures:{"1":{name:"keyword.control.import.error.dm"}},end:/(?=\n?$)/dgv,name:"meta.preprocessor.diagnostic.dm",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\\\\\p{space}*\\n))\\1)","dgv",{"hiddenCaptures":[1]}),name:"punctuation.separator.continuation.dm"}]},{begin:/^\p{space}*(?:((#)\p{space}*(?:elif|else|if|ifdef|ifndef))|((#)\p{space}*(undef|include)))\b/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.dm"},"2":{name:"punctuation.definition.directive.dm"},"3":{name:"keyword.control.directive.$5.dm"},"4":{name:"punctuation.definition.directive.dm"}},end:/(?=\/[\/\*])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.dm",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\\\\\p{space}*\\n))\\1)","dgv",{"hiddenCaptures":[1]}),name:"punctuation.separator.continuation.dm"}]},{include:"#block"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:^|(?:(?=\\p{space})(?<!else|new|return)(?<=[\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=\\p{space}*[A-Za-z_])(?<!&&)(?<=[\\*\\&\\>])))(\\p{space}*)(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\p{space}*\\()((?:(?=((?:[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\5)|::)+))\\4)|(?<=operator)(?:[\\-\\*\\&\\<\\>\\=\\+\\!]+|\\(\\)|\\[\\]))\\p{space}*(?=\\()","dgv",{"hiddenCaptures":[4,5]}),beginCaptures:{"1":{name:"punctuation.whitespace.function.leading.dm"},"3":{name:"entity.name.function.dm"},"4":{name:"punctuation.definition.parameters.dm"}},end:/(?<=\})|(?=#)|(;)?/dgv,name:"meta.function.dm",patterns:[{include:"#comments"},{include:"#parens"},{match:/\bconst\b/dgv,name:"storage.modifier.dm"},{include:"#block"}]}],repository:{access:{match:/\.[a-zA-Z_][a-zA-Z_0-9]*\b(?!\p{space}*\()/dgv,name:"variable.other.dot-access.dm"},block:{begin:/\{/dgv,end:/\}/dgv,name:"meta.block.dm",patterns:[{include:"#block_innards"}]},block_innards:{patterns:[{include:"#preprocessor-rule-enabled-block"},{include:"#preprocessor-rule-disabled-block"},{include:"#preprocessor-rule-other-block"},{include:"#access"},{captures:{"1":{name:"punctuation.whitespace.function-call.leading.dm"},"2":{name:"support.function.any-method.dm"},"3":{name:"punctuation.definition.parameters.dm"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=\\p{space})(?:(?<=else|new|return)|(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(\\p{space}+))?(\\b(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\p{space}*\\()(?:(?=((?:(?!NS)[A-Za-z_](?:(?=([A-Za-z0-9_]*))\\5)\\b|::)+))\\4))\\p{space}*(\\()","dgv",{"hiddenCaptures":[4,5]}),name:"meta.function-call.dm"},{include:"#block"},{include:"$base"}]},comments:{patterns:[{captures:{"1":{name:"meta.toc-list.banner.block.dm"}},match:/^\/\* =(\p{space}*[^\n]*?)\p{space}*= \*\/(?=\n?$)\n?/dgv,name:"comment.block.dm"},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.dm"}},end:/\*\//dgv,name:"comment.block.dm",patterns:[{include:"#comments"}]},{match:/\*\/[^\n]*\n/dgv,name:"invalid.illegal.stray-comment-end.dm"},{captures:{"1":{name:"meta.toc-list.banner.line.dm"}},match:/^\/\/ =(\p{space}*[^\n]*?)\p{space}*=\p{space}*(?=\n?$)\n?/dgv,name:"comment.line.banner.dm"},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.dm"}},end:/(?=\n?$)\n?/dgv,name:"comment.line.double-slash.dm",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\\\\\p{space}*\\n))\\1)","dgv",{"hiddenCaptures":[1]}),name:"punctuation.separator.continuation.dm"}]}]},disabled:{begin:/^\p{space}*#\p{space}*if(n?def)?\b[^\n]*(?=\n?$)/dgv,end:/^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$)/dgv,patterns:[{include:"#disabled"}]},parens:{begin:/\(/dgv,end:/\)/dgv,name:"meta.parens.dm",patterns:[{include:"$base"}]},"preprocessor-rule-disabled":{begin:/^\p{space}*(#(if)\p{space}+(0)\b)[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif)\b)/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else)\b)/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"$base"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,name:"comment.block.preprocessor.if-branch",patterns:[{include:"#disabled"}]}]},"preprocessor-rule-disabled-block":{begin:/^\p{space}*(#(if)\p{space}+(0)\b)[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif)\b)/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else)\b)/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#block_innards"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,name:"comment.block.preprocessor.if-branch.in-block",patterns:[{include:"#disabled"}]}]},"preprocessor-rule-enabled":{begin:/^\p{space}*(#(if)\p{space}+(0*1)\b)/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif)\b)/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else)\b)[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},contentName:"comment.block.preprocessor.else-branch",end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#disabled"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"$base"}]}]},"preprocessor-rule-enabled-block":{begin:/^\p{space}*(#(if)\p{space}+(0*1)\b)/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif)\b)/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else)\b)[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},contentName:"comment.block.preprocessor.else-branch.in-block",end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#disabled"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#block_innards"}]}]},"preprocessor-rule-other":{begin:/^\p{space}*((#\p{space}*(if(n?def)?))\b[^\n]*?(?:(?=\/[\/\*])|(?=\n?$)))/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.dm"}},end:/^\p{space}*((#\p{space}*(endif))\b)[^\n]*(?=\n?$)/dgv,patterns:[{include:"$base"}]},"preprocessor-rule-other-block":{begin:/^\p{space}*(#\p{space}*(if(n?def)?)\b[^\n]*?(?:(?=\/[\/\*])|(?=\n?$)))/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.dm"}},end:/^\p{space}*(#\p{space}*(endif)\b)[^\n]*(?=\n?$)/dgv,patterns:[{include:"#block_innards"}]},string_embedded_expression:{patterns:[{begin:/(?<!\\)\[/dgv,end:/\]/dgv,name:"string.interpolated.dm",patterns:[{include:"$self"}]}]},string_escaped_char:{patterns:[{match:/\\(h(?:(?:er|im)self|ers|im)|([tTsS]?he)|He|[Hh]is|[aA]n?|(?:im)?proper|\.\.\.|(?:icon|ref|[Rr]oman)(?=\[)|[s\<\>"n\n \[])/dgv,name:"constant.character.escape.dm"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unknown-escape.dm"}]}},scopeName:"source.dm",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({displayName:"Dream Maker",fileTypes:["dm","dme"],foldingStartMarker:/\/\*\*(?!\*)|^(?![^\{]*?\/\/|[^\{]*?\/\*(?![^\n]*?\*\/[^\n]*?\{))[^\n]*?\{\p{space}*((?=\n?$)|\/\/|\/\*(?![^\n]*?\*\/[^\n]*\P{space}))/dgv,foldingStopMarker:/(?<!\*)\*\*\/|^\p{space}*\}/dgv,name:"dream-maker",patterns:[{include:"#preprocessor-rule-enabled"},{include:"#preprocessor-rule-disabled"},{include:"#preprocessor-rule-other"},{include:"#comments"},{captures:{"1":{name:"storage.type.dm"},"2":{name:"storage.modifier.dm"},"3":{name:"storage.type.dm"},"5":{name:"variable.other.dm"}},match:/(var)[ \/](?:(static|global|tmp|const)\/)?(?:(datum|atom(?:\/movable)?|obj|mob|turf|area|savefile|list|client|sound|image|database|matrix|regex|exception)\/)?(?:([\-\$0-9A-Z_a-z]*)\/)*([\$0-9A-Z_a-z]*)\b/dgv,name:"meta.initialization.dm"},{match:/\b((0([Xx])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)\b/dgv,name:"constant.numeric.dm"},{match:/\b(sleep|spawn|break|continue|do|else|for|goto|if|return|switch|while)\b/dgv,name:"keyword.control.dm"},{match:/\b(del|new)\b/dgv,name:"keyword.other.dm"},{match:/\b(proc|verb|datum|atom(\/movable)?|obj|mob|turf|area|savefile|list|client|sound|image|database|matrix|regex|exception)\b/dgv,name:"storage.type.dm"},{match:/\b(as|const|global|set|static|tmp)\b/dgv,name:"storage.modifier.dm"},{match:/\b(usr|world|src|args)\b/dgv,name:"variable.language.dm"},{match:/(\?|([\<\>])(=)?|[\.\:]|\/(=)?|~|\+([\+\=])?|-([\-\=])?|\*([\*\=])?|%|>>|<<|=(=)?|!(=)?|<>|&|&&|[\^\|]|\|\||\bto\b|\bin\b|\bstep\b)/dgv,name:"keyword.operator.dm"},{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"constant.language.dm"},{match:/\bnull\b/dgv,name:"constant.language.dm"},{begin:/\{"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.dm"}},end:/"\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.dm"}},name:"string.quoted.triple.dm",patterns:[{include:"#string_escaped_char"},{include:"#string_embedded_expression"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.dm"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.dm"}},name:"string.quoted.double.dm",patterns:[{include:"#string_escaped_char"},{include:"#string_embedded_expression"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.dm"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.dm"}},name:"string.quoted.single.dm",patterns:[{include:"#string_escaped_char"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*((#)\\p{space}*define)\\p{space}+((?<id>[A-Z_a-z][0-9A-Z_a-z]*))(\\()(\\p{space}*([A-Z_a-z][0-9A-Z_a-z]*)\\p{space}*((,)\\p{space}*([A-Z_a-z][0-9A-Z_a-z]*)\\p{space}*)*(?:\\.\\.\\.)?)(\\))","dgv",{"hiddenCaptures":[7,10],"transfers":[[4,[7,10]]]}),beginCaptures:{"1":{name:"keyword.control.directive.define.dm"},"2":{name:"punctuation.definition.directive.dm"},"3":{name:"entity.name.function.preprocessor.dm"},"5":{name:"punctuation.definition.parameters.begin.dm"},"6":{name:"variable.parameter.preprocessor.dm"},"8":{name:"punctuation.separator.parameters.dm"},"9":{name:"punctuation.definition.parameters.end.dm"}},end:/(?=\/[\*\/])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.macro.dm",patterns:[{include:"$base"}]},{begin:/^\p{space}*((#)\p{space}*define)\p{space}+((?<id>[A-Z_a-z][0-9A-Z_a-z]*))/dgv,beginCaptures:{"1":{name:"keyword.control.directive.define.dm"},"2":{name:"punctuation.definition.directive.dm"},"3":{name:"variable.other.preprocessor.dm"}},end:/(?=\/[\*\/])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.macro.dm",patterns:[{include:"$base"}]},{begin:/^\p{space}*(#\p{space}*(error|warn))\b/dgv,captures:{"1":{name:"keyword.control.import.error.dm"}},end:/(?=\n?$)/dgv,name:"meta.preprocessor.diagnostic.dm",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\\\\\p{space}*\\n))\\1)","dgv",{"hiddenCaptures":[1]}),name:"punctuation.separator.continuation.dm"}]},{begin:/^\p{space}*(?:((#)\p{space}*(?:elif|else|if|ifdef|ifndef))|((#)\p{space}*(undef|include)))\b/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.dm"},"2":{name:"punctuation.definition.directive.dm"},"3":{name:"keyword.control.directive.$5.dm"},"4":{name:"punctuation.definition.directive.dm"}},end:/(?=\/[\*\/])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.dm",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\\\\\p{space}*\\n))\\1)","dgv",{"hiddenCaptures":[1]}),name:"punctuation.separator.continuation.dm"}]},{include:"#block"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:^|(?:(?=\\p{space})(?<!else|new|return)(?<=[\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=\\p{space}*[A-Z_a-z])(?<!&&)(?<=[\\&\\*\\>])))(\\p{space}*)(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\p{space}*\\()((?:(?=((?:[A-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\5)|::)+))\\4)|(?<=operator)(?:[\\-\\!\\&\\*\\+\\<\\=\\>]+|\\(\\)|\\[\\]))\\p{space}*(?=\\()","dgv",{"hiddenCaptures":[4,5]}),beginCaptures:{"1":{name:"punctuation.whitespace.function.leading.dm"},"3":{name:"entity.name.function.dm"},"4":{name:"punctuation.definition.parameters.dm"}},end:/(?<=\})|(?=#)|(;)?/dgv,name:"meta.function.dm",patterns:[{include:"#comments"},{include:"#parens"},{match:/\bconst\b/dgv,name:"storage.modifier.dm"},{include:"#block"}]}],repository:{access:{match:/\.[A-Z_a-z][0-9A-Z_a-z]*\b(?!\p{space}*\()/dgv,name:"variable.other.dot-access.dm"},block:{begin:/\{/dgv,end:/\}/dgv,name:"meta.block.dm",patterns:[{include:"#block_innards"}]},block_innards:{patterns:[{include:"#preprocessor-rule-enabled-block"},{include:"#preprocessor-rule-disabled-block"},{include:"#preprocessor-rule-other-block"},{include:"#access"},{captures:{"1":{name:"punctuation.whitespace.function-call.leading.dm"},"2":{name:"support.function.any-method.dm"},"3":{name:"punctuation.definition.parameters.dm"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=\\p{space})(?:(?<=else|new|return)|(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(\\p{space}+))?\\b((?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\p{space}*\\()(?:(?=((?:(?!NS)[A-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\5)\\b|::)+))\\4))\\p{space}*(\\()","dgv",{"hiddenCaptures":[4,5]}),name:"meta.function-call.dm"},{include:"#block"},{include:"$base"}]},comments:{patterns:[{captures:{"1":{name:"meta.toc-list.banner.block.dm"}},match:/^\/\* =(\p{space}*[^\n]*?)\p{space}*= \*\/(?=\n?$)\n?/dgv,name:"comment.block.dm"},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.dm"}},end:/\*\//dgv,name:"comment.block.dm",patterns:[{include:"#comments"}]},{match:/\*\/[^\n]*\n/dgv,name:"invalid.illegal.stray-comment-end.dm"},{captures:{"1":{name:"meta.toc-list.banner.line.dm"}},match:/^\/\/ =(\p{space}*[^\n]*?)\p{space}*=\p{space}*(?=\n?$)\n?/dgv,name:"comment.line.banner.dm"},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.dm"}},end:/(?=\n?$)\n?/dgv,name:"comment.line.double-slash.dm",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\\\\\p{space}*\\n))\\1)","dgv",{"hiddenCaptures":[1]}),name:"punctuation.separator.continuation.dm"}]}]},disabled:{begin:/^\p{space}*#\p{space}*if(n?def)?\b[^\n]*(?=\n?$)/dgv,end:/^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$)/dgv,patterns:[{include:"#disabled"}]},parens:{begin:/\(/dgv,end:/\)/dgv,name:"meta.parens.dm",patterns:[{include:"$base"}]},"preprocessor-rule-disabled":{begin:/^\p{space}*(#(if)\p{space}+(0))\b[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else))\b/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"$base"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,name:"comment.block.preprocessor.if-branch",patterns:[{include:"#disabled"}]}]},"preprocessor-rule-disabled-block":{begin:/^\p{space}*(#(if)\p{space}+(0))\b[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else))\b/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#block_innards"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,name:"comment.block.preprocessor.if-branch.in-block",patterns:[{include:"#disabled"}]}]},"preprocessor-rule-enabled":{begin:/^\p{space}*(#(if)\p{space}+(0*1))\b/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else))\b[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},contentName:"comment.block.preprocessor.else-branch",end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#disabled"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"$base"}]}]},"preprocessor-rule-enabled-block":{begin:/^\p{space}*(#(if)\p{space}+(0*1))\b/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else))\b[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},contentName:"comment.block.preprocessor.else-branch.in-block",end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#disabled"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#block_innards"}]}]},"preprocessor-rule-other":{begin:/^\p{space}*((#\p{space}*(if(n?def)?))\b[^\n]*?(?:(?=\/[\*\/])|(?=\n?$)))/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.dm"}},end:/^\p{space}*((#\p{space}*(endif)))\b[^\n]*(?=\n?$)/dgv,patterns:[{include:"$base"}]},"preprocessor-rule-other-block":{begin:/^\p{space}*(#\p{space}*(if(n?def)?)\b[^\n]*?(?:(?=\/[\*\/])|(?=\n?$)))/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b[^\n]*(?=\n?$)/dgv,patterns:[{include:"#block_innards"}]},string_embedded_expression:{patterns:[{begin:/(?<!\\)\[/dgv,end:/\]/dgv,name:"string.interpolated.dm",patterns:[{include:"$self"}]}]},string_escaped_char:{patterns:[{match:/\\(h(?:(?:er|im)self|ers|im)|([STst]?he)|He|[Hh]is|[Aa]n?|(?:im)?proper|\.\.\.|(?:icon|ref|[Rr]oman)(?=\[)|[\n "\<\>\[ns])/dgv,name:"constant.character.escape.dm"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unknown-escape.dm"}]}},scopeName:"source.dm",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/edge.mjs CHANGED
@@ -2,7 +2,7 @@ import typescript from './typescript.mjs'
2
2
  import html from './html.mjs'
3
3
  import html_derivative from './html-derivative.mjs'
4
4
 
5
- const lang = Object.freeze({displayName:"Edge",injections:{"text.html.edge - (meta.embedded | meta.tag | comment.block.edge), L:(text.html.edge meta.tag - (comment.block.edge | meta.embedded.block.edge)), L:(source.ts.embedded.html - (comment.block.edge | meta.embedded.block.edge))":{patterns:[{include:"#comment"},{include:"#escapedMustache"},{include:"#safeMustache"},{include:"#mustache"},{include:"#nonSeekableTag"},{include:"#tag"}]}},name:"edge",patterns:[{include:"text.html.basic"},{include:"text.html.derivative"}],repository:{comment:{begin:/\{\{--/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.edge"}},end:/--\}\}/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.edge"}},name:"comment.block"},escapedMustache:{begin:/@\{\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.edge"}},end:/\}\}/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.edge"}},name:"comment.block"},mustache:{begin:/\{\{/dgv,beginCaptures:{"0":{name:"punctuation.mustache.begin"}},end:/\}\}/dgv,endCaptures:{"0":{name:"punctuation.mustache.end"}},name:"meta.embedded.block.javascript",patterns:[{include:"source.ts#expression"}]},nonSeekableTag:{captures:{"2":{name:"support.function.edge"}},match:/^(\p{space}*)((@{1,2})(!)?([a-zA-Z\._]+))(~)?(?=\n?$)/dgv,name:"meta.embedded.block.javascript",patterns:[{include:"source.ts#expression"}]},safeMustache:{begin:/\{\{\{/dgv,beginCaptures:{"0":{name:"punctuation.mustache.begin"}},end:/\}\}\}/dgv,endCaptures:{"0":{name:"punctuation.mustache.end"}},name:"meta.embedded.block.javascript",patterns:[{include:"source.ts#expression"}]},tag:{begin:/^(\p{space}*)((@{1,2})(!)?([a-zA-Z\._]+)(\p{space}{0,2}))(\()/dgv,beginCaptures:{"2":{name:"support.function.edge"},"7":{name:"punctuation.paren.open"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.paren.close"}},name:"meta.embedded.block.javascript",patterns:[{include:"source.ts#expression"}]}},scopeName:"text.html.edge",embeddedLangs:["typescript","html","html-derivative"],aliases:undefined})
5
+ const lang = Object.freeze({displayName:"Edge",injections:{"text.html.edge - (meta.embedded | meta.tag | comment.block.edge), L:(text.html.edge meta.tag - (comment.block.edge | meta.embedded.block.edge)), L:(source.ts.embedded.html - (comment.block.edge | meta.embedded.block.edge))":{patterns:[{include:"#comment"},{include:"#escapedMustache"},{include:"#safeMustache"},{include:"#mustache"},{include:"#nonSeekableTag"},{include:"#tag"}]}},name:"edge",patterns:[{include:"text.html.basic"},{include:"text.html.derivative"}],repository:{comment:{begin:/\{\{--/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.edge"}},end:/--\}\}/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.edge"}},name:"comment.block"},escapedMustache:{begin:/@\{\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.begin.edge"}},end:/\}\}/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.edge"}},name:"comment.block"},mustache:{begin:/\{\{/dgv,beginCaptures:{"0":{name:"punctuation.mustache.begin"}},end:/\}\}/dgv,endCaptures:{"0":{name:"punctuation.mustache.end"}},name:"meta.embedded.block.javascript",patterns:[{include:"source.ts#expression"}]},nonSeekableTag:{captures:{"2":{name:"support.function.edge"}},match:/^(\p{space}*)((@{1,2})(!)?([\.A-Z_a-z]+))(~)?(?=\n?$)/dgv,name:"meta.embedded.block.javascript",patterns:[{include:"source.ts#expression"}]},safeMustache:{begin:/\{\{\{/dgv,beginCaptures:{"0":{name:"punctuation.mustache.begin"}},end:/\}\}\}/dgv,endCaptures:{"0":{name:"punctuation.mustache.end"}},name:"meta.embedded.block.javascript",patterns:[{include:"source.ts#expression"}]},tag:{begin:/^(\p{space}*)((@{1,2})(!)?([\.A-Z_a-z]+)(\p{space}{0,2}))(\()/dgv,beginCaptures:{"2":{name:"support.function.edge"},"7":{name:"punctuation.paren.open"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.paren.close"}},name:"meta.embedded.block.javascript",patterns:[{include:"source.ts#expression"}]}},scopeName:"text.html.edge",embeddedLangs:["typescript","html","html-derivative"],aliases:undefined})
6
6
 
7
7
  export default [
8
8
  ...typescript,