@shikijs/langs 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-html.mjs +1 -1
  6. package/dist/angular-inline-style.mjs +1 -1
  7. package/dist/angular-inline-template.mjs +1 -1
  8. package/dist/angular-template-blocks.mjs +1 -1
  9. package/dist/angular-template.mjs +1 -1
  10. package/dist/angular-ts.mjs +1 -1
  11. package/dist/apache.mjs +1 -1
  12. package/dist/apex.mjs +1 -1
  13. package/dist/apl.mjs +1 -1
  14. package/dist/applescript.mjs +1 -1
  15. package/dist/ara.mjs +1 -1
  16. package/dist/asciidoc.mjs +1 -1
  17. package/dist/asm.mjs +1 -1
  18. package/dist/astro.mjs +1 -1
  19. package/dist/awk.mjs +1 -1
  20. package/dist/ballerina.mjs +1 -1
  21. package/dist/bat.mjs +1 -1
  22. package/dist/beancount.mjs +1 -1
  23. package/dist/berry.mjs +1 -1
  24. package/dist/bibtex.mjs +1 -1
  25. package/dist/bicep.mjs +1 -1
  26. package/dist/blade.mjs +1 -1
  27. package/dist/bsl.mjs +1 -1
  28. package/dist/c.mjs +1 -1
  29. package/dist/cadence.mjs +1 -1
  30. package/dist/cairo.mjs +1 -1
  31. package/dist/clarity.mjs +1 -1
  32. package/dist/clojure.mjs +1 -1
  33. package/dist/cmake.mjs +1 -1
  34. package/dist/cobol.mjs +1 -1
  35. package/dist/codeql.mjs +1 -1
  36. package/dist/coffee.mjs +1 -1
  37. package/dist/common-lisp.mjs +1 -1
  38. package/dist/coq.mjs +1 -1
  39. package/dist/cpp-macro.mjs +1 -1
  40. package/dist/cpp.mjs +1 -1
  41. package/dist/crystal.mjs +1 -1
  42. package/dist/csharp.mjs +1 -1
  43. package/dist/css.mjs +1 -1
  44. package/dist/csv.mjs +1 -1
  45. package/dist/cue.mjs +1 -1
  46. package/dist/cypher.mjs +1 -1
  47. package/dist/d.mjs +1 -1
  48. package/dist/dart.mjs +1 -1
  49. package/dist/dax.mjs +1 -1
  50. package/dist/desktop.mjs +1 -1
  51. package/dist/diff.mjs +1 -1
  52. package/dist/dotenv.mjs +1 -1
  53. package/dist/dream-maker.mjs +1 -1
  54. package/dist/edge.mjs +1 -1
  55. package/dist/elixir.mjs +1 -1
  56. package/dist/elm.mjs +1 -1
  57. package/dist/emacs-lisp.mjs +1 -1
  58. package/dist/erb.mjs +1 -1
  59. package/dist/erlang.mjs +1 -1
  60. package/dist/es-tag-css.mjs +1 -1
  61. package/dist/es-tag-glsl.mjs +1 -1
  62. package/dist/es-tag-html.mjs +1 -1
  63. package/dist/es-tag-sql.mjs +1 -1
  64. package/dist/es-tag-xml.mjs +1 -1
  65. package/dist/fennel.mjs +1 -1
  66. package/dist/fish.mjs +1 -1
  67. package/dist/fluent.mjs +1 -1
  68. package/dist/fortran-fixed-form.mjs +1 -1
  69. package/dist/fortran-free-form.mjs +1 -1
  70. package/dist/fsharp.mjs +1 -1
  71. package/dist/gdresource.mjs +1 -1
  72. package/dist/gdscript.mjs +1 -1
  73. package/dist/gdshader.mjs +1 -1
  74. package/dist/genie.mjs +1 -1
  75. package/dist/gherkin.mjs +1 -1
  76. package/dist/git-commit.mjs +1 -1
  77. package/dist/git-rebase.mjs +1 -1
  78. package/dist/gleam.mjs +1 -1
  79. package/dist/glimmer-js.mjs +1 -1
  80. package/dist/glimmer-ts.mjs +1 -1
  81. package/dist/glsl.mjs +1 -1
  82. package/dist/gnuplot.mjs +1 -1
  83. package/dist/go.mjs +1 -1
  84. package/dist/graphql.mjs +1 -1
  85. package/dist/groovy.mjs +1 -1
  86. package/dist/hack.mjs +1 -1
  87. package/dist/haml.mjs +1 -1
  88. package/dist/handlebars.mjs +1 -1
  89. package/dist/haskell.mjs +1 -1
  90. package/dist/haxe.mjs +1 -1
  91. package/dist/hcl.mjs +1 -1
  92. package/dist/hjson.mjs +1 -1
  93. package/dist/hlsl.mjs +1 -1
  94. package/dist/html-derivative.mjs +1 -1
  95. package/dist/html.mjs +1 -1
  96. package/dist/http.mjs +1 -1
  97. package/dist/hxml.mjs +1 -1
  98. package/dist/hy.mjs +1 -1
  99. package/dist/imba.mjs +1 -4
  100. package/dist/index.mjs +2 -0
  101. package/dist/ini.mjs +1 -1
  102. package/dist/java.mjs +1 -1
  103. package/dist/javascript.mjs +1 -1
  104. package/dist/jinja-html.mjs +1 -1
  105. package/dist/jinja.mjs +1 -1
  106. package/dist/jison.mjs +1 -1
  107. package/dist/json.mjs +1 -1
  108. package/dist/json5.mjs +1 -1
  109. package/dist/jsonc.mjs +1 -1
  110. package/dist/jsonl.mjs +1 -1
  111. package/dist/jsonnet.mjs +1 -1
  112. package/dist/jssm.mjs +1 -1
  113. package/dist/jsx.mjs +1 -1
  114. package/dist/julia.mjs +1 -1
  115. package/dist/kotlin.mjs +1 -1
  116. package/dist/kusto.mjs +1 -1
  117. package/dist/latex.mjs +1 -1
  118. package/dist/lean.mjs +1 -1
  119. package/dist/less.mjs +1 -1
  120. package/dist/liquid.mjs +1 -1
  121. package/dist/llvm.d.mts +3 -0
  122. package/dist/llvm.mjs +5 -0
  123. package/dist/log.mjs +1 -1
  124. package/dist/logo.mjs +1 -1
  125. package/dist/lua.mjs +1 -1
  126. package/dist/luau.mjs +1 -1
  127. package/dist/make.mjs +1 -1
  128. package/dist/markdown-vue.mjs +1 -1
  129. package/dist/markdown.mjs +1 -1
  130. package/dist/marko.mjs +1 -1
  131. package/dist/matlab.mjs +1 -1
  132. package/dist/mdc.mjs +1 -1
  133. package/dist/mdx.mjs +1 -1
  134. package/dist/mermaid.mjs +1 -1
  135. package/dist/mipsasm.mjs +1 -1
  136. package/dist/mojo.mjs +1 -1
  137. package/dist/move.mjs +1 -1
  138. package/dist/narrat.mjs +1 -1
  139. package/dist/nextflow.mjs +1 -1
  140. package/dist/nginx.mjs +1 -1
  141. package/dist/nim.mjs +1 -1
  142. package/dist/nix.mjs +1 -1
  143. package/dist/nushell.mjs +1 -1
  144. package/dist/objective-c.mjs +1 -1
  145. package/dist/objective-cpp.mjs +1 -1
  146. package/dist/ocaml.mjs +1 -1
  147. package/dist/pascal.mjs +1 -1
  148. package/dist/perl.mjs +1 -1
  149. package/dist/php.mjs +1 -1
  150. package/dist/plsql.mjs +1 -1
  151. package/dist/po.mjs +1 -1
  152. package/dist/polar.mjs +1 -1
  153. package/dist/postcss.mjs +1 -1
  154. package/dist/powerquery.mjs +1 -1
  155. package/dist/powershell.mjs +1 -1
  156. package/dist/prisma.mjs +1 -1
  157. package/dist/prolog.mjs +1 -1
  158. package/dist/proto.mjs +1 -1
  159. package/dist/pug.mjs +1 -1
  160. package/dist/puppet.mjs +1 -1
  161. package/dist/purescript.mjs +1 -1
  162. package/dist/python.mjs +1 -1
  163. package/dist/qml.mjs +1 -1
  164. package/dist/qss.mjs +1 -1
  165. package/dist/r.mjs +1 -1
  166. package/dist/racket.mjs +1 -1
  167. package/dist/raku.mjs +1 -1
  168. package/dist/razor.mjs +1 -1
  169. package/dist/reg.mjs +1 -1
  170. package/dist/regexp.mjs +1 -1
  171. package/dist/rel.mjs +1 -1
  172. package/dist/riscv.mjs +1 -1
  173. package/dist/rst.mjs +1 -1
  174. package/dist/ruby.mjs +1 -1
  175. package/dist/rust.mjs +1 -1
  176. package/dist/sas.mjs +1 -1
  177. package/dist/sass.mjs +1 -1
  178. package/dist/scala.mjs +1 -1
  179. package/dist/scheme.mjs +1 -1
  180. package/dist/scss.mjs +1 -1
  181. package/dist/sdbl.mjs +1 -1
  182. package/dist/shaderlab.mjs +1 -1
  183. package/dist/shellscript.mjs +1 -1
  184. package/dist/shellsession.mjs +1 -1
  185. package/dist/smalltalk.mjs +1 -1
  186. package/dist/solidity.mjs +1 -1
  187. package/dist/soy.mjs +1 -1
  188. package/dist/sparql.mjs +1 -1
  189. package/dist/splunk.mjs +1 -1
  190. package/dist/sql.mjs +1 -1
  191. package/dist/ssh-config.mjs +1 -1
  192. package/dist/stata.mjs +1 -1
  193. package/dist/stylus.mjs +1 -1
  194. package/dist/svelte.mjs +1 -1
  195. package/dist/swift.mjs +1 -1
  196. package/dist/system-verilog.mjs +1 -1
  197. package/dist/systemd.mjs +1 -1
  198. package/dist/talonscript.mjs +1 -1
  199. package/dist/tasl.mjs +1 -1
  200. package/dist/tcl.mjs +1 -1
  201. package/dist/templ.mjs +1 -1
  202. package/dist/terraform.mjs +1 -1
  203. package/dist/tex.mjs +1 -1
  204. package/dist/toml.mjs +1 -1
  205. package/dist/tsx.mjs +1 -1
  206. package/dist/turtle.mjs +1 -1
  207. package/dist/twig.mjs +1 -1
  208. package/dist/typescript.mjs +1 -1
  209. package/dist/typespec.mjs +1 -1
  210. package/dist/typst.mjs +1 -1
  211. package/dist/v.mjs +1 -1
  212. package/dist/vala.mjs +1 -1
  213. package/dist/vb.mjs +1 -1
  214. package/dist/verilog.mjs +1 -1
  215. package/dist/vhdl.mjs +1 -1
  216. package/dist/viml.mjs +1 -1
  217. package/dist/vue-html.mjs +1 -1
  218. package/dist/vue-sfc-style-variable-injection.mjs +1 -1
  219. package/dist/vue.mjs +1 -1
  220. package/dist/vyper.mjs +1 -1
  221. package/dist/wasm.mjs +1 -1
  222. package/dist/wenyan.mjs +1 -1
  223. package/dist/wgsl.mjs +1 -1
  224. package/dist/wikitext.mjs +1 -1
  225. package/dist/wit.d.mts +3 -0
  226. package/dist/wit.mjs +5 -0
  227. package/dist/wolfram.mjs +1 -1
  228. package/dist/xml.mjs +1 -1
  229. package/dist/xsl.mjs +1 -1
  230. package/dist/yaml.mjs +1 -1
  231. package/dist/zenscript.mjs +1 -1
  232. package/dist/zig.mjs +1 -1
  233. package/package.json +5 -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\":[{\"match\":\"^(!!!|doctype)(\\\\s*[a-zA-Z0-9-_]+)?\",\"name\":\"meta.tag.sgml.doctype.html\"},{\"begin\":\"^(\\\\s*)//-\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"comment.unbuffered.block.pug\"},{\"begin\":\"^(\\\\s*)//\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"string.comment.buffered.block.pug\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"invalid.illegal.comment.comment.block.pug\"}},\"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*)-$\",\"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\"}},\"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\"}},\"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\"}},\"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\"}},\"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*\",\"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\":\"\\\\|\",\"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.#])\",\"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\"}},\"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\"}},\"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\"}},\"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\"}},\"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\":[{\"match\":\"^(!!!|doctype)(\\\\s*[a-zA-Z0-9\\\\-_]+)?\",\"name\":\"meta.tag.sgml.doctype.html\"},{\"begin\":\"^(\\\\s*)//-\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"comment.unbuffered.block.pug\"},{\"begin\":\"^(\\\\s*)//\",\"end\":\"^(?!(\\\\1\\\\s)|\\\\s*$)\",\"name\":\"string.comment.buffered.block.pug\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"invalid.illegal.comment.comment.block.pug\"}},\"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*)-$\",\"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\"}},\"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\"}},\"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\"}},\"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\"}},\"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*\",\"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\":\"\\\\|\",\"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.#])\",\"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\"}},\"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\"}},\"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\"}},\"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\\\\h+)(;)\",\"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\"}},\"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_][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\":[{\"match\":\"(?<!\\\\w|\\\\d)([-+]?)(?i:0x)(?i:[0-9a-f])+(?!\\\\w|\\\\d)\",\"name\":\"constant.numeric.hexadecimal.puppet\"},{\"match\":\"(?<!\\\\w|\\\\.)([-+]?)(?<!\\\\d)\\\\d+(?i:e(\\\\+|-){0,1}\\\\d+){0,1}(?!\\\\w|\\\\d|\\\\.)\",\"name\":\"constant.numeric.integer.puppet\"},{\"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\":[{\"match\":\"(?<![a-zA-Z\\\\$])([A-Z][a-zA-Z0-9_]*)(?![a-zA-Z0-9_])\",\"name\":\"storage.type.puppet\"}]},\"regex-literal\":{\"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\"}"))
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_\\\\x7F-ÿ][a-zA-Z0-9_\\\\x7F-ÿ]*\\\"?):(?=\\\\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\":\"@\\\\(\\\\p{blank}*\\\"([^:/) \\\\t]+)\\\"\\\\p{blank}*(:\\\\p{blank}*[a-z][a-zA-Z0-9_+]*\\\\p{blank}*)?(/\\\\p{blank}*[tsrnL$]*)?\\\\p{blank}*\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.puppet\"}},\"end\":\"^\\\\p{blank}*(\\\\|\\\\p{blank}*-|[|\\\\-])?\\\\p{blank}*\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.puppet\"}},\"name\":\"string.interpolated.heredoc.puppet\",\"patterns\":[{\"include\":\"#escaped_char\"},{\"include\":\"#interpolated_puppet\"}]},{\"begin\":\"@\\\\(\\\\p{blank}*([^:/) \\\\t]+)\\\\p{blank}*(:\\\\p{blank}*[a-z][a-zA-Z0-9_+]*\\\\p{blank}*)?(/\\\\p{blank}*[tsrnL$]*)?\\\\p{blank}*\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.puppet\"}},\"end\":\"^\\\\p{blank}*(\\\\|\\\\p{blank}*-|[|\\\\-])?\\\\p{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\":[{\"match\":\"(?<![\\\\w\\\\d])([\\\\-+]?)(?i:0x)(?i:[0-9a-f])+(?![\\\\w\\\\d])\",\"name\":\"constant.numeric.hexadecimal.puppet\"},{\"match\":\"(?<![\\\\w.])([\\\\-+]?)(?<!\\\\d)\\\\d+(?i:e([+\\\\-])?\\\\d+)?(?![\\\\w\\\\d.])\",\"name\":\"constant.numeric.integer.puppet\"},{\"match\":\"(?<!\\\\w)([\\\\-+]?)\\\\d+\\\\.\\\\d+(?i:e([+\\\\-])?\\\\d+)?(?![\\\\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\":[{\"match\":\"(?<![a-zA-Z$])([A-Z][a-zA-Z0-9_]*)(?![a-zA-Z0-9_])\",\"name\":\"storage.type.puppet\"}]},\"regex-literal\":{\"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[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\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"PureScript\",\"fileTypes\":[\"purs\"],\"name\":\"purescript\",\"patterns\":[{\"include\":\"#module_declaration\"},{\"include\":\"#module_import\"},{\"include\":\"#type_synonym_declaration\"},{\"include\":\"#data_type_declaration\"},{\"include\":\"#typeclass_declaration\"},{\"include\":\"#instance_declaration\"},{\"include\":\"#derive_declaration\"},{\"include\":\"#infix_op_declaration\"},{\"include\":\"#foreign_import_data\"},{\"include\":\"#foreign_import\"},{\"include\":\"#function_type_declaration\"},{\"include\":\"#typed_hole\"},{\"include\":\"#keywords_orphan\"},{\"include\":\"#control_keywords\"},{\"include\":\"#function_infix\"},{\"include\":\"#data_ctor\"},{\"include\":\"#infix_op\"},{\"include\":\"#constants_numeric_decimal\"},{\"include\":\"#constant_numeric\"},{\"include\":\"#constant_boolean\"},{\"include\":\"#string_triple_quoted\"},{\"include\":\"#string_single_quoted\"},{\"include\":\"#string_double_quoted\"},{\"include\":\"#markup_newline\"},{\"include\":\"#double_colon_parens\"},{\"include\":\"#double_colon_inlined\"},{\"include\":\"#double_colon_orphan\"},{\"include\":\"#comments\"},{\"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\\\\h+)|(\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_]))\"}]},\"class_constraint\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"match\":\"\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\",\"name\":\"entity.name.type.purescript\"}]},\"2\":{\"patterns\":[{\"include\":\"#type_name\"},{\"include\":\"#generic_type\"}]}},\"match\":\"([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*)\\\\s+(?<classConstraint>(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)(?:\\\\s*\\\\s+\\\\s*(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*))*)\",\"name\":\"meta.class-constraint.purescript\"}]},\"comments\":{\"patterns\":[{\"begin\":\"(^[ \\\\t]+)?(?=--+)\",\"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\"}]},\"constant_boolean\":{\"patterns\":[{\"match\":\"\\\\b(true|false)(?!')\\\\b\",\"name\":\"constant.language.boolean.purescript\"}]},\"constant_numeric\":{\"patterns\":[{\"match\":\"\\\\b(([0-9]+_?)*[0-9]+|0([xX]\\\\h+|[oO][0-7]+))\\\\b\",\"name\":\"constant.numeric.purescript\"}]},\"constants_numeric_decimal\":{\"patterns\":[{\"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|[0-9]+[eE][+\\\\-]?[0-9]+\\\\b|[0-9]+(\\\\.)[0-9]+\\\\b|[0-9]+\\\\b(?!\\\\.))(?!\\\\$)\",\"name\":\"constant.numeric.decimal.purescript\"}]},\"control_keywords\":{\"patterns\":[{\"match\":\"\\\\b(do|ado|if|then|else|case|of|let|in)(?!('|\\\\s*([:=])))\\\\b\",\"name\":\"keyword.control.purescript\"}]},\"data_ctor\":{\"patterns\":[{\"match\":\"\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\",\"name\":\"entity.name.tag.purescript\"}]},\"data_type_declaration\":{\"patterns\":[{\"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\":{\"2\":{\"patterns\":[{\"include\":\"#data_ctor\"}]}},\"match\":\"(?<=([|=])\\\\s*)([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)\"},{\"captures\":{\"0\":{\"name\":\"keyword.operator.pipe.purescript\"}},\"match\":\"\\\\|\"},{\"include\":\"#record_types\"},{\"include\":\"#type_signature\"}]}]},\"derive_declaration\":{\"patterns\":[{\"begin\":\"^\\\\s*\\\\b(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\":\"^(?=\\\\S)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"name\":\"meta.declaration.derive.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}]},\"double_colon\":{\"patterns\":[{\"match\":\"(?:::|∷)\",\"name\":\"keyword.other.double-colon.purescript\"}]},\"double_colon_inlined\":{\"patterns\":[{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.other.double-colon.purescript\"},\"2\":{\"name\":\"meta.type-signature.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}},\"match\":\"((?:::|∷))(.*)(?=<-|\\\"\\\"\\\")\"}]},{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.other.double-colon.purescript\"},\"2\":{\"name\":\"meta.type-signature.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}},\"match\":\"((?:::|∷))(.*)\"}]}]},\"double_colon_orphan\":{\"patterns\":[{\"begin\":\"(\\\\s*)(::|∷)(\\\\s*)$\",\"beginCaptures\":{\"2\":{\"name\":\"keyword.other.double-colon.purescript\"}},\"end\":\"^(?!\\\\1[ \\\\t]*|[ \\\\t]*$)\",\"patterns\":[{\"include\":\"#type_signature\"}]}]},\"double_colon_parens\":{\"patterns\":[{\"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>\\\\))*)\\\\)\"}]},\"foreign_import\":{\"patterns\":[{\"begin\":\"^(\\\\s*)(foreign)\\\\s+(import)\\\\s+([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)\",\"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\"},{\"include\":\"#record_types\"}]}]},\"foreign_import_data\":{\"patterns\":[{\"begin\":\"^(\\\\s*)(foreign)\\\\s+(import)\\\\s+(data)(?:\\\\s+([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)\\\\s*((?:::|∷)))?\",\"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\":\"#comments\"},{\"include\":\"#type_signature\"},{\"include\":\"#record_types\"}]}]},\"function_infix\":{\"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}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(`)\",\"name\":\"keyword.operator.function.infix.purescript\"}]},\"function_type_declaration\":{\"patterns\":[{\"begin\":\"^(\\\\s*)([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)\\\\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\"},{\"include\":\"#record_types\"},{\"include\":\"#row_types\"}]}]},\"generic_type\":{\"patterns\":[{\"match\":\"\\\\b(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*\",\"name\":\"variable.other.generic-type.purescript\"}]},\"infix_op\":{\"patterns\":[{\"match\":\"\\\\((?!--+\\\\))[[\\\\p{S}\\\\p{P}]&&[^(),;\\\\[\\\\]`{}_\\\"']]+\\\\)\",\"name\":\"entity.name.function.infix.purescript\"}]},\"infix_op_declaration\":{\"patterns\":[{\"begin\":\"^\\\\b(infix[l|r]?)(?!')\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"end\":\"($)\",\"name\":\"meta.infix.declaration.purescript\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#data_ctor\"},{\"match\":\"\\\\d+\",\"name\":\"constant.numeric.purescript\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"match\":\"([[\\\\p{S}\\\\p{P}]&&[^(),;\\\\[\\\\]`{}_\\\"']]+)\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.purescript\"},\"2\":{\"name\":\"entity.name.type.purescript\"}},\"match\":\"\\\\b(type)\\\\s+([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"match\":\"\\\\b(as|type)\\\\b\"}]}]},\"instance_declaration\":{\"patterns\":[{\"begin\":\"^\\\\s*\\\\b(else\\\\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\":\"(\\\\bwhere\\\\b|(?=^\\\\S))\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"name\":\"meta.declaration.instance.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}]},\"keywords_orphan\":{\"patterns\":[{\"match\":\"^\\\\s*\\\\b(derive|where|data|type|newtype|foreign(\\\\s+import)?(\\\\s+data)?)(?!')\\\\b\",\"name\":\"keyword.other.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\"}]},\"markup_newline\":{\"patterns\":[{\"match\":\"\\\\\\\\$\",\"name\":\"markup.other.escape.newline.purescript\"}]},\"module_declaration\":{\"patterns\":[{\"begin\":\"^\\\\s*\\\\b(module)(?!')\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"end\":\"(\\\\bwhere\\\\b)\",\"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\"}]}]},\"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}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*\",\"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_import\":{\"patterns\":[{\"begin\":\"^\\\\s*\\\\b(import)(?!')\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"end\":\"^(?=\\\\S)\",\"name\":\"meta.import.purescript\",\"patterns\":[{\"include\":\"#module_name\"},{\"include\":\"#string_double_quoted\"},{\"include\":\"#comments\"},{\"include\":\"#module_exports\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"match\":\"\\\\b(as|hiding)\\\\b\"}]}]},\"module_name\":{\"patterns\":[{\"match\":\"(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)*[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.?\",\"name\":\"support.other.module.purescript\"}]},\"record_field_declaration\":{\"patterns\":[{\"begin\":\"([ ,]\\\"(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*|[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)\\\"|[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)\\\\s*(::|∷)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*\",\"name\":\"entity.other.attribute-name.purescript\"},{\"match\":\"\\\"([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*|[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)\\\"\",\"name\":\"string.quoted.double.purescript\"}]},\"2\":{\"name\":\"keyword.other.double-colon.purescript\"}},\"contentName\":\"meta.type-signature.purescript\",\"end\":\"(?=([ ,]\\\"(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*|[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)\\\"|[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)\\\\s*(::|∷)|}| \\\\)|^(?!\\\\1[ \\\\t]|[ \\\\t]*$))\",\"name\":\"meta.record-field.type-declaration.purescript\",\"patterns\":[{\"include\":\"#record_types\"},{\"include\":\"#type_signature\"},{\"include\":\"#comments\"}]}]},\"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\":\"#comments\"},{\"include\":\"#record_field_declaration\"},{\"include\":\"#type_signature\"}]}]},\"row_types\":{\"patterns\":[{\"begin\":\"\\\\((?=\\\\s*([\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*|\\\"[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*\\\"|\\\"[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*\\\")\\\\s*(::|∷))\",\"end\":\"(?=^\\\\S)\",\"name\":\"meta.type.row.purescript\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.comma.purescript\"},{\"include\":\"#comments\"},{\"include\":\"#record_field_declaration\"},{\"include\":\"#type_signature\"}]}]},\"string_double_quoted\":{\"patterns\":[{\"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\"}]}]}]},\"string_single_quoted\":{\"patterns\":[{\"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\\\\h+)|(\\\\^[A-Z@\\\\[\\\\]\\\\\\\\\\\\^_])))(')\",\"name\":\"string.quoted.single.purescript\"}]},\"string_triple_quoted\":{\"patterns\":[{\"begin\":\"\\\"\\\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.purescript\"}},\"end\":\"\\\"\\\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.purescript\"}},\"name\":\"string.quoted.triple.purescript\"}]},\"type_kind_signature\":{\"patterns\":[{\"begin\":\"^(data|newtype)\\\\s+([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)\\\\s*((?:::|∷))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.data.purescript\"},\"2\":{\"name\":\"meta.type-signature.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]},\"3\":{\"name\":\"keyword.other.double-colon.purescript\"}},\"end\":\"(?=^\\\\S)\",\"name\":\"meta.declaration.type.data.signature.purescript\",\"patterns\":[{\"include\":\"#type_signature\"},{\"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}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*)\\\\s+(?<ctorArgs>(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*|(?:(?:[\\\\w()'→⇒\\\\[\\\\],]|->|=>)+\\\\s*)+)(?:\\\\s*\\\\s+\\\\s*(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*|(?:(?:[\\\\w()'→⇒\\\\[\\\\],]|->|=>)+\\\\s*)+))*)?\"},{\"captures\":{\"0\":{\"name\":\"keyword.operator.pipe.purescript\"}},\"match\":\"\\\\|\"},{\"include\":\"#record_types\"}]}]},\"type_name\":{\"patterns\":[{\"match\":\"\\\\b[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\",\"name\":\"entity.name.type.purescript\"}]},\"type_signature\":{\"patterns\":[{\"include\":\"#record_types\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#class_constraint\"}]},\"6\":{\"name\":\"keyword.other.big-arrow.purescript\"}},\"match\":\"\\\\((?<classConstraints>([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*)\\\\s+(?<classConstraint>(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)(?:\\\\s*\\\\s+\\\\s*(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*))*)(?:\\\\s*,\\\\s*([\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*)\\\\s+(?<classConstraint>(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)(?:\\\\s*\\\\s+\\\\s*(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*))*))*)\\\\)\\\\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}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*)\\\\s+(?<classConstraint>(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)(?:\\\\s*\\\\s+\\\\s*(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*|(?:[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)*\\\\.)?[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*))*))\\\\s*(=>|<=|[⇐⇒])\",\"name\":\"meta.class-constraints.purescript\"},{\"match\":\"(?<![[\\\\p{S}\\\\p{P}]&&[^(),;\\\\[\\\\]`{}_\\\"']])(->|→)\",\"name\":\"keyword.other.arrow.purescript\"},{\"match\":\"(?<![[\\\\p{S}\\\\p{P}]&&[^(),;\\\\[\\\\]`{}_\\\"']])(=>|⇒)\",\"name\":\"keyword.other.big-arrow.purescript\"},{\"match\":\"<=|⇐\",\"name\":\"keyword.other.big-arrow-left.purescript\"},{\"match\":\"forall|∀\",\"name\":\"keyword.other.forall.purescript\"},{\"include\":\"#string_double_quoted\"},{\"include\":\"#generic_type\"},{\"include\":\"#type_name\"},{\"include\":\"#comments\"},{\"match\":\"[[\\\\p{S}\\\\p{P}]&&[^(),;\\\\[\\\\]`{}_\\\"']]+\",\"name\":\"keyword.other.purescript\"}]},\"type_synonym_declaration\":{\"patterns\":[{\"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\":\"#row_types\"},{\"include\":\"#comments\"}]}]},\"typeclass_declaration\":{\"patterns\":[{\"begin\":\"^\\\\s*\\\\b(class)(?!')\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.purescript\"}},\"end\":\"(\\\\bwhere\\\\b|(?=^\\\\S))\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other.purescript\"}},\"name\":\"meta.declaration.typeclass.purescript\",\"patterns\":[{\"include\":\"#type_signature\"}]}]},\"typed_hole\":{\"patterns\":[{\"match\":\"\\\\?(?:[\\\\p{Ll}_][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*|[\\\\p{Lu}\\\\p{Lt}][\\\\p{Ll}_\\\\p{Lu}\\\\p{Lt}\\\\d']*)\",\"name\":\"entity.name.function.typed-hole.purescript\"}]}},\"scopeName\":\"source.purescript\"}"))
2
2
 
3
3
  export default [
4
4
  lang