@shikijs/langs-precompiled 3.2.2 → 3.4.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 (225) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-html.mjs +1 -1
  6. package/dist/angular-inline-style.mjs +1 -1
  7. package/dist/angular-inline-template.mjs +1 -1
  8. package/dist/angular-let-declaration.mjs +1 -1
  9. package/dist/angular-template-blocks.mjs +1 -1
  10. package/dist/angular-ts.mjs +1 -1
  11. package/dist/apache.mjs +1 -1
  12. package/dist/apex.mjs +1 -1
  13. package/dist/apl.mjs +1 -1
  14. package/dist/applescript.mjs +1 -1
  15. package/dist/ara.mjs +1 -1
  16. package/dist/asciidoc.mjs +1 -1
  17. package/dist/asm.mjs +1 -1
  18. package/dist/astro.mjs +1 -1
  19. package/dist/awk.mjs +1 -1
  20. package/dist/ballerina.mjs +1 -1
  21. package/dist/bat.mjs +1 -1
  22. package/dist/beancount.mjs +1 -1
  23. package/dist/berry.mjs +1 -1
  24. package/dist/bibtex.mjs +1 -1
  25. package/dist/bicep.mjs +1 -1
  26. package/dist/blade.mjs +1 -1
  27. package/dist/bsl.mjs +1 -1
  28. package/dist/c.mjs +1 -1
  29. package/dist/cadence.mjs +1 -1
  30. package/dist/cairo.mjs +1 -1
  31. package/dist/clarity.mjs +1 -1
  32. package/dist/clojure.mjs +1 -1
  33. package/dist/cmake.mjs +1 -1
  34. package/dist/cobol.mjs +1 -1
  35. package/dist/codeql.mjs +1 -1
  36. package/dist/coffee.mjs +1 -1
  37. package/dist/common-lisp.mjs +1 -1
  38. package/dist/coq.mjs +1 -1
  39. package/dist/cpp-macro.mjs +1 -1
  40. package/dist/cpp.mjs +1 -1
  41. package/dist/crystal.mjs +1 -1
  42. package/dist/csharp.mjs +1 -1
  43. package/dist/css.mjs +1 -1
  44. package/dist/cue.mjs +1 -1
  45. package/dist/cypher.mjs +1 -1
  46. package/dist/d.mjs +1 -1
  47. package/dist/dart.mjs +1 -1
  48. package/dist/dax.mjs +1 -1
  49. package/dist/desktop.mjs +1 -1
  50. package/dist/diff.mjs +1 -1
  51. package/dist/dotenv.mjs +1 -1
  52. package/dist/dream-maker.mjs +1 -1
  53. package/dist/edge.mjs +1 -1
  54. package/dist/elixir.mjs +1 -1
  55. package/dist/elm.mjs +1 -1
  56. package/dist/emacs-lisp.mjs +1 -1
  57. package/dist/erb.mjs +1 -1
  58. package/dist/erlang.mjs +1 -1
  59. package/dist/es-tag-css.mjs +1 -1
  60. package/dist/es-tag-glsl.mjs +1 -1
  61. package/dist/es-tag-html.mjs +1 -1
  62. package/dist/es-tag-sql.mjs +1 -1
  63. package/dist/es-tag-xml.mjs +1 -1
  64. package/dist/fennel.mjs +1 -1
  65. package/dist/fish.mjs +1 -1
  66. package/dist/fluent.mjs +1 -1
  67. package/dist/fortran-fixed-form.mjs +1 -1
  68. package/dist/fortran-free-form.mjs +1 -1
  69. package/dist/fsharp.mjs +1 -1
  70. package/dist/gdresource.mjs +1 -1
  71. package/dist/gdscript.mjs +1 -1
  72. package/dist/gdshader.mjs +1 -1
  73. package/dist/genie.mjs +1 -1
  74. package/dist/gherkin.mjs +1 -1
  75. package/dist/gleam.mjs +1 -1
  76. package/dist/glimmer-js.mjs +1 -1
  77. package/dist/glimmer-ts.mjs +1 -1
  78. package/dist/glsl.mjs +1 -1
  79. package/dist/gnuplot.mjs +1 -1
  80. package/dist/go.mjs +1 -1
  81. package/dist/graphql.mjs +1 -1
  82. package/dist/groovy.mjs +1 -1
  83. package/dist/hack.mjs +1 -1
  84. package/dist/haml.mjs +1 -1
  85. package/dist/handlebars.mjs +1 -1
  86. package/dist/haskell.mjs +1 -1
  87. package/dist/haxe.mjs +1 -1
  88. package/dist/hcl.mjs +1 -1
  89. package/dist/hjson.mjs +1 -1
  90. package/dist/hlsl.mjs +1 -1
  91. package/dist/html-derivative.mjs +1 -1
  92. package/dist/html.mjs +1 -1
  93. package/dist/http.mjs +1 -1
  94. package/dist/hxml.mjs +1 -1
  95. package/dist/hy.mjs +1 -1
  96. package/dist/imba.mjs +1 -1
  97. package/dist/ini.mjs +1 -1
  98. package/dist/java.mjs +1 -1
  99. package/dist/javascript.mjs +1 -1
  100. package/dist/jinja.mjs +1 -1
  101. package/dist/jison.mjs +1 -1
  102. package/dist/json.mjs +1 -1
  103. package/dist/json5.mjs +1 -1
  104. package/dist/jsonc.mjs +1 -1
  105. package/dist/jsonl.mjs +1 -1
  106. package/dist/jsonnet.mjs +1 -1
  107. package/dist/jssm.mjs +1 -1
  108. package/dist/jsx.mjs +1 -1
  109. package/dist/julia.mjs +1 -1
  110. package/dist/kotlin.mjs +1 -1
  111. package/dist/kusto.mjs +1 -1
  112. package/dist/latex.mjs +1 -1
  113. package/dist/lean.mjs +1 -1
  114. package/dist/less.mjs +1 -1
  115. package/dist/liquid.mjs +1 -1
  116. package/dist/llvm.mjs +1 -1
  117. package/dist/log.mjs +1 -1
  118. package/dist/logo.mjs +1 -1
  119. package/dist/lua.mjs +1 -1
  120. package/dist/luau.mjs +1 -1
  121. package/dist/make.mjs +1 -1
  122. package/dist/markdown-vue.mjs +1 -1
  123. package/dist/markdown.mjs +1 -1
  124. package/dist/marko.mjs +1 -1
  125. package/dist/matlab.mjs +1 -1
  126. package/dist/mdc.mjs +1 -1
  127. package/dist/mdx.mjs +1 -1
  128. package/dist/mermaid.mjs +1 -1
  129. package/dist/mipsasm.mjs +1 -1
  130. package/dist/mojo.mjs +1 -1
  131. package/dist/move.mjs +1 -1
  132. package/dist/narrat.mjs +1 -1
  133. package/dist/nextflow.mjs +1 -1
  134. package/dist/nginx.mjs +1 -1
  135. package/dist/nim.mjs +1 -1
  136. package/dist/nix.mjs +1 -1
  137. package/dist/nushell.mjs +1 -1
  138. package/dist/objective-c.mjs +1 -1
  139. package/dist/objective-cpp.mjs +1 -1
  140. package/dist/ocaml.mjs +1 -1
  141. package/dist/pascal.mjs +1 -1
  142. package/dist/perl.mjs +1 -1
  143. package/dist/php.mjs +1 -1
  144. package/dist/plsql.mjs +1 -1
  145. package/dist/po.mjs +1 -1
  146. package/dist/polar.mjs +1 -1
  147. package/dist/postcss.mjs +1 -1
  148. package/dist/powerquery.mjs +1 -1
  149. package/dist/powershell.mjs +1 -1
  150. package/dist/prisma.mjs +1 -1
  151. package/dist/prolog.mjs +1 -1
  152. package/dist/proto.mjs +1 -1
  153. package/dist/pug.mjs +1 -1
  154. package/dist/puppet.mjs +1 -1
  155. package/dist/purescript.mjs +1 -1
  156. package/dist/python.mjs +1 -1
  157. package/dist/qml.mjs +1 -1
  158. package/dist/qss.mjs +1 -1
  159. package/dist/r.mjs +1 -1
  160. package/dist/racket.mjs +1 -1
  161. package/dist/raku.mjs +1 -1
  162. package/dist/razor.mjs +1 -1
  163. package/dist/reg.mjs +1 -1
  164. package/dist/regexp.mjs +1 -1
  165. package/dist/rel.mjs +1 -1
  166. package/dist/riscv.mjs +1 -1
  167. package/dist/rst.mjs +1 -1
  168. package/dist/ruby.mjs +1 -1
  169. package/dist/rust.mjs +1 -1
  170. package/dist/sas.mjs +1 -1
  171. package/dist/sass.mjs +1 -1
  172. package/dist/scala.mjs +1 -1
  173. package/dist/scheme.mjs +1 -1
  174. package/dist/scss.mjs +1 -1
  175. package/dist/sdbl.mjs +1 -1
  176. package/dist/shaderlab.mjs +1 -1
  177. package/dist/shellscript.mjs +1 -1
  178. package/dist/shellsession.mjs +1 -1
  179. package/dist/smalltalk.mjs +1 -3
  180. package/dist/solidity.mjs +1 -1
  181. package/dist/soy.mjs +1 -1
  182. package/dist/sparql.mjs +1 -1
  183. package/dist/splunk.mjs +1 -1
  184. package/dist/sql.mjs +1 -1
  185. package/dist/ssh-config.mjs +1 -1
  186. package/dist/stata.mjs +1 -1
  187. package/dist/stylus.mjs +1 -1
  188. package/dist/svelte.mjs +1 -1
  189. package/dist/system-verilog.mjs +1 -1
  190. package/dist/systemd.mjs +1 -1
  191. package/dist/talonscript.mjs +1 -1
  192. package/dist/tasl.mjs +1 -1
  193. package/dist/tcl.mjs +1 -1
  194. package/dist/templ.mjs +1 -1
  195. package/dist/terraform.mjs +1 -1
  196. package/dist/tex.mjs +1 -1
  197. package/dist/toml.mjs +1 -1
  198. package/dist/tsx.mjs +1 -1
  199. package/dist/turtle.mjs +1 -1
  200. package/dist/twig.mjs +1 -1
  201. package/dist/typescript.mjs +1 -1
  202. package/dist/typespec.mjs +1 -1
  203. package/dist/typst.mjs +1 -1
  204. package/dist/v.mjs +1 -1
  205. package/dist/vala.mjs +1 -1
  206. package/dist/vb.mjs +1 -1
  207. package/dist/verilog.mjs +1 -1
  208. package/dist/vhdl.mjs +1 -1
  209. package/dist/viml.mjs +1 -1
  210. package/dist/vue-html.mjs +1 -1
  211. package/dist/vue-sfc-style-variable-injection.mjs +1 -1
  212. package/dist/vue.mjs +3 -3
  213. package/dist/vyper.mjs +1 -1
  214. package/dist/wasm.mjs +1 -1
  215. package/dist/wenyan.mjs +1 -1
  216. package/dist/wgsl.mjs +1 -1
  217. package/dist/wikitext.mjs +1 -1
  218. package/dist/wit.mjs +1 -1
  219. package/dist/wolfram.mjs +1 -1
  220. package/dist/xml.mjs +1 -1
  221. package/dist/xsl.mjs +1 -1
  222. package/dist/yaml.mjs +1 -1
  223. package/dist/zenscript.mjs +1 -1
  224. package/dist/zig.mjs +1 -1
  225. package/package.json +4 -4
package/dist/elixir.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
  import html from './html.mjs'
3
3
 
4
- const lang = Object.freeze({displayName:"Elixir",fileTypes:["ex","exs"],firstLineMatch:/^#!\/[^\n]*\belixir/dgv,foldingStartMarker:/(after|else|catch|rescue|->|[\{\[]|do)\p{space}*(?=\n?$)/dgv,foldingStopMarker:/^\p{space}*(([\}\]]|after|else|catch|rescue)\p{space}*(?=\n?$)|end\b)/dgv,name:"elixir",patterns:[{begin:/\b(fn)\b(?![^\n]*->)/dgv,beginCaptures:{"1":{name:"keyword.control.elixir"}},end:/(?=\n?$)/dgv,patterns:[{include:"#core_syntax"}]},{captures:{"1":{name:"entity.name.type.class.elixir"},"2":{name:"punctuation.separator.method.elixir"},"3":{name:"entity.name.function.elixir"}},match:/([A-Z][\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(\.)\p{space}*([a-z_][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)/dgv},{captures:{"1":{name:"constant.other.symbol.elixir"},"2":{name:"punctuation.separator.method.elixir"},"3":{name:"entity.name.function.elixir"}},match:/(:[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(\.)\p{space}*(_?[\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)/dgv},{captures:{"1":{name:"keyword.operator.other.elixir"},"2":{name:"entity.name.function.elixir"}},match:/(\|>)\p{space}*([a-z_][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)/dgv},{match:/\b[a-z_][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?(?=\p{space}*\.?\p{space}*\()/dgv,name:"entity.name.function.elixir"},{begin:/\b(fn)\b(?=[^\n]*->)/dgv,beginCaptures:{"1":{name:"keyword.control.elixir"}},end:/*@__PURE__*/ new EmulatedRegExp("(?:(?=((->)|(when)|(\\))))\\1)","dgv",{"hiddenCaptures":[1]}),endCaptures:{"1":{name:"keyword.operator.other.elixir"},"2":{name:"keyword.control.elixir"},"3":{name:"punctuation.section.function.elixir"}},patterns:[{include:"#core_syntax"}]},{include:"#core_syntax"},{begin:/^(?=[^\n]*->)((?![^"']*(["'])[^"']*->)|(?=[^\n]*->[^"']*(["'])[^"']*->))((?![^\n]*\([^\)]*->)|(?=[^\(\)]*->)|(?=\p{space}*\([^\n]*\)[^\n]*->))((?![^\n]*\b(fn)\b)|(?=[^\n]*->[^\n]*\bfn\b))/dgv,beginCaptures:{"1":{name:"keyword.control.elixir"}},end:/*@__PURE__*/ new EmulatedRegExp("(?:(?=((->)|(when)|(\\))))\\1)","dgv",{"hiddenCaptures":[1]}),endCaptures:{"1":{name:"keyword.operator.other.elixir"},"2":{name:"keyword.control.elixir"},"3":{name:"punctuation.section.function.elixir"}},patterns:[{include:"#core_syntax"}]}],repository:{core_syntax:{patterns:[{begin:/^\p{space}*(defmodule)\b/dgv,beginCaptures:{"1":{name:"keyword.control.module.elixir"}},end:/\b(do)\b/dgv,endCaptures:{"1":{name:"keyword.control.module.elixir"}},name:"meta.module.elixir",patterns:[{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*(?=\.)/dgv,name:"entity.other.inherited-class.elixir"},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.class.elixir"}]},{begin:/^\p{space}*(defprotocol)\b/dgv,beginCaptures:{"1":{name:"keyword.control.protocol.elixir"}},end:/\b(do)\b/dgv,endCaptures:{"1":{name:"keyword.control.protocol.elixir"}},name:"meta.protocol_declaration.elixir",patterns:[{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.protocol.elixir"}]},{begin:/^\p{space}*(defimpl)\b/dgv,beginCaptures:{"1":{name:"keyword.control.protocol.elixir"}},end:/\b(do)\b/dgv,endCaptures:{"1":{name:"keyword.control.protocol.elixir"}},name:"meta.protocol_implementation.elixir",patterns:[{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.protocol.elixir"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*(def(?:|macro|delegate|guard))\\p{space}+((?:(?=([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\4)))\\3)?(?:(?=([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\?\\!]|=(?!>)))\\6)?|===?|>[\\>\\=]?|<=>|<[\\<\\=]?|[\\%\\&\\`\\/\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\5))((\\()|\\p{space}*)","dgv",{"hiddenCaptures":[3,4,5,6]}),beginCaptures:{"1":{name:"keyword.control.module.elixir"},"2":{name:"entity.name.function.public.elixir"},"4":{name:"punctuation.section.function.elixir"}},end:/(\bdo:)|(\bdo\b)|(?=\p{space}+(def(?:|n|macro|delegate|guard))\b)/dgv,endCaptures:{"1":{name:"constant.other.keywords.elixir"},"2":{name:"keyword.control.module.elixir"}},name:"meta.function.public.elixir",patterns:[{include:"$self"},{begin:/\p{space}(\\\\)/dgv,beginCaptures:{"1":{name:"keyword.operator.other.elixir"}},end:/[\,\)]|(?=\n?$)/dgv,patterns:[{include:"$self"}]},{match:/\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\b/dgv,name:"keyword.control.elixir"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*(def(?:p|np|macrop|guardp))\\p{space}+((?:(?=([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\4)))\\3)?(?:(?=([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\?\\!]|=(?!>)))\\6)?|===?|>[\\>\\=]?|<=>|<[\\<\\=]?|[\\%\\&\\`\\/\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\5))((\\()|\\p{space}*)","dgv",{"hiddenCaptures":[3,4,5,6]}),beginCaptures:{"1":{name:"keyword.control.module.elixir"},"2":{name:"entity.name.function.private.elixir"},"4":{name:"punctuation.section.function.elixir"}},end:/(\bdo:)|(\bdo\b)|(?=\p{space}+(def(?:p|macrop|guardp))\b)/dgv,endCaptures:{"1":{name:"constant.other.keywords.elixir"},"2":{name:"keyword.control.module.elixir"}},name:"meta.function.private.elixir",patterns:[{include:"$self"},{begin:/\p{space}(\\\\)/dgv,beginCaptures:{"1":{name:"keyword.operator.other.elixir"}},end:/[\,\)]|(?=\n?$)/dgv,patterns:[{include:"$self"}]},{match:/\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\b/dgv,name:"keyword.control.elixir"}]},{begin:/\p{space}*~L"""/dgv,end:/\p{space}*"""/dgv,name:"sigil.leex",patterns:[{include:"text.elixir"},{include:"text.html.basic"}]},{begin:/\p{space}*~H"""/dgv,end:/\p{space}*"""/dgv,name:"sigil.heex",patterns:[{include:"text.elixir"},{include:"text.html.basic"}]},{begin:/@(module|type)?doc (~[a-z])?"""/dgv,end:/\p{space}*"""/dgv,name:"comment.block.documentation.heredoc",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/@(module|type)?doc ~[A-Z]"""/dgv,end:/\p{space}*"""/dgv,name:"comment.block.documentation.heredoc"},{begin:/@(module|type)?doc (~[a-z])?'''/dgv,end:/\p{space}*'''/dgv,name:"comment.block.documentation.heredoc",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/@(module|type)?doc ~[A-Z]'''/dgv,end:/\p{space}*'''/dgv,name:"comment.block.documentation.heredoc"},{match:/@(module|type)?doc false/dgv,name:"comment.block.documentation.false"},{begin:/@(module|type)?doc "/dgv,end:/"/dgv,name:"comment.block.documentation.string",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{match:/(?<!\.)\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defnp?|defmacrop?|defguardp?|defdelegate|defexception|defoverridable|exit|after|rescue|catch|else|raise|reraise|throw|import|require|alias|use|quote|unquote|super|with)\b(?![\?\!\:])/dgv,name:"keyword.control.elixir"},{match:/(?<!\.)\b(and|not|or|when|xor|in)\b/dgv,name:"keyword.operator.elixir"},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.class.elixir"},{match:/\b(nil|true|false)\b(?![\?\!])/dgv,name:"constant.language.elixir"},{match:/\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\b(?![\?\!])/dgv,name:"variable.language.elixir"},{captures:{"1":{name:"punctuation.definition.variable.elixir"}},match:/(@)[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.module.elixir"},{captures:{"1":{name:"punctuation.definition.variable.elixir"}},match:/(&)\p{Nd}+/dgv,name:"variable.other.anonymous.elixir"},{match:/&(?!&)/dgv,name:"variable.other.anonymous.elixir"},{captures:{"1":{name:"punctuation.definition.variable.elixir"}},match:/\^[a-z_][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.capture.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b0x\\p{AHex}(?:(?=(_?\\p{AHex}))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.hex.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b\\p{Nd}(?:(?=(_?\\p{Nd}))\\1)*(\\.(?![^\\p{space}\\p{Nd}])(?:(?=(_?\\p{Nd}))\\3)+)([eE][\\-\\+]?\\p{Nd}(?:(?=(_?\\p{Nd}))\\5)*)?\\b","dgv",{"hiddenCaptures":[1,3,5]}),name:"constant.numeric.float.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b\\p{Nd}(?:(?=(_?\\p{Nd}))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.integer.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b0b[01](?:(?=(_?[01]))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.binary.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b0o[0-7](?:(?=(_?[0-7]))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.octal.elixir"},{begin:/:'/dgv,captures:{"0":{name:"punctuation.definition.constant.elixir"}},end:/'/dgv,name:"constant.other.symbol.single-quoted.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/:"/dgv,captures:{"0":{name:"punctuation.definition.constant.elixir"}},end:/"/dgv,name:"constant.other.symbol.double-quoted.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/'''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*'''/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.single.heredoc.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.single.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.double.heredoc.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.double.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.heredoc.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\}[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\][a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/>[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\)[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\1[a-z]*()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[A-Z]"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.heredoc.literal.elixir"},{begin:/~[A-Z]\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\}[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\][a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/>[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\)[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\1[a-z]*()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{captures:{"1":{name:"punctuation.definition.constant.elixir"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!:)(:)(?:(?=([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}\\@]*(?:(?=([\\?\\!]|=(?![\\>\\=])))\\3)?|<>|===?|!==?|<<>>|<<<|>>>|~~~|::|<-|\\|>|=>|=~|[\\=\\/]|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|\\.\\.//|>=?|<=?|&&?&?|\\+\\+?|--?|\\|\\|?\\|?|[\\!\\@]|%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?))\\2)","dgv",{"hiddenCaptures":[2,3]}),name:"constant.other.symbol.elixir"},{captures:{"1":{name:"punctuation.definition.constant.elixir"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([a-zA-Z_][\\p{L}\\p{M}\\p{N}\\p{Pc}\\@]*[\\?\\!]?))\\1)(:)(?!:)","dgv",{"hiddenCaptures":[1]}),name:"constant.other.keywords.elixir"},{begin:/(^[ \t]+)?(?=##)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.elixir"}},end:/(?!#)/dgv,patterns:[{begin:/##/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.elixir"}},end:/\n/dgv,name:"comment.line.section.elixir"}]},{begin:/(^[ \t]+)?(?=#)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.elixir"}},end:/(?!#)/dgv,patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.elixir"}},end:/\n/dgv,name:"comment.line.number-sign.elixir"}]},{match:/\b_([^_][\p{L}\p{M}\p{N}\p{Pc}]+[\?\!]?)/dgv,name:"comment.unused.elixir"},{match:/\b_\b/dgv,name:"comment.wildcard.elixir"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\?(\\(x\p{AHex}{1,2}(?!\p{AHex})\b|[^xMC])|[^\p{space}\\])/dgv,name:"constant.numeric.elixir"},{match:/\+\+|--|<\|>/dgv,name:"keyword.operator.concatenation.elixir"},{match:/\|>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\|>/dgv,name:"keyword.operator.sigils_1.elixir"},{match:/&&(?:&|)/dgv,name:"keyword.operator.sigils_2.elixir"},{match:/<-|\\\\/dgv,name:"keyword.operator.sigils_3.elixir"},{match:/===?|!==?|<=?|>=?/dgv,name:"keyword.operator.comparison.elixir"},{match:/(\|\|\||&&&|\^\^\^|<<<|>>>|~~~)/dgv,name:"keyword.operator.bitwise.elixir"},{match:/(?<=[ \t])!+|\bnot\b|&&|\band\b|\|\||\bor\b|\bxor\b/dgv,name:"keyword.operator.logical.elixir"},{match:/([\*\+\-\/])/dgv,name:"keyword.operator.arithmetic.elixir"},{match:/\||\+\+|--|\*\*|\\\\|<-|<>|<<|>>|::|\.\.|\/\/|\|>|~|=>|&/dgv,name:"keyword.operator.other.elixir"},{match:/=/dgv,name:"keyword.operator.assignment.elixir"},{match:/:/dgv,name:"punctuation.separator.other.elixir"},{match:/;/dgv,name:"punctuation.separator.statement.elixir"},{match:/,/dgv,name:"punctuation.separator.object.elixir"},{match:/\./dgv,name:"punctuation.separator.method.elixir"},{match:/[\{\}]/dgv,name:"punctuation.section.scope.elixir"},{match:/[\[\]]/dgv,name:"punctuation.section.array.elixir"},{match:/[\(\)]/dgv,name:"punctuation.section.function.elixir"}]},escaped_char:{match:/\\(x[\p{Nd}a-fA-F]{1,2}|[^\n])/dgv,name:"constant.character.escaped.elixir"},interpolated_elixir:{begin:/#\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.elixir"}},contentName:"source.elixir",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.elixir"}},name:"meta.embedded.line.elixir",patterns:[{include:"#nest_curly_and_self"},{include:"$self"}]},nest_curly_and_self:{patterns:[{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.elixir"}},end:/\}/dgv,patterns:[{include:"#nest_curly_and_self"}]},{include:"$self"}]}},scopeName:"source.elixir",embeddedLangs:["html"],aliases:undefined})
4
+ const lang = Object.freeze({displayName:"Elixir",fileTypes:["ex","exs"],firstLineMatch:/^#!\/[^\n]*\belixir/dgv,foldingStartMarker:/(after|else|catch|rescue|->|[\[\{]|do)\p{space}*(?=\n?$)/dgv,foldingStopMarker:/^\p{space}*(([\]\}]|after|else|catch|rescue)\p{space}*(?=\n?$)|end\b)/dgv,name:"elixir",patterns:[{begin:/\b(fn)\b(?![^\n]*->)/dgv,beginCaptures:{"1":{name:"keyword.control.elixir"}},end:/(?=\n?$)/dgv,patterns:[{include:"#core_syntax"}]},{captures:{"1":{name:"entity.name.type.class.elixir"},"2":{name:"punctuation.separator.method.elixir"},"3":{name:"entity.name.function.elixir"}},match:/([A-Z][\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(\.)\p{space}*([_a-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)/dgv},{captures:{"1":{name:"constant.other.symbol.elixir"},"2":{name:"punctuation.separator.method.elixir"},"3":{name:"entity.name.function.elixir"}},match:/(:[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(\.)\p{space}*(_?[\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)/dgv},{captures:{"1":{name:"keyword.operator.other.elixir"},"2":{name:"entity.name.function.elixir"}},match:/(\|>)\p{space}*([_a-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)/dgv},{match:/\b[_a-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?(?=\p{space}*\.?\p{space}*\()/dgv,name:"entity.name.function.elixir"},{begin:/\b(fn)\b(?=[^\n]*->)/dgv,beginCaptures:{"1":{name:"keyword.control.elixir"}},end:/*@__PURE__*/ new EmulatedRegExp("(?:(?=((->)|(when)|(\\))))\\1)","dgv",{"hiddenCaptures":[1]}),endCaptures:{"1":{name:"keyword.operator.other.elixir"},"2":{name:"keyword.control.elixir"},"3":{name:"punctuation.section.function.elixir"}},patterns:[{include:"#core_syntax"}]},{include:"#core_syntax"},{begin:/^(?=[^\n]*->)((?![^"']*(["'])[^"']*->)|(?=[^\n]*->[^"']*(["'])[^"']*->))((?![^\n]*\([^\)]*->)|(?=[^\(\)]*->)|(?=\p{space}*\([^\n]*\)[^\n]*->))((?![^\n]*\b(fn)\b)|(?=[^\n]*->[^\n]*\bfn\b))/dgv,beginCaptures:{"1":{name:"keyword.control.elixir"}},end:/*@__PURE__*/ new EmulatedRegExp("(?:(?=((->)|(when)|(\\))))\\1)","dgv",{"hiddenCaptures":[1]}),endCaptures:{"1":{name:"keyword.operator.other.elixir"},"2":{name:"keyword.control.elixir"},"3":{name:"punctuation.section.function.elixir"}},patterns:[{include:"#core_syntax"}]}],repository:{core_syntax:{patterns:[{begin:/^\p{space}*(defmodule)\b/dgv,beginCaptures:{"1":{name:"keyword.control.module.elixir"}},end:/\b(do)\b/dgv,endCaptures:{"1":{name:"keyword.control.module.elixir"}},name:"meta.module.elixir",patterns:[{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*(?=\.)/dgv,name:"entity.other.inherited-class.elixir"},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.class.elixir"}]},{begin:/^\p{space}*(defprotocol)\b/dgv,beginCaptures:{"1":{name:"keyword.control.protocol.elixir"}},end:/\b(do)\b/dgv,endCaptures:{"1":{name:"keyword.control.protocol.elixir"}},name:"meta.protocol_declaration.elixir",patterns:[{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.protocol.elixir"}]},{begin:/^\p{space}*(defimpl)\b/dgv,beginCaptures:{"1":{name:"keyword.control.protocol.elixir"}},end:/\b(do)\b/dgv,endCaptures:{"1":{name:"keyword.control.protocol.elixir"}},name:"meta.protocol_implementation.elixir",patterns:[{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.protocol.elixir"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*(def(?:|macro|delegate|guard))\\p{space}+((?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\4)))\\3)?(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?!>)))\\6)?|===?|>[\\=\\>]?|<=>|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\5))((\\()|\\p{space}*)","dgv",{"hiddenCaptures":[3,4,5,6]}),beginCaptures:{"1":{name:"keyword.control.module.elixir"},"2":{name:"entity.name.function.public.elixir"},"4":{name:"punctuation.section.function.elixir"}},end:/\b(do:)|\b(do)\b|(?=\p{space}+(def(?:|n|macro|delegate|guard))\b)/dgv,endCaptures:{"1":{name:"constant.other.keywords.elixir"},"2":{name:"keyword.control.module.elixir"}},name:"meta.function.public.elixir",patterns:[{include:"$self"},{begin:/\p{space}(\\\\)/dgv,beginCaptures:{"1":{name:"keyword.operator.other.elixir"}},end:/[\)\,]|(?=\n?$)/dgv,patterns:[{include:"$self"}]},{match:/\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\b/dgv,name:"keyword.control.elixir"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*(def(?:|n|macro|guard)p)\\p{space}+((?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\4)))\\3)?(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?!>)))\\6)?|===?|>[\\=\\>]?|<=>|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\5))((\\()|\\p{space}*)","dgv",{"hiddenCaptures":[3,4,5,6]}),beginCaptures:{"1":{name:"keyword.control.module.elixir"},"2":{name:"entity.name.function.private.elixir"},"4":{name:"punctuation.section.function.elixir"}},end:/\b(do:)|\b(do)\b|(?=\p{space}+(def(?:p|macrop|guardp))\b)/dgv,endCaptures:{"1":{name:"constant.other.keywords.elixir"},"2":{name:"keyword.control.module.elixir"}},name:"meta.function.private.elixir",patterns:[{include:"$self"},{begin:/\p{space}(\\\\)/dgv,beginCaptures:{"1":{name:"keyword.operator.other.elixir"}},end:/[\)\,]|(?=\n?$)/dgv,patterns:[{include:"$self"}]},{match:/\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\b/dgv,name:"keyword.control.elixir"}]},{begin:/\p{space}*~L"""/dgv,end:/\p{space}*"""/dgv,name:"sigil.leex",patterns:[{include:"text.elixir"},{include:"text.html.basic"}]},{begin:/\p{space}*~H"""/dgv,end:/\p{space}*"""/dgv,name:"sigil.heex",patterns:[{include:"text.elixir"},{include:"text.html.basic"}]},{begin:/@(module|type)?doc (~[a-z])?"""/dgv,end:/\p{space}*"""/dgv,name:"comment.block.documentation.heredoc",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/@(module|type)?doc ~[A-Z]"""/dgv,end:/\p{space}*"""/dgv,name:"comment.block.documentation.heredoc"},{begin:/@(module|type)?doc (~[a-z])?'''/dgv,end:/\p{space}*'''/dgv,name:"comment.block.documentation.heredoc",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/@(module|type)?doc ~[A-Z]'''/dgv,end:/\p{space}*'''/dgv,name:"comment.block.documentation.heredoc"},{match:/@(module|type)?doc false/dgv,name:"comment.block.documentation.false"},{begin:/@(module|type)?doc "/dgv,end:/"/dgv,name:"comment.block.documentation.string",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{match:/(?<!\.)\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defnp?|defmacrop?|defguardp?|defdelegate|defexception|defoverridable|exit|after|rescue|catch|else|raise|reraise|throw|import|require|alias|use|quote|unquote|super|with)\b(?![\!\:\?])/dgv,name:"keyword.control.elixir"},{match:/(?<!\.)\b(and|not|or|when|xor|in)\b/dgv,name:"keyword.operator.elixir"},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.class.elixir"},{match:/\b(nil|true|false)\b(?![\!\?])/dgv,name:"constant.language.elixir"},{match:/\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\b(?![\!\?])/dgv,name:"variable.language.elixir"},{captures:{"1":{name:"punctuation.definition.variable.elixir"}},match:/(@)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.module.elixir"},{captures:{"1":{name:"punctuation.definition.variable.elixir"}},match:/(&)\p{Nd}+/dgv,name:"variable.other.anonymous.elixir"},{match:/&(?!&)/dgv,name:"variable.other.anonymous.elixir"},{captures:{"1":{name:"punctuation.definition.variable.elixir"}},match:/\^[_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.capture.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b0x\\p{AHex}(?:(?=(_?\\p{AHex}))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.hex.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b\\p{Nd}(?:(?=(_?\\p{Nd}))\\1)*(\\.(?![^\\p{space}\\p{Nd}])(?:(?=(_?\\p{Nd}))\\3)+)([Ee][\\-\\+]?\\p{Nd}(?:(?=(_?\\p{Nd}))\\5)*)?\\b","dgv",{"hiddenCaptures":[1,3,5]}),name:"constant.numeric.float.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b\\p{Nd}(?:(?=(_?\\p{Nd}))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.integer.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b0b[01](?:(?=(_?[01]))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.binary.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b0o[0-7](?:(?=(_?[0-7]))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.octal.elixir"},{begin:/:'/dgv,captures:{"0":{name:"punctuation.definition.constant.elixir"}},end:/'/dgv,name:"constant.other.symbol.single-quoted.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/:"/dgv,captures:{"0":{name:"punctuation.definition.constant.elixir"}},end:/"/dgv,name:"constant.other.symbol.double-quoted.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/'''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*'''/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.single.heredoc.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.single.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.double.heredoc.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.double.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.heredoc.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\}[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\][a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/>[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\)[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\1[a-z]*()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[A-Z]"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.heredoc.literal.elixir"},{begin:/~[A-Z]\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\}[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\][a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/>[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\)[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\1[a-z]*()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{captures:{"1":{name:"punctuation.definition.constant.elixir"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!:)(:)(?:(?=([A-Z_a-z][\\@\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?![\\=\\>])))\\3)?|<>|===?|!==?|<<>>|<<<|>>>|~~~|::|<-|\\|>|=>|=~|[\\/\\=]|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|\\.\\.//|>=?|<=?|&&?&?|\\+\\+?|--?|\\|\\|?\\|?|[\\!\\@]|%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?))\\2)","dgv",{"hiddenCaptures":[2,3]}),name:"constant.other.symbol.elixir"},{captures:{"1":{name:"punctuation.definition.constant.elixir"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([A-Z_a-z][\\@\\p{L}\\p{M}\\p{N}\\p{Pc}]*[\\!\\?]?))\\1)(:)(?!:)","dgv",{"hiddenCaptures":[1]}),name:"constant.other.keywords.elixir"},{begin:/(^[\t ]+)?(?=##)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.elixir"}},end:/(?!#)/dgv,patterns:[{begin:/##/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.elixir"}},end:/\n/dgv,name:"comment.line.section.elixir"}]},{begin:/(^[\t ]+)?(?=#)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.elixir"}},end:/(?!#)/dgv,patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.elixir"}},end:/\n/dgv,name:"comment.line.number-sign.elixir"}]},{match:/\b_([^_][\p{L}\p{M}\p{N}\p{Pc}]+[\!\?]?)/dgv,name:"comment.unused.elixir"},{match:/\b_\b/dgv,name:"comment.wildcard.elixir"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\?(\\(x\p{AHex}{1,2}(?!\p{AHex})\b|[^CMx])|[^\\\p{space}])/dgv,name:"constant.numeric.elixir"},{match:/\+\+|--|<\|>/dgv,name:"keyword.operator.concatenation.elixir"},{match:/\|>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\|>/dgv,name:"keyword.operator.sigils_1.elixir"},{match:/&&&?/dgv,name:"keyword.operator.sigils_2.elixir"},{match:/<-|\\\\/dgv,name:"keyword.operator.sigils_3.elixir"},{match:/===?|!==?|<=?|>=?/dgv,name:"keyword.operator.comparison.elixir"},{match:/(\|\|\||&&&|\^\^\^|<<<|>>>|~~~)/dgv,name:"keyword.operator.bitwise.elixir"},{match:/(?<=[\t ])!+|\bnot\b|&&|\band\b|\|\||\bor\b|\bxor\b/dgv,name:"keyword.operator.logical.elixir"},{match:/([\-\*\+\/])/dgv,name:"keyword.operator.arithmetic.elixir"},{match:/\||\+\+|--|\*\*|\\\\|<-|<>|<<|>>|::|\.\.|\/\/|\|>|~|=>|&/dgv,name:"keyword.operator.other.elixir"},{match:/=/dgv,name:"keyword.operator.assignment.elixir"},{match:/:/dgv,name:"punctuation.separator.other.elixir"},{match:/;/dgv,name:"punctuation.separator.statement.elixir"},{match:/,/dgv,name:"punctuation.separator.object.elixir"},{match:/\./dgv,name:"punctuation.separator.method.elixir"},{match:/[\{\}]/dgv,name:"punctuation.section.scope.elixir"},{match:/[\]\[]/dgv,name:"punctuation.section.array.elixir"},{match:/[\(\)]/dgv,name:"punctuation.section.function.elixir"}]},escaped_char:{match:/\\(x[A-Fa-f\p{Nd}]{1,2}|[^\n])/dgv,name:"constant.character.escaped.elixir"},interpolated_elixir:{begin:/#\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.elixir"}},contentName:"source.elixir",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.elixir"}},name:"meta.embedded.line.elixir",patterns:[{include:"#nest_curly_and_self"},{include:"$self"}]},nest_curly_and_self:{patterns:[{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.elixir"}},end:/\}/dgv,patterns:[{include:"#nest_curly_and_self"}]},{include:"$self"}]}},scopeName:"source.elixir",embeddedLangs:["html"],aliases:undefined})
5
5
 
6
6
  export default [
7
7
  ...html,
package/dist/elm.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import glsl from './glsl.mjs'
2
2
 
3
- const lang = Object.freeze({displayName:"Elm",fileTypes:["elm"],name:"elm",patterns:[{include:"#import"},{include:"#module"},{include:"#debug"},{include:"#comments"},{match:/\b(_)\b/dgv,name:"keyword.unused.elm"},{include:"#type-signature"},{include:"#type-declaration"},{include:"#type-alias-declaration"},{include:"#string-triple"},{include:"#string-quote"},{include:"#char"},{match:/\b([0-9]+\.[0-9]+([eE][\+\-]?[0-9]+)?|[0-9]+[eE][\+\-]?[0-9]+)\b/dgv,name:"constant.numeric.float.elm"},{match:/\b([0-9]+)\b/dgv,name:"constant.numeric.elm"},{match:/\b(0x\p{AHex}+)\b/dgv,name:"constant.numeric.elm"},{include:"#glsl"},{include:"#record-prefix"},{include:"#module-prefix"},{include:"#constructor"},{captures:{"1":{name:"punctuation.bracket.elm"},"2":{name:"record.name.elm"},"3":{name:"keyword.pipe.elm"},"4":{name:"entity.name.record.field.elm"}},match:/(\{)\p{space}+([a-z][a-zA-Z0-9_]*)\p{space}+(\|)\p{space}+([a-z][a-zA-Z0-9_]*)/dgv,name:"meta.record.field.update.elm"},{captures:{"1":{name:"keyword.pipe.elm"},"2":{name:"entity.name.record.field.elm"},"3":{name:"keyword.operator.assignment.elm"}},match:/(\|)\p{space}+([a-z][a-zA-Z0-9_]*)\p{space}+(=)/dgv,name:"meta.record.field.update.elm"},{captures:{"1":{name:"punctuation.bracket.elm"},"2":{name:"record.name.elm"}},match:/(\{)\p{space}+([a-z][a-zA-Z0-9_]*)\p{space}+(?=\n?$)/dgv,name:"meta.record.field.update.elm"},{captures:{"1":{name:"punctuation.bracket.elm"},"2":{name:"entity.name.record.field.elm"},"3":{name:"keyword.operator.assignment.elm"}},match:/(\{)\p{space}+([a-z][a-zA-Z0-9_]*)\p{space}+(=)/dgv,name:"meta.record.field.elm"},{captures:{"1":{name:"punctuation.separator.comma.elm"},"2":{name:"entity.name.record.field.elm"},"3":{name:"keyword.operator.assignment.elm"}},match:/(,)\p{space}+([a-z][a-zA-Z0-9_]*)\p{space}+(=)/dgv,name:"meta.record.field.elm"},{match:/([\}\{])/dgv,name:"punctuation.bracket.elm"},{include:"#unit"},{include:"#comma"},{include:"#parens"},{match:/(->)/dgv,name:"keyword.operator.arrow.elm"},{include:"#infix_op"},{match:/([\=\:\|\\])/dgv,name:"keyword.other.elm"},{match:/\b(type|as|port|exposing|alias|infixl|infixr|infix)\p{space}+/dgv,name:"keyword.other.elm"},{match:/\b(if|then|else|case|of|let|in)\p{space}+/dgv,name:"keyword.control.elm"},{include:"#record-accessor"},{include:"#top_level_value"},{include:"#value"},{include:"#period"},{include:"#square_brackets"}],repository:{block_comment:{applyEndPatternLast:1,begin:/\{-(?!#)/dgv,captures:{"0":{name:"punctuation.definition.comment.elm"}},end:/-\}/dgv,name:"comment.block.elm",patterns:[{include:"#block_comment"}]},char:{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.char.begin.elm"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.char.end.elm"}},name:"string.quoted.single.elm",patterns:[{match:/\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\"'\&]|x\p{AHex}{1,5})/dgv,name:"constant.character.escape.elm"},{match:/\^[A-Z\@\[\]\\\^_]/dgv,name:"constant.character.escape.control.elm"}]},comma:{match:/(,)/dgv,name:"punctuation.separator.comma.elm"},comments:{patterns:[{begin:/--/dgv,captures:{"1":{name:"punctuation.definition.comment.elm"}},end:/(?=\n?$)/dgv,name:"comment.line.double-dash.elm"},{include:"#block_comment"}]},constructor:{match:/\b[A-Z][a-zA-Z0-9_]*\b/dgv,name:"constant.type-constructor.elm"},debug:{match:/\b(Debug)\b/dgv,name:"invalid.illegal.debug.elm"},glsl:{begin:/(\[)(glsl)(\|)/dgv,beginCaptures:{"1":{name:"entity.glsl.bracket.elm"},"2":{name:"entity.glsl.name.elm"},"3":{name:"entity.glsl.bracket.elm"}},end:/(\|\])/dgv,endCaptures:{"1":{name:"entity.glsl.bracket.elm"}},name:"meta.embedded.block.glsl",patterns:[{include:"source.glsl"}]},import:{begin:/^\b(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.import.elm"}},end:/\n(?!\p{space})/dgv,name:"meta.import.elm",patterns:[{match:/(as|exposing)/dgv,name:"keyword.control.elm"},{include:"#module_chunk"},{include:"#period"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#module-exports"}]},infix_op:{match:/(<\/>|<\?>|<\||<=|\|\||&&|>=|\|>|\|=|\|\.|\+\+|::|\/=|==|\/\/|>>|<<|[\<\>\^\+\-\/\*])/dgv,name:"keyword.operator.elm"},module:{begin:/^\b((port |effect )?module)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.elm"}},end:/\n(?!\p{space})/dgv,endCaptures:{"1":{name:"keyword.other.elm"}},name:"meta.declaration.module.elm",patterns:[{include:"#module_chunk"},{include:"#period"},{match:/(exposing)/dgv,name:"keyword.other.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#module-exports"}]},"module-exports":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.parens.module-export.elm"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.parens.module-export.elm"}},name:"meta.declaration.exports.elm",patterns:[{match:/\b[a-z][a-zA-Z_'0-9]*/dgv,name:"entity.name.function.elm"},{match:/\b[A-Z][A-Za-z_'0-9]*/dgv,name:"storage.type.elm"},{match:/,/dgv,name:"punctuation.separator.comma.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#comma"},{match:/\(\.\.\)/dgv,name:"punctuation.parens.ellipses.elm"},{match:/\.\./dgv,name:"punctuation.parens.ellipses.elm"},{include:"#infix_op"},{match:/\([^\n]*?\)/dgv,name:"meta.other.unknown.elm"}]},"module-prefix":{captures:{"1":{name:"support.module.elm"},"2":{name:"keyword.other.period.elm"}},match:/([A-Z][a-zA-Z0-9_]*)(\.)/dgv,name:"meta.module.name.elm"},module_chunk:{match:/[A-Z][a-zA-Z0-9_]*/dgv,name:"support.module.elm"},parens:{match:/([\(\)])/dgv,name:"punctuation.parens.elm"},period:{match:/\./dgv,name:"keyword.other.period.elm"},"record-accessor":{captures:{"1":{name:"keyword.other.period.elm"},"2":{name:"entity.name.record.field.accessor.elm"}},match:/(\.)([a-z][a-zA-Z0-9_]*)/dgv,name:"meta.record.accessor"},"record-prefix":{captures:{"1":{name:"record.name.elm"},"2":{name:"keyword.other.period.elm"},"3":{name:"entity.name.record.field.accessor.elm"}},match:/([a-z][a-zA-Z0-9_]*)(\.)([a-z][a-zA-Z0-9_]*)/dgv,name:"record.accessor.elm"},square_brackets:{match:/[\[\]]/dgv,name:"punctuation.definition.list.elm"},"string-quote":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elm"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elm"}},name:"string.quoted.double.elm",patterns:[{match:/\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\"'\&]|x\p{AHex}{1,5})/dgv,name:"constant.character.escape.elm"},{match:/\^[A-Z\@\[\]\\\^_]/dgv,name:"constant.character.escape.control.elm"}]},"string-triple":{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elm"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elm"}},name:"string.quoted.triple.elm",patterns:[{match:/\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\"'\&]|x\p{AHex}{1,5})/dgv,name:"constant.character.escape.elm"},{match:/\^[A-Z\@\[\]\\\^_]/dgv,name:"constant.character.escape.control.elm"}]},top_level_value:{match:/^[a-z][a-zA-Z0-9_]*\b/dgv,name:"entity.name.function.top_level.elm"},"type-alias-declaration":{begin:/^(type\p{space}+)(alias\p{space}+)([A-Z][a-zA-Z0-9_']*)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.type.elm"},"2":{name:"keyword.type-alias.elm"},"3":{name:"storage.type.elm"}},end:/^(?=\P{space})/dgv,name:"meta.function.type-declaration.elm",patterns:[{match:/\n\p{space}+/dgv,name:"punctuation.spaces.elm"},{match:/=/dgv,name:"keyword.operator.assignment.elm"},{include:"#module-prefix"},{match:/\b[A-Z][a-zA-Z0-9_]*\b/dgv,name:"storage.type.elm"},{match:/\b[a-z][a-zA-Z0-9_]*\b/dgv,name:"variable.type.elm"},{include:"#comments"},{include:"#type-record"}]},"type-declaration":{begin:/^(type\p{space}+)([A-Z][a-zA-Z0-9_']*)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.type.elm"},"2":{name:"storage.type.elm"}},end:/^(?=\P{space})/dgv,name:"meta.function.type-declaration.elm",patterns:[{captures:{"1":{name:"constant.type-constructor.elm"}},match:/^\p{space}*([A-Z][a-zA-Z0-9_]*)\b/dgv,name:"meta.record.field.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{captures:{"1":{name:"keyword.operator.assignment.elm"},"2":{name:"constant.type-constructor.elm"}},match:/([\=\|])\p{space}+([A-Z][a-zA-Z0-9_]*)\b/dgv,name:"meta.record.field.elm"},{match:/=/dgv,name:"keyword.operator.assignment.elm"},{match:/->/dgv,name:"keyword.operator.arrow.elm"},{include:"#module-prefix"},{match:/\b[a-z][a-zA-Z0-9_]*\b/dgv,name:"variable.type.elm"},{match:/\b[A-Z][a-zA-Z0-9_]*\b/dgv,name:"storage.type.elm"},{include:"#comments"},{include:"#type-record"}]},"type-record":{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.braces.begin"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.braces.end"}},name:"meta.function.type-record.elm",patterns:[{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{match:/->/dgv,name:"keyword.operator.arrow.elm"},{captures:{"1":{name:"entity.name.record.field.elm"},"2":{name:"keyword.other.elm"}},match:/([a-z][a-zA-Z0-9_]*)\p{space}+(:)/dgv,name:"meta.record.field.elm"},{match:/,/dgv,name:"punctuation.separator.comma.elm"},{include:"#module-prefix"},{match:/\b[a-z][a-zA-Z0-9_]*\b/dgv,name:"variable.type.elm"},{match:/\b[A-Z][a-zA-Z0-9_]*\b/dgv,name:"storage.type.elm"},{include:"#comments"},{include:"#type-record"}]},"type-signature":{begin:/^(port\p{space}+)?([a-z_][a-zA-Z0-9_']*)\p{space}+(:)/dgv,beginCaptures:{"1":{name:"keyword.other.port.elm"},"2":{name:"entity.name.function.elm"},"3":{name:"keyword.other.colon.elm"}},end:/((^(?=[a-z]))|^(?=\n?$))/dgv,name:"meta.function.type-declaration.elm",patterns:[{include:"#type-signature-chunk"}]},"type-signature-chunk":{patterns:[{match:/->/dgv,name:"keyword.operator.arrow.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#module-prefix"},{match:/\b[a-z][a-zA-Z0-9_]*\b/dgv,name:"variable.type.elm"},{match:/\b[A-Z][a-zA-Z0-9_]*\b/dgv,name:"storage.type.elm"},{match:/\(\)/dgv,name:"constant.unit.elm"},{include:"#comma"},{include:"#parens"},{include:"#comments"},{include:"#type-record"}]},unit:{match:/\(\)/dgv,name:"constant.unit.elm"},value:{match:/\b[a-z][a-zA-Z0-9_]*\b/dgv,name:"meta.value.elm"}},scopeName:"source.elm",embeddedLangs:["glsl"],aliases:undefined})
3
+ const lang = Object.freeze({displayName:"Elm",fileTypes:["elm"],name:"elm",patterns:[{include:"#import"},{include:"#module"},{include:"#debug"},{include:"#comments"},{match:/\b(_)\b/dgv,name:"keyword.unused.elm"},{include:"#type-signature"},{include:"#type-declaration"},{include:"#type-alias-declaration"},{include:"#string-triple"},{include:"#string-quote"},{include:"#char"},{match:/\b([0-9]+\.[0-9]+([Ee][\-\+]?[0-9]+)?|[0-9]+[Ee][\-\+]?[0-9]+)\b/dgv,name:"constant.numeric.float.elm"},{match:/\b([0-9]+)\b/dgv,name:"constant.numeric.elm"},{match:/\b(0x\p{AHex}+)\b/dgv,name:"constant.numeric.elm"},{include:"#glsl"},{include:"#record-prefix"},{include:"#module-prefix"},{include:"#constructor"},{captures:{"1":{name:"punctuation.bracket.elm"},"2":{name:"record.name.elm"},"3":{name:"keyword.pipe.elm"},"4":{name:"entity.name.record.field.elm"}},match:/(\{)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(\|)\p{space}+([a-z][0-9A-Z_a-z]*)/dgv,name:"meta.record.field.update.elm"},{captures:{"1":{name:"keyword.pipe.elm"},"2":{name:"entity.name.record.field.elm"},"3":{name:"keyword.operator.assignment.elm"}},match:/(\|)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(=)/dgv,name:"meta.record.field.update.elm"},{captures:{"1":{name:"punctuation.bracket.elm"},"2":{name:"record.name.elm"}},match:/(\{)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(?=\n?$)/dgv,name:"meta.record.field.update.elm"},{captures:{"1":{name:"punctuation.bracket.elm"},"2":{name:"entity.name.record.field.elm"},"3":{name:"keyword.operator.assignment.elm"}},match:/(\{)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(=)/dgv,name:"meta.record.field.elm"},{captures:{"1":{name:"punctuation.separator.comma.elm"},"2":{name:"entity.name.record.field.elm"},"3":{name:"keyword.operator.assignment.elm"}},match:/(,)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(=)/dgv,name:"meta.record.field.elm"},{match:/([\{\}])/dgv,name:"punctuation.bracket.elm"},{include:"#unit"},{include:"#comma"},{include:"#parens"},{match:/(->)/dgv,name:"keyword.operator.arrow.elm"},{include:"#infix_op"},{match:/([\:\=\\\|])/dgv,name:"keyword.other.elm"},{match:/\b(type|as|port|exposing|alias|infixl|infixr?)\p{space}+/dgv,name:"keyword.other.elm"},{match:/\b(if|then|else|case|of|let|in)\p{space}+/dgv,name:"keyword.control.elm"},{include:"#record-accessor"},{include:"#top_level_value"},{include:"#value"},{include:"#period"},{include:"#square_brackets"}],repository:{block_comment:{applyEndPatternLast:1,begin:/\{-(?!#)/dgv,captures:{"0":{name:"punctuation.definition.comment.elm"}},end:/-\}/dgv,name:"comment.block.elm",patterns:[{include:"#block_comment"}]},char:{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.char.begin.elm"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.char.end.elm"}},name:"string.quoted.single.elm",patterns:[{match:/\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|["\&'\\abfnrtv]|x\p{AHex}{1,5})/dgv,name:"constant.character.escape.elm"},{match:/\^[\@-_]/dgv,name:"constant.character.escape.control.elm"}]},comma:{match:/(,)/dgv,name:"punctuation.separator.comma.elm"},comments:{patterns:[{begin:/--/dgv,captures:{"1":{name:"punctuation.definition.comment.elm"}},end:/(?=\n?$)/dgv,name:"comment.line.double-dash.elm"},{include:"#block_comment"}]},constructor:{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"constant.type-constructor.elm"},debug:{match:/\b(Debug)\b/dgv,name:"invalid.illegal.debug.elm"},glsl:{begin:/(\[)(glsl)(\|)/dgv,beginCaptures:{"1":{name:"entity.glsl.bracket.elm"},"2":{name:"entity.glsl.name.elm"},"3":{name:"entity.glsl.bracket.elm"}},end:/(\|\])/dgv,endCaptures:{"1":{name:"entity.glsl.bracket.elm"}},name:"meta.embedded.block.glsl",patterns:[{include:"source.glsl"}]},import:{begin:/^\b(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.import.elm"}},end:/\n(?!\p{space})/dgv,name:"meta.import.elm",patterns:[{match:/(as|exposing)/dgv,name:"keyword.control.elm"},{include:"#module_chunk"},{include:"#period"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#module-exports"}]},infix_op:{match:/(<\/>|<\?>|<\||<=|\|\||&&|>=|\|>|\|=|\|\.|\+\+|::|\/=|==|\/\/|>>|<<|[\-\*\+\/\<\>\^])/dgv,name:"keyword.operator.elm"},module:{begin:/^\b((port |effect )?module)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.elm"}},end:/\n(?!\p{space})/dgv,endCaptures:{"1":{name:"keyword.other.elm"}},name:"meta.declaration.module.elm",patterns:[{include:"#module_chunk"},{include:"#period"},{match:/(exposing)/dgv,name:"keyword.other.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#module-exports"}]},"module-exports":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.parens.module-export.elm"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.parens.module-export.elm"}},name:"meta.declaration.exports.elm",patterns:[{match:/\b[a-z]['0-9A-Z_a-z]*/dgv,name:"entity.name.function.elm"},{match:/\b[A-Z]['0-9A-Z_a-z]*/dgv,name:"storage.type.elm"},{match:/,/dgv,name:"punctuation.separator.comma.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#comma"},{match:/\(\.\.\)/dgv,name:"punctuation.parens.ellipses.elm"},{match:/\.\./dgv,name:"punctuation.parens.ellipses.elm"},{include:"#infix_op"},{match:/\([^\n]*?\)/dgv,name:"meta.other.unknown.elm"}]},"module-prefix":{captures:{"1":{name:"support.module.elm"},"2":{name:"keyword.other.period.elm"}},match:/([A-Z][0-9A-Z_a-z]*)(\.)/dgv,name:"meta.module.name.elm"},module_chunk:{match:/[A-Z][0-9A-Z_a-z]*/dgv,name:"support.module.elm"},parens:{match:/([\(\)])/dgv,name:"punctuation.parens.elm"},period:{match:/\./dgv,name:"keyword.other.period.elm"},"record-accessor":{captures:{"1":{name:"keyword.other.period.elm"},"2":{name:"entity.name.record.field.accessor.elm"}},match:/(\.)([a-z][0-9A-Z_a-z]*)/dgv,name:"meta.record.accessor"},"record-prefix":{captures:{"1":{name:"record.name.elm"},"2":{name:"keyword.other.period.elm"},"3":{name:"entity.name.record.field.accessor.elm"}},match:/([a-z][0-9A-Z_a-z]*)(\.)([a-z][0-9A-Z_a-z]*)/dgv,name:"record.accessor.elm"},square_brackets:{match:/[\]\[]/dgv,name:"punctuation.definition.list.elm"},"string-quote":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elm"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elm"}},name:"string.quoted.double.elm",patterns:[{match:/\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|["\&'\\abfnrtv]|x\p{AHex}{1,5})/dgv,name:"constant.character.escape.elm"},{match:/\^[\@-_]/dgv,name:"constant.character.escape.control.elm"}]},"string-triple":{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elm"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elm"}},name:"string.quoted.triple.elm",patterns:[{match:/\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|["\&'\\abfnrtv]|x\p{AHex}{1,5})/dgv,name:"constant.character.escape.elm"},{match:/\^[\@-_]/dgv,name:"constant.character.escape.control.elm"}]},top_level_value:{match:/^[a-z][0-9A-Z_a-z]*\b/dgv,name:"entity.name.function.top_level.elm"},"type-alias-declaration":{begin:/^(type\p{space}+)(alias\p{space}+)([A-Z]['0-9A-Z_a-z]*)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.type.elm"},"2":{name:"keyword.type-alias.elm"},"3":{name:"storage.type.elm"}},end:/^(?=\P{space})/dgv,name:"meta.function.type-declaration.elm",patterns:[{match:/\n\p{space}+/dgv,name:"punctuation.spaces.elm"},{match:/=/dgv,name:"keyword.operator.assignment.elm"},{include:"#module-prefix"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"storage.type.elm"},{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"variable.type.elm"},{include:"#comments"},{include:"#type-record"}]},"type-declaration":{begin:/^(type\p{space}+)([A-Z]['0-9A-Z_a-z]*)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.type.elm"},"2":{name:"storage.type.elm"}},end:/^(?=\P{space})/dgv,name:"meta.function.type-declaration.elm",patterns:[{captures:{"1":{name:"constant.type-constructor.elm"}},match:/^\p{space}*([A-Z][0-9A-Z_a-z]*)\b/dgv,name:"meta.record.field.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{captures:{"1":{name:"keyword.operator.assignment.elm"},"2":{name:"constant.type-constructor.elm"}},match:/([\=\|])\p{space}+([A-Z][0-9A-Z_a-z]*)\b/dgv,name:"meta.record.field.elm"},{match:/=/dgv,name:"keyword.operator.assignment.elm"},{match:/->/dgv,name:"keyword.operator.arrow.elm"},{include:"#module-prefix"},{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"variable.type.elm"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"storage.type.elm"},{include:"#comments"},{include:"#type-record"}]},"type-record":{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.braces.begin"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.braces.end"}},name:"meta.function.type-record.elm",patterns:[{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{match:/->/dgv,name:"keyword.operator.arrow.elm"},{captures:{"1":{name:"entity.name.record.field.elm"},"2":{name:"keyword.other.elm"}},match:/([a-z][0-9A-Z_a-z]*)\p{space}+(:)/dgv,name:"meta.record.field.elm"},{match:/,/dgv,name:"punctuation.separator.comma.elm"},{include:"#module-prefix"},{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"variable.type.elm"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"storage.type.elm"},{include:"#comments"},{include:"#type-record"}]},"type-signature":{begin:/^(port\p{space}+)?([_a-z]['0-9A-Z_a-z]*)\p{space}+(:)/dgv,beginCaptures:{"1":{name:"keyword.other.port.elm"},"2":{name:"entity.name.function.elm"},"3":{name:"keyword.other.colon.elm"}},end:/^(((?=[a-z]))|(?=\n?$))/dgv,name:"meta.function.type-declaration.elm",patterns:[{include:"#type-signature-chunk"}]},"type-signature-chunk":{patterns:[{match:/->/dgv,name:"keyword.operator.arrow.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#module-prefix"},{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"variable.type.elm"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"storage.type.elm"},{match:/\(\)/dgv,name:"constant.unit.elm"},{include:"#comma"},{include:"#parens"},{include:"#comments"},{include:"#type-record"}]},unit:{match:/\(\)/dgv,name:"constant.unit.elm"},value:{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"meta.value.elm"}},scopeName:"source.elm",embeddedLangs:["glsl"],aliases:undefined})
4
4
 
5
5
  export default [
6
6
  ...glsl,