@codingame/monaco-editor-wrapper 6.3.0 → 6.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/_virtual/_.vsix.js +21 -23
  2. package/dist/assets/{Angular.ng-template-17.1.0.vsix → Angular.ng-template-17.3.1.vsix}/CHANGELOG.md +16 -0
  3. package/dist/assets/{Angular.ng-template-17.1.0.vsix → Angular.ng-template-17.3.1.vsix}/package.json +10 -2
  4. package/dist/assets/{Angular.ng-template-17.1.0.vsix/template.json → Angular.ng-template-17.3.1.vsix/template-tag.json} +2 -25
  5. package/dist/assets/Angular.ng-template-17.3.1.vsix/template.json +31 -0
  6. package/dist/assets/{Dart-Code.dart-code-3.81.20240117.vsix → Dart-Code.dart-code-3.87.20240402.vsix}/dart.json +7 -3
  7. package/dist/assets/{Dart-Code.dart-code-3.81.20240117.vsix → Dart-Code.dart-code-3.87.20240402.vsix}/package.json +200 -24
  8. package/dist/assets/{JakeBecker.elixir-ls-0.19.0.vsix → JakeBecker.elixir-ls-0.20.0.vsix}/CHANGELOG.md +20 -2
  9. package/dist/assets/{JakeBecker.elixir-ls-0.19.0.vsix → JakeBecker.elixir-ls-0.20.0.vsix}/elixir.json +38 -0
  10. package/dist/assets/{JakeBecker.elixir-ls-0.19.0.vsix → JakeBecker.elixir-ls-0.20.0.vsix}/package.json +5 -2
  11. package/dist/assets/{JuanBlanco.solidity-0.0.165.vsix → JuanBlanco.solidity-0.0.174.vsix}/README.md +424 -416
  12. package/dist/assets/{JuanBlanco.solidity-0.0.165.vsix → JuanBlanco.solidity-0.0.174.vsix}/package.json +623 -569
  13. package/dist/assets/JuanBlanco.solidity-0.0.174.vsix/solidity-markdown-injection.json +45 -0
  14. package/dist/assets/{JuanBlanco.solidity-0.0.165.vsix → JuanBlanco.solidity-0.0.174.vsix}/solidity.configuration.json +31 -31
  15. package/dist/assets/{JuanBlanco.solidity-0.0.165.vsix → JuanBlanco.solidity-0.0.174.vsix}/solidity.json +1215 -1215
  16. package/dist/assets/{JuanBlanco.solidity-0.0.165.vsix → JuanBlanco.solidity-0.0.174.vsix}/solidity2.json +213 -213
  17. package/dist/assets/{alefragnani.pascal-9.6.0.vsix → alefragnani.pascal-9.8.0.vsix}/CHANGELOG.md +15 -0
  18. package/dist/assets/{alefragnani.pascal-9.6.0.vsix → alefragnani.pascal-9.8.0.vsix}/README.md +263 -249
  19. package/dist/assets/{alefragnani.pascal-9.6.0.vsix → alefragnani.pascal-9.8.0.vsix}/package.json +263 -263
  20. package/dist/assets/{alefragnani.pascal-9.6.0.vsix → alefragnani.pascal-9.8.0.vsix}/package.nls.json +23 -23
  21. package/dist/assets/{alefragnani.pascal-9.6.0.vsix → alefragnani.pascal-9.8.0.vsix}/package.nls.pt-br.json +23 -23
  22. package/dist/assets/{alefragnani.pascal-9.6.0.vsix → alefragnani.pascal-9.8.0.vsix}/pascal.configuration.json +1 -0
  23. package/dist/assets/{alefragnani.pascal-9.6.0.vsix → alefragnani.pascal-9.8.0.vsix}/pascal.json +414 -414
  24. package/dist/assets/{alefragnani.pascal-9.6.0.vsix → alefragnani.pascal-9.8.0.vsix}/pascal.tmLanguage +1 -1
  25. package/dist/assets/{broadcomMFD.cobol-language-support-2.1.0.vsix → broadcomMFD.cobol-language-support-2.1.2.vsix}/CHANGELOG.md +26 -0
  26. package/dist/assets/broadcomMFD.cobol-language-support-2.1.2.vsix/CICS.tmLanguage.json +66 -0
  27. package/dist/assets/{broadcomMFD.cobol-language-support-2.1.0.vsix → broadcomMFD.cobol-language-support-2.1.2.vsix}/COBOL.tmLanguage.json +0 -8
  28. package/dist/assets/{broadcomMFD.cobol-language-support-2.1.0.vsix → broadcomMFD.cobol-language-support-2.1.2.vsix}/README.md +2 -4
  29. package/dist/assets/{broadcomMFD.cobol-language-support-2.1.0.vsix → broadcomMFD.cobol-language-support-2.1.2.vsix}/package.json +13 -15
  30. package/dist/assets/{golang.Go-0.40.3.vsix → golang.Go-0.41.2.vsix}/CHANGELOG.md +118 -9
  31. package/dist/assets/{golang.Go-0.40.3.vsix → golang.Go-0.41.2.vsix}/README.md +17 -21
  32. package/dist/assets/{golang.Go-0.40.3.vsix → golang.Go-0.41.2.vsix}/package.json +13 -24
  33. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/CHANGELOG.md +61 -0
  34. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/aspnetcorerazor.tmLanguage.json +78 -0
  35. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/csharp.json +1 -1
  36. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.json +98 -132
  37. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.cs.json +2 -4
  38. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.de.json +2 -4
  39. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.es.json +2 -4
  40. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.fr.json +2 -4
  41. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.it.json +2 -4
  42. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.ja.json +2 -4
  43. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.json +2 -4
  44. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.ko.json +2 -4
  45. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.pl.json +2 -4
  46. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.pt-br.json +2 -4
  47. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.ru.json +2 -4
  48. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.tr.json +2 -4
  49. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.zh-cn.json +2 -4
  50. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/package.nls.zh-tw.json +2 -4
  51. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/vs2019_dark.json +5 -0
  52. package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/vs2019_light.json +5 -0
  53. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/README.md +21 -10
  54. package/dist/assets/ms-python.python-2024.5.11021008.vsix/package.json +1 -0
  55. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.cs.json +1 -1
  56. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.de.json +1 -1
  57. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.es.json +1 -1
  58. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.fr.json +1 -1
  59. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.it.json +1 -1
  60. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.ja.json +1 -1
  61. package/dist/assets/ms-python.python-2024.5.11021008.vsix/package.nls.json +1 -0
  62. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.ko.json +1 -1
  63. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.pl.json +1 -1
  64. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.pt-br.json +1 -1
  65. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.qps-ploc.json +1 -1
  66. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.ru.json +1 -1
  67. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.tr.json +1 -1
  68. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.zh-cn.json +1 -1
  69. package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/package.nls.zh-tw.json +1 -1
  70. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/CHANGELOG.md +124 -35
  71. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.json +181 -7
  72. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.cs.json +12 -1
  73. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.de.json +12 -1
  74. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.es.json +12 -1
  75. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.fr.json +12 -1
  76. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.it.json +13 -2
  77. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.ja.json +12 -1
  78. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.json +11 -0
  79. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.ko.json +12 -1
  80. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.pl.json +12 -1
  81. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.pt-br.json +12 -1
  82. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.ru.json +12 -1
  83. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.tr.json +12 -1
  84. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.zh-cn.json +12 -1
  85. package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/package.nls.zh-tw.json +15 -4
  86. package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/CHANGELOG.md +35 -1
  87. package/dist/assets/ocamllabs.ocaml-platform-1.18.1.vsix/ocaml-markdown-codeblock.json +33 -0
  88. package/dist/assets/ocamllabs.ocaml-platform-1.18.1.vsix/ocamldoc.json +203 -0
  89. package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/package.json +21 -19
  90. package/dist/assets/ocamllabs.ocaml-platform-1.18.1.vsix/reason-markdown-codeblock.json +33 -0
  91. package/dist/assets/{pgourlain.erlang-0.9.8.vsix → pgourlain.erlang-0.9.9.vsix}/CHANGELOG.md +11 -0
  92. package/dist/assets/pgourlain.erlang-0.9.9.vsix/erlang-fileicon-dark.png +0 -0
  93. package/dist/assets/pgourlain.erlang-0.9.9.vsix/erlang-fileicon-light.png +0 -0
  94. package/dist/assets/pgourlain.erlang-0.9.9.vsix/erlang.json +1323 -0
  95. package/dist/assets/{pgourlain.erlang-0.9.8.vsix → pgourlain.erlang-0.9.9.vsix}/package.json +6 -2
  96. package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/CHANGELOG.md +44 -0
  97. package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/README.md +8 -7
  98. package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/package.json +75 -6
  99. package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/package.nls.json +2 -1
  100. package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/package.nls.ko.json +2 -1
  101. package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/package.nls.zh-cn.json +2 -1
  102. package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/package.nls.zh-tw.json +2 -1
  103. package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/package.schema.json +21 -0
  104. package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/README.md +1 -1
  105. package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/package.json +34 -4
  106. package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/package.json +2 -2
  107. package/dist/extensions/{Angular.ng-template-17.1.0.vsix.js → Angular.ng-template-17.3.1.vsix.js} +12 -10
  108. package/dist/extensions/Dart-Code.dart-code-3.87.20240402.vsix.js +20 -0
  109. package/dist/extensions/{JakeBecker.elixir-ls-0.19.0.vsix.js → JakeBecker.elixir-ls-0.20.0.vsix.js} +10 -10
  110. package/dist/extensions/JuanBlanco.solidity-0.0.174.vsix.js +22 -0
  111. package/dist/extensions/{alefragnani.pascal-9.6.0.vsix.js → alefragnani.pascal-9.8.0.vsix.js} +10 -10
  112. package/dist/extensions/broadcomMFD.cobol-language-support-2.1.2.vsix.js +28 -0
  113. package/dist/extensions/golang.Go-0.41.2.vsix.js +24 -0
  114. package/dist/extensions/ms-dotnettools.csharp-2.24.17.vsix.js +54 -0
  115. package/dist/extensions/ms-python.python-2024.5.11021008.vsix.js +56 -0
  116. package/dist/extensions/ms-vscode.cpptools-1.20.1.vsix.js +44 -0
  117. package/dist/extensions/ocamllabs.ocaml-platform-1.18.1.vsix.js +88 -0
  118. package/dist/extensions/pgourlain.erlang-0.9.9.vsix.js +26 -0
  119. package/dist/extensions/redhat.java-1.30.2024041208.vsix.js +48 -0
  120. package/dist/extensions/scalameta.metals-1.29.10.vsix.js +34 -0
  121. package/dist/extensions/{svelte.svelte-vscode-108.2.1.vsix.js → svelte.svelte-vscode-108.3.4.vsix.js} +19 -19
  122. package/dist/features/terminal.d.ts +1 -0
  123. package/dist/features/terminal.js +6 -0
  124. package/dist/features/testing.d.ts +1 -1
  125. package/dist/features/testing.js +1 -0
  126. package/package.json +100 -93
  127. package/stats.html +1 -1
  128. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/CICS.tmLanguage.json +0 -66
  129. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/README.md +0 -44
  130. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/angular-directives.json +0 -123
  131. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/angular-interpolations.json +0 -44
  132. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/angular-template-language-configuration.json +0 -8
  133. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/package.json +0 -102
  134. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.json +0 -1
  135. package/dist/assets/ms-python.python-2023.25.10221012.vsix/package.nls.json +0 -1
  136. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocaml-markdown-codeblock.json +0 -24
  137. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/ocamldoc.json +0 -31
  138. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/reason-markdown-codeblock.json +0 -24
  139. package/dist/assets/pgourlain.erlang-0.9.8.vsix/erlang.json +0 -197
  140. package/dist/extensions/Dart-Code.dart-code-3.81.20240117.vsix.js +0 -20
  141. package/dist/extensions/JuanBlanco.solidity-0.0.165.vsix.js +0 -20
  142. package/dist/extensions/broadcomMFD.cobol-language-support-2.1.0.vsix.js +0 -28
  143. package/dist/extensions/golang.Go-0.40.3.vsix.js +0 -24
  144. package/dist/extensions/johnsoncodehk.vscode-angular-1.0.22.vsix.js +0 -18
  145. package/dist/extensions/ms-dotnettools.csharp-2.16.24.vsix.js +0 -54
  146. package/dist/extensions/ms-python.python-2023.25.10221012.vsix.js +0 -56
  147. package/dist/extensions/ms-vscode.cpptools-1.19.2.vsix.js +0 -44
  148. package/dist/extensions/ocamllabs.ocaml-platform-1.16.1.vsix.js +0 -88
  149. package/dist/extensions/pgourlain.erlang-0.9.8.vsix.js +0 -22
  150. package/dist/extensions/redhat.java-1.27.2024012608.vsix.js +0 -48
  151. package/dist/extensions/scalameta.metals-1.27.3.vsix.js +0 -34
  152. /package/dist/assets/{Angular.ng-template-17.1.0.vsix → Angular.ng-template-17.3.1.vsix}/README.md +0 -0
  153. /package/dist/assets/{Angular.ng-template-17.1.0.vsix → Angular.ng-template-17.3.1.vsix}/angular.png +0 -0
  154. /package/dist/assets/{Angular.ng-template-17.1.0.vsix → Angular.ng-template-17.3.1.vsix}/expression.json +0 -0
  155. /package/dist/assets/{Angular.ng-template-17.1.0.vsix → Angular.ng-template-17.3.1.vsix}/inline-styles.json +0 -0
  156. /package/dist/assets/{Angular.ng-template-17.1.0.vsix → Angular.ng-template-17.3.1.vsix}/inline-template.json +0 -0
  157. /package/dist/assets/{Angular.ng-template-17.1.0.vsix → Angular.ng-template-17.3.1.vsix}/template-blocks.json +0 -0
  158. /package/dist/assets/{Dart-Code.dart-code-3.81.20240117.vsix → Dart-Code.dart-code-3.87.20240402.vsix}/CHANGELOG.md +0 -0
  159. /package/dist/assets/{Dart-Code.dart-code-3.81.20240117.vsix → Dart-Code.dart-code-3.87.20240402.vsix}/README.md +0 -0
  160. /package/dist/assets/{Dart-Code.dart-code-3.81.20240117.vsix → Dart-Code.dart-code-3.87.20240402.vsix}/dart-language-configuration.json +0 -0
  161. /package/dist/assets/{Dart-Code.dart-code-3.81.20240117.vsix → Dart-Code.dart-code-3.87.20240402.vsix}/dart.png +0 -0
  162. /package/dist/assets/{JakeBecker.elixir-ls-0.19.0.vsix → JakeBecker.elixir-ls-0.20.0.vsix}/README.md +0 -0
  163. /package/dist/assets/{JakeBecker.elixir-ls-0.19.0.vsix → JakeBecker.elixir-ls-0.20.0.vsix}/eex-language-configuration.json +0 -0
  164. /package/dist/assets/{JakeBecker.elixir-ls-0.19.0.vsix → JakeBecker.elixir-ls-0.20.0.vsix}/eex.json +0 -0
  165. /package/dist/assets/{JakeBecker.elixir-ls-0.19.0.vsix → JakeBecker.elixir-ls-0.20.0.vsix}/elixir-language-configuration.json +0 -0
  166. /package/dist/assets/{JakeBecker.elixir-ls-0.19.0.vsix → JakeBecker.elixir-ls-0.20.0.vsix}/html-eex.json +0 -0
  167. /package/dist/assets/{JakeBecker.elixir-ls-0.19.0.vsix → JakeBecker.elixir-ls-0.20.0.vsix}/logo.png +0 -0
  168. /package/dist/assets/{JuanBlanco.solidity-0.0.165.vsix → JuanBlanco.solidity-0.0.174.vsix}/icon.png +0 -0
  169. /package/dist/assets/{alefragnani.pascal-9.6.0.vsix → alefragnani.pascal-9.8.0.vsix}/icon.png +0 -0
  170. /package/dist/assets/{broadcomMFD.cobol-language-support-2.1.0.vsix → broadcomMFD.cobol-language-support-2.1.2.vsix}/SQL.tmLanguage.json +0 -0
  171. /package/dist/assets/{broadcomMFD.cobol-language-support-2.1.0.vsix → broadcomMFD.cobol-language-support-2.1.2.vsix}/lang-config.json +0 -0
  172. /package/dist/assets/{broadcomMFD.cobol-language-support-2.1.0.vsix → broadcomMFD.cobol-language-support-2.1.2.vsix}/logo.png +0 -0
  173. /package/dist/assets/{broadcomMFD.cobol-language-support-2.1.0.vsix → broadcomMFD.cobol-language-support-2.1.2.vsix}/pgm_conf.schema.json +0 -0
  174. /package/dist/assets/{broadcomMFD.cobol-language-support-2.1.0.vsix → broadcomMFD.cobol-language-support-2.1.2.vsix}/proc_grps.schema.json +0 -0
  175. /package/dist/assets/{golang.Go-0.40.3.vsix → golang.Go-0.41.2.vsix}/go-logo-blue.png +0 -0
  176. /package/dist/assets/{golang.Go-0.40.3.vsix → golang.Go-0.41.2.vsix}/go.json +0 -0
  177. /package/dist/assets/{golang.Go-0.40.3.vsix → golang.Go-0.41.2.vsix}/go.mod.language-configuration.json +0 -0
  178. /package/dist/assets/{golang.Go-0.40.3.vsix → golang.Go-0.41.2.vsix}/go.mod.tmGrammar.json +0 -0
  179. /package/dist/assets/{golang.Go-0.40.3.vsix → golang.Go-0.41.2.vsix}/go.sum.tmGrammar.json +0 -0
  180. /package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/README.md +0 -0
  181. /package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/csharpIcon.png +0 -0
  182. /package/dist/assets/{ms-dotnettools.csharp-2.16.24.vsix → ms-dotnettools.csharp-2.24.17.vsix}/language-configuration.json +0 -0
  183. /package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/CHANGELOG.md +0 -0
  184. /package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/conda-environment.json +0 -0
  185. /package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/conda-meta.json +0 -0
  186. /package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/condarc.json +0 -0
  187. /package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/icon.png +0 -0
  188. /package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/pip-requirements.json +0 -0
  189. /package/dist/assets/{ms-python.python-2023.25.10221012.vsix → ms-python.python-2024.5.11021008.vsix}/pip-requirements.tmLanguage.json +0 -0
  190. /package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/LanguageCCPP_color_128x.png +0 -0
  191. /package/dist/assets/{ms-vscode.cpptools-1.19.2.vsix → ms-vscode.cpptools-1.20.1.vsix}/README.md +0 -0
  192. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/META.json +0 -0
  193. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/META2.json +0 -0
  194. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/README.md +0 -0
  195. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/atd.json +0 -0
  196. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/cram.json +0 -0
  197. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/dune-project.json +0 -0
  198. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/dune-project2.json +0 -0
  199. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/dune-workspace.json +0 -0
  200. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/dune.json +0 -0
  201. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/dune2.json +0 -0
  202. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/dune3.json +0 -0
  203. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/logo.png +0 -0
  204. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/menhir-action.json +0 -0
  205. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/menhir.json +0 -0
  206. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/menhir2.json +0 -0
  207. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/merlin.json +0 -0
  208. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/oasis.json +0 -0
  209. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/oasis2.json +0 -0
  210. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/ocaml.interface.json +0 -0
  211. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/ocaml.json +0 -0
  212. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/ocaml2.json +0 -0
  213. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/ocaml3.json +0 -0
  214. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/ocamlbuild.json +0 -0
  215. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/ocamlbuild2.json +0 -0
  216. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/ocamlformat.json +0 -0
  217. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/ocamlformat2.json +0 -0
  218. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/ocamllex.json +0 -0
  219. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/ocamllex2.json +0 -0
  220. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/ocamllex3.json +0 -0
  221. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/opam-install.json +0 -0
  222. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/opam-install2.json +0 -0
  223. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/opam.json +0 -0
  224. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/opam2.json +0 -0
  225. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/reason.json +0 -0
  226. /package/dist/assets/{ocamllabs.ocaml-platform-1.16.1.vsix → ocamllabs.ocaml-platform-1.18.1.vsix}/reason2.json +0 -0
  227. /package/dist/assets/{pgourlain.erlang-0.9.8.vsix → pgourlain.erlang-0.9.9.vsix}/Erlang.plist +0 -0
  228. /package/dist/assets/{pgourlain.erlang-0.9.8.vsix → pgourlain.erlang-0.9.9.vsix}/README.md +0 -0
  229. /package/dist/assets/{pgourlain.erlang-0.9.8.vsix → pgourlain.erlang-0.9.9.vsix}/erlang.configuration.json +0 -0
  230. /package/dist/assets/{pgourlain.erlang-0.9.8.vsix → pgourlain.erlang-0.9.9.vsix}/icon.png +0 -0
  231. /package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/JavaProperties.tmLanguage.json +0 -0
  232. /package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/icon128.png +0 -0
  233. /package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/inline-html.json +0 -0
  234. /package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/inline-json.json +0 -0
  235. /package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/inline-sql.json +0 -0
  236. /package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/inline-xml.json +0 -0
  237. /package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/inline-yaml.json +0 -0
  238. /package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/java-properties-configuration.json +0 -0
  239. /package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/java.tmLanguage.json +0 -0
  240. /package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/kotlin.tmLanguage.json +0 -0
  241. /package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/language-configuration.json +0 -0
  242. /package/dist/assets/{redhat.java-1.27.2024012608.vsix → redhat.java-1.30.2024041208.vsix}/language-configuration2.json +0 -0
  243. /package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/book-dark.svg +0 -0
  244. /package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/book-light.svg +0 -0
  245. /package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/buildtarget.json +0 -0
  246. /package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/file_type_java.svg +0 -0
  247. /package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/file_type_scala.svg +0 -0
  248. /package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/jvm-bytecode-verbose.json +0 -0
  249. /package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/jvm-bytecode.json +0 -0
  250. /package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/logo.png +0 -0
  251. /package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/scalameta-logo.png +0 -0
  252. /package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/semanticdb.json +0 -0
  253. /package/dist/assets/{scalameta.metals-1.27.3.vsix → scalameta.metals-1.29.10.vsix}/tasty.json +0 -0
  254. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/CHANGELOG.md +0 -0
  255. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/README.md +0 -0
  256. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/javascript.json +0 -0
  257. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/language-configuration.json +0 -0
  258. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/logo.png +0 -0
  259. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/markdown-svelte-css.json +0 -0
  260. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/markdown-svelte-js.json +0 -0
  261. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/markdown-svelte.json +0 -0
  262. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/package-json-schema.json +0 -0
  263. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/postcss.json +0 -0
  264. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/prettier-options-schema.json +0 -0
  265. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/pug-svelte-dotblock.json +0 -0
  266. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/pug-svelte-tags.json +0 -0
  267. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/pug-svelte.json +0 -0
  268. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/svelte.json +0 -0
  269. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/svelte.tmLanguage.json +0 -0
  270. /package/dist/assets/{svelte.svelte-vscode-108.2.1.vsix → svelte.svelte-vscode-108.3.4.vsix}/typescript.json +0 -0
@@ -1,1215 +1,1215 @@
1
- {
2
- "fileTypes": [
3
- "sol"
4
- ],
5
- "name": "Solidity",
6
- "patterns": [
7
- {
8
- "include": "#natspec"
9
- },
10
- {
11
- "include": "#declaration-userType"
12
- },
13
- {
14
- "include": "#comment"
15
- },
16
- {
17
- "include": "#operator"
18
- },
19
- {
20
- "include": "#global"
21
- },
22
- {
23
- "include": "#control"
24
- },
25
- {
26
- "include": "#constant"
27
- },
28
- {
29
- "include": "#primitive"
30
- },
31
- {
32
- "include": "#type-primitive"
33
- },
34
- {
35
- "include": "#type-modifier-extended-scope"
36
- },
37
- {
38
- "include": "#declaration"
39
- },
40
- {
41
- "include": "#function-call"
42
- },
43
- {
44
- "include": "#assembly"
45
- },
46
- {
47
- "include": "#punctuation"
48
- }
49
- ],
50
- "repository": {
51
- "natspec": {
52
- "patterns": [
53
- {
54
- "begin": "/\\*\\*",
55
- "end": "\\*/",
56
- "name": "comment.block.documentation",
57
- "patterns": [
58
- {
59
- "include": "#natspec-tags"
60
- }
61
- ]
62
- },
63
- {
64
- "begin": "///",
65
- "end": "$",
66
- "name": "comment.block.documentation",
67
- "patterns": [
68
- {
69
- "include": "#natspec-tags"
70
- }
71
- ]
72
- }
73
- ]
74
- },
75
- "natspec-tags": {
76
- "patterns": [
77
- {
78
- "include": "#comment-todo"
79
- },
80
- {
81
- "include": "#natspec-tag-title"
82
- },
83
- {
84
- "include": "#natspec-tag-author"
85
- },
86
- {
87
- "include": "#natspec-tag-notice"
88
- },
89
- {
90
- "include": "#natspec-tag-dev"
91
- },
92
- {
93
- "include": "#natspec-tag-param"
94
- },
95
- {
96
- "include": "#natspec-tag-return"
97
- },
98
- {
99
- "include": "#natspec-tag-custom"
100
- },
101
- {
102
- "include": "#natspec-tag-inheritdoc"
103
- }
104
- ]
105
- },
106
- "natspec-tag-title": {
107
- "match": "(@title)\\b",
108
- "name": "storage.type.title.natspec"
109
- },
110
-
111
- "natspec-tag-author": {
112
- "match": "(@author)\\b",
113
- "name": "storage.type.author.natspec"
114
- },
115
- "natspec-tag-notice": {
116
- "match": "(@notice)\\b",
117
- "name": "storage.type.dev.natspec"
118
- },
119
- "natspec-tag-custom": {
120
- "match": "(@custom:\\w*)\\b",
121
- "name": "storage.type.dev.natspec"
122
- },
123
- "natspec-tag-inheritdoc": {
124
- "match": "(@inheritdoc)\\b",
125
- "name": "storage.type.author.natspec"
126
- },
127
- "natspec-tag-dev": {
128
- "match": "(@dev)\\b",
129
- "name": "storage.type.dev.natspec"
130
- },
131
- "natspec-tag-param": {
132
- "match": "(@param)(\\s+([A-Za-z_]\\w*))?\\b",
133
- "captures": {
134
- "1": {
135
- "name": "storage.type.param.natspec"
136
- },
137
- "3": {
138
- "name": "variable.other.natspec"
139
- }
140
- }
141
- },
142
- "natspec-tag-return": {
143
- "match": "(@return)(\\s+([A-Za-z_]\\w*))?\\b",
144
- "captures": {
145
- "1": {
146
- "name": "storage.type.return.natspec"
147
- },
148
- "3": {
149
- "name": "variable.other.natspec"
150
- }
151
- }
152
- },
153
- "comment": {
154
- "patterns": [
155
- {
156
- "include": "#comment-line"
157
- },
158
- {
159
- "include": "#comment-block"
160
- }
161
- ]
162
- },
163
- "comment-todo": {
164
- "match": "(?i)\\b(FIXME|TODO|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|SUPPRESS|LINT|\\w+-disable|\\w+-suppress)\\b(?-i)",
165
- "name": "keyword.comment.todo"
166
- },
167
- "comment-line": {
168
- "begin": "(?<!tp:)//",
169
- "end": "$",
170
- "name": "comment.line",
171
- "patterns": [
172
- {
173
- "include": "#comment-todo"
174
- }
175
- ]
176
- },
177
- "comment-block": {
178
- "begin": "/\\*",
179
- "end": "\\*/",
180
- "name": "comment.block",
181
- "patterns": [
182
- {
183
- "include": "#comment-todo"
184
- }
185
- ]
186
- },
187
- "operator": {
188
- "patterns": [
189
- {
190
- "include": "#operator-logic"
191
- },
192
- {
193
- "include": "#operator-mapping"
194
- },
195
- {
196
- "include": "#operator-arithmetic"
197
- },
198
- {
199
- "include": "#operator-binary"
200
- },
201
- {
202
- "include": "#operator-assignment"
203
- }
204
- ]
205
- },
206
- "operator-logic": {
207
- "match": "(==|\\!=|<(?!<)|<=|>(?!>)|>=|\\&\\&|\\|\\||\\:(?!=)|\\?|\\!)",
208
- "name": "keyword.operator.logic"
209
- },
210
- "operator-mapping": {
211
- "match": "(=>)",
212
- "name": "keyword.operator.mapping"
213
- },
214
- "operator-arithmetic": {
215
- "match": "(\\+|\\-|\\/|\\*)",
216
- "name": "keyword.operator.arithmetic"
217
- },
218
- "operator-binary": {
219
- "match": "(\\^|\\&|\\||<<|>>)",
220
- "name": "keyword.operator.binary"
221
- },
222
- "operator-assignment": {
223
- "match": "(\\:?=)",
224
- "name": "keyword.operator.assignment"
225
- },
226
- "control": {
227
- "patterns": [
228
- {
229
- "include": "#control-flow"
230
- },
231
- {
232
- "include": "#control-using"
233
- },
234
- {
235
- "include": "#control-import"
236
- },
237
- {
238
- "include": "#control-pragma"
239
- },
240
- {
241
- "include": "#control-underscore"
242
- },
243
- {
244
- "include": "#control-unchecked"
245
- },
246
- {
247
- "include": "#control-other"
248
- }
249
- ]
250
- },
251
- "control-flow": {
252
- "patterns": [
253
- {
254
- "match": "\\b(if|else|for|while|do|break|continue|try|catch|finally|throw|return|global)\\b",
255
- "name": "keyword.control.flow"
256
- },
257
- {
258
- "begin": "\\b(returns)\\b",
259
- "beginCaptures": {
260
- "1": {
261
- "name": "keyword.control.flow.return"
262
- }
263
- },
264
- "end": "(?=\\))",
265
- "patterns": [
266
- {
267
- "include": "#declaration-function-parameters"
268
- }
269
- ]
270
- }
271
- ]
272
- },
273
- "control-using": {
274
- "patterns": [
275
- {
276
- "match": "\\b(using)\\b\\s+\\b([A-Za-z\\d_]+)\\b\\s+\\b(for)\\b\\s+\\b([A-Za-z\\d_]+)",
277
- "captures": {
278
- "1": {
279
- "name": "keyword.control.using"
280
- },
281
- "2": {
282
- "name": "entity.name.type.library"
283
- },
284
- "3": {
285
- "name": "keyword.control.for"
286
- },
287
- "4": {
288
- "name": "entity.name.type"
289
- }
290
- }
291
- },
292
- {
293
- "match": "\\b(using)\\b",
294
- "name": "keyword.control.using"
295
- }
296
- ]
297
- },
298
- "control-import": {
299
- "patterns": [
300
- {
301
- "begin": "\\b(import)\\b",
302
- "beginCaptures": {
303
- "1": {
304
- "name": "keyword.control.import"
305
- }
306
- },
307
- "end": "(?=\\;)",
308
- "patterns": [
309
- {
310
- "begin": "((?=\\{))",
311
- "end": "((?=\\}))",
312
- "patterns": [
313
- {
314
- "match": "\\b(\\w+)\\b",
315
- "name": "entity.name.type.interface"
316
- }
317
- ]
318
- },
319
- {
320
- "match": "\\b(from)\\b",
321
- "name": "keyword.control.import.from"
322
- },
323
- {
324
- "include": "#string"
325
- },
326
- {
327
- "include": "#punctuation"
328
- }
329
- ]
330
- },
331
- {
332
- "match": "\\b(import)\\b",
333
- "name": "keyword.control.import"
334
- }
335
- ]
336
- },
337
- "control-unchecked": {
338
- "match": "\\b(unchecked)\\b",
339
- "name": "keyword.control.unchecked"
340
- },
341
- "control-pragma": {
342
- "match": "\\b(pragma)(?:\\s+([A-Za-z_]\\w+)\\s+([^\\s]+))?\\b",
343
- "captures": {
344
- "1": {
345
- "name": "keyword.control.pragma"
346
- },
347
- "2": {
348
- "name": "entity.name.tag.pragma"
349
- },
350
- "3": {
351
- "name": "constant.other.pragma"
352
- }
353
- }
354
- },
355
- "control-underscore": {
356
- "match": "\\b(_)\\b",
357
- "name": "constant.other.underscore"
358
- },
359
- "control-other": {
360
- "match": "\\b(new|delete|emit)\\b",
361
- "name": "keyword.control"
362
- },
363
- "constant": {
364
- "patterns": [
365
- {
366
- "include": "#constant-boolean"
367
- },
368
- {
369
- "include": "#constant-time"
370
- },
371
- {
372
- "include": "#constant-currency"
373
- }
374
- ]
375
- },
376
- "constant-boolean": {
377
- "match": "\\b(true|false)\\b",
378
- "name": "constant.language.boolean"
379
- },
380
- "constant-time": {
381
- "match": "\\b(seconds|minutes|hours|days|weeks|years)\\b",
382
- "name": "constant.language.time"
383
- },
384
- "constant-currency": {
385
- "match": "\\b(ether|wei|gwei|finney|szabo)\\b",
386
- "name": "constant.language.currency"
387
- },
388
- "number": {
389
- "patterns": [
390
- {
391
- "include": "#number-decimal"
392
- },
393
- {
394
- "include": "#number-hex"
395
- },
396
- {
397
- "include": "#number-scientific"
398
- }
399
- ]
400
- },
401
- "number-decimal": {
402
- "match": "\\b([0-9_]+(\\.[0-9_]+)?)\\b",
403
- "name": "constant.numeric.decimal"
404
- },
405
- "number-hex": {
406
- "match": "\\b(0[xX][a-fA-F0-9]+)\\b",
407
- "name": "constant.numeric.hexadecimal"
408
- },
409
- "number-scientific": {
410
- "match": "\\b(?:0\\.(?:0[0-9]|[0-9][0-9_]?)|[0-9][0-9_]*(?:\\.\\d{1,2})?)(?:e[+-]?[0-9_]+)?",
411
- "name": "constant.numeric.scientific"
412
- },
413
- "string": {
414
- "patterns": [
415
- {
416
- "match": "\\\"(?:\\\\\"|[^\\\"])*\\\"",
417
- "name": "string.quoted.double"
418
- },
419
- {
420
- "match": "\\'(?:\\\\'|[^\\'])*\\'",
421
- "name": "string.quoted.single"
422
- }
423
- ]
424
- },
425
- "primitive": {
426
- "patterns": [
427
- {
428
- "include": "#number-decimal"
429
- },
430
- {
431
- "include": "#number-hex"
432
- },
433
- {
434
- "include": "#number-scientific"
435
- },
436
- {
437
- "include": "#string"
438
- }
439
- ]
440
- },
441
- "type-primitive": {
442
- "patterns": [
443
- {
444
- "begin": "\\b(address|string\\d*|bytes\\d*|int\\d*|uint\\d*|bool|hash\\d*)\\b(?:\\[\\])(\\()",
445
- "beginCaptures": {
446
- "1": {
447
- "name": "support.type.primitive"
448
- }
449
- },
450
- "end": "(\\))",
451
- "patterns": [
452
- {
453
- "include": "#primitive"
454
- },
455
- {
456
- "include": "#punctuation"
457
- },
458
- {
459
- "include": "#global"
460
- },
461
- {
462
- "include": "#variable"
463
- }
464
- ]
465
- },
466
- {
467
- "match": "\\b(address|string\\d*|bytes\\d*|int\\d*|uint\\d*|bool|hash\\d*)\\b",
468
- "name": "support.type.primitive"
469
- }
470
- ]
471
- },
472
- "global": {
473
- "patterns": [
474
- {
475
- "include": "#global-variables"
476
- },
477
- {
478
- "include": "#global-functions"
479
- }
480
- ]
481
- },
482
- "global-variables": {
483
- "patterns": [
484
- {
485
- "match": "\\b(this)\\b",
486
- "name": "variable.language.this"
487
- },
488
- {
489
- "match": "\\b(super)\\b",
490
- "name": "variable.language.super"
491
- },
492
- {
493
- "match": "\\b(abi)\\b",
494
- "name": "variable.language.builtin.abi"
495
- },
496
- {
497
- "match": "\\b(msg\\.sender|msg|block|tx|now)\\b",
498
- "name": "variable.language.transaction"
499
- },
500
- {
501
- "match": "\\b(tx\\.origin|tx\\.gasprice|msg\\.data|msg\\.sig|msg\\.value)\\b",
502
- "name": "variable.language.transaction"
503
- }
504
- ]
505
- },
506
- "global-functions": {
507
- "patterns": [
508
- {
509
- "match": "\\b(require|assert|revert)\\b",
510
- "name": "keyword.control.exceptions"
511
- },
512
- {
513
- "match": "\\b(selfdestruct|suicide)\\b",
514
- "name": "keyword.control.contract"
515
- },
516
- {
517
- "match": "\\b(addmod|mulmod|keccak256|sha256|sha3|ripemd160|ecrecover)\\b",
518
- "name": "support.function.math"
519
- },
520
- {
521
- "match": "\\b(unicode)\\b",
522
- "name": "support.function.string"
523
- },
524
- {
525
- "match": "\\b(blockhash|gasleft)\\b",
526
- "name": "variable.language.transaction"
527
- },
528
- {
529
- "match": "\\b(type)\\b",
530
- "name": "variable.language.type"
531
- }
532
- ]
533
- },
534
- "type-modifier-access": {
535
- "match": "\\b(internal|external|private|public)\\b",
536
- "name": "storage.type.modifier.access"
537
- },
538
- "type-modifier-payable": {
539
- "match": "\\b(nonpayable|payable)\\b",
540
- "name": "storage.type.modifier.payable"
541
- },
542
- "type-modifier-constant": {
543
- "match": "\\b(constant)\\b",
544
- "name": "storage.type.modifier.readonly"
545
- },
546
- "type-modifier-immutable": {
547
- "match": "\\b(immutable)\\b",
548
- "name": "storage.type.modifier.readonly"
549
- },
550
- "type-modifier-extended-scope": {
551
- "match": "\\b(pure|view|inherited|indexed|storage|memory|virtual|calldata|override|abstract)\\b",
552
- "name": "storage.type.modifier.extendedscope"
553
- },
554
- "variable": {
555
- "patterns": [
556
- {
557
- "match": "\\b(\\_\\w+)\\b",
558
- "captures": {
559
- "1": {
560
- "name": "variable.parameter.function"
561
- }
562
- }
563
- },
564
- {
565
- "match": "(?:\\.)(\\w+)\\b",
566
- "captures": {
567
- "1": {
568
- "name": "support.variable.property"
569
- }
570
- }
571
- },
572
- {
573
- "match": "\\b(\\w+)\\b",
574
- "captures": {
575
- "1": {
576
- "name": "variable.parameter.other"
577
- }
578
- }
579
- }
580
- ]
581
- },
582
- "modifier-call": {
583
- "patterns": [
584
- {
585
- "include": "#function-call"
586
- },
587
- {
588
- "match": "\\b(\\w+)\\b",
589
- "name": "entity.name.function.modifier"
590
- }
591
- ]
592
- },
593
- "declaration": {
594
- "patterns": [
595
- {
596
- "include": "#declaration-contract"
597
- },
598
- {
599
- "include": "#declaration-userType"
600
- },
601
- {
602
- "include": "#declaration-interface"
603
- },
604
- {
605
- "include": "#declaration-library"
606
- },
607
- {
608
- "include": "#declaration-function"
609
- },
610
- {
611
- "include": "#declaration-modifier"
612
- },
613
- {
614
- "include": "#declaration-constructor"
615
- },
616
- {
617
- "include": "#declaration-event"
618
- },
619
- {
620
- "include": "#declaration-storage"
621
- },
622
- {
623
- "include": "#declaration-error"
624
- }
625
-
626
- ]
627
- },
628
- "declaration-storage-field": {
629
- "patterns": [
630
- {
631
- "include": "#comment"
632
- },
633
- {
634
- "include": "#control"
635
- },
636
- {
637
- "include": "#type-primitive"
638
- },
639
- {
640
- "include": "#type-modifier-access"
641
- },
642
- {
643
- "include": "#type-modifier-immutable"
644
- },
645
- {
646
- "include": "#type-modifier-extend-scope"
647
- },
648
- {
649
- "include": "#type-modifier-payable"
650
- },
651
- {
652
- "include": "#type-modifier-constant"
653
- },
654
- {
655
- "include": "#primitive"
656
- },
657
- {
658
- "include": "#constant"
659
- },
660
- {
661
- "include": "#operator"
662
- },
663
- {
664
- "include": "#punctuation"
665
- }
666
- ]
667
- },
668
- "declaration-storage": {
669
- "patterns": [
670
- {
671
- "include": "#declaration-storage-mapping"
672
- },
673
- {
674
- "include": "#declaration-struct"
675
- },
676
- {
677
- "include": "#declaration-enum"
678
- },
679
- {
680
- "include": "#declaration-storage-field"
681
- }
682
- ]
683
- },
684
- "declaration-userType": {
685
- "match": "\\b(type)\\b\\s+(\\w+)\\b\\s+\\b(is)\\b",
686
- "captures": {
687
- "1": {
688
- "name": "storage.type.userType"
689
- },
690
- "2": {
691
- "name": "entity.name.type.userType"
692
- },
693
- "3": {
694
- "name": "storage.modifier.is"
695
- }
696
- }
697
- },
698
- "declaration-contract": {
699
- "patterns": [
700
- {
701
- "begin": "\\b(contract)\\b\\s+(\\w+)\\b\\s+\\b(is)\\b\\s+",
702
- "end": "(?=\\{)",
703
- "beginCaptures": {
704
- "1": {
705
- "name": "storage.type.contract"
706
- },
707
- "2": {
708
- "name": "entity.name.type.contract"
709
- },
710
- "3": {
711
- "name": "storage.modifier.is"
712
- }
713
- },
714
- "patterns": [
715
- {
716
- "match": "\\b(\\w+)\\b",
717
- "name": "entity.name.type.contract.extend"
718
- }
719
- ]
720
- },
721
- {
722
- "match": "\\b(contract)(\\s+([A-Za-z_]\\w*))?\\b",
723
- "captures": {
724
- "1": {
725
- "name": "storage.type.contract"
726
- },
727
- "2": {
728
- "name": "entity.name.type.contract"
729
- }
730
- }
731
- }
732
-
733
- ]
734
- },
735
- "declaration-interface": {
736
- "patterns": [
737
- {
738
- "begin": "\\b(interface)\\b\\s+(\\w+)\\b\\s+\\b(is)\\b\\s+",
739
- "end": "(?=\\{)",
740
- "beginCaptures": {
741
- "1": {
742
- "name": "storage.type.interface"
743
- },
744
- "2": {
745
- "name": "entity.name.type.interface"
746
- },
747
- "3": {
748
- "name": "storage.modifier.is"
749
- }
750
- },
751
- "patterns": [
752
- {
753
- "match": "\\b(\\w+)\\b",
754
- "name": "entity.name.type.interface.extend"
755
- }
756
- ]
757
- },
758
- {
759
- "match": "\\b(interface)(\\s+([A-Za-z_]\\w*))?\\b",
760
- "captures": {
761
- "1": {
762
- "name": "storage.type.interface"
763
- },
764
- "2": {
765
- "name": "entity.name.type.interface"
766
- }
767
- }
768
- }
769
-
770
- ]
771
- },
772
- "declaration-library": {
773
- "match": "\\b(library)(\\s+([A-Za-z_]\\w*))?\\b",
774
- "captures": {
775
- "1": {
776
- "name": "storage.type.library"
777
- },
778
- "3": {
779
- "name": "entity.name.type.library"
780
- }
781
- }
782
- },
783
- "declaration-struct": {
784
- "patterns": [
785
- {
786
- "match": "\\b(struct)(\\s+([A-Za-z_]\\w*))?\\b",
787
- "captures": {
788
- "1": {
789
- "name": "storage.type.struct"
790
- },
791
- "3": {
792
- "name": "entity.name.type.struct"
793
- }
794
- }
795
- },
796
- {
797
- "begin": "\\b(struct)\\b\\s*(\\w+)?\\b\\s*(?=\\{)",
798
- "beginCaptures": {
799
- "1": {
800
- "name": "storage.type.struct"
801
- },
802
- "2": {
803
- "name": "entity.name.type.struct"
804
- }
805
- },
806
- "end": "(?=\\})",
807
- "patterns": [
808
- {
809
- "include": "#type-primitive"
810
- },
811
- {
812
- "include": "#variable"
813
- },
814
- {
815
- "include": "#punctuation"
816
- },
817
- {
818
- "include": "#comment"
819
- }
820
- ]
821
- }
822
- ]
823
- },
824
- "declaration-event": {
825
- "patterns": [
826
- {
827
- "begin": "\\b(event)\\b(?:\\s+(\\w+)\\b)?",
828
- "end": "(?=\\))",
829
- "beginCaptures": {
830
- "1": {
831
- "name": "storage.type.event"
832
- },
833
- "2": {
834
- "name": "entity.name.type.event"
835
- }
836
- },
837
- "patterns": [
838
- {
839
- "include": "#type-primitive"
840
- },
841
- {
842
- "match": "\\b(?:(indexed)\\s)?(\\w+)(?:,\\s*|)",
843
- "captures": {
844
- "1": {
845
- "name": "storage.type.modifier.indexed"
846
- },
847
- "2": {
848
- "name": "variable.parameter.event"
849
- }
850
- }
851
- },
852
- {
853
- "include": "#punctuation"
854
- }
855
- ]
856
- },
857
- {
858
- "match": "\\b(event)(\\s+([A-Za-z_]\\w*))?\\b",
859
- "captures": {
860
- "1": {
861
- "name": "storage.type.event"
862
- },
863
- "3": {
864
- "name": "entity.name.type.event"
865
- }
866
- }
867
- }
868
- ]
869
- },
870
- "declaration-constructor": {
871
- "patterns": [
872
- {
873
- "begin": "\\b(constructor)\\b",
874
- "beginCaptures": {
875
- "1": {
876
- "name": "storage.type.constructor"
877
- }
878
- },
879
- "end": "(?=\\{)",
880
- "patterns": [
881
- {
882
- "begin": "\\G\\s*(?=\\()",
883
- "end": "(?=\\))",
884
- "patterns": [
885
- {
886
- "include": "#declaration-function-parameters"
887
- }
888
- ]
889
- },
890
- {
891
- "begin": "(?<=\\))",
892
- "end": "(?=\\{)",
893
- "patterns": [
894
- {
895
- "include": "#type-modifier-access"
896
- },
897
- {
898
- "include": "#function-call"
899
- }
900
- ]
901
- }
902
- ]
903
- },
904
- {
905
- "match": "\\b(constructor)\\b",
906
- "captures": {
907
- "1": {
908
- "name": "storage.type.constructor"
909
- }
910
- }
911
- }
912
- ]
913
- },
914
- "declaration-enum": {
915
- "patterns": [
916
- {
917
- "begin": "\\b(enum)\\s+(\\w+)\\b",
918
- "beginCaptures": {
919
- "1": {
920
- "name": "storage.type.enum"
921
- },
922
- "2": {
923
- "name": "entity.name.type.enum"
924
- }
925
- },
926
- "end": "(?=\\})",
927
- "patterns": [
928
- {
929
- "match": "\\b(\\w+)\\b",
930
- "name": "variable.other.enummember"
931
- },
932
- {
933
- "include": "#punctuation"
934
- },
935
- {
936
- "include": "#comment"
937
- }
938
- ]
939
- },
940
- {
941
- "match": "\\b(enum)(\\s+([A-Za-z_]\\w*))?\\b",
942
- "captures": {
943
- "1": {
944
- "name": "storage.type.enum"
945
- },
946
- "3": {
947
- "name": "entity.name.type.enum"
948
- }
949
- }
950
- }
951
- ]
952
- },
953
- "declaration-function-parameters": {
954
- "begin": "\\G\\s*(?=\\()",
955
- "end": "(?=\\))",
956
- "patterns": [
957
- {
958
- "include": "#type-primitive"
959
- },
960
- {
961
- "include": "#type-modifier-extended-scope"
962
- },
963
- {
964
- "match": "\\b([A-Z]\\w*)\\b",
965
- "captures": {
966
- "1": {
967
- "name": "storage.type.struct"
968
- }
969
- }
970
- },
971
- {
972
- "include": "#variable"
973
- },
974
- {
975
- "include": "#punctuation"
976
- },
977
- {
978
- "include": "#comment"
979
- }
980
- ]
981
- },
982
- "declaration-function": {
983
- "patterns": [
984
- {
985
- "begin": "\\b(function)\\s+(\\w+)\\b",
986
- "beginCaptures": {
987
- "1": {
988
- "name": "storage.type.function"
989
- },
990
- "2": {
991
- "name": "entity.name.function"
992
- }
993
- },
994
- "end": "(?=\\{|;)",
995
- "patterns": [
996
- {
997
- "include": "#natspec"
998
- },
999
- {
1000
- "include": "#global"
1001
- },
1002
- {
1003
- "include": "#declaration-function-parameters"
1004
- },
1005
- {
1006
- "include": "#type-modifier-access"
1007
- },
1008
- {
1009
- "include": "#type-modifier-payable"
1010
- },
1011
- {
1012
- "include": "#type-modifier-immutable"
1013
- },
1014
- {
1015
- "include": "#type-modifier-extended-scope"
1016
- },
1017
- {
1018
- "include": "#control-flow"
1019
- },
1020
- {
1021
- "include": "#function-call"
1022
- },
1023
- {
1024
- "include": "#modifier-call"
1025
- },
1026
- {
1027
- "include": "#punctuation"
1028
- }
1029
- ]
1030
- },
1031
- {
1032
- "match": "\\b(function)\\s+([A-Za-z_]\\w*)\\b",
1033
- "captures": {
1034
- "1": {
1035
- "name": "storage.type.function"
1036
- },
1037
- "2": {
1038
- "name": "entity.name.function"
1039
- }
1040
- }
1041
- }
1042
- ]
1043
- },
1044
- "declaration-modifier": {
1045
- "patterns": [
1046
- {
1047
- "begin": "\\b(modifier)\\b\\s*(\\w+)",
1048
- "beginCaptures": {
1049
- "1": {
1050
- "name": "storage.type.function.modifier"
1051
- },
1052
- "2": {
1053
- "name": "entity.name.function.modifier"
1054
- }
1055
- },
1056
- "end": "(?=\\{)",
1057
- "patterns": [
1058
- {
1059
- "include": "#declaration-function-parameters"
1060
- },
1061
- {
1062
- "begin": "(?<=\\))",
1063
- "end": "(?=\\{)",
1064
- "patterns": [
1065
- {
1066
- "include": "#declaration-function-parameters"
1067
- },
1068
- {
1069
- "include": "#type-modifier-access"
1070
- },
1071
- {
1072
- "include": "#type-modifier-payable"
1073
- },
1074
- {
1075
- "include": "#type-modifier-immutable"
1076
- },
1077
- {
1078
- "include": "#type-modifier-extended-scope"
1079
- },
1080
- {
1081
- "include": "#function-call"
1082
- },
1083
- {
1084
- "include": "#modifier-call"
1085
- },
1086
- {
1087
- "include": "#control-flow"
1088
- }
1089
- ]
1090
- }
1091
- ]
1092
- },
1093
- {
1094
- "match": "\\b(modifier)(\\s+([A-Za-z_]\\w*))?\\b",
1095
- "captures": {
1096
- "1": {
1097
- "name": "storage.type.modifier"
1098
- },
1099
- "3": {
1100
- "name": "entity.name.function"
1101
- }
1102
- }
1103
- }
1104
- ]
1105
- },
1106
- "declaration-storage-mapping": {
1107
- "patterns": [
1108
- {
1109
- "begin": "\\b(mapping)\\b",
1110
- "beginCaptures": {
1111
- "1": {
1112
- "name": "storage.type.mapping"
1113
- }
1114
- },
1115
- "end": "(?=\\))",
1116
- "patterns": [
1117
- {
1118
- "include": "#declaration-storage-mapping"
1119
- },
1120
- {
1121
- "include": "#type-primitive"
1122
- },
1123
- {
1124
- "include": "#punctuation"
1125
- },
1126
- {
1127
- "include": "#operator"
1128
- }
1129
- ]
1130
- },
1131
- {
1132
- "match": "\\b(mapping)\\b",
1133
- "name": "storage.type.mapping"
1134
- }
1135
- ]
1136
- },
1137
- "declaration-error": {
1138
- "match": "\\b(error)(\\s+([A-Za-z_]\\w*))?\\b",
1139
- "captures": {
1140
- "1": {
1141
- "name": "storage.type.error"
1142
- },
1143
- "3": {
1144
- "name": "entity.name.type.error"
1145
- }
1146
- }
1147
- },
1148
- "function-call": {
1149
- "match": "\\b([A-Za-z_]\\w*)\\s*(\\()",
1150
- "captures": {
1151
- "1": {
1152
- "name": "entity.name.function"
1153
- },
1154
- "2": {
1155
- "name": "punctuation.parameters.begin"
1156
- }
1157
- }
1158
- },
1159
- "assembly": {
1160
- "patterns": [
1161
- {
1162
- "match": "\\b(assembly)\\b",
1163
- "name": "keyword.control.assembly"
1164
- },
1165
- {
1166
- "match": "\\b(let)\\b",
1167
- "name": "storage.type.assembly"
1168
- }
1169
- ]
1170
- },
1171
- "punctuation": {
1172
- "patterns": [
1173
- {
1174
- "match": ";",
1175
- "name": "punctuation.terminator.statement"
1176
- },
1177
- {
1178
- "match": "\\.",
1179
- "name": "punctuation.accessor"
1180
- },
1181
- {
1182
- "match": ",",
1183
- "name": "punctuation.separator"
1184
- },
1185
- {
1186
- "match": "\\{",
1187
- "name": "punctuation.brace.curly.begin"
1188
- },
1189
- {
1190
- "match": "\\}",
1191
- "name": "punctuation.brace.curly.end"
1192
- },
1193
- {
1194
- "match": "\\[",
1195
- "name": "punctuation.brace.square.begin"
1196
- },
1197
- {
1198
- "match": "\\]",
1199
- "name": "punctuation.brace.square.end"
1200
- },
1201
- {
1202
- "match": "\\(",
1203
- "name": "punctuation.parameters.begin"
1204
- },
1205
- {
1206
- "match": "\\)",
1207
- "name": "punctuation.parameters.end"
1208
- }
1209
- ]
1210
- }
1211
- },
1212
- "scopeName": "source.solidity",
1213
- "uuid": "ad87d2cd-8575-4afe-984e-9421a3788933"
1214
-
1215
- }
1
+ {
2
+ "fileTypes": [
3
+ "sol"
4
+ ],
5
+ "name": "Solidity",
6
+ "patterns": [
7
+ {
8
+ "include": "#natspec"
9
+ },
10
+ {
11
+ "include": "#declaration-userType"
12
+ },
13
+ {
14
+ "include": "#comment"
15
+ },
16
+ {
17
+ "include": "#operator"
18
+ },
19
+ {
20
+ "include": "#global"
21
+ },
22
+ {
23
+ "include": "#control"
24
+ },
25
+ {
26
+ "include": "#constant"
27
+ },
28
+ {
29
+ "include": "#primitive"
30
+ },
31
+ {
32
+ "include": "#type-primitive"
33
+ },
34
+ {
35
+ "include": "#type-modifier-extended-scope"
36
+ },
37
+ {
38
+ "include": "#declaration"
39
+ },
40
+ {
41
+ "include": "#function-call"
42
+ },
43
+ {
44
+ "include": "#assembly"
45
+ },
46
+ {
47
+ "include": "#punctuation"
48
+ }
49
+ ],
50
+ "repository": {
51
+ "natspec": {
52
+ "patterns": [
53
+ {
54
+ "begin": "/\\*\\*",
55
+ "end": "\\*/",
56
+ "name": "comment.block.documentation",
57
+ "patterns": [
58
+ {
59
+ "include": "#natspec-tags"
60
+ }
61
+ ]
62
+ },
63
+ {
64
+ "begin": "///",
65
+ "end": "$",
66
+ "name": "comment.block.documentation",
67
+ "patterns": [
68
+ {
69
+ "include": "#natspec-tags"
70
+ }
71
+ ]
72
+ }
73
+ ]
74
+ },
75
+ "natspec-tags": {
76
+ "patterns": [
77
+ {
78
+ "include": "#comment-todo"
79
+ },
80
+ {
81
+ "include": "#natspec-tag-title"
82
+ },
83
+ {
84
+ "include": "#natspec-tag-author"
85
+ },
86
+ {
87
+ "include": "#natspec-tag-notice"
88
+ },
89
+ {
90
+ "include": "#natspec-tag-dev"
91
+ },
92
+ {
93
+ "include": "#natspec-tag-param"
94
+ },
95
+ {
96
+ "include": "#natspec-tag-return"
97
+ },
98
+ {
99
+ "include": "#natspec-tag-custom"
100
+ },
101
+ {
102
+ "include": "#natspec-tag-inheritdoc"
103
+ }
104
+ ]
105
+ },
106
+ "natspec-tag-title": {
107
+ "match": "(@title)\\b",
108
+ "name": "storage.type.title.natspec"
109
+ },
110
+
111
+ "natspec-tag-author": {
112
+ "match": "(@author)\\b",
113
+ "name": "storage.type.author.natspec"
114
+ },
115
+ "natspec-tag-notice": {
116
+ "match": "(@notice)\\b",
117
+ "name": "storage.type.dev.natspec"
118
+ },
119
+ "natspec-tag-custom": {
120
+ "match": "(@custom:\\w*)\\b",
121
+ "name": "storage.type.dev.natspec"
122
+ },
123
+ "natspec-tag-inheritdoc": {
124
+ "match": "(@inheritdoc)\\b",
125
+ "name": "storage.type.author.natspec"
126
+ },
127
+ "natspec-tag-dev": {
128
+ "match": "(@dev)\\b",
129
+ "name": "storage.type.dev.natspec"
130
+ },
131
+ "natspec-tag-param": {
132
+ "match": "(@param)(\\s+([A-Za-z_]\\w*))?\\b",
133
+ "captures": {
134
+ "1": {
135
+ "name": "storage.type.param.natspec"
136
+ },
137
+ "3": {
138
+ "name": "variable.other.natspec"
139
+ }
140
+ }
141
+ },
142
+ "natspec-tag-return": {
143
+ "match": "(@return)(\\s+([A-Za-z_]\\w*))?\\b",
144
+ "captures": {
145
+ "1": {
146
+ "name": "storage.type.return.natspec"
147
+ },
148
+ "3": {
149
+ "name": "variable.other.natspec"
150
+ }
151
+ }
152
+ },
153
+ "comment": {
154
+ "patterns": [
155
+ {
156
+ "include": "#comment-line"
157
+ },
158
+ {
159
+ "include": "#comment-block"
160
+ }
161
+ ]
162
+ },
163
+ "comment-todo": {
164
+ "match": "(?i)\\b(FIXME|TODO|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|SUPPRESS|LINT|\\w+-disable|\\w+-suppress)\\b(?-i)",
165
+ "name": "keyword.comment.todo"
166
+ },
167
+ "comment-line": {
168
+ "begin": "(?<!tp:)//",
169
+ "end": "$",
170
+ "name": "comment.line",
171
+ "patterns": [
172
+ {
173
+ "include": "#comment-todo"
174
+ }
175
+ ]
176
+ },
177
+ "comment-block": {
178
+ "begin": "/\\*",
179
+ "end": "\\*/",
180
+ "name": "comment.block",
181
+ "patterns": [
182
+ {
183
+ "include": "#comment-todo"
184
+ }
185
+ ]
186
+ },
187
+ "operator": {
188
+ "patterns": [
189
+ {
190
+ "include": "#operator-logic"
191
+ },
192
+ {
193
+ "include": "#operator-mapping"
194
+ },
195
+ {
196
+ "include": "#operator-arithmetic"
197
+ },
198
+ {
199
+ "include": "#operator-binary"
200
+ },
201
+ {
202
+ "include": "#operator-assignment"
203
+ }
204
+ ]
205
+ },
206
+ "operator-logic": {
207
+ "match": "(==|\\!=|<(?!<)|<=|>(?!>)|>=|\\&\\&|\\|\\||\\:(?!=)|\\?|\\!)",
208
+ "name": "keyword.operator.logic"
209
+ },
210
+ "operator-mapping": {
211
+ "match": "(=>)",
212
+ "name": "keyword.operator.mapping"
213
+ },
214
+ "operator-arithmetic": {
215
+ "match": "(\\+|\\-|\\/|\\*)",
216
+ "name": "keyword.operator.arithmetic"
217
+ },
218
+ "operator-binary": {
219
+ "match": "(\\^|\\&|\\||<<|>>)",
220
+ "name": "keyword.operator.binary"
221
+ },
222
+ "operator-assignment": {
223
+ "match": "(\\:?=)",
224
+ "name": "keyword.operator.assignment"
225
+ },
226
+ "control": {
227
+ "patterns": [
228
+ {
229
+ "include": "#control-flow"
230
+ },
231
+ {
232
+ "include": "#control-using"
233
+ },
234
+ {
235
+ "include": "#control-import"
236
+ },
237
+ {
238
+ "include": "#control-pragma"
239
+ },
240
+ {
241
+ "include": "#control-underscore"
242
+ },
243
+ {
244
+ "include": "#control-unchecked"
245
+ },
246
+ {
247
+ "include": "#control-other"
248
+ }
249
+ ]
250
+ },
251
+ "control-flow": {
252
+ "patterns": [
253
+ {
254
+ "match": "\\b(if|else|for|while|do|break|continue|try|catch|finally|throw|return|global)\\b",
255
+ "name": "keyword.control.flow"
256
+ },
257
+ {
258
+ "begin": "\\b(returns)\\b",
259
+ "beginCaptures": {
260
+ "1": {
261
+ "name": "keyword.control.flow.return"
262
+ }
263
+ },
264
+ "end": "(?=\\))",
265
+ "patterns": [
266
+ {
267
+ "include": "#declaration-function-parameters"
268
+ }
269
+ ]
270
+ }
271
+ ]
272
+ },
273
+ "control-using": {
274
+ "patterns": [
275
+ {
276
+ "match": "\\b(using)\\b\\s+\\b([A-Za-z\\d_]+)\\b\\s+\\b(for)\\b\\s+\\b([A-Za-z\\d_]+)",
277
+ "captures": {
278
+ "1": {
279
+ "name": "keyword.control.using"
280
+ },
281
+ "2": {
282
+ "name": "entity.name.type.library"
283
+ },
284
+ "3": {
285
+ "name": "keyword.control.for"
286
+ },
287
+ "4": {
288
+ "name": "entity.name.type"
289
+ }
290
+ }
291
+ },
292
+ {
293
+ "match": "\\b(using)\\b",
294
+ "name": "keyword.control.using"
295
+ }
296
+ ]
297
+ },
298
+ "control-import": {
299
+ "patterns": [
300
+ {
301
+ "begin": "\\b(import)\\b",
302
+ "beginCaptures": {
303
+ "1": {
304
+ "name": "keyword.control.import"
305
+ }
306
+ },
307
+ "end": "(?=\\;)",
308
+ "patterns": [
309
+ {
310
+ "begin": "((?=\\{))",
311
+ "end": "((?=\\}))",
312
+ "patterns": [
313
+ {
314
+ "match": "\\b(\\w+)\\b",
315
+ "name": "entity.name.type.interface"
316
+ }
317
+ ]
318
+ },
319
+ {
320
+ "match": "\\b(from)\\b",
321
+ "name": "keyword.control.import.from"
322
+ },
323
+ {
324
+ "include": "#string"
325
+ },
326
+ {
327
+ "include": "#punctuation"
328
+ }
329
+ ]
330
+ },
331
+ {
332
+ "match": "\\b(import)\\b",
333
+ "name": "keyword.control.import"
334
+ }
335
+ ]
336
+ },
337
+ "control-unchecked": {
338
+ "match": "\\b(unchecked)\\b",
339
+ "name": "keyword.control.unchecked"
340
+ },
341
+ "control-pragma": {
342
+ "match": "\\b(pragma)(?:\\s+([A-Za-z_]\\w+)\\s+([^\\s]+))?\\b",
343
+ "captures": {
344
+ "1": {
345
+ "name": "keyword.control.pragma"
346
+ },
347
+ "2": {
348
+ "name": "entity.name.tag.pragma"
349
+ },
350
+ "3": {
351
+ "name": "constant.other.pragma"
352
+ }
353
+ }
354
+ },
355
+ "control-underscore": {
356
+ "match": "\\b(_)\\b",
357
+ "name": "constant.other.underscore"
358
+ },
359
+ "control-other": {
360
+ "match": "\\b(new|delete|emit)\\b",
361
+ "name": "keyword.control"
362
+ },
363
+ "constant": {
364
+ "patterns": [
365
+ {
366
+ "include": "#constant-boolean"
367
+ },
368
+ {
369
+ "include": "#constant-time"
370
+ },
371
+ {
372
+ "include": "#constant-currency"
373
+ }
374
+ ]
375
+ },
376
+ "constant-boolean": {
377
+ "match": "\\b(true|false)\\b",
378
+ "name": "constant.language.boolean"
379
+ },
380
+ "constant-time": {
381
+ "match": "\\b(seconds|minutes|hours|days|weeks|years)\\b",
382
+ "name": "constant.language.time"
383
+ },
384
+ "constant-currency": {
385
+ "match": "\\b(ether|wei|gwei|finney|szabo)\\b",
386
+ "name": "constant.language.currency"
387
+ },
388
+ "number": {
389
+ "patterns": [
390
+ {
391
+ "include": "#number-decimal"
392
+ },
393
+ {
394
+ "include": "#number-hex"
395
+ },
396
+ {
397
+ "include": "#number-scientific"
398
+ }
399
+ ]
400
+ },
401
+ "number-decimal": {
402
+ "match": "\\b([0-9_]+(\\.[0-9_]+)?)\\b",
403
+ "name": "constant.numeric.decimal"
404
+ },
405
+ "number-hex": {
406
+ "match": "\\b(0[xX][a-fA-F0-9]+)\\b",
407
+ "name": "constant.numeric.hexadecimal"
408
+ },
409
+ "number-scientific": {
410
+ "match": "\\b(?:0\\.(?:0[0-9]|[0-9][0-9_]?)|[0-9][0-9_]*(?:\\.\\d{1,2})?)(?:e[+-]?[0-9_]+)?",
411
+ "name": "constant.numeric.scientific"
412
+ },
413
+ "string": {
414
+ "patterns": [
415
+ {
416
+ "match": "\\\"(?:\\\\\"|[^\\\"])*\\\"",
417
+ "name": "string.quoted.double"
418
+ },
419
+ {
420
+ "match": "\\'(?:\\\\'|[^\\'])*\\'",
421
+ "name": "string.quoted.single"
422
+ }
423
+ ]
424
+ },
425
+ "primitive": {
426
+ "patterns": [
427
+ {
428
+ "include": "#number-decimal"
429
+ },
430
+ {
431
+ "include": "#number-hex"
432
+ },
433
+ {
434
+ "include": "#number-scientific"
435
+ },
436
+ {
437
+ "include": "#string"
438
+ }
439
+ ]
440
+ },
441
+ "type-primitive": {
442
+ "patterns": [
443
+ {
444
+ "begin": "\\b(address|string\\d*|bytes\\d*|int\\d*|uint\\d*|bool|hash\\d*)\\b(?:\\[\\])(\\()",
445
+ "beginCaptures": {
446
+ "1": {
447
+ "name": "support.type.primitive"
448
+ }
449
+ },
450
+ "end": "(\\))",
451
+ "patterns": [
452
+ {
453
+ "include": "#primitive"
454
+ },
455
+ {
456
+ "include": "#punctuation"
457
+ },
458
+ {
459
+ "include": "#global"
460
+ },
461
+ {
462
+ "include": "#variable"
463
+ }
464
+ ]
465
+ },
466
+ {
467
+ "match": "\\b(address|string\\d*|bytes\\d*|int\\d*|uint\\d*|bool|hash\\d*)\\b",
468
+ "name": "support.type.primitive"
469
+ }
470
+ ]
471
+ },
472
+ "global": {
473
+ "patterns": [
474
+ {
475
+ "include": "#global-variables"
476
+ },
477
+ {
478
+ "include": "#global-functions"
479
+ }
480
+ ]
481
+ },
482
+ "global-variables": {
483
+ "patterns": [
484
+ {
485
+ "match": "\\b(this)\\b",
486
+ "name": "variable.language.this"
487
+ },
488
+ {
489
+ "match": "\\b(super)\\b",
490
+ "name": "variable.language.super"
491
+ },
492
+ {
493
+ "match": "\\b(abi)\\b",
494
+ "name": "variable.language.builtin.abi"
495
+ },
496
+ {
497
+ "match": "\\b(msg\\.sender|msg|block|tx|now)\\b",
498
+ "name": "variable.language.transaction"
499
+ },
500
+ {
501
+ "match": "\\b(tx\\.origin|tx\\.gasprice|msg\\.data|msg\\.sig|msg\\.value)\\b",
502
+ "name": "variable.language.transaction"
503
+ }
504
+ ]
505
+ },
506
+ "global-functions": {
507
+ "patterns": [
508
+ {
509
+ "match": "\\b(require|assert|revert)\\b",
510
+ "name": "keyword.control.exceptions"
511
+ },
512
+ {
513
+ "match": "\\b(selfdestruct|suicide)\\b",
514
+ "name": "keyword.control.contract"
515
+ },
516
+ {
517
+ "match": "\\b(addmod|mulmod|keccak256|sha256|sha3|ripemd160|ecrecover)\\b",
518
+ "name": "support.function.math"
519
+ },
520
+ {
521
+ "match": "\\b(unicode)\\b",
522
+ "name": "support.function.string"
523
+ },
524
+ {
525
+ "match": "\\b(blockhash|gasleft)\\b",
526
+ "name": "variable.language.transaction"
527
+ },
528
+ {
529
+ "match": "\\b(type)\\b",
530
+ "name": "variable.language.type"
531
+ }
532
+ ]
533
+ },
534
+ "type-modifier-access": {
535
+ "match": "\\b(internal|external|private|public)\\b",
536
+ "name": "storage.type.modifier.access"
537
+ },
538
+ "type-modifier-payable": {
539
+ "match": "\\b(nonpayable|payable)\\b",
540
+ "name": "storage.type.modifier.payable"
541
+ },
542
+ "type-modifier-constant": {
543
+ "match": "\\b(constant)\\b",
544
+ "name": "storage.type.modifier.readonly"
545
+ },
546
+ "type-modifier-immutable": {
547
+ "match": "\\b(immutable)\\b",
548
+ "name": "storage.type.modifier.readonly"
549
+ },
550
+ "type-modifier-extended-scope": {
551
+ "match": "\\b(pure|view|inherited|indexed|storage|memory|virtual|calldata|override|abstract)\\b",
552
+ "name": "storage.type.modifier.extendedscope"
553
+ },
554
+ "variable": {
555
+ "patterns": [
556
+ {
557
+ "match": "\\b(\\_\\w+)\\b",
558
+ "captures": {
559
+ "1": {
560
+ "name": "variable.parameter.function"
561
+ }
562
+ }
563
+ },
564
+ {
565
+ "match": "(?:\\.)(\\w+)\\b",
566
+ "captures": {
567
+ "1": {
568
+ "name": "support.variable.property"
569
+ }
570
+ }
571
+ },
572
+ {
573
+ "match": "\\b(\\w+)\\b",
574
+ "captures": {
575
+ "1": {
576
+ "name": "variable.parameter.other"
577
+ }
578
+ }
579
+ }
580
+ ]
581
+ },
582
+ "modifier-call": {
583
+ "patterns": [
584
+ {
585
+ "include": "#function-call"
586
+ },
587
+ {
588
+ "match": "\\b(\\w+)\\b",
589
+ "name": "entity.name.function.modifier"
590
+ }
591
+ ]
592
+ },
593
+ "declaration": {
594
+ "patterns": [
595
+ {
596
+ "include": "#declaration-contract"
597
+ },
598
+ {
599
+ "include": "#declaration-userType"
600
+ },
601
+ {
602
+ "include": "#declaration-interface"
603
+ },
604
+ {
605
+ "include": "#declaration-library"
606
+ },
607
+ {
608
+ "include": "#declaration-function"
609
+ },
610
+ {
611
+ "include": "#declaration-modifier"
612
+ },
613
+ {
614
+ "include": "#declaration-constructor"
615
+ },
616
+ {
617
+ "include": "#declaration-event"
618
+ },
619
+ {
620
+ "include": "#declaration-storage"
621
+ },
622
+ {
623
+ "include": "#declaration-error"
624
+ }
625
+
626
+ ]
627
+ },
628
+ "declaration-storage-field": {
629
+ "patterns": [
630
+ {
631
+ "include": "#comment"
632
+ },
633
+ {
634
+ "include": "#control"
635
+ },
636
+ {
637
+ "include": "#type-primitive"
638
+ },
639
+ {
640
+ "include": "#type-modifier-access"
641
+ },
642
+ {
643
+ "include": "#type-modifier-immutable"
644
+ },
645
+ {
646
+ "include": "#type-modifier-extend-scope"
647
+ },
648
+ {
649
+ "include": "#type-modifier-payable"
650
+ },
651
+ {
652
+ "include": "#type-modifier-constant"
653
+ },
654
+ {
655
+ "include": "#primitive"
656
+ },
657
+ {
658
+ "include": "#constant"
659
+ },
660
+ {
661
+ "include": "#operator"
662
+ },
663
+ {
664
+ "include": "#punctuation"
665
+ }
666
+ ]
667
+ },
668
+ "declaration-storage": {
669
+ "patterns": [
670
+ {
671
+ "include": "#declaration-storage-mapping"
672
+ },
673
+ {
674
+ "include": "#declaration-struct"
675
+ },
676
+ {
677
+ "include": "#declaration-enum"
678
+ },
679
+ {
680
+ "include": "#declaration-storage-field"
681
+ }
682
+ ]
683
+ },
684
+ "declaration-userType": {
685
+ "match": "\\b(type)\\b\\s+(\\w+)\\b\\s+\\b(is)\\b",
686
+ "captures": {
687
+ "1": {
688
+ "name": "storage.type.userType"
689
+ },
690
+ "2": {
691
+ "name": "entity.name.type.userType"
692
+ },
693
+ "3": {
694
+ "name": "storage.modifier.is"
695
+ }
696
+ }
697
+ },
698
+ "declaration-contract": {
699
+ "patterns": [
700
+ {
701
+ "begin": "\\b(contract)\\b\\s+(\\w+)\\b\\s+\\b(is)\\b\\s+",
702
+ "end": "(?=\\{)",
703
+ "beginCaptures": {
704
+ "1": {
705
+ "name": "storage.type.contract"
706
+ },
707
+ "2": {
708
+ "name": "entity.name.type.contract"
709
+ },
710
+ "3": {
711
+ "name": "storage.modifier.is"
712
+ }
713
+ },
714
+ "patterns": [
715
+ {
716
+ "match": "\\b(\\w+)\\b",
717
+ "name": "entity.name.type.contract.extend"
718
+ }
719
+ ]
720
+ },
721
+ {
722
+ "match": "\\b(contract)(\\s+([A-Za-z_]\\w*))?\\b",
723
+ "captures": {
724
+ "1": {
725
+ "name": "storage.type.contract"
726
+ },
727
+ "2": {
728
+ "name": "entity.name.type.contract"
729
+ }
730
+ }
731
+ }
732
+
733
+ ]
734
+ },
735
+ "declaration-interface": {
736
+ "patterns": [
737
+ {
738
+ "begin": "\\b(interface)\\b\\s+(\\w+)\\b\\s+\\b(is)\\b\\s+",
739
+ "end": "(?=\\{)",
740
+ "beginCaptures": {
741
+ "1": {
742
+ "name": "storage.type.interface"
743
+ },
744
+ "2": {
745
+ "name": "entity.name.type.interface"
746
+ },
747
+ "3": {
748
+ "name": "storage.modifier.is"
749
+ }
750
+ },
751
+ "patterns": [
752
+ {
753
+ "match": "\\b(\\w+)\\b",
754
+ "name": "entity.name.type.interface.extend"
755
+ }
756
+ ]
757
+ },
758
+ {
759
+ "match": "\\b(interface)(\\s+([A-Za-z_]\\w*))?\\b",
760
+ "captures": {
761
+ "1": {
762
+ "name": "storage.type.interface"
763
+ },
764
+ "2": {
765
+ "name": "entity.name.type.interface"
766
+ }
767
+ }
768
+ }
769
+
770
+ ]
771
+ },
772
+ "declaration-library": {
773
+ "match": "\\b(library)(\\s+([A-Za-z_]\\w*))?\\b",
774
+ "captures": {
775
+ "1": {
776
+ "name": "storage.type.library"
777
+ },
778
+ "3": {
779
+ "name": "entity.name.type.library"
780
+ }
781
+ }
782
+ },
783
+ "declaration-struct": {
784
+ "patterns": [
785
+ {
786
+ "match": "\\b(struct)(\\s+([A-Za-z_]\\w*))?\\b",
787
+ "captures": {
788
+ "1": {
789
+ "name": "storage.type.struct"
790
+ },
791
+ "3": {
792
+ "name": "entity.name.type.struct"
793
+ }
794
+ }
795
+ },
796
+ {
797
+ "begin": "\\b(struct)\\b\\s*(\\w+)?\\b\\s*(?=\\{)",
798
+ "beginCaptures": {
799
+ "1": {
800
+ "name": "storage.type.struct"
801
+ },
802
+ "2": {
803
+ "name": "entity.name.type.struct"
804
+ }
805
+ },
806
+ "end": "(?=\\})",
807
+ "patterns": [
808
+ {
809
+ "include": "#type-primitive"
810
+ },
811
+ {
812
+ "include": "#variable"
813
+ },
814
+ {
815
+ "include": "#punctuation"
816
+ },
817
+ {
818
+ "include": "#comment"
819
+ }
820
+ ]
821
+ }
822
+ ]
823
+ },
824
+ "declaration-event": {
825
+ "patterns": [
826
+ {
827
+ "begin": "\\b(event)\\b(?:\\s+(\\w+)\\b)?",
828
+ "end": "(?=\\))",
829
+ "beginCaptures": {
830
+ "1": {
831
+ "name": "storage.type.event"
832
+ },
833
+ "2": {
834
+ "name": "entity.name.type.event"
835
+ }
836
+ },
837
+ "patterns": [
838
+ {
839
+ "include": "#type-primitive"
840
+ },
841
+ {
842
+ "match": "\\b(?:(indexed)\\s)?(\\w+)(?:,\\s*|)",
843
+ "captures": {
844
+ "1": {
845
+ "name": "storage.type.modifier.indexed"
846
+ },
847
+ "2": {
848
+ "name": "variable.parameter.event"
849
+ }
850
+ }
851
+ },
852
+ {
853
+ "include": "#punctuation"
854
+ }
855
+ ]
856
+ },
857
+ {
858
+ "match": "\\b(event)(\\s+([A-Za-z_]\\w*))?\\b",
859
+ "captures": {
860
+ "1": {
861
+ "name": "storage.type.event"
862
+ },
863
+ "3": {
864
+ "name": "entity.name.type.event"
865
+ }
866
+ }
867
+ }
868
+ ]
869
+ },
870
+ "declaration-constructor": {
871
+ "patterns": [
872
+ {
873
+ "begin": "\\b(constructor)\\b",
874
+ "beginCaptures": {
875
+ "1": {
876
+ "name": "storage.type.constructor"
877
+ }
878
+ },
879
+ "end": "(?=\\{)",
880
+ "patterns": [
881
+ {
882
+ "begin": "\\G\\s*(?=\\()",
883
+ "end": "(?=\\))",
884
+ "patterns": [
885
+ {
886
+ "include": "#declaration-function-parameters"
887
+ }
888
+ ]
889
+ },
890
+ {
891
+ "begin": "(?<=\\))",
892
+ "end": "(?=\\{)",
893
+ "patterns": [
894
+ {
895
+ "include": "#type-modifier-access"
896
+ },
897
+ {
898
+ "include": "#function-call"
899
+ }
900
+ ]
901
+ }
902
+ ]
903
+ },
904
+ {
905
+ "match": "\\b(constructor)\\b",
906
+ "captures": {
907
+ "1": {
908
+ "name": "storage.type.constructor"
909
+ }
910
+ }
911
+ }
912
+ ]
913
+ },
914
+ "declaration-enum": {
915
+ "patterns": [
916
+ {
917
+ "begin": "\\b(enum)\\s+(\\w+)\\b",
918
+ "beginCaptures": {
919
+ "1": {
920
+ "name": "storage.type.enum"
921
+ },
922
+ "2": {
923
+ "name": "entity.name.type.enum"
924
+ }
925
+ },
926
+ "end": "(?=\\})",
927
+ "patterns": [
928
+ {
929
+ "match": "\\b(\\w+)\\b",
930
+ "name": "variable.other.enummember"
931
+ },
932
+ {
933
+ "include": "#punctuation"
934
+ },
935
+ {
936
+ "include": "#comment"
937
+ }
938
+ ]
939
+ },
940
+ {
941
+ "match": "\\b(enum)(\\s+([A-Za-z_]\\w*))?\\b",
942
+ "captures": {
943
+ "1": {
944
+ "name": "storage.type.enum"
945
+ },
946
+ "3": {
947
+ "name": "entity.name.type.enum"
948
+ }
949
+ }
950
+ }
951
+ ]
952
+ },
953
+ "declaration-function-parameters": {
954
+ "begin": "\\G\\s*(?=\\()",
955
+ "end": "(?=\\))",
956
+ "patterns": [
957
+ {
958
+ "include": "#type-primitive"
959
+ },
960
+ {
961
+ "include": "#type-modifier-extended-scope"
962
+ },
963
+ {
964
+ "match": "\\b([A-Z]\\w*)\\b",
965
+ "captures": {
966
+ "1": {
967
+ "name": "storage.type.struct"
968
+ }
969
+ }
970
+ },
971
+ {
972
+ "include": "#variable"
973
+ },
974
+ {
975
+ "include": "#punctuation"
976
+ },
977
+ {
978
+ "include": "#comment"
979
+ }
980
+ ]
981
+ },
982
+ "declaration-function": {
983
+ "patterns": [
984
+ {
985
+ "begin": "\\b(function)\\s+(\\w+)\\b",
986
+ "beginCaptures": {
987
+ "1": {
988
+ "name": "storage.type.function"
989
+ },
990
+ "2": {
991
+ "name": "entity.name.function"
992
+ }
993
+ },
994
+ "end": "(?=\\{|;)",
995
+ "patterns": [
996
+ {
997
+ "include": "#natspec"
998
+ },
999
+ {
1000
+ "include": "#global"
1001
+ },
1002
+ {
1003
+ "include": "#declaration-function-parameters"
1004
+ },
1005
+ {
1006
+ "include": "#type-modifier-access"
1007
+ },
1008
+ {
1009
+ "include": "#type-modifier-payable"
1010
+ },
1011
+ {
1012
+ "include": "#type-modifier-immutable"
1013
+ },
1014
+ {
1015
+ "include": "#type-modifier-extended-scope"
1016
+ },
1017
+ {
1018
+ "include": "#control-flow"
1019
+ },
1020
+ {
1021
+ "include": "#function-call"
1022
+ },
1023
+ {
1024
+ "include": "#modifier-call"
1025
+ },
1026
+ {
1027
+ "include": "#punctuation"
1028
+ }
1029
+ ]
1030
+ },
1031
+ {
1032
+ "match": "\\b(function)\\s+([A-Za-z_]\\w*)\\b",
1033
+ "captures": {
1034
+ "1": {
1035
+ "name": "storage.type.function"
1036
+ },
1037
+ "2": {
1038
+ "name": "entity.name.function"
1039
+ }
1040
+ }
1041
+ }
1042
+ ]
1043
+ },
1044
+ "declaration-modifier": {
1045
+ "patterns": [
1046
+ {
1047
+ "begin": "\\b(modifier)\\b\\s*(\\w+)",
1048
+ "beginCaptures": {
1049
+ "1": {
1050
+ "name": "storage.type.function.modifier"
1051
+ },
1052
+ "2": {
1053
+ "name": "entity.name.function.modifier"
1054
+ }
1055
+ },
1056
+ "end": "(?=\\{)",
1057
+ "patterns": [
1058
+ {
1059
+ "include": "#declaration-function-parameters"
1060
+ },
1061
+ {
1062
+ "begin": "(?<=\\))",
1063
+ "end": "(?=\\{)",
1064
+ "patterns": [
1065
+ {
1066
+ "include": "#declaration-function-parameters"
1067
+ },
1068
+ {
1069
+ "include": "#type-modifier-access"
1070
+ },
1071
+ {
1072
+ "include": "#type-modifier-payable"
1073
+ },
1074
+ {
1075
+ "include": "#type-modifier-immutable"
1076
+ },
1077
+ {
1078
+ "include": "#type-modifier-extended-scope"
1079
+ },
1080
+ {
1081
+ "include": "#function-call"
1082
+ },
1083
+ {
1084
+ "include": "#modifier-call"
1085
+ },
1086
+ {
1087
+ "include": "#control-flow"
1088
+ }
1089
+ ]
1090
+ }
1091
+ ]
1092
+ },
1093
+ {
1094
+ "match": "\\b(modifier)(\\s+([A-Za-z_]\\w*))?\\b",
1095
+ "captures": {
1096
+ "1": {
1097
+ "name": "storage.type.modifier"
1098
+ },
1099
+ "3": {
1100
+ "name": "entity.name.function"
1101
+ }
1102
+ }
1103
+ }
1104
+ ]
1105
+ },
1106
+ "declaration-storage-mapping": {
1107
+ "patterns": [
1108
+ {
1109
+ "begin": "\\b(mapping)\\b",
1110
+ "beginCaptures": {
1111
+ "1": {
1112
+ "name": "storage.type.mapping"
1113
+ }
1114
+ },
1115
+ "end": "(?=\\))",
1116
+ "patterns": [
1117
+ {
1118
+ "include": "#declaration-storage-mapping"
1119
+ },
1120
+ {
1121
+ "include": "#type-primitive"
1122
+ },
1123
+ {
1124
+ "include": "#punctuation"
1125
+ },
1126
+ {
1127
+ "include": "#operator"
1128
+ }
1129
+ ]
1130
+ },
1131
+ {
1132
+ "match": "\\b(mapping)\\b",
1133
+ "name": "storage.type.mapping"
1134
+ }
1135
+ ]
1136
+ },
1137
+ "declaration-error": {
1138
+ "match": "\\b(error)(\\s+([A-Za-z_]\\w*))?\\b",
1139
+ "captures": {
1140
+ "1": {
1141
+ "name": "storage.type.error"
1142
+ },
1143
+ "3": {
1144
+ "name": "entity.name.type.error"
1145
+ }
1146
+ }
1147
+ },
1148
+ "function-call": {
1149
+ "match": "\\b([A-Za-z_]\\w*)\\s*(\\()",
1150
+ "captures": {
1151
+ "1": {
1152
+ "name": "entity.name.function"
1153
+ },
1154
+ "2": {
1155
+ "name": "punctuation.parameters.begin"
1156
+ }
1157
+ }
1158
+ },
1159
+ "assembly": {
1160
+ "patterns": [
1161
+ {
1162
+ "match": "\\b(assembly)\\b",
1163
+ "name": "keyword.control.assembly"
1164
+ },
1165
+ {
1166
+ "match": "\\b(let)\\b",
1167
+ "name": "storage.type.assembly"
1168
+ }
1169
+ ]
1170
+ },
1171
+ "punctuation": {
1172
+ "patterns": [
1173
+ {
1174
+ "match": ";",
1175
+ "name": "punctuation.terminator.statement"
1176
+ },
1177
+ {
1178
+ "match": "\\.",
1179
+ "name": "punctuation.accessor"
1180
+ },
1181
+ {
1182
+ "match": ",",
1183
+ "name": "punctuation.separator"
1184
+ },
1185
+ {
1186
+ "match": "\\{",
1187
+ "name": "punctuation.brace.curly.begin"
1188
+ },
1189
+ {
1190
+ "match": "\\}",
1191
+ "name": "punctuation.brace.curly.end"
1192
+ },
1193
+ {
1194
+ "match": "\\[",
1195
+ "name": "punctuation.brace.square.begin"
1196
+ },
1197
+ {
1198
+ "match": "\\]",
1199
+ "name": "punctuation.brace.square.end"
1200
+ },
1201
+ {
1202
+ "match": "\\(",
1203
+ "name": "punctuation.parameters.begin"
1204
+ },
1205
+ {
1206
+ "match": "\\)",
1207
+ "name": "punctuation.parameters.end"
1208
+ }
1209
+ ]
1210
+ }
1211
+ },
1212
+ "scopeName": "source.solidity",
1213
+ "uuid": "ad87d2cd-8575-4afe-984e-9421a3788933"
1214
+
1215
+ }