@shikijs/langs 1.26.0 → 1.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-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/index.d.mts +3 -1
  85. package/dist/index.mjs +90 -6
  86. package/dist/java.mjs +1 -1
  87. package/dist/javascript.mjs +1 -1
  88. package/dist/jinja.mjs +1 -1
  89. package/dist/jison.mjs +1 -1
  90. package/dist/json.mjs +1 -1
  91. package/dist/json5.mjs +1 -1
  92. package/dist/jsonc.mjs +1 -1
  93. package/dist/jsonl.mjs +1 -1
  94. package/dist/jsonnet.mjs +1 -1
  95. package/dist/jssm.mjs +1 -1
  96. package/dist/jsx.mjs +1 -1
  97. package/dist/julia.mjs +1 -1
  98. package/dist/kotlin.mjs +1 -1
  99. package/dist/kusto.mjs +1 -1
  100. package/dist/latex.mjs +1 -1
  101. package/dist/lean.mjs +1 -1
  102. package/dist/less.mjs +1 -1
  103. package/dist/liquid.mjs +1 -1
  104. package/dist/log.mjs +1 -1
  105. package/dist/logo.mjs +1 -1
  106. package/dist/lua.mjs +1 -1
  107. package/dist/luau.mjs +1 -1
  108. package/dist/make.mjs +1 -1
  109. package/dist/markdown.mjs +1 -1
  110. package/dist/marko.mjs +1 -1
  111. package/dist/matlab.mjs +1 -1
  112. package/dist/mdc.mjs +1 -1
  113. package/dist/mdx.mjs +1 -1
  114. package/dist/mermaid.mjs +1 -1
  115. package/dist/mipsasm.mjs +1 -1
  116. package/dist/mojo.mjs +1 -1
  117. package/dist/move.mjs +1 -1
  118. package/dist/nextflow.mjs +1 -1
  119. package/dist/nginx.mjs +1 -1
  120. package/dist/nim.mjs +1 -1
  121. package/dist/nix.mjs +1 -1
  122. package/dist/nushell.mjs +1 -1
  123. package/dist/objective-c.mjs +1 -1
  124. package/dist/objective-cpp.mjs +1 -1
  125. package/dist/ocaml.mjs +1 -1
  126. package/dist/perl.mjs +1 -1
  127. package/dist/php.mjs +1 -1
  128. package/dist/polar.mjs +1 -1
  129. package/dist/postcss.mjs +1 -1
  130. package/dist/powerquery.mjs +1 -1
  131. package/dist/powershell.mjs +1 -1
  132. package/dist/prisma.mjs +1 -1
  133. package/dist/prolog.mjs +1 -1
  134. package/dist/proto.mjs +1 -1
  135. package/dist/pug.mjs +1 -1
  136. package/dist/puppet.mjs +1 -1
  137. package/dist/purescript.mjs +1 -1
  138. package/dist/python.mjs +1 -1
  139. package/dist/qml.mjs +1 -1
  140. package/dist/r.mjs +1 -1
  141. package/dist/racket.mjs +1 -1
  142. package/dist/raku.mjs +1 -1
  143. package/dist/razor.mjs +1 -1
  144. package/dist/reg.mjs +1 -1
  145. package/dist/regexp.mjs +1 -1
  146. package/dist/rel.mjs +1 -1
  147. package/dist/riscv.mjs +1 -1
  148. package/dist/rst.mjs +1 -1
  149. package/dist/ruby.mjs +1 -1
  150. package/dist/rust.mjs +1 -1
  151. package/dist/sas.mjs +1 -1
  152. package/dist/sass.mjs +1 -1
  153. package/dist/scala.mjs +1 -1
  154. package/dist/scheme.mjs +1 -1
  155. package/dist/scss.mjs +1 -1
  156. package/dist/shaderlab.mjs +1 -1
  157. package/dist/shellscript.mjs +1 -1
  158. package/dist/smalltalk.mjs +1 -1
  159. package/dist/solidity.mjs +1 -1
  160. package/dist/soy.mjs +1 -1
  161. package/dist/sparql.mjs +1 -1
  162. package/dist/splunk.mjs +1 -1
  163. package/dist/sql.mjs +1 -1
  164. package/dist/ssh-config.mjs +1 -1
  165. package/dist/stata.mjs +1 -1
  166. package/dist/stylus.mjs +1 -1
  167. package/dist/svelte.mjs +1 -1
  168. package/dist/swift.mjs +1 -1
  169. package/dist/system-verilog.mjs +1 -1
  170. package/dist/systemd.mjs +1 -1
  171. package/dist/talonscript.mjs +1 -1
  172. package/dist/tcl.mjs +1 -1
  173. package/dist/templ.mjs +1 -1
  174. package/dist/terraform.mjs +1 -1
  175. package/dist/tex.mjs +1 -1
  176. package/dist/toml.mjs +1 -1
  177. package/dist/tsx.mjs +1 -1
  178. package/dist/turtle.mjs +1 -1
  179. package/dist/twig.mjs +1 -1
  180. package/dist/typescript.mjs +1 -1
  181. package/dist/typespec.mjs +1 -1
  182. package/dist/typst.mjs +1 -1
  183. package/dist/v.mjs +1 -1
  184. package/dist/vala.mjs +1 -1
  185. package/dist/vb.mjs +1 -1
  186. package/dist/verilog.mjs +1 -1
  187. package/dist/vhdl.mjs +1 -1
  188. package/dist/viml.mjs +1 -1
  189. package/dist/vue-html.mjs +1 -1
  190. package/dist/vue.mjs +1 -1
  191. package/dist/vyper.mjs +1 -1
  192. package/dist/wasm.mjs +1 -1
  193. package/dist/wgsl.mjs +1 -1
  194. package/dist/wikitext.mjs +1 -1
  195. package/dist/wolfram.mjs +1 -1
  196. package/dist/xml.mjs +1 -1
  197. package/dist/yaml.mjs +1 -1
  198. package/dist/zenscript.mjs +1 -1
  199. package/dist/zig.mjs +1 -1
  200. package/package.json +3 -3
package/dist/pug.mjs CHANGED
@@ -2,7 +2,7 @@ import javascript from './javascript.mjs'
2
2
  import css from './css.mjs'
3
3
  import html from './html.mjs'
4
4
 
