@shikijs/langs-precompiled 1.27.2 → 1.28.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 (200) 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-ts.mjs +1 -1
  6. package/dist/apache.mjs +1 -1
  7. package/dist/apex.mjs +1 -1
  8. package/dist/apl.mjs +1 -1
  9. package/dist/applescript.mjs +1 -1
  10. package/dist/ara.mjs +1 -1
  11. package/dist/asciidoc.mjs +1 -1
  12. package/dist/asm.mjs +1 -1
  13. package/dist/astro.mjs +1 -1
  14. package/dist/ballerina.mjs +1 -1
  15. package/dist/bat.mjs +1 -1
  16. package/dist/beancount.mjs +1 -1
  17. package/dist/bicep.mjs +1 -1
  18. package/dist/blade.mjs +1 -1
  19. package/dist/bsl.mjs +1 -1
  20. package/dist/c.mjs +1 -1
  21. package/dist/cadence.mjs +1 -1
  22. package/dist/cairo.mjs +1 -1
  23. package/dist/clarity.mjs +1 -1
  24. package/dist/clojure.mjs +1 -1
  25. package/dist/cmake.mjs +1 -1
  26. package/dist/cobol.mjs +1 -1
  27. package/dist/codeowners.mjs +1 -1
  28. package/dist/coffee.mjs +1 -1
  29. package/dist/common-lisp.mjs +1 -1
  30. package/dist/cpp-macro.mjs +1 -1
  31. package/dist/cpp.mjs +1 -1
  32. package/dist/crystal.mjs +1 -1
  33. package/dist/css.mjs +1 -1
  34. package/dist/csv.mjs +1 -1
  35. package/dist/cue.mjs +1 -1
  36. package/dist/cypher.mjs +1 -1
  37. package/dist/d.mjs +1 -1
  38. package/dist/dart.mjs +1 -1
  39. package/dist/dax.mjs +1 -1
  40. package/dist/desktop.mjs +1 -1
  41. package/dist/diff.mjs +1 -1
  42. package/dist/docker.mjs +1 -1
  43. package/dist/dotenv.mjs +1 -1
  44. package/dist/dream-maker.mjs +1 -1
  45. package/dist/edge.mjs +1 -1
  46. package/dist/elixir.mjs +1 -1
  47. package/dist/elm.mjs +1 -1
  48. package/dist/emacs-lisp.mjs +1 -1
  49. package/dist/erlang.mjs +1 -1
  50. package/dist/es-tag-css.mjs +1 -1
  51. package/dist/es-tag-glsl.mjs +1 -1
  52. package/dist/es-tag-html.mjs +1 -1
  53. package/dist/es-tag-sql.mjs +1 -1
  54. package/dist/es-tag-xml.mjs +1 -1
  55. package/dist/fennel.mjs +1 -1
  56. package/dist/fish.mjs +1 -1
  57. package/dist/fluent.mjs +1 -1
  58. package/dist/fortran-fixed-form.mjs +1 -1
  59. package/dist/fortran-free-form.mjs +1 -1
  60. package/dist/fsharp.mjs +1 -1
  61. package/dist/gdresource.mjs +1 -1
  62. package/dist/gdscript.mjs +1 -1
  63. package/dist/gdshader.mjs +1 -1
  64. package/dist/genie.mjs +1 -1
  65. package/dist/gherkin.mjs +1 -1
  66. package/dist/git-commit.mjs +1 -1
  67. package/dist/git-rebase.mjs +1 -1
  68. package/dist/glimmer-js.mjs +1 -1
  69. package/dist/glimmer-ts.mjs +1 -1
  70. package/dist/glsl.mjs +1 -1
  71. package/dist/gnuplot.mjs +1 -1
  72. package/dist/go.mjs +1 -1
  73. package/dist/graphql.mjs +1 -1
  74. package/dist/groovy.mjs +1 -1
  75. package/dist/hack.mjs +1 -1
  76. package/dist/haml.mjs +1 -1
  77. package/dist/handlebars.mjs +1 -1
  78. package/dist/haskell.mjs +1 -1
  79. package/dist/haxe.mjs +1 -1
  80. package/dist/hcl.mjs +1 -1
  81. package/dist/hjson.mjs +1 -1
  82. package/dist/hlsl.mjs +1 -1
  83. package/dist/html.mjs +1 -1
  84. package/dist/http.mjs +1 -1
  85. package/dist/hxml.mjs +1 -1
  86. package/dist/hy.mjs +1 -1
  87. package/dist/imba.mjs +1 -1
  88. package/dist/ini.mjs +1 -1
  89. package/dist/java.mjs +1 -1
  90. package/dist/javascript.mjs +1 -1
  91. package/dist/jinja-html.mjs +1 -1
  92. package/dist/jison.mjs +1 -1
  93. package/dist/json.mjs +1 -1
  94. package/dist/jsonc.mjs +1 -1
  95. package/dist/jsonl.mjs +1 -1
  96. package/dist/jsonnet.mjs +1 -1
  97. package/dist/jssm.mjs +1 -1
  98. package/dist/jsx.mjs +1 -1
  99. package/dist/julia.mjs +1 -1
  100. package/dist/kotlin.mjs +1 -1
  101. package/dist/latex.mjs +1 -1
  102. package/dist/lean.mjs +1 -1
  103. package/dist/less.mjs +1 -1
  104. package/dist/liquid.mjs +1 -1
  105. package/dist/log.mjs +1 -1
  106. package/dist/logo.mjs +1 -1
  107. package/dist/lua.mjs +1 -1
  108. package/dist/luau.mjs +1 -1
  109. package/dist/make.mjs +1 -1
  110. package/dist/markdown-vue.mjs +1 -1
  111. package/dist/markdown.mjs +1 -1
  112. package/dist/marko.mjs +1 -1
  113. package/dist/matlab.mjs +1 -1
  114. package/dist/mdc.mjs +1 -1
  115. package/dist/mdx.mjs +1 -1
  116. package/dist/mermaid.mjs +1 -1
  117. package/dist/mipsasm.mjs +1 -1
  118. package/dist/mojo.mjs +1 -1
  119. package/dist/move.mjs +1 -1
  120. package/dist/narrat.mjs +1 -1
  121. package/dist/nextflow.mjs +1 -1
  122. package/dist/nginx.mjs +1 -1
  123. package/dist/nim.mjs +1 -1
  124. package/dist/nix.mjs +1 -1
  125. package/dist/nushell.mjs +1 -1
  126. package/dist/objective-c.mjs +1 -1
  127. package/dist/objective-cpp.mjs +1 -1
  128. package/dist/ocaml.mjs +1 -1
  129. package/dist/pascal.mjs +1 -1
  130. package/dist/perl.mjs +1 -1
  131. package/dist/php.mjs +1 -1
  132. package/dist/plsql.mjs +1 -1
  133. package/dist/po.mjs +1 -1
  134. package/dist/postcss.mjs +1 -1
  135. package/dist/powershell.mjs +1 -1
  136. package/dist/prisma.mjs +1 -1
  137. package/dist/prolog.mjs +1 -1
  138. package/dist/proto.mjs +1 -1
  139. package/dist/pug.mjs +1 -1
  140. package/dist/puppet.mjs +1 -1
  141. package/dist/python.mjs +1 -1
  142. package/dist/qml.mjs +1 -1
  143. package/dist/qmldir.mjs +1 -1
  144. package/dist/r.mjs +1 -1
  145. package/dist/racket.mjs +1 -1
  146. package/dist/raku.mjs +1 -1
  147. package/dist/razor.mjs +10 -2
  148. package/dist/reg.mjs +1 -1
  149. package/dist/rel.mjs +1 -1
  150. package/dist/riscv.mjs +1 -1
  151. package/dist/rst.mjs +1 -1
  152. package/dist/ruby.mjs +1 -1
  153. package/dist/rust.mjs +1 -1
  154. package/dist/sas.mjs +1 -1
  155. package/dist/scala.mjs +1 -1
  156. package/dist/scheme.mjs +1 -1
  157. package/dist/scss.mjs +1 -1
  158. package/dist/sdbl.mjs +1 -1
  159. package/dist/shaderlab.mjs +1 -1
  160. package/dist/shellscript.mjs +1 -1
  161. package/dist/shellsession.mjs +1 -1
  162. package/dist/smalltalk.mjs +1 -1
  163. package/dist/solidity.mjs +1 -1
  164. package/dist/soy.mjs +1 -1
  165. package/dist/sql.mjs +1 -1
  166. package/dist/ssh-config.mjs +1 -1
  167. package/dist/stata.mjs +1 -1
  168. package/dist/stylus.mjs +1 -1
  169. package/dist/svelte.mjs +1 -1
  170. package/dist/system-verilog.mjs +1 -1
  171. package/dist/systemd.mjs +1 -1
  172. package/dist/talonscript.mjs +1 -1
  173. package/dist/tasl.mjs +1 -1
  174. package/dist/tcl.mjs +1 -1
  175. package/dist/templ.mjs +1 -1
  176. package/dist/terraform.mjs +1 -1
  177. package/dist/tex.mjs +1 -1
  178. package/dist/toml.mjs +1 -1
  179. package/dist/tsx.mjs +1 -1
  180. package/dist/turtle.mjs +1 -1
  181. package/dist/twig.mjs +1 -1
  182. package/dist/typescript.mjs +1 -1
  183. package/dist/typespec.mjs +1 -1
  184. package/dist/typst.mjs +1 -1
  185. package/dist/v.mjs +1 -1
  186. package/dist/vala.mjs +1 -1
  187. package/dist/vb.mjs +1 -1
  188. package/dist/verilog.mjs +1 -1
  189. package/dist/vhdl.mjs +1 -1
  190. package/dist/viml.mjs +1 -1
  191. package/dist/vue.mjs +1 -1
  192. package/dist/vyper.mjs +1 -1
  193. package/dist/wasm.mjs +1 -1
  194. package/dist/wenyan.mjs +1 -1
  195. package/dist/wikitext.mjs +1 -1
  196. package/dist/wolfram.mjs +1 -1
  197. package/dist/xml.mjs +1 -1
  198. package/dist/yaml.mjs +1 -1
  199. package/dist/zig.mjs +1 -1
  200. package/package.json +4 -4
