@shikijs/langs-precompiled 3.2.2 → 3.3.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 (224) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-html.mjs +1 -1
  6. package/dist/angular-inline-style.mjs +1 -1
  7. package/dist/angular-inline-template.mjs +1 -1
  8. package/dist/angular-let-declaration.mjs +1 -1
  9. package/dist/angular-template-blocks.mjs +1 -1
  10. package/dist/angular-ts.mjs +1 -1
  11. package/dist/apache.mjs +1 -1
  12. package/dist/apex.mjs +1 -1
  13. package/dist/apl.mjs +1 -1
  14. package/dist/applescript.mjs +1 -1
  15. package/dist/ara.mjs +1 -1
  16. package/dist/asciidoc.mjs +1 -1
  17. package/dist/asm.mjs +1 -1
  18. package/dist/astro.mjs +1 -1
  19. package/dist/awk.mjs +1 -1
  20. package/dist/ballerina.mjs +1 -1
  21. package/dist/bat.mjs +1 -1
  22. package/dist/beancount.mjs +1 -1
  23. package/dist/berry.mjs +1 -1
  24. package/dist/bibtex.mjs +1 -1
  25. package/dist/bicep.mjs +1 -1
  26. package/dist/blade.mjs +1 -1
  27. package/dist/bsl.mjs +1 -1
  28. package/dist/c.mjs +1 -1
  29. package/dist/cadence.mjs +1 -1
  30. package/dist/cairo.mjs +1 -1
  31. package/dist/clarity.mjs +1 -1
  32. package/dist/clojure.mjs +1 -1
  33. package/dist/cobol.mjs +1 -1
  34. package/dist/codeql.mjs +1 -1
  35. package/dist/coffee.mjs +1 -1
  36. package/dist/common-lisp.mjs +1 -1
  37. package/dist/coq.mjs +1 -1
  38. package/dist/cpp-macro.mjs +1 -1
  39. package/dist/cpp.mjs +1 -1
  40. package/dist/crystal.mjs +1 -1
  41. package/dist/csharp.mjs +1 -1
  42. package/dist/css.mjs +1 -1
  43. package/dist/cue.mjs +1 -1
  44. package/dist/cypher.mjs +1 -1
  45. package/dist/d.mjs +1 -1
  46. package/dist/dart.mjs +1 -1
  47. package/dist/dax.mjs +1 -1
  48. package/dist/desktop.mjs +1 -1
  49. package/dist/diff.mjs +1 -1
  50. package/dist/dotenv.mjs +1 -1
  51. package/dist/dream-maker.mjs +1 -1
  52. package/dist/edge.mjs +1 -1
  53. package/dist/elixir.mjs +1 -1
  54. package/dist/elm.mjs +1 -1
  55. package/dist/emacs-lisp.mjs +1 -1
  56. package/dist/erb.mjs +1 -1
  57. package/dist/erlang.mjs +1 -1
  58. package/dist/es-tag-css.mjs +1 -1
  59. package/dist/es-tag-glsl.mjs +1 -1
  60. package/dist/es-tag-html.mjs +1 -1
  61. package/dist/es-tag-sql.mjs +1 -1
  62. package/dist/es-tag-xml.mjs +1 -1
  63. package/dist/fennel.mjs +1 -1
  64. package/dist/fish.mjs +1 -1
  65. package/dist/fluent.mjs +1 -1
  66. package/dist/fortran-fixed-form.mjs +1 -1
  67. package/dist/fortran-free-form.mjs +1 -1
  68. package/dist/fsharp.mjs +1 -1
  69. package/dist/gdresource.mjs +1 -1
  70. package/dist/gdscript.mjs +1 -1
  71. package/dist/gdshader.mjs +1 -1
  72. package/dist/genie.mjs +1 -1
  73. package/dist/gherkin.mjs +1 -1
  74. package/dist/gleam.mjs +1 -1
  75. package/dist/glimmer-js.mjs +1 -1
  76. package/dist/glimmer-ts.mjs +1 -1
  77. package/dist/glsl.mjs +1 -1
  78. package/dist/gnuplot.mjs +1 -1
  79. package/dist/go.mjs +1 -1
  80. package/dist/graphql.mjs +1 -1
  81. package/dist/groovy.mjs +1 -1
  82. package/dist/hack.mjs +1 -1
  83. package/dist/haml.mjs +1 -1
  84. package/dist/handlebars.mjs +1 -1
  85. package/dist/haskell.mjs +1 -1
  86. package/dist/haxe.mjs +1 -1
  87. package/dist/hcl.mjs +1 -1
  88. package/dist/hjson.mjs +1 -1
  89. package/dist/hlsl.mjs +1 -1
  90. package/dist/html-derivative.mjs +1 -1
  91. package/dist/html.mjs +1 -1
  92. package/dist/http.mjs +1 -1
  93. package/dist/hxml.mjs +1 -1
  94. package/dist/hy.mjs +1 -1
  95. package/dist/imba.mjs +1 -1
  96. package/dist/ini.mjs +1 -1
  97. package/dist/java.mjs +1 -1
  98. package/dist/javascript.mjs +1 -1
  99. package/dist/jinja.mjs +1 -1
  100. package/dist/jison.mjs +1 -1
  101. package/dist/json.mjs +1 -1
  102. package/dist/json5.mjs +1 -1
  103. package/dist/jsonc.mjs +1 -1
  104. package/dist/jsonl.mjs +1 -1
  105. package/dist/jsonnet.mjs +1 -1
  106. package/dist/jssm.mjs +1 -1
  107. package/dist/jsx.mjs +1 -1
  108. package/dist/julia.mjs +1 -1
  109. package/dist/kotlin.mjs +1 -1
  110. package/dist/kusto.mjs +1 -1
  111. package/dist/latex.mjs +1 -1
  112. package/dist/lean.mjs +1 -1
  113. package/dist/less.mjs +1 -1
  114. package/dist/liquid.mjs +1 -1
  115. package/dist/llvm.mjs +1 -1
  116. package/dist/log.mjs +1 -1
  117. package/dist/logo.mjs +1 -1
  118. package/dist/lua.mjs +1 -1
  119. package/dist/luau.mjs +1 -1
  120. package/dist/make.mjs +1 -1
  121. package/dist/markdown-vue.mjs +1 -1
  122. package/dist/markdown.mjs +1 -1
  123. package/dist/marko.mjs +1 -1
  124. package/dist/matlab.mjs +1 -1
  125. package/dist/mdc.mjs +1 -1
  126. package/dist/mdx.mjs +1 -1
  127. package/dist/mermaid.mjs +1 -1
  128. package/dist/mipsasm.mjs +1 -1
  129. package/dist/mojo.mjs +1 -1
  130. package/dist/move.mjs +1 -1
  131. package/dist/narrat.mjs +1 -1
  132. package/dist/nextflow.mjs +1 -1
  133. package/dist/nginx.mjs +1 -1
  134. package/dist/nim.mjs +1 -1
  135. package/dist/nix.mjs +1 -1
  136. package/dist/nushell.mjs +1 -1
  137. package/dist/objective-c.mjs +1 -1
  138. package/dist/objective-cpp.mjs +1 -1
  139. package/dist/ocaml.mjs +1 -1
  140. package/dist/pascal.mjs +1 -1
  141. package/dist/perl.mjs +1 -1
  142. package/dist/php.mjs +1 -1
  143. package/dist/plsql.mjs +1 -1
  144. package/dist/po.mjs +1 -1
  145. package/dist/polar.mjs +1 -1
  146. package/dist/postcss.mjs +1 -1
  147. package/dist/powerquery.mjs +1 -1
  148. package/dist/powershell.mjs +1 -1
  149. package/dist/prisma.mjs +1 -1
  150. package/dist/prolog.mjs +1 -1
  151. package/dist/proto.mjs +1 -1
  152. package/dist/pug.mjs +1 -1
  153. package/dist/puppet.mjs +1 -1
  154. package/dist/purescript.mjs +1 -1
  155. package/dist/python.mjs +1 -1
  156. package/dist/qml.mjs +1 -1
  157. package/dist/qss.mjs +1 -1
  158. package/dist/r.mjs +1 -1
  159. package/dist/racket.mjs +1 -1
  160. package/dist/raku.mjs +1 -1
  161. package/dist/razor.mjs +1 -1
  162. package/dist/reg.mjs +1 -1
  163. package/dist/regexp.mjs +1 -1
  164. package/dist/rel.mjs +1 -1
  165. package/dist/riscv.mjs +1 -1
  166. package/dist/rst.mjs +1 -1
  167. package/dist/ruby.mjs +1 -1
  168. package/dist/rust.mjs +1 -1
  169. package/dist/sas.mjs +1 -1
  170. package/dist/sass.mjs +1 -1
  171. package/dist/scala.mjs +1 -1
  172. package/dist/scheme.mjs +1 -1
  173. package/dist/scss.mjs +1 -1
  174. package/dist/sdbl.mjs +1 -1
  175. package/dist/shaderlab.mjs +1 -1
  176. package/dist/shellscript.mjs +1 -1
  177. package/dist/shellsession.mjs +1 -1
  178. package/dist/smalltalk.mjs +1 -1
  179. package/dist/solidity.mjs +1 -1
  180. package/dist/soy.mjs +1 -1
  181. package/dist/sparql.mjs +1 -1
  182. package/dist/splunk.mjs +1 -1
  183. package/dist/sql.mjs +1 -1
  184. package/dist/ssh-config.mjs +1 -1
  185. package/dist/stata.mjs +1 -1
  186. package/dist/stylus.mjs +1 -1
  187. package/dist/svelte.mjs +1 -1
  188. package/dist/system-verilog.mjs +1 -1
  189. package/dist/systemd.mjs +1 -1
  190. package/dist/talonscript.mjs +1 -1
  191. package/dist/tasl.mjs +1 -1
  192. package/dist/tcl.mjs +1 -1
  193. package/dist/templ.mjs +1 -1
  194. package/dist/terraform.mjs +1 -1
  195. package/dist/tex.mjs +1 -1
  196. package/dist/toml.mjs +1 -1
  197. package/dist/tsx.mjs +1 -1
  198. package/dist/turtle.mjs +1 -1
  199. package/dist/twig.mjs +1 -1
  200. package/dist/typescript.mjs +1 -1
  201. package/dist/typespec.mjs +1 -1
  202. package/dist/typst.mjs +1 -1
  203. package/dist/v.mjs +1 -1
  204. package/dist/vala.mjs +1 -1
  205. package/dist/vb.mjs +1 -1
  206. package/dist/verilog.mjs +1 -1
  207. package/dist/vhdl.mjs +1 -1
  208. package/dist/viml.mjs +1 -1
  209. package/dist/vue-html.mjs +1 -1
  210. package/dist/vue-sfc-style-variable-injection.mjs +1 -1
  211. package/dist/vue.mjs +3 -3
  212. package/dist/vyper.mjs +1 -1
  213. package/dist/wasm.mjs +1 -1
  214. package/dist/wenyan.mjs +1 -1
  215. package/dist/wgsl.mjs +1 -1
  216. package/dist/wikitext.mjs +1 -1
  217. package/dist/wit.mjs +1 -1
  218. package/dist/wolfram.mjs +1 -1
  219. package/dist/xml.mjs +1 -1
  220. package/dist/xsl.mjs +1 -1
  221. package/dist/yaml.mjs +1 -1
  222. package/dist/zenscript.mjs +1 -1
  223. package/dist/zig.mjs +1 -1
  224. package/package.json +4 -4