5
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Pug\",\"name\":\"pug\",\"patterns\":[{\"comment\":\"Doctype declaration.\",\"match\":\"^(!!!|doctype)(\\\\s*[a-zA-Z0-9-_]+)?\",\"name\":\"meta.tag.sgml.doctype.html\"},{\"begin\":\"^(\\\\s*)//-\",\"comment\":\"Unbuffered (pug-only) comments.\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"comment.unbuffered.block.pug\"},{\"begin\":\"^(\\\\s*)//\",\"comment\":\"Buffered (html) comments.\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"string.comment.buffered.block.pug\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"invalid.illegal.comment.comment.block.pug\"}},\"comment\":\"Buffered comments inside buffered comments will generate invalid html.\",\"match\":\"^\\\\s*(//)(?!-)\",\"name\":\"string.comment.buffered.block.pug\"}]},{\"begin\":\"<!--\",\"end\":\"--\\\\s*>\",\"name\":\"comment.unbuffered.block.pug\",\"patterns\":[{\"match\":\"--\",\"name\":\"invalid.illegal.comment.comment.block.pug\"}]},{\"begin\":\"^(\\\\s*)-$\",\"comment\":\"Unbuffered code block.\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"source.js\",\"patterns\":[{\"include\":\"source.js\"}]},{\"begin\":\"^(\\\\s*)(script)((\\\\.$)|(?=[^\\\\n]*((text|application)/javascript|module).*\\\\.$))\",\"beginCaptures\":{\"2\":{\"name\":\"entity.name.tag.pug\"}},\"comment\":\"Script tag with JavaScript code.\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"meta.tag.other\",\"patterns\":[{\"begin\":\"\\\\G(?=\\\\()\",\"end\":\"$\",\"patterns\":[{\"include\":\"#tag_attributes\"}]},{\"begin\":\"\\\\G(?=[.#])\",\"end\":\"$\",\"patterns\":[{\"include\":\"#complete_tag\"}]},{\"include\":\"source.js\"}]},{\"begin\":\"^(\\\\s*)(style)((\\\\.$)|(?=[.#(].*\\\\.$))\",\"beginCaptures\":{\"2\":{\"name\":\"entity.name.tag.pug\"}},\"comment\":\"Style tag with CSS code.\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"meta.tag.other\",\"patterns\":[{\"begin\":\"\\\\G(?=\\\\()\",\"end\":\"$\",\"patterns\":[{\"include\":\"#tag_attributes\"}]},{\"begin\":\"\\\\G(?=[.#])\",\"end\":\"$\",\"patterns\":[{\"include\":\"#complete_tag\"}]},{\"include\":\"source.css\"}]},{\"begin\":\"^(\\\\s*):(sass)(?=\\\\(|$)\",\"beginCaptures\":{\"2\":{\"name\":\"constant.language.name.sass.filter.pug\"}},\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"source.sass.filter.pug\",\"patterns\":[{\"include\":\"#tag_attributes\"},{\"include\":\"source.sass\"}]},{\"begin\":\"^(\\\\s*):(scss)(?=\\\\(|$)\",\"beginCaptures\":{\"2\":{\"name\":\"constant.language.name.scss.filter.pug\"}},\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"source.css.scss.filter.pug\",\"patterns\":[{\"include\":\"#tag_attributes\"},{\"include\":\"source.css.scss\"}]},{\"begin\":\"^(\\\\s*):(less)(?=\\\\(|$)\",\"beginCaptures\":{\"2\":{\"name\":\"constant.language.name.less.filter.pug\"}},\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"source.less.filter.pug\",\"patterns\":[{\"include\":\"#tag_attributes\"},{\"include\":\"source.less\"}]},{\"begin\":\"^(\\\\s*):(stylus)(?=\\\\(|$)\",\"beginCaptures\":{\"2\":{\"name\":\"constant.language.name.stylus.filter.pug\"}},\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"patterns\":[{\"include\":\"#tag_attributes\"},{\"include\":\"source.stylus\"}]},{\"begin\":\"^(\\\\s*):(coffee(-?script)?)(?=\\\\(|$)\",\"beginCaptures\":{\"2\":{\"name\":\"constant.language.name.coffeescript.filter.pug\"}},\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"source.coffeescript.filter.pug\",\"patterns\":[{\"include\":\"#tag_attributes\"},{\"include\":\"source.coffee\"}]},{\"begin\":\"^(\\\\s*):(uglify-js)(?=\\\\(|$)\",\"beginCaptures\":{\"2\":{\"name\":\"constant.language.name.js.filter.pug\"}},\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"source.js.filter.pug\",\"patterns\":[{\"include\":\"#tag_attributes\"},{\"include\":\"source.js\"}]},{\"begin\":\"^(\\\\s*)((:(?=.))|(:$))\",\"beginCaptures\":{\"4\":{\"name\":\"invalid.illegal.empty.generic.filter.pug\"}},\"comment\":\"Generic Pug filter.\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"patterns\":[{\"begin\":\"\\\\G(?<=:)(?=.)\",\"end\":\"$\",\"name\":\"name.generic.filter.pug\",\"patterns\":[{\"match\":\"\\\\G\\\\(\",\"name\":\"invalid.illegal.name.generic.filter.pug\"},{\"match\":\"[\\\\w-]\",\"name\":\"constant.language.name.generic.filter.pug\"},{\"include\":\"#tag_attributes\"},{\"match\":\"\\\\W\",\"name\":\"invalid.illegal.name.generic.filter.pug\"}]}]},{\"begin\":\"^(\\\\s*)(?:(?=\\\\.$)|(?:(?=[\\\\w.#].*?\\\\.$)(?=(?:(?:(?:(?:(?:#[\\\\w-]+)|(?:\\\\.[\\\\w-]+))|(?:(?:[#!]\\\\{[^}]*\\\\})|(?:\\\\w(?:(?:[\\\\w:-]+[\\\\w-])|(?:[\\\\w-]*)))))(?:(?:#[\\\\w-]+)|(?:\\\\.[\\\\w-]+)|(?:\\\\((?:[^()\\\\'\\\\\\\"]*(?:(?:\\\\'(?:[^\\\\']|(?:(?<!\\\\\\\\)\\\\\\\\\\\\'))*\\\\')|(?:\\\\\\\"(?:[^\\\\\\\"]|(?:(?<!\\\\\\\\)\\\\\\\\\\\\\\\"))*\\\\\\\")))*[^()]*\\\\))*)*)(?:(?:(?::\\\\s+)|(?<=\\\\)))(?:(?:(?:(?:#[\\\\w-]+)|(?:\\\\.[\\\\w-]+))|(?:(?:[#!]\\\\{[^}]*\\\\})|(?:\\\\w(?:(?:[\\\\w:-]+[\\\\w-])|(?:[\\\\w-]*)))))(?:(?:#[\\\\w-]+)|(?:\\\\.[\\\\w-]+)|(?:\\\\((?:[^()\\\\'\\\\\\\"]*(?:(?:\\\\'(?:[^\\\\']|(?:(?<!\\\\\\\\)\\\\\\\\\\\\'))*\\\\')|(?:\\\\\\\"(?:[^\\\\\\\"]|(?:(?<!\\\\\\\\)\\\\\\\\\\\\\\\"))*\\\\\\\")))*[^()]*\\\\))*)*))*)\\\\.$)(?:(?:(#[\\\\w-]+)|(\\\\.[\\\\w-]+))|((?:[#!]\\\\{[^}]*\\\\})|(?:\\\\w(?:(?:[\\\\w:-]+[\\\\w-])|(?:[\\\\w-]*)))))))\",\"beginCaptures\":{\"2\":{\"name\":\"meta.selector.css entity.other.attribute-name.id.css.pug\"},\"3\":{\"name\":\"meta.selector.css entity.other.attribute-name.class.css.pug\"},\"4\":{\"name\":\"meta.tag.other entity.name.tag.pug\"}},\"comment\":\"Generated from dot_block_tag.py\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"patterns\":[{\"match\":\"\\\\.$\",\"name\":\"storage.type.function.pug.dot-block-dot\"},{\"include\":\"#tag_attributes\"},{\"include\":\"#complete_tag\"},{\"begin\":\"^(?=.)\",\"end\":\"$\",\"name\":\"text.block.pug\",\"patterns\":[{\"include\":\"#inline_pug\"},{\"include\":\"#embedded_html\"},{\"include\":\"#html_entity\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]}]},{\"begin\":\"^\\\\s*\",\"comment\":\"All constructs that generally span a single line starting with any number of white-spaces.\",\"end\":\"$\",\"patterns\":[{\"include\":\"#inline_pug\"},{\"include\":\"#blocks_and_includes\"},{\"include\":\"#unbuffered_code\"},{\"include\":\"#mixin_definition\"},{\"include\":\"#mixin_call\"},{\"include\":\"#flow_control\"},{\"include\":\"#flow_control_each\"},{\"include\":\"#case_conds\"},{\"begin\":\"\\\\|\",\"comment\":\"Tag pipe text line.\",\"end\":\"$\",\"name\":\"text.block.pipe.pug\",\"patterns\":[{\"include\":\"#inline_pug\"},{\"include\":\"#embedded_html\"},{\"include\":\"#html_entity\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]},{\"include\":\"#printed_expression\"},{\"begin\":\"\\\\G(?=(#[^{\\\\w-])|[^\\\\w.#])\",\"comment\":\"Line starting with characters incompatible with tag name/id/class is standalone text.\",\"end\":\"$\",\"patterns\":[{\"begin\":\"</?(?=[!#])\",\"end\":\">|$\",\"patterns\":[{\"include\":\"#inline_pug\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]},{\"include\":\"#inline_pug\"},{\"include\":\"#embedded_html\"},{\"include\":\"#html_entity\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]},{\"include\":\"#complete_tag\"}]}],\"repository\":{\"babel_parens\":{\"begin\":\"\\\\(\",\"end\":\"\\\\)|(({\\\\s*)?$)\",\"patterns\":[{\"include\":\"#babel_parens\"},{\"include\":\"source.js\"}]},\"blocks_and_includes\":{\"captures\":{\"1\":{\"name\":\"storage.type.import.include.pug\"},\"4\":{\"name\":\"variable.control.import.include.pug\"}},\"comment\":\"Template blocks and includes.\",\"match\":\"(extends|include|yield|append|prepend|block( (append|prepend))?)\\\\s+(.*)$\",\"name\":\"meta.first-class.pug\"},\"case_conds\":{\"begin\":\"(default|when)((\\\\s+|(?=:))|$)\",\"captures\":{\"1\":{\"name\":\"storage.type.function.pug\"}},\"comment\":\"Pug case conditionals.\",\"end\":\"$\",\"name\":\"meta.control.flow.pug\",\"patterns\":[{\"begin\":\"\\\\G(?!:)\",\"end\":\"(?=:\\\\s+)|$\",\"name\":\"js.embedded.control.flow.pug\",\"patterns\":[{\"include\":\"#case_when_paren\"},{\"include\":\"source.js\"}]},{\"begin\":\":\\\\s+\",\"end\":\"$\",\"name\":\"tag.case.control.flow.pug\",\"patterns\":[{\"include\":\"#complete_tag\"}]}]},\"case_when_paren\":{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"name\":\"js.when.control.flow.pug\",\"patterns\":[{\"include\":\"#case_when_paren\"},{\"match\":\":\",\"name\":\"invalid.illegal.name.tag.pug\"},{\"include\":\"source.js\"}]},\"complete_tag\":{\"begin\":\"(?=[\\\\w.#])|(:\\\\s*)\",\"end\":\"(\\\\.?$)|(?=:.)\",\"endCaptures\":{\"1\":{\"name\":\"storage.type.function.pug.dot-block-dot\"}},\"patterns\":[{\"include\":\"#blocks_and_includes\"},{\"include\":\"#unbuffered_code\"},{\"include\":\"#mixin_call\"},{\"include\":\"#flow_control\"},{\"include\":\"#flow_control_each\"},{\"match\":\"(?<=:)\\\\w.*$\",\"name\":\"invalid.illegal.name.tag.pug\"},{\"include\":\"#tag_name\"},{\"include\":\"#tag_id\"},{\"include\":\"#tag_classes\"},{\"include\":\"#tag_attributes\"},{\"include\":\"#tag_mixin_attributes\"},{\"captures\":{\"2\":{\"name\":\"invalid.illegal.end.tag.pug\"},\"4\":{\"name\":\"invalid.illegal.end.tag.pug\"}},\"match\":\"((\\\\.)\\\\s+$)|((:)\\\\s*$)\"},{\"include\":\"#printed_expression\"},{\"include\":\"#tag_text\"}]},\"embedded_html\":{\"begin\":\"(?=<[^>]*>)\",\"end\":\"$|(?=>)\",\"name\":\"html\",\"patterns\":[{\"include\":\"text.html.basic\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]},\"flow_control\":{\"begin\":\"(for|if|else if|else|until|while|unless|case)(\\\\s+|$)\",\"captures\":{\"1\":{\"name\":\"storage.type.function.pug\"}},\"comment\":\"Pug control flow.\",\"end\":\"$\",\"name\":\"meta.control.flow.pug\",\"patterns\":[{\"begin\":\"\",\"end\":\"$\",\"name\":\"js.embedded.control.flow.pug\",\"patterns\":[{\"include\":\"source.js\"}]}]},\"flow_control_each\":{\"begin\":\"(each)(\\\\s+|$)\",\"captures\":{\"1\":{\"name\":\"storage.type.function.pug\"}},\"end\":\"$\",\"name\":\"meta.control.flow.pug.each\",\"patterns\":[{\"match\":\"([\\\\w$_]+)(?:\\\\s*,\\\\s*([\\\\w$_]+))?\",\"name\":\"variable.other.pug.each-var\"},{\"begin\":\"\",\"end\":\"$\",\"name\":\"js.embedded.control.flow.pug\",\"patterns\":[{\"include\":\"source.js\"}]}]},\"html_entity\":{\"patterns\":[{\"match\":\"(&)([a-zA-Z0-9]+|#\\\\d+|#x[0-9a-fA-F]+)(;)\",\"name\":\"constant.character.entity.html.text.pug\"},{\"match\":\"[<>&]\",\"name\":\"invalid.illegal.html_entity.text.pug\"}]},\"inline_pug\":{\"begin\":\"(?<!\\\\\\\\)(#\\\\[)\",\"captures\":{\"1\":{\"name\":\"entity.name.function.pug\"},\"2\":{\"name\":\"entity.name.function.pug\"}},\"end\":\"(\\\\])\",\"name\":\"inline.pug\",\"patterns\":[{\"include\":\"#inline_pug\"},{\"include\":\"#mixin_call\"},{\"begin\":\"(?<!\\\\])(?=[\\\\w.#])|(:\\\\s*)\",\"end\":\"(?=\\\\]|(:.)|=|\\\\s)\",\"name\":\"tag.inline.pug\",\"patterns\":[{\"include\":\"#tag_name\"},{\"include\":\"#tag_id\"},{\"include\":\"#tag_classes\"},{\"include\":\"#tag_attributes\"},{\"include\":\"#tag_mixin_attributes\"},{\"include\":\"#inline_pug\"},{\"match\":\"\\\\[\",\"name\":\"invalid.illegal.tag.pug\"}]},{\"include\":\"#unbuffered_code\"},{\"include\":\"#printed_expression\"},{\"match\":\"\\\\[\",\"name\":\"invalid.illegal.tag.pug\"},{\"include\":\"#inline_pug_text\"}]},\"inline_pug_text\":{\"begin\":\"\",\"end\":\"(?=\\\\])\",\"patterns\":[{\"begin\":\"\\\\[\",\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#inline_pug_text\"}]},{\"include\":\"#inline_pug\"},{\"include\":\"#embedded_html\"},{\"include\":\"#html_entity\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]},\"interpolated_error\":{\"match\":\"(?<!\\\\\\\\)[#!]\\\\{(?=[^}]*$)\",\"name\":\"invalid.illegal.tag.pug\"},\"interpolated_value\":{\"begin\":\"(?<!\\\\\\\\)[#!]\\\\{(?=.*?\\\\})\",\"end\":\"\\\\}\",\"name\":\"string.interpolated.pug\",\"patterns\":[{\"match\":\"{\",\"name\":\"invalid.illegal.tag.pug\"},{\"include\":\"source.js\"}]},\"js_braces\":{\"begin\":\"\\\\{\",\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#js_braces\"},{\"include\":\"source.js\"}]},\"js_brackets\":{\"begin\":\"\\\\[\",\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#js_brackets\"},{\"include\":\"source.js\"}]},\"js_parens\":{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#js_parens\"},{\"include\":\"source.js\"}]},\"mixin_call\":{\"begin\":\"((?:mixin\\\\s+)|\\\\+)([\\\\w-]+)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.pug\"},\"2\":{\"name\":\"meta.tag.other entity.name.function.pug\"}},\"end\":\"(?!\\\\()|$\",\"patterns\":[{\"begin\":\"(?<!\\\\))\\\\(\",\"end\":\"\\\\)\",\"name\":\"args.mixin.pug\",\"patterns\":[{\"include\":\"#js_parens\"},{\"captures\":{\"1\":{\"name\":\"meta.tag.other entity.other.attribute-name.tag.pug\"}},\"match\":\"([^\\\\s(),=/]+)\\\\s*=\\\\s*\"},{\"include\":\"source.js\"}]},{\"include\":\"#tag_attributes\"}]},\"mixin_definition\":{\"captures\":{\"1\":{\"name\":\"storage.type.function.pug\"},\"2\":{\"name\":\"meta.tag.other entity.name.function.pug\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.js\"},\"4\":{\"name\":\"variable.parameter.function.js\"},\"5\":{\"name\":\"punctuation.definition.parameters.begin.js\"}},\"match\":\"(mixin\\\\s+)([\\\\w-]+)(?:(\\\\()\\\\s*((?:[a-zA-Z_]\\\\w*\\\\s*)(?:,\\\\s*[a-zA-Z_]\\\\w*\\\\s*)*)(\\\\)))?$\"},\"printed_expression\":{\"begin\":\"(!?=)\\\\s*\",\"captures\":{\"1\":{\"name\":\"constant\"}},\"end\":\"(?=\\\\])|$\",\"name\":\"source.js\",\"patterns\":[{\"include\":\"#js_brackets\"},{\"include\":\"source.js\"}]},\"tag_attribute_name\":{\"captures\":{\"1\":{\"name\":\"entity.other.attribute-name.tag.pug\"}},\"match\":\"([^\\\\s(),=/!]+)\\\\s*\"},\"tag_attribute_name_paren\":{\"begin\":\"\\\\(\\\\s*\",\"end\":\"\\\\)\",\"name\":\"entity.other.attribute-name.tag.pug\",\"patterns\":[{\"include\":\"#tag_attribute_name_paren\"},{\"include\":\"#tag_attribute_name\"}]},\"tag_attributes\":{\"begin\":\"(\\\\(\\\\s*)\",\"captures\":{\"1\":{\"name\":\"constant.name.attribute.tag.pug\"}},\"end\":\"(\\\\))\",\"name\":\"meta.tag.other\",\"patterns\":[{\"include\":\"#tag_attribute_name_paren\"},{\"include\":\"#tag_attribute_name\"},{\"match\":\"!(?!=)\",\"name\":\"invalid.illegal.tag.pug\"},{\"begin\":\"=\\\\s*\",\"end\":\"$|(?=,|(?:\\\\s+[^!%&*\\\\-+~|<>?/])|\\\\))\",\"name\":\"attribute_value\",\"patterns\":[{\"include\":\"#js_parens\"},{\"include\":\"#js_brackets\"},{\"include\":\"#js_braces\"},{\"include\":\"source.js\"}]},{\"begin\":\"(?<=[%&*\\\\-+~|<>:?/])\\\\s+\",\"end\":\"$|(?=,|(?:\\\\s+[^!%&*\\\\-+~|<>?/])|\\\\))\",\"name\":\"attribute_value2\",\"patterns\":[{\"include\":\"#js_parens\"},{\"include\":\"#js_brackets\"},{\"include\":\"#js_braces\"},{\"include\":\"source.js\"}]}]},\"tag_classes\":{\"captures\":{\"1\":{\"name\":\"invalid.illegal.tag.pug\"}},\"match\":\"\\\\.([^\\\\w-])?[\\\\w-]*\",\"name\":\"meta.selector.css entity.other.attribute-name.class.css.pug\"},\"tag_id\":{\"match\":\"#[\\\\w-]+\",\"name\":\"meta.selector.css entity.other.attribute-name.id.css.pug\"},\"tag_mixin_attributes\":{\"begin\":\"(&attributes\\\\()\",\"captures\":{\"1\":{\"name\":\"entity.name.function.pug\"}},\"end\":\"(\\\\))\",\"name\":\"meta.tag.other\",\"patterns\":[{\"match\":\"attributes(?=\\\\))\",\"name\":\"storage.type.keyword.pug\"},{\"include\":\"source.js\"}]},\"tag_name\":{\"begin\":\"([#!]\\\\{(?=.*?\\\\}))|(\\\\w(([\\\\w:-]+[\\\\w-])|([\\\\w-]*)))\",\"end\":\"(\\\\G(?<!\\\\5[^\\\\w-]))|\\\\}|$\",\"name\":\"meta.tag.other entity.name.tag.pug\",\"patterns\":[{\"begin\":\"\\\\G(?<=\\\\{)\",\"end\":\"(?=\\\\})\",\"name\":\"meta.tag.other entity.name.tag.pug\",\"patterns\":[{\"match\":\"{\",\"name\":\"invalid.illegal.tag.pug\"},{\"include\":\"source.js\"}]}]},\"tag_text\":{\"begin\":\"(?=.)\",\"end\":\"$\",\"patterns\":[{\"include\":\"#inline_pug\"},{\"include\":\"#embedded_html\"},{\"include\":\"#html_entity\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]},\"unbuffered_code\":{\"begin\":\"(-|((\\\\w+)\\\\s+=))\",\"beginCaptures\":{\"3\":{\"name\":\"variable.parameter.javascript.embedded.pug\"}},\"comment\":\"name = function() {}\",\"end\":\"(?=\\\\])|(({\\\\s*)?$)\",\"name\":\"source.js\",\"patterns\":[{\"include\":\"#js_brackets\"},{\"include\":\"#babel_parens\"},{\"include\":\"source.js\"}]}},\"scopeName\":\"text.pug\",\"embeddedLangs\":[\"javascript\",\"css\",\"html\"],\"aliases\":[\"jade\"],\"embeddedLangsLazy\":[\"sass\",\"scss\",\"stylus\",\"coffee\"]}"))
5
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Pug\",\"name\":\"pug\",\"patterns\":[{\"comment\":\"Doctype declaration.\",\"match\":\"^(!!!|doctype)(\\\\s*[a-zA-Z0-9-_]+)?\",\"name\":\"meta.tag.sgml.doctype.html\"},{\"begin\":\"^(\\\\s*)//-\",\"comment\":\"Unbuffered (pug-only) comments.\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"comment.unbuffered.block.pug\"},{\"begin\":\"^(\\\\s*)//\",\"comment\":\"Buffered (html) comments.\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"string.comment.buffered.block.pug\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"invalid.illegal.comment.comment.block.pug\"}},\"comment\":\"Buffered comments inside buffered comments will generate invalid html.\",\"match\":\"^\\\\s*(//)(?!-)\",\"name\":\"string.comment.buffered.block.pug\"}]},{\"begin\":\"<!--\",\"end\":\"--\\\\s*>\",\"name\":\"comment.unbuffered.block.pug\",\"patterns\":[{\"match\":\"--\",\"name\":\"invalid.illegal.comment.comment.block.pug\"}]},{\"begin\":\"^(\\\\s*)-$\",\"comment\":\"Unbuffered code block.\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"source.js\",\"patterns\":[{\"include\":\"source.js\"}]},{\"begin\":\"^(\\\\s*)(script)((\\\\.$)|(?=[^\\\\n]*((text|application)/javascript|module).*\\\\.$))\",\"beginCaptures\":{\"2\":{\"name\":\"entity.name.tag.pug\"}},\"comment\":\"Script tag with JavaScript code.\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"meta.tag.other\",\"patterns\":[{\"begin\":\"\\\\G(?=\\\\()\",\"end\":\"$\",\"patterns\":[{\"include\":\"#tag_attributes\"}]},{\"begin\":\"\\\\G(?=[.#])\",\"end\":\"$\",\"patterns\":[{\"include\":\"#complete_tag\"}]},{\"include\":\"source.js\"}]},{\"begin\":\"^(\\\\s*)(style)((\\\\.$)|(?=[.#(].*\\\\.$))\",\"beginCaptures\":{\"2\":{\"name\":\"entity.name.tag.pug\"}},\"comment\":\"Style tag with CSS code.\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"meta.tag.other\",\"patterns\":[{\"begin\":\"\\\\G(?=\\\\()\",\"end\":\"$\",\"patterns\":[{\"include\":\"#tag_attributes\"}]},{\"begin\":\"\\\\G(?=[.#])\",\"end\":\"$\",\"patterns\":[{\"include\":\"#complete_tag\"}]},{\"include\":\"source.css\"}]},{\"begin\":\"^(\\\\s*):(sass)(?=\\\\(|$)\",\"beginCaptures\":{\"2\":{\"name\":\"constant.language.name.sass.filter.pug\"}},\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"source.sass.filter.pug\",\"patterns\":[{\"include\":\"#tag_attributes\"},{\"include\":\"source.sass\"}]},{\"begin\":\"^(\\\\s*):(scss)(?=\\\\(|$)\",\"beginCaptures\":{\"2\":{\"name\":\"constant.language.name.scss.filter.pug\"}},\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"source.css.scss.filter.pug\",\"patterns\":[{\"include\":\"#tag_attributes\"},{\"include\":\"source.css.scss\"}]},{\"begin\":\"^(\\\\s*):(less)(?=\\\\(|$)\",\"beginCaptures\":{\"2\":{\"name\":\"constant.language.name.less.filter.pug\"}},\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"source.less.filter.pug\",\"patterns\":[{\"include\":\"#tag_attributes\"},{\"include\":\"source.less\"}]},{\"begin\":\"^(\\\\s*):(stylus)(?=\\\\(|$)\",\"beginCaptures\":{\"2\":{\"name\":\"constant.language.name.stylus.filter.pug\"}},\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"patterns\":[{\"include\":\"#tag_attributes\"},{\"include\":\"source.stylus\"}]},{\"begin\":\"^(\\\\s*):(coffee(-?script)?)(?=\\\\(|$)\",\"beginCaptures\":{\"2\":{\"name\":\"constant.language.name.coffeescript.filter.pug\"}},\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"source.coffeescript.filter.pug\",\"patterns\":[{\"include\":\"#tag_attributes\"},{\"include\":\"source.coffee\"}]},{\"begin\":\"^(\\\\s*):(uglify-js)(?=\\\\(|$)\",\"beginCaptures\":{\"2\":{\"name\":\"constant.language.name.js.filter.pug\"}},\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"source.js.filter.pug\",\"patterns\":[{\"include\":\"#tag_attributes\"},{\"include\":\"source.js\"}]},{\"begin\":\"^(\\\\s*)((:(?=.))|(:$))\",\"beginCaptures\":{\"4\":{\"name\":\"invalid.illegal.empty.generic.filter.pug\"}},\"comment\":\"Generic Pug filter.\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"patterns\":[{\"begin\":\"\\\\G(?<=:)(?=.)\",\"end\":\"$\",\"name\":\"name.generic.filter.pug\",\"patterns\":[{\"match\":\"\\\\G\\\\(\",\"name\":\"invalid.illegal.name.generic.filter.pug\"},{\"match\":\"[\\\\w-]\",\"name\":\"constant.language.name.generic.filter.pug\"},{\"include\":\"#tag_attributes\"},{\"match\":\"\\\\W\",\"name\":\"invalid.illegal.name.generic.filter.pug\"}]}]},{\"begin\":\"^(\\\\s*)(?:(?=\\\\.$)|(?:(?=[\\\\w.#].*?\\\\.$)(?=(?:(?:(?:(?:(?:#[\\\\w-]+)|(?:\\\\.[\\\\w-]+))|(?:(?:[#!]\\\\{[^}]*\\\\})|(?:\\\\w(?:(?:[\\\\w:-]+[\\\\w-])|(?:[\\\\w-]*)))))(?:(?:#[\\\\w-]+)|(?:\\\\.[\\\\w-]+)|(?:\\\\((?:[^()\\\\'\\\\\\\"]*(?:(?:\\\\'(?:[^\\\\']|(?:(?<!\\\\\\\\)\\\\\\\\\\\\'))*\\\\')|(?:\\\\\\\"(?:[^\\\\\\\"]|(?:(?<!\\\\\\\\)\\\\\\\\\\\\\\\"))*\\\\\\\")))*[^()]*\\\\))*)*)(?:(?:(?::\\\\s+)|(?<=\\\\)))(?:(?:(?:(?:#[\\\\w-]+)|(?:\\\\.[\\\\w-]+))|(?:(?:[#!]\\\\{[^}]*\\\\})|(?:\\\\w(?:(?:[\\\\w:-]+[\\\\w-])|(?:[\\\\w-]*)))))(?:(?:#[\\\\w-]+)|(?:\\\\.[\\\\w-]+)|(?:\\\\((?:[^()\\\\'\\\\\\\"]*(?:(?:\\\\'(?:[^\\\\']|(?:(?<!\\\\\\\\)\\\\\\\\\\\\'))*\\\\')|(?:\\\\\\\"(?:[^\\\\\\\"]|(?:(?<!\\\\\\\\)\\\\\\\\\\\\\\\"))*\\\\\\\")))*[^()]*\\\\))*)*))*)\\\\.$)(?:(?:(#[\\\\w-]+)|(\\\\.[\\\\w-]+))|((?:[#!]\\\\{[^}]*\\\\})|(?:\\\\w(?:(?:[\\\\w:-]+[\\\\w-])|(?:[\\\\w-]*)))))))\",\"beginCaptures\":{\"2\":{\"name\":\"meta.selector.css entity.other.attribute-name.id.css.pug\"},\"3\":{\"name\":\"meta.selector.css entity.other.attribute-name.class.css.pug\"},\"4\":{\"name\":\"meta.tag.other entity.name.tag.pug\"}},\"comment\":\"Generated from dot_block_tag.py\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"patterns\":[{\"match\":\"\\\\.$\",\"name\":\"storage.type.function.pug.dot-block-dot\"},{\"include\":\"#tag_attributes\"},{\"include\":\"#complete_tag\"},{\"begin\":\"^(?=.)\",\"end\":\"$\",\"name\":\"text.block.pug\",\"patterns\":[{\"include\":\"#inline_pug\"},{\"include\":\"#embedded_html\"},{\"include\":\"#html_entity\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]}]},{\"begin\":\"^\\\\s*\",\"comment\":\"All constructs that generally span a single line starting with any number of white-spaces.\",\"end\":\"$\",\"patterns\":[{\"include\":\"#inline_pug\"},{\"include\":\"#blocks_and_includes\"},{\"include\":\"#unbuffered_code\"},{\"include\":\"#mixin_definition\"},{\"include\":\"#mixin_call\"},{\"include\":\"#flow_control\"},{\"include\":\"#flow_control_each\"},{\"include\":\"#case_conds\"},{\"begin\":\"\\\\|\",\"comment\":\"Tag pipe text line.\",\"end\":\"$\",\"name\":\"text.block.pipe.pug\",\"patterns\":[{\"include\":\"#inline_pug\"},{\"include\":\"#embedded_html\"},{\"include\":\"#html_entity\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]},{\"include\":\"#printed_expression\"},{\"begin\":\"\\\\G(?=(#[^\\\\{\\\\w-])|[^\\\\w.#])\",\"comment\":\"Line starting with characters incompatible with tag name/id/class is standalone text.\",\"end\":\"$\",\"patterns\":[{\"begin\":\"</?(?=[!#])\",\"end\":\">|$\",\"patterns\":[{\"include\":\"#inline_pug\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]},{\"include\":\"#inline_pug\"},{\"include\":\"#embedded_html\"},{\"include\":\"#html_entity\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]},{\"include\":\"#complete_tag\"}]}],\"repository\":{\"babel_parens\":{\"begin\":\"\\\\(\",\"end\":\"\\\\)|(({\\\\s*)?$)\",\"patterns\":[{\"include\":\"#babel_parens\"},{\"include\":\"source.js\"}]},\"blocks_and_includes\":{\"captures\":{\"1\":{\"name\":\"storage.type.import.include.pug\"},\"4\":{\"name\":\"variable.control.import.include.pug\"}},\"comment\":\"Template blocks and includes.\",\"match\":\"(extends|include|yield|append|prepend|block( (append|prepend))?)\\\\s+(.*)$\",\"name\":\"meta.first-class.pug\"},\"case_conds\":{\"begin\":\"(default|when)((\\\\s+|(?=:))|$)\",\"captures\":{\"1\":{\"name\":\"storage.type.function.pug\"}},\"comment\":\"Pug case conditionals.\",\"end\":\"$\",\"name\":\"meta.control.flow.pug\",\"patterns\":[{\"begin\":\"\\\\G(?!:)\",\"end\":\"(?=:\\\\s+)|$\",\"name\":\"js.embedded.control.flow.pug\",\"patterns\":[{\"include\":\"#case_when_paren\"},{\"include\":\"source.js\"}]},{\"begin\":\":\\\\s+\",\"end\":\"$\",\"name\":\"tag.case.control.flow.pug\",\"patterns\":[{\"include\":\"#complete_tag\"}]}]},\"case_when_paren\":{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"name\":\"js.when.control.flow.pug\",\"patterns\":[{\"include\":\"#case_when_paren\"},{\"match\":\":\",\"name\":\"invalid.illegal.name.tag.pug\"},{\"include\":\"source.js\"}]},\"complete_tag\":{\"begin\":\"(?=[\\\\w.#])|(:\\\\s*)\",\"end\":\"(\\\\.?$)|(?=:.)\",\"endCaptures\":{\"1\":{\"name\":\"storage.type.function.pug.dot-block-dot\"}},\"patterns\":[{\"include\":\"#blocks_and_includes\"},{\"include\":\"#unbuffered_code\"},{\"include\":\"#mixin_call\"},{\"include\":\"#flow_control\"},{\"include\":\"#flow_control_each\"},{\"match\":\"(?<=:)\\\\w.*$\",\"name\":\"invalid.illegal.name.tag.pug\"},{\"include\":\"#tag_name\"},{\"include\":\"#tag_id\"},{\"include\":\"#tag_classes\"},{\"include\":\"#tag_attributes\"},{\"include\":\"#tag_mixin_attributes\"},{\"captures\":{\"2\":{\"name\":\"invalid.illegal.end.tag.pug\"},\"4\":{\"name\":\"invalid.illegal.end.tag.pug\"}},\"match\":\"((\\\\.)\\\\s+$)|((:)\\\\s*$)\"},{\"include\":\"#printed_expression\"},{\"include\":\"#tag_text\"}]},\"embedded_html\":{\"begin\":\"(?=<[^>]*>)\",\"end\":\"$|(?=>)\",\"name\":\"html\",\"patterns\":[{\"include\":\"text.html.basic\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]},\"flow_control\":{\"begin\":\"(for|if|else if|else|until|while|unless|case)(\\\\s+|$)\",\"captures\":{\"1\":{\"name\":\"storage.type.function.pug\"}},\"comment\":\"Pug control flow.\",\"end\":\"$\",\"name\":\"meta.control.flow.pug\",\"patterns\":[{\"begin\":\"\",\"end\":\"$\",\"name\":\"js.embedded.control.flow.pug\",\"patterns\":[{\"include\":\"source.js\"}]}]},\"flow_control_each\":{\"begin\":\"(each)(\\\\s+|$)\",\"captures\":{\"1\":{\"name\":\"storage.type.function.pug\"}},\"end\":\"$\",\"name\":\"meta.control.flow.pug.each\",\"patterns\":[{\"match\":\"([\\\\w$_]+)(?:\\\\s*,\\\\s*([\\\\w$_]+))?\",\"name\":\"variable.other.pug.each-var\"},{\"begin\":\"\",\"end\":\"$\",\"name\":\"js.embedded.control.flow.pug\",\"patterns\":[{\"include\":\"source.js\"}]}]},\"html_entity\":{\"patterns\":[{\"match\":\"(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)\",\"name\":\"constant.character.entity.html.text.pug\"},{\"match\":\"[<>&]\",\"name\":\"invalid.illegal.html_entity.text.pug\"}]},\"inline_pug\":{\"begin\":\"(?<!\\\\\\\\)(#\\\\[)\",\"captures\":{\"1\":{\"name\":\"entity.name.function.pug\"},\"2\":{\"name\":\"entity.name.function.pug\"}},\"end\":\"(\\\\])\",\"name\":\"inline.pug\",\"patterns\":[{\"include\":\"#inline_pug\"},{\"include\":\"#mixin_call\"},{\"begin\":\"(?<!\\\\])(?=[\\\\w.#])|(:\\\\s*)\",\"end\":\"(?=\\\\]|(:.)|=|\\\\s)\",\"name\":\"tag.inline.pug\",\"patterns\":[{\"include\":\"#tag_name\"},{\"include\":\"#tag_id\"},{\"include\":\"#tag_classes\"},{\"include\":\"#tag_attributes\"},{\"include\":\"#tag_mixin_attributes\"},{\"include\":\"#inline_pug\"},{\"match\":\"\\\\[\",\"name\":\"invalid.illegal.tag.pug\"}]},{\"include\":\"#unbuffered_code\"},{\"include\":\"#printed_expression\"},{\"match\":\"\\\\[\",\"name\":\"invalid.illegal.tag.pug\"},{\"include\":\"#inline_pug_text\"}]},\"inline_pug_text\":{\"begin\":\"\",\"end\":\"(?=\\\\])\",\"patterns\":[{\"begin\":\"\\\\[\",\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#inline_pug_text\"}]},{\"include\":\"#inline_pug\"},{\"include\":\"#embedded_html\"},{\"include\":\"#html_entity\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]},\"interpolated_error\":{\"match\":\"(?<!\\\\\\\\)[#!]\\\\{(?=[^}]*$)\",\"name\":\"invalid.illegal.tag.pug\"},\"interpolated_value\":{\"begin\":\"(?<!\\\\\\\\)[#!]\\\\{(?=.*?\\\\})\",\"end\":\"\\\\}\",\"name\":\"string.interpolated.pug\",\"patterns\":[{\"match\":\"{\",\"name\":\"invalid.illegal.tag.pug\"},{\"include\":\"source.js\"}]},\"js_braces\":{\"begin\":\"\\\\{\",\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#js_braces\"},{\"include\":\"source.js\"}]},\"js_brackets\":{\"begin\":\"\\\\[\",\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#js_brackets\"},{\"include\":\"source.js\"}]},\"js_parens\":{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#js_parens\"},{\"include\":\"source.js\"}]},\"mixin_call\":{\"begin\":\"((?:mixin\\\\s+)|\\\\+)([\\\\w-]+)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.pug\"},\"2\":{\"name\":\"meta.tag.other entity.name.function.pug\"}},\"end\":\"(?!\\\\()|$\",\"patterns\":[{\"begin\":\"(?<!\\\\))\\\\(\",\"end\":\"\\\\)\",\"name\":\"args.mixin.pug\",\"patterns\":[{\"include\":\"#js_parens\"},{\"captures\":{\"1\":{\"name\":\"meta.tag.other entity.other.attribute-name.tag.pug\"}},\"match\":\"([^\\\\s(),=/]+)\\\\s*=\\\\s*\"},{\"include\":\"source.js\"}]},{\"include\":\"#tag_attributes\"}]},\"mixin_definition\":{\"captures\":{\"1\":{\"name\":\"storage.type.function.pug\"},\"2\":{\"name\":\"meta.tag.other entity.name.function.pug\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.js\"},\"4\":{\"name\":\"variable.parameter.function.js\"},\"5\":{\"name\":\"punctuation.definition.parameters.begin.js\"}},\"match\":\"(mixin\\\\s+)([\\\\w-]+)(?:(\\\\()\\\\s*((?:[a-zA-Z_]\\\\w*\\\\s*)(?:,\\\\s*[a-zA-Z_]\\\\w*\\\\s*)*)(\\\\)))?$\"},\"printed_expression\":{\"begin\":\"(!?\\\\=)\\\\s*\",\"captures\":{\"1\":{\"name\":\"constant\"}},\"end\":\"(?=\\\\])|$\",\"name\":\"source.js\",\"patterns\":[{\"include\":\"#js_brackets\"},{\"include\":\"source.js\"}]},\"tag_attribute_name\":{\"captures\":{\"1\":{\"name\":\"entity.other.attribute-name.tag.pug\"}},\"match\":\"([^\\\\s(),=/!]+)\\\\s*\"},\"tag_attribute_name_paren\":{\"begin\":\"\\\\(\\\\s*\",\"end\":\"\\\\)\",\"name\":\"entity.other.attribute-name.tag.pug\",\"patterns\":[{\"include\":\"#tag_attribute_name_paren\"},{\"include\":\"#tag_attribute_name\"}]},\"tag_attributes\":{\"begin\":\"(\\\\(\\\\s*)\",\"captures\":{\"1\":{\"name\":\"constant.name.attribute.tag.pug\"}},\"end\":\"(\\\\))\",\"name\":\"meta.tag.other\",\"patterns\":[{\"include\":\"#tag_attribute_name_paren\"},{\"include\":\"#tag_attribute_name\"},{\"match\":\"!(?!=)\",\"name\":\"invalid.illegal.tag.pug\"},{\"begin\":\"=\\\\s*\",\"end\":\"$|(?=,|(?:\\\\s+[^!%&*\\\\-+~|<>?/])|\\\\))\",\"name\":\"attribute_value\",\"patterns\":[{\"include\":\"#js_parens\"},{\"include\":\"#js_brackets\"},{\"include\":\"#js_braces\"},{\"include\":\"source.js\"}]},{\"begin\":\"(?<=[%&*\\\\-+~|<>:?/])\\\\s+\",\"end\":\"$|(?=,|(?:\\\\s+[^!%&*\\\\-+~|<>?/])|\\\\))\",\"name\":\"attribute_value2\",\"patterns\":[{\"include\":\"#js_parens\"},{\"include\":\"#js_brackets\"},{\"include\":\"#js_braces\"},{\"include\":\"source.js\"}]}]},\"tag_classes\":{\"captures\":{\"1\":{\"name\":\"invalid.illegal.tag.pug\"}},\"match\":\"\\\\.([^\\\\w-])?[\\\\w-]*\",\"name\":\"meta.selector.css entity.other.attribute-name.class.css.pug\"},\"tag_id\":{\"match\":\"#[\\\\w-]+\",\"name\":\"meta.selector.css entity.other.attribute-name.id.css.pug\"},\"tag_mixin_attributes\":{\"begin\":\"(&attributes\\\\()\",\"captures\":{\"1\":{\"name\":\"entity.name.function.pug\"}},\"end\":\"(\\\\))\",\"name\":\"meta.tag.other\",\"patterns\":[{\"match\":\"attributes(?=\\\\))\",\"name\":\"storage.type.keyword.pug\"},{\"include\":\"source.js\"}]},\"tag_name\":{\"begin\":\"([#!]\\\\{(?=.*?\\\\}))|(\\\\w(([\\\\w:-]+[\\\\w-])|([\\\\w-]*)))\",\"end\":\"(\\\\G(?<!\\\\5[^\\\\w-]))|\\\\}|$\",\"name\":\"meta.tag.other entity.name.tag.pug\",\"patterns\":[{\"begin\":\"\\\\G(?<=\\\\{)\",\"end\":\"(?=\\\\})\",\"name\":\"meta.tag.other entity.name.tag.pug\",\"patterns\":[{\"match\":\"{\",\"name\":\"invalid.illegal.tag.pug\"},{\"include\":\"source.js\"}]}]},\"tag_text\":{\"begin\":\"(?=.)\",\"end\":\"$\",\"patterns\":[{\"include\":\"#inline_pug\"},{\"include\":\"#embedded_html\"},{\"include\":\"#html_entity\"},{\"include\":\"#interpolated_value\"},{\"include\":\"#interpolated_error\"}]},\"unbuffered_code\":{\"begin\":\"(-|(([a-zA-Z0-9_]+)\\\\s+=))\",\"beginCaptures\":{\"3\":{\"name\":\"variable.parameter.javascript.embedded.pug\"}},\"comment\":\"name = function() {}\",\"end\":\"(?=\\\\])|(({\\\\s*)?$)\",\"name\":\"source.js\",\"patterns\":[{\"include\":\"#js_brackets\"},{\"include\":\"#babel_parens\"},{\"include\":\"source.js\"}]}},\"scopeName\":\"text.pug\",\"embeddedLangs\":[\"javascript\",\"css\",\"html\"],\"aliases\":[\"jade\"],\"embeddedLangsLazy\":[\"sass\",\"scss\",\"stylus\",\"coffee\"]}"))
6
6
 
7
7
  export default [
8
8
  ...javascript,
package/dist/puppet.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Puppet\",\"fileTypes\":[\"pp\"],\"foldingStartMarker\":\"(^\\\\s*/\\\\*|(\\\\{|\\\\[|\\\\()\\\\s*$)\",\"foldingStopMarker\":\"(\\\\*/|^\\\\s*(\\\\}|\\\\]|\\\\)))\",\"name\":\"puppet\",\"patterns\":[{\"include\":\"#line_comment\"},{\"include\":\"#constants\"},{\"begin\":\"^\\\\s*/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block.puppet\"},{\"begin\":\"\\\\b(node)\\\\b\",\"captures\":{\"1\":{\"name\":\"storage.type.puppet\"},\"2\":{\"name\":\"entity.name.type.class.puppet\"}},\"end\":\"(?={)\",\"name\":\"meta.definition.class.puppet\",\"patterns\":[{\"match\":\"\\\\bdefault\\\\b\",\"name\":\"keyword.puppet\"},{\"include\":\"#strings\"},{\"include\":\"#regex-literal\"}]},{\"begin\":\"\\\\b(class)\\\\s+((?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+|[a-z][a-z0-9_]*)\\\\s*\",\"captures\":{\"1\":{\"name\":\"storage.type.puppet\"},\"2\":{\"name\":\"entity.name.type.class.puppet\"}},\"end\":\"(?={)\",\"name\":\"meta.definition.class.puppet\",\"patterns\":[{\"begin\":\"\\\\b(inherits)\\\\b\\\\s+\",\"captures\":{\"1\":{\"name\":\"storage.modifier.puppet\"}},\"end\":\"(?=\\\\(|{)\",\"name\":\"meta.definition.class.inherits.puppet\",\"patterns\":[{\"match\":\"\\\\b((?:[-_A-Za-z0-9\\\".]+::)*[-_A-Za-z0-9\\\".]+)\\\\b\",\"name\":\"support.type.puppet\"}]},{\"include\":\"#line_comment\"},{\"include\":\"#resource-parameters\"},{\"include\":\"#parameter-default-types\"}]},{\"begin\":\"^\\\\s*(plan)\\\\s+((?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+|[a-z][a-z0-9_]*)\\\\s*\",\"captures\":{\"1\":{\"name\":\"storage.type.puppet\"},\"2\":{\"name\":\"entity.name.type.plan.puppet\"}},\"end\":\"(?={)\",\"name\":\"meta.definition.plan.puppet\",\"patterns\":[{\"include\":\"#line_comment\"},{\"include\":\"#resource-parameters\"},{\"include\":\"#parameter-default-types\"}]},{\"begin\":\"^\\\\s*(define|function)\\\\s+([a-z][a-z0-9_]*|(?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+)\\\\s*(\\\\()\",\"captures\":{\"1\":{\"name\":\"storage.type.function.puppet\"},\"2\":{\"name\":\"entity.name.function.puppet\"}},\"end\":\"(?={)\",\"name\":\"meta.function.puppet\",\"patterns\":[{\"include\":\"#line_comment\"},{\"include\":\"#resource-parameters\"},{\"include\":\"#parameter-default-types\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.puppet\"}},\"match\":\"\\\\b(case|else|elsif|if|unless)(?!::)\\\\b\"},{\"include\":\"#keywords\"},{\"include\":\"#resource-definition\"},{\"include\":\"#heredoc\"},{\"include\":\"#strings\"},{\"include\":\"#puppet-datatypes\"},{\"include\":\"#array\"},{\"match\":\"((\\\\$?)\\\"?[a-zA-Z_\\\\x{7f}-\\\\x{ff}][a-zA-Z0-9_\\\\x{7f}-\\\\x{ff}]*\\\"?):(?=\\\\s+|$)\",\"name\":\"entity.name.section.puppet\"},{\"include\":\"#numbers\"},{\"include\":\"#variable\"},{\"begin\":\"\\\\b(import|include|contain|require)\\\\s+(?!.*=>)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.include.puppet\"}},\"contentName\":\"variable.parameter.include.puppet\",\"end\":\"(?=\\\\s|$)\",\"name\":\"meta.include.puppet\"},{\"match\":\"\\\\b\\\\w+\\\\s*(?==>)\\\\s*\",\"name\":\"constant.other.key.puppet\"},{\"match\":\"(?<={)\\\\s*\\\\w+\\\\s*(?=})\",\"name\":\"constant.other.bareword.puppet\"},{\"match\":\"\\\\b(alert|crit|debug|defined|emerg|err|escape|fail|failed|file|generate|gsub|info|notice|package|realize|search|tag|tagged|template|warning)\\\\b(?!.*{)\",\"name\":\"support.function.puppet\"},{\"match\":\"=>\",\"name\":\"punctuation.separator.key-value.puppet\"},{\"match\":\"->\",\"name\":\"keyword.control.orderarrow.puppet\"},{\"match\":\"~>\",\"name\":\"keyword.control.notifyarrow.puppet\"},{\"include\":\"#regex-literal\"}],\"repository\":{\"array\":{\"begin\":\"(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.array.begin.puppet\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.array.end.puppet\"}},\"name\":\"meta.array.puppet\",\"patterns\":[{\"match\":\"\\\\s*,\\\\s*\"},{\"include\":\"#parameter-default-types\"},{\"include\":\"#line_comment\"}]},\"constants\":{\"patterns\":[{\"match\":\"\\\\b(absent|directory|false|file|present|running|stopped|true)\\\\b(?!.*{)\",\"name\":\"constant.language.puppet\"}]},\"double-quoted-string\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.puppet\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.puppet\"}},\"name\":\"string.quoted.double.interpolated.puppet\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#interpolated_puppet\"}]},\"escaped_char\":{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.puppet\"},\"function_call\":{\"begin\":\"([a-zA-Z_]\\\\w*)(\\\\()\",\"end\":\"\\\\)\",\"name\":\"meta.function-call.puppet\",\"patterns\":[{\"include\":\"#parameter-default-types\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameters.puppet\"}]},\"hash\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.hash.begin.puppet\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.hash.end.puppet\"}},\"name\":\"meta.hash.puppet\",\"patterns\":[{\"match\":\"\\\\b\\\\w+\\\\s*(?==>)\\\\s*\",\"name\":\"constant.other.key.puppet\"},{\"include\":\"#parameter-default-types\"},{\"include\":\"#line_comment\"}]},\"heredoc\":{\"patterns\":[{\"begin\":\"@\\\\([ \\\\t]*\\\"([^:\\\\/) \\\\t]+)\\\"[ \\\\t]*(:[ \\\\t]*[a-z][a-zA-Z0-9_+]*[ \\\\t]*)?(\\\\/[ \\\\t]*[tsrnL$]*)?[ \\\\t]*\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.puppet\"}},\"end\":\"^[ \\\\t]*(\\\\|[ \\\\t]*-|\\\\||-)?[ \\\\t]*\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.puppet\"}},\"name\":\"string.interpolated.heredoc.puppet\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#interpolated_puppet\"}]},{\"begin\":\"@\\\\([ \\\\t]*([^:\\\\/) \\\\t]+)[ \\\\t]*(:[ \\\\t]*[a-z][a-zA-Z0-9_+]*[ \\\\t]*)?(\\\\/[ \\\\t]*[tsrnL$]*)?[ \\\\t]*\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.puppet\"}},\"end\":\"^[ \\\\t]*(\\\\|[ \\\\t]*-|\\\\||-)?[ \\\\t]*\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.puppet\"}},\"name\":\"string.unquoted.heredoc.puppet\"}]},\"interpolated_puppet\":{\"patterns\":[{\"begin\":\"(\\\\${)(\\\\d+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.begin.puppet\"},\"2\":{\"name\":\"source.puppet variable.other.readwrite.global.pre-defined.puppet\"}},\"contentName\":\"source.puppet\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.puppet\"}},\"name\":\"meta.embedded.line.puppet\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"(\\\\${)(_\\\\w*)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.begin.puppet\"},\"2\":{\"name\":\"source.puppet variable.other.readwrite.global.puppet\"}},\"contentName\":\"source.puppet\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.puppet\"}},\"name\":\"meta.embedded.line.puppet\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"(\\\\${)(([a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)*)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.begin.puppet\"},\"2\":{\"name\":\"source.puppet variable.other.readwrite.global.puppet\"}},\"contentName\":\"source.puppet\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.puppet\"}},\"name\":\"meta.embedded.line.puppet\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\${\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.puppet\"}},\"contentName\":\"source.puppet\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.puppet\"}},\"name\":\"meta.embedded.line.puppet\",\"patterns\":[{\"include\":\"$self\"}]}]},\"keywords\":{\"captures\":{\"1\":{\"name\":\"keyword.puppet\"}},\"match\":\"\\\\b(undef)\\\\b\"},\"line_comment\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"comment.line.number-sign.puppet\"},\"2\":{\"name\":\"punctuation.definition.comment.puppet\"}},\"match\":\"^((#).*$\\\\n?)\",\"name\":\"meta.comment.full-line.puppet\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.puppet\"}},\"match\":\"(#).*$\\\\n?\",\"name\":\"comment.line.number-sign.puppet\"}]},\"nested_braces\":{\"begin\":\"\\\\{\",\"captures\":{\"1\":{\"name\":\"punctuation.section.scope.puppet\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#nested_braces\"}]},\"nested_braces_interpolated\":{\"begin\":\"\\\\{\",\"captures\":{\"1\":{\"name\":\"punctuation.section.scope.puppet\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#variable\"},{\"include\":\"#nested_braces_interpolated\"}]},\"nested_brackets\":{\"begin\":\"\\\\[\",\"captures\":{\"1\":{\"name\":\"punctuation.section.scope.puppet\"}},\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#nested_brackets\"}]},\"nested_brackets_interpolated\":{\"begin\":\"\\\\[\",\"captures\":{\"1\":{\"name\":\"punctuation.section.scope.puppet\"}},\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#variable\"},{\"include\":\"#nested_brackets_interpolated\"}]},\"nested_parens\":{\"begin\":\"\\\\(\",\"captures\":{\"1\":{\"name\":\"punctuation.section.scope.puppet\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#nested_parens\"}]},\"nested_parens_interpolated\":{\"begin\":\"\\\\(\",\"captures\":{\"1\":{\"name\":\"punctuation.section.scope.puppet\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#variable\"},{\"include\":\"#nested_parens_interpolated\"}]},\"numbers\":{\"patterns\":[{\"comment\":\"HEX 0x 0-f\",\"match\":\"(?<!\\\\w|\\\\d)([-+]?)(?i:0x)(?i:[0-9a-f])+(?!\\\\w|\\\\d)\",\"name\":\"constant.numeric.hexadecimal.puppet\"},{\"comment\":\"INTEGERS [(+|-)] digits [e [(+|-)] digits]\",\"match\":\"(?<!\\\\w|\\\\.)([-+]?)(?<!\\\\d)\\\\d+(?i:e(\\\\+|-){0,1}\\\\d+){0,1}(?!\\\\w|\\\\d|\\\\.)\",\"name\":\"constant.numeric.integer.puppet\"},{\"comment\":\"FLOAT [(+|-)] digits . digits [e [(+|-)] digits]\",\"match\":\"(?<!\\\\w)([-+]?)\\\\d+\\\\.\\\\d+(?i:e(\\\\+|-){0,1}\\\\d+){0,1}(?!\\\\w|\\\\d)\",\"name\":\"constant.numeric.integer.puppet\"}]},\"parameter-default-types\":{\"patterns\":[{\"include\":\"#strings\"},{\"include\":\"#numbers\"},{\"include\":\"#variable\"},{\"include\":\"#hash\"},{\"include\":\"#array\"},{\"include\":\"#function_call\"},{\"include\":\"#constants\"},{\"include\":\"#puppet-datatypes\"}]},\"puppet-datatypes\":{\"patterns\":[{\"comment\":\"Puppet Data type\",\"match\":\"(?<![a-zA-Z$])([A-Z]\\\\w*)(?!\\\\w)\",\"name\":\"storage.type.puppet\"}]},\"regex-literal\":{\"comment\":\"Puppet Regular expression literal without interpolation\",\"match\":\"(\\\\/)(.+?)(?:[^\\\\\\\\]\\\\/)\",\"name\":\"string.regexp.literal.puppet\"},\"resource-definition\":{\"begin\":\"(?:^|\\\\b)(::[a-z][a-z0-9_]*|[a-z][a-z0-9_]*|(?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+)\\\\s*({)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.resource.puppet storage.type.puppet\"}},\"contentName\":\"entity.name.section.puppet\",\"end\":\":\",\"patterns\":[{\"include\":\"#strings\"},{\"include\":\"#variable\"},{\"include\":\"#array\"}]},\"resource-parameters\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.other.puppet\"},\"2\":{\"name\":\"punctuation.definition.variable.puppet\"}},\"match\":\"((\\\\$+)[a-zA-Z_]\\\\w*)\\\\s*(?=,|\\\\))\",\"name\":\"meta.function.argument.puppet\"},{\"begin\":\"((\\\\$+)[a-zA-Z_]\\\\w*)(?:\\\\s*(=)\\\\s*)\\\\s*\",\"captures\":{\"1\":{\"name\":\"variable.other.puppet\"},\"2\":{\"name\":\"punctuation.definition.variable.puppet\"},\"3\":{\"name\":\"keyword.operator.assignment.puppet\"}},\"end\":\"(?=,|\\\\))\",\"name\":\"meta.function.argument.puppet\",\"patterns\":[{\"include\":\"#parameter-default-types\"}]}]},\"single-quoted-string\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.puppet\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.puppet\"}},\"name\":\"string.quoted.single.puppet\",\"patterns\":[{\"include\":\"#escaped_char\"}]},\"strings\":{\"patterns\":[{\"include\":\"#double-quoted-string\"},{\"include\":\"#single-quoted-string\"}]},\"variable\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.puppet\"}},\"match\":\"(\\\\$)(\\\\d+)\",\"name\":\"variable.other.readwrite.global.pre-defined.puppet\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.puppet\"}},\"match\":\"(\\\\$)_\\\\w*\",\"name\":\"variable.other.readwrite.global.puppet\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.puppet\"}},\"match\":\"(\\\\$)(([a-z]\\\\w*)?(?:::[a-z]\\\\w*)*)\",\"name\":\"variable.other.readwrite.global.puppet\"}]}},\"scopeName\":\"source.puppet\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Puppet\",\"fileTypes\":[\"pp\"],\"foldingStartMarker\":\"(^\\\\s*/\\\\*|(\\\\{|\\\\[|\\\\()\\\\s*$)\",\"foldingStopMarker\":\"(\\\\*/|^\\\\s*(\\\\}|\\\\]|\\\\)))\",\"name\":\"puppet\",\"patterns\":[{\"include\":\"#line_comment\"},{\"include\":\"#constants\"},{\"begin\":\"^\\\\s*/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block.puppet\"},{\"begin\":\"\\\\b(node)\\\\b\",\"captures\":{\"1\":{\"name\":\"storage.type.puppet\"},\"2\":{\"name\":\"entity.name.type.class.puppet\"}},\"end\":\"(?={)\",\"name\":\"meta.definition.class.puppet\",\"patterns\":[{\"match\":\"\\\\bdefault\\\\b\",\"name\":\"keyword.puppet\"},{\"include\":\"#strings\"},{\"include\":\"#regex-literal\"}]},{\"begin\":\"\\\\b(class)\\\\s+((?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+|[a-z][a-z0-9_]*)\\\\s*\",\"captures\":{\"1\":{\"name\":\"storage.type.puppet\"},\"2\":{\"name\":\"entity.name.type.class.puppet\"}},\"end\":\"(?={)\",\"name\":\"meta.definition.class.puppet\",\"patterns\":[{\"begin\":\"\\\\b(inherits)\\\\b\\\\s+\",\"captures\":{\"1\":{\"name\":\"storage.modifier.puppet\"}},\"end\":\"(?=\\\\(|{)\",\"name\":\"meta.definition.class.inherits.puppet\",\"patterns\":[{\"match\":\"\\\\b((?:[-_A-Za-z0-9\\\".]+::)*[-_A-Za-z0-9\\\".]+)\\\\b\",\"name\":\"support.type.puppet\"}]},{\"include\":\"#line_comment\"},{\"include\":\"#resource-parameters\"},{\"include\":\"#parameter-default-types\"}]},{\"begin\":\"^\\\\s*(plan)\\\\s+((?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+|[a-z][a-z0-9_]*)\\\\s*\",\"captures\":{\"1\":{\"name\":\"storage.type.puppet\"},\"2\":{\"name\":\"entity.name.type.plan.puppet\"}},\"end\":\"(?={)\",\"name\":\"meta.definition.plan.puppet\",\"patterns\":[{\"include\":\"#line_comment\"},{\"include\":\"#resource-parameters\"},{\"include\":\"#parameter-default-types\"}]},{\"begin\":\"^\\\\s*(define|function)\\\\s+([a-z][a-z0-9_]*|(?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+)\\\\s*(\\\\()\",\"captures\":{\"1\":{\"name\":\"storage.type.function.puppet\"},\"2\":{\"name\":\"entity.name.function.puppet\"}},\"end\":\"(?={)\",\"name\":\"meta.function.puppet\",\"patterns\":[{\"include\":\"#line_comment\"},{\"include\":\"#resource-parameters\"},{\"include\":\"#parameter-default-types\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.puppet\"}},\"match\":\"\\\\b(case|else|elsif|if|unless)(?!::)\\\\b\"},{\"include\":\"#keywords\"},{\"include\":\"#resource-definition\"},{\"include\":\"#heredoc\"},{\"include\":\"#strings\"},{\"include\":\"#puppet-datatypes\"},{\"include\":\"#array\"},{\"match\":\"((\\\\$?)\\\"?[a-zA-Z_\\\\x{7f}-\\\\x{ff}][a-zA-Z0-9_\\\\x{7f}-\\\\x{ff}]*\\\"?):(?=\\\\s+|$)\",\"name\":\"entity.name.section.puppet\"},{\"include\":\"#numbers\"},{\"include\":\"#variable\"},{\"begin\":\"\\\\b(import|include|contain|require)\\\\s+(?!.*=>)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.include.puppet\"}},\"contentName\":\"variable.parameter.include.puppet\",\"end\":\"(?=\\\\s|$)\",\"name\":\"meta.include.puppet\"},{\"match\":\"\\\\b\\\\w+\\\\s*(?==>)\\\\s*\",\"name\":\"constant.other.key.puppet\"},{\"match\":\"(?<={)\\\\s*\\\\w+\\\\s*(?=})\",\"name\":\"constant.other.bareword.puppet\"},{\"match\":\"\\\\b(alert|crit|debug|defined|emerg|err|escape|fail|failed|file|generate|gsub|info|notice|package|realize|search|tag|tagged|template|warning)\\\\b(?!.*{)\",\"name\":\"support.function.puppet\"},{\"match\":\"=>\",\"name\":\"punctuation.separator.key-value.puppet\"},{\"match\":\"->\",\"name\":\"keyword.control.orderarrow.puppet\"},{\"match\":\"~>\",\"name\":\"keyword.control.notifyarrow.puppet\"},{\"include\":\"#regex-literal\"}],\"repository\":{\"array\":{\"begin\":\"(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.array.begin.puppet\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.array.end.puppet\"}},\"name\":\"meta.array.puppet\",\"patterns\":[{\"match\":\"\\\\s*,\\\\s*\"},{\"include\":\"#parameter-default-types\"},{\"include\":\"#line_comment\"}]},\"constants\":{\"patterns\":[{\"match\":\"\\\\b(absent|directory|false|file|present|running|stopped|true)\\\\b(?!.*{)\",\"name\":\"constant.language.puppet\"}]},\"double-quoted-string\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.puppet\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.puppet\"}},\"name\":\"string.quoted.double.interpolated.puppet\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#interpolated_puppet\"}]},\"escaped_char\":{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.puppet\"},\"function_call\":{\"begin\":\"([a-zA-Z_][a-zA-Z0-9_]*)(\\\\()\",\"end\":\"\\\\)\",\"name\":\"meta.function-call.puppet\",\"patterns\":[{\"include\":\"#parameter-default-types\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameters.puppet\"}]},\"hash\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.hash.begin.puppet\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.hash.end.puppet\"}},\"name\":\"meta.hash.puppet\",\"patterns\":[{\"match\":\"\\\\b\\\\w+\\\\s*(?==>)\\\\s*\",\"name\":\"constant.other.key.puppet\"},{\"include\":\"#parameter-default-types\"},{\"include\":\"#line_comment\"}]},\"heredoc\":{\"patterns\":[{\"begin\":\"@\\\\([[:blank:]]*\\\"([^:\\\\/) \\\\t]+)\\\"[[:blank:]]*(:[[:blank:]]*[a-z][a-zA-Z0-9_+]*[[:blank:]]*)?(\\\\/[[:blank:]]*[tsrnL$]*)?[[:blank:]]*\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.puppet\"}},\"end\":\"^[[:blank:]]*(\\\\|[[:blank:]]*-|\\\\||-)?[[:blank:]]*\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.puppet\"}},\"name\":\"string.interpolated.heredoc.puppet\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#interpolated_puppet\"}]},{\"begin\":\"@\\\\([[:blank:]]*([^:\\\\/) \\\\t]+)[[:blank:]]*(:[[:blank:]]*[a-z][a-zA-Z0-9_+]*[[:blank:]]*)?(\\\\/[[:blank:]]*[tsrnL$]*)?[[:blank:]]*\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.puppet\"}},\"end\":\"^[[:blank:]]*(\\\\|[[:blank:]]*-|\\\\||-)?[[:blank:]]*\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.puppet\"}},\"name\":\"string.unquoted.heredoc.puppet\"}]},\"interpolated_puppet\":{\"patterns\":[{\"begin\":\"(\\\\${)(\\\\d+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.begin.puppet\"},\"2\":{\"name\":\"source.puppet variable.other.readwrite.global.pre-defined.puppet\"}},\"contentName\":\"source.puppet\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.puppet\"}},\"name\":\"meta.embedded.line.puppet\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"(\\\\${)(_[a-zA-Z0-9_]*)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.begin.puppet\"},\"2\":{\"name\":\"source.puppet variable.other.readwrite.global.puppet\"}},\"contentName\":\"source.puppet\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.puppet\"}},\"name\":\"meta.embedded.line.puppet\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"(\\\\${)(([a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)*)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.embedded.begin.puppet\"},\"2\":{\"name\":\"source.puppet variable.other.readwrite.global.puppet\"}},\"contentName\":\"source.puppet\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.puppet\"}},\"name\":\"meta.embedded.line.puppet\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\${\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.puppet\"}},\"contentName\":\"source.puppet\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.puppet\"}},\"name\":\"meta.embedded.line.puppet\",\"patterns\":[{\"include\":\"$self\"}]}]},\"keywords\":{\"captures\":{\"1\":{\"name\":\"keyword.puppet\"}},\"match\":\"\\\\b(undef)\\\\b\"},\"line_comment\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"comment.line.number-sign.puppet\"},\"2\":{\"name\":\"punctuation.definition.comment.puppet\"}},\"match\":\"^((#).*$\\\\n?)\",\"name\":\"meta.comment.full-line.puppet\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.puppet\"}},\"match\":\"(#).*$\\\\n?\",\"name\":\"comment.line.number-sign.puppet\"}]},\"nested_braces\":{\"begin\":\"\\\\{\",\"captures\":{\"1\":{\"name\":\"punctuation.section.scope.puppet\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#nested_braces\"}]},\"nested_braces_interpolated\":{\"begin\":\"\\\\{\",\"captures\":{\"1\":{\"name\":\"punctuation.section.scope.puppet\"}},\"end\":\"\\\\}\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#variable\"},{\"include\":\"#nested_braces_interpolated\"}]},\"nested_brackets\":{\"begin\":\"\\\\[\",\"captures\":{\"1\":{\"name\":\"punctuation.section.scope.puppet\"}},\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#nested_brackets\"}]},\"nested_brackets_interpolated\":{\"begin\":\"\\\\[\",\"captures\":{\"1\":{\"name\":\"punctuation.section.scope.puppet\"}},\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#variable\"},{\"include\":\"#nested_brackets_interpolated\"}]},\"nested_parens\":{\"begin\":\"\\\\(\",\"captures\":{\"1\":{\"name\":\"punctuation.section.scope.puppet\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#nested_parens\"}]},\"nested_parens_interpolated\":{\"begin\":\"\\\\(\",\"captures\":{\"1\":{\"name\":\"punctuation.section.scope.puppet\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#variable\"},{\"include\":\"#nested_parens_interpolated\"}]},\"numbers\":{\"patterns\":[{\"comment\":\"HEX 0x 0-f\",\"match\":\"(?<!\\\\w|\\\\d)([-+]?)(?i:0x)(?i:[0-9a-f])+(?!\\\\w|\\\\d)\",\"name\":\"constant.numeric.hexadecimal.puppet\"},{\"comment\":\"INTEGERS [(+|-)] digits [e [(+|-)] digits]\",\"match\":\"(?<!\\\\w|\\\\.)([-+]?)(?<!\\\\d)\\\\d+(?i:e(\\\\+|-){0,1}\\\\d+){0,1}(?!\\\\w|\\\\d|\\\\.)\",\"name\":\"constant.numeric.integer.puppet\"},{\"comment\":\"FLOAT [(+|-)] digits . digits [e [(+|-)] digits]\",\"match\":\"(?<!\\\\w)([-+]?)\\\\d+\\\\.\\\\d+(?i:e(\\\\+|-){0,1}\\\\d+){0,1}(?!\\\\w|\\\\d)\",\"name\":\"constant.numeric.integer.puppet\"}]},\"parameter-default-types\":{\"patterns\":[{\"include\":\"#strings\"},{\"include\":\"#numbers\"},{\"include\":\"#variable\"},{\"include\":\"#hash\"},{\"include\":\"#array\"},{\"include\":\"#function_call\"},{\"include\":\"#constants\"},{\"include\":\"#puppet-datatypes\"}]},\"puppet-datatypes\":{\"patterns\":[{\"comment\":\"Puppet Data type\",\"match\":\"(?<![a-zA-Z\\\\$])([A-Z][a-zA-Z0-9_]*)(?![a-zA-Z0-9_])\",\"name\":\"storage.type.puppet\"}]},\"regex-literal\":{\"comment\":\"Puppet Regular expression literal without interpolation\",\"match\":\"(\\\\/)(.+?)(?:[^\\\\\\\\]\\\\/)\",\"name\":\"string.regexp.literal.puppet\"},\"resource-definition\":{\"begin\":\"(?:^|\\\\b)(::[a-z][a-z0-9_]*|[a-z][a-z0-9_]*|(?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+)\\\\s*({)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.resource.puppet storage.type.puppet\"}},\"contentName\":\"entity.name.section.puppet\",\"end\":\":\",\"patterns\":[{\"include\":\"#strings\"},{\"include\":\"#variable\"},{\"include\":\"#array\"}]},\"resource-parameters\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.other.puppet\"},\"2\":{\"name\":\"punctuation.definition.variable.puppet\"}},\"match\":\"((\\\\$+)[a-zA-Z_][a-zA-Z0-9_]*)\\\\s*(?=,|\\\\))\",\"name\":\"meta.function.argument.puppet\"},{\"begin\":\"((\\\\$+)[a-zA-Z_][a-zA-Z0-9_]*)(?:\\\\s*(=)\\\\s*)\\\\s*\",\"captures\":{\"1\":{\"name\":\"variable.other.puppet\"},\"2\":{\"name\":\"punctuation.definition.variable.puppet\"},\"3\":{\"name\":\"keyword.operator.assignment.puppet\"}},\"end\":\"(?=,|\\\\))\",\"name\":\"meta.function.argument.puppet\",\"patterns\":[{\"include\":\"#parameter-default-types\"}]}]},\"single-quoted-string\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.puppet\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.puppet\"}},\"name\":\"string.quoted.single.puppet\",\"patterns\":[{\"include\":\"#escaped_char\"}]},\"strings\":{\"patterns\":[{\"include\":\"#double-quoted-string\"},{\"include\":\"#single-quoted-string\"}]},\"variable\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.puppet\"}},\"match\":\"(\\\\$)(\\\\d+)\",\"name\":\"variable.other.readwrite.global.pre-defined.puppet\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.puppet\"}},\"match\":\"(\\\\$)_[a-zA-Z0-9_]*\",\"name\":\"variable.other.readwrite.global.puppet\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.puppet\"}},\"match\":\"(\\\\$)(([a-z][a-zA-Z0-9_]*)?(?:::[a-z][a-zA-Z0-9_]*)*)\",\"name\":\"variable.other.readwrite.global.puppet\"}]}},\"scopeName\":\"source.puppet\"}"))
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"PureScript\",\"fileTypes\":[\"purs\"],\"name\":\"purescript\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.purescript\"},\"2\":{\"name\":\"punctuation.definition.entity.purescript\"}},\"match\":\"(`)(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(`)\",\"name\":\"keyword.operator.function.infix.purescript\"},{\"begin\":\"^\\\\s*\\\\b(module)(?!')\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"end\":\"(where)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"name\":\"meta.declaration.module.purescript\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#module_name\"},{\"include\":\"#module_exports\"},{\"match\":\"[a-z]+\",\"name\":\"invalid.purescript\"}]},{\"begin\":\"^\\\\s*\\\\b(class)(?!')\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.purescript\"}},\"end\":\"\\\\b(where)\\\\b|$\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"name\":\"meta.declaration.typeclass.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]},{\"begin\":\"^\\\\s*\\\\b(else\\\\s+)?(derive\\\\s+)?(newtype\\\\s+)?(instance)(?!')\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"},\"2\":{\"name\":\"keyword.other.purescript\"},\"3\":{\"name\":\"keyword.other.purescript\"},\"4\":{\"name\":\"keyword.other.purescript\"}},\"contentName\":\"meta.type-signature.purescript\",\"end\":\"\\\\b(where)\\\\b|$\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"name\":\"meta.declaration.instance.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]},{\"begin\":\"^(\\\\s*)(foreign)\\\\s+(import)\\\\s+(data)\\\\s+([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\",\"beginCaptures\":{\"2\":{\"name\":\"keyword.other.purescript\"},\"3\":{\"name\":\"keyword.other.purescript\"},\"4\":{\"name\":\"keyword.other.purescript\"},\"5\":{\"name\":\"entity.name.type.purescript\"},\"6\":{\"name\":\"keyword.other.double-colon.purescript\"}},\"contentName\":\"meta.kind-signature.purescript\",\"end\":\"^(?!\\\\1[ \\\\t]|[ \\\\t]*$)\",\"name\":\"meta.foreign.data.purescript\",\"patterns\":[{\"include\":\"#double_colon\"},{\"include\":\"#kind_signature\"}]},{\"begin\":\"^(\\\\s*)(foreign)\\\\s+(import)\\\\s+([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\",\"beginCaptures\":{\"2\":{\"name\":\"keyword.other.purescript\"},\"3\":{\"name\":\"keyword.other.purescript\"},\"4\":{\"name\":\"entity.name.function.purescript\"}},\"contentName\":\"meta.type-signature.purescript\",\"end\":\"^(?!\\\\1[ \\\\t]|[ \\\\t]*$)\",\"name\":\"meta.foreign.purescript\",\"patterns\":[{\"include\":\"#double_colon\"},{\"include\":\"#type_signature\"}]},{\"begin\":\"^\\\\s*\\\\b(import)(?!')\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"end\":\"($|(?=--))\",\"name\":\"meta.import.purescript\",\"patterns\":[{\"include\":\"#module_name\"},{\"include\":\"#module_exports\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"match\":\"\\\\b(as|hiding)\\\\b\"}]},{\"begin\":\"^(\\\\s)*(data|newtype)\\\\s+(.+?)\\\\s*(?==|$)\",\"beginCaptures\":{\"2\":{\"name\":\"storage.type.data.purescript\"},\"3\":{\"name\":\"meta.type-signature.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}},\"end\":\"^(?!\\\\1[ \\\\t]|[ \\\\t]*$)\",\"name\":\"meta.declaration.type.data.purescript\",\"patterns\":[{\"include\":\"#comments\"},{\"captures\":{\"0\":{\"name\":\"keyword.operator.assignment.purescript\"}},\"match\":\"=\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#data_ctor\"}]},\"2\":{\"name\":\"meta.type-signature.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}},\"match\":\"(?:(?:\\\\b([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*)\\\\s+)(?:(?<ctorArgs>(?:(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*|(?:(?:[\\\\w()'→⇒\\\\[\\\\],]|->|=>)+\\\\s*)+))(?:\\\\s*(?:\\\\s+)\\\\s*\\\\g<ctorArgs>)?)?))\"},{\"captures\":{\"0\":{\"name\":\"punctuation.separator.pipe.purescript\"}},\"match\":\"\\\\|\"},{\"include\":\"#record_types\"}]},{\"begin\":\"^(\\\\s)*(type)\\\\s+(.+?)\\\\s*(?==|$)\",\"beginCaptures\":{\"2\":{\"name\":\"storage.type.data.purescript\"},\"3\":{\"name\":\"meta.type-signature.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}},\"contentName\":\"meta.type-signature.purescript\",\"end\":\"^(?!\\\\1[ \\\\t]|[ \\\\t]*$)\",\"name\":\"meta.declaration.type.type.purescript\",\"patterns\":[{\"captures\":{\"0\":{\"name\":\"keyword.operator.assignment.purescript\"}},\"match\":\"=\"},{\"include\":\"#type_signature\"},{\"include\":\"#record_types\"},{\"include\":\"#comments\"}]},{\"match\":\"^\\\\s*\\\\b(derive|where|data|type|newtype|infix[lr]?|foreign(\\\\s+import)?(\\\\s+data)?)(?!')\\\\b\",\"name\":\"keyword.other.purescript\"},{\"match\":\"\\\\?(?:[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*|[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\",\"name\":\"entity.name.function.typed-hole.purescript\"},{\"match\":\"^\\\\s*\\\\b(data|type|newtype)(?!')\\\\b\",\"name\":\"storage.type.purescript\"},{\"match\":\"\\\\b(do|ado|if|then|else|case|of|let|in)(?!('|\\\\s*(:|=)))\\\\b\",\"name\":\"keyword.control.purescript\"},{\"match\":\"\\\\b(?<!\\\\$)0(x|X)[0-9a-fA-F]+\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.hex.purescript\"},{\"captures\":{\"0\":{\"name\":\"constant.numeric.decimal.purescript\"},\"1\":{\"name\":\"meta.delimiter.decimal.period.purescript\"},\"2\":{\"name\":\"meta.delimiter.decimal.period.purescript\"},\"3\":{\"name\":\"meta.delimiter.decimal.period.purescript\"},\"4\":{\"name\":\"meta.delimiter.decimal.period.purescript\"},\"5\":{\"name\":\"meta.delimiter.decimal.period.purescript\"},\"6\":{\"name\":\"meta.delimiter.decimal.period.purescript\"}},\"match\":\"(?<!\\\\$)(?:(?:\\\\b\\\\d+(\\\\.)\\\\d+[eE][+-]?\\\\d+\\\\b)|(?:\\\\b\\\\d+[eE][+-]?\\\\d+\\\\b)|(?:\\\\b\\\\d+(\\\\.)\\\\d+\\\\b)|(?:\\\\b\\\\d+\\\\b(?!\\\\.)))(?!\\\\$)\",\"name\":\"constant.numeric.decimal.purescript\"},{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.purescript\"},{\"match\":\"\\\\b((\\\\d+_?)*\\\\d+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\\\b\",\"name\":\"constant.numeric.purescript\"},{\"begin\":\"\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.purescript\"}},\"end\":\"\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.purescript\"}},\"name\":\"string.quoted.triple.purescript\"},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.purescript\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.purescript\"}},\"name\":\"string.quoted.double.purescript\",\"patterns\":[{\"include\":\"#characters\"},{\"begin\":\"\\\\\\\\\\\\s\",\"beginCaptures\":{\"0\":{\"name\":\"markup.other.escape.newline.begin.purescript\"}},\"end\":\"\\\\\\\\\",\"endCaptures\":{\"0\":{\"name\":\"markup.other.escape.newline.end.purescript\"}},\"patterns\":[{\"match\":\"\\\\S+\",\"name\":\"invalid.illegal.character-not-allowed-here.purescript\"}]}]},{\"match\":\"\\\\\\\\$\",\"name\":\"markup.other.escape.newline.purescript\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.purescript\"},\"2\":{\"patterns\":[{\"include\":\"#characters\"}]},\"7\":{\"name\":\"punctuation.definition.string.end.purescript\"}},\"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\\\\\\\\\\\\\\\"'\\\\&]))|(\\\\\\\\o[0-7]+)|(\\\\\\\\x[0-9A-Fa-f]+)|(\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_])))(')\",\"name\":\"string.quoted.single.purescript\"},{\"include\":\"#function_type_declaration\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"$self\"}]},\"2\":{\"name\":\"keyword.other.double-colon.purescript\"},\"3\":{\"name\":\"meta.type-signature.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}},\"match\":\"\\\\((?<paren>(?:[^()]|\\\\(\\\\g<paren>\\\\))*)(::|∷)(?<paren2>(?:[^()]|\\\\(\\\\g<paren2>\\\\))*)\\\\)\"},{\"begin\":\"^(\\\\s*)(?:(::|∷))\",\"beginCaptures\":{\"2\":{\"name\":\"keyword.other.double-colon.purescript\"}},\"end\":\"^(?!\\\\1[ \\\\t]*|[ \\\\t]*$)\",\"patterns\":[{\"include\":\"#type_signature\"}]},{\"include\":\"#data_ctor\"},{\"include\":\"#comments\"},{\"include\":\"#infix_op\"},{\"match\":\"<-|->\",\"name\":\"keyword.other.arrow.purescript\"},{\"match\":\"[\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]`{}_\\\"']]+\",\"name\":\"keyword.operator.purescript\"},{\"match\":\",\",\"name\":\"punctuation.separator.comma.purescript\"}],\"repository\":{\"block_comment\":{\"patterns\":[{\"applyEndPatternLast\":1,\"begin\":\"\\\\{-\\\\s*\\\\|\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.documentation.purescript\"}},\"end\":\"-\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.documentation.purescript\"}},\"name\":\"comment.block.documentation.purescript\",\"patterns\":[{\"include\":\"#block_comment\"}]},{\"applyEndPatternLast\":1,\"begin\":\"\\\\{-\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.purescript\"}},\"end\":\"-\\\\}\",\"name\":\"comment.block.purescript\",\"patterns\":[{\"include\":\"#block_comment\"}]}]},\"characters\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.escape.purescript\"},\"2\":{\"name\":\"constant.character.escape.octal.purescript\"},\"3\":{\"name\":\"constant.character.escape.hexadecimal.purescript\"},\"4\":{\"name\":\"constant.character.escape.control.purescript\"}},\"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\\\\\\\\\\\\\\\"'\\\\&]))|(\\\\\\\\o[0-7]+)|(\\\\\\\\x[0-9A-Fa-f]+)|(\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_]))\"}]},\"class_constraint\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"match\":\"\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\",\"name\":\"entity.name.type.purescript\"}]},\"2\":{\"patterns\":[{\"include\":\"#type_name\"},{\"include\":\"#generic_type\"}]}},\"match\":\"(?:(?:([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*)\\\\s+)(?:(?<classConstraint>(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)(?:\\\\s*(?:\\\\s+)\\\\s*\\\\g<classConstraint>)?)))\",\"name\":\"meta.class-constraint.purescript\"}]},\"comments\":{\"patterns\":[{\"begin\":\"(^[ \\\\t]+)?(?=--+\\\\s+\\\\|)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.purescript\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"(--+)\\\\s+(\\\\|)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.purescript\"},\"2\":{\"name\":\"punctuation.definition.comment.documentation.purescript\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.double-dash.documentation.purescript\"}]},{\"begin\":\"(^[ \\\\t]+)?(?=--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]`{}_\\\"']]))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.purescript\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"--\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.purescript\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.double-dash.purescript\"}]},{\"include\":\"#block_comment\"}]},\"data_ctor\":{\"patterns\":[{\"match\":\"\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\",\"name\":\"entity.name.tag.purescript\"}]},\"double_colon\":{\"patterns\":[{\"match\":\"(?:::|∷)\",\"name\":\"keyword.other.double-colon.purescript\"}]},\"function_type_declaration\":{\"patterns\":[{\"begin\":\"^(\\\\s*)([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\\\\s*(?:(::|∷)(?!.*<-))\",\"beginCaptures\":{\"2\":{\"name\":\"entity.name.function.purescript\"},\"3\":{\"name\":\"keyword.other.double-colon.purescript\"}},\"contentName\":\"meta.type-signature.purescript\",\"end\":\"^(?!\\\\1[ \\\\t]|[ \\\\t]*$)\",\"name\":\"meta.function.type-declaration.purescript\",\"patterns\":[{\"include\":\"#double_colon\"},{\"include\":\"#type_signature\"}]}]},\"generic_type\":{\"patterns\":[{\"match\":\"\\\\b(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*\",\"name\":\"variable.other.generic-type.purescript\"}]},\"infix_op\":{\"patterns\":[{\"match\":\"(?:\\\\((?!--+\\\\))[\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]`{}_\\\"']]+\\\\))\",\"name\":\"entity.name.function.infix.purescript\"}]},\"kind_signature\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"keyword.other.star.purescript\"},{\"match\":\"!\",\"name\":\"keyword.other.exclaimation-point.purescript\"},{\"match\":\"#\",\"name\":\"keyword.other.pound-sign.purescript\"},{\"match\":\"->|→\",\"name\":\"keyword.other.arrow.purescript\"}]},\"module_exports\":{\"patterns\":[{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"name\":\"meta.declaration.exports.purescript\",\"patterns\":[{\"include\":\"#comments\"},{\"match\":\"\\\\b(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*\",\"name\":\"entity.name.function.purescript\"},{\"include\":\"#type_name\"},{\"match\":\",\",\"name\":\"punctuation.separator.comma.purescript\"},{\"include\":\"#infix_op\"},{\"match\":\"\\\\(.*?\\\\)\",\"name\":\"meta.other.constructor-list.purescript\"}]}]},\"module_name\":{\"patterns\":[{\"match\":\"(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)*[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.?\",\"name\":\"support.other.module.purescript\"}]},\"record_field_declaration\":{\"patterns\":[{\"begin\":\"([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\\\\s*(::|∷)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*\",\"name\":\"entity.other.attribute-name.purescript\"}]},\"2\":{\"name\":\"keyword.other.double-colon.purescript\"}},\"contentName\":\"meta.type-signature.purescript\",\"end\":\"(?=([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\\\\s*(::|∷)|})\",\"name\":\"meta.record-field.type-declaration.purescript\",\"patterns\":[{\"include\":\"#type_signature\"},{\"include\":\"#record_types\"}]}]},\"record_types\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.record.begin.purescript\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.type.record.end.purescript\"}},\"name\":\"meta.type.record.purescript\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.comma.purescript\"},{\"include\":\"#record_field_declaration\"},{\"include\":\"#comments\"}]}]},\"type_name\":{\"patterns\":[{\"match\":\"\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\",\"name\":\"entity.name.type.purescript\"}]},\"type_signature\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#class_constraint\"}]},\"4\":{\"name\":\"keyword.other.big-arrow.purescript\"}},\"match\":\"(?:(?:\\\\()(?:(?<classConstraints>(?:(?:(?:([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*)\\\\s+)(?:(?<classConstraint>(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)(?:\\\\s*(?:\\\\s+)\\\\s*\\\\g<classConstraint>)?))))(?:\\\\s*(?:,)\\\\s*\\\\g<classConstraints>)?))(?:\\\\))(?:\\\\s*(=>|<=|⇐|⇒)))\",\"name\":\"meta.class-constraints.purescript\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#class_constraint\"}]},\"4\":{\"name\":\"keyword.other.big-arrow.purescript\"}},\"match\":\"((?:(?:([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*)\\\\s+)(?:(?<classConstraint>(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)(?:\\\\s*(?:\\\\s+)\\\\s*\\\\g<classConstraint>)?))))\\\\s*(=>|<=|⇐|⇒)\",\"name\":\"meta.class-constraints.purescript\"},{\"match\":\"->|→\",\"name\":\"keyword.other.arrow.purescript\"},{\"match\":\"=>|⇒\",\"name\":\"keyword.other.big-arrow.purescript\"},{\"match\":\"<=|⇐\",\"name\":\"keyword.other.big-arrow-left.purescript\"},{\"match\":\"forall|∀\",\"name\":\"keyword.other.forall.purescript\"},{\"include\":\"#generic_type\"},{\"include\":\"#type_name\"},{\"include\":\"#comments\"}]}},\"scopeName\":\"source.purescript\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"PureScript\",\"fileTypes\":[\"purs\"],\"name\":\"purescript\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.purescript\"},\"2\":{\"name\":\"punctuation.definition.entity.purescript\"}},\"match\":\"(`)(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(`)\",\"name\":\"keyword.operator.function.infix.purescript\"},{\"begin\":\"^\\\\s*\\\\b(module)(?!')\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"end\":\"(where)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"name\":\"meta.declaration.module.purescript\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#module_name\"},{\"include\":\"#module_exports\"},{\"match\":\"[a-z]+\",\"name\":\"invalid.purescript\"}]},{\"begin\":\"^\\\\s*\\\\b(class)(?!')\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.purescript\"}},\"end\":\"\\\\b(where)\\\\b|$\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"name\":\"meta.declaration.typeclass.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]},{\"begin\":\"^\\\\s*\\\\b(else\\\\s+)?(derive\\\\s+)?(newtype\\\\s+)?(instance)(?!')\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"},\"2\":{\"name\":\"keyword.other.purescript\"},\"3\":{\"name\":\"keyword.other.purescript\"},\"4\":{\"name\":\"keyword.other.purescript\"}},\"contentName\":\"meta.type-signature.purescript\",\"end\":\"\\\\b(where)\\\\b|$\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"name\":\"meta.declaration.instance.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]},{\"begin\":\"^(\\\\s*)(foreign)\\\\s+(import)\\\\s+(data)\\\\s+([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\",\"beginCaptures\":{\"2\":{\"name\":\"keyword.other.purescript\"},\"3\":{\"name\":\"keyword.other.purescript\"},\"4\":{\"name\":\"keyword.other.purescript\"},\"5\":{\"name\":\"entity.name.type.purescript\"},\"6\":{\"name\":\"keyword.other.double-colon.purescript\"}},\"contentName\":\"meta.kind-signature.purescript\",\"end\":\"^(?!\\\\1[ \\\\t]|[ \\\\t]*$)\",\"name\":\"meta.foreign.data.purescript\",\"patterns\":[{\"include\":\"#double_colon\"},{\"include\":\"#kind_signature\"}]},{\"begin\":\"^(\\\\s*)(foreign)\\\\s+(import)\\\\s+([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\",\"beginCaptures\":{\"2\":{\"name\":\"keyword.other.purescript\"},\"3\":{\"name\":\"keyword.other.purescript\"},\"4\":{\"name\":\"entity.name.function.purescript\"}},\"contentName\":\"meta.type-signature.purescript\",\"end\":\"^(?!\\\\1[ \\\\t]|[ \\\\t]*$)\",\"name\":\"meta.foreign.purescript\",\"patterns\":[{\"include\":\"#double_colon\"},{\"include\":\"#type_signature\"}]},{\"begin\":\"^\\\\s*\\\\b(import)(?!')\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"end\":\"($|(?=--))\",\"name\":\"meta.import.purescript\",\"patterns\":[{\"include\":\"#module_name\"},{\"include\":\"#module_exports\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"match\":\"\\\\b(as|hiding)\\\\b\"}]},{\"begin\":\"^(\\\\s)*(data|newtype)\\\\s+(.+?)\\\\s*(?=\\\\=|$)\",\"beginCaptures\":{\"2\":{\"name\":\"storage.type.data.purescript\"},\"3\":{\"name\":\"meta.type-signature.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}},\"end\":\"^(?!\\\\1[ \\\\t]|[ \\\\t]*$)\",\"name\":\"meta.declaration.type.data.purescript\",\"patterns\":[{\"include\":\"#comments\"},{\"captures\":{\"0\":{\"name\":\"keyword.operator.assignment.purescript\"}},\"match\":\"=\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#data_ctor\"}]},\"2\":{\"name\":\"meta.type-signature.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}},\"match\":\"(?:(?:\\\\b([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*)\\\\s+)(?:(?<ctorArgs>(?:(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*|(?:(?:[\\\\w()'→⇒\\\\[\\\\],]|->|=>)+\\\\s*)+))(?:\\\\s*(?:\\\\s+)\\\\s*\\\\g<ctorArgs>)?)?))\"},{\"captures\":{\"0\":{\"name\":\"punctuation.separator.pipe.purescript\"}},\"match\":\"\\\\|\"},{\"include\":\"#record_types\"}]},{\"begin\":\"^(\\\\s)*(type)\\\\s+(.+?)\\\\s*(?=\\\\=|$)\",\"beginCaptures\":{\"2\":{\"name\":\"storage.type.data.purescript\"},\"3\":{\"name\":\"meta.type-signature.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}},\"contentName\":\"meta.type-signature.purescript\",\"end\":\"^(?!\\\\1[ \\\\t]|[ \\\\t]*$)\",\"name\":\"meta.declaration.type.type.purescript\",\"patterns\":[{\"captures\":{\"0\":{\"name\":\"keyword.operator.assignment.purescript\"}},\"match\":\"=\"},{\"include\":\"#type_signature\"},{\"include\":\"#record_types\"},{\"include\":\"#comments\"}]},{\"match\":\"^\\\\s*\\\\b(derive|where|data|type|newtype|infix[lr]?|foreign(\\\\s+import)?(\\\\s+data)?)(?!')\\\\b\",\"name\":\"keyword.other.purescript\"},{\"match\":\"\\\\?(?:[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*|[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\",\"name\":\"entity.name.function.typed-hole.purescript\"},{\"match\":\"^\\\\s*\\\\b(data|type|newtype)(?!')\\\\b\",\"name\":\"storage.type.purescript\"},{\"match\":\"\\\\b(do|ado|if|then|else|case|of|let|in)(?!('|\\\\s*(:|=)))\\\\b\",\"name\":\"keyword.control.purescript\"},{\"match\":\"\\\\b(?<!\\\\$)0(x|X)[0-9a-fA-F]+\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.hex.purescript\"},{\"captures\":{\"0\":{\"name\":\"constant.numeric.decimal.purescript\"},\"1\":{\"name\":\"meta.delimiter.decimal.period.purescript\"},\"2\":{\"name\":\"meta.delimiter.decimal.period.purescript\"},\"3\":{\"name\":\"meta.delimiter.decimal.period.purescript\"},\"4\":{\"name\":\"meta.delimiter.decimal.period.purescript\"},\"5\":{\"name\":\"meta.delimiter.decimal.period.purescript\"},\"6\":{\"name\":\"meta.delimiter.decimal.period.purescript\"}},\"match\":\"(?<!\\\\$)(?:(?:\\\\b[0-9]+(\\\\.)[0-9]+[eE][+-]?[0-9]+\\\\b)|(?:\\\\b[0-9]+[eE][+-]?[0-9]+\\\\b)|(?:\\\\b[0-9]+(\\\\.)[0-9]+\\\\b)|(?:\\\\b[0-9]+\\\\b(?!\\\\.)))(?!\\\\$)\",\"name\":\"constant.numeric.decimal.purescript\"},{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.purescript\"},{\"match\":\"\\\\b(([0-9]+_?)*[0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\\\b\",\"name\":\"constant.numeric.purescript\"},{\"begin\":\"\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.purescript\"}},\"end\":\"\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.purescript\"}},\"name\":\"string.quoted.triple.purescript\"},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.purescript\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.purescript\"}},\"name\":\"string.quoted.double.purescript\",\"patterns\":[{\"include\":\"#characters\"},{\"begin\":\"\\\\\\\\\\\\s\",\"beginCaptures\":{\"0\":{\"name\":\"markup.other.escape.newline.begin.purescript\"}},\"end\":\"\\\\\\\\\",\"endCaptures\":{\"0\":{\"name\":\"markup.other.escape.newline.end.purescript\"}},\"patterns\":[{\"match\":\"\\\\S+\",\"name\":\"invalid.illegal.character-not-allowed-here.purescript\"}]}]},{\"match\":\"\\\\\\\\$\",\"name\":\"markup.other.escape.newline.purescript\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.purescript\"},\"2\":{\"patterns\":[{\"include\":\"#characters\"}]},\"7\":{\"name\":\"punctuation.definition.string.end.purescript\"}},\"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\\\\\\\\\\\\\\\"'\\\\&]))|(\\\\\\\\o[0-7]+)|(\\\\\\\\x[0-9A-Fa-f]+)|(\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_])))(')\",\"name\":\"string.quoted.single.purescript\"},{\"include\":\"#function_type_declaration\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"$self\"}]},\"2\":{\"name\":\"keyword.other.double-colon.purescript\"},\"3\":{\"name\":\"meta.type-signature.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}},\"match\":\"\\\\((?<paren>(?:[^()]|\\\\(\\\\g<paren>\\\\))*)(::|∷)(?<paren2>(?:[^()]|\\\\(\\\\g<paren2>\\\\))*)\\\\)\"},{\"begin\":\"^(\\\\s*)(?:(::|∷))\",\"beginCaptures\":{\"2\":{\"name\":\"keyword.other.double-colon.purescript\"}},\"end\":\"^(?!\\\\1[ \\\\t]*|[ \\\\t]*$)\",\"patterns\":[{\"include\":\"#type_signature\"}]},{\"include\":\"#data_ctor\"},{\"include\":\"#comments\"},{\"include\":\"#infix_op\"},{\"match\":\"\\\\<-|-\\\\>\",\"name\":\"keyword.other.arrow.purescript\"},{\"match\":\"[\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]`{}_\\\"']]+\",\"name\":\"keyword.operator.purescript\"},{\"match\":\",\",\"name\":\"punctuation.separator.comma.purescript\"}],\"repository\":{\"block_comment\":{\"patterns\":[{\"applyEndPatternLast\":1,\"begin\":\"\\\\{-\\\\s*\\\\|\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.documentation.purescript\"}},\"end\":\"-\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.documentation.purescript\"}},\"name\":\"comment.block.documentation.purescript\",\"patterns\":[{\"include\":\"#block_comment\"}]},{\"applyEndPatternLast\":1,\"begin\":\"\\\\{-\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.purescript\"}},\"end\":\"-\\\\}\",\"name\":\"comment.block.purescript\",\"patterns\":[{\"include\":\"#block_comment\"}]}]},\"characters\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.escape.purescript\"},\"2\":{\"name\":\"constant.character.escape.octal.purescript\"},\"3\":{\"name\":\"constant.character.escape.hexadecimal.purescript\"},\"4\":{\"name\":\"constant.character.escape.control.purescript\"}},\"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\\\\\\\\\\\\\\\"'\\\\&]))|(\\\\\\\\o[0-7]+)|(\\\\\\\\x[0-9A-Fa-f]+)|(\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_]))\"}]},\"class_constraint\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"match\":\"\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\",\"name\":\"entity.name.type.purescript\"}]},\"2\":{\"patterns\":[{\"include\":\"#type_name\"},{\"include\":\"#generic_type\"}]}},\"match\":\"(?:(?:([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*)\\\\s+)(?:(?<classConstraint>(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)(?:\\\\s*(?:\\\\s+)\\\\s*\\\\g<classConstraint>)?)))\",\"name\":\"meta.class-constraint.purescript\"}]},\"comments\":{\"patterns\":[{\"begin\":\"(^[ \\\\t]+)?(?=--+\\\\s+\\\\|)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.purescript\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"(--+)\\\\s+(\\\\|)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.purescript\"},\"2\":{\"name\":\"punctuation.definition.comment.documentation.purescript\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.double-dash.documentation.purescript\"}]},{\"begin\":\"(^[ \\\\t]+)?(?=--+(?![\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]`{}_\\\"']]))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.purescript\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"--\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.purescript\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.double-dash.purescript\"}]},{\"include\":\"#block_comment\"}]},\"data_ctor\":{\"patterns\":[{\"match\":\"\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\",\"name\":\"entity.name.tag.purescript\"}]},\"double_colon\":{\"patterns\":[{\"match\":\"(?:::|∷)\",\"name\":\"keyword.other.double-colon.purescript\"}]},\"function_type_declaration\":{\"patterns\":[{\"begin\":\"^(\\\\s*)([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\\\\s*(?:(::|∷)(?!.*<-))\",\"beginCaptures\":{\"2\":{\"name\":\"entity.name.function.purescript\"},\"3\":{\"name\":\"keyword.other.double-colon.purescript\"}},\"contentName\":\"meta.type-signature.purescript\",\"end\":\"^(?!\\\\1[ \\\\t]|[ \\\\t]*$)\",\"name\":\"meta.function.type-declaration.purescript\",\"patterns\":[{\"include\":\"#double_colon\"},{\"include\":\"#type_signature\"}]}]},\"generic_type\":{\"patterns\":[{\"match\":\"\\\\b(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*\",\"name\":\"variable.other.generic-type.purescript\"}]},\"infix_op\":{\"patterns\":[{\"match\":\"(?:\\\\((?!--+\\\\))[\\\\p{S}\\\\p{P}&&[^(),;\\\\[\\\\]`{}_\\\"']]+\\\\))\",\"name\":\"entity.name.function.infix.purescript\"}]},\"kind_signature\":{\"patterns\":[{\"match\":\"\\\\*\",\"name\":\"keyword.other.star.purescript\"},{\"match\":\"!\",\"name\":\"keyword.other.exclaimation-point.purescript\"},{\"match\":\"#\",\"name\":\"keyword.other.pound-sign.purescript\"},{\"match\":\"->|→\",\"name\":\"keyword.other.arrow.purescript\"}]},\"module_exports\":{\"patterns\":[{\"begin\":\"\\\\(\",\"end\":\"\\\\)\",\"name\":\"meta.declaration.exports.purescript\",\"patterns\":[{\"include\":\"#comments\"},{\"match\":\"\\\\b(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*\",\"name\":\"entity.name.function.purescript\"},{\"include\":\"#type_name\"},{\"match\":\",\",\"name\":\"punctuation.separator.comma.purescript\"},{\"include\":\"#infix_op\"},{\"match\":\"\\\\(.*?\\\\)\",\"name\":\"meta.other.constructor-list.purescript\"}]}]},\"module_name\":{\"patterns\":[{\"match\":\"(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)*[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.?\",\"name\":\"support.other.module.purescript\"}]},\"record_field_declaration\":{\"patterns\":[{\"begin\":\"([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\\\\s*(::|∷)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*\",\"name\":\"entity.other.attribute-name.purescript\"}]},\"2\":{\"name\":\"keyword.other.double-colon.purescript\"}},\"contentName\":\"meta.type-signature.purescript\",\"end\":\"(?=([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)\\\\s*(::|∷)|})\",\"name\":\"meta.record-field.type-declaration.purescript\",\"patterns\":[{\"include\":\"#type_signature\"},{\"include\":\"#record_types\"}]}]},\"record_types\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.record.begin.purescript\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.type.record.end.purescript\"}},\"name\":\"meta.type.record.purescript\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.comma.purescript\"},{\"include\":\"#record_field_declaration\"},{\"include\":\"#comments\"}]}]},\"type_name\":{\"patterns\":[{\"match\":\"\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\",\"name\":\"entity.name.type.purescript\"}]},\"type_signature\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#class_constraint\"}]},\"4\":{\"name\":\"keyword.other.big-arrow.purescript\"}},\"match\":\"(?:(?:\\\\()(?:(?<classConstraints>(?:(?:(?:([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*)\\\\s+)(?:(?<classConstraint>(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)(?:\\\\s*(?:\\\\s+)\\\\s*\\\\g<classConstraint>)?))))(?:\\\\s*(?:,)\\\\s*\\\\g<classConstraints>)?))(?:\\\\))(?:\\\\s*(=>|<=|⇐|⇒)))\",\"name\":\"meta.class-constraints.purescript\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#class_constraint\"}]},\"4\":{\"name\":\"keyword.other.big-arrow.purescript\"}},\"match\":\"((?:(?:([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*)\\\\s+)(?:(?<classConstraint>(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\p{Nd}']*)(?:\\\\s*(?:\\\\s+)\\\\s*\\\\g<classConstraint>)?))))\\\\s*(=>|<=|⇐|⇒)\",\"name\":\"meta.class-constraints.purescript\"},{\"match\":\"->|→\",\"name\":\"keyword.other.arrow.purescript\"},{\"match\":\"=>|⇒\",\"name\":\"keyword.other.big-arrow.purescript\"},{\"match\":\"<=|⇐\",\"name\":\"keyword.other.big-arrow-left.purescript\"},{\"match\":\"forall|∀\",\"name\":\"keyword.other.forall.purescript\"},{\"include\":\"#generic_type\"},{\"include\":\"#type_name\"},{\"include\":\"#comments\"}]}},\"scopeName\":\"source.purescript\"}"))
2
2
 
3
3
  export default [
4
4
  lang