package/dist/cue.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"CUE",fileTypes:["cue"],name:"cue",patterns:[{include:"#whitespace"},{include:"#comment"},{captures:{"1":{name:"keyword.other.package"},"2":{name:"entity.name.namespace"}},match:/(?<![\p{L}\p{Nd}_\$\#])(package)[ \t]+([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*)(?![\p{L}\p{Nd}_\$\#])/dgv},{patterns:[{begin:/(?<![\p{L}\p{Nd}_\$\#])(import)[ \t]+(\()/dgv,beginCaptures:{"1":{name:"keyword.other.import"},"2":{name:"punctuation.section.parens.begin"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end"}},name:"meta.imports",patterns:[{include:"#whitespace"},{include:"#comment"},{captures:{"1":{name:"entity.name.namespace"},"2":{name:"punctuation.definition.string.begin"},"3":{name:"string.quoted.double-import"},"4":{name:"punctuation.colon"},"5":{name:"entity.name"},"6":{name:"punctuation.definition.string.end"}},match:/(?:([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*)[ \t]+)?(")([^\:"]+)(?:(:)([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*))?(")/dgv,name:"meta.import-spec"},{match:/;/dgv,name:"punctuation.separator"},{include:"#invalid_in_parens"}]},{captures:{"1":{name:"keyword.other.import"},"2":{name:"entity.name.namespace"},"3":{name:"punctuation.definition.string.begin"},"4":{name:"string.quoted.double-import"},"5":{name:"punctuation.colon"},"6":{name:"entity.name"},"7":{name:"punctuation.definition.string.end"}},match:/(?<![\p{L}\p{Nd}_\$\#])(import)[ \t]+(?:([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*)[ \t]+)?(")([^\:"]+)(?:(:)([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*))?(")/dgv,name:"meta.import"}]},{include:"#punctuation_comma"},{include:"#declaration"},{include:"#invalid_in_braces"}],repository:{attribute_element:{patterns:[{begin:/([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)(=)/dgv,beginCaptures:{"1":{name:"variable.other"},"2":{name:"punctuation.bind"}},end:/(?=[\,\)])/dgv,patterns:[{include:"#attribute_string"}]},{begin:/([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)(\()/dgv,beginCaptures:{"1":{name:"variable.other"},"2":{name:"punctuation.attribute-elements.begin"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.attribute-elements.end"}},patterns:[{include:"#punctuation_comma"},{include:"#attribute_element"}]},{include:"#attribute_string"}]},attribute_string:{patterns:[{include:"#string"},{match:/[^\n\,"'\#\=\(\)]+/dgv,name:"string.unquoted"},{match:/[^\,\)]+/dgv,name:"invalid"}]},comment:{patterns:[{captures:{"1":{name:"punctuation.definition.comment"}},match:/(\/\/)[^\n]*(?=$|\n)\n?/dgv,name:"comment.line"},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment"}},end:/\*\//dgv,name:"comment.block"}]},declaration:{patterns:[{begin:/(@)([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.annotation"},"2":{name:"variable.annotation"},"3":{name:"punctuation.attribute-elements.begin"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.attribute-elements.end"}},name:"meta.annotation",patterns:[{include:"#punctuation_comma"},{include:"#attribute_element"}]},{match:/(?<!:)::(?!:)/dgv,name:"punctuation.isa"},{include:"#punctuation_colon"},{match:/\?/dgv,name:"punctuation.option"},{match:/(?<![\=\!\>\<])=(?![\=\~])/dgv,name:"punctuation.bind"},{match:/<-/dgv,name:"punctuation.arrow"},{include:"#expression"}]},expression:{patterns:[{patterns:[{captures:{"1":{name:"keyword.control.for"},"2":{name:"variable.other"},"3":{name:"punctuation.separator"},"4":{name:"variable.other"},"5":{name:"keyword.control.in"}},match:/(?<![\p{L}\p{Nd}_\$\#])(for)[ \t]+([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)(?:[ \t]*(,)[ \t]*([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+))?[ \t]+(in)(?![\p{L}\p{Nd}_\$\#])/dgv},{match:/(?<![\p{L}\p{Nd}_\$\#])if(?![\p{L}\p{Nd}_\$\#])/dgv,name:"keyword.control.conditional"},{captures:{"1":{name:"keyword.control.let"},"2":{name:"variable.other"},"3":{name:"punctuation.bind"}},match:/(?<![\p{L}\p{Nd}_\$\#])(let)[ \t]+([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)[ \t]*(=)(?![\=])/dgv}]},{patterns:[{match:/[\+\-\*]|\/(?![\/\*])/dgv,name:"keyword.operator"},{match:/(?<![\p{L}\p{Nd}_\$\#])(?:div|mod|quo|rem)(?![\p{L}\p{Nd}_\$\#])/dgv,name:"keyword.operator.word"},{match:/=[\=\~]|![\=\~]|<=|>=|[\<](?![\-\=])|[\>](?![\=])/dgv,name:"keyword.operator.comparison"},{match:/&{2}|\|{2}|!(?![\=\~])/dgv,name:"keyword.operator.logical"},{match:/&(?!&)|\|(?!\|)/dgv,name:"keyword.operator.set"}]},{captures:{"1":{name:"punctuation.accessor"},"2":{name:"variable.other.member"}},match:/(?<!\.)(\.)([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)(?![\p{L}\p{Nd}_\$\#])/dgv},{patterns:[{match:/(?<![\p{L}\p{Nd}_\$\#])_(?!\|)(?![\p{L}\p{Nd}_\$\#])/dgv,name:"constant.language.top"},{match:/(?<![\p{L}\p{Nd}_\$\#])_\|_(?![\p{L}\p{Nd}_\$\#])/dgv,name:"constant.language.bottom"},{match:/(?<![\p{L}\p{Nd}_\$\#])null(?![\p{L}\p{Nd}_\$\#])/dgv,name:"constant.language.null"},{match:/(?<![\p{L}\p{Nd}_\$\#])(?:true|false)(?![\p{L}\p{Nd}_\$\#])/dgv,name:"constant.language.bool"},{patterns:[{patterns:[{match:/(?<![\p{L}\p{Nd}_\.])[0-9](?:_?[0-9])*\.(?:[0-9](?:_?[0-9])*)?(?:[eE][\+\-]?[0-9](?:_?[0-9])*)?(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.float.decimal"},{match:/(?<![\p{L}\p{Nd}_\.])[0-9](?:_?[0-9])*[eE][\+\-]?[0-9](?:_?[0-9])*(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.float.decimal"},{match:/(?<![\p{L}\p{Nd}_\.])\.[0-9](?:_?[0-9])*(?:[eE][\+\-]?[0-9](?:_?[0-9])*)?(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.float.decimal"}]},{patterns:[{patterns:[{match:/(?<![\p{L}\p{Nd}_\.])(?:0|[1-9](?:_?[0-9])*)(?:\.[0-9](?:_?[0-9])*)?[KMGTPEYZ]i?(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.integer.other"},{match:/(?<![\p{L}\p{Nd}_\.])\.[0-9](?:_?[0-9])*[KMGTPEYZ]i?(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.integer.other"}]},{match:/(?<![\p{L}\p{Nd}_\.])(?:0|[1-9](?:_?[0-9])*)(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.integer.decimal"},{match:/(?<![\p{L}\p{Nd}_\.])0b[0-1](?:_?[0-1])*(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.integer.binary"},{match:/(?<![\p{L}\p{Nd}_\.])0[xX][0-9a-fA-F](?:_?[0-9a-fA-F])*(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.integer.hexadecimal"},{match:/(?<![\p{L}\p{Nd}_\.])0o?[0-7](?:_?[0-7])*(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.integer.octal"}]}]},{include:"#string"},{match:/(?<![\p{L}\p{Nd}_\$\#])(?:bool|u?int(?:8|16|32|64|128)?|float(?:32|64)?|string|bytes|number|rune)(?![\p{L}\p{Nd}_\$\#])/dgv,name:"support.type"},{patterns:[{begin:/(?<![\p{L}\p{Nd}_\$\#])(len|close|and|or)(\()/dgv,beginCaptures:{"1":{name:"support.function"},"2":{name:"punctuation.section.parens.begin"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end"}},name:"meta.function-call",patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#punctuation_comma"},{include:"#expression"},{include:"#invalid_in_parens"}]},{begin:/(?<![\p{L}\p{Nd}_\$\#])([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*)(\.)(\p{Lu}[\p{L}\p{Nd}_\$\#]*)(\()/dgv,beginCaptures:{"1":{name:"support.module"},"2":{name:"punctuation"},"3":{name:"support.function"},"4":{name:"punctuation.section.parens.begin"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end"}},name:"meta.function-call",patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#punctuation_comma"},{include:"#expression"},{include:"#invalid_in_parens"}]}]},{match:/(?<![\p{L}\p{Nd}_\$\#])(?:[\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)(?![\p{L}\p{Nd}_\$\#])/dgv,name:"variable.other"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.struct.begin"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.struct.end"}},name:"meta.struct",patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#punctuation_comma"},{include:"#punctuation_ellipsis"},{include:"#declaration"},{include:"#invalid_in_braces"}]},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.section.brackets.begin"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.brackets.end"}},name:"meta.brackets",patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#punctuation_colon"},{include:"#punctuation_comma"},{include:"#punctuation_ellipsis"},{captures:{"1":{name:"variable.other"},"2":{name:"punctuation.alias"}},match:/([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)[ \t]*(=)/dgv},{include:"#expression"},{match:/[^\]]+/dgv,name:"invalid"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end"}},name:"meta.parens",patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#punctuation_comma"},{include:"#expression"},{include:"#invalid_in_parens"}]}]}]},invalid_in_braces:{match:/[^\}]+/dgv,name:"invalid"},invalid_in_parens:{match:/[^\)]+/dgv,name:"invalid"},punctuation_colon:{match:/(?<!:):(?!:)/dgv,name:"punctuation.colon"},punctuation_comma:{match:/,/dgv,name:"punctuation.separator"},punctuation_ellipsis:{match:/(?<!\.)\.{3}(?!\.)/dgv,name:"punctuation.ellipsis"},string:{patterns:[{begin:/#"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.double-multiline",end:/"""#/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\#(?:"""|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\#(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"invalid.illegal"},{begin:/\\#\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\#[^\n]/dgv,name:"invalid.illegal"}]},{begin:/#"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.double",end:/"#/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\#(?:"|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\#(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"invalid.illegal"},{begin:/\\#\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\#[^\n]/dgv,name:"invalid.illegal"}]},{begin:/#'''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.single-multiline",end:/'''#/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\#(?:'''|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\#(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"constant.character.escape"},{begin:/\\#\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\#[^\n]/dgv,name:"invalid.illegal"}]},{begin:/#'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.single",end:/'#/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\#(?:'|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\#(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"constant.character.escape"},{begin:/\\#\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\#[^\n]/dgv,name:"invalid.illegal"}]},{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.double-multiline",end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\(?:"""|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"invalid.illegal"},{begin:/\\\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\[^\n]/dgv,name:"invalid.illegal"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.double",end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\(?:"|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"invalid.illegal"},{begin:/\\\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\[^\n]/dgv,name:"invalid.illegal"}]},{begin:/'''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.single-multiline",end:/'''/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\(?:'''|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"constant.character.escape"},{begin:/\\\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\[^\n]/dgv,name:"invalid.illegal"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.single",end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\(?:'|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"constant.character.escape"},{begin:/\\\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\[^\n]/dgv,name:"invalid.illegal"}]},{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.backtick",end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string"}]},whitespace:{match:/[ \t\r\n]+/dgv}},scopeName:"source.cue",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"CUE",fileTypes:["cue"],name:"cue",patterns:[{include:"#whitespace"},{include:"#comment"},{captures:{"1":{name:"keyword.other.package"},"2":{name:"entity.name.namespace"}},match:/(?<![\p{L}\p{Nd}_\$\#])(package)[ \t]+([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*)(?![\p{L}\p{Nd}_\$\#])/dgv},{patterns:[{begin:/(?<![\p{L}\p{Nd}_\$\#])(import)[ \t]+(\()/dgv,beginCaptures:{"1":{name:"keyword.other.import"},"2":{name:"punctuation.section.parens.begin"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end"}},name:"meta.imports",patterns:[{include:"#whitespace"},{include:"#comment"},{captures:{"1":{name:"entity.name.namespace"},"2":{name:"punctuation.definition.string.begin"},"3":{name:"string.quoted.double-import"},"4":{name:"punctuation.colon"},"5":{name:"entity.name"},"6":{name:"punctuation.definition.string.end"}},match:/(?:([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*)[ \t]+)?(")([^\:"]+)(?:(:)([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*))?(")/dgv,name:"meta.import-spec"},{match:/;/dgv,name:"punctuation.separator"},{include:"#invalid_in_parens"}]},{captures:{"1":{name:"keyword.other.import"},"2":{name:"entity.name.namespace"},"3":{name:"punctuation.definition.string.begin"},"4":{name:"string.quoted.double-import"},"5":{name:"punctuation.colon"},"6":{name:"entity.name"},"7":{name:"punctuation.definition.string.end"}},match:/(?<![\p{L}\p{Nd}_\$\#])(import)[ \t]+(?:([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*)[ \t]+)?(")([^\:"]+)(?:(:)([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*))?(")/dgv,name:"meta.import"}]},{include:"#punctuation_comma"},{include:"#declaration"},{include:"#invalid_in_braces"}],repository:{attribute_element:{patterns:[{begin:/([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)(=)/dgv,beginCaptures:{"1":{name:"variable.other"},"2":{name:"punctuation.bind"}},end:/(?=[\,\)])/dgv,patterns:[{include:"#attribute_string"}]},{begin:/([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)(\()/dgv,beginCaptures:{"1":{name:"variable.other"},"2":{name:"punctuation.attribute-elements.begin"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.attribute-elements.end"}},patterns:[{include:"#punctuation_comma"},{include:"#attribute_element"}]},{include:"#attribute_string"}]},attribute_string:{patterns:[{include:"#string"},{match:/[^\n\,"'\#\=\(\)]+/dgv,name:"string.unquoted"},{match:/[^\,\)]+/dgv,name:"invalid"}]},comment:{patterns:[{captures:{"1":{name:"punctuation.definition.comment"}},match:/(\/\/)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line"},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment"}},end:/\*\//dgv,name:"comment.block"}]},declaration:{patterns:[{begin:/(@)([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.annotation"},"2":{name:"variable.annotation"},"3":{name:"punctuation.attribute-elements.begin"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.attribute-elements.end"}},name:"meta.annotation",patterns:[{include:"#punctuation_comma"},{include:"#attribute_element"}]},{match:/(?<!:)::(?!:)/dgv,name:"punctuation.isa"},{include:"#punctuation_colon"},{match:/\?/dgv,name:"punctuation.option"},{match:/(?<![\=\!\>\<])=(?![\=\~])/dgv,name:"punctuation.bind"},{match:/<-/dgv,name:"punctuation.arrow"},{include:"#expression"}]},expression:{patterns:[{patterns:[{captures:{"1":{name:"keyword.control.for"},"2":{name:"variable.other"},"3":{name:"punctuation.separator"},"4":{name:"variable.other"},"5":{name:"keyword.control.in"}},match:/(?<![\p{L}\p{Nd}_\$\#])(for)[ \t]+([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)(?:[ \t]*(,)[ \t]*([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+))?[ \t]+(in)(?![\p{L}\p{Nd}_\$\#])/dgv},{match:/(?<![\p{L}\p{Nd}_\$\#])if(?![\p{L}\p{Nd}_\$\#])/dgv,name:"keyword.control.conditional"},{captures:{"1":{name:"keyword.control.let"},"2":{name:"variable.other"},"3":{name:"punctuation.bind"}},match:/(?<![\p{L}\p{Nd}_\$\#])(let)[ \t]+([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)[ \t]*(=)(?![\=])/dgv}]},{patterns:[{match:/[\+\-\*]|\/(?![\/\*])/dgv,name:"keyword.operator"},{match:/(?<![\p{L}\p{Nd}_\$\#])(?:div|mod|quo|rem)(?![\p{L}\p{Nd}_\$\#])/dgv,name:"keyword.operator.word"},{match:/=[\=\~]|![\=\~]|<=|>=|[\<](?![\-\=])|[\>](?![\=])/dgv,name:"keyword.operator.comparison"},{match:/&{2}|\|{2}|!(?![\=\~])/dgv,name:"keyword.operator.logical"},{match:/&(?!&)|\|(?!\|)/dgv,name:"keyword.operator.set"}]},{captures:{"1":{name:"punctuation.accessor"},"2":{name:"variable.other.member"}},match:/(?<!\.)(\.)([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)(?![\p{L}\p{Nd}_\$\#])/dgv},{patterns:[{match:/(?<![\p{L}\p{Nd}_\$\#])_(?!\|)(?![\p{L}\p{Nd}_\$\#])/dgv,name:"constant.language.top"},{match:/(?<![\p{L}\p{Nd}_\$\#])_\|_(?![\p{L}\p{Nd}_\$\#])/dgv,name:"constant.language.bottom"},{match:/(?<![\p{L}\p{Nd}_\$\#])null(?![\p{L}\p{Nd}_\$\#])/dgv,name:"constant.language.null"},{match:/(?<![\p{L}\p{Nd}_\$\#])(?:true|false)(?![\p{L}\p{Nd}_\$\#])/dgv,name:"constant.language.bool"},{patterns:[{patterns:[{match:/(?<![\p{L}\p{Nd}_\.])[0-9](?:_?[0-9])*\.(?:[0-9](?:_?[0-9])*)?(?:[eE][\+\-]?[0-9](?:_?[0-9])*)?(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.float.decimal"},{match:/(?<![\p{L}\p{Nd}_\.])[0-9](?:_?[0-9])*[eE][\+\-]?[0-9](?:_?[0-9])*(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.float.decimal"},{match:/(?<![\p{L}\p{Nd}_\.])\.[0-9](?:_?[0-9])*(?:[eE][\+\-]?[0-9](?:_?[0-9])*)?(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.float.decimal"}]},{patterns:[{patterns:[{match:/(?<![\p{L}\p{Nd}_\.])(?:0|[1-9](?:_?[0-9])*)(?:\.[0-9](?:_?[0-9])*)?[KMGTPEYZ]i?(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.integer.other"},{match:/(?<![\p{L}\p{Nd}_\.])\.[0-9](?:_?[0-9])*[KMGTPEYZ]i?(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.integer.other"}]},{match:/(?<![\p{L}\p{Nd}_\.])(?:0|[1-9](?:_?[0-9])*)(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.integer.decimal"},{match:/(?<![\p{L}\p{Nd}_\.])0b[0-1](?:_?[0-1])*(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.integer.binary"},{match:/(?<![\p{L}\p{Nd}_\.])0[xX][0-9a-fA-F](?:_?[0-9a-fA-F])*(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.integer.hexadecimal"},{match:/(?<![\p{L}\p{Nd}_\.])0o?[0-7](?:_?[0-7])*(?![\p{L}\p{Nd}_\.])/dgv,name:"constant.numeric.integer.octal"}]}]},{include:"#string"},{match:/(?<![\p{L}\p{Nd}_\$\#])(?:bool|u?int(?:8|16|32|64|128)?|float(?:32|64)?|string|bytes|number|rune)(?![\p{L}\p{Nd}_\$\#])/dgv,name:"support.type"},{patterns:[{begin:/(?<![\p{L}\p{Nd}_\$\#])(len|close|and|or)(\()/dgv,beginCaptures:{"1":{name:"support.function"},"2":{name:"punctuation.section.parens.begin"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end"}},name:"meta.function-call",patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#punctuation_comma"},{include:"#expression"},{include:"#invalid_in_parens"}]},{begin:/(?<![\p{L}\p{Nd}_\$\#])([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*)(\.)(\p{Lu}[\p{L}\p{Nd}_\$\#]*)(\()/dgv,beginCaptures:{"1":{name:"support.module"},"2":{name:"punctuation"},"3":{name:"support.function"},"4":{name:"punctuation.section.parens.begin"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end"}},name:"meta.function-call",patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#punctuation_comma"},{include:"#expression"},{include:"#invalid_in_parens"}]}]},{match:/(?<![\p{L}\p{Nd}_\$\#])(?:[\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)(?![\p{L}\p{Nd}_\$\#])/dgv,name:"variable.other"},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.struct.begin"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.struct.end"}},name:"meta.struct",patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#punctuation_comma"},{include:"#punctuation_ellipsis"},{include:"#declaration"},{include:"#invalid_in_braces"}]},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.section.brackets.begin"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.section.brackets.end"}},name:"meta.brackets",patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#punctuation_colon"},{include:"#punctuation_comma"},{include:"#punctuation_ellipsis"},{captures:{"1":{name:"variable.other"},"2":{name:"punctuation.alias"}},match:/([\p{L}\$\#][\p{L}\p{Nd}_\$\#]*|_[\p{L}\p{Nd}_\$\#]+)[ \t]*(=)/dgv},{include:"#expression"},{match:/[^\]]+/dgv,name:"invalid"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end"}},name:"meta.parens",patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#punctuation_comma"},{include:"#expression"},{include:"#invalid_in_parens"}]}]}]},invalid_in_braces:{match:/[^\}]+/dgv,name:"invalid"},invalid_in_parens:{match:/[^\)]+/dgv,name:"invalid"},punctuation_colon:{match:/(?<!:):(?!:)/dgv,name:"punctuation.colon"},punctuation_comma:{match:/,/dgv,name:"punctuation.separator"},punctuation_ellipsis:{match:/(?<!\.)\.{3}(?!\.)/dgv,name:"punctuation.ellipsis"},string:{patterns:[{begin:/#"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.double-multiline",end:/"""#/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\#(?:"""|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\#(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"invalid.illegal"},{begin:/\\#\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\#[^\n]/dgv,name:"invalid.illegal"}]},{begin:/#"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.double",end:/"#/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\#(?:"|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\#(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"invalid.illegal"},{begin:/\\#\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\#[^\n]/dgv,name:"invalid.illegal"}]},{begin:/#'''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.single-multiline",end:/'''#/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\#(?:'''|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\#(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"constant.character.escape"},{begin:/\\#\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\#[^\n]/dgv,name:"invalid.illegal"}]},{begin:/#'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.single",end:/'#/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\#(?:'|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\#(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"constant.character.escape"},{begin:/\\#\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\#[^\n]/dgv,name:"invalid.illegal"}]},{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.double-multiline",end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\(?:"""|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"invalid.illegal"},{begin:/\\\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\[^\n]/dgv,name:"invalid.illegal"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.double",end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\(?:"|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"invalid.illegal"},{begin:/\\\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\[^\n]/dgv,name:"invalid.illegal"}]},{begin:/'''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.single-multiline",end:/'''/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\(?:'''|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"constant.character.escape"},{begin:/\\\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\[^\n]/dgv,name:"invalid.illegal"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.single",end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string",patterns:[{match:/\\(?:'|\/|\\|[abfnrtv]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/dgv,name:"constant.character.escape"},{match:/\\(?:[0-7]{3}|x[0-9A-Fa-f]{2})/dgv,name:"constant.character.escape"},{begin:/\\\(/dgv,beginCaptures:{"0":{name:"punctuation.section.interpolation.begin"}},contentName:"source.cue.embedded",end:/\)/dgv,endCaptures:{"0":{name:"punctuation.section.interpolation.end"}},name:"meta.interpolation",patterns:[{include:"#whitespace"},{include:"#expression"},{include:"#invalid_in_parens"}]},{match:/\\[^\n]/dgv,name:"invalid.illegal"}]},{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"}},contentName:"string.quoted.backtick",end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end"}},name:"meta.string"}]},whitespace:{match:/[ \t\r\n]+/dgv}},scopeName:"source.cue",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/cypher.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Cypher",fileTypes:["cql","cyp","cypher"],name:"cypher",patterns:[{include:"#comments"},{include:"#constants"},{include:"#keywords"},{include:"#functions"},{include:"#path-patterns"},{include:"#operators"},{include:"#identifiers"},{include:"#properties_literal"},{include:"#numbers"},{include:"#strings"}],repository:{comments:{patterns:[{match:/\/\/[^\n]*(?=$|\n)\n?/dgv,name:"comment.line.double-slash.cypher"}]},constants:{patterns:[{match:/\bTRUE|FALSE\b/dgiv,name:"constant.language.bool.cypher"},{match:/\bNULL\b/dgiv,name:"constant.language.missing.cypher"}]},functions:{patterns:[{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b((NOT)(?=\p{space}*\()|IS\p{space}+NULL|IS\p{space}+NOT\p{space}+NULL)/dgiv,name:"keyword.control.function.boolean.cypher"},{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b(ALL|ANY|NONE|SINGLE)(?=\p{space}*\()/dgiv,name:"support.function.predicate.cypher"},{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b(LENGTH|TYPE|ID|COALESCE|HEAD|LAST|TIMESTAMP|STARTNODE|ENDNODE|TOINT|TOFLOAT)(?=\p{space}*\()/dgiv,name:"support.function.scalar.cypher"},{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b(NODES|RELATIONSHIPS|LABELS|EXTRACT|FILTER|TAIL|RANGE|REDUCE)(?=\p{space}*\()/dgiv,name:"support.function.collection.cypher"},{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b(ABS|ACOS|ASIN|ATAN|ATAN2|COS|COT|DEGREES|E|EXP|FLOOR|HAVERSIN|LOG|LOG10|PI|RADIANS|RAND|ROUND|SIGN|SIN|SQRT|TAN)(?=\p{space}*\()/dgiv,name:"support.function.math.cypher"},{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b(COUNT|sum|avg|max|min|stdev|stdevp|percentileDisc|percentileCont|collect)(?=\p{space}*\()/dgiv,name:"support.function.aggregation.cypher"},{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b(STR|REPLACE|SUBSTRING|LEFT|RIGHT|LTRIM|RTRIM|TRIM|LOWER|UPPER|SPLIT)(?=\p{space}*\()/dgiv,name:"support.function.string.cypher"}]},identifiers:{patterns:[{match:/`[^\n]+?`/dgv,name:"variable.other.quoted-identifier.cypher"},{match:/[\p{L}_][\p{L}0-9_]*/dgv,name:"variable.other.identifier.cypher"}]},keywords:{patterns:[{match:/\b(START|MATCH|WHERE|RETURN|UNION|FOREACH|WITH|AS|LIMIT|SKIP|UNWIND|HAS|DISTINCT|OPTIONAL\\s+MATCH|ORDER\p{space}+BY|CALL|YIELD)\b/dgiv,name:"keyword.control.clause.cypher"},{match:/\b(ELSE|END|THEN|CASE|WHEN)\b/dgiv,name:"keyword.control.case.cypher"},{match:/\b(FIELDTERMINATOR|USING\p{space}+PERIODIC\p{space}+COMMIT|HEADERS|LOAD\p{space}+CSV|FROM)\b/dgiv,name:"keyword.data.import.cypher"},{match:/\b(USING\p{space}+INDEX|CREATE\p{space}+INDEX\p{space}+ON|DROP\p{space}+INDEX\p{space}+ON|CREATE\p{space}+CONSTRAINT\p{space}+ON|DROP\p{space}+CONSTRAINT\p{space}+ON)\b/dgiv,name:"keyword.other.indexes.cypher"},{match:/\b(MERGE|DELETE|SET|REMOVE|ON\p{space}+CREATE|ON\p{space}+MATCH|CREATE\p{space}+UNIQUE|CREATE)\b/dgiv,name:"keyword.data.definition.cypher"},{match:/\b(DESC|ASC)\b/dgiv,name:"keyword.other.order.cypher"},{begin:/\b(node|relationship|rel)((:)([\p{L}_\-][\p{L}0-9_]*))?(?=\p{space}*\()/dgiv,beginCaptures:{"1":{name:"support.class.starting-functions-point.cypher"},"2":{name:"keyword.control.index-seperator.cypher"},"3":{name:"keyword.control.index-seperator.cypher"},"4":{name:"support.class.index.cypher"}},end:/\)/dgv,name:"source.starting-functions.cypher",patterns:[{match:/(`[^\n]+?`|[\p{L}_][\p{L}0-9_]*)/dgv,name:"variable.parameter.relationship-name.cypher"},{match:/(\*)/dgv,name:"keyword.control.starting-function-params.cypher"},{include:"#comments"},{include:"#numbers"},{include:"#strings"}]}]},numbers:{patterns:[{match:/\b\p{Nd}+(\.\p{Nd}+)?\b/dgv,name:"constant.numeric.cypher"}]},operators:{patterns:[{match:/(\+|-|\/|\*|%|\?|!)/dgv,name:"keyword.operator.math.cypher"},{match:/(<=|=>|<>|<|>|=~|=)/dgv,name:"keyword.operator.compare.cypher"},{match:/\b(OR|AND|XOR|IS)\b/dgiv,name:"keyword.operator.logical.cypher"},{match:/\b(IN)\b/dgiv,name:"keyword.operator.in.cypher"}]},"path-patterns":{patterns:[{match:/(<--|-->|--)/dgv,name:"support.function.relationship-pattern.cypher"},{begin:/(<-|-)(\[)/dgv,beginCaptures:{"1":{name:"support.function.relationship-pattern-start.cypher"},"2":{name:"keyword.operator.relationship-pattern-start.cypher"}},end:/(\])(->|-)/dgv,endCaptures:{"1":{name:"keyword.operator.relationship-pattern-end.cypher"},"2":{name:"support.function.relationship-pattern-end.cypher"}},name:"path-pattern.cypher",patterns:[{include:"#identifiers"},{captures:{"1":{name:"keyword.operator.relationship-type-start.cypher"},"2":{name:"entity.name.class.relationship.type.cypher"}},match:/(:)(`[^\n]+?`|[\p{L}_][\p{L}0-9_]*)/dgv,name:"entity.name.class.relationship-type.cypher"},{captures:{"1":{name:"support.type.operator.relationship-type-or.cypher"},"2":{name:"entity.name.class.relationship.type-or.cypher"}},match:/(\|)(\p{space}*)(`[^\n]+?`|[\p{L}_][\p{L}0-9_]*)/dgv,name:"entity.name.class.relationship-type-ored.cypher"},{match:/(?:\?\*|\?|\*)\p{space}*(?:\p{Nd}+\p{space}*(?:\.\.\p{space}*\p{Nd}+)?)?/dgv,name:"support.function.relationship-pattern.quant.cypher"},{include:"#properties_literal"}]}]},properties_literal:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"keyword.control.properties_literal.cypher"}},end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.properties_literal.cypher"}},name:"source.cypher",patterns:[{match:/:|,/dgv,name:"keyword.control.properties_literal.seperator.cypher"},{include:"#comments"},{include:"#constants"},{include:"#functions"},{include:"#operators"},{include:"#identifiers"},{include:"#numbers"},{include:"#strings"}]}]},string_escape:{captures:{"2":{name:"string.quoted.double.cypher"}},match:/(\\\\|\\[tbnrf])|(\\'|\\")/dgv,name:"constant.character.escape.cypher"},strings:{patterns:[{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.cypher",patterns:[{include:"#string_escape"}]},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.cypher",patterns:[{include:"#string_escape"}]}]}},scopeName:"source.cypher",embeddedLangs:undefined,aliases:["cql"]})
1
+ const lang = Object.freeze({displayName:"Cypher",fileTypes:["cql","cyp","cypher"],name:"cypher",patterns:[{include:"#comments"},{include:"#constants"},{include:"#keywords"},{include:"#functions"},{include:"#path-patterns"},{include:"#operators"},{include:"#identifiers"},{include:"#properties_literal"},{include:"#numbers"},{include:"#strings"}],repository:{comments:{patterns:[{match:/\/\/[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.double-slash.cypher"}]},constants:{patterns:[{match:/\bTRUE|FALSE\b/dgiv,name:"constant.language.bool.cypher"},{match:/\bNULL\b/dgiv,name:"constant.language.missing.cypher"}]},functions:{patterns:[{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b((NOT)(?=\p{space}*\()|IS\p{space}+NULL|IS\p{space}+NOT\p{space}+NULL)/dgiv,name:"keyword.control.function.boolean.cypher"},{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b(ALL|ANY|NONE|SINGLE)(?=\p{space}*\()/dgiv,name:"support.function.predicate.cypher"},{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b(LENGTH|TYPE|ID|COALESCE|HEAD|LAST|TIMESTAMP|STARTNODE|ENDNODE|TOINT|TOFLOAT)(?=\p{space}*\()/dgiv,name:"support.function.scalar.cypher"},{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b(NODES|RELATIONSHIPS|LABELS|EXTRACT|FILTER|TAIL|RANGE|REDUCE)(?=\p{space}*\()/dgiv,name:"support.function.collection.cypher"},{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b(ABS|ACOS|ASIN|ATAN|ATAN2|COS|COT|DEGREES|E|EXP|FLOOR|HAVERSIN|LOG|LOG10|PI|RADIANS|RAND|ROUND|SIGN|SIN|SQRT|TAN)(?=\p{space}*\()/dgiv,name:"support.function.math.cypher"},{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b(COUNT|sum|avg|max|min|stdev|stdevp|percentileDisc|percentileCont|collect)(?=\p{space}*\()/dgiv,name:"support.function.aggregation.cypher"},{comment:"List of Cypher built-in functions from http://docs.neo4j.org/chunked/milestone/query-function.html",match:/\b(STR|REPLACE|SUBSTRING|LEFT|RIGHT|LTRIM|RTRIM|TRIM|LOWER|UPPER|SPLIT)(?=\p{space}*\()/dgiv,name:"support.function.string.cypher"}]},identifiers:{patterns:[{match:/`[^\n]+?`/dgv,name:"variable.other.quoted-identifier.cypher"},{match:/[\p{L}_][\p{L}0-9_]*/dgv,name:"variable.other.identifier.cypher"}]},keywords:{patterns:[{match:/\b(START|MATCH|WHERE|RETURN|UNION|FOREACH|WITH|AS|LIMIT|SKIP|UNWIND|HAS|DISTINCT|OPTIONAL\\s+MATCH|ORDER\p{space}+BY|CALL|YIELD)\b/dgiv,name:"keyword.control.clause.cypher"},{match:/\b(ELSE|END|THEN|CASE|WHEN)\b/dgiv,name:"keyword.control.case.cypher"},{match:/\b(FIELDTERMINATOR|USING\p{space}+PERIODIC\p{space}+COMMIT|HEADERS|LOAD\p{space}+CSV|FROM)\b/dgiv,name:"keyword.data.import.cypher"},{match:/\b(USING\p{space}+INDEX|CREATE\p{space}+INDEX\p{space}+ON|DROP\p{space}+INDEX\p{space}+ON|CREATE\p{space}+CONSTRAINT\p{space}+ON|DROP\p{space}+CONSTRAINT\p{space}+ON)\b/dgiv,name:"keyword.other.indexes.cypher"},{match:/\b(MERGE|DELETE|SET|REMOVE|ON\p{space}+CREATE|ON\p{space}+MATCH|CREATE\p{space}+UNIQUE|CREATE)\b/dgiv,name:"keyword.data.definition.cypher"},{match:/\b(DESC|ASC)\b/dgiv,name:"keyword.other.order.cypher"},{begin:/\b(node|relationship|rel)((:)([\p{L}_\-][\p{L}0-9_]*))?(?=\p{space}*\()/dgiv,beginCaptures:{"1":{name:"support.class.starting-functions-point.cypher"},"2":{name:"keyword.control.index-seperator.cypher"},"3":{name:"keyword.control.index-seperator.cypher"},"4":{name:"support.class.index.cypher"}},end:/\)/dgv,name:"source.starting-functions.cypher",patterns:[{match:/(`[^\n]+?`|[\p{L}_][\p{L}0-9_]*)/dgv,name:"variable.parameter.relationship-name.cypher"},{match:/(\*)/dgv,name:"keyword.control.starting-function-params.cypher"},{include:"#comments"},{include:"#numbers"},{include:"#strings"}]}]},numbers:{patterns:[{match:/\b\p{Nd}+(\.\p{Nd}+)?\b/dgv,name:"constant.numeric.cypher"}]},operators:{patterns:[{match:/(\+|-|\/|\*|%|\?|!)/dgv,name:"keyword.operator.math.cypher"},{match:/(<=|=>|<>|<|>|=~|=)/dgv,name:"keyword.operator.compare.cypher"},{match:/\b(OR|AND|XOR|IS)\b/dgiv,name:"keyword.operator.logical.cypher"},{match:/\b(IN)\b/dgiv,name:"keyword.operator.in.cypher"}]},"path-patterns":{patterns:[{match:/(<--|-->|--)/dgv,name:"support.function.relationship-pattern.cypher"},{begin:/(<-|-)(\[)/dgv,beginCaptures:{"1":{name:"support.function.relationship-pattern-start.cypher"},"2":{name:"keyword.operator.relationship-pattern-start.cypher"}},end:/(\])(->|-)/dgv,endCaptures:{"1":{name:"keyword.operator.relationship-pattern-end.cypher"},"2":{name:"support.function.relationship-pattern-end.cypher"}},name:"path-pattern.cypher",patterns:[{include:"#identifiers"},{captures:{"1":{name:"keyword.operator.relationship-type-start.cypher"},"2":{name:"entity.name.class.relationship.type.cypher"}},match:/(:)(`[^\n]+?`|[\p{L}_][\p{L}0-9_]*)/dgv,name:"entity.name.class.relationship-type.cypher"},{captures:{"1":{name:"support.type.operator.relationship-type-or.cypher"},"2":{name:"entity.name.class.relationship.type-or.cypher"}},match:/(\|)(\p{space}*)(`[^\n]+?`|[\p{L}_][\p{L}0-9_]*)/dgv,name:"entity.name.class.relationship-type-ored.cypher"},{match:/(?:\?\*|\?|\*)\p{space}*(?:\p{Nd}+\p{space}*(?:\.\.\p{space}*\p{Nd}+)?)?/dgv,name:"support.function.relationship-pattern.quant.cypher"},{include:"#properties_literal"}]}]},properties_literal:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"keyword.control.properties_literal.cypher"}},end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.properties_literal.cypher"}},name:"source.cypher",patterns:[{match:/:|,/dgv,name:"keyword.control.properties_literal.seperator.cypher"},{include:"#comments"},{include:"#constants"},{include:"#functions"},{include:"#operators"},{include:"#identifiers"},{include:"#numbers"},{include:"#strings"}]}]},string_escape:{captures:{"2":{name:"string.quoted.double.cypher"}},match:/(\\\\|\\[tbnrf])|(\\'|\\")/dgv,name:"constant.character.escape.cypher"},strings:{patterns:[{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.cypher",patterns:[{include:"#string_escape"}]},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.cypher",patterns:[{include:"#string_escape"}]}]}},scopeName:"source.cypher",embeddedLangs:undefined,aliases:["cql"]})
2
2
 
3
3
  export default [
4
4
  lang
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(0b|0B)[0-1_]+(Lu|LU|uL|UL|L|u|U)?\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\+|e|E)[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|L|u|U)?\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[0-9a-fA-F_]{2}|\\u[0-9a-fA-F_]{4}|\\U[0-9a-fA-F_]{8}|\\[0-7]{1,3})/dgv,name:"constant.character.escape-sequence.number.d"},{match:/(\\t|\\'|\\"|\\\?|\\0|\\a|\\b|\\f|\\n|\\r|\\v|\\\\)/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:/(?!typeof|typeid)((\.\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:/[a-fA-F0-9_s]+/dgv,name:"constant.character.hex-string.d"}]}]},"hexadecimal-float":{patterns:[{match:/\b0[xX][0-9a-fA-F_]*(\.[0-9a-fA-F_]*)?(p-|P-|p\+|P\+|p|P)[0-9][0-9_]*[LfF]?i?\b/dgv,name:"constant.numeric.float.hexadecimal.d"}]},"hexadecimal-integer":{patterns:[{match:/\b(0x|0X)([0-9a-fA-F][0-9a-fA-F_]*)(Lu|LU|uL|UL|L|u|U)?\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"}]},"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}]},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(?!$))#![^\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"}]},"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:/`[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(0b|0B)[0-1_]+(Lu|LU|uL|UL|L|u|U)?\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\+|e|E)[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|L|u|U)?\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[0-9a-fA-F_]{2}|\\u[0-9a-fA-F_]{4}|\\U[0-9a-fA-F_]{8}|\\[0-7]{1,3})/dgv,name:"constant.character.escape-sequence.number.d"},{match:/(\\t|\\'|\\"|\\\?|\\0|\\a|\\b|\\f|\\n|\\r|\\v|\\\\)/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:/(?!typeof|typeid)((\.\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:/[a-fA-F0-9_s]+/dgv,name:"constant.character.hex-string.d"}]}]},"hexadecimal-float":{patterns:[{match:/\b0[xX][0-9a-fA-F_]*(\.[0-9a-fA-F_]*)?(p-|P-|p\+|P\+|p|P)[0-9][0-9_]*[LfF]?i?\b/dgv,name:"constant.numeric.float.hexadecimal.d"}]},"hexadecimal-integer":{patterns:[{match:/\b(0x|0X)([0-9a-fA-F][0-9a-fA-F_]*)(Lu|LU|uL|UL|L|u|U)?\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"}]},"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}]},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"}]},"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})
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]*)(?=$|\n)/dgv,name:"meta.preprocessor.script.dart"},{begin:/(?<=^|\n(?!$))[\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:/(?<=^|\n(?!$))(?!\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(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(([0-9][0-9_]*\.?[0-9_]*)|(\.[0-9][0-9_]*))((e|E)(\+|-)?[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:/(?<=^|\n(?!$))\p{space}*\/\/\/\p{space}*(```)/dgv,end:/(?<=^|\n(?!$))\p{space}*\/\/\/\p{space}*(```)|(?<=^|\n(?!$))(?!\p{space}*\/\/\/)/dgv,patterns:[{include:"#dartdoc-codeblock-triple"}]},{begin:/(?<=^|\n(?!$))\p{space}*\*\p{space}*(```)/dgv,end:/(?<=^|\n(?!$))\p{space}*\*\p{space}*(```)|(?<=^|\n(?!$))(?=\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:/(?<=^|\n(?!$))\p{space}*\*\p{space}*(?!(\p{space}*```|\/))/dgv,contentName:"variable.other.source.dart",end:/\n/dgv},"dartdoc-codeblock-triple":{begin:/(?<=^|\n(?!$))\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:/(?<!\$)\b(?:void|var)\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:/(?<![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(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(([0-9][0-9_]*\.?[0-9_]*)|(\.[0-9][0-9_]*))((e|E)(\+|-)?[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:/(?<!\$)\b(?:void|var)\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})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/dax.mjs CHANGED
@@ -1,4 +1,4 @@
1
- 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:/\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,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(?!$))([^\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"}},comment:"build out variable assignment",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})
1
+ 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:/\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,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"}},comment:"build out variable assignment",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})
2
2
 
3
3
  export default [
4
4
  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:/(?<=(?<=^|\n(?!$))Categories[^\n]*)AudioVideo|(?<=(?<=^|\n(?!$))Categories[^\n]*)Audio|(?<=(?<=^|\n(?!$))Categories[^\n]*)Video|(?<=(?<=^|\n(?!$))Categories[^\n]*)Development|(?<=(?<=^|\n(?!$))Categories[^\n]*)Education|(?<=(?<=^|\n(?!$))Categories[^\n]*)Game|(?<=(?<=^|\n(?!$))Categories[^\n]*)Graphics|(?<=(?<=^|\n(?!$))Categories[^\n]*)Network|(?<=(?<=^|\n(?!$))Categories[^\n]*)Office|(?<=(?<=^|\n(?!$))Categories[^\n]*)Science|(?<=(?<=^|\n(?!$))Categories[^\n]*)Settings|(?<=(?<=^|\n(?!$))Categories[^\n]*)System|(?<=(?<=^|\n(?!$))Categories[^\n]*)Utility/dgv,name:"markup.bold"}]},inCommands:{patterns:[{match:/(?<=(?<=^|\n(?!$))Exec[^\n]*\p{space})-+\P{space}+/dgv,name:"variable.parameter"},{match:/(?<=(?<=^|\n(?!$))Exec[^\n]*)\p{space}%[fFuUick]\p{space}/dgv,name:"variable.language"},{match:/"[^\n]*"/dgv,name:"string"}]},keywords:{patterns:[{match:/(?<=^|\n(?!$))Type\b|(?<=^|\n(?!$))Version\b|(?<=^|\n(?!$))Name\b|(?<=^|\n(?!$))GenericName\b|(?<=^|\n(?!$))NoDisplay\b|(?<=^|\n(?!$))Comment\b|(?<=^|\n(?!$))Icon\b|(?<=^|\n(?!$))Hidden\b|(?<=^|\n(?!$))OnlyShowIn\b|(?<=^|\n(?!$))NotShowIn\b|(?<=^|\n(?!$))DBusActivatable\b|(?<=^|\n(?!$))TryExec\b|(?<=^|\n(?!$))Exec\b|(?<=^|\n(?!$))Path\b|(?<=^|\n(?!$))Terminal\b|(?<=^|\n(?!$))Actions\b|(?<=^|\n(?!$))MimeType\b|(?<=^|\n(?!$))Categories\b|(?<=^|\n(?!$))Implements\b|(?<=^|\n(?!$))Keywords\b|(?<=^|\n(?!$))StartupNotify\b|(?<=^|\n(?!$))StartupWMClass\b|(?<=^|\n(?!$))URL\b|(?<=^|\n(?!$))PrefersNonDefaultGPU\b|(?<=^|\n(?!$))Encoding\b/dgv,name:"keyword"},{match:/(?<=^|\n(?!$))X-[A-z 0-9 \-]*/dgv,name:"keyword.other"},{match:/(?<!(?<=^|\n(?!$)))\[[^\n]+\]/dgv,name:"constant.language"},{match:/(?<=^|\n(?!$))GtkTheme\b|(?<=^|\n(?!$))MetacityTheme\b|(?<=^|\n(?!$))IconTheme\b|(?<=^|\n(?!$))CursorTheme\b|(?<=^|\n(?!$))ButtonLayout\b|(?<=^|\n(?!$))ApplicationFont\b/dgv,name:"keyword"}]},layout:{patterns:[{begin:/(?<=^|\n(?!$))\[Desktop/dgv,end:/\]/dgv,name:"markup.heading"},{begin:/(?<=^|\n(?!$))\[X-[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,end:/\]/dgv,name:"markup.heading"},{match:/(?<=^|\n(?!$))\p{space}*#[^\n]*/dgv,name:"comment"},{match:/;/dgv,name:"strong"}]},values:{patterns:[{match:/(?<=(?<=^|\n(?!$))\P{space}+)=/dgv,name:"keyword.operator"},{match:/\btrue\b|\bfalse\b/dgv,name:"variable.other"},{match:/(?<=(?<=^|\n(?!$))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}%[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:/\btrue\b|\bfalse\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:/(?<=^|\n(?!$))((\*{15})|(={67})|(-{3}))(?=$|\n)\n?/dgv,name:"meta.separator.diff"},{match:/(?<=^|\n(?!$))\p{Nd}+(,\p{Nd}+)*(a|d|c)\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:/(?<=^|\n(?!$))(@@)\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:/(?<=^|\n(?!$))(((-{3}) [^\n]+ (-{4}))|((\*{3}) [^\n]+ (\*{4})))(?=$|\n)\n?/dgv,name:"meta.diff.range.context"},{match:/(?<=^|\n(?!$))diff --git a\/[^\n]*(?=$|\n)\n?/dgv,name:"meta.diff.header.git"},{match:/(?<=^|\n(?!$))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:/((?<=^|\n(?!$))(((-{3}) [^\n]+)|((\*{3}) [^\n]+))(?=$|\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:/((?<=^|\n(?!$))(\+{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)\n?/dgv,name:"markup.inserted.diff"},{captures:{"1":{name:"punctuation.definition.changed.diff"}},match:/(?<=^|\n(?!$))(!)[^\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)\n?/dgv,name:"markup.deleted.diff"},{begin:/(?<=^|\n(?!$))(#)/dgv,captures:{"1":{name:"punctuation.definition.comment.diff"}},comment:"Git produces unified diffs with embedded comments\"",end:/\n/dgv,name:"comment.line.number-sign.diff"},{match:/(?<=^|\n(?!$))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:/(?<=^|\n(?!$))Index(:) ([^\n]+)(?=$|\n)\n?/dgv,name:"meta.diff.index"},{match:/(?<=^|\n(?!$))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}+)*(a|d|c)\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"}},comment:"Git produces unified diffs with embedded comments\"",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/docker.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Dockerfile",name:"docker",patterns:[{captures:{"1":{name:"keyword.other.special-method.dockerfile"},"2":{name:"keyword.other.special-method.dockerfile"}},match:/(?<=^|\n(?!$))\p{space}*\b(FROM)\b[^\n]*?\b(AS)\b/dgiv},{captures:{"1":{name:"keyword.control.dockerfile"},"2":{name:"keyword.other.special-method.dockerfile"}},match:/(?<=^|\n(?!$))\p{space}*(?:(ONBUILD)\p{space}+)?(ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)\p{space}/dgiv},{captures:{"1":{name:"keyword.operator.dockerfile"},"2":{name:"keyword.other.special-method.dockerfile"}},match:/(?<=^|\n(?!$))\p{space}*(?:(ONBUILD)\p{space}+)?(CMD|ENTRYPOINT)\p{space}/dgiv},{include:"#string-character-escape"},{begin:/"/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.dockerfile"}},end:/"/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.dockerfile"}},name:"string.quoted.double.dockerfile",patterns:[{include:"#string-character-escape"}]},{begin:/'/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.dockerfile"}},end:/'/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.dockerfile"}},name:"string.quoted.single.dockerfile",patterns:[{include:"#string-character-escape"}]},{captures:{"1":{name:"punctuation.whitespace.comment.leading.dockerfile"},"2":{name:"comment.line.number-sign.dockerfile"},"3":{name:"punctuation.definition.comment.dockerfile"}},comment:"comment.line",match:/(?<=^|\n(?!$))(\p{space}*)((#)[^\n]*(?=$|\n)\n?)/dgv}],repository:{"string-character-escape":{match:/\\[^\n]/dgv,name:"constant.character.escaped.dockerfile"}},scopeName:"source.dockerfile",embeddedLangs:undefined,aliases:["dockerfile"]})
1
+ const lang = Object.freeze({displayName:"Dockerfile",name:"docker",patterns:[{captures:{"1":{name:"keyword.other.special-method.dockerfile"},"2":{name:"keyword.other.special-method.dockerfile"}},match:/^\p{space}*\b(FROM)\b[^\n]*?\b(AS)\b/dgiv},{captures:{"1":{name:"keyword.control.dockerfile"},"2":{name:"keyword.other.special-method.dockerfile"}},match:/^\p{space}*(?:(ONBUILD)\p{space}+)?(ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)\p{space}/dgiv},{captures:{"1":{name:"keyword.operator.dockerfile"},"2":{name:"keyword.other.special-method.dockerfile"}},match:/^\p{space}*(?:(ONBUILD)\p{space}+)?(CMD|ENTRYPOINT)\p{space}/dgiv},{include:"#string-character-escape"},{begin:/"/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.dockerfile"}},end:/"/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.dockerfile"}},name:"string.quoted.double.dockerfile",patterns:[{include:"#string-character-escape"}]},{begin:/'/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.dockerfile"}},end:/'/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.dockerfile"}},name:"string.quoted.single.dockerfile",patterns:[{include:"#string-character-escape"}]},{captures:{"1":{name:"punctuation.whitespace.comment.leading.dockerfile"},"2":{name:"comment.line.number-sign.dockerfile"},"3":{name:"punctuation.definition.comment.dockerfile"}},comment:"comment.line",match:/^(\p{space}*)((#)[^\n]*(?=\n?$)\n?)/dgv}],repository:{"string-character-escape":{match:/\\[^\n]/dgv,name:"constant.character.escaped.dockerfile"}},scopeName:"source.dockerfile",embeddedLangs:undefined,aliases:["dockerfile"]})
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"}]}},comment:"Full Line Comment",match:/(?<=^|\n(?!$))\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"}]}},comment:"ENV entry",match:/(?<=^|\n(?!$))\p{space}?([^\n]*?)\p{space}?(=)([^\n]*)(?=$|\n)/dgv}],repository:{"double-quoted-string":{captures:{"1":{patterns:[{include:"#interpolation"},{include:"#escape-characters"}]}},comment:"Double Quoted String",match:/"([^\n]*)"/dgv,name:"string.quoted.double.dotenv"},"escape-characters":{comment:"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"}},comment:"Interpolation (variable substitution)",match:/(\$\{)([^\n]*)(\})/dgv},key:{captures:{"1":{name:"keyword.key.export.dotenv"},"2":{name:"variable.key.dotenv",patterns:[{include:"#variable"}]}},comment:"Key",match:/(export\p{space})?([^\n]*)/dgv},"line-comment":{comment:"Comment",match:/#[^\n]*(?=$|\n)/dgv,name:"comment.line.dotenv"},"single-quoted-string":{comment:"Single Quoted String",match:/'([^\n]*)'/dgv,name:"string.quoted.single.dotenv"},variable:{comment:"env 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"}]}},comment:"Full 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"}]}},comment:"ENV entry",match:/^\p{space}?([^\n]*?)\p{space}?(=)([^\n]*)(?=\n?$)/dgv}],repository:{"double-quoted-string":{captures:{"1":{patterns:[{include:"#interpolation"},{include:"#escape-characters"}]}},comment:"Double Quoted String",match:/"([^\n]*)"/dgv,name:"string.quoted.double.dotenv"},"escape-characters":{comment:"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"}},comment:"Interpolation (variable substitution)",match:/(\$\{)([^\n]*)(\})/dgv},key:{captures:{"1":{name:"keyword.key.export.dotenv"},"2":{name:"variable.key.dotenv",patterns:[{include:"#variable"}]}},comment:"Key",match:/(export\p{space})?([^\n]*)/dgv},"line-comment":{comment:"Comment",match:/#[^\n]*(?=\n?$)/dgv,name:"comment.line.dotenv"},"single-quoted-string":{comment:"Single Quoted String",match:/'([^\n]*)'/dgv,name:"string.quoted.single.dotenv"},variable:{comment:"env variable",match:/[a-zA-Z_]+[a-zA-Z0-9_]*/dgv}},scopeName:"source.dotenv",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang