@shikijs/langs 3.1.0 → 3.2.1

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/ocaml.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"OCaml\",\"fileTypes\":[\".ml\",\".mli\"],\"name\":\"ocaml\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#decl\"}],\"repository\":{\"attribute\":{\"begin\":\"(\\\\[)[[:space:]]*((?<![#\\\\-:!?.@*/&%^+<=>|~$])@{1,3}(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"beginCaptures\":{\"1\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},\"2\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}},\"patterns\":[{\"include\":\"#attributePayload\"}]},\"attributeIdentifier\":{\"captures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"punctuation.definition.tag\"}},\"match\":\"((?<![#\\\\-:!?.@*/&%^+<=>|~$])%(?![#\\\\-:!?.@*/&%^+<=>|~$]))((?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*))\"},\"attributePayload\":{\"patterns\":[{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]%|^%))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"((?<![#\\\\-:!?.@*/&%^+<=>|~$])[:\\\\?](?![#\\\\-:!?.@*/&%^+<=>|~$]))|(?<=[[:space:]])|(?=\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#pathModuleExtended\"},{\"include\":\"#pathRecord\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(?=\\\\])\",\"patterns\":[{\"include\":\"#signature\"},{\"include\":\"#type\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]\\\\?|^\\\\?))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(?=\\\\])\",\"patterns\":[{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]\\\\?|^\\\\?))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(?=\\\\])|\\\\bwhen\\\\b\",\"endCaptures\":{\"1\":{}},\"patterns\":[{\"include\":\"#pattern\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]when|^when))(?![[:word:]]))\",\"end\":\"(?=\\\\])\",\"patterns\":[{\"include\":\"#term\"}]}]},{\"include\":\"#term\"}]},\"bindClassTerm\":{\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]and|^and|[^[:word:]]class|^class|[^[:word:]]type|^type))(?![[:word:]]))\",\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])(:)|(=)(?![#\\\\-:!?.@*/&%^+<=>|~$])|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]and|^and|[^[:word:]]class|^class|[^[:word:]]type|^type))(?![[:word:]]))\",\"end\":\"(?=(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)[[:space:]]*,|[^[:space:][:lower:]%])|(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)|(?=\\\\btype\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.function strong emphasis\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"}]},{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#type\"}]},{\"include\":\"#bindTermArgs\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])=(?![#\\\\-:!?.@*/&%^+<=>|~$])|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#literalClassType\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"\\\\band\\\\b|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"patterns\":[{\"include\":\"#term\"}]}]},\"bindClassType\":{\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]and|^and|[^[:word:]]class|^class|[^[:word:]]type|^type))(?![[:word:]]))\",\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])(:)|(=)(?![#\\\\-:!?.@*/&%^+<=>|~$])|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]and|^and|[^[:word:]]class|^class|[^[:word:]]type|^type))(?![[:word:]]))\",\"end\":\"(?=(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)[[:space:]]*,|[^[:space:][:lower:]%])|(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)|(?=\\\\btype\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.function strong emphasis\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"}]},{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#type\"}]},{\"include\":\"#bindTermArgs\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])=(?![#\\\\-:!?.@*/&%^+<=>|~$])|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#literalClassType\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"\\\\band\\\\b|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"patterns\":[{\"include\":\"#literalClassType\"}]}]},\"bindConstructor\":{\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]exception|^exception))(?![[:word:]]))|(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]\\\\+=|^\\\\+=|[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=|[^#\\\\-:!?.@*/&%^+<=>|~$]\\\\||^\\\\|))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(:)|(\\\\bof\\\\b)|((?<![#\\\\-:!?.@*/&%^+<=>|~$])\\\\|(?![#\\\\-:!?.@*/&%^+<=>|~$]))|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"punctuation.definition.tag\"},\"3\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},{\"match\":\"\\\\b(?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)\\\\b(?![[:space:]]*(?:\\\\.|\\\\([^\\\\*]))\",\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},{\"include\":\"#type\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))|(?:(?<=(?:[^[:word:]]of|^of))(?![[:word:]]))\",\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])\\\\|(?![#\\\\-:!?.@*/&%^+<=>|~$])|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#type\"}]}]},\"bindSignature\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?:(?<=(?:[^[:word:]]type|^type))(?![[:word:]]))\",\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])=(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModuleExtended\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"\\\\band\\\\b|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"patterns\":[{\"include\":\"#signature\"}]}]},\"bindStructure\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?:(?<=(?:[^[:word:]]and|^and))(?![[:word:]]))|(?=[[:upper:]])\",\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])(:(?!=))|(:?=)(?![#\\\\-:!?.@*/&%^+<=>|~$])|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"\\\\bmodule\\\\b\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"},{\"match\":\"(?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)\",\"name\":\"entity.name.function strong emphasis\"},{\"begin\":\"\\\\((?!\\\\))\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$]):(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#signature\"}]},{\"include\":\"#variableModule\"}]},{\"include\":\"#literalUnit\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"\\\\b(and)\\\\b|((?<![#\\\\-:!?.@*/&%^+<=>|~$])=(?![#\\\\-:!?.@*/&%^+<=>|~$]))|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#signature\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:=|^:=|[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"\\\\b(?:(and)|(with))\\\\b|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"},\"2\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"patterns\":[{\"include\":\"#structure\"}]}]},\"bindTerm\":{\"patterns\":[{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]!|^!))(?![#\\\\-:!?.@*/&%^+<=>|~$]))|(?:(?<=(?:[^[:word:]]and|^and|[^[:word:]]external|^external|[^[:word:]]let|^let|[^[:word:]]method|^method|[^[:word:]]val|^val))(?![[:word:]]))\",\"end\":\"(\\\\bmodule\\\\b)|(\\\\bopen\\\\b)|(?<![#\\\\-:!?.@*/&%^+<=>|~$])(:)|((?<![#\\\\-:!?.@*/&%^+<=>|~$])=(?![#\\\\-:!?.@*/&%^+<=>|~$]))(?![#\\\\-:!?.@*/&%^+<=>|~$])|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"},\"2\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"4\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]!|^!))(?![#\\\\-:!?.@*/&%^+<=>|~$]))|(?:(?<=(?:[^[:word:]]and|^and|[^[:word:]]external|^external|[^[:word:]]let|^let|[^[:word:]]method|^method|[^[:word:]]val|^val))(?![[:word:]]))\",\"end\":\"(?=\\\\b(?:module|open)\\\\b)|(?=(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)[[:space:]]*,|[^[:space:][:lower:]%])|(\\\\brec\\\\b)|((?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*))\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"2\":{\"name\":\"entity.name.function strong emphasis\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#comment\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]rec|^rec))(?![[:word:]]))\",\"end\":\"((?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*))|(?=[^[:space:][:alpha:]])\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.function strong emphasis\"}},\"patterns\":[{\"include\":\"#bindTermArgs\"}]},{\"include\":\"#bindTermArgs\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]module|^module))(?![[:word:]]))\",\"end\":\"(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#declModule\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]open|^open))(?![[:word:]]))\",\"end\":\"(?=\\\\bin\\\\b)|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#pathModuleSimple\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])=(?![#\\\\-:!?.@*/&%^+<=>|~$])|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"\\\\btype\\\\b|(?=[^[:space:]])\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}}},{\"begin\":\"(?:(?<=(?:[^[:word:]]type|^type))(?![[:word:]]))\",\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])\\\\.(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#pattern\"}]},{\"include\":\"#type\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"\\\\band\\\\b|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"patterns\":[{\"include\":\"#term\"}]}]},\"bindTermArgs\":{\"patterns\":[{\"applyEndPatternLast\":true,\"begin\":\"~|\\\\?\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\":|(?=[^[:space:]])\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}},\"patterns\":[{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]~|^~|[^#\\\\-:!?.@*/&%^+<=>|~$]\\\\?|^\\\\?))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)|(?<=\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}},\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"\\\\((?!\\\\*)\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"begin\":\"(?<=\\\\()\",\"end\":\":|=\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}},\"patterns\":[{\"match\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}]},{\"begin\":\"(?<=:)\",\"end\":\"=|(?=\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}},\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#term\"}]}]}]}]},{\"include\":\"#pattern\"}]},\"bindType\":{\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]and|^and|[^[:word:]]type|^type))(?![[:word:]]))\",\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])\\\\+=|=(?![#\\\\-:!?.@*/&%^+<=>|~$])|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#pathType\"},{\"match\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"name\":\"entity.name.function strong\"},{\"include\":\"#type\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]\\\\+=|^\\\\+=|[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"\\\\band\\\\b|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"patterns\":[{\"include\":\"#bindConstructor\"}]}]},\"comment\":{\"patterns\":[{\"include\":\"#attribute\"},{\"include\":\"#extension\"},{\"include\":\"#commentBlock\"},{\"include\":\"#commentDoc\"}]},\"commentBlock\":{\"begin\":\"\\\\(\\\\*(?!\\\\*[^\\\\)])\",\"contentName\":\"emphasis\",\"end\":\"\\\\*\\\\)\",\"name\":\"comment constant.regexp meta.separator.markdown\",\"patterns\":[{\"include\":\"#commentBlock\"},{\"include\":\"#commentDoc\"}]},\"commentDoc\":{\"begin\":\"\\\\(\\\\*\\\\*\",\"end\":\"\\\\*\\\\)\",\"name\":\"comment constant.regexp meta.separator.markdown\",\"patterns\":[{\"match\":\"\\\\*\"},{\"include\":\"#comment\"}]},\"decl\":{\"patterns\":[{\"include\":\"#declClass\"},{\"include\":\"#declException\"},{\"include\":\"#declInclude\"},{\"include\":\"#declModule\"},{\"include\":\"#declOpen\"},{\"include\":\"#declTerm\"},{\"include\":\"#declType\"}]},\"declClass\":{\"begin\":\"\\\\bclass\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.class constant.numeric markup.underline\"}},\"end\":\";;|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"begin\":\"(?:(?<=(?:[^[:word:]]class|^class))(?![[:word:]]))\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.class constant.numeric markup.underline\"}},\"end\":\"\\\\btype\\\\b|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}},\"patterns\":[{\"include\":\"#bindClassTerm\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]type|^type))(?![[:word:]]))\",\"end\":\"(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#bindClassType\"}]}]},\"declException\":{\"begin\":\"\\\\bexception\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword markup.underline\"}},\"end\":\";;|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#bindConstructor\"}]},\"declInclude\":{\"begin\":\"\\\\binclude\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#signature\"}]},\"declModule\":{\"begin\":\"(?:(?<=(?:[^[:word:]]module|^module))(?![[:word:]]))|\\\\bmodule\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename markup.underline\"}},\"end\":\";;|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"begin\":\"(?:(?<=(?:[^[:word:]]module|^module))(?![[:word:]]))\",\"end\":\"(\\\\btype\\\\b)|(?=[[:upper:]])\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#comment\"},{\"match\":\"\\\\brec\\\\b\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]type|^type))(?![[:word:]]))\",\"end\":\"(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#bindSignature\"}]},{\"begin\":\"(?=[[:upper:]])\",\"end\":\"(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#bindStructure\"}]}]},\"declOpen\":{\"begin\":\"\\\\bopen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#pathModuleExtended\"}]},\"declTerm\":{\"begin\":\"\\\\b(?:(external|val)|(method)|(let))\\\\b(!?)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type markup.underline\"},\"2\":{\"name\":\"storage.type markup.underline\"},\"3\":{\"name\":\"keyword.control markup.underline\"},\"4\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#bindTerm\"}]},\"declType\":{\"begin\":\"(?:(?<=(?:[^[:word:]]type|^type))(?![[:word:]]))|\\\\btype\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword markup.underline\"}},\"end\":\";;|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#bindType\"}]},\"extension\":{\"begin\":\"(\\\\[)((?<![#\\\\-:!?.@*/&%^+<=>|~$])%{1,3}(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"beginCaptures\":{\"1\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},\"2\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}},\"patterns\":[{\"include\":\"#attributePayload\"}]},\"literal\":{\"patterns\":[{\"include\":\"#termConstructor\"},{\"include\":\"#literalArray\"},{\"include\":\"#literalBoolean\"},{\"include\":\"#literalCharacter\"},{\"include\":\"#literalList\"},{\"include\":\"#literalNumber\"},{\"include\":\"#literalObjectTerm\"},{\"include\":\"#literalString\"},{\"include\":\"#literalRecord\"},{\"include\":\"#literalUnit\"}]},\"literalArray\":{\"begin\":\"\\\\[\\\\|\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}},\"end\":\"\\\\|\\\\]\",\"patterns\":[{\"include\":\"#term\"}]},\"literalBoolean\":{\"match\":\"\\\\bfalse|true\\\\b\",\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},\"literalCharacter\":{\"begin\":\"(?<![[:word:]])'\",\"end\":\"'\",\"name\":\"markup.punctuation.quote.beginning\",\"patterns\":[{\"include\":\"#literalCharacterEscape\"}]},\"literalCharacterEscape\":{\"match\":\"\\\\\\\\(?:[\\\\\\\\\\\"'ntbr]|[[:digit:]][[:digit:]][[:digit:]]|x[[:xdigit:]][[:xdigit:]]|o[0-3][0-7][0-7])\"},\"literalClassType\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"\\\\bobject\\\\b\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag emphasis\"}},\"end\":\"\\\\bend\\\\b\",\"patterns\":[{\"begin\":\"\\\\binherit\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"begin\":\"\\\\bas\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#variablePattern\"}]},{\"include\":\"#type\"}]},{\"include\":\"#pattern\"},{\"include\":\"#declTerm\"}]},{\"begin\":\"\\\\[\",\"end\":\"\\\\]\"}]},\"literalList\":{\"patterns\":[{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}},\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#term\"}]}]},\"literalNumber\":{\"match\":\"(?<![[:alpha:]])[[:digit:]][[:digit:]]*(\\\\.[[:digit:]][[:digit:]]*)?\",\"name\":\"constant.numeric\"},\"literalObjectTerm\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"\\\\bobject\\\\b\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag emphasis\"}},\"end\":\"\\\\bend\\\\b\",\"patterns\":[{\"begin\":\"\\\\binherit\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"begin\":\"\\\\bas\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#variablePattern\"}]},{\"include\":\"#term\"}]},{\"include\":\"#pattern\"},{\"include\":\"#declTerm\"}]},{\"begin\":\"\\\\[\",\"end\":\"\\\\]\"}]},\"literalRecord\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong strong\"}},\"end\":\"\\\\}\",\"patterns\":[{\"begin\":\"(?<=\\\\{|;)\",\"end\":\"(:)|(=)|(;)|(with)|(?=\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"4\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModulePrefixSimple\"},{\"match\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]with|^with))(?![[:word:]]))\",\"end\":\"(:)|(=)|(;)|(?=\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"match\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(;)|(=)|(?=\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\";|(?=\\\\})\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#term\"}]}]},\"literalString\":{\"patterns\":[{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string beginning.punctuation.definition.quote.markdown\",\"patterns\":[{\"include\":\"#literalStringEscape\"}]},{\"begin\":\"(\\\\{)([_[:lower:]]*?)(\\\\|)\",\"end\":\"(\\\\|)(\\\\2)(\\\\})\",\"name\":\"string beginning.punctuation.definition.quote.markdown\",\"patterns\":[{\"include\":\"#literalStringEscape\"}]}]},\"literalStringEscape\":{\"match\":\"\\\\\\\\(?:[\\\\\\\\\\\"ntbr]|[[:digit:]][[:digit:]][[:digit:]]|x[[:xdigit:]][[:xdigit:]]|o[0-3][0-7][0-7])\"},\"literalUnit\":{\"match\":\"\\\\(\\\\)\",\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},\"pathModuleExtended\":{\"patterns\":[{\"include\":\"#pathModulePrefixExtended\"},{\"match\":\"(?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)\",\"name\":\"entity.name.class constant.numeric\"}]},\"pathModulePrefixExtended\":{\"begin\":\"(?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)(?=[[:space:]]*\\\\.|$|\\\\()\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.class constant.numeric\"}},\"end\":\"(?![[:space:]\\\\.]|$|\\\\()\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\)\",\"patterns\":[{\"match\":\"((?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)(?=[[:space:]]*\\\\)))\",\"name\":\"string.other.link variable.language variable.parameter emphasis\"},{\"include\":\"#structure\"}]},{\"begin\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])\\\\.(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"keyword strong\"}},\"end\":\"((?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)(?=[[:space:]]*\\\\.|$))|((?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)(?=[[:space:]]*(?:$|\\\\()))|((?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)(?=[[:space:]]*\\\\)))|(?![[:space:]\\\\.[:upper:]]|$|\\\\()\",\"endCaptures\":{\"1\":{\"name\":\"entity.name.class constant.numeric\"},\"2\":{\"name\":\"entity.name.function strong\"},\"3\":{\"name\":\"string.other.link variable.language variable.parameter emphasis\"}}}]},\"pathModulePrefixExtendedParens\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\)\",\"patterns\":[{\"match\":\"((?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)(?=[[:space:]]*\\\\)))\",\"name\":\"string.other.link variable.language variable.parameter emphasis\"},{\"include\":\"#structure\"}]},\"pathModulePrefixSimple\":{\"begin\":\"(?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)(?=[[:space:]]*\\\\.)\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.class constant.numeric\"}},\"end\":\"(?![[:space:]\\\\.])\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])\\\\.(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"keyword strong\"}},\"end\":\"((?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)(?=[[:space:]]*\\\\.))|((?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)(?=[[:space:]]*))|(?![[:space:]\\\\.[:upper:]])\",\"endCaptures\":{\"1\":{\"name\":\"entity.name.class constant.numeric\"},\"2\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}}}]},\"pathModuleSimple\":{\"patterns\":[{\"include\":\"#pathModulePrefixSimple\"},{\"match\":\"(?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)\",\"name\":\"entity.name.class constant.numeric\"}]},\"pathRecord\":{\"patterns\":[{\"begin\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"end\":\"(?=[^[:space:]\\\\.])(?!\\\\(\\\\*)\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]\\\\.|^\\\\.))(?![#\\\\-:!?.@*/&%^+<=>|~$]))|(?<![#\\\\-:!?.@*/&%^+<=>|~$])\\\\.(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"keyword strong\"}},\"end\":\"((?<![#\\\\-:!?.@*/&%^+<=>|~$])\\\\.(?![#\\\\-:!?.@*/&%^+<=>|~$]))|((?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|mutable|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*))|(?<=\\\\))|(?<=\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"keyword strong\"},\"2\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModulePrefixSimple\"},{\"begin\":\"\\\\((?!\\\\*)\",\"captures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#term\"}]},{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#pattern\"}]}]}]}]},\"pattern\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#patternArray\"},{\"include\":\"#patternLazy\"},{\"include\":\"#patternList\"},{\"include\":\"#patternMisc\"},{\"include\":\"#patternModule\"},{\"include\":\"#patternRecord\"},{\"include\":\"#literal\"},{\"include\":\"#patternParens\"},{\"include\":\"#patternType\"},{\"include\":\"#variablePattern\"},{\"include\":\"#termOperator\"}]},\"patternArray\":{\"begin\":\"\\\\[\\\\|\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}},\"end\":\"\\\\|\\\\]\",\"patterns\":[{\"include\":\"#pattern\"}]},\"patternLazy\":{\"match\":\"lazy\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"patternList\":{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}},\"end\":\"\\\\]\",\"patterns\":[{\"include\":\"#pattern\"}]},\"patternMisc\":{\"captures\":{\"1\":{\"name\":\"string.regexp strong\"},\"2\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"match\":\"((?<![#\\\\-:!?.@*/&%^+<=>|~$]),(?![#\\\\-:!?.@*/&%^+<=>|~$]))|([#\\\\-:!?.@*/&%^+<=>|~$]+)|\\\\b(as)\\\\b\"},\"patternModule\":{\"begin\":\"\\\\bmodule\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#declModule\"}]},\"patternParens\":{\"begin\":\"\\\\((?!\\\\))\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$]):(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#type\"}]},{\"include\":\"#pattern\"}]},\"patternRecord\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong strong\"}},\"end\":\"\\\\}\",\"patterns\":[{\"begin\":\"(?<=\\\\{|;)\",\"end\":\"(:)|(=)|(;)|(with)|(?=\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"4\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModulePrefixSimple\"},{\"match\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]with|^with))(?![[:word:]]))\",\"end\":\"(:)|(=)|(;)|(?=\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"match\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(;)|(=)|(?=\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\";|(?=\\\\})\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#pattern\"}]}]},\"patternType\":{\"begin\":\"\\\\btype\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#declType\"}]},\"pragma\":{\"begin\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])#(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#literalNumber\"},{\"include\":\"#literalString\"}]},\"signature\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#signatureLiteral\"},{\"include\":\"#signatureFunctor\"},{\"include\":\"#pathModuleExtended\"},{\"include\":\"#signatureParens\"},{\"include\":\"#signatureRecovered\"},{\"include\":\"#signatureConstraints\"}]},\"signatureConstraints\":{\"begin\":\"\\\\bwith\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"end\":\"(?=\\\\))|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]with|^with))(?![[:word:]]))\",\"end\":\"\\\\b(?:(module)|(type))\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"},\"2\":{\"name\":\"keyword\"}}},{\"include\":\"#declModule\"},{\"include\":\"#declType\"}]},\"signatureFunctor\":{\"patterns\":[{\"begin\":\"\\\\bfunctor\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword\"}},\"end\":\"(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]functor|^functor))(?![[:word:]]))\",\"end\":\"(\\\\(\\\\))|(\\\\((?!\\\\)))\",\"endCaptures\":{\"1\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},\"2\":{\"name\":\"punctuation.definition.tag\"}}},{\"begin\":\"(?<=\\\\()\",\"end\":\"(:)|(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#variableModule\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#signature\"}]},{\"begin\":\"(?<=\\\\))\",\"end\":\"(\\\\()|((?<![#\\\\-:!?.@*/&%^+<=>|~$])->(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag\"},\"2\":{\"name\":\"support.type strong\"}}},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]->|^->))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#signature\"}]}]},{\"match\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])->(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"name\":\"support.type strong\"}]},\"signatureLiteral\":{\"begin\":\"\\\\bsig\\\\b\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag emphasis\"}},\"end\":\"\\\\bend\\\\b\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#decl\"}]},\"signatureParens\":{\"begin\":\"\\\\((?!\\\\))\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$]):(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#signature\"}]},{\"include\":\"#signature\"}]},\"signatureRecovered\":{\"patterns\":[{\"begin\":\"\\\\(|(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:|[^#\\\\-:!?.@*/&%^+<=>|~$]->|^->))(?![#\\\\-:!?.@*/&%^+<=>|~$]))|(?:(?<=(?:[^[:word:]]include|^include|[^[:word:]]open|^open))(?![[:word:]]))\",\"end\":\"\\\\bmodule\\\\b|(?!$|[[:space:]]|\\\\bmodule\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}}},{\"begin\":\"(?:(?<=(?:[^[:word:]]module|^module))(?![[:word:]]))\",\"end\":\"(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]module|^module))(?![[:word:]]))\",\"end\":\"\\\\btype\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}}},{\"begin\":\"(?:(?<=(?:[^[:word:]]type|^type))(?![[:word:]]))\",\"end\":\"\\\\bof\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}}},{\"begin\":\"(?:(?<=(?:[^[:word:]]of|^of))(?![[:word:]]))\",\"end\":\"(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#signature\"}]}]}]},\"structure\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#structureLiteral\"},{\"include\":\"#structureFunctor\"},{\"include\":\"#pathModuleExtended\"},{\"include\":\"#structureParens\"}]},\"structureFunctor\":{\"patterns\":[{\"begin\":\"\\\\bfunctor\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword\"}},\"end\":\"(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]functor|^functor))(?![[:word:]]))\",\"end\":\"(\\\\(\\\\))|(\\\\((?!\\\\)))\",\"endCaptures\":{\"1\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},\"2\":{\"name\":\"punctuation.definition.tag\"}}},{\"begin\":\"(?<=\\\\()\",\"end\":\"(:)|(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#variableModule\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#signature\"}]},{\"begin\":\"(?<=\\\\))\",\"end\":\"(\\\\()|((?<![#\\\\-:!?.@*/&%^+<=>|~$])->(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag\"},\"2\":{\"name\":\"support.type strong\"}}},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]->|^->))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#structure\"}]}]},{\"match\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])->(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"name\":\"support.type strong\"}]},\"structureLiteral\":{\"begin\":\"\\\\bstruct\\\\b\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag emphasis\"}},\"end\":\"\\\\bend\\\\b\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#decl\"}]},\"structureParens\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#structureUnpack\"},{\"include\":\"#structure\"}]},\"structureUnpack\":{\"begin\":\"\\\\bval\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\"(?=\\\\))\"},\"term\":{\"patterns\":[{\"include\":\"#termLet\"},{\"include\":\"#termAtomic\"}]},\"termAtomic\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#termConditional\"},{\"include\":\"#termConstructor\"},{\"include\":\"#termDelim\"},{\"include\":\"#termFor\"},{\"include\":\"#termFunction\"},{\"include\":\"#literal\"},{\"include\":\"#termMatch\"},{\"include\":\"#termMatchRule\"},{\"include\":\"#termPun\"},{\"include\":\"#termOperator\"},{\"include\":\"#termTry\"},{\"include\":\"#termWhile\"},{\"include\":\"#pathRecord\"}]},\"termConditional\":{\"match\":\"\\\\b(?:if|then|else)\\\\b\",\"name\":\"keyword.control\"},\"termConstructor\":{\"patterns\":[{\"include\":\"#pathModulePrefixSimple\"},{\"match\":\"(?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)\",\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}]},\"termDelim\":{\"patterns\":[{\"begin\":\"\\\\((?!\\\\))\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#term\"}]},{\"begin\":\"\\\\bbegin\\\\b\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\bend\\\\b\",\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#term\"}]}]},\"termFor\":{\"patterns\":[{\"begin\":\"\\\\bfor\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\bdone\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]for|^for))(?![[:word:]]))\",\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])=(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#pattern\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"\\\\b(?:downto|to)\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"patterns\":[{\"include\":\"#term\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]to|^to))(?![[:word:]]))\",\"end\":\"\\\\bdo\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"patterns\":[{\"include\":\"#term\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]do|^do))(?![[:word:]]))\",\"end\":\"(?=\\\\bdone\\\\b)\",\"patterns\":[{\"include\":\"#term\"}]}]}]},\"termFunction\":{\"captures\":{\"1\":{\"name\":\"storage.type\"},\"2\":{\"name\":\"storage.type\"}},\"match\":\"\\\\b(?:(fun)|(function))\\\\b\"},\"termLet\":{\"patterns\":[{\"begin\":\"(?:(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=|[^#\\\\-:!?.@*/&%^+<=>|~$]->|^->))(?![#\\\\-:!?.@*/&%^+<=>|~$]))|(?<=;|\\\\())(?=[[:space:]]|\\\\blet\\\\b)|(?:(?<=(?:[^[:word:]]begin|^begin|[^[:word:]]do|^do|[^[:word:]]else|^else|[^[:word:]]in|^in|[^[:word:]]struct|^struct|[^[:word:]]then|^then|[^[:word:]]try|^try))(?![[:word:]]))|(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]@@|^@@))(?![#\\\\-:!?.@*/&%^+<=>|~$]))[[:space:]]+\",\"end\":\"\\\\b(?:(and)|(let))\\\\b|(?=[^[:space:]])(?!\\\\(\\\\*)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"},\"2\":{\"name\":\"storage.type markup.underline\"}},\"patterns\":[{\"include\":\"#comment\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]and|^and|[^[:word:]]let|^let))(?![[:word:]]))|(let)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type markup.underline\"}},\"end\":\"\\\\b(?:(and)|(in))\\\\b|(?=\\\\}|\\\\)|\\\\]|\\\\b(?:end|class|exception|external|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"},\"2\":{\"name\":\"storage.type markup.underline\"}},\"patterns\":[{\"include\":\"#bindTerm\"}]}]},\"termMatch\":{\"begin\":\"\\\\bmatch\\\\b\",\"captures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\bwith\\\\b\",\"patterns\":[{\"include\":\"#term\"}]},\"termMatchRule\":{\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]fun|^fun|[^[:word:]]function|^function|[^[:word:]]with|^with))(?![[:word:]]))\",\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])(\\\\|)|(->)(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"endCaptures\":{\"1\":{\"name\":\"support.type strong\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#attributeIdentifier\"},{\"include\":\"#pattern\"}]},{\"begin\":\"(?:(?<=(?:[^\\\\[#\\\\-:!?.@*/&%^+<=>|~$]\\\\||^\\\\|))(?![#\\\\-:!?.@*/&%^+<=>|~$]))|(?<![#\\\\-:!?.@*/&%^+<=>|~$])\\\\|(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"end\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])(\\\\|)|(->)(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"endCaptures\":{\"1\":{\"name\":\"support.type strong\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#pattern\"},{\"begin\":\"\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\"(?=(?<![#\\\\-:!?.@*/&%^+<=>|~$])->(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"patterns\":[{\"include\":\"#term\"}]}]}]},\"termOperator\":{\"patterns\":[{\"begin\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])#(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"keyword\"}},\"end\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.function\"}}},{\"captures\":{\"0\":{\"name\":\"keyword.control strong\"}},\"match\":\"<-\"},{\"captures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"2\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"match\":\"(,|[#\\\\-:!?.@*/&%^+<=>|~$]+)|(;)\"},{\"match\":\"\\\\b(?:and|assert|asr|land|lazy|lsr|lxor|mod|new|or)\\\\b\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}]},\"termPun\":{\"applyEndPatternLast\":true,\"begin\":\"(?<![#\\\\-:!?.@*/&%^+<=>|~$])\\\\?|~(?![#\\\\-:!?.@*/&%^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\":|(?=[^[:space:]:])\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}},\"patterns\":[{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]\\\\?|^\\\\?|[^#\\\\-:!?.@*/&%^+<=>|~$]~|^~))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"endCaptures\":{\"0\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}}}]},\"termTry\":{\"begin\":\"\\\\btry\\\\b\",\"captures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\bwith\\\\b\",\"patterns\":[{\"include\":\"#term\"}]},\"termWhile\":{\"patterns\":[{\"begin\":\"\\\\bwhile\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\bdone\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"patterns\":[{\"begin\":\"(?:(?<=(?:[^[:word:]]while|^while))(?![[:word:]]))\",\"end\":\"\\\\bdo\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"patterns\":[{\"include\":\"#term\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]do|^do))(?![[:word:]]))\",\"end\":\"(?=\\\\bdone\\\\b)\",\"patterns\":[{\"include\":\"#term\"}]}]}]},\"type\":{\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"\\\\bnonrec\\\\b\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},{\"include\":\"#pathModulePrefixExtended\"},{\"include\":\"#typeLabel\"},{\"include\":\"#typeObject\"},{\"include\":\"#typeOperator\"},{\"include\":\"#typeParens\"},{\"include\":\"#typePolymorphicVariant\"},{\"include\":\"#typeRecord\"},{\"include\":\"#typeConstructor\"}]},\"typeConstructor\":{\"patterns\":[{\"begin\":\"(_)|((?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*))|(')((?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*))|(?<=[^\\\\*]\\\\)|\\\\])\",\"beginCaptures\":{\"1\":{\"name\":\"comment constant.regexp meta.separator.markdown\"},\"3\":{\"name\":\"string.other.link variable.language variable.parameter emphasis strong emphasis\"},\"4\":{\"name\":\"keyword.control emphasis\"}},\"end\":\"(?=\\\\((?!\\\\*)|\\\\*|:|,|=|\\\\.|>|-|\\\\{|\\\\[|\\\\+|\\\\}|\\\\)|\\\\]|;|\\\\|)|((?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*))[:space:]*(?!\\\\(\\\\*|[[:word:]])|(?=;;|\\\\}|\\\\)|\\\\]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"entity.name.function strong\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModulePrefixExtended\"}]}]},\"typeLabel\":{\"patterns\":[{\"begin\":\"(\\\\??)((?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*))[[:space:]]*((?<![#\\\\-:!?.@*/&%^+<=>|~$]):(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"captures\":{\"1\":{\"name\":\"keyword strong emphasis\"},\"2\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"},\"3\":{\"name\":\"keyword\"}},\"end\":\"(?=(?<![#\\\\-:!?.@*/&%^+<=>|~$])->(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"patterns\":[{\"include\":\"#type\"}]}]},\"typeModule\":{\"begin\":\"\\\\bmodule\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#pathModuleExtended\"},{\"include\":\"#signatureConstraints\"}]},\"typeObject\":{\"begin\":\"<\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong strong\"}},\"end\":\">\",\"patterns\":[{\"begin\":\"(?<=<|;)\",\"end\":\"(:)|(?=>)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"4\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModulePrefixSimple\"},{\"match\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(;)|(?=>)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#type\"}]}]},\"typeOperator\":{\"patterns\":[{\"match\":\",|;|[#\\\\-:!?.@*/&%^+<=>|~$]+\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"}]},\"typeParens\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"match\":\",\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},{\"include\":\"#typeModule\"},{\"include\":\"#type\"}]},\"typePolymorphicVariant\":{\"begin\":\"\\\\[\",\"end\":\"\\\\]\",\"patterns\":[]},\"typeRecord\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong strong\"}},\"end\":\"\\\\}\",\"patterns\":[{\"begin\":\"(?<=\\\\{|;)\",\"end\":\"(:)|(=)|(;)|(with)|(?=\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"4\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModulePrefixSimple\"},{\"match\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?:(?<=(?:[^[:word:]]with|^with))(?![[:word:]]))\",\"end\":\"(:)|(=)|(;)|(?=\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"match\":\"(?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\"(;)|(=)|(?=\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/&%^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/&%^+<=>|~$]))\",\"end\":\";|(?=\\\\})\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#type\"}]}]},\"variableModule\":{\"captures\":{\"0\":{\"name\":\"string.other.link variable.language variable.parameter emphasis\"}},\"match\":\"(?:\\\\b(?=[[:upper:]])[[:alpha:]_][[:word:]']*)\"},\"variablePattern\":{\"captures\":{\"1\":{\"name\":\"comment constant.regexp meta.separator.markdown\"},\"2\":{\"name\":\"string.other.link variable.language variable.parameter emphasis\"}},\"match\":\"(\\\\b_\\\\b)|((?:(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|:|,|@|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|>|-|if|in|include|inherit|initializer|land|lazy|\\\\{|\\\\(|\\\\[|<|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|%|\\\\+|private|\\\\?|\\\"|rec|\\\\\\\\|\\\\}|\\\\)|\\\\]|;|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*))\"}},\"scopeName\":\"source.ocaml\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"OCaml\",\"fileTypes\":[\".ml\",\".mli\"],\"name\":\"ocaml\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#decl\"}],\"repository\":{\"attribute\":{\"begin\":\"(\\\\[)\\\\s*((?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])@{1,3}(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))\",\"beginCaptures\":{\"1\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},\"2\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}},\"patterns\":[{\"include\":\"#attributePayload\"}]},\"attributeIdentifier\":{\"captures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"punctuation.definition.tag\"}},\"match\":\"((?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])%(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))((?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\"},\"attributePayload\":{\"patterns\":[{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]%|^%))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"((?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])[:?](?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))|(?<=\\\\s)|(?=])\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#pathModuleExtended\"},{\"include\":\"#pathRecord\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(?=])\",\"patterns\":[{\"include\":\"#signature\"},{\"include\":\"#type\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]\\\\?|^\\\\?))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(?=])\",\"patterns\":[{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]\\\\?|^\\\\?))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(?=])|\\\\bwhen\\\\b\",\"endCaptures\":{\"1\":{}},\"patterns\":[{\"include\":\"#pattern\"}]},{\"begin\":\"(?<=(?:\\\\P{word}when|^when))(?!\\\\p{word})\",\"end\":\"(?=])\",\"patterns\":[{\"include\":\"#term\"}]}]},{\"include\":\"#term\"}]},\"bindClassTerm\":{\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}|^)(?:and|class|type))(?!\\\\p{word})\",\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])(:)|(=)(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}|^)(?:and|class|type))(?!\\\\p{word})\",\"end\":\"(?=(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\\\\s*,|[^\\\\s[:lower:]%])|(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*|(?=\\\\btype\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.function strong emphasis\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"}]},{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#type\"}]},{\"include\":\"#bindTermArgs\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])=(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#literalClassType\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"\\\\band\\\\b|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"patterns\":[{\"include\":\"#term\"}]}]},\"bindClassType\":{\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}|^)(?:and|class|type))(?!\\\\p{word})\",\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])(:)|(=)(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}|^)(?:and|class|type))(?!\\\\p{word})\",\"end\":\"(?=(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\\\\s*,|[^\\\\s[:lower:]%])|(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*|(?=\\\\btype\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.function strong emphasis\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"}]},{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#type\"}]},{\"include\":\"#bindTermArgs\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])=(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#literalClassType\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"\\\\band\\\\b|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"patterns\":[{\"include\":\"#literalClassType\"}]}]},\"bindConstructor\":{\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}exception|^exception))(?!\\\\p{word})|(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]\\\\+=|^\\\\+=|[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=|[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]\\\\||^\\\\|))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(:)|(\\\\bof\\\\b)|((?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\\\\|(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"punctuation.definition.tag\"},\"3\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"match\":\"\\\\.\\\\.\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},{\"match\":\"\\\\b\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*\\\\b(?!\\\\s*(?:\\\\.|\\\\([^*]))\",\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},{\"include\":\"#type\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?<=(?:\\\\P{word}of|^of))(?!\\\\p{word})\",\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\\\\|(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#type\"}]}]},\"bindSignature\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<=(?:\\\\P{word}type|^type))(?!\\\\p{word})\",\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])=(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModuleExtended\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"\\\\band\\\\b|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"patterns\":[{\"include\":\"#signature\"}]}]},\"bindStructure\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<=(?:\\\\P{word}and|^and))(?!\\\\p{word})|(?=\\\\p{upper})\",\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])(:(?!=))|(:?=)(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"\\\\bmodule\\\\b\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"},{\"match\":\"\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*\",\"name\":\"entity.name.function strong emphasis\"},{\"begin\":\"\\\\((?!\\\\))\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]):(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#signature\"}]},{\"include\":\"#variableModule\"}]},{\"include\":\"#literalUnit\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"\\\\b(and)\\\\b|((?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])=(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#signature\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:=|^:=|[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"\\\\b(?:(and)|(with))\\\\b|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"},\"2\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"patterns\":[{\"include\":\"#structure\"}]}]},\"bindTerm\":{\"patterns\":[{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]!|^!))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?<=(?:\\\\P{word}|^)(?:and|external|let|method|val))(?!\\\\p{word})\",\"end\":\"(\\\\bmodule\\\\b)|(\\\\bopen\\\\b)|(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])(:)|((?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])=(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"},\"2\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"4\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]!|^!))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?<=(?:\\\\P{word}|^)(?:and|external|let|method|val))(?!\\\\p{word})\",\"end\":\"(?=\\\\b(?:module|open)\\\\b)|(?=(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\\\\s*,|[^\\\\s[:lower:]%])|(\\\\brec\\\\b)|((?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"2\":{\"name\":\"entity.name.function strong emphasis\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#comment\"}]},{\"begin\":\"(?<=(?:\\\\P{word}rec|^rec))(?!\\\\p{word})\",\"end\":\"((?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)|(?=[^\\\\s[:alpha:]])\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.function strong emphasis\"}},\"patterns\":[{\"include\":\"#bindTermArgs\"}]},{\"include\":\"#bindTermArgs\"}]},{\"begin\":\"(?<=(?:\\\\P{word}module|^module))(?!\\\\p{word})\",\"end\":\"(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#declModule\"}]},{\"begin\":\"(?<=(?:\\\\P{word}open|^open))(?!\\\\p{word})\",\"end\":\"(?=\\\\bin\\\\b)|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#pathModuleSimple\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])=(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"\\\\btype\\\\b|(?=\\\\S)\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}}},{\"begin\":\"(?<=(?:\\\\P{word}type|^type))(?!\\\\p{word})\",\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\\\\.(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#pattern\"}]},{\"include\":\"#type\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"\\\\band\\\\b|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"patterns\":[{\"include\":\"#term\"}]}]},\"bindTermArgs\":{\"patterns\":[{\"applyEndPatternLast\":true,\"begin\":\"[~?]\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\":|(?=\\\\S)\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}},\"patterns\":[{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]~|^~|[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]\\\\?|^\\\\?))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*|(?<=\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}},\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"\\\\((?!\\\\*)\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"begin\":\"(?<=\\\\()\",\"end\":\"[:=]\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}},\"patterns\":[{\"match\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}]},{\"begin\":\"(?<=:)\",\"end\":\"=|(?=\\\\))\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}},\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#term\"}]}]}]}]},{\"include\":\"#pattern\"}]},\"bindType\":{\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}|^)(?:and|type))(?!\\\\p{word})\",\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\\\\+=|=(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#pathType\"},{\"match\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\",\"name\":\"entity.name.function strong\"},{\"include\":\"#type\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]\\\\+=|^\\\\+=|[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"\\\\band\\\\b|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"patterns\":[{\"include\":\"#bindConstructor\"}]}]},\"comment\":{\"patterns\":[{\"include\":\"#attribute\"},{\"include\":\"#extension\"},{\"include\":\"#commentBlock\"},{\"include\":\"#commentDoc\"}]},\"commentBlock\":{\"begin\":\"\\\\(\\\\*(?!\\\\*[^)])\",\"contentName\":\"emphasis\",\"end\":\"\\\\*\\\\)\",\"name\":\"comment constant.regexp meta.separator.markdown\",\"patterns\":[{\"include\":\"#commentBlock\"},{\"include\":\"#commentDoc\"}]},\"commentDoc\":{\"begin\":\"\\\\(\\\\*\\\\*\",\"end\":\"\\\\*\\\\)\",\"name\":\"comment constant.regexp meta.separator.markdown\",\"patterns\":[{\"match\":\"\\\\*\"},{\"include\":\"#comment\"}]},\"decl\":{\"patterns\":[{\"include\":\"#declClass\"},{\"include\":\"#declException\"},{\"include\":\"#declInclude\"},{\"include\":\"#declModule\"},{\"include\":\"#declOpen\"},{\"include\":\"#declTerm\"},{\"include\":\"#declType\"}]},\"declClass\":{\"begin\":\"\\\\bclass\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.class constant.numeric markup.underline\"}},\"end\":\";;|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"begin\":\"(?<=(?:\\\\P{word}class|^class))(?!\\\\p{word})\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.class constant.numeric markup.underline\"}},\"end\":\"\\\\btype\\\\b|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}},\"patterns\":[{\"include\":\"#bindClassTerm\"}]},{\"begin\":\"(?<=(?:\\\\P{word}type|^type))(?!\\\\p{word})\",\"end\":\"(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#bindClassType\"}]}]},\"declException\":{\"begin\":\"\\\\bexception\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword markup.underline\"}},\"end\":\";;|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#bindConstructor\"}]},\"declInclude\":{\"begin\":\"\\\\binclude\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#signature\"}]},\"declModule\":{\"begin\":\"(?<=(?:\\\\P{word}module|^module))(?!\\\\p{word})|\\\\bmodule\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename markup.underline\"}},\"end\":\";;|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"begin\":\"(?<=(?:\\\\P{word}module|^module))(?!\\\\p{word})\",\"end\":\"(\\\\btype\\\\b)|(?=\\\\p{upper})\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#comment\"},{\"match\":\"\\\\brec\\\\b\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}]},{\"begin\":\"(?<=(?:\\\\P{word}type|^type))(?!\\\\p{word})\",\"end\":\"(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#bindSignature\"}]},{\"begin\":\"(?=\\\\p{upper})\",\"end\":\"(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#bindStructure\"}]}]},\"declOpen\":{\"begin\":\"\\\\bopen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#pathModuleExtended\"}]},\"declTerm\":{\"begin\":\"\\\\b(?:(external|val)|(method)|(let))\\\\b(!?)\",\"beginCaptures\":{\"1\":{\"name\":\"support.type markup.underline\"},\"2\":{\"name\":\"storage.type markup.underline\"},\"3\":{\"name\":\"keyword.control markup.underline\"},\"4\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#bindTerm\"}]},\"declType\":{\"begin\":\"(?<=(?:\\\\P{word}type|^type))(?!\\\\p{word})|\\\\btype\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword markup.underline\"}},\"end\":\";;|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#bindType\"}]},\"extension\":{\"begin\":\"(\\\\[)((?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])%{1,3}(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))\",\"beginCaptures\":{\"1\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},\"2\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}},\"patterns\":[{\"include\":\"#attributePayload\"}]},\"literal\":{\"patterns\":[{\"include\":\"#termConstructor\"},{\"include\":\"#literalArray\"},{\"include\":\"#literalBoolean\"},{\"include\":\"#literalCharacter\"},{\"include\":\"#literalList\"},{\"include\":\"#literalNumber\"},{\"include\":\"#literalObjectTerm\"},{\"include\":\"#literalString\"},{\"include\":\"#literalRecord\"},{\"include\":\"#literalUnit\"}]},\"literalArray\":{\"begin\":\"\\\\[\\\\|\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}},\"end\":\"\\\\|]\",\"patterns\":[{\"include\":\"#term\"}]},\"literalBoolean\":{\"match\":\"\\\\bfalse|true\\\\b\",\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},\"literalCharacter\":{\"begin\":\"(?<!\\\\p{word})'\",\"end\":\"'\",\"name\":\"markup.punctuation.quote.beginning\",\"patterns\":[{\"include\":\"#literalCharacterEscape\"}]},\"literalCharacterEscape\":{\"match\":\"\\\\\\\\(?:[\\\\\\\\\\\"'ntbr]|\\\\d\\\\d\\\\d|x\\\\h\\\\h|o[0-3][0-7][0-7])\"},\"literalClassType\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"\\\\bobject\\\\b\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag emphasis\"}},\"end\":\"\\\\bend\\\\b\",\"patterns\":[{\"begin\":\"\\\\binherit\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"begin\":\"\\\\bas\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#variablePattern\"}]},{\"include\":\"#type\"}]},{\"include\":\"#pattern\"},{\"include\":\"#declTerm\"}]},{\"begin\":\"\\\\[\",\"end\":\"]\"}]},\"literalList\":{\"patterns\":[{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#term\"}]}]},\"literalNumber\":{\"match\":\"(?<!\\\\p{alpha})\\\\d\\\\d*(\\\\.\\\\d\\\\d*)?\",\"name\":\"constant.numeric\"},\"literalObjectTerm\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"\\\\bobject\\\\b\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag emphasis\"}},\"end\":\"\\\\bend\\\\b\",\"patterns\":[{\"begin\":\"\\\\binherit\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"begin\":\"\\\\bas\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\";;|(?=[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#variablePattern\"}]},{\"include\":\"#term\"}]},{\"include\":\"#pattern\"},{\"include\":\"#declTerm\"}]},{\"begin\":\"\\\\[\",\"end\":\"]\"}]},\"literalRecord\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong strong\"}},\"end\":\"}\",\"patterns\":[{\"begin\":\"(?<=[{;])\",\"end\":\"(:)|(=)|(;)|(with)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"4\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModulePrefixSimple\"},{\"match\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?<=(?:\\\\P{word}with|^with))(?!\\\\p{word})\",\"end\":\"(:)|(=)|(;)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"match\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(;)|(=)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\";|(?=})\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#term\"}]}]},\"literalString\":{\"patterns\":[{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string beginning.punctuation.definition.quote.markdown\",\"patterns\":[{\"include\":\"#literalStringEscape\"}]},{\"begin\":\"(\\\\{)([_[:lower:]]*?)(\\\\|)\",\"end\":\"(\\\\|)(\\\\2)(})\",\"name\":\"string beginning.punctuation.definition.quote.markdown\",\"patterns\":[{\"include\":\"#literalStringEscape\"}]}]},\"literalStringEscape\":{\"match\":\"\\\\\\\\(?:[\\\\\\\\\\\"ntbr]|\\\\d\\\\d\\\\d|x\\\\h\\\\h|o[0-3][0-7][0-7])\"},\"literalUnit\":{\"match\":\"\\\\(\\\\)\",\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},\"pathModuleExtended\":{\"patterns\":[{\"include\":\"#pathModulePrefixExtended\"},{\"match\":\"\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*\",\"name\":\"entity.name.class constant.numeric\"}]},\"pathModulePrefixExtended\":{\"begin\":\"\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*(?=\\\\s*\\\\.|$|\\\\()\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.class constant.numeric\"}},\"end\":\"(?![\\\\s.]|$|\\\\()\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\)\",\"patterns\":[{\"match\":\"(\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*(?=\\\\s*\\\\)))\",\"name\":\"string.other.link variable.language variable.parameter emphasis\"},{\"include\":\"#structure\"}]},{\"begin\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\\\\.(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"keyword strong\"}},\"end\":\"(\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*(?=\\\\s*\\\\.|$))|(\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*(?=\\\\s*(?:$|\\\\()))|(\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*(?=\\\\s*\\\\)))|(?![\\\\s.[:upper:]]|$|\\\\()\",\"endCaptures\":{\"1\":{\"name\":\"entity.name.class constant.numeric\"},\"2\":{\"name\":\"entity.name.function strong\"},\"3\":{\"name\":\"string.other.link variable.language variable.parameter emphasis\"}}}]},\"pathModulePrefixExtendedParens\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\)\",\"patterns\":[{\"match\":\"(\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*(?=\\\\s*\\\\)))\",\"name\":\"string.other.link variable.language variable.parameter emphasis\"},{\"include\":\"#structure\"}]},\"pathModulePrefixSimple\":{\"begin\":\"\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*(?=\\\\s*\\\\.)\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.class constant.numeric\"}},\"end\":\"(?![\\\\s.])\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\\\\.(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"keyword strong\"}},\"end\":\"(\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*(?=\\\\s*\\\\.))|(\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*(?=\\\\s*))|(?![\\\\s.[:upper:]])\",\"endCaptures\":{\"1\":{\"name\":\"entity.name.class constant.numeric\"},\"2\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}}}]},\"pathModuleSimple\":{\"patterns\":[{\"include\":\"#pathModulePrefixSimple\"},{\"match\":\"\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*\",\"name\":\"entity.name.class constant.numeric\"}]},\"pathRecord\":{\"patterns\":[{\"begin\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\",\"end\":\"(?=[^\\\\s.])(?!\\\\(\\\\*)\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]\\\\.|^\\\\.))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\\\\.(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"keyword strong\"}},\"end\":\"((?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\\\\.(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))|((?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|mutable|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)|(?<=\\\\))|(?<=])\",\"endCaptures\":{\"1\":{\"name\":\"keyword strong\"},\"2\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModulePrefixSimple\"},{\"begin\":\"\\\\((?!\\\\*)\",\"captures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#term\"}]},{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#pattern\"}]}]}]}]},\"pattern\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#patternArray\"},{\"include\":\"#patternLazy\"},{\"include\":\"#patternList\"},{\"include\":\"#patternMisc\"},{\"include\":\"#patternModule\"},{\"include\":\"#patternRecord\"},{\"include\":\"#literal\"},{\"include\":\"#patternParens\"},{\"include\":\"#patternType\"},{\"include\":\"#variablePattern\"},{\"include\":\"#termOperator\"}]},\"patternArray\":{\"begin\":\"\\\\[\\\\|\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}},\"end\":\"\\\\|]\",\"patterns\":[{\"include\":\"#pattern\"}]},\"patternLazy\":{\"match\":\"lazy\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"patternList\":{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#pattern\"}]},\"patternMisc\":{\"captures\":{\"1\":{\"name\":\"string.regexp strong\"},\"2\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"match\":\"((?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]),(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))|([#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]+)|\\\\b(as)\\\\b\"},\"patternModule\":{\"begin\":\"\\\\bmodule\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#declModule\"}]},\"patternParens\":{\"begin\":\"\\\\((?!\\\\))\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]):(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#type\"}]},{\"include\":\"#pattern\"}]},\"patternRecord\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong strong\"}},\"end\":\"}\",\"patterns\":[{\"begin\":\"(?<=[{;])\",\"end\":\"(:)|(=)|(;)|(with)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"4\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModulePrefixSimple\"},{\"match\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?<=(?:\\\\P{word}with|^with))(?!\\\\p{word})\",\"end\":\"(:)|(=)|(;)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"match\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(;)|(=)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\";|(?=})\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#pattern\"}]}]},\"patternType\":{\"begin\":\"\\\\btype\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#declType\"}]},\"pragma\":{\"begin\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])#(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#literalNumber\"},{\"include\":\"#literalString\"}]},\"signature\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#signatureLiteral\"},{\"include\":\"#signatureFunctor\"},{\"include\":\"#pathModuleExtended\"},{\"include\":\"#signatureParens\"},{\"include\":\"#signatureRecovered\"},{\"include\":\"#signatureConstraints\"}]},\"signatureConstraints\":{\"begin\":\"\\\\bwith\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"}},\"end\":\"(?=\\\\))|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}with|^with))(?!\\\\p{word})\",\"end\":\"\\\\b(?:(module)|(type))\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"},\"2\":{\"name\":\"keyword\"}}},{\"include\":\"#declModule\"},{\"include\":\"#declType\"}]},\"signatureFunctor\":{\"patterns\":[{\"begin\":\"\\\\bfunctor\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword\"}},\"end\":\"(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}functor|^functor))(?!\\\\p{word})\",\"end\":\"(\\\\(\\\\))|(\\\\((?!\\\\)))\",\"endCaptures\":{\"1\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},\"2\":{\"name\":\"punctuation.definition.tag\"}}},{\"begin\":\"(?<=\\\\()\",\"end\":\"(:)|(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#variableModule\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#signature\"}]},{\"begin\":\"(?<=\\\\))\",\"end\":\"(\\\\()|((?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])->(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag\"},\"2\":{\"name\":\"support.type strong\"}}},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]->|^->))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#signature\"}]}]},{\"match\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])->(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"name\":\"support.type strong\"}]},\"signatureLiteral\":{\"begin\":\"\\\\bsig\\\\b\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag emphasis\"}},\"end\":\"\\\\bend\\\\b\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#decl\"}]},\"signatureParens\":{\"begin\":\"\\\\((?!\\\\))\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]):(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#signature\"}]},{\"include\":\"#signature\"}]},\"signatureRecovered\":{\"patterns\":[{\"begin\":\"\\\\(|(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:|[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]->|^->))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?<=(?:\\\\P{word}|^)(?:include|open))(?!\\\\p{word})\",\"end\":\"\\\\bmodule\\\\b|(?!$|\\\\s|\\\\bmodule\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}}},{\"begin\":\"(?<=(?:\\\\P{word}module|^module))(?!\\\\p{word})\",\"end\":\"(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}module|^module))(?!\\\\p{word})\",\"end\":\"\\\\btype\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}}},{\"begin\":\"(?<=(?:\\\\P{word}type|^type))(?!\\\\p{word})\",\"end\":\"\\\\bof\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}}},{\"begin\":\"(?<=(?:\\\\P{word}of|^of))(?!\\\\p{word})\",\"end\":\"(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#signature\"}]}]}]},\"structure\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#structureLiteral\"},{\"include\":\"#structureFunctor\"},{\"include\":\"#pathModuleExtended\"},{\"include\":\"#structureParens\"}]},\"structureFunctor\":{\"patterns\":[{\"begin\":\"\\\\bfunctor\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword\"}},\"end\":\"(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}functor|^functor))(?!\\\\p{word})\",\"end\":\"(\\\\(\\\\))|(\\\\((?!\\\\)))\",\"endCaptures\":{\"1\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"},\"2\":{\"name\":\"punctuation.definition.tag\"}}},{\"begin\":\"(?<=\\\\()\",\"end\":\"(:)|(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#variableModule\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"patterns\":[{\"include\":\"#signature\"}]},{\"begin\":\"(?<=\\\\))\",\"end\":\"(\\\\()|((?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])->(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag\"},\"2\":{\"name\":\"support.type strong\"}}},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]->|^->))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"patterns\":[{\"include\":\"#structure\"}]}]},{\"match\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])->(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"name\":\"support.type strong\"}]},\"structureLiteral\":{\"begin\":\"\\\\bstruct\\\\b\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag emphasis\"}},\"end\":\"\\\\bend\\\\b\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pragma\"},{\"include\":\"#decl\"}]},\"structureParens\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#structureUnpack\"},{\"include\":\"#structure\"}]},\"structureUnpack\":{\"begin\":\"\\\\bval\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\"(?=\\\\))\"},\"term\":{\"patterns\":[{\"include\":\"#termLet\"},{\"include\":\"#termAtomic\"}]},\"termAtomic\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#termConditional\"},{\"include\":\"#termConstructor\"},{\"include\":\"#termDelim\"},{\"include\":\"#termFor\"},{\"include\":\"#termFunction\"},{\"include\":\"#literal\"},{\"include\":\"#termMatch\"},{\"include\":\"#termMatchRule\"},{\"include\":\"#termPun\"},{\"include\":\"#termOperator\"},{\"include\":\"#termTry\"},{\"include\":\"#termWhile\"},{\"include\":\"#pathRecord\"}]},\"termConditional\":{\"match\":\"\\\\b(?:if|then|else)\\\\b\",\"name\":\"keyword.control\"},\"termConstructor\":{\"patterns\":[{\"include\":\"#pathModulePrefixSimple\"},{\"match\":\"\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*\",\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong\"}]},\"termDelim\":{\"patterns\":[{\"begin\":\"\\\\((?!\\\\))\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#term\"}]},{\"begin\":\"\\\\bbegin\\\\b\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\bend\\\\b\",\"patterns\":[{\"include\":\"#attributeIdentifier\"},{\"include\":\"#term\"}]}]},\"termFor\":{\"patterns\":[{\"begin\":\"\\\\bfor\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\bdone\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}for|^for))(?!\\\\p{word})\",\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])=(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"endCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#pattern\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"\\\\b(?:downto|to)\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"patterns\":[{\"include\":\"#term\"}]},{\"begin\":\"(?<=(?:\\\\P{word}to|^to))(?!\\\\p{word})\",\"end\":\"\\\\bdo\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"patterns\":[{\"include\":\"#term\"}]},{\"begin\":\"(?<=(?:\\\\P{word}do|^do))(?!\\\\p{word})\",\"end\":\"(?=\\\\bdone\\\\b)\",\"patterns\":[{\"include\":\"#term\"}]}]}]},\"termFunction\":{\"captures\":{\"1\":{\"name\":\"storage.type\"},\"2\":{\"name\":\"storage.type\"}},\"match\":\"\\\\b(?:(fun)|(function))\\\\b\"},\"termLet\":{\"patterns\":[{\"begin\":\"(?:(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=|[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]->|^->))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?<=[;(]))(?=\\\\s|\\\\blet\\\\b)|(?<=(?:\\\\P{word}|^)(?:begin|do|else|in|struct|then|try))(?!\\\\p{word})|(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]@@|^@@))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\\\\s+\",\"end\":\"\\\\b(?:(and)|(let))\\\\b|(?=\\\\S)(?!\\\\(\\\\*)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"},\"2\":{\"name\":\"storage.type markup.underline\"}},\"patterns\":[{\"include\":\"#comment\"}]},{\"begin\":\"(?<=(?:\\\\P{word}|^)(?:and|let))(?!\\\\p{word})|(let)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type markup.underline\"}},\"end\":\"\\\\b(?:(and)|(in))\\\\b|(?=[})\\\\]]|\\\\b(?:end|class|exception|external|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\"},\"2\":{\"name\":\"storage.type markup.underline\"}},\"patterns\":[{\"include\":\"#bindTerm\"}]}]},\"termMatch\":{\"begin\":\"\\\\bmatch\\\\b\",\"captures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\bwith\\\\b\",\"patterns\":[{\"include\":\"#term\"}]},\"termMatchRule\":{\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}|^)(?:fun|function|with))(?!\\\\p{word})\",\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])(\\\\|)|(->)(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"endCaptures\":{\"1\":{\"name\":\"support.type strong\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#attributeIdentifier\"},{\"include\":\"#pattern\"}]},{\"begin\":\"(?<=(?:[^\\\\[#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]\\\\||^\\\\|))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])|(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\\\\|(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"support.type strong\"}},\"end\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])(\\\\|)|(->)(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"endCaptures\":{\"1\":{\"name\":\"support.type strong\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#pattern\"},{\"begin\":\"\\\\bwhen\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\"(?=(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])->(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))\",\"patterns\":[{\"include\":\"#term\"}]}]}]},\"termOperator\":{\"patterns\":[{\"begin\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])#(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"keyword\"}},\"end\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.function\"}}},{\"captures\":{\"0\":{\"name\":\"keyword.control strong\"}},\"match\":\"<-\"},{\"captures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"2\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"match\":\"(,|[#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]+)|(;)\"},{\"match\":\"\\\\b(?:and|assert|asr|land|lazy|lsr|lxor|mod|new|or)\\\\b\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}]},\"termPun\":{\"applyEndPatternLast\":true,\"begin\":\"(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\\\\?|~(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"end\":\":|(?=[^\\\\s:])\",\"endCaptures\":{\"0\":{\"name\":\"keyword\"}},\"patterns\":[{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]\\\\?|^\\\\?|[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]~|^~))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\",\"endCaptures\":{\"0\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}}}]},\"termTry\":{\"begin\":\"\\\\btry\\\\b\",\"captures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\bwith\\\\b\",\"patterns\":[{\"include\":\"#term\"}]},\"termWhile\":{\"patterns\":[{\"begin\":\"\\\\bwhile\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"end\":\"\\\\bdone\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"patterns\":[{\"begin\":\"(?<=(?:\\\\P{word}while|^while))(?!\\\\p{word})\",\"end\":\"\\\\bdo\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control\"}},\"patterns\":[{\"include\":\"#term\"}]},{\"begin\":\"(?<=(?:\\\\P{word}do|^do))(?!\\\\p{word})\",\"end\":\"(?=\\\\bdone\\\\b)\",\"patterns\":[{\"include\":\"#term\"}]}]}]},\"type\":{\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"\\\\bnonrec\\\\b\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},{\"include\":\"#pathModulePrefixExtended\"},{\"include\":\"#typeLabel\"},{\"include\":\"#typeObject\"},{\"include\":\"#typeOperator\"},{\"include\":\"#typeParens\"},{\"include\":\"#typePolymorphicVariant\"},{\"include\":\"#typeRecord\"},{\"include\":\"#typeConstructor\"}]},\"typeConstructor\":{\"patterns\":[{\"begin\":\"(_)|((?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)|(')((?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)|(?<=[^*]\\\\)|])\",\"beginCaptures\":{\"1\":{\"name\":\"comment constant.regexp meta.separator.markdown\"},\"3\":{\"name\":\"string.other.link variable.language variable.parameter emphasis strong emphasis\"},\"4\":{\"name\":\"keyword.control emphasis\"}},\"end\":\"(?=\\\\((?!\\\\*)|[*:,=.>\\\\-{\\\\[+})\\\\];|])|((?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)[:space]*(?!\\\\(\\\\*|\\\\p{word})|(?=;;|[})\\\\]]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"entity.name.function strong\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModulePrefixExtended\"}]}]},\"typeLabel\":{\"patterns\":[{\"begin\":\"(\\\\??)((?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\\\\s*((?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]):(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))\",\"captures\":{\"1\":{\"name\":\"keyword strong emphasis\"},\"2\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"},\"3\":{\"name\":\"keyword\"}},\"end\":\"(?=(?<![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])->(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]))\",\"patterns\":[{\"include\":\"#type\"}]}]},\"typeModule\":{\"begin\":\"\\\\bmodule\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"include\":\"#pathModuleExtended\"},{\"include\":\"#signatureConstraints\"}]},\"typeObject\":{\"begin\":\"<\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong strong\"}},\"end\":\">\",\"patterns\":[{\"begin\":\"(?<=[<;])\",\"end\":\"(:)|(?=>)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"4\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModulePrefixSimple\"},{\"match\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(;)|(?=>)\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#type\"}]}]},\"typeOperator\":{\"patterns\":[{\"match\":\"[,;]|[#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]+\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"}]},\"typeParens\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag\"}},\"end\":\"\\\\)\",\"patterns\":[{\"match\":\",\",\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},{\"include\":\"#typeModule\"},{\"include\":\"#type\"}]},\"typePolymorphicVariant\":{\"begin\":\"\\\\[\",\"end\":\"]\",\"patterns\":[]},\"typeRecord\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"constant.language constant.numeric entity.other.attribute-name.id.css strong strong\"}},\"end\":\"}\",\"patterns\":[{\"begin\":\"(?<=[{;])\",\"end\":\"(:)|(=)|(;)|(with)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"4\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#pathModulePrefixSimple\"},{\"match\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?<=(?:\\\\P{word}with|^with))(?!\\\\p{word})\",\"end\":\"(:)|(=)|(;)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp strong\"},\"2\":{\"name\":\"support.type strong\"},\"3\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"match\":\"(?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*\",\"name\":\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]:|^:))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\"(;)|(=)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"},\"2\":{\"name\":\"support.type strong\"}},\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(?<=(?:[^#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$]=|^=))(?![#\\\\-:!?.@*/\\\\&%\\\\^+<=>|~$])\",\"end\":\";|(?=})\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.class.js message.error variable.interpolation string.regexp\"}},\"patterns\":[{\"include\":\"#type\"}]}]},\"variableModule\":{\"captures\":{\"0\":{\"name\":\"string.other.link variable.language variable.parameter emphasis\"}},\"match\":\"\\\\b(?=\\\\p{upper})[[:alpha:]_][[:word:]']*\"},\"variablePattern\":{\"captures\":{\"1\":{\"name\":\"comment constant.regexp meta.separator.markdown\"},\"2\":{\"name\":\"string.other.link variable.language variable.parameter emphasis\"}},\"match\":\"(\\\\b_\\\\b)|((?!\\\\b(?:and|'|as|asr|assert|\\\\*|begin|class|[:,@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[>\\\\-]|if|in|include|inherit|initializer|land|lazy|[{(\\\\[<]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[?\\\"]|rec|[\\\\\\\\})\\\\];]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[[:lower:]_])[[:alpha:]_][[:word:]']*)\"}},\"scopeName\":\"source.ocaml\"}"))
2
2
 
3
3
  export default [
4
4
  lang
package/dist/pascal.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Pascal\",\"fileTypes\":[\"pas\",\"p\",\"pp\",\"dfm\",\"fmx\",\"dpr\",\"dpk\",\"lfm\",\"lpr\",\"ppr\"],\"name\":\"pascal\",\"patterns\":[{\"match\":\"\\\\b(?i:(absolute|abstract|add|all|and_then|array|as|asc|asm|assembler|async|attribute|autoreleasepool|await|begin|bindable|block|by|case|cdecl|class|concat|const|constref|copy|cppdecl|contains|default|delegate|deprecated|desc|distinct|div|each|else|empty|end|ensure|enum|equals|event|except|export|exports|extension|external|far|file|finalization|finalizer|finally|flags|forward|from|future|generic|goto|group|has|helper|if|implements|implies|import|in|index|inherited|initialization|inline|interrupt|into|invariants|is|iterator|label|library|join|lazy|lifetimestrategy|locked|locking|loop|mapped|matching|message|method|mod|module|name|namespace|near|nested|new|nostackframe|not|notify|nullable|object|of|old|oldfpccall|on|only|operator|optional|or_else|order|otherwise|out|override|package|packed|parallel|params|partial|pascal|pinned|platform|pow|private|program|protected|public|published|interface|implementation|qualified|queryable|raises|read|readonly|record|reference|register|remove|resident|require|requires|resourcestring|restricted|result|reverse|safecall|sealed|segment|select|selector|sequence|set|shl|shr|skip|specialize|soft|static|stored|stdcall|step|strict|strong|take|then|threadvar|to|try|tuple|type|unconstrained|unit|unmanaged|unretained|unsafe|uses|using|var|view|virtual|volatile|weak|dynamic|overload|reintroduce|where|with|write|xor|yield))\\\\b\",\"name\":\"keyword.pascal\"},{\"captures\":{\"1\":{\"name\":\"storage.type.prototype.pascal\"},\"2\":{\"name\":\"entity.name.function.prototype.pascal\"}},\"match\":\"\\\\b(?i:(function|procedure|constructor|destructor))\\\\b\\\\s+(\\\\w+(\\\\.\\\\w+)?)(\\\\(.*?\\\\))?;\\\\s*(?=(?i:attribute|forward|external))\",\"name\":\"meta.function.prototype.pascal\"},{\"captures\":{\"1\":{\"name\":\"storage.type.function.pascal\"},\"2\":{\"name\":\"entity.name.function.pascal\"}},\"match\":\"\\\\b(?i:(function|procedure|constructor|destructor|property|read|write))\\\\b\\\\s+(\\\\w+(\\\\.\\\\w+)?)\",\"name\":\"meta.function.pascal\"},{\"match\":\"\\\\b(?i:(self|result))\\\\b\",\"name\":\"token.variable\"},{\"match\":\"\\\\b(?i:(and|or))\\\\b\",\"name\":\"keyword.operator.pascal\"},{\"match\":\"\\\\b(?i:(break|continue|exit|abort|while|do|downto|for|raise|repeat|until))\\\\b\",\"name\":\"keyword.control.pascal\"},{\"begin\":\"\\\\{\\\\$\",\"captures\":{\"0\":{\"name\":\"string.regexp\"}},\"end\":\"\\\\}\",\"name\":\"string.regexp\"},{\"match\":\"\\\\b(?i:(ansichar|ansistring|boolean|byte|cardinal|char|comp|currency|double|dword|extended|file|integer|int8|int16|int32|int64|longint|longword|nativeint|nativeuint|olevariant|pansichar|pchar|pwidechar|pointer|real|shortint|shortstring|single|smallint|string|uint8|uint16|uint32|uint64|variant|widechar|widestring|word|wordbool|uintptr|intptr))\\\\b\",\"name\":\"storage.support.type.pascal\"},{\"match\":\"\\\\b(\\\\d+)|(\\\\d*\\\\.\\\\d+([eE][\\\\-+]?\\\\d+)?)\\\\b\",\"name\":\"constant.numeric.pascal\"},{\"match\":\"\\\\$[0-9a-fA-F]{1,16}\\\\b\",\"name\":\"constant.numeric.hex.pascal\"},{\"match\":\"\\\\b(?i:(true|false|nil))\\\\b\",\"name\":\"constant.language.pascal\"},{\"match\":\"\\\\b(?i:(Assert))\\\\b\",\"name\":\"keyword.control\"},{\"begin\":\"(^[ \\\\t]+)?(?=//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.pascal\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"//\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.pascal\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.double-slash.pascal.two\"}]},{\"begin\":\"\\\\(\\\\*\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.pascal\"}},\"end\":\"\\\\*\\\\)\",\"name\":\"comment.block.pascal.one\"},{\"begin\":\"\\\\{(?!\\\\$)\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.pascal\"}},\"end\":\"\\\\}\",\"name\":\"comment.block.pascal.two\"},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.pascal\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.pascal\"}},\"name\":\"string.quoted.single.pascal\",\"patterns\":[{\"match\":\"''\",\"name\":\"constant.character.escape.apostrophe.pascal\"}]},{\"match\":\"\\\\#\\\\d+\",\"name\":\"string.other.pascal\"}],\"scopeName\":\"source.pascal\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Pascal\",\"fileTypes\":[\"pas\",\"p\",\"pp\",\"dfm\",\"fmx\",\"dpr\",\"dpk\",\"lfm\",\"lpr\",\"ppr\"],\"name\":\"pascal\",\"patterns\":[{\"match\":\"\\\\b(?i:(absolute|abstract|add|all|and_then|array|as|asc|asm|assembler|async|attribute|autoreleasepool|await|begin|bindable|block|by|case|cdecl|class|concat|const|constref|copy|cppdecl|contains|default|delegate|deprecated|desc|distinct|div|each|else|empty|end|ensure|enum|equals|event|except|export|exports|extension|external|far|file|finalization|finalizer|finally|flags|forward|from|future|generic|goto|group|has|helper|if|implements|implies|import|in|index|inherited|initialization|inline|interrupt|into|invariants|is|iterator|label|library|join|lazy|lifetimestrategy|locked|locking|loop|mapped|matching|message|method|mod|module|name|namespace|near|nested|new|nostackframe|not|notify|nullable|object|of|old|oldfpccall|on|only|operator|optional|or_else|order|otherwise|out|override|package|packed|parallel|params|partial|pascal|pinned|platform|pow|private|program|protected|public|published|interface|implementation|qualified|queryable|raises|read|readonly|record|reference|register|remove|resident|require|requires|resourcestring|restricted|result|reverse|safecall|sealed|segment|select|selector|sequence|set|shl|shr|skip|specialize|soft|static|stored|stdcall|step|strict|strong|take|then|threadvar|to|try|tuple|type|unconstrained|unit|unmanaged|unretained|unsafe|uses|using|var|view|virtual|volatile|weak|dynamic|overload|reintroduce|where|with|write|xor|yield))\\\\b\",\"name\":\"keyword.pascal\"},{\"captures\":{\"1\":{\"name\":\"storage.type.prototype.pascal\"},\"2\":{\"name\":\"entity.name.function.prototype.pascal\"}},\"match\":\"\\\\b(?i:(function|procedure|constructor|destructor))\\\\b\\\\s+(\\\\w+(\\\\.\\\\w+)?)(\\\\(.*?\\\\))?;\\\\s*(?=(?i:attribute|forward|external))\",\"name\":\"meta.function.prototype.pascal\"},{\"captures\":{\"1\":{\"name\":\"storage.type.function.pascal\"},\"2\":{\"name\":\"entity.name.function.pascal\"}},\"match\":\"\\\\b(?i:(function|procedure|constructor|destructor|property|read|write))\\\\b\\\\s+(\\\\w+(\\\\.\\\\w+)?)\",\"name\":\"meta.function.pascal\"},{\"match\":\"\\\\b(?i:(self|result))\\\\b\",\"name\":\"token.variable\"},{\"match\":\"\\\\b(?i:(and|or))\\\\b\",\"name\":\"keyword.operator.pascal\"},{\"match\":\"\\\\b(?i:(break|continue|exit|abort|while|do|downto|for|raise|repeat|until))\\\\b\",\"name\":\"keyword.control.pascal\"},{\"begin\":\"\\\\{\\\\$\",\"captures\":{\"0\":{\"name\":\"string.regexp\"}},\"end\":\"}\",\"name\":\"string.regexp\"},{\"match\":\"\\\\b(?i:(ansichar|ansistring|boolean|byte|cardinal|char|comp|currency|double|dword|extended|file|integer|int8|int16|int32|int64|longint|longword|nativeint|nativeuint|olevariant|pansichar|pchar|pwidechar|pointer|real|shortint|shortstring|single|smallint|string|uint8|uint16|uint32|uint64|variant|widechar|widestring|word|wordbool|uintptr|intptr))\\\\b\",\"name\":\"storage.support.type.pascal\"},{\"match\":\"\\\\b(\\\\d+)|(\\\\d*\\\\.\\\\d+([eE][\\\\-+]?\\\\d+)?)\\\\b\",\"name\":\"constant.numeric.pascal\"},{\"match\":\"\\\\$\\\\h{1,16}\\\\b\",\"name\":\"constant.numeric.hex.pascal\"},{\"match\":\"\\\\b(?i:(true|false|nil))\\\\b\",\"name\":\"constant.language.pascal\"},{\"match\":\"\\\\b(?i:(Assert))\\\\b\",\"name\":\"keyword.control\"},{\"begin\":\"(^[ \\\\t]+)?(?=//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.pascal\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"//\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.pascal\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.double-slash.pascal.two\"}]},{\"begin\":\"\\\\(\\\\*\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.pascal\"}},\"end\":\"\\\\*\\\\)\",\"name\":\"comment.block.pascal.one\"},{\"begin\":\"\\\\{(?!\\\\$)\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.pascal\"}},\"end\":\"}\",\"name\":\"comment.block.pascal.two\"},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.pascal\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.pascal\"}},\"name\":\"string.quoted.single.pascal\",\"patterns\":[{\"match\":\"''\",\"name\":\"constant.character.escape.apostrophe.pascal\"}]},{\"match\":\"#\\\\d+\",\"name\":\"string.other.pascal\"}],\"scopeName\":\"source.pascal\"}"))
2
2
 
3
3
  export default [
4
4
  lang