@codingame/monaco-editor-wrapper 4.0.0-next.3 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (573) hide show
  1. package/README.md +0 -26
  2. package/dist/_virtual/_commonjsHelpers.js +1 -4
  3. package/dist/_virtual/_monaco-editor.js +1 -1
  4. package/dist/assets/Angular.ng-template-17.1.0.vsix/expression.json +834 -0
  5. package/dist/assets/Angular.ng-template-17.1.0.vsix/inline-styles.json +98 -0
  6. package/dist/assets/Angular.ng-template-17.1.0.vsix/inline-template.json +76 -0
  7. package/dist/assets/Angular.ng-template-17.1.0.vsix/package.json +260 -0
  8. package/dist/assets/Angular.ng-template-17.1.0.vsix/template-blocks.json +83 -0
  9. package/dist/assets/Angular.ng-template-17.1.0.vsix/template.json +195 -0
  10. package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/dart-language-configuration.json +29 -0
  11. package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/dart.json +526 -0
  12. package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/flutter_activity_bar.svg +14 -0
  13. package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/package.json +3094 -0
  14. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/codeblock.json +81 -0
  15. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/language-configuration.json +57 -0
  16. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/package.json +279 -0
  17. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/systemverilog.json +349 -0
  18. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/systemverilog.tmLanguage.json +1246 -0
  19. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/tasks.schema.json +30 -0
  20. package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/eex-language-configuration.json +58 -0
  21. package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/eex.json +41 -0
  22. package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/elixir-language-configuration.json +182 -0
  23. package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/elixir.json +2698 -0
  24. package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/html-eex.json +25 -0
  25. package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/package.json +623 -0
  26. package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/package.json +569 -0
  27. package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/solidity.configuration.json +32 -0
  28. package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/solidity.json +1215 -0
  29. package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/solidity2.json +213 -0
  30. package/dist/assets/REditorSupport.r-2.8.2.vsix/Markdown Redcarpet.json +146 -0
  31. package/dist/assets/REditorSupport.r-2.8.2.vsix/RMarkdown.json +13 -0
  32. package/dist/assets/REditorSupport.r-2.8.2.vsix/Rcpp.json +34 -0
  33. package/dist/assets/REditorSupport.r-2.8.2.vsix/Rd (R Documentation).json +117 -0
  34. package/dist/assets/REditorSupport.r-2.8.2.vsix/Rlogo.svg +14 -0
  35. package/dist/assets/REditorSupport.r-2.8.2.vsix/dcf-configuration.json +24 -0
  36. package/dist/assets/REditorSupport.r-2.8.2.vsix/dcf.json +82 -0
  37. package/dist/assets/REditorSupport.r-2.8.2.vsix/package.json +2156 -0
  38. package/dist/assets/REditorSupport.r-2.8.2.vsix/r-configuration.json +33 -0
  39. package/dist/assets/REditorSupport.r-2.8.2.vsix/r-snippets.json +475 -0
  40. package/dist/assets/REditorSupport.r-2.8.2.vsix/r.json +647 -0
  41. package/dist/assets/REditorSupport.r-2.8.2.vsix/rbuildignore-configuration.json +2 -0
  42. package/dist/assets/REditorSupport.r-2.8.2.vsix/rbuildignore.json +27 -0
  43. package/dist/assets/REditorSupport.r-2.8.2.vsix/rd-configuration.json +27 -0
  44. package/dist/assets/REditorSupport.r-2.8.2.vsix/rmarkdown2.json +459 -0
  45. package/dist/assets/REditorSupport.r-2.8.2.vsix/rmd-configuration.json +27 -0
  46. package/dist/assets/REditorSupport.r-2.8.2.vsix/rnamespace.json +222 -0
  47. package/dist/assets/alefragnani.pascal-9.6.0.vsix/package.json +263 -0
  48. package/dist/assets/alefragnani.pascal-9.6.0.vsix/package.nls.json +24 -0
  49. package/dist/assets/alefragnani.pascal-9.6.0.vsix/package.nls.pt-br.json +24 -0
  50. package/dist/assets/alefragnani.pascal-9.6.0.vsix/pascal.configuration.json +32 -0
  51. package/dist/assets/alefragnani.pascal-9.6.0.vsix/pascal.json +414 -0
  52. package/dist/assets/alefragnani.pascal-9.6.0.vsix/pascal.tmLanguage +243 -0
  53. package/dist/assets/batisteo.vscode-django-1.15.0.vsix/django-html.tmLanguage.json +701 -0
  54. package/dist/assets/batisteo.vscode-django-1.15.0.vsix/django-txt.tmLanguage.json +255 -0
  55. package/dist/assets/batisteo.vscode-django-1.15.0.vsix/filters.json +339 -0
  56. package/dist/assets/batisteo.vscode-django-1.15.0.vsix/language-configuration.json +63 -0
  57. package/dist/assets/batisteo.vscode-django-1.15.0.vsix/package.json +156 -0
  58. package/dist/assets/batisteo.vscode-django-1.15.0.vsix/tags.json +524 -0
  59. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/language-configuration.json +75 -0
  60. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/package.json +102 -0
  61. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/tcl.json +5474 -0
  62. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/tcl2.json +142 -0
  63. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/CICS.tmLanguage.json +66 -0
  64. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/COBOL.tmLanguage.json +165 -0
  65. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/SQL.tmLanguage.json +25 -0
  66. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/lang-config.json +27 -0
  67. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/package.json +513 -0
  68. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/pgm_conf.schema.json +24 -0
  69. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/proc_grps.schema.json +55 -0
  70. package/dist/assets/castwide.solargraph-0.24.1.vsix/package.json +295 -0
  71. package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/language-configuration.json +25 -0
  72. package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/package.json +468 -0
  73. package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/pgsql.tmLanguage +413 -0
  74. package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/postgres-explorer.svg +100 -0
  75. package/dist/assets/golang.Go-0.40.3.vsix/go.json +274 -0
  76. package/dist/assets/golang.Go-0.40.3.vsix/go.mod.language-configuration.json +5 -0
  77. package/dist/assets/golang.Go-0.40.3.vsix/go.mod.tmGrammar.json +171 -0
  78. package/dist/assets/golang.Go-0.40.3.vsix/go.sum.tmGrammar.json +44 -0
  79. package/dist/assets/golang.Go-0.40.3.vsix/package.json +2828 -0
  80. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/angular-directives.json +123 -0
  81. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/angular-interpolations.json +44 -0
  82. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/angular-template-language-configuration.json +8 -0
  83. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/package.json +102 -0
  84. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/C2Hs-configuration.json +29 -0
  85. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/C2Hs.json +23 -0
  86. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/Hsc2Hs-configuration.json +30 -0
  87. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/Hsc2Hs.json +23 -0
  88. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/alex.json +236 -0
  89. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/cabal-configuration.json +6 -0
  90. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/cabal.json +53 -0
  91. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/codeblock-cabal.json +28 -0
  92. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/codeblock-haskell.json +28 -0
  93. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/codeblock-literate-haskell.json +28 -0
  94. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/happy.json +196 -0
  95. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/haskell-configuration.json +29 -0
  96. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/haskell.json +2525 -0
  97. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/literate-haskell-configuration.json +29 -0
  98. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/literateHaskell.json +56 -0
  99. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/package.json +234 -0
  100. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/Kotlin.tmLanguage +1067 -0
  101. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/codeblock.json +22 -0
  102. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/kotlin.configuration.json +35 -0
  103. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/kotlin.json +107 -0
  104. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/package.json +100 -0
  105. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/aspnetcorerazor.tmLanguage.json +1812 -0
  106. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/csharp.json +493 -0
  107. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/language-configuration.json +24 -0
  108. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.json +5694 -0
  109. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.cs.json +203 -0
  110. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.de.json +203 -0
  111. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.es.json +203 -0
  112. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.fr.json +203 -0
  113. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.it.json +203 -0
  114. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.ja.json +203 -0
  115. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.json +421 -0
  116. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.ko.json +203 -0
  117. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.pl.json +203 -0
  118. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.pt-br.json +203 -0
  119. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.ru.json +203 -0
  120. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.tr.json +203 -0
  121. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.zh-cn.json +203 -0
  122. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/package.nls.zh-tw.json +203 -0
  123. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/vs2019_dark.json +783 -0
  124. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/vs2019_light.json +807 -0
  125. package/dist/assets/ms-python.python-2023.25.10221012.vsix/conda-environment.json +1 -0
  126. package/dist/assets/ms-python.python-2023.25.10221012.vsix/conda-meta.json +1 -0
  127. package/dist/assets/ms-python.python-2023.25.10221012.vsix/condarc.json +1 -0
  128. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.json +1 -0
  129. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.cs.json +1 -0
  130. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.de.json +1 -0
  131. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.es.json +1 -0
  132. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.fr.json +1 -0
  133. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.it.json +1 -0
  134. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.ja.json +1 -0
  135. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.json +1 -0
  136. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.ko.json +1 -0
  137. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.pl.json +1 -0
  138. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.pt-br.json +1 -0
  139. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.qps-ploc.json +1 -0
  140. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.ru.json +1 -0
  141. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.tr.json +1 -0
  142. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.zh-cn.json +1 -0
  143. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.zh-tw.json +1 -0
  144. package/dist/assets/ms-python.python-2023.25.10221012.vsix/pip-requirements.json +1 -0
  145. package/dist/assets/ms-python.python-2023.25.10221012.vsix/pip-requirements.tmLanguage.json +1 -0
  146. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.json +6383 -0
  147. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.cs.json +441 -0
  148. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.de.json +441 -0
  149. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.es.json +441 -0
  150. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.fr.json +441 -0
  151. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.it.json +441 -0
  152. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.ja.json +441 -0
  153. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.json +1006 -0
  154. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.ko.json +441 -0
  155. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.pl.json +441 -0
  156. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.pt-br.json +441 -0
  157. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.ru.json +441 -0
  158. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.tr.json +441 -0
  159. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.zh-cn.json +441 -0
  160. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/package.nls.zh-tw.json +441 -0
  161. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/META.json +56 -0
  162. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/META2.json +10 -0
  163. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/atd.json +57 -0
  164. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/cram.json +167 -0
  165. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/dune-project.json +326 -0
  166. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/dune-project2.json +26 -0
  167. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/dune-workspace.json +191 -0
  168. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/dune.json +2949 -0
  169. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/dune2.json +20 -0
  170. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/dune3.json +34 -0
  171. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/logo.svg +3 -0
  172. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/menhir-action.json +29 -0
  173. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/menhir.json +349 -0
  174. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/menhir2.json +17 -0
  175. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/merlin.json +73 -0
  176. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/oasis.json +69 -0
  177. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/oasis2.json +6 -0
  178. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocaml-markdown-codeblock.json +24 -0
  179. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocaml.interface.json +161 -0
  180. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocaml.json +654 -0
  181. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocaml2.json +44 -0
  182. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocaml3.json +54 -0
  183. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocamlbuild.json +110 -0
  184. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocamlbuild2.json +12 -0
  185. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocamldoc.json +31 -0
  186. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocamlformat.json +239 -0
  187. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocamlformat2.json +5 -0
  188. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocamllex.json +108 -0
  189. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocamllex2.json +14 -0
  190. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocamllex3.json +6 -0
  191. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/opam-install.json +23 -0
  192. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/opam-install2.json +8 -0
  193. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/opam.json +111 -0
  194. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/opam2.json +21 -0
  195. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/package.json +1231 -0
  196. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/reason-markdown-codeblock.json +24 -0
  197. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/reason.json +2357 -0
  198. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/reason2.json +21 -0
  199. package/dist/assets/pgourlain.erlang-0.9.8.vsix/Erlang.plist +2719 -0
  200. package/dist/assets/pgourlain.erlang-0.9.8.vsix/erlang.configuration.json +25 -0
  201. package/dist/assets/pgourlain.erlang-0.9.8.vsix/erlang.json +197 -0
  202. package/dist/assets/pgourlain.erlang-0.9.8.vsix/package.json +305 -0
  203. package/dist/assets/redhat.java-1.27.2024012608.vsix/JavaProperties.tmLanguage.json +103 -0
  204. package/dist/assets/redhat.java-1.27.2024012608.vsix/inline-html.json +44 -0
  205. package/dist/assets/redhat.java-1.27.2024012608.vsix/inline-json.json +44 -0
  206. package/dist/assets/redhat.java-1.27.2024012608.vsix/inline-sql.json +46 -0
  207. package/dist/assets/redhat.java-1.27.2024012608.vsix/inline-xml.json +44 -0
  208. package/dist/assets/redhat.java-1.27.2024012608.vsix/inline-yaml.json +44 -0
  209. package/dist/assets/redhat.java-1.27.2024012608.vsix/java-properties-configuration.json +67 -0
  210. package/dist/assets/redhat.java-1.27.2024012608.vsix/java.tmLanguage.json +1888 -0
  211. package/dist/assets/redhat.java-1.27.2024012608.vsix/kotlin.tmLanguage.json +702 -0
  212. package/dist/assets/redhat.java-1.27.2024012608.vsix/language-configuration.json +92 -0
  213. package/dist/assets/redhat.java-1.27.2024012608.vsix/language-configuration2.json +27 -0
  214. package/dist/assets/redhat.java-1.27.2024012608.vsix/package.json +1819 -0
  215. package/dist/assets/redhat.java-1.27.2024012608.vsix/package.nls.json +30 -0
  216. package/dist/assets/redhat.java-1.27.2024012608.vsix/package.nls.ko.json +27 -0
  217. package/dist/assets/redhat.java-1.27.2024012608.vsix/package.nls.zh-cn.json +28 -0
  218. package/dist/assets/redhat.java-1.27.2024012608.vsix/package.nls.zh-tw.json +27 -0
  219. package/dist/assets/redhat.java-1.27.2024012608.vsix/package.schema.json +48 -0
  220. package/dist/assets/scala-lang.scala-0.5.7.vsix/Scala.tmLanguage.json +1 -0
  221. package/dist/assets/scala-lang.scala-0.5.7.vsix/language-configuration.json +33 -0
  222. package/dist/assets/scala-lang.scala-0.5.7.vsix/package.json +67 -0
  223. package/dist/assets/scalameta.metals-1.27.3.vsix/book-dark.svg +5 -0
  224. package/dist/assets/scalameta.metals-1.27.3.vsix/book-light.svg +1 -0
  225. package/dist/assets/scalameta.metals-1.27.3.vsix/buildtarget.json +37 -0
  226. package/dist/assets/scalameta.metals-1.27.3.vsix/file_type_java.svg +1 -0
  227. package/dist/assets/scalameta.metals-1.27.3.vsix/file_type_scala.svg +1 -0
  228. package/dist/assets/scalameta.metals-1.27.3.vsix/jvm-bytecode-verbose.json +745 -0
  229. package/dist/assets/scalameta.metals-1.27.3.vsix/jvm-bytecode.json +395 -0
  230. package/dist/assets/scalameta.metals-1.27.3.vsix/package.json +1096 -0
  231. package/dist/assets/scalameta.metals-1.27.3.vsix/scalameta-logo.png +0 -0
  232. package/dist/assets/scalameta.metals-1.27.3.vsix/scalameta.svg +11 -0
  233. package/dist/assets/scalameta.metals-1.27.3.vsix/semanticdb.json +37 -0
  234. package/dist/assets/scalameta.metals-1.27.3.vsix/tasty.json +56 -0
  235. package/dist/assets/sumneko.lua-3.7.4.vsix/package.json +3347 -0
  236. package/dist/assets/sumneko.lua-3.7.4.vsix/package.nls.json +231 -0
  237. package/dist/assets/sumneko.lua-3.7.4.vsix/package.nls.pt-br.json +231 -0
  238. package/dist/assets/sumneko.lua-3.7.4.vsix/package.nls.zh-cn.json +231 -0
  239. package/dist/assets/sumneko.lua-3.7.4.vsix/package.nls.zh-tw.json +231 -0
  240. package/dist/assets/sumneko.lua-3.7.4.vsix/schema.json +3423 -0
  241. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/javascript.json +43 -0
  242. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/language-configuration.json +38 -0
  243. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/markdown-svelte-css.json +23 -0
  244. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/markdown-svelte-js.json +23 -0
  245. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/markdown-svelte.json +45 -0
  246. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/package-json-schema.json +9 -0
  247. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/package.json +732 -0
  248. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/postcss.json +377 -0
  249. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/prettier-options-schema.json +112 -0
  250. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/pug-svelte-dotblock.json +55 -0
  251. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/pug-svelte-tags.json +201 -0
  252. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/pug-svelte.json +293 -0
  253. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/svelte.json +26 -0
  254. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/svelte.tmLanguage.json +1171 -0
  255. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/typescript.json +37 -0
  256. package/dist/assets/webfreak.code-d-0.23.2.vsix/d.json +3163 -0
  257. package/dist/assets/webfreak.code-d-0.23.2.vsix/d2.json +90 -0
  258. package/dist/assets/webfreak.code-d-0.23.2.vsix/diet.json +742 -0
  259. package/dist/assets/webfreak.code-d-0.23.2.vsix/diet2.json +92 -0
  260. package/dist/assets/webfreak.code-d-0.23.2.vsix/diet3.json +87 -0
  261. package/dist/assets/webfreak.code-d-0.23.2.vsix/dml.json +157 -0
  262. package/dist/assets/webfreak.code-d-0.23.2.vsix/dub.schema.json +377 -0
  263. package/dist/assets/webfreak.code-d-0.23.2.vsix/general.json +84 -0
  264. package/dist/assets/webfreak.code-d-0.23.2.vsix/package.json +1306 -0
  265. package/dist/assets/webfreak.code-d-0.23.2.vsix/sdl.json +149 -0
  266. package/dist/configuration/index.d.ts +1 -1
  267. package/dist/configuration/index.js +2 -2
  268. package/dist/editor/cobol.js +1 -1
  269. package/dist/extensions/Angular.ng-template-17.1.0.vsix.js +20 -0
  270. package/dist/extensions/Dart-Code.dart-code-3.81.20240117.vsix.js +16 -0
  271. package/dist/extensions/IMCTradingBV.svlangserver-0.4.1.vsix.js +14 -12
  272. package/dist/extensions/JakeBecker.elixir-ls-0.19.0.vsix.js +20 -0
  273. package/dist/extensions/JuanBlanco.solidity-0.0.165.vsix.js +16 -0
  274. package/dist/extensions/REditorSupport.r-2.8.2.vsix.js +44 -0
  275. package/dist/extensions/alefragnani.pascal-9.6.0.vsix.js +16 -9
  276. package/dist/extensions/batisteo.vscode-django-1.15.0.vsix.js +20 -0
  277. package/dist/extensions/bitwisecook.tcl-0.4.3.vsix.js +12 -9
  278. package/dist/extensions/broadcomMFD.cobol-language-support-2.1.0.vsix.js +22 -0
  279. package/dist/extensions/castwide.solargraph-0.24.1.vsix.js +10 -0
  280. package/dist/extensions/ckolkman.vscode-postgres-1.4.3.vsix.js +16 -0
  281. package/dist/extensions/golang.Go-0.40.3.vsix.js +18 -0
  282. package/dist/extensions/johnsoncodehk.vscode-angular-1.0.22.vsix.js +12 -9
  283. package/dist/extensions/justusadam.language-haskell-3.6.0.vsix.js +24 -25
  284. package/dist/extensions/mathiasfrohlich.Kotlin-1.7.1.vsix.js +13 -10
  285. package/dist/extensions/ms-dotnettools.csharp-2.16.24.vsix.js +48 -0
  286. package/dist/extensions/ms-python.python-2023.25.10221012.vsix.js +50 -0
  287. package/dist/extensions/ms-vscode.cpptools-1.19.2.vsix.js +38 -0
  288. package/dist/extensions/ocamllabs.ocaml-platform-1.16.1.vsix.js +84 -0
  289. package/dist/extensions/pgourlain.erlang-0.9.8.vsix.js +16 -0
  290. package/dist/extensions/redhat.java-1.27.2024012608.vsix.js +42 -0
  291. package/dist/extensions/scala-lang.scala-0.5.7.vsix.js +14 -0
  292. package/dist/extensions/scalameta.metals-1.27.3.vsix.js +32 -0
  293. package/dist/extensions/sumneko.lua-3.7.4.vsix.js +20 -0
  294. package/dist/extensions/svelte.svelte-vscode-108.2.1.vsix.js +38 -0
  295. package/dist/extensions/webfreak.code-d-0.23.2.vsix.js +18 -18
  296. package/dist/extensions.d.ts +35 -35
  297. package/dist/features/debug.js +1 -2
  298. package/dist/features/extensionHostWorker.d.ts +1 -0
  299. package/dist/features/extensionHostWorker.js +11 -0
  300. package/dist/features/search.d.ts +1 -1
  301. package/dist/features/search.js +3 -3
  302. package/dist/features/viewPanels.d.ts +1 -1
  303. package/dist/features/viewPanels.js +7 -4
  304. package/dist/features/views.d.ts +4 -4
  305. package/dist/features/views.js +19 -9
  306. package/dist/index.d.ts +2 -1
  307. package/dist/keybindings/index.js +1 -1
  308. package/dist/keybindings/vim.js +1 -1
  309. package/dist/languages/index.js +1 -1
  310. package/dist/main.js +3 -2
  311. package/dist/monaco.d.ts +1 -3
  312. package/dist/monaco.js +61 -60
  313. package/dist/node_modules/@codingame/monaco-vscode-files-service-override/external/tslib/tslib.es6.js +11 -0
  314. package/dist/node_modules/@codingame/monaco-vscode-files-service-override/files.js +396 -0
  315. package/dist/node_modules/@codingame/monaco-vscode-files-service-override/override/vs/platform/dialogs/common/dialogs.js +8 -0
  316. package/dist/node_modules/@codingame/monaco-vscode-files-service-override/vscode/src/vs/platform/files/browser/indexedDBFileSystemProvider.js +406 -0
  317. package/dist/node_modules/@codingame/monaco-vscode-files-service-override/vscode/src/vs/platform/files/common/fileService.js +989 -0
  318. package/dist/node_modules/@codingame/monaco-vscode-files-service-override/vscode/src/vs/platform/files/common/io.js +77 -0
  319. package/dist/node_modules/@codingame/monaco-vscode-files-service-override/vscode/src/vs/workbench/services/textfile/browser/browserTextFileService.js +58 -0
  320. package/dist/node_modules/@codingame/monaco-vscode-files-service-override/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +641 -0
  321. package/dist/node_modules/@codingame/monaco-vscode-files-service-override/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +404 -0
  322. package/dist/node_modules/@codingame/monaco-vscode-files-service-override/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +64 -0
  323. package/dist/node_modules/monaco-vim/lib/cm_adapter.js +7 -3
  324. package/dist/services.d.ts +3 -1
  325. package/dist/services.js +61 -26
  326. package/dist/tools/EditorOpenHandlerRegistry.d.ts +1 -1
  327. package/dist/tools/EditorOpenHandlerRegistry.js +3 -3
  328. package/dist/tools/FakeWorker.d.ts +5 -0
  329. package/dist/tools/FakeWorker.js +8 -0
  330. package/dist/tools/crossOriginWorker.d.ts +9 -0
  331. package/dist/tools/crossOriginWorker.js +35 -0
  332. package/dist/tools.js +1 -1
  333. package/dist/worker.d.ts +1 -0
  334. package/dist/worker.js +9 -2
  335. package/package.json +112 -39
  336. package/stats.html +32 -28
  337. package/dist/_virtual/Angular.ng-template-15.2.1.vsix_package.json.vsjson.js +0 -3
  338. package/dist/_virtual/C2Hs-configuration.json.raw.js +0 -3
  339. package/dist/_virtual/C2Hs.json.raw.js +0 -3
  340. package/dist/_virtual/COBOL.tmLanguage.json.raw.js +0 -3
  341. package/dist/_virtual/Dart-Code.dart-code-3.63.20230419.vsix_package.json.vsjson.js +0 -3
  342. package/dist/_virtual/Erlang.plist.raw.js +0 -3
  343. package/dist/_virtual/Hsc2Hs-configuration.json.raw.js +0 -3
  344. package/dist/_virtual/Hsc2Hs.json.raw.js +0 -3
  345. package/dist/_virtual/IMCTradingBV.svlangserver-0.4.1.vsix_package.json.vsjson.js +0 -3
  346. package/dist/_virtual/JakeBecker.elixir-ls-0.14.5.vsix_package.json.vsjson.js +0 -3
  347. package/dist/_virtual/JavaProperties.tmLanguage.json.raw.js +0 -3
  348. package/dist/_virtual/JuanBlanco.solidity-0.0.152.vsix_package.json.vsjson.js +0 -3
  349. package/dist/_virtual/Kotlin.tmLanguage.raw.js +0 -3
  350. package/dist/_virtual/META.json.raw.js +0 -3
  351. package/dist/_virtual/META.json.raw2.js +0 -3
  352. package/dist/_virtual/Markdown Redcarpet.json.raw.js +0 -3
  353. package/dist/_virtual/REditorSupport.r-2.7.2.vsix_package.json.vsjson.js +0 -3
  354. package/dist/_virtual/RMarkdown.json.raw.js +0 -3
  355. package/dist/_virtual/Rcpp.json.raw.js +0 -3
  356. package/dist/_virtual/Rd (R Documentation).json.raw.js +0 -3
  357. package/dist/_virtual/Rlogo.svg.raw.js +0 -3
  358. package/dist/_virtual/Scala.tmLanguage.json.raw.js +0 -3
  359. package/dist/_virtual/_rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js +0 -31
  360. package/dist/_virtual/alefragnani.pascal-9.6.0.vsix_package.json.vsjson.js +0 -3
  361. package/dist/_virtual/alex.json.raw.js +0 -3
  362. package/dist/_virtual/angular-directives.json.raw.js +0 -3
  363. package/dist/_virtual/angular-interpolations.json.raw.js +0 -3
  364. package/dist/_virtual/angular-template-language-configuration.json.raw.js +0 -3
  365. package/dist/_virtual/aspnetcorerazor.tmLanguage.json.raw.js +0 -3
  366. package/dist/_virtual/atd.json.raw.js +0 -3
  367. package/dist/_virtual/batisteo.vscode-django-1.10.0.vsix_package.json.vsjson.js +0 -3
  368. package/dist/_virtual/bitwisecook.tcl-0.4.3.vsix_package.json.vsjson.js +0 -3
  369. package/dist/_virtual/book-dark.svg.raw.js +0 -3
  370. package/dist/_virtual/book-light.svg.raw.js +0 -3
  371. package/dist/_virtual/broadcomMFD.cobol-language-support-1.2.1.vsix_package.json.vsjson.js +0 -3
  372. package/dist/_virtual/buildtarget.json.raw.js +0 -3
  373. package/dist/_virtual/cabal-configuration.json.raw.js +0 -3
  374. package/dist/_virtual/cabal.json.raw.js +0 -3
  375. package/dist/_virtual/castwide.solargraph-0.24.0.vsix_package.json.vsjson.js +0 -3
  376. package/dist/_virtual/ckolkman.vscode-postgres-1.4.2.vsix_package.json.vsjson.js +0 -3
  377. package/dist/_virtual/codeblock-cabal.json.raw.js +0 -3
  378. package/dist/_virtual/codeblock-haskell.json.raw.js +0 -3
  379. package/dist/_virtual/codeblock-literate-haskell.json.raw.js +0 -3
  380. package/dist/_virtual/codeblock.json.raw.js +0 -3
  381. package/dist/_virtual/codeblock.json.raw2.js +0 -3
  382. package/dist/_virtual/conda-environment.json.raw.js +0 -3
  383. package/dist/_virtual/conda-meta.json.raw.js +0 -3
  384. package/dist/_virtual/condarc.json.raw.js +0 -3
  385. package/dist/_virtual/cram.json.raw.js +0 -3
  386. package/dist/_virtual/csharp.json.raw.js +0 -3
  387. package/dist/_virtual/css.worker.js +0 -6
  388. package/dist/_virtual/d.json.raw.js +0 -3
  389. package/dist/_virtual/d.json.raw2.js +0 -3
  390. package/dist/_virtual/dart-language-configuration.json.raw.js +0 -3
  391. package/dist/_virtual/dart.json.raw.js +0 -3
  392. package/dist/_virtual/dcf-configuration.json.raw.js +0 -3
  393. package/dist/_virtual/dcf.json.raw.js +0 -3
  394. package/dist/_virtual/diet.json.raw.js +0 -3
  395. package/dist/_virtual/diet.json.raw2.js +0 -3
  396. package/dist/_virtual/diet.json.raw3.js +0 -3
  397. package/dist/_virtual/django-html.tmLanguage.json.raw.js +0 -3
  398. package/dist/_virtual/django-txt.tmLanguage.json.raw.js +0 -3
  399. package/dist/_virtual/dml.json.raw.js +0 -3
  400. package/dist/_virtual/dub.schema.json.raw.js +0 -3
  401. package/dist/_virtual/dune-project.json.raw.js +0 -3
  402. package/dist/_virtual/dune-project.json.raw2.js +0 -3
  403. package/dist/_virtual/dune-workspace.json.raw.js +0 -3
  404. package/dist/_virtual/dune.json.raw.js +0 -3
  405. package/dist/_virtual/dune.json.raw2.js +0 -3
  406. package/dist/_virtual/dune.json.raw3.js +0 -3
  407. package/dist/_virtual/editor.worker.js +0 -6
  408. package/dist/_virtual/eex-language-configuration.json.raw.js +0 -3
  409. package/dist/_virtual/eex.json.raw.js +0 -3
  410. package/dist/_virtual/elixir-language-configuration.json.raw.js +0 -3
  411. package/dist/_virtual/elixir.json.raw.js +0 -3
  412. package/dist/_virtual/erlang.configuration.json.raw.js +0 -3
  413. package/dist/_virtual/erlang.json.raw.js +0 -3
  414. package/dist/_virtual/expression.json.raw.js +0 -3
  415. package/dist/_virtual/file_type_java.svg.raw.js +0 -3
  416. package/dist/_virtual/file_type_scala.svg.raw.js +0 -3
  417. package/dist/_virtual/filters.json.raw.js +0 -3
  418. package/dist/_virtual/flutter_activity_bar.svg.raw.js +0 -3
  419. package/dist/_virtual/general.json.raw.js +0 -3
  420. package/dist/_virtual/go.json.raw.js +0 -3
  421. package/dist/_virtual/go.mod.language-configuration.json.raw.js +0 -3
  422. package/dist/_virtual/go.mod.tmGrammar.json.raw.js +0 -3
  423. package/dist/_virtual/go.sum.tmGrammar.json.raw.js +0 -3
  424. package/dist/_virtual/golang.Go-0.38.0.vsix_package.json.vsjson.js +0 -3
  425. package/dist/_virtual/govulncheck.tmGrammar.json.raw.js +0 -3
  426. package/dist/_virtual/happy.json.raw.js +0 -3
  427. package/dist/_virtual/haskell-configuration.json.raw.js +0 -3
  428. package/dist/_virtual/haskell.json.raw.js +0 -3
  429. package/dist/_virtual/html-eex.json.raw.js +0 -3
  430. package/dist/_virtual/html.worker.js +0 -6
  431. package/dist/_virtual/inline-styles.json.raw.js +0 -3
  432. package/dist/_virtual/inline-template.json.raw.js +0 -3
  433. package/dist/_virtual/java-properties-configuration.json.raw.js +0 -3
  434. package/dist/_virtual/java.json.raw.js +0 -3
  435. package/dist/_virtual/javascript.json.raw.js +0 -3
  436. package/dist/_virtual/johnsoncodehk.vscode-angular-1.0.22.vsix_package.json.vsjson.js +0 -3
  437. package/dist/_virtual/json.worker.js +0 -6
  438. package/dist/_virtual/justusadam.language-haskell-3.6.0.vsix_package.json.vsjson.js +0 -3
  439. package/dist/_virtual/jvm-bytecode-verbose.json.raw.js +0 -3
  440. package/dist/_virtual/jvm-bytecode.json.raw.js +0 -3
  441. package/dist/_virtual/kotlin.configuration.json.raw.js +0 -3
  442. package/dist/_virtual/kotlin.json.raw.js +0 -3
  443. package/dist/_virtual/lang-config.json.raw.js +0 -3
  444. package/dist/_virtual/language-configuration.json.raw.js +0 -3
  445. package/dist/_virtual/language-configuration.json.raw2.js +0 -3
  446. package/dist/_virtual/language-configuration.json.raw3.js +0 -3
  447. package/dist/_virtual/language-configuration.json.raw4.js +0 -3
  448. package/dist/_virtual/language-configuration.json.raw5.js +0 -3
  449. package/dist/_virtual/language-configuration.json.raw6.js +0 -3
  450. package/dist/_virtual/language-configuration.json.raw7.js +0 -3
  451. package/dist/_virtual/language-configuration.json.raw8.js +0 -3
  452. package/dist/_virtual/literate-haskell-configuration.json.raw.js +0 -3
  453. package/dist/_virtual/literateHaskell.json.raw.js +0 -3
  454. package/dist/_virtual/logo.svg.raw.js +0 -3
  455. package/dist/_virtual/markdown-svelte-css.json.raw.js +0 -3
  456. package/dist/_virtual/markdown-svelte-js.json.raw.js +0 -3
  457. package/dist/_virtual/markdown-svelte.json.raw.js +0 -3
  458. package/dist/_virtual/mathiasfrohlich.Kotlin-1.7.1.vsix_package.json.vsjson.js +0 -3
  459. package/dist/_virtual/menhir-action.json.raw.js +0 -3
  460. package/dist/_virtual/menhir.json.raw.js +0 -3
  461. package/dist/_virtual/menhir.json.raw2.js +0 -3
  462. package/dist/_virtual/merlin.json.raw.js +0 -3
  463. package/dist/_virtual/ms-dotnettools.csharp-1.25.4.vsix_package.json.vsjson.js +0 -3
  464. package/dist/_virtual/ms-python.python-2023.7.11111009.vsix_package.json.vsjson.js +0 -3
  465. package/dist/_virtual/ms-vscode.cpptools-1.15.2.vsix_package.json.vsjson.js +0 -3
  466. package/dist/_virtual/oasis.json.raw.js +0 -3
  467. package/dist/_virtual/oasis.json.raw2.js +0 -3
  468. package/dist/_virtual/ocaml-markdown-codeblock.json.raw.js +0 -3
  469. package/dist/_virtual/ocaml.interface.json.raw.js +0 -3
  470. package/dist/_virtual/ocaml.json.raw.js +0 -3
  471. package/dist/_virtual/ocaml.json.raw2.js +0 -3
  472. package/dist/_virtual/ocaml.json.raw3.js +0 -3
  473. package/dist/_virtual/ocamlbuild.json.raw.js +0 -3
  474. package/dist/_virtual/ocamlbuild.json.raw2.js +0 -3
  475. package/dist/_virtual/ocamldoc.json.raw.js +0 -3
  476. package/dist/_virtual/ocamlformat.json.raw.js +0 -3
  477. package/dist/_virtual/ocamlformat.json.raw2.js +0 -3
  478. package/dist/_virtual/ocamllabs.ocaml-platform-1.12.2.vsix_package.json.vsjson.js +0 -3
  479. package/dist/_virtual/ocamllex.json.raw.js +0 -3
  480. package/dist/_virtual/ocamllex.json.raw2.js +0 -3
  481. package/dist/_virtual/ocamllex.json.raw3.js +0 -3
  482. package/dist/_virtual/opam-install.json.raw.js +0 -3
  483. package/dist/_virtual/opam-install.json.raw2.js +0 -3
  484. package/dist/_virtual/opam.json.raw.js +0 -3
  485. package/dist/_virtual/opam.json.raw2.js +0 -3
  486. package/dist/_virtual/package-json-schema.json.raw.js +0 -3
  487. package/dist/_virtual/package.schema.json.raw.js +0 -3
  488. package/dist/_virtual/pascal.configuration.json.raw.js +0 -3
  489. package/dist/_virtual/pascal.json.raw.js +0 -3
  490. package/dist/_virtual/pascal.tmLanguage.raw.js +0 -3
  491. package/dist/_virtual/pgourlain.erlang-0.8.8.vsix_package.json.vsjson.js +0 -3
  492. package/dist/_virtual/pgsql.tmLanguage.raw.js +0 -3
  493. package/dist/_virtual/pip-requirements.json.raw.js +0 -3
  494. package/dist/_virtual/pip-requirements.tmLanguage.json.raw.js +0 -3
  495. package/dist/_virtual/postcss.json.raw.js +0 -3
  496. package/dist/_virtual/postgres-explorer.svg.raw.js +0 -3
  497. package/dist/_virtual/prettier-options-schema.json.raw.js +0 -3
  498. package/dist/_virtual/pug-svelte-dotblock.json.raw.js +0 -3
  499. package/dist/_virtual/pug-svelte-tags.json.raw.js +0 -3
  500. package/dist/_virtual/pug-svelte.json.raw.js +0 -3
  501. package/dist/_virtual/r-configuration.json.raw.js +0 -3
  502. package/dist/_virtual/r-snippets.json.raw.js +0 -3
  503. package/dist/_virtual/r.json.raw.js +0 -3
  504. package/dist/_virtual/rbuildignore-configuration.json.raw.js +0 -3
  505. package/dist/_virtual/rbuildignore.json.raw.js +0 -3
  506. package/dist/_virtual/rd-configuration.json.raw.js +0 -3
  507. package/dist/_virtual/reason-markdown-codeblock.json.raw.js +0 -3
  508. package/dist/_virtual/reason.json.raw.js +0 -3
  509. package/dist/_virtual/reason.json.raw2.js +0 -3
  510. package/dist/_virtual/redhat.java-1.18.2023042204.vsix_package.json.vsjson.js +0 -3
  511. package/dist/_virtual/rmarkdown.json.raw2.js +0 -3
  512. package/dist/_virtual/rmd-configuration.json.raw.js +0 -3
  513. package/dist/_virtual/rnamespace-configuration.json.raw.js +0 -3
  514. package/dist/_virtual/rnamespace.json.raw.js +0 -3
  515. package/dist/_virtual/scala-lang.scala-0.5.6.vsix_package.json.vsjson.js +0 -3
  516. package/dist/_virtual/scalameta-logo.png.raw.js +0 -3
  517. package/dist/_virtual/scalameta.metals-1.23.0.vsix_package.json.vsjson.js +0 -3
  518. package/dist/_virtual/scalameta.svg.raw.js +0 -3
  519. package/dist/_virtual/schema.json.raw.js +0 -3
  520. package/dist/_virtual/sdl.json.raw.js +0 -3
  521. package/dist/_virtual/semanticdb.json.raw.js +0 -3
  522. package/dist/_virtual/solidity.configuration.json.raw.js +0 -3
  523. package/dist/_virtual/solidity.json.raw.js +0 -3
  524. package/dist/_virtual/solidity.json.raw2.js +0 -3
  525. package/dist/_virtual/sumneko.lua-3.6.18.vsix_package.json.vsjson.js +0 -3
  526. package/dist/_virtual/svelte.json.raw.js +0 -3
  527. package/dist/_virtual/svelte.svelte-vscode-107.3.0.vsix_package.json.vsjson.js +0 -3
  528. package/dist/_virtual/svelte.tmLanguage.json.raw.js +0 -3
  529. package/dist/_virtual/systemverilog.json.raw.js +0 -3
  530. package/dist/_virtual/systemverilog.tmLanguage.json.raw.js +0 -3
  531. package/dist/_virtual/tags.json.raw.js +0 -3
  532. package/dist/_virtual/tasks.schema.json.raw.js +0 -3
  533. package/dist/_virtual/tasty.json.raw.js +0 -3
  534. package/dist/_virtual/tcl.json.raw.js +0 -3
  535. package/dist/_virtual/tcl.json.raw2.js +0 -3
  536. package/dist/_virtual/template.json.raw.js +0 -3
  537. package/dist/_virtual/ts.worker.js +0 -6
  538. package/dist/_virtual/typescript.json.raw.js +0 -3
  539. package/dist/_virtual/vs2019_dark.json.raw.js +0 -3
  540. package/dist/_virtual/vs2019_light.json.raw.js +0 -3
  541. package/dist/_virtual/webfreak.code-d-0.23.2.vsix_package.json.vsjson.js +0 -3
  542. package/dist/extensions/Angular.ng-template-15.2.1.vsix.js +0 -15
  543. package/dist/extensions/Dart-Code.dart-code-3.63.20230419.vsix.js +0 -14
  544. package/dist/extensions/JakeBecker.elixir-ls-0.14.5.vsix.js +0 -18
  545. package/dist/extensions/JuanBlanco.solidity-0.0.152.vsix.js +0 -13
  546. package/dist/extensions/REditorSupport.r-2.7.2.vsix.js +0 -47
  547. package/dist/extensions/batisteo.vscode-django-1.10.0.vsix.js +0 -17
  548. package/dist/extensions/broadcomMFD.cobol-language-support-1.2.1.vsix.js +0 -11
  549. package/dist/extensions/castwide.solargraph-0.24.0.vsix.js +0 -8
  550. package/dist/extensions/ckolkman.vscode-postgres-1.4.2.vsix.js +0 -14
  551. package/dist/extensions/golang.Go-0.38.0.vsix.js +0 -17
  552. package/dist/extensions/ms-dotnettools.csharp-1.25.4.vsix.js +0 -17
  553. package/dist/extensions/ms-python.python-2023.7.11111009.vsix.js +0 -20
  554. package/dist/extensions/ms-vscode.cpptools-1.15.2.vsix.js +0 -8
  555. package/dist/extensions/ocamllabs.ocaml-platform-1.12.2.vsix.js +0 -92
  556. package/dist/extensions/pgourlain.erlang-0.8.8.vsix.js +0 -13
  557. package/dist/extensions/redhat.java-1.18.2023042204.vsix.js +0 -19
  558. package/dist/extensions/scala-lang.scala-0.5.6.vsix.js +0 -11
  559. package/dist/extensions/scalameta.metals-1.23.0.vsix.js +0 -34
  560. package/dist/extensions/sumneko.lua-3.6.18.vsix.js +0 -10
  561. package/dist/extensions/svelte.svelte-vscode-107.3.0.vsix.js +0 -37
  562. package/dist/features/cssContribution.d.ts +0 -1
  563. package/dist/features/cssContribution.js +0 -6
  564. package/dist/features/htmlContribution.d.ts +0 -4
  565. package/dist/features/htmlContribution.js +0 -102
  566. package/dist/features/jsonContribution.d.ts +0 -4
  567. package/dist/features/jsonContribution.js +0 -22
  568. package/dist/features/typescriptContribution.d.ts +0 -1
  569. package/dist/features/typescriptContribution.js +0 -44
  570. package/dist/node_modules/@types/node/console.d.js +0 -3
  571. package/dist/node_modules/@types/node/globals.d.js +0 -3
  572. package/dist/node_modules/@types/node/process.d.js +0 -3
  573. package/dist/node_modules/tslib/tslib.es6.js +0 -77
@@ -0,0 +1,2357 @@
1
+ {
2
+ "name": "Reason",
3
+ "scopeName": "source.reason",
4
+ "fileTypes": ["re", "rei"],
5
+ "patterns": [
6
+ { "include": "#structure-expression-block-item" },
7
+ { "include": "#value-expression" }
8
+ ],
9
+ "repository": {
10
+ "attribute": {
11
+ "begin": "(?=\\[(@{1,3})[[:space:]]*[[:alpha:]])",
12
+ "end": "\\]",
13
+ "patterns": [
14
+ {
15
+ "begin": "\\[(@{1,3})",
16
+ "end": "(?=[^_\\.'[:word:]])",
17
+ "beginCaptures": {
18
+ "1": { "name": "keyword.control.less" }
19
+ },
20
+ "patterns": [{ "include": "#attribute-identifier" }]
21
+ },
22
+ { "include": "#attribute-payload" }
23
+ ]
24
+ },
25
+ "attribute-identifier": {
26
+ "patterns": [
27
+ {
28
+ "match": "\\b([[:alpha:]][[:word:]]*)\\b[[:space:]]*(?:(\\.))",
29
+ "captures": {
30
+ "1": { "name": "support.class entity.name.class" },
31
+ "2": { "name": "keyword.control.less" }
32
+ }
33
+ },
34
+ {
35
+ "match": "\\b([[:alpha:]][[:word:]]*)\\b",
36
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
37
+ }
38
+ ]
39
+ },
40
+ "attribute-payload": {
41
+ "patterns": [
42
+ {
43
+ "begin": "(:)",
44
+ "end": "(?=\\])",
45
+ "beginCaptures": {
46
+ "1": {
47
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
48
+ }
49
+ },
50
+ "patterns": [
51
+ { "include": "#structure-expression" },
52
+ { "include": "#module-item-type" },
53
+ { "include": "#type-expression" }
54
+ ]
55
+ },
56
+ {
57
+ "begin": "([\\?])",
58
+ "end": "(?=\\])",
59
+ "beginCaptures": {
60
+ "1": { "name": "keyword.control.less" }
61
+ },
62
+ "patterns": [
63
+ { "include": "#pattern-guard" },
64
+ { "include": "#pattern" }
65
+ ]
66
+ },
67
+ { "include": "#structure-expression-block-item" },
68
+ { "include": "#value-expression" }
69
+ ]
70
+ },
71
+ "class-item-inherit": {
72
+ "begin": "\\b(inherit)\\b",
73
+ "end": "(;)|(?=}|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
74
+ "beginCaptures": {
75
+ "1": { "name": "keyword.other" }
76
+ },
77
+ "endCaptures": {
78
+ "1": {
79
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
80
+ }
81
+ },
82
+ "patterns": [{ "include": "#value-expression" }]
83
+ },
84
+ "class-item-method": {
85
+ "begin": "\\b(method)\\b",
86
+ "end": "(;)|(?=}|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|type|val|with)\\b)",
87
+ "beginCaptures": {
88
+ "1": { "name": "storage.type" }
89
+ },
90
+ "endCaptures": {
91
+ "1": {
92
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
93
+ }
94
+ },
95
+ "patterns": [
96
+ { "include": "#module-item-let-value-bind-name-params-type-body" }
97
+ ]
98
+ },
99
+ "comment": {
100
+ "name": "comment",
101
+ "patterns": [
102
+ { "include": "#comment-line" },
103
+ { "include": "#comment-block-doc" },
104
+ { "include": "#comment-block" }
105
+ ]
106
+ },
107
+ "comment-line": {
108
+ "name": "comment.line",
109
+ "begin": "(^[ \\t]+)?((//))",
110
+ "end": "(?=^)"
111
+ },
112
+ "comment-block": {
113
+ "begin": "/\\*",
114
+ "end": "\\*/",
115
+ "name": "comment.block",
116
+ "patterns": [
117
+ { "include": "#comment-block-doc" },
118
+ { "include": "#comment-block" }
119
+ ]
120
+ },
121
+ "comment-block-doc": {
122
+ "begin": "/\\*\\*(?!/)",
123
+ "end": "\\*/",
124
+ "name": "comment.block.documentation",
125
+ "patterns": [
126
+ { "include": "#comment-block-doc" },
127
+ { "include": "#comment-block" }
128
+ ]
129
+ },
130
+ "condition-lhs": {
131
+ "begin": "(?<![#\\-:!?.@*/&%^+<=>|~$\\\\])([\\?])(?![#\\-:!?.@*/&%^+<=>|~$\\\\])",
132
+ "end": "(?=[\\)])",
133
+ "beginCaptures": {
134
+ "1": { "name": "keyword.control message.error variable.interpolation" }
135
+ },
136
+ "patterns": [
137
+ {
138
+ "match": "(?:\\b|[[:space:]]+)([?])(?:\\b|[[:space:]]+)",
139
+ "name": "keyword.control message.error variable.interpolation"
140
+ },
141
+ { "include": "#value-expression" }
142
+ ]
143
+ },
144
+ "extension-node": {
145
+ "begin": "(?=\\[(%{1,3})[[:space:]]*[[:alpha:]])",
146
+ "end": "\\]",
147
+ "patterns": [
148
+ {
149
+ "begin": "\\[(%{1,3})",
150
+ "end": "(?=[^_\\.'[:word:]])\\:?",
151
+ "beginCaptures": {
152
+ "1": { "name": "keyword.control.less" }
153
+ },
154
+ "patterns": [{ "include": "#attribute-identifier" }]
155
+ },
156
+ { "include": "#attribute-payload" }
157
+ ]
158
+ },
159
+ "jsx": {
160
+ "patterns": [{ "include": "#jsx-head" }, { "include": "#jsx-tail" }]
161
+ },
162
+ "jsx-attributes": {
163
+ "patterns": [
164
+ {
165
+ "begin": "\\b([[:lower:]][[:word:]]*)\\b[[:space:]]*(=)",
166
+ "end": "(?<![=])(?=[/>[:lower:]])",
167
+ "comment": "meta.separator",
168
+ "beginCaptures": {
169
+ "1": {
170
+ "name": "markup.inserted constant.language support.property-value entity.name.filename"
171
+ },
172
+ "2": { "name": "keyword.control.less" }
173
+ },
174
+ "patterns": [{ "include": "#value-expression-atomic-with-paths" }]
175
+ },
176
+ {
177
+ "match": "(\\b([[:lower:]][[:word:]]*)\\b[[:space:]]*+)",
178
+ "captures": {
179
+ "1": { "comment": "meta.separator" },
180
+ "2": {
181
+ "name": "markup.inserted constant.language support.property-value entity.name.filename"
182
+ }
183
+ }
184
+ }
185
+ ]
186
+ },
187
+ "jsx-body": {
188
+ "begin": "((>))",
189
+ "end": "(?=</)",
190
+ "beginCaptures": {
191
+ "1": { "comment": "meta.separator" },
192
+ "2": { "name": "punctuation.definition.tag.end.js" }
193
+ },
194
+ "patterns": [
195
+ {
196
+ "comment": "FIXME: seems necessary in order to properly tokenize `[[:word:]]</` boundary",
197
+ "match": "[[:lower:]][[:word:]]*"
198
+ },
199
+ { "include": "#value-expression" }
200
+ ]
201
+ },
202
+ "jsx-head": {
203
+ "begin": "((<))(?=[_[:alpha:]])",
204
+ "end": "((/>))|(?=</)",
205
+ "applyEndPatternLast": true,
206
+ "beginCaptures": {
207
+ "1": { "comment": "meta.separator" },
208
+ "2": { "name": "punctuation.definition.tag.begin.js" }
209
+ },
210
+ "endCaptures": {
211
+ "1": { "comment": "meta.separator" },
212
+ "2": { "name": "punctuation.definition.tag.end.js" }
213
+ },
214
+ "patterns": [
215
+ {
216
+ "begin": "\\G",
217
+ "end": "(?=[[:space:]/>])[[:space:]]*+",
218
+ "comment": "meta.separator",
219
+ "patterns": [
220
+ { "include": "#module-path-simple" },
221
+ {
222
+ "match": "\\b[[:lower:]][[:word:]]*\\b",
223
+ "name": "entity.name.tag.inline.any.html"
224
+ }
225
+ ]
226
+ },
227
+ { "include": "#jsx-attributes" },
228
+ { "include": "#jsx-body" },
229
+ { "include": "#comment" }
230
+ ]
231
+ },
232
+ "jsx-tail": {
233
+ "begin": "\\G(/>)|(</)",
234
+ "end": "(>)",
235
+ "applyEndPatternLast": true,
236
+ "comment": "meta.separator",
237
+ "beginCaptures": {
238
+ "1": { "name": "punctuation.definition.tag.end.js" },
239
+ "2": { "name": "punctuation.definition.tag.begin.js" }
240
+ },
241
+ "endCaptures": {
242
+ "1": { "name": "punctuation.definition.tag.end.js" }
243
+ },
244
+ "patterns": [
245
+ { "include": "#module-path-simple" },
246
+ {
247
+ "match": "\\b[[:lower:]][[:word:]]*\\b",
248
+ "name": "entity.name.tag.inline.any.html"
249
+ }
250
+ ]
251
+ },
252
+ "module-name-extended": {
253
+ "patterns": [
254
+ { "include": "#module-name-simple" },
255
+ {
256
+ "begin": "([\\(])",
257
+ "end": "([\\)])",
258
+ "captures": {
259
+ "1": {
260
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
261
+ }
262
+ },
263
+ "patterns": [{ "include": "#module-path-extended" }]
264
+ }
265
+ ]
266
+ },
267
+ "module-name-simple": {
268
+ "match": "\\b[[:upper:]][[:word:]]*\\b",
269
+ "name": "support.class entity.name.class"
270
+ },
271
+ "module-path-extended": {
272
+ "patterns": [
273
+ { "include": "#module-name-extended" },
274
+ { "include": "#comment" },
275
+ {
276
+ "comment": "NOTE: end early to avoid too much reparsing",
277
+ "begin": "([\\.])",
278
+ "end": "(?<=[[:word:]\\)])|(?=[^\\.[:upper:]/])",
279
+ "beginCaptures": {
280
+ "1": { "name": "keyword.control.less" }
281
+ },
282
+ "patterns": [
283
+ {
284
+ "begin": "(?<=[\\.])",
285
+ "end": "(?<=[[:word:]\\)])|(?=[^\\.[:upper:]/])",
286
+ "patterns": [
287
+ { "include": "#comment" },
288
+ { "include": "#module-name-extended" }
289
+ ]
290
+ }
291
+ ]
292
+ }
293
+ ]
294
+ },
295
+ "module-path-extended-prefix": {
296
+ "begin": "(?=\\b[[:upper:]])",
297
+ "end": "([\\.])|(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
298
+ "endCaptures": {
299
+ "1": {
300
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
301
+ }
302
+ },
303
+ "patterns": [{ "include": "#module-path-extended" }]
304
+ },
305
+ "module-path-simple": {
306
+ "patterns": [
307
+ { "include": "#module-name-simple" },
308
+ { "include": "#comment" },
309
+ {
310
+ "comment": "NOTE: end early to avoid too much reparsing",
311
+ "begin": "([\\.])",
312
+ "end": "(?<=[[:word:]\\)])|(?=[^\\.[:upper:]/])",
313
+ "beginCaptures": {
314
+ "1": {
315
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
316
+ }
317
+ },
318
+ "patterns": [
319
+ {
320
+ "begin": "(?<=[\\.])",
321
+ "end": "(?<=[[:word:]\\)])|(?=[^\\.[:upper:]/])",
322
+ "patterns": [
323
+ { "include": "#comment" },
324
+ { "include": "#module-name-simple" }
325
+ ]
326
+ }
327
+ ]
328
+ }
329
+ ]
330
+ },
331
+ "module-path-simple-prefix": {
332
+ "begin": "(?=\\b[[:upper:]])",
333
+ "end": "([\\.])|(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
334
+ "endCaptures": {
335
+ "1": {
336
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
337
+ }
338
+ },
339
+ "patterns": [{ "include": "#module-path-simple" }]
340
+ },
341
+ "module-item-class-type": {
342
+ "comment": "FIXME: proper parsing",
343
+ "begin": "\\b(class)\\b",
344
+ "end": "(;)|(?=}|\\b(and|class|constraint|exception|external|include|module|nonrec|open|private|rec|type|val|with)\\b)",
345
+ "beginCaptures": {
346
+ "1": { "name": "keyword.other" }
347
+ },
348
+ "endCaptures": {
349
+ "1": {
350
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
351
+ }
352
+ },
353
+ "patterns": [
354
+ {
355
+ "begin": "(?:\\G|^)[[:space:]]*\\b(type)\\b",
356
+ "end": "(?==)",
357
+ "beginCaptures": {
358
+ "1": {
359
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
360
+ }
361
+ },
362
+ "patterns": [{ "include": "#module-item-type-bind-name-tyvars" }]
363
+ },
364
+ {
365
+ "begin": "(=)",
366
+ "end": "(?=;)",
367
+ "beginCaptures": {
368
+ "1": { "name": "keyword.control.less" }
369
+ },
370
+ "patterns": [
371
+ { "include": "#attribute" },
372
+ { "include": "#comment" },
373
+ { "include": "#class-item-inherit" },
374
+ { "include": "#class-item-method" }
375
+ ]
376
+ }
377
+ ]
378
+ },
379
+ "module-item-exception": {
380
+ "begin": "\\b(exception)\\b",
381
+ "end": "(;)|(?=}|\\b(class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|type|val|with)\\b)",
382
+ "beginCaptures": {
383
+ "1": { "name": "keyword.other" }
384
+ },
385
+ "endCaptures": {
386
+ "1": {
387
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
388
+ }
389
+ },
390
+ "patterns": [{ "include": "#module-item-type-bind-body-item" }]
391
+ },
392
+ "module-item-external": {
393
+ "begin": "\\b(external)\\b",
394
+ "end": "(;)|(?=}|\\b(class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|type|val|with)\\b)",
395
+ "beginCaptures": {
396
+ "1": { "name": "storage.type" }
397
+ },
398
+ "endCaptures": {
399
+ "1": {
400
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
401
+ }
402
+ },
403
+ "patterns": [
404
+ { "include": "#module-item-let-value-bind-name-or-pattern" },
405
+ { "include": "#module-item-let-value-bind-type" },
406
+ {
407
+ "begin": "(=)",
408
+ "end": "(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
409
+ "beginCaptures": {
410
+ "1": { "name": "keyword.control.less" }
411
+ },
412
+ "patterns": [
413
+ { "include": "#attribute" },
414
+ {
415
+ "begin": "\"",
416
+ "end": "\"",
417
+ "name": "string.double string.regexp",
418
+ "patterns": [
419
+ { "include": "#value-literal-string-escape" },
420
+ {
421
+ "match": "(?:(%)(.*?)|(caml.*?))(?=\"|(?:[^\\\\\\n]$))",
422
+ "captures": {
423
+ "1": {
424
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
425
+ },
426
+ "2": {
427
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
428
+ },
429
+ "3": {
430
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
431
+ }
432
+ }
433
+ }
434
+ ]
435
+ }
436
+ ]
437
+ }
438
+ ]
439
+ },
440
+ "module-item-include": {
441
+ "begin": "\\b(include)\\b",
442
+ "end": "(;)|(?=}|\\b(class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|type|val)\\b)",
443
+ "beginCaptures": {
444
+ "1": { "name": "keyword.control.include" }
445
+ },
446
+ "endCaptures": {
447
+ "1": {
448
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
449
+ }
450
+ },
451
+ "patterns": [{ "include": "#signature-expression" }]
452
+ },
453
+ "module-item-let": {
454
+ "begin": "\\b(let)((%)([[:word:]\\.]+))?\\b",
455
+ "end": "(;)|(?=}|\\b(class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|type|val|with)\\b)",
456
+ "beginCaptures": {
457
+ "1": { "name": "storage.type" },
458
+ "3": { "name": "keyword.control.less" },
459
+ "4": { "name": "entity.name.class" }
460
+ },
461
+ "endCaptures": {
462
+ "1": {
463
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
464
+ }
465
+ },
466
+ "patterns": [
467
+ { "include": "#module-item-let-module" },
468
+ { "include": "#module-item-let-value" }
469
+ ]
470
+ },
471
+ "module-item-let-module": {
472
+ "begin": "(?:\\G|^)[[:space:]]*\\b(module)\\b",
473
+ "end": "(?=[;}]|\\b(class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|type|val|with)\\b)",
474
+ "beginCaptures": {
475
+ "1": {
476
+ "name": "variable.other.class.js variable.interpolation keyword.control storage.type message.error"
477
+ }
478
+ },
479
+ "patterns": [
480
+ { "include": "#comment" },
481
+ { "include": "#module-item-let-module-and" },
482
+ { "include": "#module-item-let-module-rec" },
483
+ { "include": "#module-item-let-module-bind-name-params-type-body" }
484
+ ]
485
+ },
486
+ "module-item-let-module-and": {
487
+ "begin": "\\b(and)\\b",
488
+ "end": "(?=[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
489
+ "beginCaptures": {
490
+ "1": { "name": "storage.type" }
491
+ },
492
+ "patterns": [
493
+ { "include": "#module-item-let-module-bind-name-params-type-body" }
494
+ ]
495
+ },
496
+ "module-item-let-module-bind-body": {
497
+ "begin": "(=>?)",
498
+ "end": "(?=[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
499
+ "beginCaptures": {
500
+ "1": { "name": "keyword.control.less" }
501
+ },
502
+ "patterns": [
503
+ { "include": "#structure-expression" },
504
+ { "include": "#extension-node" }
505
+ ]
506
+ },
507
+ "module-item-let-module-bind-name-params": {
508
+ "begin": "\\b([[:upper:]][[:word:]]*)\\b",
509
+ "end": "(?=[;:}=]|\\b(class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
510
+ "beginCaptures": {
511
+ "1": { "name": "support.class entity.name.class" }
512
+ },
513
+ "patterns": [
514
+ { "include": "#comment" },
515
+ { "include": "#module-item-let-module-param" }
516
+ ]
517
+ },
518
+ "module-item-let-module-bind-name-params-type-body": {
519
+ "begin": "(?:\\G|^)",
520
+ "end": "(?=[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
521
+ "patterns": [
522
+ { "include": "#comment" },
523
+ { "include": "#module-item-let-module-bind-name-params" },
524
+ { "include": "#module-item-let-module-bind-type" },
525
+ { "include": "#module-item-let-module-bind-body" }
526
+ ]
527
+ },
528
+ "module-item-let-module-bind-type": {
529
+ "begin": "(:)",
530
+ "end": "(?=[;}=]|\\b(and|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|rec|type|val)\\b)",
531
+ "beginCaptures": {
532
+ "1": {
533
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
534
+ }
535
+ },
536
+ "patterns": [{ "include": "#signature-expression" }]
537
+ },
538
+ "module-item-let-module-param": {
539
+ "begin": "(?=\\()",
540
+ "end": "\\)",
541
+ "patterns": [
542
+ {
543
+ "begin": "\\(",
544
+ "end": "(?=[:])",
545
+ "patterns": [
546
+ { "include": "#comment" },
547
+ { "include": "#module-name-simple" }
548
+ ]
549
+ },
550
+ {
551
+ "begin": "(:)",
552
+ "end": "(?=\\))",
553
+ "beginCaptures": {
554
+ "1": {
555
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
556
+ }
557
+ },
558
+ "patterns": [{ "include": "#signature-expression" }]
559
+ }
560
+ ]
561
+ },
562
+ "module-item-let-module-rec": {
563
+ "begin": "(?:\\G|^)[[:space:]]*\\b(rec)\\b",
564
+ "end": "(?=[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
565
+ "beginCaptures": {
566
+ "1": { "name": "keyword.control storage.modifier.rec" }
567
+ },
568
+ "patterns": [
569
+ { "include": "#module-item-let-module-bind-name-params-type-body" }
570
+ ]
571
+ },
572
+ "module-item-let-value": {
573
+ "patterns": [
574
+ { "include": "#module-item-let-value-and" },
575
+ { "include": "#module-item-let-value-rec" },
576
+ { "include": "#module-item-let-value-bind-name-params-type-body" }
577
+ ]
578
+ },
579
+ "module-item-let-value-and": {
580
+ "begin": "\\b(and)\\b",
581
+ "end": "(?=[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
582
+ "beginCaptures": {
583
+ "1": { "name": "storage.type" }
584
+ },
585
+ "patterns": [
586
+ { "include": "#module-item-let-value-bind-name-params-type-body" }
587
+ ]
588
+ },
589
+ "module-item-let-value-bind-body": {
590
+ "begin": "(=>?)",
591
+ "end": "(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
592
+ "beginCaptures": {
593
+ "1": { "name": "keyword.control.less" }
594
+ },
595
+ "patterns": [{ "include": "#value-expression" }]
596
+ },
597
+ "module-item-let-value-bind-name-or-pattern": {
598
+ "end": "(?<=[^[:space:]])|(?=[[:space:]]|[;:}=]|\\b(and|as|class|constraint|exception|external|for|include|inherit|let|method|module|nonrec|open|private|rec|switch|try|type|val|while|with)\\b)",
599
+ "patterns": [
600
+ { "include": "#comment" },
601
+ {
602
+ "match": "\\b(?:([_][[:word:]]+)|([[:lower:]][[:word:]]*))\\b",
603
+ "captures": {
604
+ "1": { "name": "comment" },
605
+ "2": { "name": "entity.name.function" }
606
+ }
607
+ },
608
+ { "include": "#module-item-let-value-bind-parens-params" },
609
+ { "include": "#pattern" }
610
+ ]
611
+ },
612
+ "module-item-let-value-bind-name-params-type-body": {
613
+ "end": "(?=[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
614
+ "patterns": [
615
+ { "include": "#module-item-let-value-bind-name-or-pattern" },
616
+ { "include": "#module-item-let-value-bind-params-type" },
617
+ { "include": "#module-item-let-value-bind-type" },
618
+ { "include": "#module-item-let-value-bind-body" }
619
+ ]
620
+ },
621
+ "module-item-let-value-bind-params-type": {
622
+ "begin": "(?=[^[:space:]:=])",
623
+ "end": "(?=[;}=]|\\b(class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
624
+ "patterns": [
625
+ { "include": "#comment" },
626
+ { "include": "#module-item-let-value-param" },
627
+ {
628
+ "begin": "(?<![:])(:)[[:space:]]*(?![[:space:]]*[:\\)])",
629
+ "end": "(?=[;}=]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|val|with)\\b)",
630
+ "beginCaptures": {
631
+ "1": {
632
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
633
+ }
634
+ },
635
+ "patterns": [{ "include": "#type-expression-atomic" }]
636
+ }
637
+ ]
638
+ },
639
+ "module-item-let-value-bind-parens-params": {
640
+ "begin": "\\((?![\\)])",
641
+ "end": "\\)",
642
+ "patterns": [
643
+ { "include": "#operator" },
644
+ { "include": "#pattern-parens-lhs" },
645
+ { "include": "#type-annotation-rhs" },
646
+ { "include": "#pattern" }
647
+ ]
648
+ },
649
+ "module-item-let-value-bind-pattern": {
650
+ "begin": "(?<=[^[:word:]]and|^and|[^[:word:]]external|^external|[^[:word:]]let|^let|[^[:word:]]method|^method|[^[:word:]]rec|^rec)",
651
+ "end": "(?=[;:}=]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
652
+ "patterns": [
653
+ { "include": "#comment" },
654
+ { "include": "#module-item-let-value-bind-parens-params" },
655
+ { "include": "#pattern" }
656
+ ]
657
+ },
658
+ "module-item-let-value-bind-type": {
659
+ "comment": "FIXME: lookahead",
660
+ "begin": "(?<![:])(:)(?![[:space:]]*[:\\)])",
661
+ "end": "(?==[^>]|[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|val|with)\\b)",
662
+ "beginCaptures": {
663
+ "1": {
664
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
665
+ }
666
+ },
667
+ "patterns": [
668
+ {
669
+ "begin": "\\b(type)\\b",
670
+ "end": "([\\.])",
671
+ "beginCaptures": {
672
+ "1": {
673
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
674
+ }
675
+ },
676
+ "endCaptures": {
677
+ "1": { "name": "entity.name.function" }
678
+ },
679
+ "patterns": [{ "include": "#pattern-variable" }]
680
+ },
681
+ { "include": "#type-expression" }
682
+ ]
683
+ },
684
+ "module-item-let-value-param": {
685
+ "patterns": [
686
+ { "include": "#module-item-let-value-param-label" },
687
+ { "include": "#module-item-let-value-param-type" },
688
+ { "include": "#module-item-let-value-param-module" },
689
+ { "include": "#pattern" }
690
+ ]
691
+ },
692
+ "module-item-let-value-param-label": {
693
+ "patterns": [
694
+ {
695
+ "begin": "(\\b[[:lower:]][[:word:]]*\\b)?[[:space:]]*(::)",
696
+ "end": "(?<=[[:space:]])",
697
+ "beginCaptures": {
698
+ "1": {
699
+ "name": "markup.inserted constant.language support.property-value entity.name.filename"
700
+ },
701
+ "2": { "name": "keyword.control" }
702
+ },
703
+ "patterns": [
704
+ { "include": "#pattern" },
705
+ {
706
+ "begin": "(=)",
707
+ "end": "(\\?)|(?<=[^[:space:]=][[:space:]])(?=[[:space:]]*+[^\\.])",
708
+ "beginCaptures": {
709
+ "1": {
710
+ "name": "markup.inserted keyword.control.less message.error"
711
+ }
712
+ },
713
+ "endCaptures": {
714
+ "1": { "name": "storage.type" }
715
+ },
716
+ "patterns": [{ "include": "#value-expression-atomic-with-paths" }]
717
+ }
718
+ ]
719
+ }
720
+ ]
721
+ },
722
+ "module-item-let-value-param-module": {
723
+ "comment": "FIXME: merge with pattern-parens",
724
+ "begin": "\\([[:space:]]*(?=\\b(module)\\b)",
725
+ "end": "\\)",
726
+ "patterns": [
727
+ {
728
+ "begin": "\\b(module)\\b",
729
+ "end": "(?=\\))",
730
+ "beginCaptures": {
731
+ "1": { "name": "keyword.other message.error" }
732
+ },
733
+ "patterns": [
734
+ {
735
+ "match": "\\b[[:upper:]][[:word:]]*\\b",
736
+ "name": "support.class entity.name.class"
737
+ }
738
+ ]
739
+ }
740
+ ]
741
+ },
742
+ "module-item-let-value-param-type": {
743
+ "comment": "FIXME: merge with pattern-parens",
744
+ "begin": "\\((?=\\b(type)\\b)",
745
+ "end": "\\)",
746
+ "patterns": [
747
+ {
748
+ "begin": "\\b(type)\\b",
749
+ "end": "(?=\\))",
750
+ "beginCaptures": {
751
+ "1": {
752
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
753
+ }
754
+ },
755
+ "patterns": [{ "include": "#pattern-variable" }]
756
+ }
757
+ ]
758
+ },
759
+ "module-item-let-value-rec": {
760
+ "begin": "(?:\\G|^)[[:space:]]*\\b(rec)\\b",
761
+ "end": "(?=[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
762
+ "beginCaptures": {
763
+ "1": { "name": "keyword.control storage.modifier message.error" }
764
+ },
765
+ "patterns": [
766
+ { "include": "#module-item-let-value-bind-name-params-type-body" }
767
+ ]
768
+ },
769
+ "module-item-module": {
770
+ "comment": "NOTE: this is to support the let-module case without the let prefix",
771
+ "begin": "\\b(module)\\b[[:space:]]*(?!\\b(type)\\b|$)",
772
+ "end": "(;)|(?=}|\\b(class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|type|val|with)\\b)",
773
+ "beginCaptures": {
774
+ "1": { "name": "storage.type message.error" }
775
+ },
776
+ "endCaptures": {
777
+ "1": {
778
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
779
+ }
780
+ },
781
+ "patterns": [
782
+ { "include": "#module-item-let-module-and" },
783
+ { "include": "#module-item-let-module-rec" },
784
+ { "include": "#module-item-let-module-bind-name-params-type-body" }
785
+ ]
786
+ },
787
+ "module-item-module-type": {
788
+ "begin": "\\b(module)\\b[[:space:]]*(?=\\b(type)\\b|$)",
789
+ "end": "(;)|(?=}|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|val|with)\\b)",
790
+ "beginCaptures": {
791
+ "1": { "name": "keyword.control message.error" }
792
+ },
793
+ "endCaptures": {
794
+ "1": {
795
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
796
+ }
797
+ },
798
+ "patterns": [
799
+ {
800
+ "begin": "(?:\\G|^)[[:space:]]*\\b(type)\\b",
801
+ "end": "(?==)",
802
+ "beginCaptures": {
803
+ "1": {
804
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
805
+ }
806
+ },
807
+ "patterns": [
808
+ { "include": "#comment" },
809
+ {
810
+ "match": "([[:upper:]][[:word:]]*)",
811
+ "captures": {
812
+ "1": { "name": "support.class entity.name.class" }
813
+ }
814
+ }
815
+ ]
816
+ },
817
+ {
818
+ "begin": "(=)",
819
+ "end": "(?=;)",
820
+ "beginCaptures": {
821
+ "1": { "name": "keyword.control.less" }
822
+ },
823
+ "patterns": [
824
+ { "include": "#comment" },
825
+ { "include": "#signature-expression" }
826
+ ]
827
+ }
828
+ ]
829
+ },
830
+ "module-item-open": {
831
+ "begin": "\\b(open)\\b",
832
+ "end": "(;)|(?=}|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
833
+ "beginCaptures": {
834
+ "1": { "name": "keyword.control.open" }
835
+ },
836
+ "endCaptures": {
837
+ "1": {
838
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
839
+ }
840
+ },
841
+ "patterns": [
842
+ { "include": "#comment" },
843
+ { "include": "#module-path-simple" }
844
+ ]
845
+ },
846
+ "module-item-type": {
847
+ "comment": "FIXME: the semi-colon is optional so we can re-use this for hover, which does not print the trailing ;",
848
+ "begin": "\\b(type)\\b",
849
+ "end": "(;)|(?=[\\)}]|\\b(class|exception|external|include|inherit|let|method|nonrec|open|private|type|val|with)\\b)",
850
+ "beginCaptures": {
851
+ "1": { "name": "keyword.other" }
852
+ },
853
+ "endCaptures": {
854
+ "1": {
855
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
856
+ }
857
+ },
858
+ "patterns": [
859
+ { "include": "#module-item-type-and" },
860
+ { "include": "#module-item-type-constraint" },
861
+ { "include": "#module-item-type-bind" }
862
+ ]
863
+ },
864
+ "module-item-type-and": {
865
+ "comment": "FIXME: the optional `type` is for module constraints",
866
+ "begin": "\\b(and)\\b([[:space:]]*type)?",
867
+ "end": "(?=[;\\)}]|\\b(class|exception|external|include|inherit|let|method|nonrec|open|private|type|val|with)\\b)",
868
+ "beginCaptures": {
869
+ "1": { "name": "keyword.other" },
870
+ "2": {
871
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
872
+ }
873
+ },
874
+ "patterns": [{ "include": "#module-item-type-bind-name-tyvars-body" }]
875
+ },
876
+ "module-item-type-bind": {
877
+ "comment": "FIXME: only allow module paths before type variables",
878
+ "patterns": [
879
+ { "include": "#module-item-type-bind-nonrec" },
880
+ { "include": "#module-item-type-bind-name-tyvars-body" }
881
+ ]
882
+ },
883
+ "module-item-type-bind-body": {
884
+ "comment": "FIXME: parsing",
885
+ "begin": "(\\+?=)",
886
+ "end": "(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|rec|type|val|with)\\b)",
887
+ "beginCaptures": {
888
+ "1": { "name": "keyword.control.less" }
889
+ },
890
+ "patterns": [{ "include": "#module-item-type-bind-body-item" }]
891
+ },
892
+ "module-item-type-bind-body-item": {
893
+ "patterns": [
894
+ {
895
+ "match": "(=)(?!>)|\\b(private)\\b",
896
+ "captures": {
897
+ "1": { "name": "keyword.control.less" },
898
+ "2": {
899
+ "name": "variable.other.class.js variable.interpolation storage.modifier message.error"
900
+ }
901
+ }
902
+ },
903
+ {
904
+ "comment": "FIXME: specialized version of variant rule that also scans for (",
905
+ "match": "\\b([[:upper:]][[:word:]]*)\\b(?![[:space:]]*[\\.\\(])",
906
+ "captures": {
907
+ "1": {
908
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
909
+ }
910
+ }
911
+ },
912
+ {
913
+ "begin": "(\\.\\.)",
914
+ "end": "(?=[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
915
+ "beginCaptures": {
916
+ "1": { "name": "keyword.control.less" }
917
+ }
918
+ },
919
+ {
920
+ "begin": "(\\|)(?![#\\-:!?.@*/&%^+<=>|~$\\\\])[[:space:]]*",
921
+ "end": "(?=[;\\)}]|\\|(?![#\\-:!?.@*/&%^+<=>|~$\\\\])|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
922
+ "beginCaptures": {
923
+ "1": {
924
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
925
+ }
926
+ },
927
+ "patterns": [
928
+ { "include": "#value-expression-constructor" },
929
+ {
930
+ "match": "([:])|\\b(of)\\b",
931
+ "captures": {
932
+ "1": { "name": "keyword.control.less" },
933
+ "2": { "name": "keyword.other" }
934
+ }
935
+ },
936
+ { "include": "#type-expression" }
937
+ ]
938
+ },
939
+ {
940
+ "comment": "FIXME: remove this once the pretty printer no longer outputs 'of'",
941
+ "match": "(:)|(\\|(?![#\\-:!?.@*/&%^+<=>|~$\\\\]))|\\b(of)\\b",
942
+ "captures": {
943
+ "1": {
944
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
945
+ },
946
+ "2": {
947
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
948
+ },
949
+ "3": { "name": "keyword.other" }
950
+ }
951
+ },
952
+ { "include": "#type-expression" }
953
+ ]
954
+ },
955
+ "module-item-type-bind-name-tyvars": {
956
+ "begin": "(?<=\\G|^|\\.)[[:space:]]*\\b([[:lower:]][[:word:]]*)\\b",
957
+ "end": "(?=\\+?=|[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
958
+ "beginCaptures": {
959
+ "1": { "name": "entity.name.function" }
960
+ },
961
+ "patterns": [
962
+ { "include": "#comment" },
963
+ { "include": "#attribute" },
964
+ {
965
+ "match": "_",
966
+ "name": "comment"
967
+ },
968
+ {
969
+ "comment": "FIXME: add separate type-variable rule",
970
+ "match": "([+\\-])?(?:(_)|(')([[:lower:]][[:word:]]*)\\b)(?!\\.[[:upper:]])",
971
+ "captures": {
972
+ "1": {
973
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
974
+ },
975
+ "2": { "name": "comment" },
976
+ "3": { "name": "comment" },
977
+ "4": {
978
+ "name": "variable.parameter string.other.link variable.language"
979
+ }
980
+ }
981
+ }
982
+ ]
983
+ },
984
+ "module-item-type-bind-name-tyvars-body": {
985
+ "begin": "(?=(\\G|^)[[:space:]]*\\b[[:alpha:]])",
986
+ "end": "(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
987
+ "patterns": [
988
+ { "include": "#module-path-simple-prefix" },
989
+ { "include": "#module-item-type-bind-name-tyvars" },
990
+ { "include": "#module-item-type-bind-body" }
991
+ ]
992
+ },
993
+ "module-item-type-bind-nonrec": {
994
+ "begin": "(?:\\G|^)[[:space:]]*\\b(nonrec)\\b",
995
+ "end": "(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
996
+ "beginCaptures": {
997
+ "1": { "name": "keyword.control storage.modifier message.error" }
998
+ },
999
+ "patterns": [{ "include": "#module-item-type-bind-name-tyvars-body" }]
1000
+ },
1001
+ "module-item-type-constraint": {
1002
+ "comment": "FIXME: proper parsing",
1003
+ "begin": "\\b(constraint)\\b",
1004
+ "end": "(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
1005
+ "beginCaptures": {
1006
+ "1": {
1007
+ "name": "variable.other.class.js variable.interpolation storage.modifier message.error"
1008
+ }
1009
+ },
1010
+ "patterns": [
1011
+ {
1012
+ "comment": "FIXME: add separate type-variable rule",
1013
+ "match": "([+\\-])?(')([_[:lower:]][[:word:]]*)\\b(?!\\.[[:upper:]])",
1014
+ "captures": {
1015
+ "1": {
1016
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1017
+ },
1018
+ "2": { "name": "comment" },
1019
+ "3": {
1020
+ "name": "variable.parameter string.other.link variable.language"
1021
+ }
1022
+ }
1023
+ },
1024
+ {
1025
+ "match": "=",
1026
+ "name": "keyword.control.less"
1027
+ },
1028
+ { "include": "#type-expression" }
1029
+ ]
1030
+ },
1031
+ "object-item": {
1032
+ "begin": "\\G|(;)",
1033
+ "end": "(?=[;}]|\\b(class|constraint|exception|external|include|let|module|nonrec|open|private|type|val|with)\\b)",
1034
+ "beginCaptures": {
1035
+ "1": {
1036
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1037
+ }
1038
+ },
1039
+ "patterns": [{ "include": "#class-item-method" }]
1040
+ },
1041
+ "operator": {
1042
+ "patterns": [
1043
+ { "include": "#operator-infix" },
1044
+ { "include": "#operator-prefix" }
1045
+ ]
1046
+ },
1047
+ "operator-infix": {
1048
+ "patterns": [
1049
+ {
1050
+ "match": ";",
1051
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1052
+ },
1053
+ { "include": "#operator-infix-assign" },
1054
+ { "include": "#operator-infix-builtin" },
1055
+ { "include": "#operator-infix-custom" },
1056
+ { "comment": "#operator-infix-custom-hash" }
1057
+ ]
1058
+ },
1059
+ "operator-infix-assign": {
1060
+ "match": "(?<![#\\-:!?.@*/&%^+<=>|~$\\\\])(=)(?![#\\-:!?.@*/&%^+<=>|~$\\\\])",
1061
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control.less message.error"
1062
+ },
1063
+ "operator-infix-builtin": {
1064
+ "match": ":=",
1065
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control.less message.error"
1066
+ },
1067
+ "operator-infix-custom": {
1068
+ "match": "(?:(?<![#\\-:!?.@*/&%^+<=>|~$\\\\])((<>))(?![#\\-:!?.@*/&%^+<=>|~$\\\\]))|([#\\-@*/&%^+<=>$\\\\][#\\-:!?.@*/&%^+<=>|~$\\\\]*|[|][#\\-:!?.@*/&%^+<=>|~$\\\\]+)",
1069
+ "captures": {
1070
+ "1": { "comment": "meta.separator" },
1071
+ "2": { "name": "punctuation.definition.tag.begin.js" },
1072
+ "3": {
1073
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1074
+ }
1075
+ }
1076
+ },
1077
+ "operator-infix-custom-hash": {
1078
+ "match": "#[\\-:!?.@*/&%^+<=>|~$]+",
1079
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1080
+ },
1081
+ "operator-prefix": {
1082
+ "patterns": [
1083
+ { "include": "#operator-prefix-bang" },
1084
+ { "include": "#operator-prefix-label-token" }
1085
+ ]
1086
+ },
1087
+ "operator-prefix-bang": {
1088
+ "match": "![\\-:!?.@*/&%^+<=>|~$]*",
1089
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1090
+ },
1091
+ "operator-prefix-label-token": {
1092
+ "match": "[?~][\\-:!?.@*/&%^+<=>|~$]+",
1093
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1094
+ },
1095
+ "pattern": {
1096
+ "patterns": [
1097
+ { "include": "#attribute" },
1098
+ { "include": "#comment" },
1099
+ { "include": "#pattern-atomic" },
1100
+ {
1101
+ "match": "[[:space:]]*+(?:(\\|(?![#\\-:!?.@*/&%^+<=>|~$\\\\]))|\\b(as)\\b|(\\.\\.\\.?))[[:space:]]*+",
1102
+ "captures": {
1103
+ "1": {
1104
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1105
+ },
1106
+ "2": { "name": "keyword.other" },
1107
+ "3": { "name": "keyword.control" }
1108
+ }
1109
+ }
1110
+ ]
1111
+ },
1112
+ "pattern-atomic": {
1113
+ "patterns": [
1114
+ {
1115
+ "match": "\\b(exception)\\b",
1116
+ "name": "keyword.other"
1117
+ },
1118
+ { "include": "#value-expression-literal" },
1119
+ { "include": "#module-path-simple-prefix" },
1120
+ { "include": "#pattern-list-or-array" },
1121
+ { "include": "#pattern-record" },
1122
+ { "include": "#pattern-variable" },
1123
+ { "include": "#pattern-parens" }
1124
+ ]
1125
+ },
1126
+ "pattern-guard": {
1127
+ "begin": "\\b(when)\\b",
1128
+ "end": "(?==>)",
1129
+ "beginCaptures": {
1130
+ "1": { "name": "keyword.other" }
1131
+ },
1132
+ "patterns": [{ "include": "#value-expression" }]
1133
+ },
1134
+ "pattern-list-or-array": {
1135
+ "begin": "(\\[\\|?)(?![@%])",
1136
+ "end": "(\\|?\\])",
1137
+ "beginCaptures": {
1138
+ "1": {
1139
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
1140
+ }
1141
+ },
1142
+ "endCaptures": {
1143
+ "1": {
1144
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
1145
+ }
1146
+ },
1147
+ "patterns": [
1148
+ { "include": "#value-expression-literal-list-or-array-separator" },
1149
+ { "include": "#pattern" }
1150
+ ]
1151
+ },
1152
+ "pattern-parens": {
1153
+ "begin": "(?=\\()",
1154
+ "end": "\\)|(?=[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
1155
+ "patterns": [
1156
+ { "include": "#pattern-parens-lhs" },
1157
+ { "include": "#type-annotation-rhs" }
1158
+ ]
1159
+ },
1160
+ "pattern-parens-lhs": {
1161
+ "begin": "\\(|(,)",
1162
+ "end": "(?=(?:[,:\\)]))|(?=[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
1163
+ "beginCaptures": {
1164
+ "1": {
1165
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1166
+ }
1167
+ },
1168
+ "patterns": [{ "include": "#pattern" }]
1169
+ },
1170
+ "record-path": {
1171
+ "begin": "\\b[[:lower:]][[:word:]]*\\b",
1172
+ "end": "(?=[^[:space:]\\.])(?!/\\*)",
1173
+ "patterns": [
1174
+ { "include": "#comment" },
1175
+ { "include": "#record-path-suffix" }
1176
+ ]
1177
+ },
1178
+ "record-path-suffix": {
1179
+ "begin": "(\\.)",
1180
+ "end": "(\\))|\\b([[:upper:]][[:word:]]*)\\b|\\b([[:lower:]][[:word:]]*)\\b|(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|with)\\b)",
1181
+ "beginCaptures": {
1182
+ "1": {
1183
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1184
+ }
1185
+ },
1186
+ "endCaptures": {
1187
+ "1": { "name": "keyword.control" },
1188
+ "2": { "name": "support.class entity.name.class" },
1189
+ "3": {
1190
+ "name": "markup.inserted constant.language support.property-value entity.name.filename"
1191
+ }
1192
+ },
1193
+ "patterns": [
1194
+ { "include": "#comment" },
1195
+ {
1196
+ "begin": "([\\(])",
1197
+ "end": "(?=[\\)])",
1198
+ "beginCaptures": {
1199
+ "1": { "name": "keyword.control" }
1200
+ },
1201
+ "patterns": [
1202
+ { "include": "#comment" },
1203
+ {
1204
+ "match": "\\b([[:lower:]][[:word:]]*)\\b(?=[^\\)]*([\\.]))",
1205
+ "captures": {
1206
+ "1": {
1207
+ "name": "markup.inserted constant.language support.property-value entity.name.filename"
1208
+ },
1209
+ "2": { "name": "keyword.other" }
1210
+ }
1211
+ },
1212
+ {
1213
+ "match": "([\\.])",
1214
+ "name": "keyword.control.less"
1215
+ },
1216
+ {
1217
+ "match": "\\b([[:lower:]][[:word:]]*)\\b[[:space:]]*",
1218
+ "captures": {
1219
+ "1": {
1220
+ "name": "variable.parameter string.other.link variable.language"
1221
+ }
1222
+ }
1223
+ },
1224
+ { "include": "#value-expression" }
1225
+ ]
1226
+ }
1227
+ ]
1228
+ },
1229
+ "pattern-record": {
1230
+ "begin": "{",
1231
+ "end": "}",
1232
+ "patterns": [
1233
+ { "include": "#comment" },
1234
+ { "include": "#pattern-record-item" }
1235
+ ]
1236
+ },
1237
+ "pattern-record-field": {
1238
+ "begin": "\\b([_][[:word:]]*)\\b|\\b([[:lower:]][[:word:]]*)\\b",
1239
+ "end": "(,)|(?=})",
1240
+ "beginCaptures": {
1241
+ "1": { "name": "comment" },
1242
+ "2": {
1243
+ "name": "markup.inserted constant.language support.property-value entity.name.filename"
1244
+ }
1245
+ },
1246
+ "endCaptures": {
1247
+ "1": {
1248
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1249
+ }
1250
+ },
1251
+ "patterns": [
1252
+ { "include": "#comment" },
1253
+ {
1254
+ "begin": "\\G(:)",
1255
+ "end": "(?=[,}])",
1256
+ "beginCaptures": {
1257
+ "1": {
1258
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1259
+ }
1260
+ },
1261
+ "patterns": [{ "include": "#pattern" }]
1262
+ }
1263
+ ]
1264
+ },
1265
+ "pattern-record-item": {
1266
+ "patterns": [
1267
+ { "include": "#module-path-simple-prefix" },
1268
+ { "include": "#pattern-record-field" }
1269
+ ]
1270
+ },
1271
+ "pattern-variable": {
1272
+ "patterns": [
1273
+ {
1274
+ "match": "\\b(_(?:[[:lower:]][[:word:]]*)?)\\b(?!\\.[[:upper:]])",
1275
+ "captures": {
1276
+ "1": { "name": "comment" }
1277
+ }
1278
+ },
1279
+ {
1280
+ "match": "\\b([[:lower:]][[:word:]]*)\\b(?!\\.[[:upper:]])",
1281
+ "captures": {
1282
+ "1": { "name": "variable.language string.other.link" }
1283
+ }
1284
+ }
1285
+ ]
1286
+ },
1287
+ "signature-expression": {
1288
+ "patterns": [
1289
+ {
1290
+ "comment": "FIXME: scan for :upper: to disambiguate type/signature in hover",
1291
+ "begin": "(?=\\([[:space:]]*[[:upper:]][[:word:]]*[[:space:]]*:)",
1292
+ "end": "(?=[;])",
1293
+ "patterns": [
1294
+ {
1295
+ "begin": "(?=\\()",
1296
+ "end": "(?=[;]|=>)",
1297
+ "patterns": [{ "include": "#module-item-let-module-param" }]
1298
+ },
1299
+ {
1300
+ "begin": "(=>)",
1301
+ "end": "(?=[;\\(])",
1302
+ "beginCaptures": {
1303
+ "1": { "name": "markup.inserted keyword.control.less" }
1304
+ },
1305
+ "patterns": [{ "include": "#structure-expression" }]
1306
+ }
1307
+ ]
1308
+ },
1309
+ {
1310
+ "begin": "\\b(module)\\b[[:space:]]*\\b(type)\\b([[:space:]]*\\b(of)\\b)?",
1311
+ "end": "(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
1312
+ "beginCaptures": {
1313
+ "1": {
1314
+ "name": "markup.inserted keyword.other variable.other.readwrite.instance"
1315
+ },
1316
+ "2": {
1317
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
1318
+ },
1319
+ "3": {
1320
+ "name": "markup.inserted keyword.other variable.other.readwrite.instance"
1321
+ }
1322
+ },
1323
+ "patterns": [
1324
+ { "include": "#comment" },
1325
+ { "include": "#module-path-simple" },
1326
+ {
1327
+ "match": "\\b([[:upper:]][[:word:]]*)\\b",
1328
+ "name": "support.class entity.name.class"
1329
+ }
1330
+ ]
1331
+ },
1332
+ { "include": "#signature-expression-constraints" },
1333
+ { "include": "#structure-expression" }
1334
+ ]
1335
+ },
1336
+ "signature-expression-constraints": {
1337
+ "begin": "(?=\\b(with))",
1338
+ "end": "(?=[;\\)}]|\\b(class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|val)\\b)",
1339
+ "patterns": [
1340
+ {
1341
+ "begin": "\\b(and|with)\\b",
1342
+ "end": "(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|val|with)\\b)",
1343
+ "beginCaptures": {
1344
+ "1": {
1345
+ "name": "variable.other.class.js variable.interpolation storage.modifier message.error"
1346
+ }
1347
+ },
1348
+ "patterns": [
1349
+ { "include": "#comment" },
1350
+ {
1351
+ "comment": "FIXME: special version of #module-item-type with non-consuming `;`. Atom seems to need this to work.",
1352
+ "begin": "\\b(type)\\b",
1353
+ "end": "(?=[;\\)}]|\\b(class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|val|with)\\b)",
1354
+ "beginCaptures": {
1355
+ "1": {
1356
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
1357
+ }
1358
+ },
1359
+ "patterns": [
1360
+ { "include": "#module-item-type-and" },
1361
+ { "include": "#module-item-type-constraint" },
1362
+ { "include": "#module-item-type-bind" }
1363
+ ]
1364
+ },
1365
+ {
1366
+ "begin": "(?=\\b(module)\\b)",
1367
+ "end": "(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|val|with)\\b)",
1368
+ "patterns": [
1369
+ {
1370
+ "begin": "\\b(module)\\b",
1371
+ "end": "(?=:?=|[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|type|val|with)\\b)",
1372
+ "beginCaptures": {
1373
+ "1": {
1374
+ "name": "markup.inserted keyword.control storage.type variable.other.readwrite.instance"
1375
+ }
1376
+ },
1377
+ "patterns": [
1378
+ { "include": "#comment" },
1379
+ { "include": "#module-path-simple" },
1380
+ {
1381
+ "match": "[[:upper:]][[:word:]]*",
1382
+ "name": "support.class entity.name.class"
1383
+ }
1384
+ ]
1385
+ },
1386
+ {
1387
+ "begin": "(:=)|(=)",
1388
+ "end": "(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|type|val|with)\\b)",
1389
+ "beginCaptures": {
1390
+ "1": {
1391
+ "name": "markup.inserted keyword.control.less message.error"
1392
+ },
1393
+ "2": { "name": "markup.inserted keyword.control.less" }
1394
+ },
1395
+ "patterns": [{ "include": "#structure-expression" }]
1396
+ }
1397
+ ]
1398
+ }
1399
+ ]
1400
+ }
1401
+ ]
1402
+ },
1403
+ "structure-expression": {
1404
+ "patterns": [
1405
+ { "include": "#comment" },
1406
+ {
1407
+ "comment": "FIXME: scan for :upper: or `val` to disambiguate types from signatures for hover",
1408
+ "begin": "\\((?=[[:space:]]*(\\b(val)\\b|[^'\\[<[:lower:]]))",
1409
+ "end": "\\)|(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|with)\\b)",
1410
+ "patterns": [
1411
+ { "include": "#comment" },
1412
+ {
1413
+ "comment": "FIXME: might need to refactor this or include more expressions",
1414
+ "include": "#structure-expression-block"
1415
+ },
1416
+ {
1417
+ "begin": "\\b(val)\\b",
1418
+ "end": "(?=\\))|(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
1419
+ "beginCaptures": {
1420
+ "1": { "name": "keyword.other" }
1421
+ },
1422
+ "patterns": [
1423
+ { "include": "#comment" },
1424
+ {
1425
+ "match": "\\b([[:lower:]][[:word:]]*)\\b",
1426
+ "name": "support.class entity.name.class"
1427
+ }
1428
+ ]
1429
+ },
1430
+ { "include": "#module-path-simple" },
1431
+ {
1432
+ "begin": "(:)",
1433
+ "end": "(?=[\\)])|(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val)\\b)",
1434
+ "beginCaptures": {
1435
+ "1": {
1436
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1437
+ }
1438
+ },
1439
+ "patterns": [{ "include": "#signature-expression" }]
1440
+ }
1441
+ ]
1442
+ },
1443
+ { "include": "#module-path-simple" },
1444
+ { "include": "#structure-expression-block" }
1445
+ ]
1446
+ },
1447
+ "structure-expression-block": {
1448
+ "begin": "{",
1449
+ "end": "}",
1450
+ "patterns": [{ "include": "#structure-expression-block-item" }]
1451
+ },
1452
+ "structure-expression-block-item": {
1453
+ "patterns": [
1454
+ { "include": "#attribute" },
1455
+ { "include": "#comment" },
1456
+ { "include": "#module-item-exception" },
1457
+ { "include": "#module-item-external" },
1458
+ { "include": "#module-item-include" },
1459
+ { "include": "#module-item-let" },
1460
+ { "include": "#module-item-class-type" },
1461
+ { "include": "#module-item-module-type" },
1462
+ { "include": "#module-item-module" },
1463
+ { "include": "#module-item-open" },
1464
+ { "include": "#module-item-type" }
1465
+ ]
1466
+ },
1467
+ "type-annotation-rhs": {
1468
+ "begin": "(?<![#\\-:!?.@*/&%^+<=>|~$\\\\])([:])(?![#\\-:!?.@*/&%^+<=>|~$\\\\])",
1469
+ "end": "(?=\\))|(?=[,;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
1470
+ "beginCaptures": {
1471
+ "1": {
1472
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1473
+ }
1474
+ },
1475
+ "patterns": [{ "include": "#type-expression" }]
1476
+ },
1477
+ "type-expression": {
1478
+ "patterns": [
1479
+ {
1480
+ "match": "([\\.])",
1481
+ "name": "entity.name.function"
1482
+ },
1483
+ { "include": "#type-expression-atomic" },
1484
+ { "include": "#type-expression-arrow" }
1485
+ ]
1486
+ },
1487
+ "type-expression-atomic": {
1488
+ "patterns": [
1489
+ { "include": "#attribute" },
1490
+ { "include": "#comment" },
1491
+ { "include": "#module-path-extended-prefix" },
1492
+ { "include": "#type-expression-label" },
1493
+ {
1494
+ "match": "\\b(as)\\b",
1495
+ "name": "variable.other.class.js variable.interpolation storage.modifier message.error"
1496
+ },
1497
+ { "include": "#type-expression-constructor" },
1498
+ { "include": "#type-expression-object" },
1499
+ { "include": "#type-expression-parens" },
1500
+ { "include": "#type-expression-polymorphic-variant" },
1501
+ { "include": "#type-expression-record" },
1502
+ { "include": "#type-expression-variable" }
1503
+ ]
1504
+ },
1505
+ "type-expression-arrow": {
1506
+ "match": "=>",
1507
+ "name": "markup.inserted keyword.control.less"
1508
+ },
1509
+ "type-expression-constructor": {
1510
+ "match": "(_)(?![[:alnum:]])|\\b([_[:lower:]][[:word:]]*)\\b(?!\\.[[:upper:]])",
1511
+ "captures": {
1512
+ "1": { "name": "comment" },
1513
+ "2": { "name": "support.type string.regexp" }
1514
+ }
1515
+ },
1516
+ "type-expression-label": {
1517
+ "begin": "\\b([_[:lower:]][[:word:]]*)\\b(::)",
1518
+ "end": "(?<==>)",
1519
+ "beginCaptures": {
1520
+ "1": {
1521
+ "name": "markup.inserted constant.language support.property-value entity.name.filename"
1522
+ },
1523
+ "2": { "name": "keyword.control" }
1524
+ },
1525
+ "patterns": [
1526
+ { "include": "#type-expression" },
1527
+ {
1528
+ "match": "(\\?)",
1529
+ "captures": {
1530
+ "1": { "name": "keyword.control.less" }
1531
+ }
1532
+ }
1533
+ ]
1534
+ },
1535
+ "type-expression-object": {
1536
+ "comment": "FIXME: separate sub-rules",
1537
+ "begin": "(<)",
1538
+ "end": "(>)",
1539
+ "captures": {
1540
+ "1": { "name": "entity.name.function" }
1541
+ },
1542
+ "patterns": [
1543
+ {
1544
+ "begin": "(\\.\\.)",
1545
+ "end": "(?=>)",
1546
+ "beginCaptures": {
1547
+ "1": {
1548
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
1549
+ }
1550
+ }
1551
+ },
1552
+ {
1553
+ "comment": "FIXME: method item",
1554
+ "begin": "(?=[_[:lower:]])",
1555
+ "end": "(,)|(?=>)",
1556
+ "endCaptures": {
1557
+ "1": {
1558
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1559
+ }
1560
+ },
1561
+ "patterns": [
1562
+ {
1563
+ "comment": "FIXME: method name",
1564
+ "begin": "(?=[_[:lower:]])",
1565
+ "end": "(?=:)",
1566
+ "patterns": [
1567
+ {
1568
+ "match": "\\b([_[:lower:]][[:word:]]*)\\b",
1569
+ "captures": {
1570
+ "1": {
1571
+ "name": "markup.inserted constant.language support.property-value entity.name.filename"
1572
+ }
1573
+ }
1574
+ }
1575
+ ]
1576
+ },
1577
+ {
1578
+ "comment": "FIXME: method type",
1579
+ "begin": "(:)",
1580
+ "end": "(?=[,>])",
1581
+ "beginCaptures": {
1582
+ "1": {
1583
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1584
+ }
1585
+ },
1586
+ "patterns": [{ "include": "#type-expression" }]
1587
+ }
1588
+ ]
1589
+ }
1590
+ ]
1591
+ },
1592
+ "type-expression-parens": {
1593
+ "comment": "FIXME: proper tuple types",
1594
+ "begin": "\\(",
1595
+ "end": "\\)",
1596
+ "patterns": [
1597
+ {
1598
+ "begin": "\\b(module)\\b",
1599
+ "end": "(?=[\\)])",
1600
+ "beginCaptures": {
1601
+ "1": { "name": "keyword.other message.error" }
1602
+ },
1603
+ "patterns": [
1604
+ { "include": "#module-path-extended" },
1605
+ { "include": "#signature-expression-constraints" }
1606
+ ]
1607
+ },
1608
+ {
1609
+ "match": ",",
1610
+ "name": "keyword.control.less"
1611
+ },
1612
+ { "include": "#type-expression" }
1613
+ ]
1614
+ },
1615
+ "type-expression-polymorphic-variant": {
1616
+ "comment": "FIXME: proper parsing",
1617
+ "begin": "(\\[)([<>])?",
1618
+ "end": "(\\])",
1619
+ "captures": {
1620
+ "1": { "name": "entity.name.function" },
1621
+ "2": {
1622
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1623
+ }
1624
+ },
1625
+ "patterns": [
1626
+ {
1627
+ "begin": "(\\|)?(?![#\\-:!?.@*/&%^+<=>|~$\\\\])[[:space:]]*",
1628
+ "end": "(?=[;)}\\]]|\\|(?![#\\-:!?.@*/&%^+<=>|~$\\\\])|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
1629
+ "beginCaptures": {
1630
+ "1": {
1631
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1632
+ }
1633
+ },
1634
+ "patterns": [
1635
+ { "include": "#value-expression-constructor" },
1636
+ {
1637
+ "match": "([:])|\\b(of)\\b|([&])",
1638
+ "captures": {
1639
+ "1": { "name": "keyword.control.less" },
1640
+ "2": { "name": "keyword.other" },
1641
+ "3": {
1642
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1643
+ }
1644
+ }
1645
+ },
1646
+ { "include": "#value-expression-constructor-polymorphic" },
1647
+ { "include": "#type-expression" }
1648
+ ]
1649
+ }
1650
+ ]
1651
+ },
1652
+ "type-expression-record": {
1653
+ "begin": "{",
1654
+ "end": "}",
1655
+ "patterns": [{ "include": "#type-expression-record-item" }]
1656
+ },
1657
+ "type-expression-record-field-sans-modifier": {
1658
+ "begin": "\\b([_[:lower:]][[:word:]]*)\\b",
1659
+ "end": "(,)|(?=[,}])",
1660
+ "beginCaptures": {
1661
+ "1": {
1662
+ "name": "markup.inserted constant.language support.property-value entity.name.filename"
1663
+ }
1664
+ },
1665
+ "endCaptures": {
1666
+ "1": {
1667
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1668
+ }
1669
+ },
1670
+ "patterns": [
1671
+ { "include": "#comment" },
1672
+ {
1673
+ "begin": "(:)",
1674
+ "end": "(?=[,}])",
1675
+ "beginCaptures": {
1676
+ "1": {
1677
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1678
+ }
1679
+ },
1680
+ "patterns": [{ "include": "#type-expression" }]
1681
+ }
1682
+ ]
1683
+ },
1684
+ "type-expression-record-field": {
1685
+ "patterns": [
1686
+ {
1687
+ "begin": "\\b(mutable)\\b",
1688
+ "end": "(?<=[,])|(?=})",
1689
+ "beginCaptures": {
1690
+ "1": {
1691
+ "name": "variable.other.class.js variable.interpolation storage.modifier message.error"
1692
+ }
1693
+ },
1694
+ "patterns": [
1695
+ { "include": "#type-expression-record-field-sans-modifier" }
1696
+ ]
1697
+ },
1698
+ { "include": "#type-expression-record-field-sans-modifier" }
1699
+ ]
1700
+ },
1701
+ "type-expression-record-item": {
1702
+ "patterns": [
1703
+ { "include": "#comment" },
1704
+ { "include": "#module-path-simple-prefix" },
1705
+ { "include": "#type-expression-record-field" }
1706
+ ]
1707
+ },
1708
+ "type-expression-variable": {
1709
+ "match": "(')([_[:lower:]][[:word:]]*)\\b(?!\\.[[:upper:]])",
1710
+ "captures": {
1711
+ "1": { "name": "comment" },
1712
+ "2": {
1713
+ "name": "variable.parameter string.other.link variable.language"
1714
+ }
1715
+ }
1716
+ },
1717
+ "value-expression": {
1718
+ "patterns": [
1719
+ { "include": "#attribute" },
1720
+ { "include": "#comment" },
1721
+ { "include": "#extension-node" },
1722
+ { "include": "#jsx" },
1723
+ { "include": "#operator" },
1724
+ { "include": "#value-expression-builtin" },
1725
+ { "include": "#value-expression-if-then-else" },
1726
+ { "include": "#value-expression-atomic" },
1727
+ { "include": "#module-path-simple-prefix" },
1728
+ {
1729
+ "match": "[:?]",
1730
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1731
+ },
1732
+ { "include": "#record-path" }
1733
+ ]
1734
+ },
1735
+ "value-expression-atomic": {
1736
+ "patterns": [
1737
+ { "include": "#value-expression-literal" },
1738
+ { "include": "#value-expression-literal-list-or-array" },
1739
+ { "include": "#value-expression-for" },
1740
+ { "include": "#value-expression-fun" },
1741
+ { "include": "#value-expression-block-or-record-or-object" },
1742
+ { "include": "#value-expression-label" },
1743
+ { "include": "#value-expression-parens" },
1744
+ { "include": "#value-expression-switch" },
1745
+ { "include": "#value-expression-try" },
1746
+ { "include": "#value-expression-while" }
1747
+ ]
1748
+ },
1749
+ "value-expression-atomic-with-paths": {
1750
+ "patterns": [
1751
+ { "include": "#value-expression-atomic" },
1752
+ { "include": "#module-path-simple-prefix" },
1753
+ { "include": "#record-path-suffix" }
1754
+ ]
1755
+ },
1756
+ "value-expression-block": {
1757
+ "begin": "{",
1758
+ "end": "}",
1759
+ "patterns": [{ "include": "#value-expression-block-item" }]
1760
+ },
1761
+ "value-expression-block-item": {
1762
+ "patterns": [
1763
+ { "include": "#module-item-let" },
1764
+ { "include": "#module-item-open" },
1765
+ { "include": "#value-expression" }
1766
+ ]
1767
+ },
1768
+ "value-expression-block-look": {
1769
+ "begin": "(?![[:space:]]*($|\\.\\.\\.|([[:upper:]][[:word:]]*\\.)*([[:lower:]][[:word:]]*)[[:space:]]*(?:,|:(?![=]))))",
1770
+ "end": "(?=})",
1771
+ "patterns": [{ "include": "#value-expression-block-item" }]
1772
+ },
1773
+ "value-expression-block-or-record-or-object": {
1774
+ "begin": "{",
1775
+ "end": "}",
1776
+ "patterns": [
1777
+ { "include": "#comment" },
1778
+ { "include": "#module-path-simple-prefix" },
1779
+ { "include": "#value-expression-object-look" },
1780
+ { "include": "#value-expression-record-look" },
1781
+ { "include": "#value-expression-block-look" }
1782
+ ]
1783
+ },
1784
+ "value-expression-builtin": {
1785
+ "match": "\\b(assert|decr|failwith|fprintf|ignore|incr|land|lazy|lor|lsl|lsr|lxor|mod|new|not|printf|ref)\\b|\\b(raise)\\b",
1786
+ "captures": {
1787
+ "1": { "name": "keyword.control message.error" },
1788
+ "2": { "name": "keyword.control.trycatch" }
1789
+ }
1790
+ },
1791
+ "value-expression-constructor": {
1792
+ "match": "\\b([[:upper:]][[:word:]]*)\\b(?![[:space:]]*[\\.])",
1793
+ "captures": {
1794
+ "1": {
1795
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
1796
+ }
1797
+ }
1798
+ },
1799
+ "value-expression-constructor-polymorphic": {
1800
+ "match": "(`)([[:alpha:]][[:word:]]*)\\b(?!\\.)",
1801
+ "captures": {
1802
+ "1": {
1803
+ "name": "constant.other.symbol keyword.control.less variable.parameter"
1804
+ },
1805
+ "2": {
1806
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
1807
+ }
1808
+ }
1809
+ },
1810
+ "value-expression-for": {
1811
+ "begin": "(?=\\b(for)\\b)",
1812
+ "end": "(?<=})|(?=[;]|\\b(and|as|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|rec|type|val|with)\\b)",
1813
+ "patterns": [
1814
+ { "include": "#value-expression-for-head" },
1815
+ { "include": "#value-expression-block" }
1816
+ ]
1817
+ },
1818
+ "value-expression-for-head": {
1819
+ "begin": "(?=\\b(for)\\b)",
1820
+ "end": "(?={)|(?=[;]|\\b(and|as|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|rec|type|val|with)\\b)",
1821
+ "patterns": [
1822
+ {
1823
+ "begin": "\\b(for)\\b",
1824
+ "end": "(?=\\b(in)\\b)|(?=[;]|\\b(and|as|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|rec|type|val|with)\\b)",
1825
+ "beginCaptures": {
1826
+ "1": { "name": "keyword.control.loop" }
1827
+ },
1828
+ "patterns": [
1829
+ { "include": "#comment" },
1830
+ { "include": "#pattern-variable" }
1831
+ ]
1832
+ },
1833
+ {
1834
+ "begin": "\\b(in)\\b",
1835
+ "end": "(?=\\b(to)\\b)|(?=[;]|\\b(and|as|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|rec|type|val|with)\\b)",
1836
+ "beginCaptures": {
1837
+ "1": { "name": "keyword.control.loop" }
1838
+ },
1839
+ "patterns": [
1840
+ { "include": "#comment" },
1841
+ { "include": "#value-expression-atomic-with-paths" }
1842
+ ]
1843
+ },
1844
+ {
1845
+ "begin": "\\b(to)\\b",
1846
+ "end": "(?={)|(?=[;]|\\b(and|as|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|rec|type|val|with)\\b)",
1847
+ "beginCaptures": {
1848
+ "1": { "name": "keyword.control.loop" }
1849
+ },
1850
+ "patterns": [
1851
+ { "include": "#comment" },
1852
+ { "include": "#value-expression-atomic-with-paths" }
1853
+ ]
1854
+ },
1855
+ { "include": "#value-expression-block" }
1856
+ ]
1857
+ },
1858
+ "value-expression-fun": {
1859
+ "begin": "\\b(fun)\\b",
1860
+ "end": "(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
1861
+ "beginCaptures": {
1862
+ "1": { "name": "keyword.control" }
1863
+ },
1864
+ "patterns": [
1865
+ { "include": "#value-expression-fun-pattern-match-rule-lhs" },
1866
+ { "include": "#value-expression-fun-pattern-match-rule-rhs" }
1867
+ ]
1868
+ },
1869
+ "value-expression-fun-pattern-match-rule-lhs": {
1870
+ "begin": "(?=\\|(?![#\\-:!?.@*/&%^+<=>|~$\\\\]))|(?<=fun)",
1871
+ "end": "(\\|(?![#\\-:!?.@*/&%^+<=>|~$\\\\]))|(?==>)|(?=[;\\)}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
1872
+ "applyEndPatternLast": true,
1873
+ "beginCaptures": {
1874
+ "1": {
1875
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1876
+ }
1877
+ },
1878
+ "endCaptures": {
1879
+ "1": {
1880
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1881
+ }
1882
+ },
1883
+ "patterns": [{ "include": "#module-item-let-value-param" }]
1884
+ },
1885
+ "value-expression-fun-pattern-match-rule-rhs": {
1886
+ "begin": "(=>)",
1887
+ "end": "(?=[;\\)}]|\\|(?![#\\-:!?.@*/&%^+<=>|~$\\\\])|\\b(and)\\b)",
1888
+ "beginCaptures": {
1889
+ "1": { "name": "keyword.control.less" }
1890
+ },
1891
+ "patterns": [{ "include": "#value-expression" }]
1892
+ },
1893
+ "value-expression-if-then-else": {
1894
+ "begin": "\\b(if)\\b",
1895
+ "end": "(?=[;\\)\\]}])",
1896
+ "applyEndPatternLast": true,
1897
+ "beginCaptures": {
1898
+ "1": { "name": "keyword.control.conditional" }
1899
+ },
1900
+ "patterns": [
1901
+ { "include": "#comment" },
1902
+ {
1903
+ "begin": "\\b(else)\\b",
1904
+ "end": "(?=[;\\)\\]}])",
1905
+ "beginCaptures": {
1906
+ "1": { "name": "keyword.control.conditional" }
1907
+ },
1908
+ "patterns": [{ "include": "#value-expression" }]
1909
+ },
1910
+ { "include": "#value-expression-atomic-with-paths" }
1911
+ ]
1912
+ },
1913
+ "value-expression-lazy": {
1914
+ "comment": "FIXME",
1915
+ "match": "\\b(lazy)\\b",
1916
+ "captures": {
1917
+ "1": { "name": "keyword.other" }
1918
+ }
1919
+ },
1920
+ "value-expression-label": {
1921
+ "begin": "\\b([_[:lower:]][[:word:]]*)\\b[[:space:]]*(::)(\\?)?",
1922
+ "end": "(?![[:space:]])",
1923
+ "beginCaptures": {
1924
+ "1": {
1925
+ "name": "markup.inserted constant.language support.property-value entity.name.filename"
1926
+ },
1927
+ "2": { "name": "keyword.control" },
1928
+ "3": { "name": "storage.type" }
1929
+ },
1930
+ "patterns": [{ "include": "#value-expression" }]
1931
+ },
1932
+ "value-expression-literal": {
1933
+ "patterns": [
1934
+ { "include": "#value-expression-literal-boolean" },
1935
+ { "include": "#value-expression-literal-character" },
1936
+ { "include": "#value-expression-constructor" },
1937
+ { "include": "#value-expression-constructor-polymorphic" },
1938
+ { "include": "#value-expression-lazy" },
1939
+ { "include": "#value-expression-literal-numeric" },
1940
+ { "include": "#value-expression-literal-string" },
1941
+ { "include": "#value-expression-literal-unit" }
1942
+ ]
1943
+ },
1944
+ "value-expression-literal-boolean": {
1945
+ "match": "\\b(false|true)\\b",
1946
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
1947
+ },
1948
+ "value-expression-literal-character": {
1949
+ "match": "(')([[:space:]]|[[:graph:]]|\\\\[\\\\\"'ntbr]|\\\\[[:digit:]][[:digit:]][[:digit:]]|\\\\x[[:xdigit:]][[:xdigit:]]|\\\\o[0-3][0-7][0-7])(')",
1950
+ "name": "constant.character"
1951
+ },
1952
+ "value-expression-literal-list-or-array": {
1953
+ "begin": "(\\[\\|?)(?![@%])",
1954
+ "end": "(\\|?\\])",
1955
+ "beginCaptures": {
1956
+ "1": { "name": "constant.language.list" }
1957
+ },
1958
+ "endCaptures": {
1959
+ "1": { "name": "constant.language.list" }
1960
+ },
1961
+ "patterns": [
1962
+ { "include": "#value-expression-literal-list-or-array-separator" },
1963
+ { "include": "#value-expression" },
1964
+ { "include": "#value-expression-literal-list-or-array" }
1965
+ ]
1966
+ },
1967
+ "value-expression-literal-list-or-array-separator": {
1968
+ "match": "(,)|(\\.\\.\\.)",
1969
+ "captures": {
1970
+ "1": {
1971
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1972
+ },
1973
+ "2": { "name": "keyword.control" }
1974
+ }
1975
+ },
1976
+ "value-expression-literal-numeric": {
1977
+ "patterns": [
1978
+ {
1979
+ "match": "([-])?([[:digit:]][_[:digit:]]*)(?:(\\.)([_[:digit:]]*))?(?:([eE])([\\-\\+])?([[:digit:]][_[:digit:]]*))?(?![bBoOxX])",
1980
+ "captures": {
1981
+ "1": { "name": "keyword.control.less" },
1982
+ "2": { "name": "constant.numeric" },
1983
+ "3": {
1984
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
1985
+ },
1986
+ "4": { "name": "constant.numeric" },
1987
+ "5": { "name": "keyword.control.less" },
1988
+ "6": { "name": "keyword.control.less" },
1989
+ "7": { "name": "constant.numeric" }
1990
+ }
1991
+ },
1992
+ {
1993
+ "match": "([-])?(0[xX])([[:xdigit:]][_[:xdigit:]]*)(?:(\\.)([_[:xdigit:]]*))?(?:([pP])([\\-\\+])?([[:digit:]][_[:digit:]]*))?",
1994
+ "captures": {
1995
+ "1": { "name": "keyword.control.less" },
1996
+ "2": { "name": "keyword.control.less" },
1997
+ "3": { "name": "constant.numeric" },
1998
+ "4": {
1999
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
2000
+ },
2001
+ "5": { "name": "constant.numeric" },
2002
+ "6": { "name": "keyword.control.less" },
2003
+ "7": { "name": "keyword.control.less" },
2004
+ "8": { "name": "constant.numeric" }
2005
+ }
2006
+ },
2007
+ {
2008
+ "match": "([-])?(0[oO])([0-7][_0-7]*)",
2009
+ "captures": {
2010
+ "1": { "name": "keyword.control.less" },
2011
+ "2": { "name": "keyword.control.less" },
2012
+ "3": { "name": "constant.numeric" }
2013
+ }
2014
+ },
2015
+ {
2016
+ "match": "([-])?(0[bB])([0-1][_0-1]*)",
2017
+ "captures": {
2018
+ "1": { "name": "keyword.control.less" },
2019
+ "2": { "name": "keyword.control.less" },
2020
+ "3": { "name": "constant.numeric" }
2021
+ }
2022
+ }
2023
+ ]
2024
+ },
2025
+ "value-expression-literal-string": {
2026
+ "patterns": [
2027
+ {
2028
+ "begin": "(?<![[:alpha:]])js_expr(?!=[[:word:]])",
2029
+ "end": "(?<=\")|(\\|)([_[:lower:]]*)?(})|(?=[^[:space:]\"{])",
2030
+ "endCaptures": {
2031
+ "1": { "name": "keyword.control.flow message.error" },
2032
+ "2": {
2033
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
2034
+ },
2035
+ "3": { "name": "keyword.control.flow message.error" }
2036
+ },
2037
+ "patterns": [
2038
+ {
2039
+ "begin": "({)([_[:lower:]]*)?(\\|)",
2040
+ "end": "(?=\\|\\2})",
2041
+ "comment": "meta.separator",
2042
+ "beginCaptures": {
2043
+ "1": { "name": "keyword.control.flow message.error" },
2044
+ "2": {
2045
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
2046
+ },
2047
+ "3": { "name": "keyword.control.flow message.error" }
2048
+ },
2049
+ "patterns": [{ "include": "source.js" }]
2050
+ },
2051
+ {
2052
+ "begin": "\"",
2053
+ "end": "\"",
2054
+ "comment": "meta.separator",
2055
+ "patterns": [{ "include": "source.js" }]
2056
+ }
2057
+ ]
2058
+ },
2059
+ {
2060
+ "begin": "({)([_[:lower:]]*)?(\\|)",
2061
+ "end": "(\\|)(\\2)(})",
2062
+ "name": "string.double string.regexp",
2063
+ "beginCaptures": {
2064
+ "1": { "name": "keyword.control.flow message.error" },
2065
+ "2": {
2066
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
2067
+ },
2068
+ "3": { "name": "keyword.control.flow message.error" }
2069
+ },
2070
+ "endCaptures": {
2071
+ "1": { "name": "keyword.control.flow message.error" },
2072
+ "2": {
2073
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
2074
+ },
2075
+ "3": { "name": "keyword.control.flow message.error" }
2076
+ }
2077
+ },
2078
+ {
2079
+ "begin": "\"",
2080
+ "end": "\"",
2081
+ "name": "string.double string.regexp",
2082
+ "patterns": [{ "include": "#value-expression-literal-string-escape" }]
2083
+ }
2084
+ ]
2085
+ },
2086
+ "value-expression-literal-string-escape": {
2087
+ "patterns": [
2088
+ {
2089
+ "comment": "FIXME: make escapes into separate rule",
2090
+ "match": "\\\\[\\\\\"'ntbr ]|\\\\[[:digit:]][[:digit:]][[:digit:]]|\\\\x[[:xdigit:]][[:xdigit:]]|\\\\o[0-3][0-7][0-7]",
2091
+ "name": "constant.character"
2092
+ },
2093
+ {
2094
+ "match": "(@)([ \\[\\],.]|\\\\n)",
2095
+ "captures": {
2096
+ "1": { "name": "keyword.control.less" },
2097
+ "2": {
2098
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
2099
+ }
2100
+ }
2101
+ },
2102
+ {
2103
+ "comment": "FIXME: don't highlight in external strings",
2104
+ "match": "(%)([ads])?",
2105
+ "captures": {
2106
+ "1": {
2107
+ "name": "entity.other.attribute-name.css constant.language constant.numeric"
2108
+ },
2109
+ "2": {
2110
+ "name": "variable.other.readwrite.instance string.other.link variable.language"
2111
+ }
2112
+ }
2113
+ }
2114
+ ]
2115
+ },
2116
+ "value-expression-literal-unit": {
2117
+ "match": "\\(\\)",
2118
+ "name": "constant.language.unit"
2119
+ },
2120
+ "value-expression-object-look": {
2121
+ "comment": "FIXME: is there a better way than listing all the keywords?",
2122
+ "begin": "(?:\\G|^)[[:space:]]*(?=method)",
2123
+ "end": "(?=})",
2124
+ "patterns": [{ "include": "#object-item" }]
2125
+ },
2126
+ "value-expression-parens": {
2127
+ "begin": "(?=\\()",
2128
+ "end": "(\\))|(?=[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
2129
+ "endCaptures": {},
2130
+ "patterns": [
2131
+ { "include": "#condition-lhs" },
2132
+ { "include": "#value-expression-parens-lhs" },
2133
+ { "include": "#type-annotation-rhs" }
2134
+ ]
2135
+ },
2136
+ "value-expression-parens-lhs": {
2137
+ "begin": "(\\()|(,)",
2138
+ "end": "(?=[?,:\\)]|\\b(and|as|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|rec|type|val|with)\\b)",
2139
+ "beginCaptures": {
2140
+ "2": {
2141
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
2142
+ }
2143
+ },
2144
+ "patterns": [
2145
+ {
2146
+ "begin": "\\b(module)\\b",
2147
+ "end": "(?=\\))",
2148
+ "beginCaptures": {
2149
+ "1": { "name": "keyword.other message.error" }
2150
+ },
2151
+ "patterns": [{ "include": "#module-path-simple" }]
2152
+ },
2153
+ { "include": "#value-expression" }
2154
+ ]
2155
+ },
2156
+ "value-expression-record-field": {
2157
+ "patterns": [
2158
+ {
2159
+ "begin": "(\\.\\.\\.)",
2160
+ "end": "(,)|(?=})",
2161
+ "beginCaptures": {
2162
+ "1": { "name": "keyword.control" }
2163
+ },
2164
+ "endCaptures": {
2165
+ "1": {
2166
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
2167
+ }
2168
+ },
2169
+ "patterns": [
2170
+ { "include": "#comment" },
2171
+ { "include": "#module-path-simple-prefix" },
2172
+ {
2173
+ "begin": "(?=[\\.])",
2174
+ "end": "(?=[:,])",
2175
+ "patterns": [
2176
+ {
2177
+ "match": "\\b[[:lower:]][[:word:]]*\\b",
2178
+ "name": "markup.inserted constant.language support.property-value entity.name.filename"
2179
+ }
2180
+ ]
2181
+ },
2182
+ {
2183
+ "begin": "(:)",
2184
+ "end": "(?=[,}])",
2185
+ "beginCaptures": {
2186
+ "1": {
2187
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
2188
+ }
2189
+ },
2190
+ "patterns": [{ "include": "#value-expression" }]
2191
+ }
2192
+ ]
2193
+ },
2194
+ {
2195
+ "begin": "\\b[[:upper:]][[:word:]]*\\b",
2196
+ "end": "(,)|(?=})",
2197
+ "beginCaptures": {
2198
+ "1": { "name": "support.class entity.name.class" }
2199
+ },
2200
+ "endCaptures": {
2201
+ "1": {
2202
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
2203
+ }
2204
+ },
2205
+ "patterns": [
2206
+ { "include": "#module-path-simple-prefix" },
2207
+ {
2208
+ "begin": "(:)",
2209
+ "end": "(?=[,}])",
2210
+ "beginCaptures": {
2211
+ "1": {
2212
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
2213
+ }
2214
+ },
2215
+ "patterns": [{ "include": "#value-expression" }]
2216
+ }
2217
+ ]
2218
+ },
2219
+ {
2220
+ "begin": "\\b([[:lower:]][[:word:]]*)\\b",
2221
+ "end": "(,)|(?=})",
2222
+ "beginCaptures": {
2223
+ "1": {
2224
+ "name": "markup.inserted constant.language support.property-value entity.name.filename"
2225
+ }
2226
+ },
2227
+ "endCaptures": {
2228
+ "1": {
2229
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
2230
+ }
2231
+ },
2232
+ "patterns": [
2233
+ {
2234
+ "begin": "(:)",
2235
+ "end": "(?=[,}])",
2236
+ "beginCaptures": {
2237
+ "1": {
2238
+ "name": "variable.other.class.js variable.interpolation keyword.operator keyword.control message.error"
2239
+ }
2240
+ },
2241
+ "patterns": [{ "include": "#value-expression" }]
2242
+ }
2243
+ ]
2244
+ }
2245
+ ]
2246
+ },
2247
+ "value-expression-record-item": {
2248
+ "patterns": [
2249
+ { "include": "#comment" },
2250
+ { "include": "#module-path-simple-prefix" },
2251
+ { "include": "#value-expression-record-field" }
2252
+ ]
2253
+ },
2254
+ "value-expression-switch": {
2255
+ "begin": "\\b(switch)\\b",
2256
+ "end": "(?<=})",
2257
+ "beginCaptures": {
2258
+ "1": { "name": "keyword.control.switch" }
2259
+ },
2260
+ "patterns": [
2261
+ { "include": "#value-expression-switch-head" },
2262
+ { "include": "#value-expression-switch-body" }
2263
+ ]
2264
+ },
2265
+ "value-expression-switch-body": {
2266
+ "begin": "{",
2267
+ "end": "}",
2268
+ "patterns": [
2269
+ { "include": "#comment" },
2270
+ { "include": "#value-expression-switch-pattern-match-rule" }
2271
+ ]
2272
+ },
2273
+ "value-expression-switch-head": {
2274
+ "begin": "(?<=switch)",
2275
+ "end": "(?<!switch)(?={)|(?=[;\\)]|\\b(and|as|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|rec|type|val|with)\\b)",
2276
+ "patterns": [
2277
+ { "include": "#comment" },
2278
+ {
2279
+ "begin": "\\G[[:space:]]*+{",
2280
+ "end": "}[[:space:]]*+",
2281
+ "patterns": [{ "include": "#value-expression-block-item" }]
2282
+ },
2283
+ { "include": "#value-expression-atomic-with-paths" }
2284
+ ]
2285
+ },
2286
+ "value-expression-switch-pattern-match-rule": {
2287
+ "patterns": [
2288
+ { "include": "#value-expression-switch-pattern-match-rule-lhs" },
2289
+ { "include": "#value-expression-switch-pattern-match-rule-rhs" }
2290
+ ]
2291
+ },
2292
+ "value-expression-switch-pattern-match-rule-lhs": {
2293
+ "begin": "(?=\\|(?![#\\-:!?.@*/&%^+<=>|~$\\\\]))",
2294
+ "end": "(?==>|[;\\)}])",
2295
+ "patterns": [{ "include": "#pattern-guard" }, { "include": "#pattern" }]
2296
+ },
2297
+ "value-expression-switch-pattern-match-rule-rhs": {
2298
+ "begin": "(=>)",
2299
+ "end": "(?=}|\\|(?![#\\-:!?.@*/&%^+<=>|~$\\\\]))",
2300
+ "beginCaptures": {
2301
+ "1": { "name": "keyword.control.less" }
2302
+ },
2303
+ "patterns": [{ "include": "#value-expression-block-item" }]
2304
+ },
2305
+ "value-expression-try": {
2306
+ "begin": "\\b(try)\\b",
2307
+ "end": "(?<=})|(?=[;\\)]|\\b(and|as|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|rec|type|val|with)\\b)",
2308
+ "beginCaptures": {
2309
+ "1": { "name": "keyword.control.trycatch" }
2310
+ },
2311
+ "patterns": [
2312
+ { "include": "#value-expression-try-head" },
2313
+ { "include": "#value-expression-switch-body" }
2314
+ ]
2315
+ },
2316
+ "value-expression-try-head": {
2317
+ "begin": "(?<=try)",
2318
+ "end": "(?<!try)(?={)|(?=[;\\)]|\\b(and|as|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|rec|type|val|with)\\b)",
2319
+ "beginCaptures": {
2320
+ "1": { "name": "keyword.control" }
2321
+ },
2322
+ "patterns": [
2323
+ { "include": "#comment" },
2324
+ {
2325
+ "begin": "\\G[[:space:]]*+{",
2326
+ "end": "}[[:space:]]*+",
2327
+ "patterns": [{ "include": "#value-expression-block-item" }]
2328
+ },
2329
+ { "include": "#value-expression-atomic-with-paths" }
2330
+ ]
2331
+ },
2332
+ "value-expression-while": {
2333
+ "begin": "\\b(while)\\b",
2334
+ "end": "(?<=})|(?=[;\\)]|\\b(and|as|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|rec|type|val|with)\\b)",
2335
+ "beginCaptures": {
2336
+ "1": { "name": "keyword.control.loop" }
2337
+ },
2338
+ "patterns": [
2339
+ { "include": "#value-expression-while-head" },
2340
+ { "include": "#value-expression-block" }
2341
+ ]
2342
+ },
2343
+ "value-expression-while-head": {
2344
+ "begin": "(?<=while)[[:space:]]*+",
2345
+ "end": "(?={)|(?=[;\\)]|\\b(and|as|class|constraint|exception|external|include|inherit|let|method|nonrec|open|private|rec|type|val|with)\\b)",
2346
+ "patterns": [
2347
+ { "include": "#comment" },
2348
+ { "include": "#value-expression-atomic-with-paths" }
2349
+ ]
2350
+ },
2351
+ "value-expression-record-look": {
2352
+ "begin": "(?=\\.\\.\\.|([[:upper:]][[:word:]]*\\.)*([[:lower:]][[:word:]]*)[[:space:]]*[,:}])",
2353
+ "end": "(?=})",
2354
+ "patterns": [{ "include": "#value-expression-record-item" }]
2355
+ }
2356
+ }
2357
+ }