@shikijs/langs 1.26.1 → 1.27.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 (198) 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-let-declaration.mjs +1 -1
  6. package/dist/angular-ts.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/awk.mjs +1 -1
  15. package/dist/ballerina.mjs +1 -1
  16. package/dist/bat.mjs +1 -1
  17. package/dist/beancount.mjs +1 -1
  18. package/dist/berry.mjs +1 -1
  19. package/dist/bibtex.mjs +1 -1
  20. package/dist/bicep.mjs +1 -1
  21. package/dist/blade.mjs +1 -1
  22. package/dist/c.mjs +1 -1
  23. package/dist/cadence.mjs +1 -1
  24. package/dist/cairo.mjs +1 -1
  25. package/dist/clarity.mjs +1 -1
  26. package/dist/clojure.mjs +1 -1
  27. package/dist/cobol.mjs +1 -1
  28. package/dist/codeql.mjs +1 -1
  29. package/dist/coffee.mjs +1 -1
  30. package/dist/common-lisp.mjs +1 -1
  31. package/dist/coq.mjs +1 -1
  32. package/dist/cpp-macro.mjs +1 -1
  33. package/dist/cpp.mjs +1 -1
  34. package/dist/crystal.mjs +1 -1
  35. package/dist/csharp.mjs +1 -1
  36. package/dist/css.mjs +1 -1
  37. package/dist/cue.mjs +1 -1
  38. package/dist/cypher.mjs +1 -1
  39. package/dist/d.mjs +1 -1
  40. package/dist/dart.mjs +1 -1
  41. package/dist/dax.mjs +1 -1
  42. package/dist/diff.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-free-form.mjs +1 -1
  59. package/dist/fsharp.mjs +1 -1
  60. package/dist/gdresource.mjs +1 -1
  61. package/dist/gdscript.mjs +1 -1
  62. package/dist/gdshader.mjs +1 -1
  63. package/dist/genie.mjs +1 -1
  64. package/dist/git-commit.mjs +1 -1
  65. package/dist/gleam.mjs +1 -1
  66. package/dist/glimmer-js.mjs +1 -1
  67. package/dist/glimmer-ts.mjs +1 -1
  68. package/dist/gnuplot.mjs +1 -1
  69. package/dist/go.mjs +1 -1
  70. package/dist/graphql.mjs +1 -1
  71. package/dist/groovy.mjs +1 -1
  72. package/dist/hack.mjs +1 -1
  73. package/dist/haml.mjs +1 -1
  74. package/dist/handlebars.mjs +1 -1
  75. package/dist/haskell.mjs +1 -1
  76. package/dist/haxe.mjs +1 -1
  77. package/dist/hcl.mjs +1 -1
  78. package/dist/hjson.mjs +1 -1
  79. package/dist/hlsl.mjs +1 -1
  80. package/dist/html.mjs +1 -1
  81. package/dist/http.mjs +1 -1
  82. package/dist/hy.mjs +1 -1
  83. package/dist/imba.mjs +1 -1
  84. package/dist/java.mjs +1 -1
  85. package/dist/javascript.mjs +1 -1
  86. package/dist/jinja.mjs +1 -1
  87. package/dist/jison.mjs +1 -1
  88. package/dist/json.mjs +1 -1
  89. package/dist/json5.mjs +1 -1
  90. package/dist/jsonc.mjs +1 -1
  91. package/dist/jsonl.mjs +1 -1
  92. package/dist/jsonnet.mjs +1 -1
  93. package/dist/jssm.mjs +1 -1
  94. package/dist/jsx.mjs +1 -1
  95. package/dist/julia.mjs +1 -1
  96. package/dist/kotlin.mjs +1 -1
  97. package/dist/kusto.mjs +1 -1
  98. package/dist/latex.mjs +1 -1
  99. package/dist/lean.mjs +1 -1
  100. package/dist/less.mjs +1 -1
  101. package/dist/liquid.mjs +1 -1
  102. package/dist/log.mjs +1 -1
  103. package/dist/logo.mjs +1 -1
  104. package/dist/lua.mjs +1 -1
  105. package/dist/luau.mjs +1 -1
  106. package/dist/make.mjs +1 -1
  107. package/dist/markdown.mjs +1 -1
  108. package/dist/marko.mjs +1 -1
  109. package/dist/matlab.mjs +1 -1
  110. package/dist/mdc.mjs +1 -1
  111. package/dist/mdx.mjs +1 -1
  112. package/dist/mermaid.mjs +1 -1
  113. package/dist/mipsasm.mjs +1 -1
  114. package/dist/mojo.mjs +1 -1
  115. package/dist/move.mjs +1 -1
  116. package/dist/nextflow.mjs +1 -1
  117. package/dist/nginx.mjs +1 -1
  118. package/dist/nim.mjs +1 -1
  119. package/dist/nix.mjs +1 -1
  120. package/dist/nushell.mjs +1 -1
  121. package/dist/objective-c.mjs +1 -1
  122. package/dist/objective-cpp.mjs +1 -1
  123. package/dist/ocaml.mjs +1 -1
  124. package/dist/perl.mjs +1 -1
  125. package/dist/php.mjs +1 -1
  126. package/dist/polar.mjs +1 -1
  127. package/dist/postcss.mjs +1 -1
  128. package/dist/powerquery.mjs +1 -1
  129. package/dist/powershell.mjs +1 -1
  130. package/dist/prisma.mjs +1 -1
  131. package/dist/prolog.mjs +1 -1
  132. package/dist/proto.mjs +1 -1
  133. package/dist/pug.mjs +1 -1
  134. package/dist/puppet.mjs +1 -1
  135. package/dist/purescript.mjs +1 -1
  136. package/dist/python.mjs +1 -1
  137. package/dist/qml.mjs +1 -1
  138. package/dist/r.mjs +1 -1
  139. package/dist/racket.mjs +1 -1
  140. package/dist/raku.mjs +1 -1
  141. package/dist/razor.mjs +1 -1
  142. package/dist/reg.mjs +1 -1
  143. package/dist/regexp.mjs +1 -1
  144. package/dist/rel.mjs +1 -1
  145. package/dist/riscv.mjs +1 -1
  146. package/dist/rst.mjs +1 -1
  147. package/dist/ruby.mjs +1 -1
  148. package/dist/rust.mjs +1 -1
  149. package/dist/sas.mjs +1 -1
  150. package/dist/sass.mjs +1 -1
  151. package/dist/scala.mjs +1 -1
  152. package/dist/scheme.mjs +1 -1
  153. package/dist/scss.mjs +1 -1
  154. package/dist/shaderlab.mjs +1 -1
  155. package/dist/shellscript.mjs +1 -1
  156. package/dist/smalltalk.mjs +1 -1
  157. package/dist/solidity.mjs +1 -1
  158. package/dist/soy.mjs +1 -1
  159. package/dist/sparql.mjs +1 -1
  160. package/dist/splunk.mjs +1 -1
  161. package/dist/sql.mjs +1 -1
  162. package/dist/ssh-config.mjs +1 -1
  163. package/dist/stata.mjs +1 -1
  164. package/dist/stylus.mjs +1 -1
  165. package/dist/svelte.mjs +1 -1
  166. package/dist/swift.mjs +1 -1
  167. package/dist/system-verilog.mjs +1 -1
  168. package/dist/systemd.mjs +1 -1
  169. package/dist/talonscript.mjs +1 -1
  170. package/dist/tcl.mjs +1 -1
  171. package/dist/templ.mjs +1 -1
  172. package/dist/terraform.mjs +1 -1
  173. package/dist/tex.mjs +1 -1
  174. package/dist/toml.mjs +1 -1
  175. package/dist/tsx.mjs +1 -1
  176. package/dist/turtle.mjs +1 -1
  177. package/dist/twig.mjs +1 -1
  178. package/dist/typescript.mjs +1 -1
  179. package/dist/typespec.mjs +1 -1
  180. package/dist/typst.mjs +1 -1
  181. package/dist/v.mjs +1 -1
  182. package/dist/vala.mjs +1 -1
  183. package/dist/vb.mjs +1 -1
  184. package/dist/verilog.mjs +1 -1
  185. package/dist/vhdl.mjs +1 -1
  186. package/dist/viml.mjs +1 -1
  187. package/dist/vue-html.mjs +1 -1
  188. package/dist/vue.mjs +1 -1
  189. package/dist/vyper.mjs +1 -1
  190. package/dist/wasm.mjs +1 -1
  191. package/dist/wgsl.mjs +1 -1
  192. package/dist/wikitext.mjs +1 -1
  193. package/dist/wolfram.mjs +1 -1
  194. package/dist/xml.mjs +1 -1
  195. package/dist/yaml.mjs +1 -1
  196. package/dist/zenscript.mjs +1 -1
  197. package/dist/zig.mjs +1 -1
  198. package/package.json +3 -3
package/dist/edge.mjs CHANGED
@@ -2,7 +2,7 @@ import typescript from './typescript.mjs'
2
2
  import html from './html.mjs'
3
3
  import html_derivative from './html-derivative.mjs'
4
4
 
5
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Edge\",\"injections\":{\"text.html.edge - (meta.embedded | meta.tag | comment.block.edge), L:(text.html.edge meta.tag - (comment.block.edge | meta.embedded.block.edge)), L:(source.ts.embedded.html - (comment.block.edge | meta.embedded.block.edge))\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#escapedMustache\"},{\"include\":\"#safeMustache\"},{\"include\":\"#mustache\"},{\"include\":\"#nonSeekableTag\"},{\"include\":\"#tag\"}]}},\"name\":\"edge\",\"patterns\":[{\"include\":\"text.html.basic\"},{\"include\":\"text.html.derivative\"}],\"repository\":{\"comment\":{\"begin\":\"\\\\{{--\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.edge\"}},\"end\":\"--}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.edge\"}},\"name\":\"comment.block\"},\"escapedMustache\":{\"begin\":\"\\\\@{{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.edge\"}},\"end\":\"\\\\}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.edge\"}},\"name\":\"comment.block\"},\"mustache\":{\"begin\":\"\\\\{{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.mustache.begin\"}},\"end\":\"\\\\}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.mustache.end\"}},\"name\":\"meta.embedded.block.javascript\",\"patterns\":[{\"include\":\"source.ts#expression\"}]},\"nonSeekableTag\":{\"captures\":{\"2\":{\"name\":\"support.function.edge\"}},\"match\":\"^(\\\\s*)((@{1,2})(!)?([a-zA-Z._]+))(~)?$\",\"name\":\"meta.embedded.block.javascript\",\"patterns\":[{\"include\":\"source.ts#expression\"}]},\"safeMustache\":{\"begin\":\"\\\\{{{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.mustache.begin\"}},\"end\":\"\\\\}}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.mustache.end\"}},\"name\":\"meta.embedded.block.javascript\",\"patterns\":[{\"include\":\"source.ts#expression\"}]},\"tag\":{\"begin\":\"^(\\\\s*)((@{1,2})(!)?([a-zA-Z._]+)(\\\\s{0,2}))(\\\\()\",\"beginCaptures\":{\"2\":{\"name\":\"support.function.edge\"},\"7\":{\"name\":\"punctuation.paren.open\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.paren.close\"}},\"name\":\"meta.embedded.block.javascript\",\"patterns\":[{\"include\":\"source.ts#expression\"}]}},\"scopeName\":\"text.html.edge\",\"embeddedLangs\":[\"typescript\",\"html\",\"html-derivative\"]}"))
5
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Edge\",\"injections\":{\"text.html.edge - (meta.embedded | meta.tag | comment.block.edge), L:(text.html.edge meta.tag - (comment.block.edge | meta.embedded.block.edge)), L:(source.ts.embedded.html - (comment.block.edge | meta.embedded.block.edge))\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#escapedMustache\"},{\"include\":\"#safeMustache\"},{\"include\":\"#mustache\"},{\"include\":\"#nonSeekableTag\"},{\"include\":\"#tag\"}]}},\"name\":\"edge\",\"patterns\":[{\"include\":\"text.html.basic\"},{\"include\":\"text.html.derivative\"}],\"repository\":{\"comment\":{\"begin\":\"\\\\{{--\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.edge\"}},\"end\":\"\\\\--}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.edge\"}},\"name\":\"comment.block\"},\"escapedMustache\":{\"begin\":\"\\\\@{{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.edge\"}},\"end\":\"\\\\}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.edge\"}},\"name\":\"comment.block\"},\"mustache\":{\"begin\":\"\\\\{{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.mustache.begin\"}},\"end\":\"\\\\}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.mustache.end\"}},\"name\":\"meta.embedded.block.javascript\",\"patterns\":[{\"include\":\"source.ts#expression\"}]},\"nonSeekableTag\":{\"captures\":{\"2\":{\"name\":\"support.function.edge\"}},\"match\":\"^(\\\\s*)((@{1,2})(!)?([a-zA-Z._]+))(~)?$\",\"name\":\"meta.embedded.block.javascript\",\"patterns\":[{\"include\":\"source.ts#expression\"}]},\"safeMustache\":{\"begin\":\"\\\\{{{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.mustache.begin\"}},\"end\":\"\\\\}}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.mustache.end\"}},\"name\":\"meta.embedded.block.javascript\",\"patterns\":[{\"include\":\"source.ts#expression\"}]},\"tag\":{\"begin\":\"^(\\\\s*)((@{1,2})(!)?([a-zA-Z._]+)(\\\\s{0,2}))(\\\\()\",\"beginCaptures\":{\"2\":{\"name\":\"support.function.edge\"},\"7\":{\"name\":\"punctuation.paren.open\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.paren.close\"}},\"name\":\"meta.embedded.block.javascript\",\"patterns\":[{\"include\":\"source.ts#expression\"}]}},\"scopeName\":\"text.html.edge\",\"embeddedLangs\":[\"typescript\",\"html\",\"html-derivative\"]}"))
6
6
 
7
7
  export default [
8
8
  ...typescript,
package/dist/elixir.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import html from './html.mjs'
2
2
 
3
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Elixir\",\"fileTypes\":[\"ex\",\"exs\"],\"firstLineMatch\":\"^#!/.*\\\\belixir\",\"foldingStartMarker\":\"(after|else|catch|rescue|->|\\\\{|\\\\[|do)\\\\s*$\",\"foldingStopMarker\":\"^\\\\s*((\\\\}|\\\\]|after|else|catch|rescue)\\\\s*$|end\\\\b)\",\"name\":\"elixir\",\"patterns\":[{\"begin\":\"\\\\b(fn)\\\\b(?!.*->)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.elixir\"}},\"end\":\"$\",\"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]\\\\w+)\\\\s*(\\\\.)\\\\s*([a-z_]\\\\w*[!?]?)\"},{\"captures\":{\"1\":{\"name\":\"constant.other.symbol.elixir\"},\"2\":{\"name\":\"punctuation.separator.method.elixir\"},\"3\":{\"name\":\"entity.name.function.elixir\"}},\"match\":\"(:\\\\w+)\\\\s*(\\\\.)\\\\s*([_]?\\\\w*[!?]?)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.other.elixir\"},\"2\":{\"name\":\"entity.name.function.elixir\"}},\"match\":\"(\\\\|>)\\\\s*([a-z_]\\\\w*[!?]?)\"},{\"match\":\"\\\\b[a-z_]\\\\w*[!?]?(?=\\\\s*\\\\.?\\\\s*\\\\()\",\"name\":\"entity.name.function.elixir\"},{\"begin\":\"\\\\b(fn)\\\\b(?=.*->)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.elixir\"}},\"end\":\"(?>(->)|(when)|(\\\\)))\",\"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\":\"^(?=.*->)((?![^\\\"']*(\\\"|')[^\\\"']*->)|(?=.*->[^\\\"']*(\\\"|')[^\\\"']*->))((?!.*\\\\([^)]*->)|(?=[^()]*->)|(?=\\\\s*\\\\(.*\\\\).*->))((?!.*\\\\b(fn)\\\\b)|(?=.*->.*\\\\bfn\\\\b))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.elixir\"}},\"end\":\"(?>(->)|(when)|(\\\\)))\",\"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\":\"^\\\\s*(defmodule)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.module.elixir\"}},\"end\":\"\\\\b(do)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.module.elixir\"}},\"name\":\"meta.module.elixir\",\"patterns\":[{\"match\":\"\\\\b[A-Z]\\\\w*(?=\\\\.)\",\"name\":\"entity.other.inherited-class.elixir\"},{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"entity.name.type.class.elixir\"}]},{\"begin\":\"^\\\\s*(defprotocol)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.elixir\"}},\"end\":\"\\\\b(do)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.elixir\"}},\"name\":\"meta.protocol_declaration.elixir\",\"patterns\":[{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"entity.name.type.protocol.elixir\"}]},{\"begin\":\"^\\\\s*(defimpl)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.elixir\"}},\"end\":\"\\\\b(do)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.elixir\"}},\"name\":\"meta.protocol_implementation.elixir\",\"patterns\":[{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"entity.name.type.protocol.elixir\"}]},{\"begin\":\"^\\\\s*(def|defmacro|defdelegate|defguard)\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[\\\\]=?))((\\\\()|\\\\s*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.module.elixir\"},\"2\":{\"name\":\"entity.name.function.public.elixir\"},\"4\":{\"name\":\"punctuation.section.function.elixir\"}},\"end\":\"(\\\\bdo:)|(\\\\bdo\\\\b)|(?=\\\\s+(def|defn|defmacro|defdelegate|defguard)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"constant.other.keywords.elixir\"},\"2\":{\"name\":\"keyword.control.module.elixir\"}},\"name\":\"meta.function.public.elixir\",\"patterns\":[{\"include\":\"$self\"},{\"begin\":\"\\\\s(\\\\\\\\\\\\\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.other.elixir\"}},\"end\":\",|\\\\)|$\",\"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\",\"name\":\"keyword.control.elixir\"}]},{\"begin\":\"^\\\\s*(defp|defnp|defmacrop|defguardp)\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[\\\\]=?))((\\\\()|\\\\s*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.module.elixir\"},\"2\":{\"name\":\"entity.name.function.private.elixir\"},\"4\":{\"name\":\"punctuation.section.function.elixir\"}},\"end\":\"(\\\\bdo:)|(\\\\bdo\\\\b)|(?=\\\\s+(defp|defmacrop|defguardp)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"constant.other.keywords.elixir\"},\"2\":{\"name\":\"keyword.control.module.elixir\"}},\"name\":\"meta.function.private.elixir\",\"patterns\":[{\"include\":\"$self\"},{\"begin\":\"\\\\s(\\\\\\\\\\\\\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.other.elixir\"}},\"end\":\",|\\\\)|$\",\"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\",\"name\":\"keyword.control.elixir\"}]},{\"begin\":\"\\\\s*~L\\\"\\\"\\\"\",\"comment\":\"Leex Sigil\",\"end\":\"\\\\s*\\\"\\\"\\\"\",\"name\":\"sigil.leex\",\"patterns\":[{\"include\":\"text.elixir\"},{\"include\":\"text.html.basic\"}]},{\"begin\":\"\\\\s*~H\\\"\\\"\\\"\",\"comment\":\"HEEx Sigil\",\"end\":\"\\\\s*\\\"\\\"\\\"\",\"name\":\"sigil.heex\",\"patterns\":[{\"include\":\"text.elixir\"},{\"include\":\"text.html.basic\"}]},{\"begin\":\"@(module|type)?doc (~[a-z])?\\\"\\\"\\\"\",\"comment\":\"@doc with heredocs is treated as documentation\",\"end\":\"\\\\s*\\\"\\\"\\\"\",\"name\":\"comment.block.documentation.heredoc\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"@(module|type)?doc ~[A-Z]\\\"\\\"\\\"\",\"comment\":\"@doc with heredocs is treated as documentation\",\"end\":\"\\\\s*\\\"\\\"\\\"\",\"name\":\"comment.block.documentation.heredoc\"},{\"begin\":\"@(module|type)?doc (~[a-z])?'''\",\"comment\":\"@doc with heredocs is treated as documentation\",\"end\":\"\\\\s*'''\",\"name\":\"comment.block.documentation.heredoc\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"@(module|type)?doc ~[A-Z]'''\",\"comment\":\"@doc with heredocs is treated as documentation\",\"end\":\"\\\\s*'''\",\"name\":\"comment.block.documentation.heredoc\"},{\"comment\":\"@doc false is treated as documentation\",\"match\":\"@(module|type)?doc false\",\"name\":\"comment.block.documentation.false\"},{\"begin\":\"@(module|type)?doc \\\"\",\"comment\":\"@doc with string is treated as documentation\",\"end\":\"\\\"\",\"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(?![?!:])\",\"name\":\"keyword.control.elixir\"},{\"comment\":\" as above, just doesn't need a 'end' and does a logic operation\",\"match\":\"(?<!\\\\.)\\\\b(and|not|or|when|xor|in)\\\\b\",\"name\":\"keyword.operator.elixir\"},{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"entity.name.type.class.elixir\"},{\"match\":\"\\\\b(nil|true|false)\\\\b(?![?!])\",\"name\":\"constant.language.elixir\"},{\"match\":\"\\\\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\\\\b(?![?!])\",\"name\":\"variable.language.elixir\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.elixir\"}},\"match\":\"(@)[a-zA-Z_]\\\\w*\",\"name\":\"variable.other.readwrite.module.elixir\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.elixir\"}},\"match\":\"(&)\\\\d+\",\"name\":\"variable.other.anonymous.elixir\"},{\"match\":\"&(?![&])\",\"name\":\"variable.other.anonymous.elixir\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.elixir\"}},\"match\":\"\\\\^[a-z_]\\\\w*\",\"name\":\"variable.other.capture.elixir\"},{\"match\":\"\\\\b0x[0-9A-Fa-f](?>_?[0-9A-Fa-f])*\\\\b\",\"name\":\"constant.numeric.hex.elixir\"},{\"match\":\"\\\\b\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)+)([eE][-+]?\\\\d(?>_?\\\\d)*)?\\\\b\",\"name\":\"constant.numeric.float.elixir\"},{\"match\":\"\\\\b\\\\d(?>_?\\\\d)*\\\\b\",\"name\":\"constant.numeric.integer.elixir\"},{\"match\":\"\\\\b0b[01](?>_?[01])*\\\\b\",\"name\":\"constant.numeric.binary.elixir\"},{\"match\":\"\\\\b0o[0-7](?>_?[0-7])*\\\\b\",\"name\":\"constant.numeric.octal.elixir\"},{\"begin\":\":'\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.constant.elixir\"}},\"end\":\"'\",\"name\":\"constant.other.symbol.single-quoted.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\":\\\"\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.constant.elixir\"}},\"end\":\"\\\"\",\"name\":\"constant.other.symbol.double-quoted.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?>''')\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"Single-quoted heredocs\",\"end\":\"^\\\\s*'''\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.single.heredoc.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"single quoted string (allows for interpolation)\",\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.single.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?>\\\"\\\"\\\")\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"Double-quoted heredocs\",\"end\":\"^\\\\s*\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.double.heredoc.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"double quoted string (allows for interpolation)\",\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.double.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"~[a-z](?>\\\"\\\"\\\")\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"Double-quoted heredocs sigils\",\"end\":\"^\\\\s*\\\"\\\"\\\"\",\"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]\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (allow for interpolation)\",\"end\":\"\\\\}[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"~[a-z]\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (allow for interpolation)\",\"end\":\"\\\\][a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"~[a-z]<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (allow for interpolation)\",\"end\":\">[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"~[a-z]\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (allow for interpolation)\",\"end\":\"\\\\)[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"~[a-z]([^\\\\w])\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (allow for interpolation)\",\"end\":\"\\\\1[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"~[A-Z](?>\\\"\\\"\\\")\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"Double-quoted heredocs sigils\",\"end\":\"^\\\\s*\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.heredoc.literal.elixir\"},{\"begin\":\"~[A-Z]\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (without interpolation)\",\"end\":\"\\\\}[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.literal.elixir\"},{\"begin\":\"~[A-Z]\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (without interpolation)\",\"end\":\"\\\\][a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.literal.elixir\"},{\"begin\":\"~[A-Z]<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (without interpolation)\",\"end\":\">[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.literal.elixir\"},{\"begin\":\"~[A-Z]\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (without interpolation)\",\"end\":\"\\\\)[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.literal.elixir\"},{\"begin\":\"~[A-Z]([^\\\\w])\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (without interpolation)\",\"end\":\"\\\\1[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.literal.elixir\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.elixir\"}},\"comment\":\"symbols\",\"match\":\"(?<!:)(:)(?>[a-zA-Z_][\\\\w@]*(?>[?!]|=(?![>=]))?|<>|===?|!==?|<<>>|<<<|>>>|~~~|::|<-|\\\\|>|=>|=~|=|/|\\\\\\\\\\\\\\\\|\\\\*\\\\*?|\\\\.\\\\.?\\\\.?|\\\\.\\\\.//|>=?|<=?|&&?&?|\\\\+\\\\+?|--?|\\\\|\\\\|?\\\\|?|!|@|\\\\%?\\\\{\\\\}|%|\\\\[\\\\]|\\\\^(\\\\^\\\\^)?)\",\"name\":\"constant.other.symbol.elixir\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.elixir\"}},\"comment\":\"symbols\",\"match\":\"(?>[a-zA-Z_][\\\\w@]*(?>[?!])?)(:)(?!:)\",\"name\":\"constant.other.keywords.elixir\"},{\"begin\":\"(^[ \\\\t]+)?(?=##)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.elixir\"}},\"end\":\"(?!#)\",\"patterns\":[{\"begin\":\"##\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.elixir\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.section.elixir\"}]},{\"begin\":\"(^[ \\\\t]+)?(?=#)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.elixir\"}},\"end\":\"(?!#)\",\"patterns\":[{\"begin\":\"#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.elixir\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.number-sign.elixir\"}]},{\"match\":\"\\\\b_([^_][\\\\w]+[?!]?)\",\"name\":\"comment.unused.elixir\"},{\"match\":\"\\\\b_\\\\b\",\"name\":\"comment.wildcard.elixir\"},{\"comment\":\"\\n\\t\\t\\tmatches questionmark-letters.\\n\\n\\t\\t\\texamples (1st alternation = hex):\\n\\t\\t\\t?\\\\x1 ?\\\\x61\\n\\n\\t\\t\\texamples (2rd alternation = escaped):\\n\\t\\t\\t?\\\\n ?\\\\b\\n\\n\\t\\t\\texamples (3rd alternation = normal):\\n\\t\\t\\t?a ?A ?0\\n\\t\\t\\t?* ?\\\" ?(\\n\\t\\t\\t?. ?#\\n\\n\\t\\t\\tthe negative lookbehind prevents against matching\\n\\t\\t\\tp(42.tainted?)\\n\\t\\t\\t\",\"match\":\"(?<!\\\\w)\\\\?(\\\\\\\\(x[0-9A-Fa-f]{1,2}(?![0-9A-Fa-f])\\\\b|[^xMC])|[^\\\\s\\\\\\\\])\",\"name\":\"constant.numeric.elixir\"},{\"match\":\"\\\\+\\\\+|--|<\\\\|>\",\"name\":\"keyword.operator.concatenation.elixir\"},{\"match\":\"\\\\|>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\\\\|>\",\"name\":\"keyword.operator.sigils_1.elixir\"},{\"match\":\"&&&|&&\",\"name\":\"keyword.operator.sigils_2.elixir\"},{\"match\":\"<-|\\\\\\\\\\\\\\\\\",\"name\":\"keyword.operator.sigils_3.elixir\"},{\"match\":\"===?|!==?|<=?|>=?\",\"name\":\"keyword.operator.comparison.elixir\"},{\"match\":\"(\\\\|\\\\|\\\\||&&&|\\\\^\\\\^\\\\^|<<<|>>>|~~~)\",\"name\":\"keyword.operator.bitwise.elixir\"},{\"match\":\"(?<=[ \\\\t])!+|\\\\bnot\\\\b|&&|\\\\band\\\\b|\\\\|\\\\||\\\\bor\\\\b|\\\\bxor\\\\b\",\"name\":\"keyword.operator.logical.elixir\"},{\"match\":\"(\\\\*|\\\\+|-|/)\",\"name\":\"keyword.operator.arithmetic.elixir\"},{\"match\":\"\\\\||\\\\+\\\\+|--|\\\\*\\\\*|\\\\\\\\\\\\\\\\|<-|<>|<<|>>|::|\\\\.\\\\.|//|\\\\|>|~|=>|&\",\"name\":\"keyword.operator.other.elixir\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.elixir\"},{\"match\":\":\",\"name\":\"punctuation.separator.other.elixir\"},{\"match\":\"\\\\;\",\"name\":\"punctuation.separator.statement.elixir\"},{\"match\":\",\",\"name\":\"punctuation.separator.object.elixir\"},{\"match\":\"\\\\.\",\"name\":\"punctuation.separator.method.elixir\"},{\"match\":\"\\\\{|\\\\}\",\"name\":\"punctuation.section.scope.elixir\"},{\"match\":\"\\\\[|\\\\]\",\"name\":\"punctuation.section.array.elixir\"},{\"match\":\"\\\\(|\\\\)\",\"name\":\"punctuation.section.function.elixir\"}]},\"escaped_char\":{\"match\":\"\\\\\\\\(x[\\\\da-fA-F]{1,2}|.)\",\"name\":\"constant.character.escaped.elixir\"},\"interpolated_elixir\":{\"begin\":\"#\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.elixir\"}},\"contentName\":\"source.elixir\",\"end\":\"\\\\}\",\"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\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.elixir\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#nest_curly_and_self\"}]},{\"include\":\"$self\"}]}},\"scopeName\":\"source.elixir\",\"embeddedLangs\":[\"html\"]}"))
3
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Elixir\",\"fileTypes\":[\"ex\",\"exs\"],\"firstLineMatch\":\"^#!/.*\\\\belixir\",\"foldingStartMarker\":\"(after|else|catch|rescue|\\\\-\\\\>|\\\\{|\\\\[|do)\\\\s*$\",\"foldingStopMarker\":\"^\\\\s*((\\\\}|\\\\]|after|else|catch|rescue)\\\\s*$|end\\\\b)\",\"name\":\"elixir\",\"patterns\":[{\"begin\":\"\\\\b(fn)\\\\b(?!.*->)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.elixir\"}},\"end\":\"$\",\"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]\\\\w+)\\\\s*(\\\\.)\\\\s*([a-z_]\\\\w*[!?]?)\"},{\"captures\":{\"1\":{\"name\":\"constant.other.symbol.elixir\"},\"2\":{\"name\":\"punctuation.separator.method.elixir\"},\"3\":{\"name\":\"entity.name.function.elixir\"}},\"match\":\"(\\\\:\\\\w+)\\\\s*(\\\\.)\\\\s*([_]?\\\\w*[!?]?)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.other.elixir\"},\"2\":{\"name\":\"entity.name.function.elixir\"}},\"match\":\"(\\\\|\\\\>)\\\\s*([a-z_]\\\\w*[!?]?)\"},{\"match\":\"\\\\b[a-z_]\\\\w*[!?]?(?=\\\\s*\\\\.?\\\\s*\\\\()\",\"name\":\"entity.name.function.elixir\"},{\"begin\":\"\\\\b(fn)\\\\b(?=.*->)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.elixir\"}},\"end\":\"(?>(->)|(when)|(\\\\)))\",\"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\":\"^(?=.*->)((?![^\\\"']*(\\\"|')[^\\\"']*->)|(?=.*->[^\\\"']*(\\\"|')[^\\\"']*->))((?!.*\\\\([^\\\\)]*->)|(?=[^\\\\(\\\\)]*->)|(?=\\\\s*\\\\(.*\\\\).*->))((?!.*\\\\b(fn)\\\\b)|(?=.*->.*\\\\bfn\\\\b))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.elixir\"}},\"end\":\"(?>(->)|(when)|(\\\\)))\",\"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\":\"^\\\\s*(defmodule)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.module.elixir\"}},\"end\":\"\\\\b(do)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.module.elixir\"}},\"name\":\"meta.module.elixir\",\"patterns\":[{\"match\":\"\\\\b[A-Z]\\\\w*(?=\\\\.)\",\"name\":\"entity.other.inherited-class.elixir\"},{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"entity.name.type.class.elixir\"}]},{\"begin\":\"^\\\\s*(defprotocol)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.elixir\"}},\"end\":\"\\\\b(do)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.elixir\"}},\"name\":\"meta.protocol_declaration.elixir\",\"patterns\":[{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"entity.name.type.protocol.elixir\"}]},{\"begin\":\"^\\\\s*(defimpl)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.elixir\"}},\"end\":\"\\\\b(do)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.protocol.elixir\"}},\"name\":\"meta.protocol_implementation.elixir\",\"patterns\":[{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"entity.name.type.protocol.elixir\"}]},{\"begin\":\"^\\\\s*(def|defmacro|defdelegate|defguard)\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[\\\\]=?))((\\\\()|\\\\s*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.module.elixir\"},\"2\":{\"name\":\"entity.name.function.public.elixir\"},\"4\":{\"name\":\"punctuation.section.function.elixir\"}},\"end\":\"(\\\\bdo:)|(\\\\bdo\\\\b)|(?=\\\\s+(def|defn|defmacro|defdelegate|defguard)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"constant.other.keywords.elixir\"},\"2\":{\"name\":\"keyword.control.module.elixir\"}},\"name\":\"meta.function.public.elixir\",\"patterns\":[{\"include\":\"$self\"},{\"begin\":\"\\\\s(\\\\\\\\\\\\\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.other.elixir\"}},\"end\":\",|\\\\)|$\",\"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\",\"name\":\"keyword.control.elixir\"}]},{\"begin\":\"^\\\\s*(defp|defnp|defmacrop|defguardp)\\\\s+((?>[a-zA-Z_]\\\\w*(?>\\\\.|::))?(?>[a-zA-Z_]\\\\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\\\\|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[\\\\]=?))((\\\\()|\\\\s*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.module.elixir\"},\"2\":{\"name\":\"entity.name.function.private.elixir\"},\"4\":{\"name\":\"punctuation.section.function.elixir\"}},\"end\":\"(\\\\bdo:)|(\\\\bdo\\\\b)|(?=\\\\s+(defp|defmacrop|defguardp)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"constant.other.keywords.elixir\"},\"2\":{\"name\":\"keyword.control.module.elixir\"}},\"name\":\"meta.function.private.elixir\",\"patterns\":[{\"include\":\"$self\"},{\"begin\":\"\\\\s(\\\\\\\\\\\\\\\\)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.other.elixir\"}},\"end\":\",|\\\\)|$\",\"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\",\"name\":\"keyword.control.elixir\"}]},{\"begin\":\"\\\\s*~L\\\"\\\"\\\"\",\"comment\":\"Leex Sigil\",\"end\":\"\\\\s*\\\"\\\"\\\"\",\"name\":\"sigil.leex\",\"patterns\":[{\"include\":\"text.elixir\"},{\"include\":\"text.html.basic\"}]},{\"begin\":\"\\\\s*~H\\\"\\\"\\\"\",\"comment\":\"HEEx Sigil\",\"end\":\"\\\\s*\\\"\\\"\\\"\",\"name\":\"sigil.heex\",\"patterns\":[{\"include\":\"text.elixir\"},{\"include\":\"text.html.basic\"}]},{\"begin\":\"@(module|type)?doc (~[a-z])?\\\"\\\"\\\"\",\"comment\":\"@doc with heredocs is treated as documentation\",\"end\":\"\\\\s*\\\"\\\"\\\"\",\"name\":\"comment.block.documentation.heredoc\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"@(module|type)?doc ~[A-Z]\\\"\\\"\\\"\",\"comment\":\"@doc with heredocs is treated as documentation\",\"end\":\"\\\\s*\\\"\\\"\\\"\",\"name\":\"comment.block.documentation.heredoc\"},{\"begin\":\"@(module|type)?doc (~[a-z])?'''\",\"comment\":\"@doc with heredocs is treated as documentation\",\"end\":\"\\\\s*'''\",\"name\":\"comment.block.documentation.heredoc\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"@(module|type)?doc ~[A-Z]'''\",\"comment\":\"@doc with heredocs is treated as documentation\",\"end\":\"\\\\s*'''\",\"name\":\"comment.block.documentation.heredoc\"},{\"comment\":\"@doc false is treated as documentation\",\"match\":\"@(module|type)?doc false\",\"name\":\"comment.block.documentation.false\"},{\"begin\":\"@(module|type)?doc \\\"\",\"comment\":\"@doc with string is treated as documentation\",\"end\":\"\\\"\",\"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(?![?!:])\",\"name\":\"keyword.control.elixir\"},{\"comment\":\" as above, just doesn't need a 'end' and does a logic operation\",\"match\":\"(?<!\\\\.)\\\\b(and|not|or|when|xor|in)\\\\b\",\"name\":\"keyword.operator.elixir\"},{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"entity.name.type.class.elixir\"},{\"match\":\"\\\\b(nil|true|false)\\\\b(?![?!])\",\"name\":\"constant.language.elixir\"},{\"match\":\"\\\\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\\\\b(?![?!])\",\"name\":\"variable.language.elixir\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.elixir\"}},\"match\":\"(@)[a-zA-Z_]\\\\w*\",\"name\":\"variable.other.readwrite.module.elixir\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.elixir\"}},\"match\":\"(&)\\\\d+\",\"name\":\"variable.other.anonymous.elixir\"},{\"match\":\"&(?![&])\",\"name\":\"variable.other.anonymous.elixir\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.elixir\"}},\"match\":\"\\\\^[a-z_]\\\\w*\",\"name\":\"variable.other.capture.elixir\"},{\"match\":\"\\\\b0x[0-9A-Fa-f](?>_?[0-9A-Fa-f])*\\\\b\",\"name\":\"constant.numeric.hex.elixir\"},{\"match\":\"\\\\b\\\\d(?>_?\\\\d)*(\\\\.(?![^[:space:][:digit:]])(?>_?\\\\d)+)([eE][-+]?\\\\d(?>_?\\\\d)*)?\\\\b\",\"name\":\"constant.numeric.float.elixir\"},{\"match\":\"\\\\b\\\\d(?>_?\\\\d)*\\\\b\",\"name\":\"constant.numeric.integer.elixir\"},{\"match\":\"\\\\b0b[01](?>_?[01])*\\\\b\",\"name\":\"constant.numeric.binary.elixir\"},{\"match\":\"\\\\b0o[0-7](?>_?[0-7])*\\\\b\",\"name\":\"constant.numeric.octal.elixir\"},{\"begin\":\":'\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.constant.elixir\"}},\"end\":\"'\",\"name\":\"constant.other.symbol.single-quoted.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\":\\\"\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.constant.elixir\"}},\"end\":\"\\\"\",\"name\":\"constant.other.symbol.double-quoted.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?>''')\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"Single-quoted heredocs\",\"end\":\"^\\\\s*'''\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.single.heredoc.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"single quoted string (allows for interpolation)\",\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.single.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?>\\\"\\\"\\\")\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"Double-quoted heredocs\",\"end\":\"^\\\\s*\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.double.heredoc.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"double quoted string (allows for interpolation)\",\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.double.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"~[a-z](?>\\\"\\\"\\\")\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"Double-quoted heredocs sigils\",\"end\":\"^\\\\s*\\\"\\\"\\\"\",\"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]\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (allow for interpolation)\",\"end\":\"\\\\}[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"~[a-z]\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (allow for interpolation)\",\"end\":\"\\\\][a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"~[a-z]\\\\<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (allow for interpolation)\",\"end\":\"\\\\>[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"~[a-z]\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (allow for interpolation)\",\"end\":\"\\\\)[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"~[a-z]([^\\\\w])\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (allow for interpolation)\",\"end\":\"\\\\1[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.elixir\",\"patterns\":[{\"include\":\"#interpolated_elixir\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"~[A-Z](?>\\\"\\\"\\\")\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"Double-quoted heredocs sigils\",\"end\":\"^\\\\s*\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.heredoc.literal.elixir\"},{\"begin\":\"~[A-Z]\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (without interpolation)\",\"end\":\"\\\\}[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.literal.elixir\"},{\"begin\":\"~[A-Z]\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (without interpolation)\",\"end\":\"\\\\][a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.literal.elixir\"},{\"begin\":\"~[A-Z]\\\\<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (without interpolation)\",\"end\":\"\\\\>[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.literal.elixir\"},{\"begin\":\"~[A-Z]\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (without interpolation)\",\"end\":\"\\\\)[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.literal.elixir\"},{\"begin\":\"~[A-Z]([^\\\\w])\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elixir\"}},\"comment\":\"sigil (without interpolation)\",\"end\":\"\\\\1[a-z]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.elixir\"}},\"name\":\"string.quoted.other.sigil.literal.elixir\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.elixir\"}},\"comment\":\"symbols\",\"match\":\"(?<!:)(:)(?>[a-zA-Z_][\\\\w@]*(?>[?!]|=(?![>=]))?|\\\\<\\\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\\\-|\\\\|>|=>|=~|=|/|\\\\\\\\\\\\\\\\|\\\\*\\\\*?|\\\\.\\\\.?\\\\.?|\\\\.\\\\.//|>=?|<=?|&&?&?|\\\\+\\\\+?|\\\\-\\\\-?|\\\\|\\\\|?\\\\|?|\\\\!|@|\\\\%?\\\\{\\\\}|%|\\\\[\\\\]|\\\\^(\\\\^\\\\^)?)\",\"name\":\"constant.other.symbol.elixir\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.elixir\"}},\"comment\":\"symbols\",\"match\":\"(?>[a-zA-Z_][\\\\w@]*(?>[?!])?)(:)(?!:)\",\"name\":\"constant.other.keywords.elixir\"},{\"begin\":\"(^[ \\\\t]+)?(?=##)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.elixir\"}},\"end\":\"(?!#)\",\"patterns\":[{\"begin\":\"##\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.elixir\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.section.elixir\"}]},{\"begin\":\"(^[ \\\\t]+)?(?=#)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.elixir\"}},\"end\":\"(?!#)\",\"patterns\":[{\"begin\":\"#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.elixir\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.number-sign.elixir\"}]},{\"match\":\"\\\\b_([^_][\\\\w]+[?!]?)\",\"name\":\"comment.unused.elixir\"},{\"match\":\"\\\\b_\\\\b\",\"name\":\"comment.wildcard.elixir\"},{\"comment\":\"\\n\\t\\t\\tmatches questionmark-letters.\\n\\n\\t\\t\\texamples (1st alternation = hex):\\n\\t\\t\\t?\\\\x1 ?\\\\x61\\n\\n\\t\\t\\texamples (2rd alternation = escaped):\\n\\t\\t\\t?\\\\n ?\\\\b\\n\\n\\t\\t\\texamples (3rd alternation = normal):\\n\\t\\t\\t?a ?A ?0\\n\\t\\t\\t?* ?\\\" ?(\\n\\t\\t\\t?. ?#\\n\\n\\t\\t\\tthe negative lookbehind prevents against matching\\n\\t\\t\\tp(42.tainted?)\\n\\t\\t\\t\",\"match\":\"(?<!\\\\w)\\\\?(\\\\\\\\(x[0-9A-Fa-f]{1,2}(?![0-9A-Fa-f])\\\\b|[^xMC])|[^\\\\s\\\\\\\\])\",\"name\":\"constant.numeric.elixir\"},{\"match\":\"\\\\+\\\\+|\\\\-\\\\-|<\\\\|>\",\"name\":\"keyword.operator.concatenation.elixir\"},{\"match\":\"\\\\|\\\\>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\\\\|>\",\"name\":\"keyword.operator.sigils_1.elixir\"},{\"match\":\"&&&|&&\",\"name\":\"keyword.operator.sigils_2.elixir\"},{\"match\":\"<\\\\-|\\\\\\\\\\\\\\\\\",\"name\":\"keyword.operator.sigils_3.elixir\"},{\"match\":\"===?|!==?|<=?|>=?\",\"name\":\"keyword.operator.comparison.elixir\"},{\"match\":\"(\\\\|\\\\|\\\\||&&&|\\\\^\\\\^\\\\^|<<<|>>>|~~~)\",\"name\":\"keyword.operator.bitwise.elixir\"},{\"match\":\"(?<=[ \\\\t])!+|\\\\bnot\\\\b|&&|\\\\band\\\\b|\\\\|\\\\||\\\\bor\\\\b|\\\\bxor\\\\b\",\"name\":\"keyword.operator.logical.elixir\"},{\"match\":\"(\\\\*|\\\\+|\\\\-|/)\",\"name\":\"keyword.operator.arithmetic.elixir\"},{\"match\":\"\\\\||\\\\+\\\\+|\\\\-\\\\-|\\\\*\\\\*|\\\\\\\\\\\\\\\\|\\\\<\\\\-|\\\\<\\\\>|\\\\<\\\\<|\\\\>\\\\>|\\\\:\\\\:|\\\\.\\\\.|//|\\\\|>|~|=>|&\",\"name\":\"keyword.operator.other.elixir\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.elixir\"},{\"match\":\":\",\"name\":\"punctuation.separator.other.elixir\"},{\"match\":\"\\\\;\",\"name\":\"punctuation.separator.statement.elixir\"},{\"match\":\",\",\"name\":\"punctuation.separator.object.elixir\"},{\"match\":\"\\\\.\",\"name\":\"punctuation.separator.method.elixir\"},{\"match\":\"\\\\{|\\\\}\",\"name\":\"punctuation.section.scope.elixir\"},{\"match\":\"\\\\[|\\\\]\",\"name\":\"punctuation.section.array.elixir\"},{\"match\":\"\\\\(|\\\\)\",\"name\":\"punctuation.section.function.elixir\"}]},\"escaped_char\":{\"match\":\"\\\\\\\\(x[\\\\da-fA-F]{1,2}|.)\",\"name\":\"constant.character.escaped.elixir\"},\"interpolated_elixir\":{\"begin\":\"#\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.elixir\"}},\"contentName\":\"source.elixir\",\"end\":\"\\\\}\",\"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\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.elixir\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#nest_curly_and_self\"}]},{\"include\":\"$self\"}]}},\"scopeName\":\"source.elixir\",\"embeddedLangs\":[\"html\"]}"))
4
4
 
5
5
  export default [
6
6
  ...html,
package/dist/elm.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import glsl from './glsl.mjs'
2
2
 
3
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Elm\",\"fileTypes\":[\"elm\"],\"name\":\"elm\",\"patterns\":[{\"include\":\"#import\"},{\"include\":\"#module\"},{\"include\":\"#debug\"},{\"include\":\"#comments\"},{\"match\":\"\\\\b(_)\\\\b\",\"name\":\"keyword.unused.elm\"},{\"include\":\"#type-signature\"},{\"include\":\"#type-declaration\"},{\"include\":\"#type-alias-declaration\"},{\"include\":\"#string-triple\"},{\"include\":\"#string-quote\"},{\"include\":\"#char\"},{\"comment\":\"Floats are always decimal\",\"match\":\"\\\\b(\\\\d+\\\\.\\\\d+([eE][+-]?\\\\d+)?|\\\\d+[eE][+-]?\\\\d+)\\\\b\",\"name\":\"constant.numeric.float.elm\"},{\"match\":\"\\\\b(\\\\d+)\\\\b\",\"name\":\"constant.numeric.elm\"},{\"match\":\"\\\\b(0x[0-9a-fA-F]+)\\\\b\",\"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\":\"(\\\\{)\\\\s+([a-z]\\\\w*)\\\\s+(\\\\|)\\\\s+([a-z]\\\\w*)\",\"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\":\"(\\\\|)\\\\s+([a-z]\\\\w*)\\\\s+(=)\",\"name\":\"meta.record.field.update.elm\"},{\"captures\":{\"1\":{\"name\":\"punctuation.bracket.elm\"},\"2\":{\"name\":\"record.name.elm\"}},\"match\":\"(\\\\{)\\\\s+([a-z]\\\\w*)\\\\s+$\",\"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\":\"(\\\\{)\\\\s+([a-z]\\\\w*)\\\\s+(=)\",\"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\":\"(,)\\\\s+([a-z]\\\\w*)\\\\s+(=)\",\"name\":\"meta.record.field.elm\"},{\"match\":\"(\\\\}|\\\\{)\",\"name\":\"punctuation.bracket.elm\"},{\"include\":\"#unit\"},{\"include\":\"#comma\"},{\"include\":\"#parens\"},{\"match\":\"(->)\",\"name\":\"keyword.operator.arrow.elm\"},{\"include\":\"#infix_op\"},{\"match\":\"(=|:|\\\\||\\\\\\\\)\",\"name\":\"keyword.other.elm\"},{\"match\":\"\\\\b(type|as|port|exposing|alias|infixl|infixr|infix)\\\\s+\",\"name\":\"keyword.other.elm\"},{\"match\":\"\\\\b(if|then|else|case|of|let|in)\\\\s+\",\"name\":\"keyword.control.elm\"},{\"include\":\"#record-accessor\"},{\"include\":\"#top_level_value\"},{\"include\":\"#value\"},{\"include\":\"#period\"},{\"include\":\"#square_brackets\"}],\"repository\":{\"block_comment\":{\"applyEndPatternLast\":1,\"begin\":\"\\\\{-(?!#)\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.elm\"}},\"end\":\"-\\\\}\",\"name\":\"comment.block.elm\",\"patterns\":[{\"include\":\"#block_comment\"}]},\"char\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.char.begin.elm\"}},\"end\":\"'\",\"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[0-9a-fA-F]{1,5})\",\"name\":\"constant.character.escape.elm\"},{\"match\":\"\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_]\",\"name\":\"constant.character.escape.control.elm\"}]},\"comma\":{\"match\":\"(,)\",\"name\":\"punctuation.separator.comma.elm\"},\"comments\":{\"patterns\":[{\"begin\":\"--\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.elm\"}},\"end\":\"$\",\"name\":\"comment.line.double-dash.elm\"},{\"include\":\"#block_comment\"}]},\"constructor\":{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"constant.type-constructor.elm\"},\"debug\":{\"match\":\"\\\\b(Debug)\\\\b\",\"name\":\"invalid.illegal.debug.elm\"},\"glsl\":{\"begin\":\"(\\\\[)(glsl)(\\\\|)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.glsl.bracket.elm\"},\"2\":{\"name\":\"entity.glsl.name.elm\"},\"3\":{\"name\":\"entity.glsl.bracket.elm\"}},\"end\":\"(\\\\|\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"entity.glsl.bracket.elm\"}},\"name\":\"meta.embedded.block.glsl\",\"patterns\":[{\"include\":\"source.glsl\"}]},\"import\":{\"begin\":\"^\\\\b(import)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.elm\"}},\"end\":\"\\\\n(?!\\\\s)\",\"name\":\"meta.import.elm\",\"patterns\":[{\"match\":\"(as|exposing)\",\"name\":\"keyword.control.elm\"},{\"include\":\"#module_chunk\"},{\"include\":\"#period\"},{\"match\":\"\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"include\":\"#module-exports\"}]},\"infix_op\":{\"match\":\"(</>|<\\\\?>|<\\\\||<=|\\\\|\\\\||&&|>=|\\\\|>|\\\\|=|\\\\|\\\\.|\\\\+\\\\+|::|/=|==|//|>>|<<|<|>|\\\\^|\\\\+|-|/|\\\\*)\",\"name\":\"keyword.operator.elm\"},\"module\":{\"begin\":\"^\\\\b((port |effect )?module)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.elm\"}},\"end\":\"\\\\n(?!\\\\s)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other.elm\"}},\"name\":\"meta.declaration.module.elm\",\"patterns\":[{\"include\":\"#module_chunk\"},{\"include\":\"#period\"},{\"match\":\"(exposing)\",\"name\":\"keyword.other.elm\"},{\"match\":\"\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"include\":\"#module-exports\"}]},\"module-exports\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.parens.module-export.elm\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.parens.module-export.elm\"}},\"name\":\"meta.declaration.exports.elm\",\"patterns\":[{\"match\":\"\\\\b[a-z][a-zA-Z_'0-9]*\",\"name\":\"entity.name.function.elm\"},{\"match\":\"\\\\b[A-Z][A-Za-z_'0-9]*\",\"name\":\"storage.type.elm\"},{\"match\":\",\",\"name\":\"punctuation.separator.comma.elm\"},{\"match\":\"\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"include\":\"#comma\"},{\"match\":\"\\\\(\\\\.\\\\.\\\\)\",\"name\":\"punctuation.parens.ellipses.elm\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"punctuation.parens.ellipses.elm\"},{\"include\":\"#infix_op\"},{\"comment\":\"So named because I don't know what to call this.\",\"match\":\"\\\\(.*?\\\\)\",\"name\":\"meta.other.unknown.elm\"}]},\"module-prefix\":{\"captures\":{\"1\":{\"name\":\"support.module.elm\"},\"2\":{\"name\":\"keyword.other.period.elm\"}},\"match\":\"([A-Z]\\\\w*)(\\\\.)\",\"name\":\"meta.module.name.elm\"},\"module_chunk\":{\"match\":\"[A-Z]\\\\w*\",\"name\":\"support.module.elm\"},\"parens\":{\"match\":\"(\\\\(|\\\\))\",\"name\":\"punctuation.parens.elm\"},\"period\":{\"match\":\"[.]\",\"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]\\\\w*)\",\"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]\\\\w*)(\\\\.)([a-z]\\\\w*)\",\"name\":\"record.accessor.elm\"},\"square_brackets\":{\"match\":\"[\\\\[\\\\]]\",\"name\":\"punctuation.definition.list.elm\"},\"string-quote\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elm\"}},\"end\":\"\\\"\",\"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[0-9a-fA-F]{1,5})\",\"name\":\"constant.character.escape.elm\"},{\"match\":\"\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_]\",\"name\":\"constant.character.escape.control.elm\"}]},\"string-triple\":{\"begin\":\"\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elm\"}},\"end\":\"\\\"\\\"\\\"\",\"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[0-9a-fA-F]{1,5})\",\"name\":\"constant.character.escape.elm\"},{\"match\":\"\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_]\",\"name\":\"constant.character.escape.control.elm\"}]},\"top_level_value\":{\"match\":\"^[a-z]\\\\w*\\\\b\",\"name\":\"entity.name.function.top_level.elm\"},\"type-alias-declaration\":{\"begin\":\"^(type\\\\s+)(alias\\\\s+)([A-Z][a-zA-Z0-9_']*)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.type.elm\"},\"2\":{\"name\":\"keyword.type-alias.elm\"},\"3\":{\"name\":\"storage.type.elm\"}},\"end\":\"^(?=\\\\S)\",\"name\":\"meta.function.type-declaration.elm\",\"patterns\":[{\"match\":\"\\\\n\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.elm\"},{\"include\":\"#module-prefix\"},{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"storage.type.elm\"},{\"match\":\"\\\\b[a-z]\\\\w*\\\\b\",\"name\":\"variable.type.elm\"},{\"include\":\"#comments\"},{\"include\":\"#type-record\"}]},\"type-declaration\":{\"begin\":\"^(type\\\\s+)([A-Z][a-zA-Z0-9_']*)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.type.elm\"},\"2\":{\"name\":\"storage.type.elm\"}},\"end\":\"^(?=\\\\S)\",\"name\":\"meta.function.type-declaration.elm\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.type-constructor.elm\"}},\"match\":\"^\\\\s*([A-Z]\\\\w*)\\\\b\",\"name\":\"meta.record.field.elm\"},{\"match\":\"\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.assignment.elm\"},\"2\":{\"name\":\"constant.type-constructor.elm\"}},\"match\":\"(=|\\\\|)\\\\s+([A-Z]\\\\w*)\\\\b\",\"name\":\"meta.record.field.elm\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.elm\"},{\"match\":\"->\",\"name\":\"keyword.operator.arrow.elm\"},{\"include\":\"#module-prefix\"},{\"match\":\"\\\\b[a-z]\\\\w*\\\\b\",\"name\":\"variable.type.elm\"},{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"storage.type.elm\"},{\"include\":\"#comments\"},{\"include\":\"#type-record\"}]},\"type-record\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.braces.begin\"}},\"end\":\"(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.braces.end\"}},\"name\":\"meta.function.type-record.elm\",\"patterns\":[{\"match\":\"\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"match\":\"->\",\"name\":\"keyword.operator.arrow.elm\"},{\"captures\":{\"1\":{\"name\":\"entity.name.record.field.elm\"},\"2\":{\"name\":\"keyword.other.elm\"}},\"match\":\"([a-z]\\\\w*)\\\\s+(:)\",\"name\":\"meta.record.field.elm\"},{\"match\":\"\\\\,\",\"name\":\"punctuation.separator.comma.elm\"},{\"include\":\"#module-prefix\"},{\"match\":\"\\\\b[a-z]\\\\w*\\\\b\",\"name\":\"variable.type.elm\"},{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"storage.type.elm\"},{\"include\":\"#comments\"},{\"include\":\"#type-record\"}]},\"type-signature\":{\"begin\":\"^(port\\\\s+)?([a-z_][a-zA-Z0-9_']*)\\\\s+(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.port.elm\"},\"2\":{\"name\":\"entity.name.function.elm\"},\"3\":{\"name\":\"keyword.other.colon.elm\"}},\"end\":\"((^(?=[a-z]))|^$)\",\"name\":\"meta.function.type-declaration.elm\",\"patterns\":[{\"include\":\"#type-signature-chunk\"}]},\"type-signature-chunk\":{\"patterns\":[{\"match\":\"->\",\"name\":\"keyword.operator.arrow.elm\"},{\"match\":\"\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"include\":\"#module-prefix\"},{\"match\":\"\\\\b[a-z]\\\\w*\\\\b\",\"name\":\"variable.type.elm\"},{\"match\":\"\\\\b[A-Z]\\\\w*\\\\b\",\"name\":\"storage.type.elm\"},{\"match\":\"\\\\(\\\\)\",\"name\":\"constant.unit.elm\"},{\"include\":\"#comma\"},{\"include\":\"#parens\"},{\"include\":\"#comments\"},{\"include\":\"#type-record\"}]},\"unit\":{\"match\":\"\\\\(\\\\)\",\"name\":\"constant.unit.elm\"},\"value\":{\"match\":\"\\\\b[a-z]\\\\w*\\\\b\",\"name\":\"meta.value.elm\"}},\"scopeName\":\"source.elm\",\"embeddedLangs\":[\"glsl\"]}"))
3
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Elm\",\"fileTypes\":[\"elm\"],\"name\":\"elm\",\"patterns\":[{\"include\":\"#import\"},{\"include\":\"#module\"},{\"include\":\"#debug\"},{\"include\":\"#comments\"},{\"match\":\"\\\\b(_)\\\\b\",\"name\":\"keyword.unused.elm\"},{\"include\":\"#type-signature\"},{\"include\":\"#type-declaration\"},{\"include\":\"#type-alias-declaration\"},{\"include\":\"#string-triple\"},{\"include\":\"#string-quote\"},{\"include\":\"#char\"},{\"comment\":\"Floats are always decimal\",\"match\":\"\\\\b([0-9]+\\\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\\\b\",\"name\":\"constant.numeric.float.elm\"},{\"match\":\"\\\\b([0-9]+)\\\\b\",\"name\":\"constant.numeric.elm\"},{\"match\":\"\\\\b(0x[0-9a-fA-F]+)\\\\b\",\"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\":\"(\\\\{)\\\\s+([a-z][a-zA-Z0-9_]*)\\\\s+(\\\\|)\\\\s+([a-z][a-zA-Z0-9_]*)\",\"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\":\"(\\\\|)\\\\s+([a-z][a-zA-Z0-9_]*)\\\\s+(\\\\=)\",\"name\":\"meta.record.field.update.elm\"},{\"captures\":{\"1\":{\"name\":\"punctuation.bracket.elm\"},\"2\":{\"name\":\"record.name.elm\"}},\"match\":\"(\\\\{)\\\\s+([a-z][a-zA-Z0-9_]*)\\\\s+$\",\"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\":\"(\\\\{)\\\\s+([a-z][a-zA-Z0-9_]*)\\\\s+(\\\\=)\",\"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\":\"(,)\\\\s+([a-z][a-zA-Z0-9_]*)\\\\s+(\\\\=)\",\"name\":\"meta.record.field.elm\"},{\"match\":\"(\\\\}|\\\\{)\",\"name\":\"punctuation.bracket.elm\"},{\"include\":\"#unit\"},{\"include\":\"#comma\"},{\"include\":\"#parens\"},{\"match\":\"(->)\",\"name\":\"keyword.operator.arrow.elm\"},{\"include\":\"#infix_op\"},{\"match\":\"(\\\\=|\\\\:|\\\\||\\\\\\\\)\",\"name\":\"keyword.other.elm\"},{\"match\":\"\\\\b(type|as|port|exposing|alias|infixl|infixr|infix)\\\\s+\",\"name\":\"keyword.other.elm\"},{\"match\":\"\\\\b(if|then|else|case|of|let|in)\\\\s+\",\"name\":\"keyword.control.elm\"},{\"include\":\"#record-accessor\"},{\"include\":\"#top_level_value\"},{\"include\":\"#value\"},{\"include\":\"#period\"},{\"include\":\"#square_brackets\"}],\"repository\":{\"block_comment\":{\"applyEndPatternLast\":1,\"begin\":\"\\\\{-(?!#)\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.elm\"}},\"end\":\"-\\\\}\",\"name\":\"comment.block.elm\",\"patterns\":[{\"include\":\"#block_comment\"}]},\"char\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.char.begin.elm\"}},\"end\":\"'\",\"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[0-9a-fA-F]{1,5})\",\"name\":\"constant.character.escape.elm\"},{\"match\":\"\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_]\",\"name\":\"constant.character.escape.control.elm\"}]},\"comma\":{\"match\":\"(,)\",\"name\":\"punctuation.separator.comma.elm\"},\"comments\":{\"patterns\":[{\"begin\":\"--\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.elm\"}},\"end\":\"$\",\"name\":\"comment.line.double-dash.elm\"},{\"include\":\"#block_comment\"}]},\"constructor\":{\"match\":\"\\\\b[A-Z][a-zA-Z0-9_]*\\\\b\",\"name\":\"constant.type-constructor.elm\"},\"debug\":{\"match\":\"\\\\b(Debug)\\\\b\",\"name\":\"invalid.illegal.debug.elm\"},\"glsl\":{\"begin\":\"(\\\\[)(glsl)(\\\\|)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.glsl.bracket.elm\"},\"2\":{\"name\":\"entity.glsl.name.elm\"},\"3\":{\"name\":\"entity.glsl.bracket.elm\"}},\"end\":\"(\\\\|\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"entity.glsl.bracket.elm\"}},\"name\":\"meta.embedded.block.glsl\",\"patterns\":[{\"include\":\"source.glsl\"}]},\"import\":{\"begin\":\"^\\\\b(import)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.elm\"}},\"end\":\"\\\\n(?!\\\\s)\",\"name\":\"meta.import.elm\",\"patterns\":[{\"match\":\"(as|exposing)\",\"name\":\"keyword.control.elm\"},{\"include\":\"#module_chunk\"},{\"include\":\"#period\"},{\"match\":\"\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"include\":\"#module-exports\"}]},\"infix_op\":{\"match\":\"(</>|<\\\\?>|<\\\\||<=|\\\\|\\\\||&&|>=|\\\\|>|\\\\|=|\\\\|\\\\.|\\\\+\\\\+|::|/=|==|//|>>|<<|<|>|\\\\^|\\\\+|-|/|\\\\*)\",\"name\":\"keyword.operator.elm\"},\"module\":{\"begin\":\"^\\\\b((port |effect )?module)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.elm\"}},\"end\":\"\\\\n(?!\\\\s)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other.elm\"}},\"name\":\"meta.declaration.module.elm\",\"patterns\":[{\"include\":\"#module_chunk\"},{\"include\":\"#period\"},{\"match\":\"(exposing)\",\"name\":\"keyword.other.elm\"},{\"match\":\"\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"include\":\"#module-exports\"}]},\"module-exports\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.parens.module-export.elm\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.parens.module-export.elm\"}},\"name\":\"meta.declaration.exports.elm\",\"patterns\":[{\"match\":\"\\\\b[a-z][a-zA-Z_'0-9]*\",\"name\":\"entity.name.function.elm\"},{\"match\":\"\\\\b[A-Z][A-Za-z_'0-9]*\",\"name\":\"storage.type.elm\"},{\"match\":\",\",\"name\":\"punctuation.separator.comma.elm\"},{\"match\":\"\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"include\":\"#comma\"},{\"match\":\"\\\\(\\\\.\\\\.\\\\)\",\"name\":\"punctuation.parens.ellipses.elm\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"punctuation.parens.ellipses.elm\"},{\"include\":\"#infix_op\"},{\"comment\":\"So named because I don't know what to call this.\",\"match\":\"\\\\(.*?\\\\)\",\"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_]*)(\\\\.)\",\"name\":\"meta.module.name.elm\"},\"module_chunk\":{\"match\":\"[A-Z][a-zA-Z0-9_]*\",\"name\":\"support.module.elm\"},\"parens\":{\"match\":\"(\\\\(|\\\\))\",\"name\":\"punctuation.parens.elm\"},\"period\":{\"match\":\"[.]\",\"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_]*)\",\"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_]*)\",\"name\":\"record.accessor.elm\"},\"square_brackets\":{\"match\":\"[\\\\[\\\\]]\",\"name\":\"punctuation.definition.list.elm\"},\"string-quote\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elm\"}},\"end\":\"\\\"\",\"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[0-9a-fA-F]{1,5})\",\"name\":\"constant.character.escape.elm\"},{\"match\":\"\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_]\",\"name\":\"constant.character.escape.control.elm\"}]},\"string-triple\":{\"begin\":\"\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.elm\"}},\"end\":\"\\\"\\\"\\\"\",\"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[0-9a-fA-F]{1,5})\",\"name\":\"constant.character.escape.elm\"},{\"match\":\"\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_]\",\"name\":\"constant.character.escape.control.elm\"}]},\"top_level_value\":{\"match\":\"^[a-z][a-zA-Z0-9_]*\\\\b\",\"name\":\"entity.name.function.top_level.elm\"},\"type-alias-declaration\":{\"begin\":\"^(type\\\\s+)(alias\\\\s+)([A-Z][a-zA-Z0-9_']*)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.type.elm\"},\"2\":{\"name\":\"keyword.type-alias.elm\"},\"3\":{\"name\":\"storage.type.elm\"}},\"end\":\"^(?=\\\\S)\",\"name\":\"meta.function.type-declaration.elm\",\"patterns\":[{\"match\":\"\\\\n\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"match\":\"\\\\=\",\"name\":\"keyword.operator.assignment.elm\"},{\"include\":\"#module-prefix\"},{\"match\":\"\\\\b[A-Z][a-zA-Z0-9_]*\\\\b\",\"name\":\"storage.type.elm\"},{\"match\":\"\\\\b[a-z][a-zA-Z0-9_]*\\\\b\",\"name\":\"variable.type.elm\"},{\"include\":\"#comments\"},{\"include\":\"#type-record\"}]},\"type-declaration\":{\"begin\":\"^(type\\\\s+)([A-Z][a-zA-Z0-9_']*)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.type.elm\"},\"2\":{\"name\":\"storage.type.elm\"}},\"end\":\"^(?=\\\\S)\",\"name\":\"meta.function.type-declaration.elm\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.type-constructor.elm\"}},\"match\":\"^\\\\s*([A-Z][a-zA-Z0-9_]*)\\\\b\",\"name\":\"meta.record.field.elm\"},{\"match\":\"\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.assignment.elm\"},\"2\":{\"name\":\"constant.type-constructor.elm\"}},\"match\":\"(\\\\=|\\\\|)\\\\s+([A-Z][a-zA-Z0-9_]*)\\\\b\",\"name\":\"meta.record.field.elm\"},{\"match\":\"\\\\=\",\"name\":\"keyword.operator.assignment.elm\"},{\"match\":\"\\\\-\\\\>\",\"name\":\"keyword.operator.arrow.elm\"},{\"include\":\"#module-prefix\"},{\"match\":\"\\\\b[a-z][a-zA-Z0-9_]*\\\\b\",\"name\":\"variable.type.elm\"},{\"match\":\"\\\\b[A-Z][a-zA-Z0-9_]*\\\\b\",\"name\":\"storage.type.elm\"},{\"include\":\"#comments\"},{\"include\":\"#type-record\"}]},\"type-record\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.braces.begin\"}},\"end\":\"(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.braces.end\"}},\"name\":\"meta.function.type-record.elm\",\"patterns\":[{\"match\":\"\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"match\":\"->\",\"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_]*)\\\\s+(\\\\:)\",\"name\":\"meta.record.field.elm\"},{\"match\":\"\\\\,\",\"name\":\"punctuation.separator.comma.elm\"},{\"include\":\"#module-prefix\"},{\"match\":\"\\\\b[a-z][a-zA-Z0-9_]*\\\\b\",\"name\":\"variable.type.elm\"},{\"match\":\"\\\\b[A-Z][a-zA-Z0-9_]*\\\\b\",\"name\":\"storage.type.elm\"},{\"include\":\"#comments\"},{\"include\":\"#type-record\"}]},\"type-signature\":{\"begin\":\"^(port\\\\s+)?([a-z_][a-zA-Z0-9_']*)\\\\s+(\\\\:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.port.elm\"},\"2\":{\"name\":\"entity.name.function.elm\"},\"3\":{\"name\":\"keyword.other.colon.elm\"}},\"end\":\"((^(?=[a-z]))|^$)\",\"name\":\"meta.function.type-declaration.elm\",\"patterns\":[{\"include\":\"#type-signature-chunk\"}]},\"type-signature-chunk\":{\"patterns\":[{\"match\":\"->\",\"name\":\"keyword.operator.arrow.elm\"},{\"match\":\"\\\\s+\",\"name\":\"punctuation.spaces.elm\"},{\"include\":\"#module-prefix\"},{\"match\":\"\\\\b[a-z][a-zA-Z0-9_]*\\\\b\",\"name\":\"variable.type.elm\"},{\"match\":\"\\\\b[A-Z][a-zA-Z0-9_]*\\\\b\",\"name\":\"storage.type.elm\"},{\"match\":\"\\\\(\\\\)\",\"name\":\"constant.unit.elm\"},{\"include\":\"#comma\"},{\"include\":\"#parens\"},{\"include\":\"#comments\"},{\"include\":\"#type-record\"}]},\"unit\":{\"match\":\"\\\\(\\\\)\",\"name\":\"constant.unit.elm\"},\"value\":{\"match\":\"\\\\b[a-z][a-zA-Z0-9_]*\\\\b\",\"name\":\"meta.value.elm\"}},\"scopeName\":\"source.elm\",\"embeddedLangs\":[\"glsl\"]}"))
4
4
 
5
5
  export default [
6
6
  ...glsl,