package/dist/puppet.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Puppet",fileTypes:["pp"],foldingStartMarker:/(^\p{space}*\/\*|([\{\[\(])\p{space}*(?=\n?$))/dgv,foldingStopMarker:/(\*\/|^\p{space}*([\}\]\)]))/dgv,name:"puppet",patterns:[{include:"#line_comment"},{include:"#constants"},{begin:/^\p{space}*\/\*/dgv,end:/\*\//dgv,name:"comment.block.puppet"},{begin:/\b(node)\b/dgv,captures:{"1":{name:"storage.type.puppet"},"2":{name:"entity.name.type.class.puppet"}},end:/(?=\{)/dgv,name:"meta.definition.class.puppet",patterns:[{match:/\bdefault\b/dgv,name:"keyword.puppet"},{include:"#strings"},{include:"#regex-literal"}]},{begin:/\b(class)\p{space}+((?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+|[a-z][a-z0-9_]*)\p{space}*/dgv,captures:{"1":{name:"storage.type.puppet"},"2":{name:"entity.name.type.class.puppet"}},end:/(?=\{)/dgv,name:"meta.definition.class.puppet",patterns:[{begin:/\b(inherits)\b\p{space}+/dgv,captures:{"1":{name:"storage.modifier.puppet"}},end:/(?=[\(\{])/dgv,name:"meta.definition.class.inherits.puppet",patterns:[{match:/\b((?:[\-_A-Za-z0-9"\.]+::)*[\-_A-Za-z0-9"\.]+)\b/dgv,name:"support.type.puppet"}]},{include:"#line_comment"},{include:"#resource-parameters"},{include:"#parameter-default-types"}]},{begin:/^\p{space}*(plan)\p{space}+((?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+|[a-z][a-z0-9_]*)\p{space}*/dgv,captures:{"1":{name:"storage.type.puppet"},"2":{name:"entity.name.type.plan.puppet"}},end:/(?=\{)/dgv,name:"meta.definition.plan.puppet",patterns:[{include:"#line_comment"},{include:"#resource-parameters"},{include:"#parameter-default-types"}]},{begin:/^\p{space}*(define|function)\p{space}+([a-z][a-z0-9_]*|(?:[a-z][a-z0-9_]*)?(?:::[a-z][a-z0-9_]*)+)\p{space}*(\()/dgv,captures:{"1":{name:"storage.type.function.puppet"},"2":{name:"entity.name.function.puppet"}},end:/(?=\{)/dgv,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/dgv},{include:"#keywords"},{include:"#resource-definition"},{include:"#heredoc"},{include:"#strings"},{include:"#puppet-datatypes"},{include:"#array"},{match:/((\$?)"?[a-zA-Z_\x7F-ÿ][a-zA-Z0-9_\x7F-ÿ]*"?):(?=\p{space}+|(?=\n?$))/dgv,name:"entity.name.section.puppet"},{include:"#numbers"},{include:"#variable"},{begin:/\b(import|include|contain|require)\p{space}+(?![^\n]*=>)/dgv,beginCaptures:{"1":{name:"keyword.control.import.include.puppet"}},contentName:"variable.parameter.include.puppet",end:/(?=\p{space}|(?=\n?$))/dgv,name:"meta.include.puppet"},{match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?==>)\p{space}*/dgv,name:"constant.other.key.puppet"},{match:/(?<=\{)\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?=\})/dgv,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(?![^\n]*\{)/dgv,name:"support.function.puppet"},{match:/=>/dgv,name:"punctuation.separator.key-value.puppet"},{match:/->/dgv,name:"keyword.control.orderarrow.puppet"},{match:/~>/dgv,name:"keyword.control.notifyarrow.puppet"},{include:"#regex-literal"}],repository:{array:{begin:/(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.array.begin.puppet"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.array.end.puppet"}},name:"meta.array.puppet",patterns:[{match:/\p{space}*,\p{space}*/dgv},{include:"#parameter-default-types"},{include:"#line_comment"}]},constants:{patterns:[{match:/\b(absent|directory|false|file|present|running|stopped|true)\b(?![^\n]*\{)/dgv,name:"constant.language.puppet"}]},"double-quoted-string":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.quoted.double.interpolated.puppet",patterns:[{include:"#escaped_char"},{include:"#interpolated_puppet"}]},escaped_char:{match:/\\[^\n]/dgv,name:"constant.character.escape.puppet"},function_call:{begin:/([a-zA-Z_][a-zA-Z0-9_]*)(\()/dgv,end:/\)/dgv,name:"meta.function-call.puppet",patterns:[{include:"#parameter-default-types"},{match:/,/dgv,name:"punctuation.separator.parameters.puppet"}]},hash:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.hash.begin.puppet"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.hash.end.puppet"}},name:"meta.hash.puppet",patterns:[{match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?==>)\p{space}*/dgv,name:"constant.other.key.puppet"},{include:"#parameter-default-types"},{include:"#line_comment"}]},heredoc:{patterns:[{begin:/@\([\p{Zs}\t]*"([^\:\/\) \t]+)"[\p{Zs}\t]*(:[\p{Zs}\t]*[a-z][a-zA-Z0-9_\+]*[\p{Zs}\t]*)?(\/[\p{Zs}\t]*[tsrnL\$]*)?[\p{Zs}\t]*\)/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/^[\p{Zs}\t]*(\|[\p{Zs}\t]*-|[\|\-])?[\p{Zs}\t]*\1/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.interpolated.heredoc.puppet",patterns:[{include:"#escaped_char"},{include:"#interpolated_puppet"}]},{begin:/@\([\p{Zs}\t]*([^\:\/\) \t]+)[\p{Zs}\t]*(:[\p{Zs}\t]*[a-z][a-zA-Z0-9_\+]*[\p{Zs}\t]*)?(\/[\p{Zs}\t]*[tsrnL\$]*)?[\p{Zs}\t]*\)/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/^[\p{Zs}\t]*(\|[\p{Zs}\t]*-|[\|\-])?[\p{Zs}\t]*\1/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.unquoted.heredoc.puppet"}]},interpolated_puppet:{patterns:[{begin:/(\$\{)(\p{Nd}+)/dgv,beginCaptures:{"1":{name:"punctuation.section.embedded.begin.puppet"},"2":{name:"source.puppet variable.other.readwrite.global.pre-defined.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]},{begin:/(\$\{)(_[a-zA-Z0-9_]*)/dgv,beginCaptures:{"1":{name:"punctuation.section.embedded.begin.puppet"},"2":{name:"source.puppet variable.other.readwrite.global.puppet"}},contentName:"source.puppet",end:/\}/dgv,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_]*)*)/dgv,beginCaptures:{"1":{name:"punctuation.section.embedded.begin.puppet"},"2":{name:"source.puppet variable.other.readwrite.global.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]},{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.puppet"}},contentName:"source.puppet",end:/\}/dgv,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/dgv},line_comment:{patterns:[{captures:{"1":{name:"comment.line.number-sign.puppet"},"2":{name:"punctuation.definition.comment.puppet"}},match:/^((#)[^\n]*(?=\n?$)\n?)/dgv,name:"meta.comment.full-line.puppet"},{captures:{"1":{name:"punctuation.definition.comment.puppet"}},match:/(#)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.puppet"}]},nested_braces:{begin:/\{/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\}/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_braces"}]},nested_braces_interpolated:{begin:/\{/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\}/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},nested_brackets:{begin:/\[/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\]/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_brackets"}]},nested_brackets_interpolated:{begin:/\[/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\]/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},nested_parens:{begin:/\(/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\)/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_parens"}]},nested_parens_interpolated:{begin:/\(/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\)/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},numbers:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])([\-\+]?)0x(?:[0-9a-f])+(?![\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])/dgiv,name:"constant.numeric.hexadecimal.puppet"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\.])([\-\+]?)(?<!\p{Nd})\p{Nd}+(?:e([\+\-])?\p{Nd}+)?(?![\p{L}\p{M}\p{N}\p{Pc}\p{Nd}\.])/dgiv,name:"constant.numeric.integer.puppet"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?)\p{Nd}+\.\p{Nd}+(?:e([\+\-])?\p{Nd}+)?(?![\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])/dgiv,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_])/dgv,name:"storage.type.puppet"}]},"regex-literal":{match:/(\/)([^\n]+?)[^\\]\//dgv,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_]*)+)\p{space}*(\{)\p{space}*/dgv,beginCaptures:{"1":{name:"meta.definition.resource.puppet storage.type.puppet"}},contentName:"entity.name.section.puppet",end:/:/dgv,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_]*)\p{space}*(?=[\,\)])/dgv,name:"meta.function.argument.puppet"},{begin:/((\$+)[a-zA-Z_][a-zA-Z0-9_]*)\p{space}*(=)\p{space}*\p{space}*/dgv,captures:{"1":{name:"variable.other.puppet"},"2":{name:"punctuation.definition.variable.puppet"},"3":{name:"keyword.operator.assignment.puppet"}},end:/(?=[\,\)])/dgv,name:"meta.function.argument.puppet",patterns:[{include:"#parameter-default-types"}]}]},"single-quoted-string":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/'/dgv,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:/(\$)(\p{Nd}+)/dgv,name:"variable.other.readwrite.global.pre-defined.puppet"},{captures:{"1":{name:"punctuation.definition.variable.puppet"}},match:/(\$)_[a-zA-Z0-9_]*/dgv,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_]*)*)/dgv,name:"variable.other.readwrite.global.puppet"}]}},scopeName:"source.puppet",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Puppet",fileTypes:["pp"],foldingStartMarker:/(^\p{space}*\/\*|([\(\[\{])\p{space}*(?=\n?$))/dgv,foldingStopMarker:/(\*\/|^\p{space}*([\]\)\}]))/dgv,name:"puppet",patterns:[{include:"#line_comment"},{include:"#constants"},{begin:/^\p{space}*\/\*/dgv,end:/\*\//dgv,name:"comment.block.puppet"},{begin:/\b(node)\b/dgv,captures:{"1":{name:"storage.type.puppet"},"2":{name:"entity.name.type.class.puppet"}},end:/(?=\{)/dgv,name:"meta.definition.class.puppet",patterns:[{match:/\bdefault\b/dgv,name:"keyword.puppet"},{include:"#strings"},{include:"#regex-literal"}]},{begin:/\b(class)\p{space}+((?:[a-z][0-9_a-z]*)?(?:::[a-z][0-9_a-z]*)+|[a-z][0-9_a-z]*)\p{space}*/dgv,captures:{"1":{name:"storage.type.puppet"},"2":{name:"entity.name.type.class.puppet"}},end:/(?=\{)/dgv,name:"meta.definition.class.puppet",patterns:[{begin:/\b(inherits)\b\p{space}+/dgv,captures:{"1":{name:"storage.modifier.puppet"}},end:/(?=[\(\{])/dgv,name:"meta.definition.class.inherits.puppet",patterns:[{match:/\b((?:[\-"\.0-9A-Z_a-z]+::)*[\-"\.0-9A-Z_a-z]+)\b/dgv,name:"support.type.puppet"}]},{include:"#line_comment"},{include:"#resource-parameters"},{include:"#parameter-default-types"}]},{begin:/^\p{space}*(plan)\p{space}+((?:[a-z][0-9_a-z]*)?(?:::[a-z][0-9_a-z]*)+|[a-z][0-9_a-z]*)\p{space}*/dgv,captures:{"1":{name:"storage.type.puppet"},"2":{name:"entity.name.type.plan.puppet"}},end:/(?=\{)/dgv,name:"meta.definition.plan.puppet",patterns:[{include:"#line_comment"},{include:"#resource-parameters"},{include:"#parameter-default-types"}]},{begin:/^\p{space}*(define|function)\p{space}+([a-z][0-9_a-z]*|(?:[a-z][0-9_a-z]*)?(?:::[a-z][0-9_a-z]*)+)\p{space}*(\()/dgv,captures:{"1":{name:"storage.type.function.puppet"},"2":{name:"entity.name.function.puppet"}},end:/(?=\{)/dgv,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/dgv},{include:"#keywords"},{include:"#resource-definition"},{include:"#heredoc"},{include:"#strings"},{include:"#puppet-datatypes"},{include:"#array"},{match:/((\$?)"?[A-Z_a-z\x7F-ÿ][0-9A-Z_a-z\x7F-ÿ]*"?):(?=\p{space}+|(?=\n?$))/dgv,name:"entity.name.section.puppet"},{include:"#numbers"},{include:"#variable"},{begin:/\b(import|include|contain|require)\p{space}+(?![^\n]*=>)/dgv,beginCaptures:{"1":{name:"keyword.control.import.include.puppet"}},contentName:"variable.parameter.include.puppet",end:/(?=\p{space}|(?=\n?$))/dgv,name:"meta.include.puppet"},{match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?==>)\p{space}*/dgv,name:"constant.other.key.puppet"},{match:/(?<=\{)\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?=\})/dgv,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(?![^\n]*\{)/dgv,name:"support.function.puppet"},{match:/=>/dgv,name:"punctuation.separator.key-value.puppet"},{match:/->/dgv,name:"keyword.control.orderarrow.puppet"},{match:/~>/dgv,name:"keyword.control.notifyarrow.puppet"},{include:"#regex-literal"}],repository:{array:{begin:/(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.array.begin.puppet"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.array.end.puppet"}},name:"meta.array.puppet",patterns:[{match:/\p{space}*,\p{space}*/dgv},{include:"#parameter-default-types"},{include:"#line_comment"}]},constants:{patterns:[{match:/\b(absent|directory|false|file|present|running|stopped|true)\b(?![^\n]*\{)/dgv,name:"constant.language.puppet"}]},"double-quoted-string":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.quoted.double.interpolated.puppet",patterns:[{include:"#escaped_char"},{include:"#interpolated_puppet"}]},escaped_char:{match:/\\[^\n]/dgv,name:"constant.character.escape.puppet"},function_call:{begin:/([A-Z_a-z][0-9A-Z_a-z]*)(\()/dgv,end:/\)/dgv,name:"meta.function-call.puppet",patterns:[{include:"#parameter-default-types"},{match:/,/dgv,name:"punctuation.separator.parameters.puppet"}]},hash:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.hash.begin.puppet"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.hash.end.puppet"}},name:"meta.hash.puppet",patterns:[{match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?==>)\p{space}*/dgv,name:"constant.other.key.puppet"},{include:"#parameter-default-types"},{include:"#line_comment"}]},heredoc:{patterns:[{begin:/@\([\p{Zs}\t]*"([^\t \)\/\:]+)"[\p{Zs}\t]*(:[\p{Zs}\t]*[a-z][\+0-9A-Z_a-z]*[\p{Zs}\t]*)?(\/[\p{Zs}\t]*[\$Lnrst]*)?[\p{Zs}\t]*\)/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/^[\p{Zs}\t]*(\|[\p{Zs}\t]*-|[\-\|])?[\p{Zs}\t]*\1/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.interpolated.heredoc.puppet",patterns:[{include:"#escaped_char"},{include:"#interpolated_puppet"}]},{begin:/@\([\p{Zs}\t]*([^\t \)\/\:]+)[\p{Zs}\t]*(:[\p{Zs}\t]*[a-z][\+0-9A-Z_a-z]*[\p{Zs}\t]*)?(\/[\p{Zs}\t]*[\$Lnrst]*)?[\p{Zs}\t]*\)/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/^[\p{Zs}\t]*(\|[\p{Zs}\t]*-|[\-\|])?[\p{Zs}\t]*\1/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.puppet"}},name:"string.unquoted.heredoc.puppet"}]},interpolated_puppet:{patterns:[{begin:/(\$\{)(\p{Nd}+)/dgv,beginCaptures:{"1":{name:"punctuation.section.embedded.begin.puppet"},"2":{name:"source.puppet variable.other.readwrite.global.pre-defined.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]},{begin:/(\$\{)(_[0-9A-Z_a-z]*)/dgv,beginCaptures:{"1":{name:"punctuation.section.embedded.begin.puppet"},"2":{name:"source.puppet variable.other.readwrite.global.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]},{begin:/(\$\{)(([a-z][0-9_a-z]*)?(?:::[a-z][0-9_a-z]*)*)/dgv,beginCaptures:{"1":{name:"punctuation.section.embedded.begin.puppet"},"2":{name:"source.puppet variable.other.readwrite.global.puppet"}},contentName:"source.puppet",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.puppet"}},name:"meta.embedded.line.puppet",patterns:[{include:"$self"}]},{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.puppet"}},contentName:"source.puppet",end:/\}/dgv,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/dgv},line_comment:{patterns:[{captures:{"1":{name:"comment.line.number-sign.puppet"},"2":{name:"punctuation.definition.comment.puppet"}},match:/^((#)[^\n]*(?=\n?$)\n?)/dgv,name:"meta.comment.full-line.puppet"},{captures:{"1":{name:"punctuation.definition.comment.puppet"}},match:/(#)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.puppet"}]},nested_braces:{begin:/\{/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\}/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_braces"}]},nested_braces_interpolated:{begin:/\{/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\}/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_braces_interpolated"}]},nested_brackets:{begin:/\[/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\]/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_brackets"}]},nested_brackets_interpolated:{begin:/\[/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\]/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_brackets_interpolated"}]},nested_parens:{begin:/\(/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\)/dgv,patterns:[{include:"#escaped_char"},{include:"#nested_parens"}]},nested_parens_interpolated:{begin:/\(/dgv,captures:{"1":{name:"punctuation.section.scope.puppet"}},end:/\)/dgv,patterns:[{include:"#escaped_char"},{include:"#variable"},{include:"#nested_parens_interpolated"}]},numbers:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])([\-\+]?)0x(?:[0-9a-f])+(?![\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])/dgiv,name:"constant.numeric.hexadecimal.puppet"},{match:/(?<![\.\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?)(?<!\p{Nd})\p{Nd}+(?:e([\-\+])?\p{Nd}+)?(?![\.\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])/dgiv,name:"constant.numeric.integer.puppet"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?)\p{Nd}+\.\p{Nd}+(?:e([\-\+])?\p{Nd}+)?(?![\p{L}\p{M}\p{N}\p{Pc}\p{Nd}])/dgiv,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][0-9A-Z_a-z]*)(?![0-9A-Z_a-z])/dgv,name:"storage.type.puppet"}]},"regex-literal":{match:/(\/)([^\n]+?)[^\\]\//dgv,name:"string.regexp.literal.puppet"},"resource-definition":{begin:/(?:^|\b)(::[a-z][0-9_a-z]*|[a-z][0-9_a-z]*|(?:[a-z][0-9_a-z]*)?(?:::[a-z][0-9_a-z]*)+)\p{space}*(\{)\p{space}*/dgv,beginCaptures:{"1":{name:"meta.definition.resource.puppet storage.type.puppet"}},contentName:"entity.name.section.puppet",end:/:/dgv,patterns:[{include:"#strings"},{include:"#variable"},{include:"#array"}]},"resource-parameters":{patterns:[{captures:{"1":{name:"variable.other.puppet"},"2":{name:"punctuation.definition.variable.puppet"}},match:/((\$+)[A-Z_a-z][0-9A-Z_a-z]*)\p{space}*(?=[\)\,])/dgv,name:"meta.function.argument.puppet"},{begin:/((\$+)[A-Z_a-z][0-9A-Z_a-z]*)\p{space}*(=)\p{space}*\p{space}*/dgv,captures:{"1":{name:"variable.other.puppet"},"2":{name:"punctuation.definition.variable.puppet"},"3":{name:"keyword.operator.assignment.puppet"}},end:/(?=[\)\,])/dgv,name:"meta.function.argument.puppet",patterns:[{include:"#parameter-default-types"}]}]},"single-quoted-string":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.puppet"}},end:/'/dgv,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:/(\$)(\p{Nd}+)/dgv,name:"variable.other.readwrite.global.pre-defined.puppet"},{captures:{"1":{name:"punctuation.definition.variable.puppet"}},match:/(\$)_[0-9A-Z_a-z]*/dgv,name:"variable.other.readwrite.global.puppet"},{captures:{"1":{name:"punctuation.definition.variable.puppet"}},match:/(\$)(([a-z][0-9A-Z_a-z]*)?(?:::[a-z][0-9A-Z_a-z]*)*)/dgv,name:"variable.other.readwrite.global.puppet"}]}},scopeName:"source.puppet",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({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:/<-|->/dgv,name:"keyword.other.arrow.purescript"},{match:/[[\p{S}\p{P}]&&[^\(\)\,\;\[\]\`\{\}_"']]+/dgv,name:"keyword.operator.purescript"},{match:/,/dgv,name:"punctuation.separator.comma.purescript"}],repository:{block_comment:{patterns:[{applyEndPatternLast:1,begin:/\{-\p{space}*\|/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.documentation.purescript"}},end:/-\}/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.documentation.purescript"}},name:"comment.block.documentation.purescript",patterns:[{include:"#block_comment"}]},{applyEndPatternLast:1,begin:/\{-/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.purescript"}},end:/-\}/dgv,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\p{AHex}+)|(\^[A-Z\@\[\]\\\^_]))/dgv}]},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}']*)*/dgv,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}']*)*)\p{space}+(?<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}']*)(?:\p{space}*\p{space}+\p{space}*(?:[\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}']*))*)/dgv,name:"meta.class-constraint.purescript"}]},comments:{patterns:[{begin:/(^[ \t]+)?(?=--+)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.purescript"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/--/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.purescript"}},end:/\n/dgv,name:"comment.line.double-dash.purescript"}]},{include:"#block_comment"}]},constant_boolean:{patterns:[{match:/\b(true|false)(?!')\b/dgv,name:"constant.language.boolean.purescript"}]},constant_numeric:{patterns:[{match:/\b(([0-9]+_?)*[0-9]+|0([xX]\p{AHex}+|[oO][0-7]+))\b/dgv,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(?!\.))(?!\$)/dgv,name:"constant.numeric.decimal.purescript"}]},control_keywords:{patterns:[{match:/\b(do|ado|if|then|else|case|of|let|in)(?!('|\p{space}*([\:\=])))\b/dgv,name:"keyword.control.purescript"}]},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}']*)*/dgv,name:"entity.name.tag.purescript"}]},data_type_declaration:{patterns:[{begin:/^(\p{space})*(data|newtype)\p{space}+([^\n]+?)\p{space}*(?==|(?=\n?$))/dgv,beginCaptures:{"2":{name:"storage.type.data.purescript"},"3":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}},end:/^(?!\1[ \t]|[ \t]*(?=\n?$))()/dgv,name:"meta.declaration.type.data.purescript",patterns:[{include:"#comments"},{captures:{"2":{patterns:[{include:"#data_ctor"}]}},match:/(?<=([\|\=])\p{space}*)([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)/dgv},{captures:{"0":{name:"keyword.operator.pipe.purescript"}},match:/\|/dgv},{include:"#record_types"},{include:"#type_signature"}]}]},derive_declaration:{patterns:[{begin:/^\p{space}*\b(derive)(\p{space}+newtype)?(\p{space}+instance)?(?!')\b/dgv,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:/^(?=\P{space})/dgv,endCaptures:{"1":{name:"keyword.other.purescript"}},name:"meta.declaration.derive.purescript",patterns:[{include:"#type_signature"}]}]},double_colon:{patterns:[{match:/(?:::|∷)/dgv,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:/((?:::|∷))([^\n]*)(?=<-|""")/dgv}]},{patterns:[{captures:{"1":{name:"keyword.other.double-colon.purescript"},"2":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}},match:/((?:::|∷))([^\n]*)/dgv}]}]},double_colon_orphan:{patterns:[{begin:/(\p{space}*)(::|∷)(\p{space}*)(?=\n?$)/dgv,beginCaptures:{"2":{name:"keyword.other.double-colon.purescript"}},end:/^(?!\1[ \t]*|[ \t]*(?=\n?$))()/dgv,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>(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:)\))*)\))*)\))*)\))*)\))*)(::|∷)(?<paren2>(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:)\))*)\))*)\))*)\))*)\))*)\)/dgv}]},foreign_import:{patterns:[{begin:/^(\p{space}*)(foreign)\p{space}+(import)\p{space}+([\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)/dgv,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]*(?=\n?$))()/dgv,name:"meta.foreign.purescript",patterns:[{include:"#double_colon"},{include:"#type_signature"},{include:"#record_types"}]}]},foreign_import_data:{patterns:[{begin:/^(\p{space}*)(foreign)\p{space}+(import)\p{space}+(data)(?:\p{space}+([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)\p{space}*((?:::|∷)))?/dgv,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]*(?=\n?$))()/dgv,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}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(`)/dgv,name:"keyword.operator.function.infix.purescript"}]},function_type_declaration:{patterns:[{begin:/^(\p{space}*)([\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)\p{space}*(::|∷)(?![^\n]*<-)/dgv,beginCaptures:{"2":{name:"entity.name.function.purescript"},"3":{name:"keyword.other.double-colon.purescript"}},contentName:"meta.type-signature.purescript",end:/^(?!\1[ \t]|[ \t]*(?=\n?$))()/dgv,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}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*\.)?[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*/dgv,name:"variable.other.generic-type.purescript"}]},infix_op:{patterns:[{match:/\((?!--+\))[[\p{S}\p{P}]&&[^\(\)\,\;\[\]\`\{\}_"']]+\)/dgv,name:"entity.name.function.infix.purescript"}]},infix_op_declaration:{patterns:[{begin:/^\b(infix[l\|r]?)(?!')\b/dgv,beginCaptures:{"1":{name:"keyword.other.purescript"}},end:/((?=\n?$))/dgv,name:"meta.infix.declaration.purescript",patterns:[{include:"#comments"},{include:"#data_ctor"},{match:/\p{Nd}+/dgv,name:"constant.numeric.purescript"},{captures:{"1":{name:"keyword.other.purescript"}},match:/([[\p{S}\p{P}]&&[^\(\)\,\;\[\]\`\{\}_"']]+)/dgv},{captures:{"1":{name:"keyword.other.purescript"},"2":{name:"entity.name.type.purescript"}},match:/\b(type)\p{space}+([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*)\b/dgv},{captures:{"1":{name:"keyword.other.purescript"}},match:/\b(as|type)\b/dgv}]}]},instance_declaration:{patterns:[{begin:/^\p{space}*\b(else\p{space}+)?(newtype\p{space}+)?(instance)(?!')\b/dgv,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|(?=^\P{space}))/dgv,endCaptures:{"1":{name:"keyword.other.purescript"}},name:"meta.declaration.instance.purescript",patterns:[{include:"#type_signature"}]}]},keywords_orphan:{patterns:[{match:/^\p{space}*\b(derive|where|data|type|newtype|foreign(\p{space}+import)?(\p{space}+data)?)(?!')\b/dgv,name:"keyword.other.purescript"}]},kind_signature:{patterns:[{match:/\*/dgv,name:"keyword.other.star.purescript"},{match:/!/dgv,name:"keyword.other.exclaimation-point.purescript"},{match:/#/dgv,name:"keyword.other.pound-sign.purescript"},{match:/->|→/dgv,name:"keyword.other.arrow.purescript"}]},markup_newline:{patterns:[{match:/\\(?=\n?$)/dgv,name:"markup.other.escape.newline.purescript"}]},module_declaration:{patterns:[{begin:/^\p{space}*\b(module)(?!')\b/dgv,beginCaptures:{"1":{name:"keyword.other.purescript"}},end:/(\bwhere\b)/dgv,endCaptures:{"1":{name:"keyword.other.purescript"}},name:"meta.declaration.module.purescript",patterns:[{include:"#comments"},{include:"#module_name"},{include:"#module_exports"},{match:/[a-z]+/dgv,name:"invalid.purescript"}]}]},module_exports:{patterns:[{begin:/\(/dgv,end:/\)/dgv,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}']*/dgv,name:"entity.name.function.purescript"},{include:"#type_name"},{match:/,/dgv,name:"punctuation.separator.comma.purescript"},{include:"#infix_op"},{match:/\([^\n]*?\)/dgv,name:"meta.other.constructor-list.purescript"}]}]},module_import:{patterns:[{begin:/^\p{space}*\b(import)(?!')\b/dgv,beginCaptures:{"1":{name:"keyword.other.purescript"}},end:/^(?=\P{space})/dgv,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/dgv}]}]},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}']*)*\.?/dgv,name:"support.other.module.purescript"}]},record_field_declaration:{patterns:[{begin:/([ \,]"(?:[\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}']*)"|[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)\p{space}*(::|∷)/dgv,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}']*/dgv,name:"entity.other.attribute-name.purescript"},{match:/"([\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*|[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)"/dgv,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}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*|[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)"|[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)\p{space}*(::|∷)|\}| \)|^(?!(?!)[ \t]|[ \t]*(?=\n?$)))/dgv,name:"meta.record-field.type-declaration.purescript",patterns:[{include:"#record_types"},{include:"#type_signature"},{include:"#comments"}]}]},record_types:{patterns:[{begin:/\{(?!-)/dgv,beginCaptures:{"0":{name:"keyword.operator.type.record.begin.purescript"}},end:/\}/dgv,endCaptures:{"0":{name:"keyword.operator.type.record.end.purescript"}},name:"meta.type.record.purescript",patterns:[{match:/,/dgv,name:"punctuation.separator.comma.purescript"},{include:"#comments"},{include:"#record_field_declaration"},{include:"#type_signature"}]}]},row_types:{patterns:[{begin:/\((?=\p{space}*([\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*|"[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*"|"[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*")\p{space}*(::|∷))/dgv,end:/(?=^\P{space})/dgv,name:"meta.type.row.purescript",patterns:[{match:/,/dgv,name:"punctuation.separator.comma.purescript"},{include:"#comments"},{include:"#record_field_declaration"},{include:"#type_signature"}]}]},string_double_quoted:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.purescript"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.purescript"}},name:"string.quoted.double.purescript",patterns:[{include:"#characters"},{begin:/\\\p{space}/dgv,beginCaptures:{"0":{name:"markup.other.escape.newline.begin.purescript"}},end:/\\/dgv,endCaptures:{"0":{name:"markup.other.escape.newline.end.purescript"}},patterns:[{match:/\P{space}+/dgv,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\p{AHex}+)|(\^[A-Z\@\[\]\\\^_])))(')/dgv,name:"string.quoted.single.purescript"}]},string_triple_quoted:{patterns:[{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.purescript"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.purescript"}},name:"string.quoted.triple.purescript"}]},type_kind_signature:{patterns:[{begin:/^(data|newtype)\p{space}+([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)\p{space}*((?:::|∷))/dgv,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:/(?=^\P{space})/dgv,name:"meta.declaration.type.data.signature.purescript",patterns:[{include:"#type_signature"},{captures:{"0":{name:"keyword.operator.assignment.purescript"}},match:/=/dgv},{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}']*)*)\p{space}+(?<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}']*|(?:(?:[\p{L}\p{M}\p{N}\p{Pc}\(\)'→⇒\[\]\,]|->|=>)+\p{space}*)+)(?:\p{space}*\p{space}+\p{space}*(?:[\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}']*|(?:(?:[\p{L}\p{M}\p{N}\p{Pc}\(\)'→⇒\[\]\,]|->|=>)+\p{space}*)+))*)?/dgv},{captures:{"0":{name:"keyword.operator.pipe.purescript"}},match:/\|/dgv},{include:"#record_types"}]}]},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}']*)*/dgv,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}\p{Nd}']*(?:\.[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)*)\p{space}+(?<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}']*)(?:\p{space}*\p{space}+\p{space}*(?:[\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}']*))*)(?:\p{space}*,\p{space}*([\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{space}+((?:[\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}']*)(?:\p{space}*\p{space}+\p{space}*(?:[\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}']*))*))*)\)\p{space}*(=>|<=|[⇐⇒])/dgv,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}']*)*)\p{space}+(?<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}']*)(?:\p{space}*\p{space}+\p{space}*(?:[\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}']*))*))\p{space}*(=>|<=|[⇐⇒])/dgv,name:"meta.class-constraints.purescript"},{match:/(?<![[\p{S}\p{P}]&&[^\(\)\,\;\[\]\`\{\}_"']])(->|→)/dgv,name:"keyword.other.arrow.purescript"},{match:/(?<![[\p{S}\p{P}]&&[^\(\)\,\;\[\]\`\{\}_"']])(=>|⇒)/dgv,name:"keyword.other.big-arrow.purescript"},{match:/<=|⇐/dgv,name:"keyword.other.big-arrow-left.purescript"},{match:/forall|∀/dgv,name:"keyword.other.forall.purescript"},{include:"#string_double_quoted"},{include:"#generic_type"},{include:"#type_name"},{include:"#comments"},{match:/[[\p{S}\p{P}]&&[^\(\)\,\;\[\]\`\{\}_"']]+/dgv,name:"keyword.other.purescript"}]},type_synonym_declaration:{patterns:[{begin:/^(\p{space})*(type)\p{space}+([^\n]+?)\p{space}*(?==|(?=\n?$))/dgv,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]*(?=\n?$))()/dgv,name:"meta.declaration.type.type.purescript",patterns:[{captures:{"0":{name:"keyword.operator.assignment.purescript"}},match:/=/dgv},{include:"#type_signature"},{include:"#record_types"},{include:"#row_types"},{include:"#comments"}]}]},typeclass_declaration:{patterns:[{begin:/^\p{space}*\b(class)(?!')\b/dgv,beginCaptures:{"1":{name:"storage.type.class.purescript"}},end:/(\bwhere\b|(?=^\P{space}))/dgv,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}\p{Nd}']*|[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)/dgv,name:"entity.name.function.typed-hole.purescript"}]}},scopeName:"source.purescript",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({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:/<-|->/dgv,name:"keyword.other.arrow.purescript"},{match:/[[\p{S}\p{P}]&&[^\]"'\(\)\,\;\[_\`\{\}]]+/dgv,name:"keyword.operator.purescript"},{match:/,/dgv,name:"punctuation.separator.comma.purescript"}],repository:{block_comment:{patterns:[{applyEndPatternLast:1,begin:/\{-\p{space}*\|/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.documentation.purescript"}},end:/-\}/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.documentation.purescript"}},name:"comment.block.documentation.purescript",patterns:[{include:"#block_comment"}]},{applyEndPatternLast:1,begin:/\{-/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.purescript"}},end:/-\}/dgv,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\p{AHex}+)|(\^[\@-_])/dgv}]},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}]*)*/dgv,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}]*)*)\p{space}+(?<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}]*)(?:\p{space}*\p{space}+\p{space}*(?:[\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}]*))*)/dgv,name:"meta.class-constraint.purescript"}]},comments:{patterns:[{begin:/(^[\t ]+)?(?=--+)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.purescript"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/--/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.purescript"}},end:/\n/dgv,name:"comment.line.double-dash.purescript"}]},{include:"#block_comment"}]},constant_boolean:{patterns:[{match:/\b(true|false)(?!')\b/dgv,name:"constant.language.boolean.purescript"}]},constant_numeric:{patterns:[{match:/\b(([0-9]+_?)*[0-9]+|0([Xx]\p{AHex}+|[Oo][0-7]+))\b/dgv,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(?!\.))(?!\$)/dgv,name:"constant.numeric.decimal.purescript"}]},control_keywords:{patterns:[{match:/\b(do|ado|if|then|else|case|of|let|in)(?!('|\p{space}*([\:\=])))\b/dgv,name:"keyword.control.purescript"}]},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}]*)*/dgv,name:"entity.name.tag.purescript"}]},data_type_declaration:{patterns:[{begin:/^(\p{space})*(data|newtype)\p{space}+([^\n]+?)\p{space}*(?==|(?=\n?$))/dgv,beginCaptures:{"2":{name:"storage.type.data.purescript"},"3":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}},end:/^(?!\1[\t ]|[\t ]*(?=\n?$))()/dgv,name:"meta.declaration.type.data.purescript",patterns:[{include:"#comments"},{captures:{"2":{patterns:[{include:"#data_ctor"}]}},match:/(?<=([\=\|])\p{space}*)([\p{Lu}\p{Lt}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)/dgv},{captures:{"0":{name:"keyword.operator.pipe.purescript"}},match:/\|/dgv},{include:"#record_types"},{include:"#type_signature"}]}]},derive_declaration:{patterns:[{begin:/^\p{space}*\b(derive)(\p{space}+newtype)?(\p{space}+instance)?(?!')\b/dgv,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:/^(?=\P{space})/dgv,endCaptures:{"1":{name:"keyword.other.purescript"}},name:"meta.declaration.derive.purescript",patterns:[{include:"#type_signature"}]}]},double_colon:{patterns:[{match:/::|∷/dgv,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:/(::|∷)([^\n]*)(?=<-|""")/dgv}]},{patterns:[{captures:{"1":{name:"keyword.other.double-colon.purescript"},"2":{name:"meta.type-signature.purescript",patterns:[{include:"#type_signature"}]}},match:/(::|∷)([^\n]*)/dgv}]}]},double_colon_orphan:{patterns:[{begin:/(\p{space}*)(::|∷)(\p{space}*)(?=\n?$)/dgv,beginCaptures:{"2":{name:"keyword.other.double-colon.purescript"}},end:/^(?!\1[\t ]*|[\t ]*(?=\n?$))()/dgv,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>(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:)\))*)\))*)\))*)\))*)\))*)(::|∷)(?<paren2>(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:(?:[^\(\)]|\((?:)\))*)\))*)\))*)\))*)\))*)\)/dgv}]},foreign_import:{patterns:[{begin:/^(\p{space}*)(foreign)\p{space}+(import)\p{space}+([_\p{Ll}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)/dgv,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 ]*(?=\n?$))()/dgv,name:"meta.foreign.purescript",patterns:[{include:"#double_colon"},{include:"#type_signature"},{include:"#record_types"}]}]},foreign_import_data:{patterns:[{begin:/^(\p{space}*)(foreign)\p{space}+(import)\p{space}+(data)(?:\p{space}+([\p{Lu}\p{Lt}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)\p{space}*(::|∷))?/dgv,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 ]*(?=\n?$))()/dgv,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}\p{Nd}]*(?:\.[\p{Lu}\p{Lt}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)*\.)?[_\p{Ll}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*(`)/dgv,name:"keyword.operator.function.infix.purescript"}]},function_type_declaration:{patterns:[{begin:/^(\p{space}*)([_\p{Ll}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)\p{space}*(::|∷)(?![^\n]*<-)/dgv,beginCaptures:{"2":{name:"entity.name.function.purescript"},"3":{name:"keyword.other.double-colon.purescript"}},contentName:"meta.type-signature.purescript",end:/^(?!\1[\t ]|[\t ]*(?=\n?$))()/dgv,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}\p{Nd}]*(?:\.[\p{Lu}\p{Lt}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)*\.)?[_\p{Ll}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*/dgv,name:"variable.other.generic-type.purescript"}]},infix_op:{patterns:[{match:/\((?!--+\))[[\p{S}\p{P}]&&[^\]"'\(\)\,\;\[_\`\{\}]]+\)/dgv,name:"entity.name.function.infix.purescript"}]},infix_op_declaration:{patterns:[{begin:/^\b(infix[lr\|]?)(?!')\b/dgv,beginCaptures:{"1":{name:"keyword.other.purescript"}},end:/(?=\n?$)()/dgv,name:"meta.infix.declaration.purescript",patterns:[{include:"#comments"},{include:"#data_ctor"},{match:/\p{Nd}+/dgv,name:"constant.numeric.purescript"},{captures:{"1":{name:"keyword.other.purescript"}},match:/([[\p{S}\p{P}]&&[^\]"'\(\)\,\;\[_\`\{\}]]+)/dgv},{captures:{"1":{name:"keyword.other.purescript"},"2":{name:"entity.name.type.purescript"}},match:/\b(type)\p{space}+([\p{Lu}\p{Lt}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*(?:\.[\p{Lu}\p{Lt}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)*)\b/dgv},{captures:{"1":{name:"keyword.other.purescript"}},match:/\b(as|type)\b/dgv}]}]},instance_declaration:{patterns:[{begin:/^\p{space}*\b(else\p{space}+)?(newtype\p{space}+)?(instance)(?!')\b/dgv,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|(?=^\P{space}))/dgv,endCaptures:{"1":{name:"keyword.other.purescript"}},name:"meta.declaration.instance.purescript",patterns:[{include:"#type_signature"}]}]},keywords_orphan:{patterns:[{match:/^\p{space}*\b(derive|where|data|type|newtype|foreign(\p{space}+import)?(\p{space}+data)?)(?!')\b/dgv,name:"keyword.other.purescript"}]},kind_signature:{patterns:[{match:/\*/dgv,name:"keyword.other.star.purescript"},{match:/!/dgv,name:"keyword.other.exclaimation-point.purescript"},{match:/#/dgv,name:"keyword.other.pound-sign.purescript"},{match:/->|→/dgv,name:"keyword.other.arrow.purescript"}]},markup_newline:{patterns:[{match:/\\(?=\n?$)/dgv,name:"markup.other.escape.newline.purescript"}]},module_declaration:{patterns:[{begin:/^\p{space}*\b(module)(?!')\b/dgv,beginCaptures:{"1":{name:"keyword.other.purescript"}},end:/\b(where)\b/dgv,endCaptures:{"1":{name:"keyword.other.purescript"}},name:"meta.declaration.module.purescript",patterns:[{include:"#comments"},{include:"#module_name"},{include:"#module_exports"},{match:/[a-z]+/dgv,name:"invalid.purescript"}]}]},module_exports:{patterns:[{begin:/\(/dgv,end:/\)/dgv,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}]*/dgv,name:"entity.name.function.purescript"},{include:"#type_name"},{match:/,/dgv,name:"punctuation.separator.comma.purescript"},{include:"#infix_op"},{match:/\([^\n]*?\)/dgv,name:"meta.other.constructor-list.purescript"}]}]},module_import:{patterns:[{begin:/^\p{space}*\b(import)(?!')\b/dgv,beginCaptures:{"1":{name:"keyword.other.purescript"}},end:/^(?=\P{space})/dgv,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/dgv}]}]},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}]*)*\.?/dgv,name:"support.other.module.purescript"}]},record_field_declaration:{patterns:[{begin:/([ \,]"(?:[\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}]*)"|[_\p{Ll}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)\p{space}*(::|∷)/dgv,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}]*/dgv,name:"entity.other.attribute-name.purescript"},{match:/"([_\p{Ll}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*|[\p{Lu}\p{Lt}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)"/dgv,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}\p{Nd}]*(?:\.[\p{Lu}\p{Lt}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)*|[_\p{Ll}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)"|[_\p{Ll}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)\p{space}*(::|∷)|\}| \)|^(?!(?!)[\t ]|[\t ]*(?=\n?$)))/dgv,name:"meta.record-field.type-declaration.purescript",patterns:[{include:"#record_types"},{include:"#type_signature"},{include:"#comments"}]}]},record_types:{patterns:[{begin:/\{(?!-)/dgv,beginCaptures:{"0":{name:"keyword.operator.type.record.begin.purescript"}},end:/\}/dgv,endCaptures:{"0":{name:"keyword.operator.type.record.end.purescript"}},name:"meta.type.record.purescript",patterns:[{match:/,/dgv,name:"punctuation.separator.comma.purescript"},{include:"#comments"},{include:"#record_field_declaration"},{include:"#type_signature"}]}]},row_types:{patterns:[{begin:/\((?=\p{space}*([_\p{Ll}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*|"[_\p{Ll}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*"|"[\p{Lu}\p{Lt}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*")\p{space}*(::|∷))/dgv,end:/(?=^\P{space})/dgv,name:"meta.type.row.purescript",patterns:[{match:/,/dgv,name:"punctuation.separator.comma.purescript"},{include:"#comments"},{include:"#record_field_declaration"},{include:"#type_signature"}]}]},string_double_quoted:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.purescript"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.purescript"}},name:"string.quoted.double.purescript",patterns:[{include:"#characters"},{begin:/\\\p{space}/dgv,beginCaptures:{"0":{name:"markup.other.escape.newline.begin.purescript"}},end:/\\/dgv,endCaptures:{"0":{name:"markup.other.escape.newline.end.purescript"}},patterns:[{match:/\P{space}+/dgv,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\p{AHex}+)|(\^[\@-_]))(')/dgv,name:"string.quoted.single.purescript"}]},string_triple_quoted:{patterns:[{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.purescript"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.purescript"}},name:"string.quoted.triple.purescript"}]},type_kind_signature:{patterns:[{begin:/^(data|newtype)\p{space}+([\p{Lu}\p{Lt}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)\p{space}*(::|∷)/dgv,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:/(?=^\P{space})/dgv,name:"meta.declaration.type.data.signature.purescript",patterns:[{include:"#type_signature"},{captures:{"0":{name:"keyword.operator.assignment.purescript"}},match:/=/dgv},{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}]*)*)\p{space}+(?<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}]*|(?:(?:[\]'\(\)\,\[→⇒\p{L}\p{M}\p{N}\p{Pc}]|->|=>)+\p{space}*)+)(?:\p{space}*\p{space}+\p{space}*(?:[\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}]*|(?:(?:[\]'\(\)\,\[→⇒\p{L}\p{M}\p{N}\p{Pc}]|->|=>)+\p{space}*)+))*)?/dgv},{captures:{"0":{name:"keyword.operator.pipe.purescript"}},match:/\|/dgv},{include:"#record_types"}]}]},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}]*)*/dgv,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}\p{Nd}]*(?:\.[\p{Lu}\p{Lt}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)*)\p{space}+(?<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}]*)(?:\p{space}*\p{space}+\p{space}*(?:[\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}]*))*)(?:\p{space}*,\p{space}*([\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{space}+((?:[\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}]*)(?:\p{space}*\p{space}+\p{space}*(?:[\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}]*))*))*)\)\p{space}*(=>|<=|[⇐⇒])/dgv,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}]*)*)\p{space}+(?<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}]*)(?:\p{space}*\p{space}+\p{space}*(?:[\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}]*))*))\p{space}*(=>|<=|[⇐⇒])/dgv,name:"meta.class-constraints.purescript"},{match:/(?<![[\p{S}\p{P}]&&[^\]"'\(\)\,\;\[_\`\{\}]])(->|→)/dgv,name:"keyword.other.arrow.purescript"},{match:/(?<![[\p{S}\p{P}]&&[^\]"'\(\)\,\;\[_\`\{\}]])(=>|⇒)/dgv,name:"keyword.other.big-arrow.purescript"},{match:/<=|⇐/dgv,name:"keyword.other.big-arrow-left.purescript"},{match:/forall|∀/dgv,name:"keyword.other.forall.purescript"},{include:"#string_double_quoted"},{include:"#generic_type"},{include:"#type_name"},{include:"#comments"},{match:/[[\p{S}\p{P}]&&[^\]"'\(\)\,\;\[_\`\{\}]]+/dgv,name:"keyword.other.purescript"}]},type_synonym_declaration:{patterns:[{begin:/^(\p{space})*(type)\p{space}+([^\n]+?)\p{space}*(?==|(?=\n?$))/dgv,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 ]*(?=\n?$))()/dgv,name:"meta.declaration.type.type.purescript",patterns:[{captures:{"0":{name:"keyword.operator.assignment.purescript"}},match:/=/dgv},{include:"#type_signature"},{include:"#record_types"},{include:"#row_types"},{include:"#comments"}]}]},typeclass_declaration:{patterns:[{begin:/^\p{space}*\b(class)(?!')\b/dgv,beginCaptures:{"1":{name:"storage.type.class.purescript"}},end:/(\bwhere\b|(?=^\P{space}))/dgv,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}\p{Nd}]*|[\p{Lu}\p{Lt}]['_\p{Ll}\p{Lu}\p{Lt}\p{Nd}]*)/dgv,name:"entity.name.function.typed-hole.purescript"}]}},scopeName:"source.purescript",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang