@lvce-editor/static-server 0.53.2 → 0.53.4

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 (1841) hide show
  1. package/dist/static-server.js +1857 -1857
  2. package/package.json +1 -1
  3. package/static/{03f3661 → 03e29f4}/css/App.css +83 -83
  4. package/static/{03f3661 → 03e29f4}/css/parts/ViewletRunAndDebug.css +15 -8
  5. package/static/{03f3661 → 03e29f4}/manifest.json +2 -2
  6. package/static/{03f3661 → 03e29f4}/packages/about-view-worker/dist/aboutWorkerMain.js +3 -3
  7. package/static/{03f3661 → 03e29f4}/packages/debug-worker/dist/debugWorkerMain.js +1903 -1529
  8. package/static/{03f3661 → 03e29f4}/packages/extension-host-worker/dist/extensionHostWorkerMain.js +3 -3
  9. package/static/{03f3661 → 03e29f4}/packages/renderer-process/dist/rendererProcessMain.js +1 -1
  10. package/static/{03f3661 → 03e29f4}/packages/renderer-worker/dist/rendererWorkerMain.js +37 -17
  11. package/static/index.html +4 -4
  12. /package/static/{03f3661 → 03e29f4}/config/colorTheme.json +0 -0
  13. /package/static/{03f3661 → 03e29f4}/config/defaultSettings.json +0 -0
  14. /package/static/{03f3661 → 03e29f4}/config/fileMap.json +0 -0
  15. /package/static/{03f3661 → 03e29f4}/config/webExtensions.json +0 -0
  16. /package/static/{03f3661 → 03e29f4}/css/parts/AdditionalDetails.css +0 -0
  17. /package/static/{03f3661 → 03e29f4}/css/parts/Animation.css +0 -0
  18. /package/static/{03f3661 → 03e29f4}/css/parts/DebugButtons.css +0 -0
  19. /package/static/{03f3661 → 03e29f4}/css/parts/DebugValue.css +0 -0
  20. /package/static/{03f3661 → 03e29f4}/css/parts/E2eTest.css +0 -0
  21. /package/static/{03f3661 → 03e29f4}/css/parts/E2eTests.css +0 -0
  22. /package/static/{03f3661 → 03e29f4}/css/parts/EditorHover.css +0 -0
  23. /package/static/{03f3661 → 03e29f4}/css/parts/EditorMessage.css +0 -0
  24. /package/static/{03f3661 → 03e29f4}/css/parts/FeatureContent.css +0 -0
  25. /package/static/{03f3661 → 03e29f4}/css/parts/Features.css +0 -0
  26. /package/static/{03f3661 → 03e29f4}/css/parts/ImagePreview.css +0 -0
  27. /package/static/{03f3661 → 03e29f4}/css/parts/InlineDiffEditor.css +0 -0
  28. /package/static/{03f3661 → 03e29f4}/css/parts/InputBadge.css +0 -0
  29. /package/static/{03f3661 → 03e29f4}/css/parts/Key.css +0 -0
  30. /package/static/{03f3661 → 03e29f4}/css/parts/KeyBindingsHeader.css +0 -0
  31. /package/static/{03f3661 → 03e29f4}/css/parts/KeyBindingsTable.css +0 -0
  32. /package/static/{03f3661 → 03e29f4}/css/parts/LegacyDialog.css +0 -0
  33. /package/static/{03f3661 → 03e29f4}/css/parts/Markdown.css +0 -0
  34. /package/static/{03f3661 → 03e29f4}/css/parts/Progress.css +0 -0
  35. /package/static/{03f3661 → 03e29f4}/css/parts/SearchToggleButton.css +0 -0
  36. /package/static/{03f3661 → 03e29f4}/css/parts/Select.css +0 -0
  37. /package/static/{03f3661 → 03e29f4}/css/parts/Table.css +0 -0
  38. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletAbout.css +0 -0
  39. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletBrowserViewOverview.css +0 -0
  40. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletDebugConsole.css +0 -0
  41. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletDefineKeyBinding.css +0 -0
  42. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletDialog.css +0 -0
  43. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletDiffEditor.css +0 -0
  44. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletEditorWidgetError.css +0 -0
  45. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletExtensionDetail.css +0 -0
  46. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletExtensionDetailHeader.css +0 -0
  47. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletExtensionDetailTabs.css +0 -0
  48. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletExtensions.css +0 -0
  49. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletIframeInspector.css +0 -0
  50. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletKeyBindings.css +0 -0
  51. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletMedia.css +0 -0
  52. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletOutput.css +0 -0
  53. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletPanel.css +0 -0
  54. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletPanelTabs.css +0 -0
  55. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletPdf.css +0 -0
  56. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletProblems.css +0 -0
  57. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletReferences.css +0 -0
  58. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletScreenCapture.css +0 -0
  59. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletSearch.css +0 -0
  60. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletSimpleBrowser.css +0 -0
  61. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletSourceControl.css +0 -0
  62. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletStorage.css +0 -0
  63. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletTerminal.css +0 -0
  64. /package/static/{03f3661 → 03e29f4}/css/parts/ViewletTerminalTabs.css +0 -0
  65. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-bat/README.md +0 -0
  66. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-bat/extension.json +0 -0
  67. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-bat/languageConfiguration.json +0 -0
  68. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -0
  69. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-c/README.md +0 -0
  70. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-c/extension.json +0 -0
  71. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -0
  72. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-coffeescript/README.md +0 -0
  73. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-coffeescript/extension.json +0 -0
  74. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -0
  75. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-cpp/README.md +0 -0
  76. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-cpp/extension.json +0 -0
  77. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -0
  78. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -0
  79. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-cson/README.md +0 -0
  80. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-cson/extension.json +0 -0
  81. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -0
  82. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -0
  83. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-css/README.md +0 -0
  84. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-css/extension.json +0 -0
  85. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-css/languageConfiguration.json +0 -0
  86. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -0
  87. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-dart/README.md +0 -0
  88. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-dart/extension.json +0 -0
  89. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -0
  90. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-desktop/README.md +0 -0
  91. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-desktop/extension.json +0 -0
  92. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -0
  93. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-docker/README.md +0 -0
  94. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-docker/extension.json +0 -0
  95. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -0
  96. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-dotenv/README.md +0 -0
  97. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-dotenv/extension.json +0 -0
  98. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -0
  99. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-editorconfig/README.md +0 -0
  100. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-editorconfig/extension.json +0 -0
  101. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -0
  102. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-elixir/README.md +0 -0
  103. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-elixir/extension.json +0 -0
  104. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -0
  105. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-elm/README.md +0 -0
  106. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-elm/extension.json +0 -0
  107. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -0
  108. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-gitattributes/README.md +0 -0
  109. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-gitattributes/extension.json +0 -0
  110. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -0
  111. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-gn/README.md +0 -0
  112. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-gn/extension.json +0 -0
  113. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -0
  114. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-go/README.md +0 -0
  115. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-go/extension.json +0 -0
  116. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -0
  117. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-graphql/README.md +0 -0
  118. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-graphql/extension.json +0 -0
  119. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -0
  120. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-html/README.md +0 -0
  121. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-html/extension.json +0 -0
  122. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-html/languageConfiguration.json +0 -0
  123. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -0
  124. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-java/README.md +0 -0
  125. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-java/extension.json +0 -0
  126. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-java/languageConfiguration.json +0 -0
  127. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -0
  128. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-javascript/README.md +0 -0
  129. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-javascript/extension.json +0 -0
  130. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -0
  131. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -0
  132. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-json/README.md +0 -0
  133. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-json/extension.json +0 -0
  134. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -0
  135. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-json5/README.md +0 -0
  136. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-json5/extension.json +0 -0
  137. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-json5/src/tokenizeJson5.js +0 -0
  138. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-jsx/README.md +0 -0
  139. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-jsx/extension.json +0 -0
  140. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -0
  141. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-julia/README.md +0 -0
  142. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-julia/extension.json +0 -0
  143. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -0
  144. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-kotlin/README.md +0 -0
  145. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-kotlin/extension.json +0 -0
  146. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -0
  147. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-less/LICENSE +0 -0
  148. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-less/README.md +0 -0
  149. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-less/extension.json +0 -0
  150. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-less/languageConfiguration.json +0 -0
  151. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -0
  152. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-markdown/README.md +0 -0
  153. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-markdown/extension.json +0 -0
  154. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -0
  155. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-mdx/README.md +0 -0
  156. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-mdx/extension.json +0 -0
  157. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -0
  158. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-nix/README.md +0 -0
  159. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-nix/extension.json +0 -0
  160. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-nix/languageConfiguration.json +0 -0
  161. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-nix/src/tokenizeNix.js +0 -0
  162. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-nvmrc/README.md +0 -0
  163. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-nvmrc/extension.json +0 -0
  164. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -0
  165. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-perl/README.md +0 -0
  166. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-perl/extension.json +0 -0
  167. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -0
  168. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-plaintext/README.md +0 -0
  169. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-plaintext/extension.json +0 -0
  170. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -0
  171. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-powershell/README.md +0 -0
  172. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-powershell/extension.json +0 -0
  173. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -0
  174. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-python/README.md +0 -0
  175. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-python/extension.json +0 -0
  176. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-python/languageConfiguration.json +0 -0
  177. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -0
  178. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-r/README.md +0 -0
  179. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-r/extension.json +0 -0
  180. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -0
  181. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-ruby/README.md +0 -0
  182. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-ruby/extension.json +0 -0
  183. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -0
  184. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-rust/LICENSE +0 -0
  185. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-rust/README.md +0 -0
  186. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-rust/extension.json +0 -0
  187. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -0
  188. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -0
  189. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-scss/README.md +0 -0
  190. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-scss/extension.json +0 -0
  191. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-scss/languageConfiguration.json +0 -0
  192. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -0
  193. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-shellscript/README.md +0 -0
  194. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-shellscript/extension.json +0 -0
  195. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -0
  196. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-svelte/README.md +0 -0
  197. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-svelte/extension.json +0 -0
  198. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -0
  199. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-terraform/README.md +0 -0
  200. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-terraform/extension.json +0 -0
  201. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-terraform/src/tokenizeTerraform.js +0 -0
  202. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-toml/README.md +0 -0
  203. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-toml/extension.json +0 -0
  204. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -0
  205. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-typescript/README.md +0 -0
  206. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-typescript/extension.json +0 -0
  207. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -0
  208. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-vue/README.md +0 -0
  209. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-vue/extension.json +0 -0
  210. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -0
  211. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-wgsl/README.md +0 -0
  212. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-wgsl/extension.json +0 -0
  213. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -0
  214. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -0
  215. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-xml/README.md +0 -0
  216. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-xml/extension.json +0 -0
  217. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -0
  218. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-yaml/README.md +0 -0
  219. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-yaml/extension.json +0 -0
  220. /package/static/{03f3661 → 03e29f4}/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -0
  221. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-atom-one-dark/README.md +0 -0
  222. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -0
  223. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-atom-one-dark/extension.json +0 -0
  224. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
  225. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-ayu/README.md +0 -0
  226. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-ayu/color-theme.json +0 -0
  227. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-ayu/extension.json +0 -0
  228. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-cobalt2/README.md +0 -0
  229. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-cobalt2/color-theme.json +0 -0
  230. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-cobalt2/extension.json +0 -0
  231. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
  232. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
  233. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-gruvbox/README.md +0 -0
  234. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-gruvbox/color-theme.json +0 -0
  235. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-gruvbox/extension.json +0 -0
  236. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-high-contrast/README.md +0 -0
  237. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-high-contrast/color-theme.json +0 -0
  238. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-high-contrast/extension.json +0 -0
  239. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-material/README.md +0 -0
  240. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-material/color-theme.json +0 -0
  241. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-material/extension.json +0 -0
  242. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-monokai/README.md +0 -0
  243. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-monokai/color-theme.json +0 -0
  244. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-monokai/extension.json +0 -0
  245. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-noctis-uva/README.md +0 -0
  246. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-noctis-uva/color-theme.json +0 -0
  247. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-noctis-uva/extension.json +0 -0
  248. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
  249. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-palenight/README.md +0 -0
  250. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-palenight/color-theme.json +0 -0
  251. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-palenight/extension.json +0 -0
  252. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-palenight/images/demo.png +0 -0
  253. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-slime/README.md +0 -0
  254. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-slime/color-theme.json +0 -0
  255. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-slime/extension.json +0 -0
  256. /package/static/{03f3661 → 03e29f4}/extensions/builtin.theme-slime/icon.png +0 -0
  257. /package/static/{03f3661 → 03e29f4}/extensions/builtin.vscode-icons/README.md +0 -0
  258. /package/static/{03f3661 → 03e29f4}/extensions/builtin.vscode-icons/extension.json +0 -0
  259. /package/static/{03f3661 → 03e29f4}/extensions/builtin.vscode-icons/icon-theme.json +0 -0
  260. /package/static/{03f3661 → 03e29f4}/extensions/builtin.vscode-icons/icon.png +0 -0
  261. /package/static/{03f3661 → 03e29f4}/file-icons/default_file.svg +0 -0
  262. /package/static/{03f3661 → 03e29f4}/file-icons/default_folder.svg +0 -0
  263. /package/static/{03f3661 → 03e29f4}/file-icons/default_folder_opened.svg +0 -0
  264. /package/static/{03f3661 → 03e29f4}/file-icons/default_root_folder.svg +0 -0
  265. /package/static/{03f3661 → 03e29f4}/file-icons/default_root_folder_opened.svg +0 -0
  266. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_access.svg +0 -0
  267. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_access2.svg +0 -0
  268. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_actionscript.svg +0 -0
  269. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_actionscript2.svg +0 -0
  270. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ada.svg +0 -0
  271. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_advpl.svg +0 -0
  272. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_affectscript.svg +0 -0
  273. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_affinitydesigner.svg +0 -0
  274. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_affinityphoto.svg +0 -0
  275. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_affinitypublisher.svg +0 -0
  276. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_agda.svg +0 -0
  277. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ai.svg +0 -0
  278. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ai2.svg +0 -0
  279. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_al.svg +0 -0
  280. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_al_dal.svg +0 -0
  281. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_allcontributors.svg +0 -0
  282. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_angular.svg +0 -0
  283. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ansible.svg +0 -0
  284. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_antlers_html.svg +0 -0
  285. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_antlr.svg +0 -0
  286. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_anyscript.svg +0 -0
  287. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_apache.svg +0 -0
  288. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_apex.svg +0 -0
  289. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_api_extractor.svg +0 -0
  290. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_apib.svg +0 -0
  291. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_apib2.svg +0 -0
  292. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_apl.svg +0 -0
  293. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_applescript.svg +0 -0
  294. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_appscript.svg +0 -0
  295. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_appsemble.svg +0 -0
  296. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_appveyor.svg +0 -0
  297. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_arduino.svg +0 -0
  298. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_asciidoc.svg +0 -0
  299. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_asp.svg +0 -0
  300. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_aspx.svg +0 -0
  301. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_assembly.svg +0 -0
  302. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_astro.svg +0 -0
  303. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_astroconfig.svg +0 -0
  304. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_atom.svg +0 -0
  305. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ats.svg +0 -0
  306. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_attw.svg +0 -0
  307. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_audio.svg +0 -0
  308. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_aurelia.svg +0 -0
  309. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_autohotkey.svg +0 -0
  310. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_autoit.svg +0 -0
  311. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_avif.svg +0 -0
  312. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_avro.svg +0 -0
  313. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_awk.svg +0 -0
  314. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_aws.svg +0 -0
  315. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_azure.svg +0 -0
  316. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_azurepipelines.svg +0 -0
  317. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_babel.svg +0 -0
  318. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_babel2.svg +0 -0
  319. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bak.svg +0 -0
  320. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ballerina.svg +0 -0
  321. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bat.svg +0 -0
  322. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bats.svg +0 -0
  323. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bazaar.svg +0 -0
  324. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bazel.svg +0 -0
  325. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bazel_ignore.svg +0 -0
  326. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bazel_version.svg +0 -0
  327. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_befunge.svg +0 -0
  328. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bicep.svg +0 -0
  329. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_biml.svg +0 -0
  330. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_binary.svg +0 -0
  331. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_biome.svg +0 -0
  332. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bitbucketpipeline.svg +0 -0
  333. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bithound.svg +0 -0
  334. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_blade.svg +0 -0
  335. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_blender.svg +0 -0
  336. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_blitzbasic.svg +0 -0
  337. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bolt.svg +0 -0
  338. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bosque.svg +0 -0
  339. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bower.svg +0 -0
  340. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bower2.svg +0 -0
  341. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_browserslist.svg +0 -0
  342. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bruno.svg +0 -0
  343. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_buckbuild.svg +0 -0
  344. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_buf.svg +0 -0
  345. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bun.svg +0 -0
  346. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bundlemon.svg +0 -0
  347. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bundler.svg +0 -0
  348. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_bunfig.svg +0 -0
  349. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_c.svg +0 -0
  350. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_c2.svg +0 -0
  351. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_c3.svg +0 -0
  352. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_c_al.svg +0 -0
  353. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cabal.svg +0 -0
  354. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_caddy.svg +0 -0
  355. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cake.svg +0 -0
  356. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cakephp.svg +0 -0
  357. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_capacitor.svg +0 -0
  358. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_capnp.svg +0 -0
  359. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cargo.svg +0 -0
  360. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_casc.svg +0 -0
  361. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cddl.svg +0 -0
  362. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cert.svg +0 -0
  363. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ceylon.svg +0 -0
  364. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cf.svg +0 -0
  365. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cf2.svg +0 -0
  366. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cfc.svg +0 -0
  367. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cfc2.svg +0 -0
  368. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cfm.svg +0 -0
  369. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cfm2.svg +0 -0
  370. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_changie.svg +0 -0
  371. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cheader.svg +0 -0
  372. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_chef.svg +0 -0
  373. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_chef_cookbook.svg +0 -0
  374. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_circleci.svg +0 -0
  375. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_class.svg +0 -0
  376. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_claude.svg +0 -0
  377. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_clojure.svg +0 -0
  378. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_clojurescript.svg +0 -0
  379. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cloudfoundry.svg +0 -0
  380. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cmake.svg +0 -0
  381. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cobol.svg +0 -0
  382. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_codacy.svg +0 -0
  383. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_codeclimate.svg +0 -0
  384. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_codecov.svg +0 -0
  385. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_codekit.svg +0 -0
  386. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_codemagic.svg +0 -0
  387. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_codeowners.svg +0 -0
  388. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_codeql.svg +0 -0
  389. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_coderabbit.svg +0 -0
  390. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_coffeelint.svg +0 -0
  391. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_coffeescript.svg +0 -0
  392. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_commitizen.svg +0 -0
  393. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_commitlint.svg +0 -0
  394. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_compass.svg +0 -0
  395. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_composer.svg +0 -0
  396. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_conan.svg +0 -0
  397. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_conda.svg +0 -0
  398. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_config.svg +0 -0
  399. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_confluence.svg +0 -0
  400. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_copilot.svg +0 -0
  401. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_coverage.svg +0 -0
  402. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_coveralls.svg +0 -0
  403. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cpp.svg +0 -0
  404. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cpp2.svg +0 -0
  405. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cpp3.svg +0 -0
  406. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cppheader.svg +0 -0
  407. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_craco.svg +0 -0
  408. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_crowdin.svg +0 -0
  409. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_crystal.svg +0 -0
  410. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_csharp.svg +0 -0
  411. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_csharp2.svg +0 -0
  412. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cspell.svg +0 -0
  413. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_csproj.svg +0 -0
  414. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_css.svg +0 -0
  415. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_css2.svg +0 -0
  416. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_css2map.svg +0 -0
  417. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_csscomb.svg +0 -0
  418. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_csslint.svg +0 -0
  419. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cssmap.svg +0 -0
  420. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cucumber.svg +0 -0
  421. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cuda.svg +0 -0
  422. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cursorrules.svg +0 -0
  423. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cvs.svg +0 -0
  424. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cypress.svg +0 -0
  425. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cypress_spec.svg +0 -0
  426. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_cython.svg +0 -0
  427. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dal.svg +0 -0
  428. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_darcs.svg +0 -0
  429. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dartlang.svg +0 -0
  430. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dartlang_generated.svg +0 -0
  431. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dartlang_ignore.svg +0 -0
  432. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_datadog.svg +0 -0
  433. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_db.svg +0 -0
  434. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_debian.svg +0 -0
  435. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_delphi.svg +0 -0
  436. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_deno.svg +0 -0
  437. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_denoify.svg +0 -0
  438. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dependabot.svg +0 -0
  439. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dependencies.svg +0 -0
  440. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_devcontainer.svg +0 -0
  441. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dhall.svg +0 -0
  442. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_diff.svg +0 -0
  443. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_django.svg +0 -0
  444. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dlang.svg +0 -0
  445. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_docker.svg +0 -0
  446. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_docker2.svg +0 -0
  447. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dockertest.svg +0 -0
  448. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dockertest2.svg +0 -0
  449. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_docpad.svg +0 -0
  450. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_docusaurus.svg +0 -0
  451. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_docz.svg +0 -0
  452. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dojo.svg +0 -0
  453. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_doppler.svg +0 -0
  454. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dotenv.svg +0 -0
  455. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dotjs.svg +0 -0
  456. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_doxygen.svg +0 -0
  457. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_drawio.svg +0 -0
  458. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_drone.svg +0 -0
  459. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_drools.svg +0 -0
  460. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dtd.svg +0 -0
  461. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dune.svg +0 -0
  462. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dustjs.svg +0 -0
  463. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dvc.svg +0 -0
  464. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_dylan.svg +0 -0
  465. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_earthly.svg +0 -0
  466. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_eas-metadata.svg +0 -0
  467. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_edge.svg +0 -0
  468. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_edge2.svg +0 -0
  469. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_editorconfig.svg +0 -0
  470. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_eex.svg +0 -0
  471. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ejs.svg +0 -0
  472. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_elastic.svg +0 -0
  473. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_elasticbeanstalk.svg +0 -0
  474. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_eleventy.svg +0 -0
  475. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_eleventy2.svg +0 -0
  476. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_elixir.svg +0 -0
  477. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_elm.svg +0 -0
  478. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_elm2.svg +0 -0
  479. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_emacs.svg +0 -0
  480. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ember.svg +0 -0
  481. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ensime.svg +0 -0
  482. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_eps.svg +0 -0
  483. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_epub.svg +0 -0
  484. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_erb.svg +0 -0
  485. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_erlang.svg +0 -0
  486. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_erlang2.svg +0 -0
  487. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_esbuild.svg +0 -0
  488. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_eslint.svg +0 -0
  489. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_eslint2.svg +0 -0
  490. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_esphome.svg +0 -0
  491. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_excalidraw.svg +0 -0
  492. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_excel.svg +0 -0
  493. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_excel2.svg +0 -0
  494. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_expo.svg +0 -0
  495. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_falcon.svg +0 -0
  496. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fantasticon.svg +0 -0
  497. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fastly.svg +0 -0
  498. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fauna.svg +0 -0
  499. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_favicon.svg +0 -0
  500. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fbx.svg +0 -0
  501. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_firebase.svg +0 -0
  502. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_firebasehosting.svg +0 -0
  503. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_firestore.svg +0 -0
  504. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fitbit.svg +0 -0
  505. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fla.svg +0 -0
  506. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_flareact.svg +0 -0
  507. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_flash.svg +0 -0
  508. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_floobits.svg +0 -0
  509. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_flow.svg +0 -0
  510. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_flutter.svg +0 -0
  511. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_flutter_package.svg +0 -0
  512. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_flyio.svg +0 -0
  513. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_font.svg +0 -0
  514. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_formkit.svg +0 -0
  515. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fortran.svg +0 -0
  516. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fossa.svg +0 -0
  517. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fossil.svg +0 -0
  518. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_freemarker.svg +0 -0
  519. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_frontcommerce.svg +0 -0
  520. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fsharp.svg +0 -0
  521. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fsharp2.svg +0 -0
  522. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fsproj.svg +0 -0
  523. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fthtml.svg +0 -0
  524. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_funding.svg +0 -0
  525. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_fusebox.svg +0 -0
  526. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_galen.svg +0 -0
  527. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_galen2.svg +0 -0
  528. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gamemaker.svg +0 -0
  529. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gamemaker2.svg +0 -0
  530. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gamemaker81.svg +0 -0
  531. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gatsby.svg +0 -0
  532. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gcloud.svg +0 -0
  533. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gcode.svg +0 -0
  534. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gdscript.svg +0 -0
  535. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_genstat.svg +0 -0
  536. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_git.svg +0 -0
  537. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_git2.svg +0 -0
  538. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gitlab.svg +0 -0
  539. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gitpod.svg +0 -0
  540. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gleam.svg +0 -0
  541. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gleamconfig.svg +0 -0
  542. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_glide.svg +0 -0
  543. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_glitter.svg +0 -0
  544. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_glsl.svg +0 -0
  545. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gltf.svg +0 -0
  546. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_glyphs.svg +0 -0
  547. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gnu.svg +0 -0
  548. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gnuplot.svg +0 -0
  549. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_go.svg +0 -0
  550. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_go_aqua.svg +0 -0
  551. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_go_black.svg +0 -0
  552. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_go_fuchsia.svg +0 -0
  553. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_go_gopher.svg +0 -0
  554. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_go_lightblue.svg +0 -0
  555. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_go_package.svg +0 -0
  556. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_go_white.svg +0 -0
  557. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_go_work.svg +0 -0
  558. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_go_yellow.svg +0 -0
  559. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_goctl.svg +0 -0
  560. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_godot.svg +0 -0
  561. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gpg.svg +0 -0
  562. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gradle.svg +0 -0
  563. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gradle2.svg +0 -0
  564. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_grain.svg +0 -0
  565. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_graphql.svg +0 -0
  566. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_graphql_config.svg +0 -0
  567. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_graphviz.svg +0 -0
  568. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_greenkeeper.svg +0 -0
  569. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gridsome.svg +0 -0
  570. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_groovy.svg +0 -0
  571. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_groovy2.svg +0 -0
  572. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_grunt.svg +0 -0
  573. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_gulp.svg +0 -0
  574. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_haml.svg +0 -0
  575. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_handlebars.svg +0 -0
  576. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_handlebars2.svg +0 -0
  577. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_harbour.svg +0 -0
  578. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_hardhat.svg +0 -0
  579. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_hashicorp.svg +0 -0
  580. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_haskell.svg +0 -0
  581. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_haskell2.svg +0 -0
  582. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_haxe.svg +0 -0
  583. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_haxecheckstyle.svg +0 -0
  584. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_haxedevelop.svg +0 -0
  585. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_helix.svg +0 -0
  586. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_helm.svg +0 -0
  587. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_histoire.svg +0 -0
  588. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_hjson.svg +0 -0
  589. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_hlsl.svg +0 -0
  590. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_homeassistant.svg +0 -0
  591. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_horusec.svg +0 -0
  592. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_host.svg +0 -0
  593. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_html.svg +0 -0
  594. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_htmlhint.svg +0 -0
  595. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_htmlvalidate.svg +0 -0
  596. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_http.svg +0 -0
  597. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_hugo.svg +0 -0
  598. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_humanstxt.svg +0 -0
  599. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_hunspell.svg +0 -0
  600. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_husky.svg +0 -0
  601. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_hy.svg +0 -0
  602. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_hygen.svg +0 -0
  603. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_hypr.svg +0 -0
  604. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_icl.svg +0 -0
  605. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_idris.svg +0 -0
  606. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_idrisbin.svg +0 -0
  607. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_idrispkg.svg +0 -0
  608. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_image.svg +0 -0
  609. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_imba.svg +0 -0
  610. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_inc.svg +0 -0
  611. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_infopath.svg +0 -0
  612. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_informix.svg +0 -0
  613. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ini.svg +0 -0
  614. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ink.svg +0 -0
  615. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_innosetup.svg +0 -0
  616. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_io.svg +0 -0
  617. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_iodine.svg +0 -0
  618. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ionic.svg +0 -0
  619. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jake.svg +0 -0
  620. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_janet.svg +0 -0
  621. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jar.svg +0 -0
  622. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jasmine.svg +0 -0
  623. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_java.svg +0 -0
  624. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jbuilder.svg +0 -0
  625. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jekyll.svg +0 -0
  626. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jenkins.svg +0 -0
  627. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jest.svg +0 -0
  628. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jest_snapshot.svg +0 -0
  629. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jinja.svg +0 -0
  630. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jpm.svg +0 -0
  631. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_js.svg +0 -0
  632. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_js_official.svg +0 -0
  633. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jsbeautify.svg +0 -0
  634. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jsconfig.svg +0 -0
  635. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jscpd.svg +0 -0
  636. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jshint.svg +0 -0
  637. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jsmap.svg +0 -0
  638. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_json.svg +0 -0
  639. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_json2.svg +0 -0
  640. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_json5.svg +0 -0
  641. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_json_official.svg +0 -0
  642. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_json_schema.svg +0 -0
  643. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jsonld.svg +0 -0
  644. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jsonnet.svg +0 -0
  645. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jsp.svg +0 -0
  646. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jsr.svg +0 -0
  647. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jss.svg +0 -0
  648. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_juice.svg +0 -0
  649. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_julia.svg +0 -0
  650. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_julia2.svg +0 -0
  651. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_jupyter.svg +0 -0
  652. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_just.svg +0 -0
  653. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_k.svg +0 -0
  654. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_karma.svg +0 -0
  655. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_key.svg +0 -0
  656. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_kitchenci.svg +0 -0
  657. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_kite.svg +0 -0
  658. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_kivy.svg +0 -0
  659. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_knip.svg +0 -0
  660. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_kos.svg +0 -0
  661. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_kotlin.svg +0 -0
  662. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_kusto.svg +0 -0
  663. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_language_configuration.svg +0 -0
  664. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lark.svg +0 -0
  665. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_latino.svg +0 -0
  666. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_layout.svg +0 -0
  667. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lefthook.svg +0 -0
  668. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lerna.svg +0 -0
  669. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_less.svg +0 -0
  670. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lex.svg +0 -0
  671. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_liara.svg +0 -0
  672. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_libreoffice_base.svg +0 -0
  673. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_libreoffice_calc.svg +0 -0
  674. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_libreoffice_draw.svg +0 -0
  675. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_libreoffice_impress.svg +0 -0
  676. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_libreoffice_math.svg +0 -0
  677. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_libreoffice_writer.svg +0 -0
  678. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_license.svg +0 -0
  679. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_licensebat.svg +0 -0
  680. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_actionscript2.svg +0 -0
  681. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_ada.svg +0 -0
  682. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_agda.svg +0 -0
  683. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_apl.svg +0 -0
  684. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_astro.svg +0 -0
  685. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_astroconfig.svg +0 -0
  686. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_babel.svg +0 -0
  687. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_babel2.svg +0 -0
  688. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_cabal.svg +0 -0
  689. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_circleci.svg +0 -0
  690. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_cloudfoundry.svg +0 -0
  691. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_codacy.svg +0 -0
  692. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_codeclimate.svg +0 -0
  693. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_codeowners.svg +0 -0
  694. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_config.svg +0 -0
  695. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_copilot.svg +0 -0
  696. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_crystal.svg +0 -0
  697. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_cypress.svg +0 -0
  698. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_cypress_spec.svg +0 -0
  699. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_db.svg +0 -0
  700. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_deno.svg +0 -0
  701. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_dhall.svg +0 -0
  702. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_docpad.svg +0 -0
  703. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_drone.svg +0 -0
  704. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_eas-metadata.svg +0 -0
  705. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_eleventy.svg +0 -0
  706. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_eleventy2.svg +0 -0
  707. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_esphome.svg +0 -0
  708. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_expo.svg +0 -0
  709. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_firebasehosting.svg +0 -0
  710. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_fla.svg +0 -0
  711. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_font.svg +0 -0
  712. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_gamemaker2.svg +0 -0
  713. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_gradle.svg +0 -0
  714. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_hashicorp.svg +0 -0
  715. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_hjson.svg +0 -0
  716. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_ini.svg +0 -0
  717. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_io.svg +0 -0
  718. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_js.svg +0 -0
  719. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_jsconfig.svg +0 -0
  720. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_jsmap.svg +0 -0
  721. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_json.svg +0 -0
  722. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_json5.svg +0 -0
  723. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_json_schema.svg +0 -0
  724. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_jsonld.svg +0 -0
  725. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_kite.svg +0 -0
  726. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_lark.svg +0 -0
  727. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_lerna.svg +0 -0
  728. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_mailing.svg +0 -0
  729. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_markuplint.svg +0 -0
  730. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_mdx-components.svg +0 -0
  731. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_mdx.svg +0 -0
  732. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_mlang.svg +0 -0
  733. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_mustache.svg +0 -0
  734. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_mypy.svg +0 -0
  735. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_neo4j.svg +0 -0
  736. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_netlify.svg +0 -0
  737. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_next.svg +0 -0
  738. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_nim.svg +0 -0
  739. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_nx.svg +0 -0
  740. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_objidconfig.svg +0 -0
  741. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_openHAB.svg +0 -0
  742. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_pcl.svg +0 -0
  743. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_pnpm.svg +0 -0
  744. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_prettier.svg +0 -0
  745. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_prisma.svg +0 -0
  746. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_purescript.svg +0 -0
  747. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_quasar.svg +0 -0
  748. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_raku.svg +0 -0
  749. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_razzle.svg +0 -0
  750. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_reactrouter.svg +0 -0
  751. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_rehype.svg +0 -0
  752. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_remark.svg +0 -0
  753. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_replit.svg +0 -0
  754. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_retext.svg +0 -0
  755. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_rome.svg +0 -0
  756. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_rubocop.svg +0 -0
  757. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_rust.svg +0 -0
  758. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_rust_toolchain.svg +0 -0
  759. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_safetensors.svg +0 -0
  760. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_shaderlab.svg +0 -0
  761. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_solidity.svg +0 -0
  762. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_spin.svg +0 -0
  763. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_stylelint.svg +0 -0
  764. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_stylus.svg +0 -0
  765. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_symfony.svg +0 -0
  766. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_systemd.svg +0 -0
  767. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_systemverilog.svg +0 -0
  768. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_testcafe.svg +0 -0
  769. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_testjs.svg +0 -0
  770. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_tex.svg +0 -0
  771. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_tm.svg +0 -0
  772. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_tmux.svg +0 -0
  773. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_todo.svg +0 -0
  774. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_toit.svg +0 -0
  775. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_toml.svg +0 -0
  776. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_tree.svg +0 -0
  777. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_turbo.svg +0 -0
  778. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_unibeautify.svg +0 -0
  779. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_vash.svg +0 -0
  780. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_vercel.svg +0 -0
  781. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_vsix.svg +0 -0
  782. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_vsixmanifest.svg +0 -0
  783. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_xfl.svg +0 -0
  784. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_xorg.svg +0 -0
  785. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_yaml.svg +0 -0
  786. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_yaml_official.svg +0 -0
  787. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_light_zeit.svg +0 -0
  788. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lighthouse.svg +0 -0
  789. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lilypond.svg +0 -0
  790. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lime.svg +0 -0
  791. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lintstagedrc.svg +0 -0
  792. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_liquid.svg +0 -0
  793. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lisp.svg +0 -0
  794. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_livescript.svg +0 -0
  795. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lnk.svg +0 -0
  796. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_locale.svg +0 -0
  797. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_log.svg +0 -0
  798. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lolcode.svg +0 -0
  799. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lsl.svg +0 -0
  800. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lua.svg +0 -0
  801. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_luau.svg +0 -0
  802. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_lync.svg +0 -0
  803. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mailing.svg +0 -0
  804. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_makefile.svg +0 -0
  805. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_manifest.svg +0 -0
  806. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_manifest_bak.svg +0 -0
  807. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_manifest_skip.svg +0 -0
  808. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_map.svg +0 -0
  809. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mariadb.svg +0 -0
  810. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_markdown.svg +0 -0
  811. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_markdownlint.svg +0 -0
  812. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_markdownlint_ignore.svg +0 -0
  813. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_marko.svg +0 -0
  814. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_markojs.svg +0 -0
  815. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_markuplint.svg +0 -0
  816. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_master-co.svg +0 -0
  817. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_matlab.svg +0 -0
  818. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_maven.svg +0 -0
  819. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_maxscript.svg +0 -0
  820. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_maya.svg +0 -0
  821. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mdx-components.svg +0 -0
  822. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mdx.svg +0 -0
  823. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mediawiki.svg +0 -0
  824. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mercurial.svg +0 -0
  825. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mermaid.svg +0 -0
  826. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_meson.svg +0 -0
  827. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_metal.svg +0 -0
  828. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_meteor.svg +0 -0
  829. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_minecraft.svg +0 -0
  830. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mivascript.svg +0 -0
  831. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mjml.svg +0 -0
  832. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mlang.svg +0 -0
  833. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mocha.svg +0 -0
  834. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_modernizr.svg +0 -0
  835. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mojo.svg +0 -0
  836. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mojolicious.svg +0 -0
  837. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_moleculer.svg +0 -0
  838. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mondoo.svg +0 -0
  839. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mongo.svg +0 -0
  840. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_monotone.svg +0 -0
  841. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_motif.svg +0 -0
  842. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mson.svg +0 -0
  843. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mustache.svg +0 -0
  844. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mvt.svg +0 -0
  845. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mvtcss.svg +0 -0
  846. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mvtjs.svg +0 -0
  847. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mypy.svg +0 -0
  848. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_mysql.svg +0 -0
  849. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ndst.svg +0 -0
  850. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nearly.svg +0 -0
  851. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_neo4j.svg +0 -0
  852. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_adapter_js.svg +0 -0
  853. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_adapter_ts.svg +0 -0
  854. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_controller_js.svg +0 -0
  855. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_controller_ts.svg +0 -0
  856. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_decorator_js.svg +0 -0
  857. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_decorator_ts.svg +0 -0
  858. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_filter_js.svg +0 -0
  859. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_filter_ts.svg +0 -0
  860. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_gateway_js.svg +0 -0
  861. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_gateway_ts.svg +0 -0
  862. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_guard_js.svg +0 -0
  863. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_guard_ts.svg +0 -0
  864. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_interceptor_js.svg +0 -0
  865. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_interceptor_ts.svg +0 -0
  866. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_middleware_js.svg +0 -0
  867. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_middleware_ts.svg +0 -0
  868. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_module_js.svg +0 -0
  869. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_module_ts.svg +0 -0
  870. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_pipe_js.svg +0 -0
  871. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_pipe_ts.svg +0 -0
  872. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_service_js.svg +0 -0
  873. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nest_service_ts.svg +0 -0
  874. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nestjs.svg +0 -0
  875. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_netlify.svg +0 -0
  876. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_next.svg +0 -0
  877. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nextflow.svg +0 -0
  878. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_component_css.svg +0 -0
  879. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_component_dart.svg +0 -0
  880. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_component_html.svg +0 -0
  881. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_component_js.svg +0 -0
  882. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_component_js2.svg +0 -0
  883. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_component_less.svg +0 -0
  884. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_component_sass.svg +0 -0
  885. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_component_scss.svg +0 -0
  886. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_component_ts.svg +0 -0
  887. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_component_ts2.svg +0 -0
  888. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_controller_js.svg +0 -0
  889. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_controller_ts.svg +0 -0
  890. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_directive_dart.svg +0 -0
  891. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_directive_js.svg +0 -0
  892. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_directive_js2.svg +0 -0
  893. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_directive_ts.svg +0 -0
  894. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_directive_ts2.svg +0 -0
  895. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_guard_dart.svg +0 -0
  896. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_guard_js.svg +0 -0
  897. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_guard_ts.svg +0 -0
  898. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_interceptor_dart.svg +0 -0
  899. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_interceptor_js.svg +0 -0
  900. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_interceptor_ts.svg +0 -0
  901. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_module_dart.svg +0 -0
  902. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_module_js.svg +0 -0
  903. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_module_js2.svg +0 -0
  904. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_module_ts.svg +0 -0
  905. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_module_ts2.svg +0 -0
  906. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_pipe_dart.svg +0 -0
  907. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_pipe_js.svg +0 -0
  908. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_pipe_js2.svg +0 -0
  909. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_pipe_ts.svg +0 -0
  910. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_pipe_ts2.svg +0 -0
  911. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_routing_dart.svg +0 -0
  912. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_routing_js.svg +0 -0
  913. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_routing_js2.svg +0 -0
  914. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_routing_ts.svg +0 -0
  915. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_routing_ts2.svg +0 -0
  916. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_service_dart.svg +0 -0
  917. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_service_js.svg +0 -0
  918. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_service_js2.svg +0 -0
  919. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_service_ts.svg +0 -0
  920. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_service_ts2.svg +0 -0
  921. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_smart_component_dart.svg +0 -0
  922. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_smart_component_js.svg +0 -0
  923. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_smart_component_js2.svg +0 -0
  924. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_smart_component_ts.svg +0 -0
  925. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_smart_component_ts2.svg +0 -0
  926. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ng_tailwind.svg +0 -0
  927. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nginx.svg +0 -0
  928. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nim.svg +0 -0
  929. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nimble.svg +0 -0
  930. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ninja.svg +0 -0
  931. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nix.svg +0 -0
  932. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_njsproj.svg +0 -0
  933. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_noc.svg +0 -0
  934. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_node.svg +0 -0
  935. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_node2.svg +0 -0
  936. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nodemon.svg +0 -0
  937. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_npm.svg +0 -0
  938. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_npmpackagejsonlint.svg +0 -0
  939. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nsi.svg +0 -0
  940. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nsri-integrity.svg +0 -0
  941. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nsri.svg +0 -0
  942. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nuget.svg +0 -0
  943. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_numpy.svg +0 -0
  944. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nunjucks.svg +0 -0
  945. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nuxt.svg +0 -0
  946. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nx.svg +0 -0
  947. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_nyc.svg +0 -0
  948. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_objectivec.svg +0 -0
  949. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_objectivecpp.svg +0 -0
  950. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_objidconfig.svg +0 -0
  951. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ocaml.svg +0 -0
  952. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ocaml_intf.svg +0 -0
  953. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ogone.svg +0 -0
  954. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_onenote.svg +0 -0
  955. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_opam.svg +0 -0
  956. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_openHAB.svg +0 -0
  957. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_opencl.svg +0 -0
  958. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_openscad.svg +0 -0
  959. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_opentofu.svg +0 -0
  960. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_org.svg +0 -0
  961. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_outlook.svg +0 -0
  962. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ovpn.svg +0 -0
  963. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_oxlint.svg +0 -0
  964. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_package.svg +0 -0
  965. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_paket.svg +0 -0
  966. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pandacss.svg +0 -0
  967. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_patch.svg +0 -0
  968. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pcl.svg +0 -0
  969. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pddl.svg +0 -0
  970. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pddl_happenings.svg +0 -0
  971. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pddl_plan.svg +0 -0
  972. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pdf.svg +0 -0
  973. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pdf2.svg +0 -0
  974. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pdm.svg +0 -0
  975. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_peeky.svg +0 -0
  976. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_perl.svg +0 -0
  977. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_perl2.svg +0 -0
  978. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_perl6.svg +0 -0
  979. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pgsql.svg +0 -0
  980. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_photoshop.svg +0 -0
  981. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_photoshop2.svg +0 -0
  982. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_php.svg +0 -0
  983. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_php2.svg +0 -0
  984. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_php3.svg +0 -0
  985. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_phpcsfixer.svg +0 -0
  986. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_phpstan.svg +0 -0
  987. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_phpunit.svg +0 -0
  988. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_phraseapp.svg +0 -0
  989. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pine.svg +0 -0
  990. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pip.svg +0 -0
  991. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pipeline.svg +0 -0
  992. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_plantuml.svg +0 -0
  993. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_platformio.svg +0 -0
  994. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_playwright.svg +0 -0
  995. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_plsql.svg +0 -0
  996. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_plsql_package.svg +0 -0
  997. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_plsql_package_body.svg +0 -0
  998. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_plsql_package_header.svg +0 -0
  999. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_plsql_package_spec.svg +0 -0
  1000. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pm2.svg +0 -0
  1001. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pnpm.svg +0 -0
  1002. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_poedit.svg +0 -0
  1003. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_poetry.svg +0 -0
  1004. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_polymer.svg +0 -0
  1005. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pony.svg +0 -0
  1006. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_postcss.svg +0 -0
  1007. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_postcssconfig.svg +0 -0
  1008. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_postman.svg +0 -0
  1009. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_powerpoint.svg +0 -0
  1010. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_powerpoint2.svg +0 -0
  1011. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_powershell.svg +0 -0
  1012. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_powershell2.svg +0 -0
  1013. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_powershell_format.svg +0 -0
  1014. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_powershell_psd.svg +0 -0
  1015. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_powershell_psd2.svg +0 -0
  1016. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_powershell_psm.svg +0 -0
  1017. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_powershell_psm2.svg +0 -0
  1018. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_powershell_types.svg +0 -0
  1019. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_preact.svg +0 -0
  1020. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_precommit.svg +0 -0
  1021. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_prettier.svg +0 -0
  1022. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_prisma.svg +0 -0
  1023. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_processinglang.svg +0 -0
  1024. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_procfile.svg +0 -0
  1025. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_progress.svg +0 -0
  1026. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_prolog.svg +0 -0
  1027. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_prometheus.svg +0 -0
  1028. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_protobuf.svg +0 -0
  1029. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_protractor.svg +0 -0
  1030. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_publiccode.svg +0 -0
  1031. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_publisher.svg +0 -0
  1032. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pug.svg +0 -0
  1033. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pulumi.svg +0 -0
  1034. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_puppet.svg +0 -0
  1035. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_purescript.svg +0 -0
  1036. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_purgecss.svg +0 -0
  1037. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pyenv.svg +0 -0
  1038. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pyret.svg +0 -0
  1039. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pyscript.svg +0 -0
  1040. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pytest.svg +0 -0
  1041. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_python.svg +0 -0
  1042. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pythowo.svg +0 -0
  1043. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pytyped.svg +0 -0
  1044. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_pyup.svg +0 -0
  1045. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_q.svg +0 -0
  1046. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_qbs.svg +0 -0
  1047. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_qlikview.svg +0 -0
  1048. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_qml.svg +0 -0
  1049. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_qmldir.svg +0 -0
  1050. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_qsharp.svg +0 -0
  1051. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_quasar.svg +0 -0
  1052. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_r.svg +0 -0
  1053. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ra_syntax_tree.svg +0 -0
  1054. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_racket.svg +0 -0
  1055. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rails.svg +0 -0
  1056. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rake.svg +0 -0
  1057. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_raku.svg +0 -0
  1058. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_raml.svg +0 -0
  1059. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_razor.svg +0 -0
  1060. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_razzle.svg +0 -0
  1061. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_reactjs.svg +0 -0
  1062. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_reactrouter.svg +0 -0
  1063. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_reacttemplate.svg +0 -0
  1064. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_reactts.svg +0 -0
  1065. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_reason.svg +0 -0
  1066. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_red.svg +0 -0
  1067. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_registry.svg +0 -0
  1068. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rego.svg +0 -0
  1069. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rehype.svg +0 -0
  1070. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_remark.svg +0 -0
  1071. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_renovate.svg +0 -0
  1072. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_replit.svg +0 -0
  1073. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rescript.svg +0 -0
  1074. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rest.svg +0 -0
  1075. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_retext.svg +0 -0
  1076. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rexx.svg +0 -0
  1077. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_riot.svg +0 -0
  1078. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rmd.svg +0 -0
  1079. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rnc.svg +0 -0
  1080. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_robotframework.svg +0 -0
  1081. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_robots.svg +0 -0
  1082. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rolldown.svg +0 -0
  1083. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rollup.svg +0 -0
  1084. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rome.svg +0 -0
  1085. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ron.svg +0 -0
  1086. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rproj.svg +0 -0
  1087. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rspec.svg +0 -0
  1088. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rss.svg +0 -0
  1089. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rubocop.svg +0 -0
  1090. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ruby.svg +0 -0
  1091. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rust.svg +0 -0
  1092. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_rust_toolchain.svg +0 -0
  1093. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_s-lang.svg +0 -0
  1094. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_safetensors.svg +0 -0
  1095. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sails.svg +0 -0
  1096. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_saltstack.svg +0 -0
  1097. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_san.svg +0 -0
  1098. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sapphire_framework_cli.svg +0 -0
  1099. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sas.svg +0 -0
  1100. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sass.svg +0 -0
  1101. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sbt.svg +0 -0
  1102. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_scala.svg +0 -0
  1103. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_scilab.svg +0 -0
  1104. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_script.svg +0 -0
  1105. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_scss.svg +0 -0
  1106. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_scss2.svg +0 -0
  1107. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sdlang.svg +0 -0
  1108. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_search_result.svg +0 -0
  1109. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_seedkit.svg +0 -0
  1110. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sentry.svg +0 -0
  1111. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sequelize.svg +0 -0
  1112. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_serverless.svg +0 -0
  1113. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_shaderlab.svg +0 -0
  1114. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_shell.svg +0 -0
  1115. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_shellcheck.svg +0 -0
  1116. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_shuttle.svg +0 -0
  1117. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_silverstripe.svg +0 -0
  1118. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sino.svg +0 -0
  1119. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_siyuan.svg +0 -0
  1120. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sketch.svg +0 -0
  1121. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_skipper.svg +0 -0
  1122. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_slang.svg +0 -0
  1123. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_slashup.svg +0 -0
  1124. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_slice.svg +0 -0
  1125. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_slim.svg +0 -0
  1126. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_slint.svg +0 -0
  1127. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sln.svg +0 -0
  1128. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sln2.svg +0 -0
  1129. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_smarty.svg +0 -0
  1130. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_snakemake.svg +0 -0
  1131. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_snapcraft.svg +0 -0
  1132. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_snaplet.svg +0 -0
  1133. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_snort.svg +0 -0
  1134. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_snyk.svg +0 -0
  1135. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_solidarity.svg +0 -0
  1136. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_solidity.svg +0 -0
  1137. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_source.svg +0 -0
  1138. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_spacengine.svg +0 -0
  1139. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sparql.svg +0 -0
  1140. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_spin.svg +0 -0
  1141. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sqf.svg +0 -0
  1142. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sql.svg +0 -0
  1143. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sqlite.svg +0 -0
  1144. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_squirrel.svg +0 -0
  1145. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sss.svg +0 -0
  1146. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sst.svg +0 -0
  1147. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_stackblitz.svg +0 -0
  1148. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_stan.svg +0 -0
  1149. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_stata.svg +0 -0
  1150. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_stencil.svg +0 -0
  1151. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_storyboard.svg +0 -0
  1152. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_storybook.svg +0 -0
  1153. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_stryker.svg +0 -0
  1154. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_stylable.svg +0 -0
  1155. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_style.svg +0 -0
  1156. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_styled.svg +0 -0
  1157. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_stylelint.svg +0 -0
  1158. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_stylish_haskell.svg +0 -0
  1159. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_stylus.svg +0 -0
  1160. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_sublime.svg +0 -0
  1161. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_subversion.svg +0 -0
  1162. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_svelte.svg +0 -0
  1163. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_svelteconfig.svg +0 -0
  1164. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_svg.svg +0 -0
  1165. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_svgo.svg +0 -0
  1166. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_swagger.svg +0 -0
  1167. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_swc.svg +0 -0
  1168. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_swift.svg +0 -0
  1169. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_swig.svg +0 -0
  1170. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_symfony.svg +0 -0
  1171. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_syncpack.svg +0 -0
  1172. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_systemd.svg +0 -0
  1173. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_systemverilog.svg +0 -0
  1174. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_t4tt.svg +0 -0
  1175. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tailwind.svg +0 -0
  1176. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tamagui.svg +0 -0
  1177. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_taplo.svg +0 -0
  1178. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_taskfile.svg +0 -0
  1179. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tauri.svg +0 -0
  1180. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tcl.svg +0 -0
  1181. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_teal.svg +0 -0
  1182. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_templ.svg +0 -0
  1183. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tera.svg +0 -0
  1184. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_terraform.svg +0 -0
  1185. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_test.svg +0 -0
  1186. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_testcafe.svg +0 -0
  1187. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_testjs.svg +0 -0
  1188. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_testplane.svg +0 -0
  1189. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_testts.svg +0 -0
  1190. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tex.svg +0 -0
  1191. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_text.svg +0 -0
  1192. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_textile.svg +0 -0
  1193. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tfs.svg +0 -0
  1194. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tiltfile.svg +0 -0
  1195. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tm.svg +0 -0
  1196. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tmux.svg +0 -0
  1197. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_todo.svg +0 -0
  1198. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_toit.svg +0 -0
  1199. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_toml.svg +0 -0
  1200. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tox.svg +0 -0
  1201. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_travis.svg +0 -0
  1202. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tree.svg +0 -0
  1203. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tres.svg +0 -0
  1204. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_truffle.svg +0 -0
  1205. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_trunk.svg +0 -0
  1206. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tsbuildinfo.svg +0 -0
  1207. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tscn.svg +0 -0
  1208. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tsconfig.svg +0 -0
  1209. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tsconfig_official.svg +0 -0
  1210. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tsdoc.svg +0 -0
  1211. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tslint.svg +0 -0
  1212. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tt.svg +0 -0
  1213. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_ttcn.svg +0 -0
  1214. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_tuc.svg +0 -0
  1215. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_turbo.svg +0 -0
  1216. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_twig.svg +0 -0
  1217. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_typedoc.svg +0 -0
  1218. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_typescript.svg +0 -0
  1219. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_typescript_official.svg +0 -0
  1220. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_typescriptdef.svg +0 -0
  1221. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_typescriptdef_official.svg +0 -0
  1222. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_typo3.svg +0 -0
  1223. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_uiua.svg +0 -0
  1224. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_unibeautify.svg +0 -0
  1225. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_unison.svg +0 -0
  1226. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_unlicense.svg +0 -0
  1227. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_unocss.svg +0 -0
  1228. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vagrant.svg +0 -0
  1229. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vala.svg +0 -0
  1230. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vanilla_extract.svg +0 -0
  1231. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vapi.svg +0 -0
  1232. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vapor.svg +0 -0
  1233. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vash.svg +0 -0
  1234. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vb.svg +0 -0
  1235. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vba.svg +0 -0
  1236. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vbhtml.svg +0 -0
  1237. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vbproj.svg +0 -0
  1238. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vcxproj.svg +0 -0
  1239. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_velocity.svg +0 -0
  1240. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vento.svg +0 -0
  1241. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vercel.svg +0 -0
  1242. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_verilog.svg +0 -0
  1243. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vhdl.svg +0 -0
  1244. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_video.svg +0 -0
  1245. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_view.svg +0 -0
  1246. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vim.svg +0 -0
  1247. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vite.svg +0 -0
  1248. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vitest.svg +0 -0
  1249. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vlang.svg +0 -0
  1250. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_volt.svg +0 -0
  1251. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vscode-insiders.svg +0 -0
  1252. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vscode.svg +0 -0
  1253. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vscode2.svg +0 -0
  1254. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vscode3.svg +0 -0
  1255. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vscode_test.svg +0 -0
  1256. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vsix.svg +0 -0
  1257. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vsixmanifest.svg +0 -0
  1258. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vue.svg +0 -0
  1259. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vueconfig.svg +0 -0
  1260. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_vyper.svg +0 -0
  1261. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wallaby.svg +0 -0
  1262. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wally.svg +0 -0
  1263. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wasm.svg +0 -0
  1264. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_watchmanconfig.svg +0 -0
  1265. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wdio.svg +0 -0
  1266. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_weblate.svg +0 -0
  1267. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_webpack.svg +0 -0
  1268. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wenyan.svg +0 -0
  1269. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wercker.svg +0 -0
  1270. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wgsl.svg +0 -0
  1271. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wikitext.svg +0 -0
  1272. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_windi.svg +0 -0
  1273. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wit.svg +0 -0
  1274. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wolfram.svg +0 -0
  1275. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_word.svg +0 -0
  1276. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_word2.svg +0 -0
  1277. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wpml.svg +0 -0
  1278. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wurst.svg +0 -0
  1279. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wxml.svg +0 -0
  1280. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wxss.svg +0 -0
  1281. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_wxt.svg +0 -0
  1282. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_xcode.svg +0 -0
  1283. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_xfl.svg +0 -0
  1284. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_xib.svg +0 -0
  1285. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_xliff.svg +0 -0
  1286. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_xmake.svg +0 -0
  1287. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_xml.svg +0 -0
  1288. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_xo.svg +0 -0
  1289. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_xorg.svg +0 -0
  1290. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_xquery.svg +0 -0
  1291. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_xsl.svg +0 -0
  1292. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_yacc.svg +0 -0
  1293. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_yaml.svg +0 -0
  1294. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_yaml_official.svg +0 -0
  1295. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_yamllint.svg +0 -0
  1296. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_yandex.svg +0 -0
  1297. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_yang.svg +0 -0
  1298. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_yarn.svg +0 -0
  1299. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_yeoman.svg +0 -0
  1300. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_zeit.svg +0 -0
  1301. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_zig.svg +0 -0
  1302. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_zip.svg +0 -0
  1303. /package/static/{03f3661 → 03e29f4}/file-icons/file_type_zip2.svg +0 -0
  1304. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_android.svg +0 -0
  1305. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_android_opened.svg +0 -0
  1306. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_api.svg +0 -0
  1307. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_api_opened.svg +0 -0
  1308. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_app.svg +0 -0
  1309. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_app_opened.svg +0 -0
  1310. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_arangodb.svg +0 -0
  1311. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_arangodb_opened.svg +0 -0
  1312. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_asset.svg +0 -0
  1313. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_asset_opened.svg +0 -0
  1314. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_audio.svg +0 -0
  1315. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_audio_opened.svg +0 -0
  1316. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_aurelia.svg +0 -0
  1317. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_aurelia_opened.svg +0 -0
  1318. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_aws.svg +0 -0
  1319. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_aws_opened.svg +0 -0
  1320. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_azure.svg +0 -0
  1321. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_azure_opened.svg +0 -0
  1322. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_azurepipelines.svg +0 -0
  1323. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_azurepipelines_opened.svg +0 -0
  1324. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_binary.svg +0 -0
  1325. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_binary_opened.svg +0 -0
  1326. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_bloc.svg +0 -0
  1327. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_bloc_opened.svg +0 -0
  1328. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_blueprint.svg +0 -0
  1329. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_blueprint_opened.svg +0 -0
  1330. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_bot.svg +0 -0
  1331. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_bot_opened.svg +0 -0
  1332. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_bower.svg +0 -0
  1333. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_bower_opened.svg +0 -0
  1334. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_buildkite.svg +0 -0
  1335. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_buildkite_opened.svg +0 -0
  1336. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_cake.svg +0 -0
  1337. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_cake_opened.svg +0 -0
  1338. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_certificate.svg +0 -0
  1339. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_certificate_opened.svg +0 -0
  1340. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_changesets.svg +0 -0
  1341. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_changesets_opened.svg +0 -0
  1342. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_chef.svg +0 -0
  1343. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_chef_opened.svg +0 -0
  1344. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_circleci.svg +0 -0
  1345. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_circleci_opened.svg +0 -0
  1346. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_cli.svg +0 -0
  1347. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_cli_opened.svg +0 -0
  1348. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_client.svg +0 -0
  1349. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_client_opened.svg +0 -0
  1350. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_cmake.svg +0 -0
  1351. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_cmake_opened.svg +0 -0
  1352. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_common.svg +0 -0
  1353. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_common_opened.svg +0 -0
  1354. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_component.svg +0 -0
  1355. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_component_opened.svg +0 -0
  1356. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_composer.svg +0 -0
  1357. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_composer_opened.svg +0 -0
  1358. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_config.svg +0 -0
  1359. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_config_opened.svg +0 -0
  1360. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_controller.svg +0 -0
  1361. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_controller_opened.svg +0 -0
  1362. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_coverage.svg +0 -0
  1363. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_coverage_opened.svg +0 -0
  1364. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_css.svg +0 -0
  1365. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_css2.svg +0 -0
  1366. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_css2_opened.svg +0 -0
  1367. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_css_opened.svg +0 -0
  1368. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_cubit.svg +0 -0
  1369. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_cubit_opened.svg +0 -0
  1370. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_cypress.svg +0 -0
  1371. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_cypress_opened.svg +0 -0
  1372. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_dapr.svg +0 -0
  1373. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_dapr_opened.svg +0 -0
  1374. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_datadog.svg +0 -0
  1375. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_datadog_opened.svg +0 -0
  1376. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_db.svg +0 -0
  1377. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_db_opened.svg +0 -0
  1378. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_debian.svg +0 -0
  1379. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_debian_opened.svg +0 -0
  1380. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_dependabot.svg +0 -0
  1381. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_dependabot_opened.svg +0 -0
  1382. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_devcontainer.svg +0 -0
  1383. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_devcontainer_opened.svg +0 -0
  1384. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_dist.svg +0 -0
  1385. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_dist_opened.svg +0 -0
  1386. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_docker.svg +0 -0
  1387. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_docker_opened.svg +0 -0
  1388. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_docs.svg +0 -0
  1389. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_docs_opened.svg +0 -0
  1390. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_e2e.svg +0 -0
  1391. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_e2e_opened.svg +0 -0
  1392. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_elasticbeanstalk.svg +0 -0
  1393. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_elasticbeanstalk_opened.svg +0 -0
  1394. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_electron.svg +0 -0
  1395. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_electron_opened.svg +0 -0
  1396. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_expo.svg +0 -0
  1397. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_expo_opened.svg +0 -0
  1398. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_favicon.svg +0 -0
  1399. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_favicon_opened.svg +0 -0
  1400. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_flow.svg +0 -0
  1401. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_flow_opened.svg +0 -0
  1402. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_fonts.svg +0 -0
  1403. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_fonts_opened.svg +0 -0
  1404. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_frontcommerce.svg +0 -0
  1405. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_frontcommerce_opened.svg +0 -0
  1406. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_gcp.svg +0 -0
  1407. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_gcp_opened.svg +0 -0
  1408. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_git.svg +0 -0
  1409. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_git_opened.svg +0 -0
  1410. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_github.svg +0 -0
  1411. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_github_opened.svg +0 -0
  1412. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_gitlab.svg +0 -0
  1413. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_gitlab_opened.svg +0 -0
  1414. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_gradle.svg +0 -0
  1415. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_gradle_opened.svg +0 -0
  1416. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_graphql.svg +0 -0
  1417. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_graphql_opened.svg +0 -0
  1418. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_grunt.svg +0 -0
  1419. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_grunt_opened.svg +0 -0
  1420. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_gulp.svg +0 -0
  1421. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_gulp_opened.svg +0 -0
  1422. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_haxelib.svg +0 -0
  1423. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_haxelib_opened.svg +0 -0
  1424. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_helper.svg +0 -0
  1425. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_helper_opened.svg +0 -0
  1426. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_hook.svg +0 -0
  1427. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_hook_opened.svg +0 -0
  1428. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_husky.svg +0 -0
  1429. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_husky_opened.svg +0 -0
  1430. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_idea.svg +0 -0
  1431. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_idea_opened.svg +0 -0
  1432. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_images.svg +0 -0
  1433. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_images_opened.svg +0 -0
  1434. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_include.svg +0 -0
  1435. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_include_opened.svg +0 -0
  1436. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_interfaces.svg +0 -0
  1437. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_interfaces_opened.svg +0 -0
  1438. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_ios.svg +0 -0
  1439. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_ios_opened.svg +0 -0
  1440. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_js.svg +0 -0
  1441. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_js_opened.svg +0 -0
  1442. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_json.svg +0 -0
  1443. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_json_official.svg +0 -0
  1444. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_json_official_opened.svg +0 -0
  1445. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_json_opened.svg +0 -0
  1446. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_kubernetes.svg +0 -0
  1447. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_kubernetes_opened.svg +0 -0
  1448. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_less.svg +0 -0
  1449. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_less_opened.svg +0 -0
  1450. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_library.svg +0 -0
  1451. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_library_opened.svg +0 -0
  1452. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_cypress.svg +0 -0
  1453. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_cypress_opened.svg +0 -0
  1454. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_electron.svg +0 -0
  1455. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_electron_opened.svg +0 -0
  1456. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_expo.svg +0 -0
  1457. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_expo_opened.svg +0 -0
  1458. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_fonts.svg +0 -0
  1459. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_fonts_opened.svg +0 -0
  1460. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_gradle.svg +0 -0
  1461. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_gradle_opened.svg +0 -0
  1462. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_meteor.svg +0 -0
  1463. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_meteor_opened.svg +0 -0
  1464. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_mypy.svg +0 -0
  1465. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_mypy_opened.svg +0 -0
  1466. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_mysql.svg +0 -0
  1467. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_mysql_opened.svg +0 -0
  1468. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_node.svg +0 -0
  1469. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_node_opened.svg +0 -0
  1470. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_redux.svg +0 -0
  1471. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_redux_opened.svg +0 -0
  1472. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_sass.svg +0 -0
  1473. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_light_sass_opened.svg +0 -0
  1474. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_linux.svg +0 -0
  1475. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_linux_opened.svg +0 -0
  1476. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_locale.svg +0 -0
  1477. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_locale_opened.svg +0 -0
  1478. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_log.svg +0 -0
  1479. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_log_opened.svg +0 -0
  1480. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_macos.svg +0 -0
  1481. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_macos_opened.svg +0 -0
  1482. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mariadb.svg +0 -0
  1483. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mariadb_opened.svg +0 -0
  1484. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_maven.svg +0 -0
  1485. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_maven_opened.svg +0 -0
  1486. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mediawiki.svg +0 -0
  1487. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mediawiki_opened.svg +0 -0
  1488. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_memcached.svg +0 -0
  1489. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_memcached_opened.svg +0 -0
  1490. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_meteor.svg +0 -0
  1491. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_meteor_opened.svg +0 -0
  1492. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_middleware.svg +0 -0
  1493. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_middleware_opened.svg +0 -0
  1494. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_minecraft.svg +0 -0
  1495. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_minecraft_opened.svg +0 -0
  1496. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_minikube.svg +0 -0
  1497. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_minikube_opened.svg +0 -0
  1498. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mjml.svg +0 -0
  1499. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mjml_opened.svg +0 -0
  1500. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mock.svg +0 -0
  1501. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mock_opened.svg +0 -0
  1502. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_model.svg +0 -0
  1503. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_model_opened.svg +0 -0
  1504. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_module.svg +0 -0
  1505. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_module_opened.svg +0 -0
  1506. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mojo.svg +0 -0
  1507. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mojo_opened.svg +0 -0
  1508. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mongodb.svg +0 -0
  1509. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mongodb_opened.svg +0 -0
  1510. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mypy.svg +0 -0
  1511. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mypy_opened.svg +0 -0
  1512. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mysql.svg +0 -0
  1513. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_mysql_opened.svg +0 -0
  1514. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_netlify.svg +0 -0
  1515. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_netlify_opened.svg +0 -0
  1516. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_next.svg +0 -0
  1517. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_next_opened.svg +0 -0
  1518. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_nginx.svg +0 -0
  1519. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_nginx_opened.svg +0 -0
  1520. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_nix.svg +0 -0
  1521. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_nix_opened.svg +0 -0
  1522. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_node.svg +0 -0
  1523. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_node_opened.svg +0 -0
  1524. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_notebooks.svg +0 -0
  1525. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_notebooks_opened.svg +0 -0
  1526. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_notification.svg +0 -0
  1527. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_notification_opened.svg +0 -0
  1528. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_nuget.svg +0 -0
  1529. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_nuget_opened.svg +0 -0
  1530. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_nuxt.svg +0 -0
  1531. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_nuxt_opened.svg +0 -0
  1532. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_package.svg +0 -0
  1533. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_package_opened.svg +0 -0
  1534. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_paket.svg +0 -0
  1535. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_paket_opened.svg +0 -0
  1536. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_php.svg +0 -0
  1537. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_php_opened.svg +0 -0
  1538. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_platformio.svg +0 -0
  1539. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_platformio_opened.svg +0 -0
  1540. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_plugin.svg +0 -0
  1541. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_plugin_opened.svg +0 -0
  1542. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_prisma.svg +0 -0
  1543. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_prisma_opened.svg +0 -0
  1544. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_private.svg +0 -0
  1545. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_private_opened.svg +0 -0
  1546. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_public.svg +0 -0
  1547. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_public_opened.svg +0 -0
  1548. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_pytest.svg +0 -0
  1549. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_pytest_opened.svg +0 -0
  1550. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_python.svg +0 -0
  1551. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_python_opened.svg +0 -0
  1552. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_ravendb.svg +0 -0
  1553. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_ravendb_opened.svg +0 -0
  1554. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_redis.svg +0 -0
  1555. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_redis_opened.svg +0 -0
  1556. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_redux.svg +0 -0
  1557. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_redux_opened.svg +0 -0
  1558. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_route.svg +0 -0
  1559. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_route_opened.svg +0 -0
  1560. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_sass.svg +0 -0
  1561. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_sass_opened.svg +0 -0
  1562. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_script.svg +0 -0
  1563. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_script_opened.svg +0 -0
  1564. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_seedkit.svg +0 -0
  1565. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_seedkit_opened.svg +0 -0
  1566. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_server.svg +0 -0
  1567. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_server_opened.svg +0 -0
  1568. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_services.svg +0 -0
  1569. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_services_opened.svg +0 -0
  1570. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_shared.svg +0 -0
  1571. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_shared_opened.svg +0 -0
  1572. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_snaplet.svg +0 -0
  1573. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_snaplet_opened.svg +0 -0
  1574. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_spin.svg +0 -0
  1575. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_spin_opened.svg +0 -0
  1576. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_src.svg +0 -0
  1577. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_src_opened.svg +0 -0
  1578. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_sso.svg +0 -0
  1579. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_sso_opened.svg +0 -0
  1580. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_story.svg +0 -0
  1581. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_story_opened.svg +0 -0
  1582. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_style.svg +0 -0
  1583. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_style_opened.svg +0 -0
  1584. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_supabase.svg +0 -0
  1585. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_supabase_opened.svg +0 -0
  1586. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_svelte.svg +0 -0
  1587. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_svelte_opened.svg +0 -0
  1588. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_tauri.svg +0 -0
  1589. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_tauri_opened.svg +0 -0
  1590. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_temp.svg +0 -0
  1591. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_temp_opened.svg +0 -0
  1592. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_template.svg +0 -0
  1593. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_template_opened.svg +0 -0
  1594. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_test.svg +0 -0
  1595. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_test_opened.svg +0 -0
  1596. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_theme.svg +0 -0
  1597. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_theme_opened.svg +0 -0
  1598. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_tools.svg +0 -0
  1599. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_tools_opened.svg +0 -0
  1600. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_travis.svg +0 -0
  1601. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_travis_opened.svg +0 -0
  1602. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_trunk.svg +0 -0
  1603. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_trunk_opened.svg +0 -0
  1604. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_turbo.svg +0 -0
  1605. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_turbo_opened.svg +0 -0
  1606. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_typescript.svg +0 -0
  1607. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_typescript_opened.svg +0 -0
  1608. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_typings.svg +0 -0
  1609. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_typings2.svg +0 -0
  1610. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_typings2_opened.svg +0 -0
  1611. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_typings_opened.svg +0 -0
  1612. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vagrant.svg +0 -0
  1613. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vagrant_opened.svg +0 -0
  1614. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vercel.svg +0 -0
  1615. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vercel_opened.svg +0 -0
  1616. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_video.svg +0 -0
  1617. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_video_opened.svg +0 -0
  1618. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_view.svg +0 -0
  1619. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_view_opened.svg +0 -0
  1620. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vs.svg +0 -0
  1621. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vs2.svg +0 -0
  1622. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vs2_opened.svg +0 -0
  1623. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vs_opened.svg +0 -0
  1624. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vscode.svg +0 -0
  1625. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vscode2.svg +0 -0
  1626. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vscode2_opened.svg +0 -0
  1627. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vscode3.svg +0 -0
  1628. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vscode3_opened.svg +0 -0
  1629. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vscode_opened.svg +0 -0
  1630. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vscode_test.svg +0 -0
  1631. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vscode_test2.svg +0 -0
  1632. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vscode_test2_opened.svg +0 -0
  1633. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vscode_test3.svg +0 -0
  1634. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vscode_test3_opened.svg +0 -0
  1635. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_vscode_test_opened.svg +0 -0
  1636. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_webpack.svg +0 -0
  1637. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_webpack_opened.svg +0 -0
  1638. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_windows.svg +0 -0
  1639. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_windows_opened.svg +0 -0
  1640. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_wit.svg +0 -0
  1641. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_wit_opened.svg +0 -0
  1642. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_www.svg +0 -0
  1643. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_www_opened.svg +0 -0
  1644. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_yarn.svg +0 -0
  1645. /package/static/{03f3661 → 03e29f4}/file-icons/folder_type_yarn_opened.svg +0 -0
  1646. /package/static/{03f3661 → 03e29f4}/fonts/FiraCode-VariableFont.ttf +0 -0
  1647. /package/static/{03f3661 → 03e29f4}/icons/add.svg +0 -0
  1648. /package/static/{03f3661 → 03e29f4}/icons/arrow-down.svg +0 -0
  1649. /package/static/{03f3661 → 03e29f4}/icons/arrow-left.svg +0 -0
  1650. /package/static/{03f3661 → 03e29f4}/icons/arrow-right.svg +0 -0
  1651. /package/static/{03f3661 → 03e29f4}/icons/arrow-up.svg +0 -0
  1652. /package/static/{03f3661 → 03e29f4}/icons/blank.svg +0 -0
  1653. /package/static/{03f3661 → 03e29f4}/icons/book.svg +0 -0
  1654. /package/static/{03f3661 → 03e29f4}/icons/case-sensitive.svg +0 -0
  1655. /package/static/{03f3661 → 03e29f4}/icons/check.svg +0 -0
  1656. /package/static/{03f3661 → 03e29f4}/icons/chevron-down.svg +0 -0
  1657. /package/static/{03f3661 → 03e29f4}/icons/chevron-left.svg +0 -0
  1658. /package/static/{03f3661 → 03e29f4}/icons/chevron-right.svg +0 -0
  1659. /package/static/{03f3661 → 03e29f4}/icons/chevron-up.svg +0 -0
  1660. /package/static/{03f3661 → 03e29f4}/icons/chrome-close.svg +0 -0
  1661. /package/static/{03f3661 → 03e29f4}/icons/chrome-maximize.svg +0 -0
  1662. /package/static/{03f3661 → 03e29f4}/icons/chrome-minimize.svg +0 -0
  1663. /package/static/{03f3661 → 03e29f4}/icons/chrome-restore.svg +0 -0
  1664. /package/static/{03f3661 → 03e29f4}/icons/circle-filled.svg +0 -0
  1665. /package/static/{03f3661 → 03e29f4}/icons/clear-all.svg +0 -0
  1666. /package/static/{03f3661 → 03e29f4}/icons/close.svg +0 -0
  1667. /package/static/{03f3661 → 03e29f4}/icons/cloud.svg +0 -0
  1668. /package/static/{03f3661 → 03e29f4}/icons/collapse-all.svg +0 -0
  1669. /package/static/{03f3661 → 03e29f4}/icons/debug-all.svg +0 -0
  1670. /package/static/{03f3661 → 03e29f4}/icons/debug-alt-2.svg +0 -0
  1671. /package/static/{03f3661 → 03e29f4}/icons/debug-alt-small.svg +0 -0
  1672. /package/static/{03f3661 → 03e29f4}/icons/debug-alt.svg +0 -0
  1673. /package/static/{03f3661 → 03e29f4}/icons/debug-breakpoint-conditional-unverified.svg +0 -0
  1674. /package/static/{03f3661 → 03e29f4}/icons/debug-breakpoint-conditional.svg +0 -0
  1675. /package/static/{03f3661 → 03e29f4}/icons/debug-breakpoint-data-unverified.svg +0 -0
  1676. /package/static/{03f3661 → 03e29f4}/icons/debug-breakpoint-data.svg +0 -0
  1677. /package/static/{03f3661 → 03e29f4}/icons/debug-breakpoint-function-unverified.svg +0 -0
  1678. /package/static/{03f3661 → 03e29f4}/icons/debug-breakpoint-function.svg +0 -0
  1679. /package/static/{03f3661 → 03e29f4}/icons/debug-breakpoint-log-unverified.svg +0 -0
  1680. /package/static/{03f3661 → 03e29f4}/icons/debug-breakpoint-log.svg +0 -0
  1681. /package/static/{03f3661 → 03e29f4}/icons/debug-breakpoint-unsupported.svg +0 -0
  1682. /package/static/{03f3661 → 03e29f4}/icons/debug-console.svg +0 -0
  1683. /package/static/{03f3661 → 03e29f4}/icons/debug-continue-small.svg +0 -0
  1684. /package/static/{03f3661 → 03e29f4}/icons/debug-continue.svg +0 -0
  1685. /package/static/{03f3661 → 03e29f4}/icons/debug-coverage.svg +0 -0
  1686. /package/static/{03f3661 → 03e29f4}/icons/debug-disconnect.svg +0 -0
  1687. /package/static/{03f3661 → 03e29f4}/icons/debug-line-by-line.svg +0 -0
  1688. /package/static/{03f3661 → 03e29f4}/icons/debug-pause.svg +0 -0
  1689. /package/static/{03f3661 → 03e29f4}/icons/debug-rerun.svg +0 -0
  1690. /package/static/{03f3661 → 03e29f4}/icons/debug-restart-frame.svg +0 -0
  1691. /package/static/{03f3661 → 03e29f4}/icons/debug-restart.svg +0 -0
  1692. /package/static/{03f3661 → 03e29f4}/icons/debug-reverse-continue.svg +0 -0
  1693. /package/static/{03f3661 → 03e29f4}/icons/debug-stackframe-active.svg +0 -0
  1694. /package/static/{03f3661 → 03e29f4}/icons/debug-stackframe.svg +0 -0
  1695. /package/static/{03f3661 → 03e29f4}/icons/debug-start.svg +0 -0
  1696. /package/static/{03f3661 → 03e29f4}/icons/debug-step-back.svg +0 -0
  1697. /package/static/{03f3661 → 03e29f4}/icons/debug-step-into.svg +0 -0
  1698. /package/static/{03f3661 → 03e29f4}/icons/debug-step-out.svg +0 -0
  1699. /package/static/{03f3661 → 03e29f4}/icons/debug-step-over.svg +0 -0
  1700. /package/static/{03f3661 → 03e29f4}/icons/debug-stop.svg +0 -0
  1701. /package/static/{03f3661 → 03e29f4}/icons/debug.svg +0 -0
  1702. /package/static/{03f3661 → 03e29f4}/icons/discard.svg +0 -0
  1703. /package/static/{03f3661 → 03e29f4}/icons/edit.svg +0 -0
  1704. /package/static/{03f3661 → 03e29f4}/icons/ellipsis.svg +0 -0
  1705. /package/static/{03f3661 → 03e29f4}/icons/error.svg +0 -0
  1706. /package/static/{03f3661 → 03e29f4}/icons/exclude.svg +0 -0
  1707. /package/static/{03f3661 → 03e29f4}/icons/extensionDefaultIcon.png +0 -0
  1708. /package/static/{03f3661 → 03e29f4}/icons/extensions.svg +0 -0
  1709. /package/static/{03f3661 → 03e29f4}/icons/files.svg +0 -0
  1710. /package/static/{03f3661 → 03e29f4}/icons/filter.svg +0 -0
  1711. /package/static/{03f3661 → 03e29f4}/icons/go-to-file.svg +0 -0
  1712. /package/static/{03f3661 → 03e29f4}/icons/icon-close.svg +0 -0
  1713. /package/static/{03f3661 → 03e29f4}/icons/icon-source-control.svg +0 -0
  1714. /package/static/{03f3661 → 03e29f4}/icons/icon-sync.svg +0 -0
  1715. /package/static/{03f3661 → 03e29f4}/icons/icon.png +0 -0
  1716. /package/static/{03f3661 → 03e29f4}/icons/icon.svg +0 -0
  1717. /package/static/{03f3661 → 03e29f4}/icons/info.svg +0 -0
  1718. /package/static/{03f3661 → 03e29f4}/icons/language-icon.svg +0 -0
  1719. /package/static/{03f3661 → 03e29f4}/icons/link-external.svg +0 -0
  1720. /package/static/{03f3661 → 03e29f4}/icons/list-flat.svg +0 -0
  1721. /package/static/{03f3661 → 03e29f4}/icons/list-tree.svg +0 -0
  1722. /package/static/{03f3661 → 03e29f4}/icons/new-file.svg +0 -0
  1723. /package/static/{03f3661 → 03e29f4}/icons/new-folder.svg +0 -0
  1724. /package/static/{03f3661 → 03e29f4}/icons/newline.svg +0 -0
  1725. /package/static/{03f3661 → 03e29f4}/icons/open-preview.svg +0 -0
  1726. /package/static/{03f3661 → 03e29f4}/icons/play.svg +0 -0
  1727. /package/static/{03f3661 → 03e29f4}/icons/preserve-case.svg +0 -0
  1728. /package/static/{03f3661 → 03e29f4}/icons/progress.svg +0 -0
  1729. /package/static/{03f3661 → 03e29f4}/icons/pwa-icon-192.png +0 -0
  1730. /package/static/{03f3661 → 03e29f4}/icons/pwa-icon-512.png +0 -0
  1731. /package/static/{03f3661 → 03e29f4}/icons/record-keys.svg +0 -0
  1732. /package/static/{03f3661 → 03e29f4}/icons/refresh.svg +0 -0
  1733. /package/static/{03f3661 → 03e29f4}/icons/regex.svg +0 -0
  1734. /package/static/{03f3661 → 03e29f4}/icons/remove.svg +0 -0
  1735. /package/static/{03f3661 → 03e29f4}/icons/replace-all.svg +0 -0
  1736. /package/static/{03f3661 → 03e29f4}/icons/replace.svg +0 -0
  1737. /package/static/{03f3661 → 03e29f4}/icons/run-all.svg +0 -0
  1738. /package/static/{03f3661 → 03e29f4}/icons/search.svg +0 -0
  1739. /package/static/{03f3661 → 03e29f4}/icons/settings-gear.svg +0 -0
  1740. /package/static/{03f3661 → 03e29f4}/icons/sort-precedence.svg +0 -0
  1741. /package/static/{03f3661 → 03e29f4}/icons/source-control.svg +0 -0
  1742. /package/static/{03f3661 → 03e29f4}/icons/split-horizontal.svg +0 -0
  1743. /package/static/{03f3661 → 03e29f4}/icons/squiggly-error.svg +0 -0
  1744. /package/static/{03f3661 → 03e29f4}/icons/squiggly-warning.svg +0 -0
  1745. /package/static/{03f3661 → 03e29f4}/icons/symbol-array.svg +0 -0
  1746. /package/static/{03f3661 → 03e29f4}/icons/symbol-boolean.svg +0 -0
  1747. /package/static/{03f3661 → 03e29f4}/icons/symbol-class.svg +0 -0
  1748. /package/static/{03f3661 → 03e29f4}/icons/symbol-color.svg +0 -0
  1749. /package/static/{03f3661 → 03e29f4}/icons/symbol-constant.svg +0 -0
  1750. /package/static/{03f3661 → 03e29f4}/icons/symbol-enum-member.svg +0 -0
  1751. /package/static/{03f3661 → 03e29f4}/icons/symbol-enum.svg +0 -0
  1752. /package/static/{03f3661 → 03e29f4}/icons/symbol-event.svg +0 -0
  1753. /package/static/{03f3661 → 03e29f4}/icons/symbol-field.svg +0 -0
  1754. /package/static/{03f3661 → 03e29f4}/icons/symbol-file.svg +0 -0
  1755. /package/static/{03f3661 → 03e29f4}/icons/symbol-interface.svg +0 -0
  1756. /package/static/{03f3661 → 03e29f4}/icons/symbol-key.svg +0 -0
  1757. /package/static/{03f3661 → 03e29f4}/icons/symbol-keyword.svg +0 -0
  1758. /package/static/{03f3661 → 03e29f4}/icons/symbol-method.svg +0 -0
  1759. /package/static/{03f3661 → 03e29f4}/icons/symbol-misc.svg +0 -0
  1760. /package/static/{03f3661 → 03e29f4}/icons/symbol-namespace.svg +0 -0
  1761. /package/static/{03f3661 → 03e29f4}/icons/symbol-numeric.svg +0 -0
  1762. /package/static/{03f3661 → 03e29f4}/icons/symbol-operator.svg +0 -0
  1763. /package/static/{03f3661 → 03e29f4}/icons/symbol-parameter.svg +0 -0
  1764. /package/static/{03f3661 → 03e29f4}/icons/symbol-property.svg +0 -0
  1765. /package/static/{03f3661 → 03e29f4}/icons/symbol-ruler.svg +0 -0
  1766. /package/static/{03f3661 → 03e29f4}/icons/symbol-snippet.svg +0 -0
  1767. /package/static/{03f3661 → 03e29f4}/icons/symbol-string.svg +0 -0
  1768. /package/static/{03f3661 → 03e29f4}/icons/symbol-structure.svg +0 -0
  1769. /package/static/{03f3661 → 03e29f4}/icons/symbol-variable.svg +0 -0
  1770. /package/static/{03f3661 → 03e29f4}/icons/tag.svg +0 -0
  1771. /package/static/{03f3661 → 03e29f4}/icons/terminal-bash.svg +0 -0
  1772. /package/static/{03f3661 → 03e29f4}/icons/terminal.svg +0 -0
  1773. /package/static/{03f3661 → 03e29f4}/icons/theme-icon.png +0 -0
  1774. /package/static/{03f3661 → 03e29f4}/icons/trash.svg +0 -0
  1775. /package/static/{03f3661 → 03e29f4}/icons/triangle-down.svg +0 -0
  1776. /package/static/{03f3661 → 03e29f4}/icons/triangle-left.svg +0 -0
  1777. /package/static/{03f3661 → 03e29f4}/icons/triangle-right.svg +0 -0
  1778. /package/static/{03f3661 → 03e29f4}/icons/triangle-up.svg +0 -0
  1779. /package/static/{03f3661 → 03e29f4}/icons/warning.svg +0 -0
  1780. /package/static/{03f3661 → 03e29f4}/icons/whole-word.svg +0 -0
  1781. /package/static/{03f3661 → 03e29f4}/icons/zoom-in.svg +0 -0
  1782. /package/static/{03f3661 → 03e29f4}/icons/zoom-out.svg +0 -0
  1783. /package/static/{03f3661 → 03e29f4}/js/babel-parser.js +0 -0
  1784. /package/static/{03f3661 → 03e29f4}/js/blob-util.js +0 -0
  1785. /package/static/{03f3661 → 03e29f4}/js/ky.js +0 -0
  1786. /package/static/{03f3661 → 03e29f4}/js/lvce-editor-import-script.js +0 -0
  1787. /package/static/{03f3661 → 03e29f4}/js/lvce-editor-ipc.js +0 -0
  1788. /package/static/{03f3661 → 03e29f4}/js/lvce-editor-json-rpc.js +0 -0
  1789. /package/static/{03f3661 → 03e29f4}/js/lvce-editor-verror.js +0 -0
  1790. /package/static/{03f3661 → 03e29f4}/js/p-min-delay.js +0 -0
  1791. /package/static/{03f3661 → 03e29f4}/js/pretty-bytes.js +0 -0
  1792. /package/static/{03f3661 → 03e29f4}/js/preview-injected.js +0 -0
  1793. /package/static/{03f3661 → 03e29f4}/js/yoctodelay.js +0 -0
  1794. /package/static/{03f3661 → 03e29f4}/lib-css/termterm.css +0 -0
  1795. /package/static/{03f3661 → 03e29f4}/packages/color-picker-worker/dist/colorPickerWorkerMain.js +0 -0
  1796. /package/static/{03f3661 → 03e29f4}/packages/completion-worker/dist/completionWorkerMain.js +0 -0
  1797. /package/static/{03f3661 → 03e29f4}/packages/diff-worker/dist/diffWorkerMain.js +0 -0
  1798. /package/static/{03f3661 → 03e29f4}/packages/editor-worker/dist/editorWorkerMain.js +0 -0
  1799. /package/static/{03f3661 → 03e29f4}/packages/embeds-worker/dist/embedsWorkerMain.js +0 -0
  1800. /package/static/{03f3661 → 03e29f4}/packages/error-worker/dist/errorWorkerMain.js +0 -0
  1801. /package/static/{03f3661 → 03e29f4}/packages/explorer-worker/dist/explorerViewWorkerMain.js +0 -0
  1802. /package/static/{03f3661 → 03e29f4}/packages/extension-detail-view-worker/dist/extensionDetailViewWorkerMain.js +0 -0
  1803. /package/static/{03f3661 → 03e29f4}/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js +0 -0
  1804. /package/static/{03f3661 → 03e29f4}/packages/extension-search-view-worker/dist/extensionSearchViewWorkerMain.js +0 -0
  1805. /package/static/{03f3661 → 03e29f4}/packages/file-search-worker/dist/fileSearchWorkerMain.js +0 -0
  1806. /package/static/{03f3661 → 03e29f4}/packages/file-system-worker/dist/fileSystemWorkerMain.js +0 -0
  1807. /package/static/{03f3661 → 03e29f4}/packages/find-widget-worker/dist/findWidgetWorkerMain.js +0 -0
  1808. /package/static/{03f3661 → 03e29f4}/packages/iframe-inspector/dist/iframeInspectorWorkerMain.js +0 -0
  1809. /package/static/{03f3661 → 03e29f4}/packages/iframe-worker/dist/iframeWorkerMain.js +0 -0
  1810. /package/static/{03f3661 → 03e29f4}/packages/keybindings-view-worker/dist/keyBindingsViewWorkerMain.js +0 -0
  1811. /package/static/{03f3661 → 03e29f4}/packages/markdown-worker/dist/markdownWorkerMain.js +0 -0
  1812. /package/static/{03f3661 → 03e29f4}/packages/rename-worker/dist/renameWorkerMain.js +0 -0
  1813. /package/static/{03f3661 → 03e29f4}/packages/renderer-process/LICENSE +0 -0
  1814. /package/static/{03f3661 → 03e29f4}/packages/renderer-process/README.md +0 -0
  1815. /package/static/{03f3661 → 03e29f4}/packages/renderer-process/package.json +0 -0
  1816. /package/static/{03f3661 → 03e29f4}/packages/source-control-worker/dist/sourceControlWorkerMain.js +0 -0
  1817. /package/static/{03f3661 → 03e29f4}/packages/syntax-highlighting-worker/dist/syntaxHighlightingWorkerMain.js +0 -0
  1818. /package/static/{03f3661 → 03e29f4}/packages/terminal-worker/dist/terminalWorkerMain.js +0 -0
  1819. /package/static/{03f3661 → 03e29f4}/packages/test-worker/dist/testWorkerMain.js +0 -0
  1820. /package/static/{03f3661 → 03e29f4}/packages/text-search-worker/dist/textSearchWorkerMain.js +0 -0
  1821. /package/static/{03f3661 → 03e29f4}/packages/title-bar-worker/dist/titleBarWorkerMain.js +0 -0
  1822. /package/static/{03f3661 → 03e29f4}/playground/languages/index.cpp +0 -0
  1823. /package/static/{03f3661 → 03e29f4}/playground/languages/index.css +0 -0
  1824. /package/static/{03f3661 → 03e29f4}/playground/languages/index.csv +0 -0
  1825. /package/static/{03f3661 → 03e29f4}/playground/languages/index.dart +0 -0
  1826. /package/static/{03f3661 → 03e29f4}/playground/languages/index.env +0 -0
  1827. /package/static/{03f3661 → 03e29f4}/playground/languages/index.ex +0 -0
  1828. /package/static/{03f3661 → 03e29f4}/playground/languages/index.html +0 -0
  1829. /package/static/{03f3661 → 03e29f4}/playground/languages/index.java +0 -0
  1830. /package/static/{03f3661 → 03e29f4}/playground/languages/index.jl +0 -0
  1831. /package/static/{03f3661 → 03e29f4}/playground/languages/index.js +0 -0
  1832. /package/static/{03f3661 → 03e29f4}/playground/languages/index.json +0 -0
  1833. /package/static/{03f3661 → 03e29f4}/playground/languages/index.kt +0 -0
  1834. /package/static/{03f3661 → 03e29f4}/playground/languages/index.pl +0 -0
  1835. /package/static/{03f3661 → 03e29f4}/playground/languages/index.py +0 -0
  1836. /package/static/{03f3661 → 03e29f4}/playground/languages/index.ts +0 -0
  1837. /package/static/{03f3661 → 03e29f4}/playground/languages/scrolling.txt +0 -0
  1838. /package/static/{03f3661 → 03e29f4}/playground/languages/tsconfig.json +0 -0
  1839. /package/static/{03f3661 → 03e29f4}/playground/sample-folder/a.txt +0 -0
  1840. /package/static/{03f3661 → 03e29f4}/playground/sample-folder/b.txt +0 -0
  1841. /package/static/{03f3661 → 03e29f4}/playground/sample-folder/c.txt +0 -0
@@ -994,9 +994,10 @@ const WebWorkerRpcClient = {
994
994
  create: create$4
995
995
  };
996
996
 
997
- const None$5 = 0;
997
+ const None$6 = 0;
998
998
  const Paused = 1;
999
999
  const Default = 2;
1000
+ const Unavailable = 3;
1000
1001
 
1001
1002
  const rpcs = Object.create(null);
1002
1003
  const set$d = (id, rpc) => {
@@ -1094,93 +1095,97 @@ const executeProvider = async ({
1094
1095
  return result;
1095
1096
  };
1096
1097
 
1098
+ const getDebugEvent = debugId => {
1099
+ return `onDebug:${debugId}`;
1100
+ };
1101
+
1097
1102
  const resume$3 = debugId => {
1098
1103
  return executeProvider({
1099
- event: `onDebug:${debugId}`,
1104
+ event: getDebugEvent(debugId),
1100
1105
  method: 'ExtensionHostDebug.resume',
1101
1106
  params: [debugId]
1102
1107
  });
1103
1108
  };
1104
1109
  const pause$3 = debugId => {
1105
1110
  return executeProvider({
1106
- event: `onDebug:${debugId}`,
1111
+ event: getDebugEvent(debugId),
1107
1112
  method: 'ExtensionHostDebug.pause',
1108
1113
  params: [debugId]
1109
1114
  });
1110
1115
  };
1111
1116
  const stepOver$3 = debugId => {
1112
1117
  return executeProvider({
1113
- event: `onDebug:${debugId}`,
1118
+ event: getDebugEvent(debugId),
1114
1119
  method: 'ExtensionHostDebug.stepOver',
1115
1120
  params: [debugId]
1116
1121
  });
1117
1122
  };
1118
1123
  const stepInto$3 = debugId => {
1119
1124
  return executeProvider({
1120
- event: `onDebug:${debugId}`,
1125
+ event: getDebugEvent(debugId),
1121
1126
  method: 'ExtensionHostDebug.stepInto',
1122
1127
  params: [debugId]
1123
1128
  });
1124
1129
  };
1125
1130
  const stepOut$3 = debugId => {
1126
1131
  return executeProvider({
1127
- event: `onDebug:${debugId}`,
1132
+ event: getDebugEvent(debugId),
1128
1133
  method: 'ExtensionHostDebug.stepOut',
1129
1134
  params: [debugId]
1130
1135
  });
1131
1136
  };
1132
1137
  const setPauseOnExceptions$2 = (debugId, value) => {
1133
1138
  return executeProvider({
1134
- event: `onDebug:${debugId}`,
1139
+ event: getDebugEvent(debugId),
1135
1140
  method: 'ExtensionHostDebug.setPauseOnExceptions',
1136
1141
  params: [debugId, value]
1137
1142
  });
1138
1143
  };
1139
1144
  const start$1 = debugId => {
1140
1145
  return executeProvider({
1141
- event: `onDebug:${debugId}`,
1146
+ event: getDebugEvent(debugId),
1142
1147
  method: 'ExtensionHostDebug.start',
1143
1148
  params: [debugId]
1144
1149
  });
1145
1150
  };
1146
1151
  const getProperties$1 = (debugId, objectId) => {
1147
1152
  return executeProvider({
1148
- event: `onDebug:${debugId}`,
1153
+ event: getDebugEvent(debugId),
1149
1154
  method: 'ExtensionHostDebug.getProperties',
1150
1155
  params: [debugId, objectId]
1151
1156
  });
1152
1157
  };
1153
1158
  const evaluate$1 = (debugId, expression, callFrameId) => {
1154
1159
  return executeProvider({
1155
- event: `onDebug:${debugId}`,
1160
+ event: getDebugEvent(debugId),
1156
1161
  method: 'ExtensionHostDebug.evaluate',
1157
1162
  params: [debugId, expression, callFrameId]
1158
1163
  });
1159
1164
  };
1160
1165
  const getScriptSource = (debugId, scriptId) => {
1161
1166
  return executeProvider({
1162
- event: `onDebug:${debugId}`,
1167
+ event: getDebugEvent(debugId),
1163
1168
  method: 'ExtensionHostDebug.getScriptSource',
1164
1169
  params: [debugId, scriptId]
1165
1170
  });
1166
1171
  };
1167
1172
  const getPausedStatus = debugId => {
1168
1173
  return executeProvider({
1169
- event: `onDebug:${debugId}`,
1174
+ event: getDebugEvent(debugId),
1170
1175
  method: 'ExtensionHostDebug.getPausedStatus',
1171
1176
  params: [debugId]
1172
1177
  });
1173
1178
  };
1174
1179
  const getCallStack$1 = debugId => {
1175
1180
  return executeProvider({
1176
- event: `onDebug:${debugId}`,
1181
+ event: getDebugEvent(debugId),
1177
1182
  method: 'ExtensionHostDebug.getCallStack',
1178
1183
  params: [debugId]
1179
1184
  });
1180
1185
  };
1181
1186
  const getScripts = debugId => {
1182
1187
  return executeProvider({
1183
- event: `onDebug:${debugId}`,
1188
+ event: getDebugEvent(debugId),
1184
1189
  method: 'ExtensionHostDebug.getScripts',
1185
1190
  params: [debugId]
1186
1191
  });
@@ -1430,7 +1435,7 @@ const acceptWatchExpressionEdit = async state => {
1430
1435
  const FocusDebugScope = 30;
1431
1436
  const FocusDebugWatchInput = 1290;
1432
1437
 
1433
- const addWatchExpression = async (state, expression) => {
1438
+ const addWatchExpression$1 = async (state, expression) => {
1434
1439
  const {
1435
1440
  watchExpressions
1436
1441
  } = state;
@@ -1471,30 +1476,34 @@ const cancelWatchExpressionEdit = state => {
1471
1476
  };
1472
1477
  };
1473
1478
 
1474
- const None$4 = 'none';
1479
+ const None$5 = 'none';
1475
1480
  const Exception$2 = 'exception';
1476
1481
  const Other = 'other';
1477
1482
 
1478
1483
  const All = 1;
1479
1484
  const Uncaught = 2;
1480
- const None$3 = 0;
1485
+ const None$4 = 0;
1481
1486
 
1482
- const None$2 = 'none';
1487
+ const None$3 = 'none';
1483
1488
 
1484
1489
  const create = (id, uri, x, y, width, height) => {
1485
1490
  const state = {
1486
1491
  id,
1487
1492
  disposed: false,
1488
1493
  processes: [],
1489
- debugState: None$5,
1494
+ debugState: None$6,
1490
1495
  watchExpanded: false,
1491
1496
  breakPointsExpanded: false,
1492
1497
  scopeExpanded: false,
1493
1498
  callStackExpanded: false,
1499
+ watchVisible: true,
1500
+ breakPointsVisible: true,
1501
+ scopeVisible: true,
1502
+ callStackVisible: true,
1494
1503
  scopeChain: [],
1495
1504
  callStack: [],
1496
1505
  parsedScripts: Object.create(null),
1497
- pausedReason: None$4,
1506
+ pausedReason: None$5,
1498
1507
  pausedMessage: '',
1499
1508
  debugInputValue: '',
1500
1509
  debugOutputValue: '',
@@ -1502,21 +1511,32 @@ const create = (id, uri, x, y, width, height) => {
1502
1511
  expandedIds: [],
1503
1512
  scopeFocusedIndex: -1,
1504
1513
  focusedIndex: -1,
1505
- pauseOnExceptionState: None$2,
1514
+ pauseOnExceptionState: None$3,
1506
1515
  cache: Object.create(null),
1507
1516
  // TODO maybe store cache in extension host worker
1508
- exceptionBreakPoints: None$3,
1517
+ exceptionBreakPoints: None$4,
1509
1518
  watchExpressions: [],
1510
1519
  focus: 0,
1511
1520
  editingValue: '',
1512
1521
  debugId: 0,
1513
1522
  inputSource: 0,
1514
1523
  editingselectionstart: 0,
1515
- editingselectionend: 0
1524
+ editingselectionend: 0,
1525
+ openFilesOnPause: true,
1526
+ maxDescriptionLength: 100,
1527
+ selectedIndex: -1,
1528
+ visibleRows: []
1516
1529
  };
1517
1530
  set(id, state, state);
1518
1531
  };
1519
1532
 
1533
+ const deleteAllWatchExpressions$1 = state => {
1534
+ return {
1535
+ ...state,
1536
+ watchExpressions: []
1537
+ };
1538
+ };
1539
+
1520
1540
  const deleteWatchExpression$1 = (state, index) => {
1521
1541
  if (index < 0 || index >= state.watchExpressions.length) {
1522
1542
  return state;
@@ -1546,7 +1566,7 @@ const RenderSelection = 8;
1546
1566
 
1547
1567
  const diffType = RenderItems;
1548
1568
  const isEqual$2 = (oldState, newState) => {
1549
- return oldState.scopeChain === newState.scopeChain && oldState.scopeExpanded === newState.scopeExpanded && oldState.callFrameId === newState.callFrameId && oldState.breakPointsExpanded === newState.breakPointsExpanded && oldState.debugState === newState.debugState && oldState.watchExpanded === newState.watchExpanded && oldState.callStackExpanded === newState.callStackExpanded && oldState.watchExpressions === newState.watchExpressions;
1569
+ return oldState.scopeChain === newState.scopeChain && oldState.scopeExpanded === newState.scopeExpanded && oldState.callFrameId === newState.callFrameId && oldState.breakPointsExpanded === newState.breakPointsExpanded && oldState.debugState === newState.debugState && oldState.watchExpanded === newState.watchExpanded && oldState.callStackExpanded === newState.callStackExpanded && oldState.watchExpressions === newState.watchExpressions && oldState.visibleRows === newState.visibleRows;
1550
1570
  };
1551
1571
 
1552
1572
  const isEqual$1 = (oldState, newState) => {
@@ -1589,7 +1609,7 @@ const dispose = async uid => {
1589
1609
  dispose$1(uid);
1590
1610
  };
1591
1611
 
1592
- const commandIds = ['acceptWatchExpressionEdit', 'addWatchExpression', 'cancelWatchExpressionEdit', 'create', 'diff2', 'dispose', 'focusNext', 'focusPrevious', 'getCommandIds', 'getKeyBindings', 'handleArrowDown', 'handleArrowLeft', 'handleArrowUp', 'handleChange', 'handleClickCallStackItem', 'handleClickCheckBox', 'handleClickDebugButton', 'handleClickPauseOnExceptions', 'handleClickPauseOnUncaughtExceptions', 'handleClickScopeValue', 'handleClickSectionAction', 'handleClickSectionBreakPoints', 'handleClickSectionCallstack', 'handleClickSectionHeading', 'handleClickSectionScope', 'handleClickSectionWatch', 'handleClickWatchExpression', 'handleWatchExpressionDoubleClick', 'handleClickWatchExpressionDelete', 'handleDebugInput', 'handleEvaluate', 'handleInputBlur', 'handleInputFieldChange', 'handlePaused', 'handleResumed', 'handleScriptParsed', 'handleWatchValueChange', 'loadContent', 'loadContentLater', 'pause', 'refresh', 'removeWatchExpression', 'deleteWatchExpression', 'render2', 'renderActions', 'renderEventListeners', 'resize', 'restoreState', 'resume', 'setPauseOnExceptions', 'stepInto', 'stepOut', 'stepOver', 'terminate', 'togglePause'];
1612
+ const commandIds = ['acceptWatchExpressionEdit', 'addWatchExpression', 'cancelWatchExpressionEdit', 'create', 'diff2', 'dispose', 'focusNext', 'focusPrevious', 'getCommandIds', 'getKeyBindings', 'handleArrowDown', 'handleArrowLeft', 'handleArrowUp', 'handleChange', 'handleClickCallStackItem', 'handleClickCheckBox', 'handleClickDebugButton', 'handleClickPauseOnExceptions', 'handleClickPauseOnUncaughtExceptions', 'handleClickScopeValue', 'handleClickSectionAction', 'handleClickSectionBreakPoints', 'handleClickSectionCallstack', 'handleClickSectionHeading', 'handleClickSectionScope', 'handleClickSectionWatch', 'handleClickWatchExpression', 'handleWatchExpressionDoubleClick', 'handleClickWatchExpressionDelete', 'handleDebugInput', 'handleEvaluate', 'handleInputBlur', 'handleInputFieldChange', 'handlePaused', 'handleResumed', 'handleScriptParsed', 'handleSectionHeaderContextMenu', 'handleWatchExpressionContextMenu', 'handleWatchValueChange', 'loadContent', 'loadContentLater', 'pause', 'refresh', 'refreshWatchExpression', 'removeWatchExpression', 'deleteWatchExpression', 'deleteAllWatchExpressions', 'render2', 'renderActions', 'renderEventListeners', 'resize', 'restoreState', 'resume', 'selectIndex', 'selectNextRow', 'selectPreviousRow', 'setPauseOnExceptions', 'stepInto', 'stepOut', 'stepOver', 'terminate', 'togglePause', 'showWatch', 'hideWatch', 'showScope', 'hideScope', 'showCallStack', 'hideCallStack'];
1593
1613
 
1594
1614
  const getCommandIds = () => {
1595
1615
  return commandIds;
@@ -1733,27 +1753,6 @@ const getKeyBindings = () => {
1733
1753
  }];
1734
1754
  };
1735
1755
 
1736
- const createScriptMap = scripts => {
1737
- const parsedScripts = Object.create(null);
1738
- for (const script of scripts) {
1739
- parsedScripts[script.scriptId] = script;
1740
- }
1741
- return parsedScripts;
1742
- };
1743
-
1744
- const getCallStack = callFrames => {
1745
- array(callFrames);
1746
- const callStack = [];
1747
- for (const callFrame of callFrames) {
1748
- callStack.push({
1749
- functionName: callFrame.functionName || '(anonymous)',
1750
- functionLocation: callFrame.functionLocation,
1751
- location: callFrame.location
1752
- });
1753
- }
1754
- return callStack;
1755
- };
1756
-
1757
1756
  const emptyObject = {};
1758
1757
  const RE_PLACEHOLDER = /\{(PH\d+)\}/g;
1759
1758
  const i18nString = (key, placeholders = emptyObject) => {
@@ -1767,7 +1766,7 @@ const i18nString = (key, placeholders = emptyObject) => {
1767
1766
  };
1768
1767
 
1769
1768
  const Block$1 = 'Block';
1770
- const BreakPoints$1 = 'BreakPoints';
1769
+ const BreakPoints$2 = 'BreakPoints';
1771
1770
  const CallStack$3 = 'Call Stack';
1772
1771
  const Catch$1 = '`Catch` block';
1773
1772
  const Closure$1 = 'Closure';
@@ -1779,6 +1778,7 @@ const Global$1 = 'Global';
1779
1778
  const Local$1 = 'Local';
1780
1779
  const Module$1 = 'Module';
1781
1780
  const NamedClosure = 'Closure ({PH1})';
1781
+ const NoScriptRunning = 'No script running. To enable debugging, start a Node.js script with debugging enabled (e.g. node --inspect your-script.js) and connect to it.';
1782
1782
  const NotPaused = 'Not Paused';
1783
1783
  const Pause = 'Pause';
1784
1784
  const Restart = 'Restart';
@@ -1794,7 +1794,9 @@ const With$1 = '`With` block';
1794
1794
  const PauseOnExceptions$1 = 'Pause on Exceptions';
1795
1795
  const PauseOnUncaughtExceptions$1 = 'Pause on uncaught Exceptions';
1796
1796
  const NoWatchExpression = 'No Watch Expression';
1797
- const DeleteWatchExpression$1 = 'Delete watch expression';
1797
+ const DeleteWatchExpression$2 = 'Delete Watch Expression';
1798
+ const DeleteAllWatchExpressions = 'Delete All Watch Expressions';
1799
+ const AddWatchExpression$1 = 'Add Watch Expression';
1798
1800
 
1799
1801
  const local = () => {
1800
1802
  return i18nString(Local$1);
@@ -1853,7 +1855,7 @@ const watch = () => {
1853
1855
  return i18nString(Watch$2);
1854
1856
  };
1855
1857
  const breakPoints = () => {
1856
- return i18nString(BreakPoints$1);
1858
+ return i18nString(BreakPoints$2);
1857
1859
  };
1858
1860
  const scope = () => {
1859
1861
  return i18nString(Scope$4);
@@ -1883,7 +1885,71 @@ const noWatchExpression = () => {
1883
1885
  return i18nString(NoWatchExpression);
1884
1886
  };
1885
1887
  const deleteWatchExpression = () => {
1886
- return i18nString(DeleteWatchExpression$1);
1888
+ return i18nString(DeleteWatchExpression$2);
1889
+ };
1890
+ const deleteAllWatchExpressions = () => {
1891
+ return i18nString(DeleteAllWatchExpressions);
1892
+ };
1893
+ const addWatchExpression = () => {
1894
+ return i18nString(AddWatchExpression$1);
1895
+ };
1896
+ const noScriptRunning = () => {
1897
+ return i18nString(NoScriptRunning);
1898
+ };
1899
+
1900
+ const None$2 = 0;
1901
+
1902
+ const getMenuEntriesWatchExpression = () => {
1903
+ const addMenuEntry = {
1904
+ id: 'addWatchExpression',
1905
+ label: addWatchExpression(),
1906
+ flags: None$2,
1907
+ command: 'RunAndDebug.addWatchExpression'
1908
+ };
1909
+ const deleteMenuEntry = {
1910
+ id: 'deleteWatchExpression',
1911
+ label: deleteWatchExpression(),
1912
+ flags: None$2,
1913
+ command: 'RunAndDebug.deleteWatchExpression'
1914
+ };
1915
+ const deleteAllMenuEntry = {
1916
+ id: 'deleteAllWatchExpressions',
1917
+ label: deleteAllWatchExpressions(),
1918
+ flags: None$2,
1919
+ command: 'RunAndDebug.deleteAllWatchExpressions'
1920
+ };
1921
+ return [addMenuEntry, deleteMenuEntry, deleteAllMenuEntry];
1922
+ };
1923
+
1924
+ const DebugWatchExpression = 21_900;
1925
+ const DebugWatchSectionHeading = 21_901;
1926
+
1927
+ const getMenuEntries = () => {
1928
+ return [{
1929
+ id: DebugWatchExpression,
1930
+ entries: getMenuEntriesWatchExpression()
1931
+ }];
1932
+ };
1933
+
1934
+ const createScriptMap = scripts => {
1935
+ const parsedScripts = Object.create(null);
1936
+ for (const script of scripts) {
1937
+ parsedScripts[script.scriptId] = script;
1938
+ }
1939
+ return parsedScripts;
1940
+ };
1941
+
1942
+ const getCallStack = callFrames => {
1943
+ array(callFrames);
1944
+ const callStack = [];
1945
+ for (const callFrame of callFrames) {
1946
+ callStack.push({
1947
+ functionName: callFrame.functionName || '(anonymous)',
1948
+ functionLocation: callFrame.functionLocation,
1949
+ location: callFrame.location
1950
+ });
1951
+ }
1952
+ return callStack;
1887
1953
  };
1888
1954
 
1889
1955
  const getDebugPausedMessage = reason => {
@@ -1960,8 +2026,20 @@ const getDebugPropertyValueLabelBoolean = property => {
1960
2026
  return `${property.value}`;
1961
2027
  };
1962
2028
 
1963
- const getDebugPropertyValueLabelCommon = property => {
1964
- return property.description;
2029
+ const getDebugPropertyValueLabelCommon = (property, maxDescriptionLength) => {
2030
+ const description = property.description;
2031
+ if (description && description.length > maxDescriptionLength) {
2032
+ return description.slice(0, Math.max(0, maxDescriptionLength)) + '...';
2033
+ }
2034
+ return description;
2035
+ };
2036
+
2037
+ const getArrayPropertyPreview = item => {
2038
+ return `"${item.value}"`;
2039
+ };
2040
+ const getArrayPropertiesPreview = properties => {
2041
+ const formattedItems = properties.map(getArrayPropertyPreview);
2042
+ return formattedItems.join(', ');
1965
2043
  };
1966
2044
 
1967
2045
  const RE_ARRAY_DESCRIPTION = /\((\d+)\)/;
@@ -1972,13 +2050,6 @@ const parseLength = description => {
1972
2050
  }
1973
2051
  return '';
1974
2052
  };
1975
- const getArrayPropertyPreview = item => {
1976
- return `"${item.value}"`;
1977
- };
1978
- const getArrayPropertiesPreview = properties => {
1979
- const formattedItems = properties.map(getArrayPropertyPreview);
1980
- return formattedItems.join(', ');
1981
- };
1982
2053
  const getDebugPropertyValueLabelArray = property => {
1983
2054
  if (property.preview) {
1984
2055
  const innerLabel = getArrayPropertiesPreview(property.preview.properties);
@@ -2016,7 +2087,7 @@ const getDebugPropertyValueLabelString = property => {
2016
2087
  return 'undefined';
2017
2088
  };
2018
2089
 
2019
- const getDebugPropertyValueLabel = property => {
2090
+ const getDebugPropertyValueLabel = (property, maxDescriptionLength) => {
2020
2091
  if (!property) {
2021
2092
  return 'n/a';
2022
2093
  }
@@ -2024,7 +2095,7 @@ const getDebugPropertyValueLabel = property => {
2024
2095
  case Number$1:
2025
2096
  case Symbol:
2026
2097
  case Function:
2027
- return getDebugPropertyValueLabelCommon(property);
2098
+ return getDebugPropertyValueLabelCommon(property, maxDescriptionLength);
2028
2099
  case Object$1:
2029
2100
  return getDebugPropertyValueLabelObject(property);
2030
2101
  case Undefined:
@@ -2061,7 +2132,7 @@ const getDescriptionValueLabel = params => {
2061
2132
  }
2062
2133
  return `${params.data.value}`;
2063
2134
  };
2064
- const getScopeChain = (params, thisObject, scopeChain, knownProperties) => {
2135
+ const getScopeChain = (params, thisObject, scopeChain, knownProperties, descriptionLength) => {
2065
2136
  const elements = [];
2066
2137
  for (const scope of scopeChain) {
2067
2138
  const label = getScopeLabel(scope);
@@ -2087,7 +2158,7 @@ const getScopeChain = (params, thisObject, scopeChain, knownProperties) => {
2087
2158
  indent: 20
2088
2159
  });
2089
2160
  }
2090
- const valueLabel = getDebugPropertyValueLabel(thisObject);
2161
+ const valueLabel = getDebugPropertyValueLabel(thisObject, descriptionLength);
2091
2162
  elements.push({
2092
2163
  type: This,
2093
2164
  key: 'this',
@@ -2100,7 +2171,7 @@ const getScopeChain = (params, thisObject, scopeChain, knownProperties) => {
2100
2171
  const children = knownProperties[scope.object.objectId];
2101
2172
  if (children) {
2102
2173
  for (const child of children.result.result) {
2103
- const valueLabel = getDebugPropertyValueLabel(child.value);
2174
+ const valueLabel = getDebugPropertyValueLabel(child.value, descriptionLength);
2104
2175
  elements.push({
2105
2176
  type: Property$1,
2106
2177
  key: child.name,
@@ -2115,7 +2186,7 @@ const getScopeChain = (params, thisObject, scopeChain, knownProperties) => {
2115
2186
  return elements;
2116
2187
  };
2117
2188
 
2118
- const getPausedInfo2 = async debugId => {
2189
+ const getPausedInfo2 = async (debugId, maxDescriptionLength) => {
2119
2190
  const callFrames = await getCallStack$1(debugId);
2120
2191
  const callStack = getCallStack(callFrames);
2121
2192
  const {
@@ -2135,7 +2206,7 @@ const getPausedInfo2 = async debugId => {
2135
2206
  };
2136
2207
  const scopeChain = getScopeChain(params, thisObject, callFrames[0].scopeChain, {
2137
2208
  [objectId]: properties
2138
- });
2209
+ }, maxDescriptionLength);
2139
2210
  const pausedReason = reason;
2140
2211
  const pausedMessage = getDebugPausedMessage(reason);
2141
2212
  return {
@@ -2149,176 +2220,27 @@ const getPausedInfo2 = async debugId => {
2149
2220
  };
2150
2221
  };
2151
2222
 
2152
- const handleResumed = state => {
2153
- return {
2154
- ...state,
2155
- debugState: Default,
2156
- scopeChain: [],
2157
- callStack: [],
2158
- pausedMessage: '',
2159
- pausedReason: None$4,
2160
- callFrameId: ''
2161
- };
2162
- };
2163
-
2164
- const handlePaused$1 = async state => {
2165
- const {
2166
- debugId,
2167
- watchExpressions
2168
- } = state;
2169
- try {
2170
- const {
2171
- callFrameId,
2172
- callStack,
2173
- scopeChain,
2174
- pausedMessage,
2175
- pausedReason,
2176
- expandedIds,
2177
- scriptMap
2178
- } = await getPausedInfo2(debugId);
2179
- // TODO move this to getPausedInfo2
2180
- const newWatchExpressions = await evaluateWatchExpressions(debugId, callFrameId, watchExpressions);
2181
- return {
2182
- ...state,
2183
- debugState: Paused,
2184
- scopeChain,
2185
- scopeExpanded: true,
2186
- callStack,
2187
- pausedReason,
2188
- pausedMessage,
2189
- callFrameId,
2190
- expandedIds,
2191
- parsedScripts: scriptMap,
2192
- watchExpressions: newWatchExpressions
2193
- };
2194
- } catch {
2195
- return state;
2196
- }
2197
- };
2198
- const handleChange = async (state, params) => {
2199
- if (params.type === 'resumed') {
2200
- return handleResumed(state);
2201
- }
2202
- if (params.type === 'paused') {
2203
- return handlePaused$1(state);
2204
- }
2205
- return state;
2206
- };
2207
-
2208
- const isSupportedOpenUri = uri => {
2209
- if (uri.startsWith('file://')) {
2210
- return true;
2211
- }
2212
- return false;
2213
- };
2214
-
2215
- const getOpenInfo = (id, parsedScripts, item) => {
2216
- const {
2217
- location
2218
- } = item;
2219
- const {
2220
- scriptId,
2221
- lineNumber,
2222
- columnNumber
2223
- } = location;
2224
- const script = parsedScripts[scriptId];
2225
- const {
2226
- url,
2227
- scriptLanguage
2228
- } = script;
2229
- if (isSupportedOpenUri(url)) {
2230
- return {
2231
- uri: url,
2232
- languageId: scriptLanguage,
2233
- rowIndex: lineNumber,
2234
- columnIndex: columnNumber
2235
- };
2236
- }
2237
- const debugUri = getDebugUri(id, scriptId);
2238
- return {
2239
- uri: debugUri,
2240
- languageId: scriptLanguage,
2241
- rowIndex: lineNumber,
2242
- columnIndex: columnNumber
2243
- };
2244
- };
2245
-
2246
- const parseIndex = dataIndex => {
2247
- const index = Number.parseInt(dataIndex);
2248
- return index;
2249
- };
2250
-
2251
- const handleClickCallstackItem = async (state, dataIndex) => {
2252
- const index = parseIndex(dataIndex);
2253
- const {
2254
- callStack,
2255
- parsedScripts,
2256
- id
2257
- } = state;
2258
- const item = callStack[index];
2259
- if (!item) {
2260
- return state;
2261
- }
2262
- const {
2263
- uri,
2264
- languageId,
2265
- rowIndex,
2266
- columnIndex
2267
- } = getOpenInfo(id, parsedScripts, item);
2268
- await openUri(uri, languageId, rowIndex, columnIndex);
2269
- return state;
2270
- };
2271
-
2272
- const setPauseOnExceptions = async (state, value) => {
2273
- const {
2274
- debugId,
2275
- exceptionBreakPoints
2276
- } = state;
2277
- if (exceptionBreakPoints === value) {
2278
- return state;
2279
- }
2280
- await setPauseOnExceptions$1(debugId, value);
2281
- return {
2282
- ...state,
2283
- exceptionBreakPoints: value
2284
- };
2285
- };
2223
+ const SectionHeading = 1;
2224
+ const Value = 2;
2225
+ const Exception = 3;
2226
+ const Scope$2 = 4;
2227
+ const Property = 5;
2228
+ const Message = 6;
2229
+ const CallStack$2 = 7;
2230
+ const CheckBox$1 = 8;
2231
+ const WatchMessage = 9;
2232
+ const WatchExpression = 10;
2233
+ const InputField = 11;
2286
2234
 
2287
- const handleClickPauseOnExceptions = async state => {
2288
- const {
2289
- exceptionBreakPoints
2290
- } = state;
2291
- switch (exceptionBreakPoints) {
2292
- case None$3:
2293
- return setPauseOnExceptions(state, All);
2294
- case Uncaught:
2295
- return setPauseOnExceptions(state, All);
2296
- case All:
2297
- return setPauseOnExceptions(state, None$3);
2298
- default:
2299
- return state;
2300
- }
2301
- };
2235
+ const Scope$1 = 'Scope';
2236
+ const CallStack$1 = 'CallStack';
2237
+ const Watch$1 = 'Watch';
2238
+ const BreakPoints$1 = 'BreakPoints';
2302
2239
 
2303
- const getNewExceptionState = exceptionState => {
2304
- switch (exceptionState) {
2305
- case None$3:
2306
- return Uncaught;
2307
- case Uncaught:
2308
- return None$3;
2309
- case All:
2310
- return None$3;
2311
- default:
2312
- return exceptionState;
2313
- }
2314
- };
2315
- const handleClickPauseOnUncaughtExceptions = async state => {
2316
- const {
2317
- exceptionBreakPoints
2318
- } = state;
2319
- const newExceptionState = getNewExceptionState(exceptionBreakPoints);
2320
- return setPauseOnExceptions(state, newExceptionState);
2321
- };
2240
+ const BreakPoints = 'breakpoints';
2241
+ const CallStack = 'callstack';
2242
+ const Scope = 'scope';
2243
+ const Watch = 'watch';
2322
2244
 
2323
2245
  const AddWatchExpression = 'AddWatchExpression';
2324
2246
  const WatchExpressionInput = 'WatchExpressionInput';
@@ -2331,1589 +2253,1954 @@ const DebugStepOver$1 = 'DebugStepOver';
2331
2253
  const DebugStop$1 = 'DebugStop';
2332
2254
  const PauseOnExceptions = 'PauseOnExceptions';
2333
2255
  const PauseOnUncaughtExceptions = 'PauseOnUncaughtExceptions';
2256
+ const RefreshWatchExpressions = 'RefreshWatchExpressions';
2334
2257
 
2335
- const getCheckBoxClickHandler = name => {
2336
- switch (name) {
2337
- case PauseOnExceptions:
2338
- return handleClickPauseOnExceptions;
2339
- case PauseOnUncaughtExceptions:
2340
- return handleClickPauseOnUncaughtExceptions;
2341
- default:
2342
- throw new Error('unknown input name');
2258
+ const getRunAndDebugVisibleRowsBreakPoints = state => {
2259
+ const {
2260
+ breakPointsExpanded,
2261
+ exceptionBreakPoints,
2262
+ breakPointsVisible
2263
+ } = state;
2264
+ if (!breakPointsVisible) {
2265
+ return [];
2343
2266
  }
2344
- };
2345
-
2346
- const handleClickCheckBox = (state, name) => {
2347
- const fn = getCheckBoxClickHandler(name);
2348
- return fn(state);
2349
- };
2350
-
2351
- const removeElement = (array, element) => {
2352
- const index = array.indexOf(element);
2353
- if (index === -1) {
2354
- return array;
2267
+ if (breakPointsExpanded) {
2268
+ return [{
2269
+ type: SectionHeading,
2270
+ text: breakPoints(),
2271
+ expanded: true,
2272
+ key: BreakPoints,
2273
+ value: '',
2274
+ indent: 0,
2275
+ valueType: '',
2276
+ name: BreakPoints$1,
2277
+ description: ''
2278
+ }, {
2279
+ type: CheckBox$1,
2280
+ text: pauseOnExceptions(),
2281
+ expanded: exceptionBreakPoints === All,
2282
+ key: '',
2283
+ value: '',
2284
+ indent: 0,
2285
+ valueType: '',
2286
+ name: PauseOnExceptions,
2287
+ description: ''
2288
+ }, {
2289
+ type: CheckBox$1,
2290
+ text: pauseOnUncaughtExceptions(),
2291
+ expanded: exceptionBreakPoints === Uncaught,
2292
+ key: '',
2293
+ value: '',
2294
+ indent: 0,
2295
+ valueType: '',
2296
+ name: PauseOnUncaughtExceptions,
2297
+ description: ''
2298
+ }];
2355
2299
  }
2356
- return [...array.slice(0, index), ...array.slice(index + 1)];
2300
+ return [{
2301
+ type: SectionHeading,
2302
+ text: breakPoints(),
2303
+ expanded: breakPointsExpanded,
2304
+ key: BreakPoints,
2305
+ value: '',
2306
+ indent: 0,
2307
+ valueType: '',
2308
+ name: BreakPoints$1,
2309
+ description: ''
2310
+ }];
2357
2311
  };
2358
2312
 
2359
- const getCollapsedScopeChain = (cache, scopeChain, element, index) => {
2360
- const indent = element.indent;
2361
- for (let i = index + 1; i < scopeChain.length; i++) {
2362
- if (scopeChain[i].indent <= indent) {
2363
- const newItems = scopeChain.slice(index + 1, i);
2364
- const newCache = {
2365
- ...cache,
2366
- [scopeChain[index].objectId]: newItems
2367
- };
2368
- return {
2369
- newScopeChain: [...scopeChain.slice(0, index + 1), ...scopeChain.slice(i)],
2370
- newCache
2371
- };
2372
- }
2313
+ const formatLocation = (url, rowIndex, columnIndex) => {
2314
+ const lastSlashIndex = url.lastIndexOf('/');
2315
+ const adjustedRowIndex = rowIndex + 1;
2316
+ if (lastSlashIndex === -1) {
2317
+ return `${url}:${adjustedRowIndex}`;
2373
2318
  }
2374
- return {
2375
- newScopeChain: scopeChain,
2376
- newCache: cache
2377
- };
2319
+ const part = url.slice(lastSlashIndex + 1);
2320
+ return `${part}:${adjustedRowIndex}`;
2378
2321
  };
2379
2322
 
2380
- // TODO maybe store scope chain elements as tree
2381
- // TODO when collapsing, store collapsed elements by parent id in cache
2382
- // TODO when expanding, retrieve items from cache by parent id first
2383
- // if they don't exist, query the actual items
2384
-
2385
- const collapseScopeChain = (state, expandedIds, scopeChain, element, index) => {
2323
+ const unknownScript = {
2324
+ url: 'unknown'
2325
+ };
2326
+ const getRunAndDebugVisibleRowsCallStack = state => {
2386
2327
  const {
2387
- cache
2328
+ callStack: callStack$1,
2329
+ callStackExpanded,
2330
+ parsedScripts,
2331
+ callStackVisible
2388
2332
  } = state;
2389
- const newExpandedIds = removeElement(expandedIds, element.objectId);
2390
- const {
2391
- newScopeChain,
2392
- newCache
2393
- } = getCollapsedScopeChain(cache, scopeChain, element, index);
2394
- return {
2395
- ...state,
2396
- expandedIds: newExpandedIds,
2397
- scopeChain: newScopeChain,
2398
- scopeFocusedIndex: index,
2399
- cache: newCache
2400
- };
2401
- };
2402
-
2403
- const getInnerChildScopeChain = async (cache, debugId, objectId, indent) => {
2404
- if (cache[objectId]) {
2405
- return cache[objectId];
2333
+ if (!callStackVisible) {
2334
+ return [];
2406
2335
  }
2407
- const childScopes = await getProperties(debugId, objectId);
2408
- const childScopeChain = [];
2409
- for (const child of childScopes.result.result) {
2410
- const valueLabel = getDebugPropertyValueLabel(child.value || child.get || {});
2411
- childScopeChain.push({
2412
- type: Property$1,
2413
- key: child.name,
2414
- value: valueLabel,
2415
- valueType: getDebugValueType(child),
2416
- objectId: getDebugValueObjectId(child),
2417
- indent: indent + 10
2336
+ const rows = [];
2337
+ if (callStackExpanded) {
2338
+ rows.push({
2339
+ type: SectionHeading,
2340
+ text: callStack(),
2341
+ expanded: true,
2342
+ key: CallStack,
2343
+ value: '',
2344
+ indent: 0,
2345
+ valueType: '',
2346
+ name: CallStack$1,
2347
+ description: ''
2348
+ });
2349
+ if (callStack$1.length === 0) {
2350
+ rows.push({
2351
+ type: Message,
2352
+ text: notPaused(),
2353
+ expanded: false,
2354
+ key: '',
2355
+ value: '',
2356
+ indent: 0,
2357
+ valueType: '',
2358
+ name: '',
2359
+ description: ''
2360
+ });
2361
+ } else {
2362
+ for (const item of callStack$1) {
2363
+ const {
2364
+ scriptId,
2365
+ lineNumber} = item.location;
2366
+ const script = parsedScripts[scriptId] || unknownScript;
2367
+ const description = formatLocation(script.url, lineNumber);
2368
+ const hasArrow = item === callStack$1[0];
2369
+ rows.push({
2370
+ type: CallStack$2,
2371
+ text: item.functionName,
2372
+ expanded: false,
2373
+ key: CallStack,
2374
+ value: '',
2375
+ indent: 0,
2376
+ valueType: '',
2377
+ name: '',
2378
+ description,
2379
+ hasArrow,
2380
+ index: callStack$1.indexOf(item) // TODO use for loop
2381
+ });
2382
+ }
2383
+ }
2384
+ } else {
2385
+ rows.push({
2386
+ type: SectionHeading,
2387
+ text: callStack(),
2388
+ expanded: false,
2389
+ key: '',
2390
+ value: '',
2391
+ indent: 0,
2392
+ valueType: '',
2393
+ name: CallStack$1,
2394
+ description: ''
2418
2395
  });
2419
2396
  }
2420
- return childScopeChain;
2397
+ return rows;
2421
2398
  };
2422
2399
 
2423
- const getChildScopeChain = async (cache, index, debugId, scopeChain) => {
2424
- const element = scopeChain[index];
2425
- const objectId = element.objectId;
2426
- const childScopeChain = await getInnerChildScopeChain(cache, debugId, objectId, element.indent);
2427
- const newScopeChain = [...scopeChain.slice(0, index + 1), ...childScopeChain, ...scopeChain.slice(index + 1)];
2428
- return newScopeChain;
2400
+ const getNoopRows = () => {
2401
+ return [];
2429
2402
  };
2430
2403
 
2431
- const expandScopeChain = async (state, expandedIds, scopeChain, element, index, debugId) => {
2404
+ const getScopeExceptionRows = scope => {
2432
2405
  const {
2433
- cache
2434
- } = state;
2435
- const newScopeChain = await getChildScopeChain(cache, index, debugId, scopeChain);
2436
- const objectId = scopeChain[index].objectId;
2437
- const newExpandedIds = [...expandedIds, objectId];
2438
- return {
2439
- ...state,
2440
- scopeChain: newScopeChain,
2441
- expandedIds: newExpandedIds,
2442
- scopeFocusedIndex: index
2443
- };
2406
+ key,
2407
+ value,
2408
+ indent
2409
+ } = scope;
2410
+ return [{
2411
+ type: Exception,
2412
+ text: '',
2413
+ expanded: false,
2414
+ key,
2415
+ value,
2416
+ indent,
2417
+ valueType: '',
2418
+ name: '',
2419
+ description: ''
2420
+ }];
2444
2421
  };
2445
2422
 
2446
- const getElementIndex = (debugId, scopeChain, text) => {
2447
- for (let i = 0; i < scopeChain.length; i++) {
2448
- const element = scopeChain[i];
2449
- if (element.key === text) {
2450
- return i;
2451
- }
2452
- }
2453
- return -1;
2423
+ const None = 0;
2424
+ const Expanded = 1 << 0;
2425
+ const Collapsed = 1 << 1;
2426
+ const Focused = 1 << 2;
2427
+
2428
+ const getScopePropertyRows = scope => {
2429
+ const {
2430
+ indent,
2431
+ key,
2432
+ value,
2433
+ valueType,
2434
+ flags
2435
+ } = scope;
2436
+ return [{
2437
+ type: Property,
2438
+ text: '',
2439
+ expanded: Boolean(flags & Expanded),
2440
+ key,
2441
+ value,
2442
+ indent,
2443
+ valueType,
2444
+ name: '',
2445
+ description: ''
2446
+ }];
2454
2447
  };
2455
2448
 
2456
- // TODO pass index to function instead of text
2457
- const handleClickScopeValue = async (state, text) => {
2449
+ const getScopeScopeRows = scope => {
2458
2450
  const {
2459
- scopeChain,
2460
- debugId,
2461
- expandedIds
2462
- } = state;
2463
- const index = getElementIndex(debugId, scopeChain, text);
2464
- if (index === -1) {
2465
- return state;
2466
- }
2467
- const element = scopeChain[index];
2468
- if (expandedIds.includes(element.objectId)) {
2469
- return collapseScopeChain(state, expandedIds, scopeChain, element, index);
2470
- }
2471
- return expandScopeChain(state, expandedIds, scopeChain, element, index, debugId);
2451
+ key,
2452
+ flags
2453
+ } = scope;
2454
+ return [{
2455
+ type: Scope$2,
2456
+ text: '',
2457
+ expanded: Boolean(flags & Expanded),
2458
+ key,
2459
+ value: '',
2460
+ indent: 0,
2461
+ valueType: '',
2462
+ name: '',
2463
+ description: ''
2464
+ }];
2472
2465
  };
2473
2466
 
2474
- /**
2475
- * @deprecated
2476
- */
2477
- const handlePaused = async (state, params) => {
2478
- return state;
2467
+ const getScopeThisRows = scope => {
2468
+ const {
2469
+ indent,
2470
+ key,
2471
+ value,
2472
+ valueType
2473
+ } = scope;
2474
+ return [{
2475
+ type: Value,
2476
+ text: '',
2477
+ expanded: false,
2478
+ key,
2479
+ value,
2480
+ indent,
2481
+ valueType,
2482
+ name: '',
2483
+ description: ''
2484
+ }];
2479
2485
  };
2480
2486
 
2481
- // TODO maybe store scope chain elements as tree
2482
- // TODO when collapsing, store collapsed elements by parent id in cache
2483
- // TODO when expanding, retrieve items from cache by parent id first
2484
- // if they don't exist, query the actual items
2485
-
2486
- const resume = async state => {
2487
- const {
2488
- debugId
2489
- } = state;
2490
- await resume$2(debugId);
2491
- return state;
2487
+ const getScopeRenderer = type => {
2488
+ switch (type) {
2489
+ case This:
2490
+ return getScopeThisRows;
2491
+ case Exception$1:
2492
+ return getScopeExceptionRows;
2493
+ case Scope$3:
2494
+ return getScopeScopeRows;
2495
+ case Property$1:
2496
+ return getScopePropertyRows;
2497
+ default:
2498
+ return getNoopRows;
2499
+ }
2492
2500
  };
2493
- const pause = async state => {
2494
- const {
2495
- debugId
2496
- } = state;
2497
- await pause$2(debugId);
2498
- return state;
2501
+
2502
+ const getExpandable = valueType => {
2503
+ if (valueType === 'object') {
2504
+ return true;
2505
+ }
2506
+ return false;
2499
2507
  };
2500
- const togglePause = async state => {
2501
- const {
2502
- debugState
2503
- } = state;
2504
- if (debugState === Default) {
2505
- return pause(state);
2508
+ const getFlags = (isExpanded, isExpandable, isFocused) => {
2509
+ let flags = None;
2510
+ if (isExpanded) {
2511
+ flags |= Expanded;
2512
+ } else if (isExpandable) {
2513
+ flags |= Collapsed;
2506
2514
  }
2507
- return resume(state);
2515
+ if (isFocused) {
2516
+ flags |= Focused;
2517
+ }
2518
+ return flags;
2508
2519
  };
2509
- const stepOver = async state => {
2510
- const {
2511
- debugId
2512
- } = state;
2513
- await stepOver$2(debugId);
2514
- return state;
2520
+ const getVisibleScopeItems = (scopeChain, expandedIds, focusedIndex) => {
2521
+ const minLineY = 0;
2522
+ const maxLineY = scopeChain.length;
2523
+ const visible = [];
2524
+ for (let i = minLineY; i < maxLineY; i++) {
2525
+ const element = scopeChain[i];
2526
+ const isExpanded = expandedIds.includes(element.objectId);
2527
+ const isExpandable = getExpandable(element.valueType);
2528
+ const isFocused = i === focusedIndex;
2529
+ const flags = getFlags(isExpanded, isExpandable, isFocused);
2530
+ visible.push({
2531
+ ...element,
2532
+ flags
2533
+ });
2534
+ }
2535
+ return visible;
2515
2536
  };
2516
- const stepInto = async state => {
2537
+
2538
+ const getRunAndDebugVisibleRowsScope = state => {
2517
2539
  const {
2518
- debugId
2540
+ scopeChain,
2541
+ scopeExpanded,
2542
+ expandedIds,
2543
+ scopeFocusedIndex,
2544
+ scopeVisible,
2545
+ debugState
2519
2546
  } = state;
2520
- await stepInto$2(debugId);
2521
- return state;
2547
+ if (!scopeVisible) {
2548
+ return [];
2549
+ }
2550
+ const rows = [];
2551
+ if (scopeExpanded) {
2552
+ rows.push({
2553
+ type: SectionHeading,
2554
+ text: scope(),
2555
+ expanded: true,
2556
+ key: Scope,
2557
+ value: '',
2558
+ indent: 0,
2559
+ valueType: '',
2560
+ name: Scope$1,
2561
+ description: ''
2562
+ });
2563
+ if (debugState === Paused) {
2564
+ const visible = getVisibleScopeItems(scopeChain, expandedIds, scopeFocusedIndex);
2565
+ for (const scope of visible) {
2566
+ const renderer = getScopeRenderer(scope.type);
2567
+ rows.push(...renderer(scope));
2568
+ }
2569
+ } else {
2570
+ rows.push({
2571
+ type: Message,
2572
+ text: notPaused(),
2573
+ expanded: false,
2574
+ key: '',
2575
+ value: '',
2576
+ indent: 0,
2577
+ valueType: '',
2578
+ name: '',
2579
+ description: ''
2580
+ });
2581
+ }
2582
+ } else {
2583
+ rows.push({
2584
+ type: SectionHeading,
2585
+ text: scope(),
2586
+ expanded: false,
2587
+ key: Scope,
2588
+ value: '',
2589
+ indent: 0,
2590
+ valueType: '',
2591
+ name: Scope$1,
2592
+ description: ''
2593
+ });
2594
+ }
2595
+ return rows;
2522
2596
  };
2523
- const stepOut = async state => {
2524
- const {
2525
- debugId
2526
- } = state;
2527
- await stepOut$2(debugId);
2528
- return state;
2597
+
2598
+ const formatValue = value => {
2599
+ return value === null || value === undefined ? '' : String(value);
2529
2600
  };
2530
- const handleDebugInput = (state, value) => {
2601
+ const renderWatchExpression$1 = (expression, value, isEditing, index) => {
2602
+ if (isEditing) {
2603
+ return {
2604
+ type: InputField,
2605
+ text: '',
2606
+ expanded: false,
2607
+ key: 'new-watch-expression',
2608
+ value: '',
2609
+ indent: 0,
2610
+ valueType: '',
2611
+ name: WatchExpressionInput,
2612
+ description: '',
2613
+ index
2614
+ };
2615
+ }
2531
2616
  return {
2532
- ...state,
2533
- debugInputValue: value
2617
+ type: WatchExpression,
2618
+ text: expression,
2619
+ expanded: false,
2620
+ key: expression,
2621
+ value: formatValue(value),
2622
+ indent: 0,
2623
+ valueType: '',
2624
+ name: '',
2625
+ description: '',
2626
+ index
2534
2627
  };
2535
2628
  };
2536
- const handleEvaluate = async state => {
2629
+ const getRunAndDebugVisibleRowsWatchContent = watchExpressions => {
2630
+ const rows = [];
2631
+ if (watchExpressions.length === 0) {
2632
+ rows.push({
2633
+ type: WatchMessage,
2634
+ text: noWatchExpression(),
2635
+ expanded: false,
2636
+ key: '',
2637
+ value: '',
2638
+ indent: 0,
2639
+ valueType: '',
2640
+ name: '',
2641
+ description: ''
2642
+ });
2643
+ } else {
2644
+ for (const watchExpression of watchExpressions) {
2645
+ // TODO simplify index
2646
+ const index = watchExpressions.indexOf(watchExpression);
2647
+ rows.push(renderWatchExpression$1(watchExpression.expression, watchExpression.value, watchExpression.isEditing || false, index));
2648
+ }
2649
+ }
2650
+ return rows;
2651
+ };
2652
+
2653
+ const getWatchActions = watchExpanded => {
2654
+ if (!watchExpanded) {
2655
+ return [];
2656
+ }
2657
+ return [{
2658
+ id: AddWatchExpression,
2659
+ title: 'Add new watch expression',
2660
+ icon: '+'
2661
+ }, {
2662
+ id: RefreshWatchExpressions,
2663
+ title: 'Refresh watch expressions',
2664
+ icon: '↻'
2665
+ }];
2666
+ };
2667
+
2668
+ const getRunAndDebugVisibleRowsWatch = state => {
2537
2669
  const {
2538
- debugInputValue,
2539
- callFrameId,
2540
- debugId
2670
+ watchExpanded,
2671
+ watchExpressions,
2672
+ watchVisible
2541
2673
  } = state;
2542
- const result = await evaluate(debugId, debugInputValue, callFrameId);
2543
- const actualResult = result.result.result.value;
2674
+ if (!watchVisible) {
2675
+ return [];
2676
+ }
2677
+ const rows = [{
2678
+ type: SectionHeading,
2679
+ text: watch(),
2680
+ expanded: watchExpanded,
2681
+ key: Watch,
2682
+ value: '',
2683
+ indent: 0,
2684
+ valueType: '',
2685
+ name: Watch$1,
2686
+ description: '',
2687
+ actions: getWatchActions(watchExpanded)
2688
+ }];
2689
+ if (watchExpanded) {
2690
+ rows.push(...getRunAndDebugVisibleRowsWatchContent(watchExpressions));
2691
+ }
2692
+ return rows;
2693
+ };
2694
+
2695
+ const getRunAndDebugVisibleRows = state => {
2696
+ if (state.debugState === Unavailable) {
2697
+ return [{
2698
+ type: Message,
2699
+ text: noScriptRunning(),
2700
+ expanded: false,
2701
+ key: 'no-script-running',
2702
+ value: '',
2703
+ indent: 0,
2704
+ valueType: '',
2705
+ name: '',
2706
+ description: ''
2707
+ }];
2708
+ }
2709
+ return [...getRunAndDebugVisibleRowsWatch(state), ...getRunAndDebugVisibleRowsBreakPoints(state), ...getRunAndDebugVisibleRowsScope(state), ...getRunAndDebugVisibleRowsCallStack(state)];
2710
+ };
2711
+
2712
+ const updateVisibleRows = state => {
2713
+ const visibleRows = getRunAndDebugVisibleRows(state);
2544
2714
  return {
2545
2715
  ...state,
2546
- debugInputValue: '',
2547
- debugOutputValue: `${actualResult}`
2716
+ visibleRows
2548
2717
  };
2549
2718
  };
2550
- const handleArrowLeft = state => {
2551
- const {
2552
- focusedIndex
2553
- } = state;
2554
- if (focusedIndex === 2) {
2555
- return {
2556
- ...state,
2557
- scopeExpanded: false
2558
- };
2559
- }
2560
- return state;
2561
- };
2562
- const handleArrowRight = state => {
2719
+
2720
+ const handlePaused2 = async state => {
2563
2721
  const {
2564
- focusedIndex
2722
+ debugId,
2723
+ watchExpressions
2565
2724
  } = state;
2566
- if (focusedIndex === 2) {
2567
- return {
2725
+ try {
2726
+ const {
2727
+ callFrameId,
2728
+ callStack,
2729
+ scopeChain,
2730
+ pausedMessage,
2731
+ pausedReason,
2732
+ expandedIds,
2733
+ scriptMap
2734
+ } = await getPausedInfo2(debugId, state.maxDescriptionLength);
2735
+ // TODO move this to getPausedInfo2
2736
+ const newWatchExpressions = await evaluateWatchExpressions(debugId, callFrameId, watchExpressions);
2737
+ const newState = {
2568
2738
  ...state,
2569
- scopeExpanded: true
2739
+ debugState: Paused,
2740
+ scopeChain,
2741
+ scopeExpanded: true,
2742
+ callStack,
2743
+ pausedReason,
2744
+ pausedMessage,
2745
+ callFrameId,
2746
+ expandedIds,
2747
+ parsedScripts: scriptMap,
2748
+ watchExpressions: newWatchExpressions
2570
2749
  };
2750
+ return updateVisibleRows(newState);
2751
+ } catch {
2752
+ return state;
2571
2753
  }
2572
- return state;
2573
- };
2574
- const handleArrowUp = state => {
2575
- return state;
2576
- };
2577
- const handleArrowDown = state => {
2578
- return state;
2579
- };
2580
- const focusPrevious = state => {
2581
- return state;
2582
- };
2583
- const focusNext = state => {
2584
- return state;
2585
2754
  };
2586
- const resize = (state, dimensions) => {
2587
- return {
2755
+
2756
+ const handleResumed = state => {
2757
+ const newState = {
2588
2758
  ...state,
2589
- ...dimensions
2759
+ debugState: Default,
2760
+ scopeChain: [],
2761
+ callStack: [],
2762
+ pausedMessage: '',
2763
+ pausedReason: None$5,
2764
+ callFrameId: ''
2590
2765
  };
2766
+ return updateVisibleRows(newState);
2591
2767
  };
2592
2768
 
2593
- const stop = async state => {
2594
- // TODO
2595
- return state;
2769
+ const handleChange = async (state, params) => {
2770
+ let newState = state;
2771
+ if (params.type === 'resumed') {
2772
+ newState = handleResumed(state);
2773
+ } else if (params.type === 'paused') {
2774
+ newState = await handlePaused2(state);
2775
+ }
2776
+ return updateVisibleRows(newState);
2596
2777
  };
2597
- const noop = async state => {
2598
- // TODO
2599
- return state;
2778
+
2779
+ const isSupportedOpenUri = uri => {
2780
+ if (uri.startsWith('file://')) {
2781
+ return true;
2782
+ }
2783
+ return false;
2600
2784
  };
2601
- const getDebugButtonHandler = inputName => {
2602
- switch (inputName) {
2603
- case DebugPause$1:
2604
- return pause;
2605
- case DebugResume:
2606
- return resume;
2607
- case DebugStepInto$1:
2608
- return stepInto;
2609
- case DebugStepOver$1:
2610
- return stepOver;
2611
- case DebugStepOut$1:
2612
- return stepOut;
2613
- case DebugStop$1:
2614
- return stop;
2615
- default:
2616
- return noop;
2785
+
2786
+ const getOpenInfo = (id, parsedScripts, item) => {
2787
+ const {
2788
+ location
2789
+ } = item;
2790
+ const {
2791
+ scriptId,
2792
+ lineNumber,
2793
+ columnNumber
2794
+ } = location;
2795
+ const script = parsedScripts[scriptId];
2796
+ const {
2797
+ url,
2798
+ scriptLanguage
2799
+ } = script;
2800
+ if (isSupportedOpenUri(url)) {
2801
+ return {
2802
+ uri: url,
2803
+ languageId: scriptLanguage,
2804
+ rowIndex: lineNumber,
2805
+ columnIndex: columnNumber
2806
+ };
2617
2807
  }
2808
+ const debugUri = getDebugUri(id, scriptId);
2809
+ return {
2810
+ uri: debugUri,
2811
+ languageId: scriptLanguage,
2812
+ rowIndex: lineNumber,
2813
+ columnIndex: columnNumber
2814
+ };
2618
2815
  };
2619
2816
 
2620
- const handleClickDebugButton = async (state, inputName) => {
2621
- const fn = getDebugButtonHandler(inputName);
2622
- return fn(state);
2817
+ const parseIndex = dataIndex => {
2818
+ const index = Number.parseInt(dataIndex);
2819
+ return index;
2623
2820
  };
2624
2821
 
2625
- const handleClickSectionAction = async (state, actionId) => {
2626
- if (!actionId) {
2822
+ const handleClickCallstackItem = async (state, dataIndex) => {
2823
+ const index = parseIndex(dataIndex);
2824
+ const {
2825
+ callStack,
2826
+ parsedScripts,
2827
+ id
2828
+ } = state;
2829
+ const item = callStack[index];
2830
+ if (!item) {
2627
2831
  return state;
2628
2832
  }
2629
- if (actionId === AddWatchExpression) {
2630
- return addWatchExpression(state, '');
2631
- }
2833
+ const {
2834
+ uri,
2835
+ languageId,
2836
+ rowIndex,
2837
+ columnIndex
2838
+ } = getOpenInfo(id, parsedScripts, item);
2839
+ await openUri(uri, languageId, rowIndex, columnIndex);
2632
2840
  return state;
2633
2841
  };
2634
2842
 
2635
- const handleClickSectionBreakPoints = state => {
2843
+ const setPauseOnExceptions = async (state, value) => {
2636
2844
  const {
2637
- breakPointsExpanded
2845
+ debugId,
2846
+ exceptionBreakPoints
2638
2847
  } = state;
2848
+ if (exceptionBreakPoints === value) {
2849
+ return state;
2850
+ }
2851
+ await setPauseOnExceptions$1(debugId, value);
2639
2852
  return {
2640
2853
  ...state,
2641
- breakPointsExpanded: !breakPointsExpanded,
2642
- focusedIndex: 1 // TODO don't hardcode number
2854
+ exceptionBreakPoints: value
2643
2855
  };
2644
2856
  };
2645
2857
 
2646
- const handleClickSectionCallstack = state => {
2858
+ const handleClickPauseOnExceptions = async state => {
2647
2859
  const {
2648
- callStackExpanded
2860
+ exceptionBreakPoints
2649
2861
  } = state;
2650
- return {
2651
- ...state,
2652
- callStackExpanded: !callStackExpanded,
2653
- focusedIndex: 1 // TODO don't hardcode number
2654
- };
2862
+ switch (exceptionBreakPoints) {
2863
+ case None$4:
2864
+ return setPauseOnExceptions(state, All);
2865
+ case Uncaught:
2866
+ return setPauseOnExceptions(state, All);
2867
+ case All:
2868
+ return setPauseOnExceptions(state, None$4);
2869
+ default:
2870
+ return state;
2871
+ }
2655
2872
  };
2656
2873
 
2657
- const BreakPoints = 'breakpoints';
2658
- const CallStack$2 = 'callstack';
2659
- const Scope$2 = 'scope';
2660
- const Watch$1 = 'watch';
2661
-
2662
- const handleClickSectionScope = state => {
2874
+ const getNewExceptionState = exceptionState => {
2875
+ switch (exceptionState) {
2876
+ case None$4:
2877
+ return Uncaught;
2878
+ case Uncaught:
2879
+ return None$4;
2880
+ case All:
2881
+ return None$4;
2882
+ default:
2883
+ return exceptionState;
2884
+ }
2885
+ };
2886
+ const handleClickPauseOnUncaughtExceptions = async state => {
2663
2887
  const {
2664
- scopeExpanded
2888
+ exceptionBreakPoints
2665
2889
  } = state;
2666
- return {
2667
- ...state,
2668
- scopeExpanded: !scopeExpanded,
2669
- focusedIndex: 2 // TODO don't hardcode number
2670
- };
2890
+ const newExceptionState = getNewExceptionState(exceptionBreakPoints);
2891
+ return setPauseOnExceptions(state, newExceptionState);
2671
2892
  };
2672
2893
 
2673
- const handleClickSectionUnkown = state => {
2674
- const {
2675
- callStackExpanded
2676
- } = state;
2894
+ const getCheckBoxClickHandler = name => {
2895
+ switch (name) {
2896
+ case PauseOnExceptions:
2897
+ return handleClickPauseOnExceptions;
2898
+ case PauseOnUncaughtExceptions:
2899
+ return handleClickPauseOnUncaughtExceptions;
2900
+ default:
2901
+ throw new Error('unknown input name');
2902
+ }
2903
+ };
2904
+
2905
+ const handleClickCheckBox = (state, name) => {
2906
+ const fn = getCheckBoxClickHandler(name);
2907
+ return fn(state);
2908
+ };
2909
+
2910
+ const removeElement = (array, element) => {
2911
+ const index = array.indexOf(element);
2912
+ if (index === -1) {
2913
+ return array;
2914
+ }
2915
+ return [...array.slice(0, index), ...array.slice(index + 1)];
2916
+ };
2917
+
2918
+ const getCollapsedScopeChain = (cache, scopeChain, element, index) => {
2919
+ const indent = element.indent;
2920
+ for (let i = index + 1; i < scopeChain.length; i++) {
2921
+ if (scopeChain[i].indent <= indent) {
2922
+ const newItems = scopeChain.slice(index + 1, i);
2923
+ const newCache = {
2924
+ ...cache,
2925
+ [scopeChain[index].objectId]: newItems
2926
+ };
2927
+ return {
2928
+ newScopeChain: [...scopeChain.slice(0, index + 1), ...scopeChain.slice(i)],
2929
+ newCache
2930
+ };
2931
+ }
2932
+ }
2677
2933
  return {
2678
- ...state,
2679
- callStackExpanded: !callStackExpanded
2934
+ newScopeChain: scopeChain,
2935
+ newCache: cache
2680
2936
  };
2681
2937
  };
2682
2938
 
2683
- const handleClickSectionWatch = state => {
2939
+ // TODO maybe store scope chain elements as tree
2940
+ // TODO when collapsing, store collapsed elements by parent id in cache
2941
+ // TODO when expanding, retrieve items from cache by parent id first
2942
+ // if they don't exist, query the actual items
2943
+
2944
+ const collapseScopeChain = (state, expandedIds, scopeChain, element, index) => {
2684
2945
  const {
2685
- watchExpanded
2946
+ cache
2686
2947
  } = state;
2687
- return {
2948
+ const newExpandedIds = removeElement(expandedIds, element.objectId);
2949
+ const {
2950
+ newScopeChain,
2951
+ newCache
2952
+ } = getCollapsedScopeChain(cache, scopeChain, element, index);
2953
+ const newState = {
2688
2954
  ...state,
2689
- watchExpanded: !watchExpanded,
2690
- focusedIndex: 0 // TODO don't hardcode number
2955
+ expandedIds: newExpandedIds,
2956
+ scopeChain: newScopeChain,
2957
+ scopeFocusedIndex: index,
2958
+ cache: newCache
2691
2959
  };
2960
+ return updateVisibleRows(newState);
2692
2961
  };
2693
2962
 
2694
- const getSectionClickHandler = id => {
2695
- switch (id) {
2696
- case Watch$1:
2697
- return handleClickSectionWatch;
2698
- case BreakPoints:
2699
- return handleClickSectionBreakPoints;
2700
- case Scope$2:
2701
- return handleClickSectionScope;
2702
- case CallStack$2:
2703
- return handleClickSectionCallstack;
2704
- default:
2705
- return handleClickSectionUnkown;
2963
+ const getInnerChildScopeChain = async (cache, debugId, objectId, indent, maxDescriptionLength) => {
2964
+ if (cache[objectId]) {
2965
+ return cache[objectId];
2706
2966
  }
2967
+ const childScopes = await getProperties(debugId, objectId);
2968
+ const childScopeChain = [];
2969
+ for (const child of childScopes.result.result) {
2970
+ const valueLabel = getDebugPropertyValueLabel(child.value || child.get || {}, maxDescriptionLength);
2971
+ childScopeChain.push({
2972
+ type: Property$1,
2973
+ key: child.name,
2974
+ value: valueLabel,
2975
+ valueType: getDebugValueType(child),
2976
+ objectId: getDebugValueObjectId(child),
2977
+ indent: indent + 10
2978
+ });
2979
+ }
2980
+ return childScopeChain;
2707
2981
  };
2708
2982
 
2709
- const handleClickSectionHeading = async (state, id) => {
2710
- const fn = getSectionClickHandler(id);
2711
- return fn(state);
2983
+ const getChildScopeChain = async (cache, index, debugId, scopeChain, maxDescriptionLength) => {
2984
+ const element = scopeChain[index];
2985
+ const objectId = element.objectId;
2986
+ const childScopeChain = await getInnerChildScopeChain(cache, debugId, objectId, element.indent, maxDescriptionLength);
2987
+ const newScopeChain = [...scopeChain.slice(0, index + 1), ...childScopeChain, ...scopeChain.slice(index + 1)];
2988
+ return newScopeChain;
2712
2989
  };
2713
2990
 
2714
- const editWatchExpression = (state, index) => {
2991
+ const expandScopeChain = async (state, expandedIds, scopeChain, element, index, debugId) => {
2715
2992
  const {
2716
- watchExpressions
2993
+ cache,
2994
+ maxDescriptionLength
2717
2995
  } = state;
2718
- const item = watchExpressions[index];
2719
- if (!item) {
2720
- return state;
2721
- }
2722
- const newItem = {
2723
- ...item,
2724
- isEditing: true
2725
- };
2726
- const newWatchExpressions = watchExpressions.toSpliced(index, 1, newItem);
2727
- return {
2996
+ const newScopeChain = await getChildScopeChain(cache, index, debugId, scopeChain, maxDescriptionLength);
2997
+ const objectId = scopeChain[index].objectId;
2998
+ const newExpandedIds = [...expandedIds, objectId];
2999
+ const newState = {
2728
3000
  ...state,
2729
- watchExpressions: newWatchExpressions,
2730
- focus: FocusDebugWatchInput,
2731
- inputSource: Script$2,
2732
- editingValue: item.expression,
2733
- editingselectionstart: 0,
2734
- editingselectionend: item.expression.length
3001
+ scopeChain: newScopeChain,
3002
+ expandedIds: newExpandedIds,
3003
+ scopeFocusedIndex: index
2735
3004
  };
3005
+ return updateVisibleRows(newState);
2736
3006
  };
2737
3007
 
2738
- const handleClickWatchExpression = async (state, dataIndex, defaultPrevented) => {
2739
- if (defaultPrevented) {
2740
- return state;
3008
+ const getElementIndex = (debugId, scopeChain, text) => {
3009
+ for (let i = 0; i < scopeChain.length; i++) {
3010
+ const element = scopeChain[i];
3011
+ if (element.key === text) {
3012
+ return i;
3013
+ }
2741
3014
  }
2742
- const index = parseIndex(dataIndex);
2743
- return editWatchExpression(state, index);
3015
+ return -1;
2744
3016
  };
2745
3017
 
2746
- const handleClickWatchExpressionDelete = async (state, dataIndex) => {
2747
- const index = parseIndex(dataIndex);
2748
- return deleteWatchExpression$1(state, index);
3018
+ // TODO pass index to function instead of text
3019
+ const handleClickScopeValue = async (state, text) => {
3020
+ const {
3021
+ scopeChain,
3022
+ debugId,
3023
+ expandedIds
3024
+ } = state;
3025
+ const index = getElementIndex(debugId, scopeChain, text);
3026
+ if (index === -1) {
3027
+ return state;
3028
+ }
3029
+ const element = scopeChain[index];
3030
+ if (expandedIds.includes(element.objectId)) {
3031
+ return collapseScopeChain(state, expandedIds, scopeChain, element, index);
3032
+ }
3033
+ return expandScopeChain(state, expandedIds, scopeChain, element, index, debugId);
2749
3034
  };
2750
3035
 
2751
- const handleWatchExpressionDoubleClick = async (state, dataIndex) => {
3036
+ /**
3037
+ * @deprecated
3038
+ */
3039
+ const handlePaused = async (state, params) => {
2752
3040
  return state;
2753
3041
  };
2754
3042
 
2755
- const handleInputBlur = async state => {
3043
+ // TODO maybe store scope chain elements as tree
3044
+ // TODO when collapsing, store collapsed elements by parent id in cache
3045
+ // TODO when expanding, retrieve items from cache by parent id first
3046
+ // if they don't exist, query the actual items
3047
+
3048
+ const resume = async state => {
2756
3049
  const {
2757
- watchExpressions
3050
+ debugId
2758
3051
  } = state;
2759
- const editingIndex = watchExpressions.findIndex(expr => expr.isEditing);
2760
- if (editingIndex === -1) {
2761
- return state;
2762
- }
2763
- return acceptWatchExpressionEdit(state);
3052
+ await resume$2(debugId);
3053
+ return state;
2764
3054
  };
2765
-
2766
- const handleWatchValueChange = (state, value) => {
2767
- return {
2768
- ...state,
2769
- editingValue: value
2770
- };
3055
+ const pause = async state => {
3056
+ const {
3057
+ debugId
3058
+ } = state;
3059
+ await pause$2(debugId);
3060
+ return state;
2771
3061
  };
2772
-
2773
- const handleInputFieldChange = (state, name, value) => {
2774
- if (name === WatchExpressionInput) {
2775
- return handleWatchValueChange(state, value);
3062
+ const togglePause = async state => {
3063
+ const {
3064
+ debugState
3065
+ } = state;
3066
+ if (debugState === Default) {
3067
+ return pause(state);
2776
3068
  }
3069
+ return resume(state);
3070
+ };
3071
+ const stepOver = async state => {
3072
+ const {
3073
+ debugId
3074
+ } = state;
3075
+ await stepOver$2(debugId);
2777
3076
  return state;
2778
3077
  };
2779
-
2780
- const handleScriptParsed = (state, parsedScript) => {
3078
+ const stepInto = async state => {
2781
3079
  const {
2782
- parsedScripts
3080
+ debugId
3081
+ } = state;
3082
+ await stepInto$2(debugId);
3083
+ return state;
3084
+ };
3085
+ const stepOut = async state => {
3086
+ const {
3087
+ debugId
2783
3088
  } = state;
3089
+ await stepOut$2(debugId);
3090
+ return state;
3091
+ };
3092
+ const handleDebugInput = (state, value) => {
2784
3093
  return {
2785
3094
  ...state,
2786
- parsedScripts: {
2787
- ...parsedScripts,
2788
- [parsedScript.scriptId]: parsedScript
2789
- }
3095
+ debugInputValue: value
2790
3096
  };
2791
3097
  };
2792
-
2793
- const getPortTuple = () => {
3098
+ const handleEvaluate = async state => {
2794
3099
  const {
2795
- port1,
2796
- port2
2797
- } = new MessageChannel();
3100
+ debugInputValue,
3101
+ callFrameId,
3102
+ debugId
3103
+ } = state;
3104
+ const result = await evaluate(debugId, debugInputValue, callFrameId);
3105
+ const actualResult = result.result.result.value;
2798
3106
  return {
2799
- port1,
2800
- port2
3107
+ ...state,
3108
+ debugInputValue: '',
3109
+ debugOutputValue: `${actualResult}`
2801
3110
  };
2802
3111
  };
2803
-
2804
- const sendMessagePortToEditorWorker = async port => {
2805
- const command = 'HandleMessagePort.handleMessagePort';
2806
- // @ts-ignore
2807
- await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToEditorWorker', port, command, RpcId.DebugWorker);
2808
- };
2809
-
2810
- const createEditorWorkerRpc = async () => {
2811
- try {
2812
- const {
2813
- port1,
2814
- port2
2815
- } = getPortTuple();
2816
- await sendMessagePortToEditorWorker(port2);
2817
- const rpc = await PlainMessagePortRpcParent.create({
2818
- commandMap: {},
2819
- messagePort: port1
2820
- });
2821
- return rpc;
2822
- } catch (error) {
2823
- throw new VError(error, `Failed to create editor worker rpc`);
2824
- }
2825
- };
2826
-
2827
- const initializeEditorWorker = async () => {
2828
- try {
2829
- const rpc = await createEditorWorkerRpc();
2830
- set$1(rpc);
2831
- } catch {
2832
- // ignore
3112
+ const handleArrowLeft = state => {
3113
+ const {
3114
+ focusedIndex
3115
+ } = state;
3116
+ if (focusedIndex === 2) {
3117
+ return {
3118
+ ...state,
3119
+ scopeExpanded: false
3120
+ };
2833
3121
  }
3122
+ return state;
2834
3123
  };
2835
-
2836
- const sendMessagePortToExtensionHostWorker = async port => {
2837
- const command = 'HandleMessagePort.handleMessagePort2';
2838
- await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, RpcId.DebugWorker);
2839
- };
2840
-
2841
- const createExtensionHostRpc = async () => {
2842
- try {
2843
- const {
2844
- port1,
2845
- port2
2846
- } = getPortTuple();
2847
- await sendMessagePortToExtensionHostWorker(port2);
2848
- const rpc = await PlainMessagePortRpcParent.create({
2849
- commandMap: {},
2850
- messagePort: port1
2851
- });
2852
- return rpc;
2853
- } catch (error) {
2854
- throw new VError(error, `Failed to create extension host rpc`);
3124
+ const handleArrowRight = state => {
3125
+ const {
3126
+ focusedIndex
3127
+ } = state;
3128
+ if (focusedIndex === 2) {
3129
+ return {
3130
+ ...state,
3131
+ scopeExpanded: true
3132
+ };
2855
3133
  }
3134
+ return state;
2856
3135
  };
2857
-
2858
- const initializeExtensionHost = async () => {
2859
- const rpc = await createExtensionHostRpc();
2860
- set$2(rpc);
2861
- };
2862
-
2863
- const initialize = async () => {
2864
- await Promise.all([initializeExtensionHost(), initializeEditorWorker()]);
2865
- };
2866
-
2867
- const getDebugId = isTest => {
2868
- const debugId = isTest ? 'test-debug' : 'node-debug'; // TODO
2869
- return debugId;
3136
+ const handleArrowUp = state => {
3137
+ return state;
2870
3138
  };
2871
-
2872
- const hasProperty = (object, key) => {
2873
- return Boolean(object && typeof object === 'object' && key in object);
3139
+ const handleArrowDown = state => {
3140
+ return state;
2874
3141
  };
2875
-
2876
- const restoreBoolean = (savedState, key) => {
2877
- if (hasProperty(savedState, key) && typeof savedState[key] === 'boolean') {
2878
- return savedState[key];
2879
- }
2880
- return false;
3142
+ const focusPrevious = state => {
3143
+ return state;
2881
3144
  };
2882
-
2883
- const restoreBreakPointsExpanded = savedState => {
2884
- return restoreBoolean(savedState, 'breakPointsExpanded');
3145
+ const focusNext = state => {
3146
+ return state;
2885
3147
  };
2886
-
2887
- const restoreEditingValue = savedState => {
2888
- if (hasProperty(savedState, 'editingValue') && typeof savedState.editingValue === 'string') {
2889
- return savedState.editingValue;
2890
- }
2891
- return '';
3148
+ const resize = (state, dimensions) => {
3149
+ return {
3150
+ ...state,
3151
+ ...dimensions
3152
+ };
2892
3153
  };
2893
3154
 
2894
- const restoreFocus = savedState => {
2895
- // if (hasProperty(savedState, 'focus') && typeof savedState.focus === 'number') {
2896
- // return savedState.focus
2897
- // }
2898
- return 0;
3155
+ const stop = async state => {
3156
+ // TODO
3157
+ return state;
2899
3158
  };
2900
-
2901
- const restoreScopeExpanded = savedState => {
2902
- return restoreBoolean(savedState, 'scopeExpanded');
3159
+ const noop = async state => {
3160
+ // TODO
3161
+ return state;
3162
+ };
3163
+ const getDebugButtonHandler = inputName => {
3164
+ switch (inputName) {
3165
+ case DebugPause$1:
3166
+ return pause;
3167
+ case DebugResume:
3168
+ return resume;
3169
+ case DebugStepInto$1:
3170
+ return stepInto;
3171
+ case DebugStepOver$1:
3172
+ return stepOver;
3173
+ case DebugStepOut$1:
3174
+ return stepOut;
3175
+ case DebugStop$1:
3176
+ return stop;
3177
+ default:
3178
+ return noop;
3179
+ }
2903
3180
  };
2904
3181
 
2905
- const restoreWatchExpanded = savedState => {
2906
- return restoreBoolean(savedState, 'watchExpanded');
3182
+ const handleClickDebugButton = async (state, inputName) => {
3183
+ const fn = getDebugButtonHandler(inputName);
3184
+ return fn(state);
2907
3185
  };
2908
3186
 
2909
- const restoreWatchExpression = savedExpression => {
2910
- if (typeof savedExpression === 'object' && savedExpression !== null && hasProperty(savedExpression, 'expression') && typeof savedExpression.expression === 'string' && hasProperty(savedExpression, 'value') && hasProperty(savedExpression, 'isEditing') && typeof savedExpression.isEditing === 'boolean') {
2911
- const value = savedExpression.value;
2912
- if (value === null || value === undefined || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
2913
- return {
2914
- expression: savedExpression.expression,
2915
- value,
2916
- isEditing: savedExpression.isEditing
2917
- };
2918
- }
3187
+ const refreshWatchExpression = async state => {
3188
+ const {
3189
+ debugId,
3190
+ callFrameId,
3191
+ debugState,
3192
+ watchExpressions
3193
+ } = state;
3194
+ if (debugState !== Paused) {
3195
+ return state;
2919
3196
  }
3197
+ const newWatchExpressions = await evaluateWatchExpressions(debugId, callFrameId, watchExpressions);
2920
3198
  return {
2921
- expression: '',
2922
- value: null,
2923
- isEditing: false
3199
+ ...state,
3200
+ watchExpressions: newWatchExpressions
2924
3201
  };
2925
3202
  };
2926
- const restoreWatchExpressions = savedState => {
2927
- if (hasProperty(savedState, 'watchExpressions') && Array.isArray(savedState.watchExpressions)) {
2928
- return savedState.watchExpressions.map(restoreWatchExpression);
3203
+
3204
+ const handleClickSectionAction = async (state, actionId) => {
3205
+ if (!actionId) {
3206
+ return state;
2929
3207
  }
2930
- return [];
3208
+ if (actionId === AddWatchExpression) {
3209
+ return addWatchExpression$1(state, '');
3210
+ }
3211
+ if (actionId === RefreshWatchExpressions) {
3212
+ return refreshWatchExpression(state);
3213
+ }
3214
+ return state;
2931
3215
  };
2932
3216
 
2933
- const restoreState = savedState => {
2934
- const watchExpressions = restoreWatchExpressions(savedState);
2935
- const watchExpanded = restoreWatchExpanded(savedState);
2936
- const scopeExpanded = restoreScopeExpanded(savedState);
2937
- const breakPointsExpanded = restoreBreakPointsExpanded(savedState);
2938
- const focus = restoreFocus();
2939
- const editingValue = restoreEditingValue(savedState);
2940
- return {
2941
- watchExpressions,
2942
- watchExpanded,
2943
- scopeExpanded,
2944
- breakPointsExpanded,
2945
- focus,
2946
- editingValue
3217
+ const getSectionIndex = (state, name) => {
3218
+ const rows = getRunAndDebugVisibleRows(state);
3219
+ return rows.findIndex(row => row.type === SectionHeading && row.name === name);
3220
+ };
3221
+
3222
+ const handleClickSectionBreakPoints = state => {
3223
+ const {
3224
+ breakPointsExpanded
3225
+ } = state;
3226
+ const newState = {
3227
+ ...state,
3228
+ breakPointsExpanded: !breakPointsExpanded,
3229
+ selectedIndex: getSectionIndex(state, BreakPoints$1)
2947
3230
  };
3231
+ return updateVisibleRows(newState);
2948
3232
  };
2949
3233
 
2950
- const loadContent = async (state, isTest, savedState) => {
3234
+ const handleClickSectionCallstack = state => {
2951
3235
  const {
2952
- watchExpressions,
2953
- watchExpanded,
2954
- breakPointsExpanded,
2955
- scopeExpanded,
2956
- focus,
2957
- editingValue
2958
- } = restoreState(savedState);
2959
- const debugId = getDebugId(isTest);
2960
- return {
3236
+ callStackExpanded
3237
+ } = state;
3238
+ const newState = {
2961
3239
  ...state,
2962
- debugId,
2963
- debugState: Default,
2964
- scopeExpanded,
2965
- callStackExpanded: true,
2966
- breakPointsExpanded,
2967
- watchExpressions,
2968
- watchExpanded,
2969
- focus,
2970
- editingValue
3240
+ callStackExpanded: !callStackExpanded,
3241
+ selectedIndex: getSectionIndex(state, CallStack$1)
2971
3242
  };
3243
+ return updateVisibleRows(newState);
2972
3244
  };
2973
3245
 
2974
- const loadContentLater = async state => {
3246
+ const handleClickSectionScope = state => {
2975
3247
  const {
2976
- debugId
3248
+ scopeExpanded
2977
3249
  } = state;
2978
- await start(debugId);
3250
+ const newState = {
3251
+ ...state,
3252
+ scopeExpanded: !scopeExpanded,
3253
+ selectedIndex: getSectionIndex(state, Scope$1)
3254
+ };
3255
+ return updateVisibleRows(newState);
3256
+ };
3257
+
3258
+ const handleClickSectionUnkown = state => {
3259
+ // For unknown section IDs, return the state unchanged
2979
3260
  return state;
2980
3261
  };
2981
3262
 
2982
- const parseUri = uri => {
2983
- const parts = uri.split('/');
2984
- const key = Number.parseInt(parts[1]);
2985
- const scriptId = parts[2];
2986
- return {
2987
- key,
2988
- scriptId
3263
+ const handleClickSectionWatch = state => {
3264
+ const {
3265
+ watchExpanded
3266
+ } = state;
3267
+ const newState = {
3268
+ ...state,
3269
+ watchExpanded: !watchExpanded,
3270
+ selectedIndex: getSectionIndex(state, Watch$1)
2989
3271
  };
3272
+ return updateVisibleRows(newState);
2990
3273
  };
2991
- const readFile = async uri => {
2992
- const {
2993
- key,
2994
- scriptId
2995
- } = parseUri(uri);
2996
- const instance = get(key);
2997
- if (!instance) {
2998
- return '';
3274
+
3275
+ const getSectionClickHandler = id => {
3276
+ switch (id) {
3277
+ case Watch:
3278
+ return handleClickSectionWatch;
3279
+ case BreakPoints:
3280
+ return handleClickSectionBreakPoints;
3281
+ case Scope:
3282
+ return handleClickSectionScope;
3283
+ case CallStack:
3284
+ return handleClickSectionCallstack;
3285
+ default:
3286
+ return handleClickSectionUnkown;
2999
3287
  }
3000
- const {
3001
- newState
3002
- } = instance;
3003
- const {
3004
- debugId
3005
- } = newState;
3006
- const content = await getScriptSource(debugId, scriptId);
3007
- return content;
3008
3288
  };
3009
3289
 
3010
- const refresh = async state => {
3011
- return {
3012
- ...state
3013
- };
3290
+ const LeftClick = 0;
3291
+
3292
+ const handleClickSectionHeading = async (state, id, button) => {
3293
+ if (button !== LeftClick) {
3294
+ return state;
3295
+ }
3296
+ const fn = getSectionClickHandler(id);
3297
+ return fn(state);
3014
3298
  };
3015
3299
 
3016
- const removeWatchExpression = (state, index) => {
3300
+ const editWatchExpression = (state, index) => {
3017
3301
  const {
3018
3302
  watchExpressions
3019
3303
  } = state;
3304
+ const item = watchExpressions[index];
3305
+ if (!item) {
3306
+ return state;
3307
+ }
3308
+ const newItem = {
3309
+ ...item,
3310
+ isEditing: true
3311
+ };
3312
+ const newWatchExpressions = watchExpressions.toSpliced(index, 1, newItem);
3020
3313
  return {
3021
3314
  ...state,
3022
- watchExpressions: watchExpressions.toSpliced(index, 1)
3315
+ watchExpressions: newWatchExpressions,
3316
+ focus: FocusDebugWatchInput,
3317
+ inputSource: Script$2,
3318
+ editingValue: item.expression,
3319
+ editingselectionstart: 0,
3320
+ editingselectionend: item.expression.length
3023
3321
  };
3024
3322
  };
3025
3323
 
3026
- const getFocusSelector = focusId => {
3027
- switch (focusId) {
3028
- case FocusDebugWatchInput:
3029
- return WatchExpressionInput;
3030
- default:
3031
- return '';
3324
+ const handleClickWatchExpression = async (state, dataIndex, defaultPrevented) => {
3325
+ if (defaultPrevented) {
3326
+ return state;
3032
3327
  }
3328
+ const index = parseIndex(dataIndex);
3329
+ return editWatchExpression(state, index);
3033
3330
  };
3034
3331
 
3035
- const renderFocus = (oldState, newState) => {
3036
- const {
3037
- id,
3038
- focus
3039
- } = newState;
3040
- const selector = getFocusSelector(focus);
3041
- if (!selector) {
3042
- return ['Viewlet.focusElementByName', id, ''];
3043
- }
3044
- return ['Viewlet.focusElementByName', id, selector];
3332
+ const handleClickWatchExpressionDelete = async (state, dataIndex) => {
3333
+ const index = parseIndex(dataIndex);
3334
+ return deleteWatchExpression$1(state, index);
3045
3335
  };
3046
3336
 
3047
- const renderFocusContext = (oldState, newState) => {
3048
- const {
3049
- focus
3050
- } = newState;
3051
- return ['Viewlet.setFocusContext', focus];
3337
+ const handleWatchExpressionDoubleClick = async (state, dataIndex) => {
3338
+ return state;
3052
3339
  };
3053
3340
 
3054
- const renderInputValue = (oldState, newState) => {
3341
+ const handleInputBlur = async state => {
3055
3342
  const {
3056
- id,
3057
- focus,
3058
- editingValue
3059
- } = newState;
3060
- const selector = getFocusSelector(focus);
3061
- if (!selector) {
3062
- return ['Viewlet.setValueByName', id, '', editingValue];
3343
+ watchExpressions
3344
+ } = state;
3345
+ const editingIndex = watchExpressions.findIndex(expr => expr.isEditing);
3346
+ if (editingIndex === -1) {
3347
+ return state;
3063
3348
  }
3064
- return ['Viewlet.setValueByName', id, selector, editingValue];
3349
+ return acceptWatchExpressionEdit(state);
3065
3350
  };
3066
3351
 
3067
- const ToolBar = 'toolbar';
3068
- const Tree = 'tree';
3069
- const TreeItem = 'treeitem';
3070
-
3071
- const SectionHeading = 1;
3072
- const Value = 2;
3073
- const Exception = 3;
3074
- const Scope$1 = 4;
3075
- const Property = 5;
3076
- const Message = 6;
3077
- const CallStack$1 = 7;
3078
- const CheckBox$1 = 8;
3079
- const WatchMessage = 9;
3080
- const WatchExpression = 10;
3081
- const InputField = 11;
3352
+ const handleWatchValueChange = (state, value) => {
3353
+ return {
3354
+ ...state,
3355
+ editingValue: value
3356
+ };
3357
+ };
3082
3358
 
3083
- const CallStackArrow = 'CallStackArrow';
3084
- const CallStackDescription = 'CallStackDescription';
3085
- const CallStackLabel = 'CallStackLabel';
3086
- const Chevron = 'Chevron';
3087
- const DebugButton = 'DebugButton';
3088
- const DebugButtons = 'DebugButtons';
3089
- const DebugPausedMessage = 'DebugPausedMessage';
3090
- const DebugRow = 'DebugRow';
3091
- const DebugRowCallStack = 'DebugRowCallStack';
3092
- const DebugRowCheckBox = 'DebugRowCheckBox';
3093
- const DebugRowInputField = 'DebugRowInputField';
3094
- const DebugSectionAction = 'DebugSectionAction';
3095
- const DebugSectionActions = 'DebugSectionActions';
3096
- const DebugSectionHeader = 'DebugSectionHeader';
3097
- const DebugValue = 'DebugValue';
3098
- const DebugValueBoolean = 'DebugValueBoolean';
3099
- const DebugValueFunction = 'DebugValueFunction';
3100
- const DebugValueGetter = 'DebugValueGetter';
3101
- const DebugValueNumber = 'DebugValueNumber';
3102
- const DebugValueObject = 'DebugValueObject';
3103
- const DebugValueScopeName = 'DebugValueScopeName';
3104
- const DebugValueString = 'DebugValueString';
3105
- const DebugValueSymbol = 'DebugValueSymbol';
3106
- const DebugValueUndefined = 'DebugValueUndefined';
3107
- const DeleteWatchExpression = 'DeleteWatchExpression';
3108
- const IconButton = 'IconButton';
3109
- const InputBox = 'InputBox';
3110
- const InputLabel = 'InputLabel';
3359
+ const handleInputFieldChange = (state, name, value) => {
3360
+ if (name === WatchExpressionInput) {
3361
+ return handleWatchValueChange(state, value);
3362
+ }
3363
+ return state;
3364
+ };
3111
3365
 
3112
- const HandleClickCallStackItem = 'handleClickCallStackItem';
3113
- const HandleClickWatchExpression = 'handleClickWatchExpression';
3114
- const HandleClickWatchExpressionDelete = 'handleClickWatchExpressionDelete';
3115
- const HandleClickCheckBox = 'handleClickCheckBox';
3116
- const HandleClickContinue = 'handleClickContinue';
3117
- const HandleClickDebugButton = 'handleClickDebugButton';
3118
- const HandleClickPause = 'handleClickPause';
3119
- const HandleClickScopeValue = 'handleClickScopeValue';
3120
- const HandleClickSectionBreakPoints = 'handleClickSectionBreakPoints';
3121
- const HandleClickSectionCallstack = 'handleClickSectionCallstack';
3122
- const HandleClickSectionHeading = 'handleClickSectionHeading';
3123
- const HandleClickSectionScope = 'handleClickSectionScope';
3124
- const HandleClickSectionWatch = 'handleClickSectionWatch';
3125
- const HandleClickStepInto = 'handleClickStepInto';
3126
- const HandleClickStepOut = 'handleClickStepOut';
3127
- const HandleClickStepOver = 'handleClickStepOver';
3128
- const HandleDebugInput = 'handleDebugInput';
3129
- const HandleClickSectionAction = 'handleClickSectionAction';
3130
- const HandleInputFieldChange = 'handleInputFieldChange';
3131
- const HandleInputBlur = 'handleInputBlur';
3366
+ const handleScriptParsed = (state, parsedScript) => {
3367
+ const {
3368
+ parsedScripts
3369
+ } = state;
3370
+ return {
3371
+ ...state,
3372
+ parsedScripts: {
3373
+ ...parsedScripts,
3374
+ [parsedScript.scriptId]: parsedScript
3375
+ }
3376
+ };
3377
+ };
3132
3378
 
3133
- // TODo use same click event listener for all debug sections
3379
+ const show = async (x, y, id, ...args) => {
3380
+ await invoke$2('ContextMenu.show', x, y, id);
3381
+ };
3134
3382
 
3135
- const Button = 1;
3136
- const Div = 4;
3137
- const Input = 6;
3138
- const Span = 8;
3139
- const Label = 66;
3383
+ const handleSectionHeaderContextMenu = async (state, x, y, id) => {
3384
+ await show(x, y, DebugWatchSectionHeading);
3385
+ return state;
3386
+ };
3140
3387
 
3141
- const getChevronDownVirtualDom = (extraClassName = '') => {
3388
+ const handleWatchExpressionContextMenu = async (state, x, y, dataIndex) => {
3389
+ const index = parseIndex(dataIndex);
3390
+ const newState = {
3391
+ ...state,
3392
+ focusedIndex: index
3393
+ };
3394
+ const {
3395
+ oldState
3396
+ } = get(state.id);
3397
+ set(state.id, oldState, newState);
3398
+ await show(x, y, DebugWatchExpression);
3399
+ return state;
3400
+ };
3401
+
3402
+ const hideCallStack = state => {
3142
3403
  return {
3143
- type: Div,
3144
- className: `${Chevron} MaskIconChevronDown ${extraClassName}`,
3145
- childCount: 0
3404
+ ...state,
3405
+ callStackVisible: false
3146
3406
  };
3147
3407
  };
3148
- const getChevronRightVirtualDom = (extraClassName = '') => {
3408
+
3409
+ const hideScope = state => {
3149
3410
  return {
3150
- type: Div,
3151
- className: `${Chevron} MaskIconChevronRight ${extraClassName}`,
3152
- childCount: 0
3411
+ ...state,
3412
+ scopeVisible: false
3153
3413
  };
3154
3414
  };
3155
3415
 
3156
- const mergeClassNames = (...classNames) => {
3157
- return classNames.filter(Boolean).join(' ');
3416
+ const hideWatch = state => {
3417
+ return {
3418
+ ...state,
3419
+ watchVisible: false
3420
+ };
3158
3421
  };
3159
- const Text$1 = 12;
3160
- const text = data => {
3422
+
3423
+ const getPortTuple = () => {
3424
+ const {
3425
+ port1,
3426
+ port2
3427
+ } = new MessageChannel();
3161
3428
  return {
3162
- type: Text$1,
3163
- text: data,
3164
- childCount: 0
3429
+ port1,
3430
+ port2
3165
3431
  };
3166
3432
  };
3167
3433
 
3168
- const getActionsDom = actions => {
3169
- const nodes = [];
3170
- nodes.push({
3171
- type: Div,
3172
- className: DebugSectionActions,
3173
- childCount: actions.length
3174
- });
3175
- for (const action of actions) {
3176
- nodes.push({
3177
- type: Button,
3178
- className: DebugSectionAction,
3179
- title: action.title,
3180
- onClick: HandleClickSectionAction,
3181
- name: action.id,
3182
- childCount: 1
3434
+ const sendMessagePortToEditorWorker = async port => {
3435
+ const command = 'HandleMessagePort.handleMessagePort';
3436
+ // @ts-ignore
3437
+ await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToEditorWorker', port, command, RpcId.DebugWorker);
3438
+ };
3439
+
3440
+ const createEditorWorkerRpc = async () => {
3441
+ try {
3442
+ const {
3443
+ port1,
3444
+ port2
3445
+ } = getPortTuple();
3446
+ await sendMessagePortToEditorWorker(port2);
3447
+ const rpc = await PlainMessagePortRpcParent.create({
3448
+ commandMap: {},
3449
+ messagePort: port1
3183
3450
  });
3184
- nodes.push(text(action.icon));
3451
+ return rpc;
3452
+ } catch (error) {
3453
+ throw new VError(error, `Failed to create editor worker rpc`);
3185
3454
  }
3186
- return nodes;
3187
3455
  };
3188
- const renderSectionHeading = row => {
3189
- const {
3190
- expanded,
3191
- text: text$1,
3192
- key,
3193
- actions
3194
- } = row;
3195
- const hasActions = actions && actions.length > 0;
3196
- const nodes = [{
3197
- type: Div,
3198
- className: DebugSectionHeader,
3199
- role: TreeItem,
3200
- ariaExpanded: expanded,
3201
- ariaLevel: 1,
3202
- childCount: hasActions ? 3 : 2,
3203
- onClick: HandleClickSectionHeading,
3204
- 'data-name': key
3205
- }, expanded ? getChevronDownVirtualDom() : getChevronRightVirtualDom(), text(text$1), ...getActionsDom(actions || [])];
3206
- return nodes;
3456
+
3457
+ const initializeEditorWorker = async () => {
3458
+ try {
3459
+ const rpc = await createEditorWorkerRpc();
3460
+ set$1(rpc);
3461
+ } catch {
3462
+ // ignore
3463
+ }
3207
3464
  };
3208
3465
 
3209
- const getArrowNodes = hasArrow => {
3210
- if (!hasArrow) {
3211
- return [];
3466
+ const sendMessagePortToExtensionHostWorker = async port => {
3467
+ const command = 'HandleMessagePort.handleMessagePort2';
3468
+ await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, RpcId.DebugWorker);
3469
+ };
3470
+
3471
+ const createExtensionHostRpc = async () => {
3472
+ try {
3473
+ const {
3474
+ port1,
3475
+ port2
3476
+ } = getPortTuple();
3477
+ await sendMessagePortToExtensionHostWorker(port2);
3478
+ const rpc = await PlainMessagePortRpcParent.create({
3479
+ commandMap: {},
3480
+ messagePort: port1
3481
+ });
3482
+ return rpc;
3483
+ } catch (error) {
3484
+ throw new VError(error, `Failed to create extension host rpc`);
3212
3485
  }
3213
- return [{
3214
- type: Div,
3215
- className: CallStackArrow,
3216
- childCount: 1
3217
- }, {
3218
- type: Div,
3219
- className: 'MaskIcon MaskIconArrowRight',
3220
- childCount: 0
3221
- }];
3222
3486
  };
3223
3487
 
3224
- const labelNode = {
3225
- type: Div,
3226
- className: CallStackLabel,
3227
- childCount: 1
3488
+ const initializeExtensionHost = async () => {
3489
+ const rpc = await createExtensionHostRpc();
3490
+ set$2(rpc);
3228
3491
  };
3229
- const descriptionNode = {
3230
- type: Div,
3231
- className: CallStackDescription,
3232
- childCount: 1
3492
+
3493
+ const initialize = async () => {
3494
+ await Promise.all([initializeExtensionHost(), initializeEditorWorker()]);
3233
3495
  };
3234
- const renderCallStack = row => {
3235
- const {
3236
- text: text$1,
3237
- description,
3238
- hasArrow,
3239
- index
3240
- } = row;
3241
- const childCount = hasArrow ? 3 : 2;
3242
- const arrowNodes = getArrowNodes(hasArrow);
3243
- return [{
3244
- type: Div,
3245
- className: mergeClassNames(DebugRow, DebugRowCallStack),
3246
- role: TreeItem,
3247
- ariaLevel: 2,
3248
- childCount,
3249
- onClick: HandleClickCallStackItem,
3250
- 'data-index': index
3251
- }, ...arrowNodes, labelNode, text(text$1), descriptionNode, text(description)];
3496
+
3497
+ const getDebugId = isTest => {
3498
+ const debugId = isTest ? 'test-debug' : 'node-debug'; // TODO
3499
+ return debugId;
3252
3500
  };
3253
3501
 
3254
- const CheckBox = 'checkbox';
3255
- const Text = 'text';
3502
+ const hasProperty = (object, key) => {
3503
+ return Boolean(object && typeof object === 'object' && key in object);
3504
+ };
3256
3505
 
3257
- const renderCheckBox = row => {
3258
- const {
3259
- text: text$1,
3260
- expanded,
3261
- name
3262
- } = row;
3263
- return [{
3264
- type: Div,
3265
- className: mergeClassNames(DebugRow, DebugRowCheckBox),
3266
- role: TreeItem,
3267
- ariaLevel: 2,
3268
- childCount: 2
3269
- }, {
3270
- type: Input,
3271
- inputType: CheckBox,
3272
- name,
3273
- checked: expanded,
3274
- childCount: 0,
3275
- onChange: HandleClickCheckBox,
3276
- id: name
3277
- }, {
3278
- type: Label,
3279
- className: InputLabel,
3280
- htmlFor: name,
3281
- childCount: 1
3282
- }, text(text$1)];
3506
+ const restoreBoolean = (savedState, key) => {
3507
+ if (hasProperty(savedState, key) && typeof savedState[key] === 'boolean') {
3508
+ return savedState[key];
3509
+ }
3510
+ return false;
3511
+ };
3512
+
3513
+ const restoreBreakPointsExpanded = savedState => {
3514
+ return restoreBoolean(savedState, 'breakPointsExpanded');
3515
+ };
3516
+
3517
+ const restoreEditingValue = savedState => {
3518
+ if (hasProperty(savedState, 'editingValue') && typeof savedState.editingValue === 'string') {
3519
+ return savedState.editingValue;
3520
+ }
3521
+ return '';
3522
+ };
3523
+
3524
+ const restoreFocus = savedState => {
3525
+ // if (hasProperty(savedState, 'focus') && typeof savedState.focus === 'number') {
3526
+ // return savedState.focus
3527
+ // }
3528
+ return 0;
3283
3529
  };
3284
3530
 
3285
- const getDebugValueClassName = valueType => {
3286
- switch (valueType) {
3287
- case Undefined:
3288
- return DebugValueUndefined;
3289
- case Number$1:
3290
- return DebugValueNumber;
3291
- case Symbol:
3292
- return DebugValueSymbol;
3293
- case Boolean$1:
3294
- return DebugValueBoolean;
3295
- case String$1:
3296
- return DebugValueString;
3297
- case Object$1:
3298
- return DebugValueObject;
3299
- case Function:
3300
- return DebugValueFunction;
3301
- case Getter:
3302
- return DebugValueGetter;
3303
- default:
3304
- return '';
3531
+ const restoreScopeExpanded = savedState => {
3532
+ return restoreBoolean(savedState, 'scopeExpanded');
3533
+ };
3534
+
3535
+ const restoreWatchExpanded = savedState => {
3536
+ return restoreBoolean(savedState, 'watchExpanded');
3537
+ };
3538
+
3539
+ const restoreWatchExpression = savedExpression => {
3540
+ if (typeof savedExpression === 'object' && savedExpression !== null && hasProperty(savedExpression, 'expression') && typeof savedExpression.expression === 'string' && hasProperty(savedExpression, 'value') && hasProperty(savedExpression, 'isEditing') && typeof savedExpression.isEditing === 'boolean') {
3541
+ const value = savedExpression.value;
3542
+ if (value === null || value === undefined || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
3543
+ return {
3544
+ expression: savedExpression.expression,
3545
+ value,
3546
+ isEditing: savedExpression.isEditing
3547
+ };
3548
+ }
3549
+ }
3550
+ return {
3551
+ expression: '',
3552
+ value: null,
3553
+ isEditing: false
3554
+ };
3555
+ };
3556
+ const restoreWatchExpressions = savedState => {
3557
+ if (hasProperty(savedState, 'watchExpressions') && Array.isArray(savedState.watchExpressions)) {
3558
+ return savedState.watchExpressions.map(restoreWatchExpression);
3305
3559
  }
3560
+ return [];
3306
3561
  };
3307
3562
 
3308
- const separator = text(': ');
3563
+ const restoreState = savedState => {
3564
+ const watchExpressions = restoreWatchExpressions(savedState);
3565
+ const watchExpanded = restoreWatchExpanded(savedState);
3566
+ const scopeExpanded = restoreScopeExpanded(savedState);
3567
+ const breakPointsExpanded = restoreBreakPointsExpanded(savedState);
3568
+ const focus = restoreFocus();
3569
+ const editingValue = restoreEditingValue(savedState);
3570
+ return {
3571
+ watchExpressions,
3572
+ watchExpanded,
3573
+ scopeExpanded,
3574
+ breakPointsExpanded,
3575
+ focus,
3576
+ editingValue
3577
+ };
3578
+ };
3309
3579
 
3310
- const renderValue = row => {
3580
+ const loadContent = async (state, isTest, savedState) => {
3311
3581
  const {
3312
- indent,
3313
- key,
3314
- value,
3315
- valueType,
3316
- expanded
3317
- } = row;
3318
- const className = getDebugValueClassName(valueType);
3319
- return [{
3320
- type: Div,
3321
- className: DebugRow,
3322
- role: TreeItem,
3323
- ariaExpanded: expanded,
3324
- ariaLevel: 3,
3325
- paddingLeft: indent,
3326
- onPointerDown: HandleClickScopeValue,
3327
- childCount: 3
3328
- }, {
3329
- type: Span,
3330
- className: 'DebugValue DebugPropertyKey',
3331
- childCount: 1
3332
- }, text(key), separator, {
3333
- type: Span,
3334
- className: mergeClassNames(DebugValue, className),
3335
- childCount: 1
3336
- }, text(value)];
3582
+ watchExpressions,
3583
+ watchExpanded,
3584
+ breakPointsExpanded,
3585
+ scopeExpanded,
3586
+ focus,
3587
+ editingValue
3588
+ } = restoreState(savedState);
3589
+ const debugId = getDebugId(isTest);
3590
+ const newState = {
3591
+ ...state,
3592
+ debugId,
3593
+ debugState: Default,
3594
+ scopeExpanded,
3595
+ callStackExpanded: true,
3596
+ breakPointsExpanded,
3597
+ watchExpressions,
3598
+ watchExpanded,
3599
+ focus,
3600
+ editingValue
3601
+ };
3602
+ return updateVisibleRows(newState);
3337
3603
  };
3338
3604
 
3339
- const renderInputField = row => {
3605
+ const loadContentLater = async state => {
3340
3606
  const {
3341
- text,
3342
- name
3343
- } = row;
3344
- return [{
3345
- type: Div,
3346
- className: mergeClassNames(DebugRow, DebugRowInputField),
3347
- role: TreeItem,
3348
- ariaLevel: 2,
3349
- childCount: 1
3350
- }, {
3351
- type: Input,
3352
- inputType: Text,
3353
- spellcheck: false,
3354
- autocapitalize: 'off',
3355
- autocorrect: 'off',
3356
- className: InputBox,
3357
- name,
3358
- value: text,
3359
- childCount: 0,
3360
- onInput: HandleInputFieldChange,
3361
- onBlur: HandleInputBlur,
3362
- id: name
3363
- }];
3607
+ debugId
3608
+ } = state;
3609
+ await start(debugId);
3610
+ const status = await getPausedStatus(debugId);
3611
+ if (status && status.status === 'unavailable') {
3612
+ const newState = {
3613
+ ...state,
3614
+ debugState: Unavailable
3615
+ };
3616
+ return updateVisibleRows(newState);
3617
+ }
3618
+ return state;
3364
3619
  };
3365
3620
 
3366
- const renderScope = row => {
3367
- const {
3621
+ const parseUri = uri => {
3622
+ const parts = uri.split('/');
3623
+ const key = Number.parseInt(parts[1]);
3624
+ const scriptId = parts[2];
3625
+ return {
3368
3626
  key,
3369
- expanded
3370
- } = row;
3371
- const className = DebugRow;
3372
- return [{
3373
- type: Div,
3374
- className,
3375
- role: TreeItem,
3376
- ariaExpanded: expanded,
3377
- ariaLevel: 2,
3378
- childCount: 2,
3379
- onPointerDown: HandleClickScopeValue,
3380
- 'data-name': key
3381
- }, expanded ? getChevronDownVirtualDom() : getChevronRightVirtualDom(), {
3382
- type: Span,
3383
- className: mergeClassNames(DebugValue, DebugValueScopeName),
3384
- childCount: 1
3385
- }, text(key)];
3627
+ scriptId
3628
+ };
3386
3629
  };
3387
-
3388
- const renderWatchExpression$1 = row => {
3630
+ const readFile = async uri => {
3389
3631
  const {
3390
- value,
3391
3632
  key,
3392
- index
3393
- } = row;
3394
- return [{
3395
- type: Div,
3396
- className: DebugRow,
3397
- role: TreeItem,
3398
- childCount: 4,
3399
- 'data-index': index,
3400
- onClick: HandleClickWatchExpression // TODO use doubleclick
3401
- }, {
3402
- type: Span,
3403
- className: DebugValueScopeName,
3404
- childCount: 1
3405
- }, text(key), separator, {
3406
- type: Span,
3407
- className: DebugValue,
3408
- childCount: 1
3409
- }, text(value), {
3410
- type: Button,
3411
- title: deleteWatchExpression(),
3412
- className: mergeClassNames(IconButton, DebugSectionAction, DeleteWatchExpression),
3413
- 'data-index': index,
3414
- onClick: HandleClickWatchExpressionDelete,
3415
- childCount: 1
3416
- }, text('×')];
3417
- };
3418
-
3419
- const renderWatchMessage = row => {
3633
+ scriptId
3634
+ } = parseUri(uri);
3635
+ const instance = get(key);
3636
+ if (!instance) {
3637
+ return '';
3638
+ }
3420
3639
  const {
3421
- text: text$1
3422
- } = row;
3423
- return [{
3424
- type: Div,
3425
- className: 'WatchMessage',
3426
- childCount: 1
3427
- }, text(text$1)];
3640
+ newState
3641
+ } = instance;
3642
+ const {
3643
+ debugId
3644
+ } = newState;
3645
+ const content = await getScriptSource(debugId, scriptId);
3646
+ return content;
3428
3647
  };
3429
3648
 
3430
- const renderNoop = row => {
3431
- return [{
3432
- type: Div,
3433
- childCount: 1
3434
- }, text('unknown row type')];
3649
+ const refresh = async state => {
3650
+ return {
3651
+ ...state
3652
+ };
3435
3653
  };
3436
- const renderMessage = row => {
3654
+
3655
+ const removeWatchExpression = (state, index) => {
3437
3656
  const {
3438
- text: text$1
3439
- } = row;
3440
- return [{
3441
- type: Div,
3442
- className: DebugPausedMessage,
3443
- childCount: 1
3444
- }, text(text$1)];
3657
+ watchExpressions
3658
+ } = state;
3659
+ return {
3660
+ ...state,
3661
+ watchExpressions: watchExpressions.toSpliced(index, 1)
3662
+ };
3445
3663
  };
3446
3664
 
3447
- const getRowRenderer = type => {
3448
- switch (type) {
3449
- case Message:
3450
- return renderMessage;
3451
- case SectionHeading:
3452
- return renderSectionHeading;
3453
- case CallStack$1:
3454
- return renderCallStack;
3455
- case Scope$1:
3456
- return renderScope;
3457
- case Value:
3458
- case Property:
3459
- case Exception:
3460
- return renderValue;
3461
- case CheckBox$1:
3462
- return renderCheckBox;
3463
- case WatchMessage:
3464
- return renderWatchMessage;
3465
- case WatchExpression:
3466
- return renderWatchExpression$1;
3467
- case InputField:
3468
- return renderInputField;
3665
+ const getFocusSelector = focusId => {
3666
+ switch (focusId) {
3667
+ case FocusDebugWatchInput:
3668
+ return WatchExpressionInput;
3469
3669
  default:
3470
- return renderNoop;
3670
+ return '';
3471
3671
  }
3472
3672
  };
3473
3673
 
3474
- const getRunAndDebugRowVirtualDom = row => {
3475
- const renderer = getRowRenderer(row.type);
3476
- return renderer(row);
3674
+ const renderFocus = (oldState, newState) => {
3675
+ const {
3676
+ id,
3677
+ focus
3678
+ } = newState;
3679
+ const selector = getFocusSelector(focus);
3680
+ if (!selector) {
3681
+ return ['Viewlet.focusElementByName', id, ''];
3682
+ }
3683
+ return ['Viewlet.focusElementByName', id, selector];
3477
3684
  };
3478
3685
 
3479
- const getRunAndDebugVirtualDom2 = rows => {
3480
- return [{
3481
- type: Div,
3482
- className: 'Viewlet RunAndDebug',
3483
- tabIndex: 0,
3484
- childCount: rows.length,
3485
- role: Tree
3486
- }, ...rows.flatMap(getRunAndDebugRowVirtualDom)];
3686
+ const renderFocusContext = (oldState, newState) => {
3687
+ const {
3688
+ focus
3689
+ } = newState;
3690
+ return ['Viewlet.setFocusContext', focus];
3487
3691
  };
3488
3692
 
3489
- const getRunAndDebugVisibleRowsBreakPoints = state => {
3693
+ const renderInputValue = (oldState, newState) => {
3490
3694
  const {
3491
- breakPointsExpanded,
3492
- exceptionBreakPoints
3493
- } = state;
3494
- if (breakPointsExpanded) {
3495
- return [{
3496
- type: SectionHeading,
3497
- text: breakPoints(),
3498
- expanded: true,
3499
- key: BreakPoints,
3500
- value: '',
3501
- indent: 0,
3502
- valueType: '',
3503
- name: '',
3504
- description: ''
3505
- }, {
3506
- type: CheckBox$1,
3507
- text: pauseOnExceptions(),
3508
- expanded: exceptionBreakPoints === All,
3509
- key: '',
3510
- value: '',
3511
- indent: 0,
3512
- valueType: '',
3513
- name: PauseOnExceptions,
3514
- description: ''
3515
- }, {
3516
- type: CheckBox$1,
3517
- text: pauseOnUncaughtExceptions(),
3518
- expanded: exceptionBreakPoints === Uncaught,
3519
- key: '',
3520
- value: '',
3521
- indent: 0,
3522
- valueType: '',
3523
- name: PauseOnUncaughtExceptions,
3524
- description: ''
3525
- }];
3695
+ id,
3696
+ focus,
3697
+ editingValue
3698
+ } = newState;
3699
+ const selector = getFocusSelector(focus);
3700
+ if (!selector) {
3701
+ return ['Viewlet.setValueByName', id, '', editingValue];
3526
3702
  }
3527
- return [{
3528
- type: SectionHeading,
3529
- text: breakPoints(),
3530
- expanded: breakPointsExpanded,
3531
- key: BreakPoints,
3532
- value: '',
3533
- indent: 0,
3534
- valueType: '',
3535
- name: '',
3536
- description: ''
3537
- }];
3703
+ return ['Viewlet.setValueByName', id, selector, editingValue];
3538
3704
  };
3539
3705
 
3540
- const Scope = 'Scope';
3541
- const CallStack = 'CallStack';
3542
- const Watch = 'Watch';
3706
+ const ToolBar = 'toolbar';
3707
+ const Tree = 'tree';
3708
+ const TreeItem = 'treeitem';
3543
3709
 
3544
- const formatLocation = (url, rowIndex, columnIndex) => {
3545
- const lastSlashIndex = url.lastIndexOf('/');
3546
- const adjustedRowIndex = rowIndex + 1;
3547
- if (lastSlashIndex === -1) {
3548
- return `${url}:${adjustedRowIndex}`;
3549
- }
3550
- const part = url.slice(lastSlashIndex + 1);
3551
- return `${part}:${adjustedRowIndex}`;
3710
+ const mergeClassNames = (...classNames) => {
3711
+ return classNames.filter(Boolean).join(' ');
3552
3712
  };
3553
-
3554
- const unknownScript = {
3555
- url: 'unknown'
3713
+ const Text$1 = 12;
3714
+ const text = data => {
3715
+ return {
3716
+ type: Text$1,
3717
+ text: data,
3718
+ childCount: 0
3719
+ };
3556
3720
  };
3557
- const getRunAndDebugVisibleRowsCallStack = state => {
3721
+ const CallStackArrow$1 = 'CallStackArrow';
3722
+ const CallStackDescription$1 = 'CallStackDescription';
3723
+ const CallStackLabel$1 = 'CallStackLabel';
3724
+ const Chevron$1 = 'Chevron';
3725
+ const DebugButton$1 = 'DebugButton';
3726
+ const DebugButtons$1 = 'DebugButtons';
3727
+ const DebugRow$1 = 'DebugRow';
3728
+ const DebugRowInputField$1 = 'DebugRowInputField';
3729
+ const DebugSectionAction$1 = 'DebugSectionAction';
3730
+ const DebugSectionActions$1 = 'DebugSectionActions';
3731
+ const DebugSectionHeader$1 = 'DebugSectionHeader';
3732
+ const DebugValue$1 = 'DebugValue';
3733
+ const DebugValueBoolean$1 = 'DebugValueBoolean';
3734
+ const DebugValueFunction$1 = 'DebugValueFunction';
3735
+ const DebugValueGetter$1 = 'DebugValueGetter';
3736
+ const DebugValueNumber$1 = 'DebugValueNumber';
3737
+ const DebugValueObject$1 = 'DebugValueObject';
3738
+ const DebugValueScopeName$1 = 'DebugValueScopeName';
3739
+ const DebugValueString$1 = 'DebugValueString';
3740
+ const DebugValueSymbol$1 = 'DebugValueSymbol';
3741
+ const DebugValueUndefined$1 = 'DebugValueUndefined';
3742
+ const DeleteWatchExpression$1 = 'DeleteWatchExpression';
3743
+ const IconButton$1 = 'IconButton';
3744
+ const InputBox$1 = 'InputBox';
3745
+ const InputLabel$1 = 'InputLabel';
3746
+ const ClassNames = {
3747
+ __proto__: null,
3748
+ CallStackArrow: CallStackArrow$1,
3749
+ CallStackDescription: CallStackDescription$1,
3750
+ CallStackLabel: CallStackLabel$1,
3751
+ Chevron: Chevron$1,
3752
+ DebugButton: DebugButton$1,
3753
+ DebugButtons: DebugButtons$1,
3754
+ DebugRow: DebugRow$1,
3755
+ DebugRowInputField: DebugRowInputField$1,
3756
+ DebugSectionAction: DebugSectionAction$1,
3757
+ DebugSectionActions: DebugSectionActions$1,
3758
+ DebugSectionHeader: DebugSectionHeader$1,
3759
+ DebugValue: DebugValue$1,
3760
+ DebugValueBoolean: DebugValueBoolean$1,
3761
+ DebugValueFunction: DebugValueFunction$1,
3762
+ DebugValueGetter: DebugValueGetter$1,
3763
+ DebugValueNumber: DebugValueNumber$1,
3764
+ DebugValueObject: DebugValueObject$1,
3765
+ DebugValueScopeName: DebugValueScopeName$1,
3766
+ DebugValueString: DebugValueString$1,
3767
+ DebugValueSymbol: DebugValueSymbol$1,
3768
+ DebugValueUndefined: DebugValueUndefined$1,
3769
+ DeleteWatchExpression: DeleteWatchExpression$1,
3770
+ IconButton: IconButton$1,
3771
+ InputBox: InputBox$1,
3772
+ InputLabel: InputLabel$1
3773
+ };
3774
+
3775
+ const {
3776
+ CallStackArrow,
3777
+ CallStackDescription,
3778
+ CallStackLabel,
3779
+ Chevron,
3780
+ DebugButton,
3781
+ DebugButtons,
3782
+ DebugRow,
3783
+ DebugRowInputField,
3784
+ DebugSectionAction,
3785
+ DebugSectionActions,
3786
+ DebugSectionHeader,
3787
+ DebugValue,
3788
+ DebugValueBoolean,
3789
+ DebugValueFunction,
3790
+ DebugValueGetter,
3791
+ DebugValueNumber,
3792
+ DebugValueObject,
3793
+ DebugValueScopeName,
3794
+ DebugValueString,
3795
+ DebugValueSymbol,
3796
+ DebugValueUndefined,
3797
+ DeleteWatchExpression,
3798
+ IconButton,
3799
+ InputBox,
3800
+ InputLabel
3801
+ } = ClassNames;
3802
+
3803
+ const HandleClickCallStackItem = 'handleClickCallStackItem';
3804
+ const HandleClickWatchExpression = 'handleClickWatchExpression';
3805
+ const HandleClickWatchExpressionDelete = 'handleClickWatchExpressionDelete';
3806
+ const HandleClickCheckBox = 'handleClickCheckBox';
3807
+ const HandleClickContinue = 'handleClickContinue';
3808
+ const HandleClickDebugButton = 'handleClickDebugButton';
3809
+ const HandleClickPause = 'handleClickPause';
3810
+ const HandleClickScopeValue = 'handleClickScopeValue';
3811
+ const HandleClickSectionBreakPoints = 'handleClickSectionBreakPoints';
3812
+ const HandleClickSectionCallstack = 'handleClickSectionCallstack';
3813
+ const HandleClickSectionHeading = 'handleClickSectionHeading';
3814
+ const HandleClickSectionScope = 'handleClickSectionScope';
3815
+ const HandleClickSectionWatch = 'handleClickSectionWatch';
3816
+ const HandleClickStepInto = 'handleClickStepInto';
3817
+ const HandleClickStepOut = 'handleClickStepOut';
3818
+ const HandleClickStepOver = 'handleClickStepOver';
3819
+ const HandleDebugInput = 'handleDebugInput';
3820
+ const HandleClickSectionAction = 'handleClickSectionAction';
3821
+ const HandleInputFieldChange = 'handleInputFieldChange';
3822
+ const HandleInputBlur = 'handleInputBlur';
3823
+ const HandleSectionHeaderContextMenu = 'handleSectionHeaderContextMenu';
3824
+ const HandleWatchExpressionContextMenu = 'handleWatchExpressionContextMenu';
3825
+
3826
+ // TODo use same click event listener for all debug sections
3827
+
3828
+ const Button = 1;
3829
+ const Div = 4;
3830
+ const Input = 6;
3831
+ const Span = 8;
3832
+ const Label = 66;
3833
+
3834
+ const getActionDom = action => {
3558
3835
  const {
3559
- callStack: callStack$1,
3560
- callStackExpanded,
3561
- parsedScripts
3562
- } = state;
3563
- const rows = [];
3564
- if (callStackExpanded) {
3565
- rows.push({
3566
- type: SectionHeading,
3567
- text: callStack(),
3568
- expanded: true,
3569
- key: CallStack$2,
3570
- value: '',
3571
- indent: 0,
3572
- valueType: '',
3573
- name: CallStack,
3574
- description: ''
3575
- });
3576
- if (callStack$1.length === 0) {
3577
- rows.push({
3578
- type: Message,
3579
- text: notPaused(),
3580
- expanded: false,
3581
- key: '',
3582
- value: '',
3583
- indent: 0,
3584
- valueType: '',
3585
- name: '',
3586
- description: ''
3587
- });
3588
- } else {
3589
- for (const item of callStack$1) {
3590
- const {
3591
- scriptId,
3592
- lineNumber} = item.location;
3593
- const script = parsedScripts[scriptId] || unknownScript;
3594
- const description = formatLocation(script.url, lineNumber);
3595
- const hasArrow = item === callStack$1[0];
3596
- rows.push({
3597
- type: CallStack$1,
3598
- text: item.functionName,
3599
- expanded: false,
3600
- key: CallStack$2,
3601
- value: '',
3602
- indent: 0,
3603
- valueType: '',
3604
- name: '',
3605
- description,
3606
- hasArrow,
3607
- index: callStack$1.indexOf(item) // TODO use for loop
3608
- });
3609
- }
3610
- }
3611
- } else {
3612
- rows.push({
3613
- type: SectionHeading,
3614
- text: callStack(),
3615
- expanded: false,
3616
- key: '',
3617
- value: '',
3618
- indent: 0,
3619
- valueType: '',
3620
- name: CallStack,
3621
- description: ''
3622
- });
3836
+ title,
3837
+ id,
3838
+ icon
3839
+ } = action;
3840
+ return [{
3841
+ type: Button,
3842
+ className: DebugSectionAction,
3843
+ title,
3844
+ onClick: HandleClickSectionAction,
3845
+ name: id,
3846
+ childCount: 1
3847
+ }, text(icon)];
3848
+ };
3849
+
3850
+ const getActionsDom = actions => {
3851
+ if (actions.length === 0) {
3852
+ return [];
3623
3853
  }
3624
- return rows;
3854
+ return [{
3855
+ type: Div,
3856
+ className: DebugSectionActions,
3857
+ childCount: actions.length
3858
+ }, ...actions.flatMap(getActionDom)];
3625
3859
  };
3626
3860
 
3627
- const getNoopRows = () => {
3628
- return [];
3861
+ const getChevronDownVirtualDom = (extraClassName = '') => {
3862
+ return {
3863
+ type: Div,
3864
+ className: `${Chevron} MaskIconChevronDown ${extraClassName}`,
3865
+ childCount: 0
3866
+ };
3867
+ };
3868
+ const getChevronRightVirtualDom = (extraClassName = '') => {
3869
+ return {
3870
+ type: Div,
3871
+ className: `${Chevron} MaskIconChevronRight ${extraClassName}`,
3872
+ childCount: 0
3873
+ };
3629
3874
  };
3630
3875
 
3631
- const getScopeExceptionRows = scope => {
3876
+ const getDebugRowClassName = (baseClassName, isSelected) => {
3877
+ return isSelected ? mergeClassNames(baseClassName, 'DebugRowSelected') : baseClassName;
3878
+ };
3879
+
3880
+ const renderSectionHeading = (row, selectedIndex, rowIndex) => {
3632
3881
  const {
3882
+ expanded,
3883
+ text: text$1,
3633
3884
  key,
3634
- value,
3635
- indent
3636
- } = scope;
3637
- return [{
3638
- type: Exception,
3639
- text: '',
3640
- expanded: false,
3641
- key,
3642
- value,
3643
- indent,
3644
- valueType: '',
3645
- name: '',
3646
- description: ''
3647
- }];
3885
+ actions
3886
+ } = row;
3887
+ const hasActions = actions && actions.length > 0;
3888
+ const isSelected = rowIndex === selectedIndex;
3889
+ const className = getDebugRowClassName(DebugSectionHeader, isSelected);
3890
+ const nodes = [{
3891
+ type: Div,
3892
+ className,
3893
+ role: TreeItem,
3894
+ ariaExpanded: expanded,
3895
+ ariaLevel: 1,
3896
+ childCount: hasActions ? 3 : 2,
3897
+ onClick: HandleClickSectionHeading,
3898
+ onContextMenu: HandleSectionHeaderContextMenu,
3899
+ 'data-name': key
3900
+ }, expanded ? getChevronDownVirtualDom() : getChevronRightVirtualDom(), text(text$1), ...getActionsDom(actions || [])];
3901
+ return nodes;
3648
3902
  };
3649
3903
 
3650
- const None = 0;
3651
- const Expanded = 1 << 0;
3652
- const Collapsed = 1 << 1;
3653
- const Focused = 1 << 2;
3654
-
3655
- const getScopePropertyRows = scope => {
3656
- const {
3657
- indent,
3658
- key,
3659
- value,
3660
- valueType,
3661
- flags
3662
- } = scope;
3904
+ const getArrowNodes = hasArrow => {
3905
+ if (!hasArrow) {
3906
+ return [];
3907
+ }
3663
3908
  return [{
3664
- type: Property,
3665
- text: '',
3666
- expanded: Boolean(flags & Expanded),
3667
- key,
3668
- value,
3669
- indent,
3670
- valueType,
3671
- name: '',
3672
- description: ''
3909
+ type: Div,
3910
+ className: CallStackArrow,
3911
+ childCount: 1
3912
+ }, {
3913
+ type: Div,
3914
+ className: 'MaskIcon MaskIconArrowRight',
3915
+ childCount: 0
3673
3916
  }];
3674
3917
  };
3675
3918
 
3676
- const getScopeScopeRows = scope => {
3919
+ const labelNode = {
3920
+ type: Div,
3921
+ className: CallStackLabel,
3922
+ childCount: 1
3923
+ };
3924
+ const descriptionNode = {
3925
+ type: Div,
3926
+ className: CallStackDescription,
3927
+ childCount: 1
3928
+ };
3929
+ const renderCallStack = (row, selectedIndex, rowIndex) => {
3677
3930
  const {
3678
- key,
3679
- flags
3680
- } = scope;
3931
+ text: text$1,
3932
+ description,
3933
+ hasArrow,
3934
+ index
3935
+ } = row;
3936
+ const childCount = hasArrow ? 3 : 2;
3937
+ const arrowNodes = getArrowNodes(hasArrow);
3938
+ const isSelected = rowIndex === selectedIndex;
3939
+ const className = getDebugRowClassName('DebugRow DebugRowCallStack', isSelected);
3681
3940
  return [{
3682
- type: Scope$1,
3683
- text: '',
3684
- expanded: Boolean(flags & Expanded),
3685
- key,
3686
- value: '',
3687
- indent: 0,
3688
- valueType: '',
3689
- name: '',
3690
- description: ''
3691
- }];
3941
+ type: Div,
3942
+ className,
3943
+ role: TreeItem,
3944
+ ariaLevel: 2,
3945
+ childCount,
3946
+ onClick: HandleClickCallStackItem,
3947
+ 'data-index': index
3948
+ }, ...arrowNodes, labelNode, text(text$1), descriptionNode, text(description)];
3692
3949
  };
3693
3950
 
3694
- const getScopeThisRows = scope => {
3951
+ const CheckBox = 'checkbox';
3952
+ const Text = 'text';
3953
+
3954
+ const renderCheckBox = (row, selectedIndex, rowIndex) => {
3695
3955
  const {
3696
- indent,
3697
- key,
3698
- value,
3699
- valueType
3700
- } = scope;
3956
+ text: text$1,
3957
+ expanded,
3958
+ name
3959
+ } = row;
3960
+ const isSelected = rowIndex === selectedIndex;
3961
+ const className = getDebugRowClassName(DebugRow, isSelected);
3701
3962
  return [{
3702
- type: Value,
3703
- text: '',
3704
- expanded: false,
3705
- key,
3706
- value,
3707
- indent,
3708
- valueType,
3709
- name: '',
3710
- description: ''
3711
- }];
3963
+ type: Div,
3964
+ className,
3965
+ role: TreeItem,
3966
+ ariaLevel: 2,
3967
+ childCount: 2
3968
+ }, {
3969
+ type: Input,
3970
+ inputType: CheckBox,
3971
+ name,
3972
+ checked: expanded,
3973
+ childCount: 0,
3974
+ onChange: HandleClickCheckBox,
3975
+ id: name
3976
+ }, {
3977
+ type: Label,
3978
+ className: InputLabel,
3979
+ htmlFor: name,
3980
+ childCount: 1
3981
+ }, text(text$1)];
3712
3982
  };
3713
3983
 
3714
- const getScopeRenderer = type => {
3715
- switch (type) {
3716
- case This:
3717
- return getScopeThisRows;
3718
- case Exception$1:
3719
- return getScopeExceptionRows;
3720
- case Scope$3:
3721
- return getScopeScopeRows;
3722
- case Property$1:
3723
- return getScopePropertyRows;
3984
+ const getDebugValueClassName = valueType => {
3985
+ switch (valueType) {
3986
+ case Undefined:
3987
+ return DebugValueUndefined;
3988
+ case Number$1:
3989
+ return DebugValueNumber;
3990
+ case Symbol:
3991
+ return DebugValueSymbol;
3992
+ case Boolean$1:
3993
+ return DebugValueBoolean;
3994
+ case String$1:
3995
+ return DebugValueString;
3996
+ case Object$1:
3997
+ return DebugValueObject;
3998
+ case Function:
3999
+ return DebugValueFunction;
4000
+ case Getter:
4001
+ return DebugValueGetter;
3724
4002
  default:
3725
- return getNoopRows;
4003
+ return '';
3726
4004
  }
3727
4005
  };
3728
4006
 
3729
- const getExpandable = valueType => {
3730
- if (valueType === 'object') {
3731
- return true;
3732
- }
3733
- return false;
3734
- };
3735
- const getFlags = (isExpanded, isExpandable, isFocused) => {
3736
- let flags = None;
3737
- if (isExpanded) {
3738
- flags |= Expanded;
3739
- } else if (isExpandable) {
3740
- flags |= Collapsed;
3741
- }
3742
- if (isFocused) {
3743
- flags |= Focused;
3744
- }
3745
- return flags;
3746
- };
3747
- const getVisibleScopeItems = (scopeChain, expandedIds, focusedIndex) => {
3748
- const minLineY = 0;
3749
- const maxLineY = scopeChain.length;
3750
- const visible = [];
3751
- for (let i = minLineY; i < maxLineY; i++) {
3752
- const element = scopeChain[i];
3753
- const isExpanded = expandedIds.includes(element.objectId);
3754
- const isExpandable = getExpandable(element.valueType);
3755
- const isFocused = i === focusedIndex;
3756
- const flags = getFlags(isExpanded, isExpandable, isFocused);
3757
- visible.push({
3758
- ...element,
3759
- flags
3760
- });
3761
- }
3762
- return visible;
4007
+ const separator = text(': ');
4008
+
4009
+ const renderValue = (row, selectedIndex, rowIndex) => {
4010
+ const {
4011
+ indent,
4012
+ key,
4013
+ value,
4014
+ valueType,
4015
+ expanded
4016
+ } = row;
4017
+ const isSelected = rowIndex === selectedIndex;
4018
+ const className = getDebugRowClassName(DebugRow, isSelected);
4019
+ return [{
4020
+ type: Div,
4021
+ className: className,
4022
+ role: TreeItem,
4023
+ ariaExpanded: expanded,
4024
+ ariaLevel: 3,
4025
+ paddingLeft: indent,
4026
+ onPointerDown: HandleClickScopeValue,
4027
+ childCount: 3
4028
+ }, {
4029
+ type: Span,
4030
+ className: 'DebugValue DebugPropertyKey',
4031
+ childCount: 1
4032
+ }, text(key), separator, {
4033
+ type: Span,
4034
+ className: mergeClassNames(DebugValue, getDebugValueClassName(valueType)),
4035
+ childCount: 1
4036
+ }, text(value)];
3763
4037
  };
3764
4038
 
3765
- const getRunAndDebugVisibleRowsScope = state => {
3766
- const rows = [];
4039
+ const renderInputField = (row, selectedIndex, rowIndex) => {
3767
4040
  const {
3768
- scopeChain,
3769
- scopeExpanded,
3770
- expandedIds,
3771
- scopeFocusedIndex
3772
- } = state;
3773
- if (scopeExpanded) {
3774
- rows.push({
3775
- type: SectionHeading,
3776
- text: scope(),
3777
- expanded: true,
3778
- key: Scope$2,
3779
- value: '',
3780
- indent: 0,
3781
- valueType: '',
3782
- name: Scope,
3783
- description: ''
3784
- });
3785
- if (scopeChain.length === 0) {
3786
- rows.push({
3787
- type: Message,
3788
- text: notPaused(),
3789
- expanded: false,
3790
- key: '',
3791
- value: '',
3792
- indent: 0,
3793
- valueType: '',
3794
- name: '',
3795
- description: ''
3796
- });
3797
- } else {
3798
- const visible = getVisibleScopeItems(scopeChain, expandedIds, scopeFocusedIndex);
3799
- for (const scope of visible) {
3800
- const renderer = getScopeRenderer(scope.type);
3801
- rows.push(...renderer(scope));
3802
- }
3803
- }
3804
- } else {
3805
- rows.push({
3806
- type: SectionHeading,
3807
- text: scope(),
3808
- expanded: false,
3809
- key: Scope$2,
3810
- value: '',
3811
- indent: 0,
3812
- valueType: '',
3813
- name: Scope,
3814
- description: ''
3815
- });
3816
- }
3817
- return rows;
4041
+ text,
4042
+ name
4043
+ } = row;
4044
+ const isSelected = rowIndex === selectedIndex;
4045
+ const className = getDebugRowClassName(`${DebugRow} ${DebugRowInputField}`, isSelected);
4046
+ return [{
4047
+ type: Div,
4048
+ className,
4049
+ role: TreeItem,
4050
+ ariaLevel: 2,
4051
+ childCount: 1
4052
+ }, {
4053
+ type: Input,
4054
+ inputType: Text,
4055
+ spellcheck: false,
4056
+ autocapitalize: 'off',
4057
+ autocorrect: 'off',
4058
+ className: InputBox,
4059
+ name,
4060
+ value: text,
4061
+ childCount: 0,
4062
+ onInput: HandleInputFieldChange,
4063
+ onBlur: HandleInputBlur,
4064
+ id: name
4065
+ }];
3818
4066
  };
3819
4067
 
3820
- const formatValue = value => {
3821
- return value === null || value === undefined ? '' : String(value);
4068
+ const renderScope = (row, selectedIndex, rowIndex) => {
4069
+ const {
4070
+ key,
4071
+ expanded
4072
+ } = row;
4073
+ const isSelected = rowIndex === selectedIndex;
4074
+ const className = getDebugRowClassName(DebugRow, isSelected);
4075
+ return [{
4076
+ type: Div,
4077
+ className,
4078
+ role: TreeItem,
4079
+ ariaExpanded: expanded,
4080
+ ariaLevel: 2,
4081
+ childCount: 2,
4082
+ onPointerDown: HandleClickScopeValue,
4083
+ 'data-name': key
4084
+ }, expanded ? getChevronDownVirtualDom() : getChevronRightVirtualDom(), {
4085
+ type: Span,
4086
+ className: mergeClassNames(DebugValue, DebugValueScopeName),
4087
+ childCount: 1
4088
+ }, text(key)];
3822
4089
  };
3823
- const renderWatchExpression = (expression, value, isEditing, index) => {
3824
- if (isEditing) {
3825
- return {
3826
- type: InputField,
3827
- text: '',
3828
- expanded: false,
3829
- key: 'new-watch-expression',
3830
- value: '',
3831
- indent: 0,
3832
- valueType: '',
3833
- name: WatchExpressionInput,
3834
- description: '',
3835
- index
3836
- };
3837
- }
3838
- return {
3839
- type: WatchExpression,
3840
- text: expression,
3841
- expanded: false,
3842
- key: expression,
3843
- value: formatValue(value),
3844
- indent: 0,
3845
- valueType: '',
3846
- name: '',
3847
- description: '',
4090
+
4091
+ const renderWatchExpression = (row, selectedIndex, rowIndex) => {
4092
+ const {
4093
+ value,
4094
+ key,
3848
4095
  index
3849
- };
4096
+ } = row;
4097
+ const isSelected = rowIndex === selectedIndex;
4098
+ const className = getDebugRowClassName(DebugRow, isSelected);
4099
+ return [{
4100
+ type: Div,
4101
+ className,
4102
+ role: TreeItem,
4103
+ childCount: 4,
4104
+ 'data-index': index,
4105
+ onClick: HandleClickWatchExpression,
4106
+ // TODO use doubleclick
4107
+ onContextMenu: HandleWatchExpressionContextMenu
4108
+ }, {
4109
+ type: Span,
4110
+ className: DebugValueScopeName,
4111
+ childCount: 1
4112
+ }, text(key), separator, {
4113
+ type: Span,
4114
+ className: DebugValue,
4115
+ childCount: 1
4116
+ }, text(value), {
4117
+ type: Button,
4118
+ title: deleteWatchExpression(),
4119
+ className: mergeClassNames(IconButton, DebugSectionAction, DeleteWatchExpression),
4120
+ 'data-index': index,
4121
+ onClick: HandleClickWatchExpressionDelete,
4122
+ childCount: 1
4123
+ }, text('×')];
3850
4124
  };
3851
- const getRunAndDebugVisibleRowsWatchContent = watchExpressions => {
3852
- const rows = [];
3853
- if (watchExpressions.length === 0) {
3854
- rows.push({
3855
- type: WatchMessage,
3856
- text: noWatchExpression(),
3857
- expanded: false,
3858
- key: '',
3859
- value: '',
3860
- indent: 0,
3861
- valueType: '',
3862
- name: '',
3863
- description: ''
3864
- });
3865
- } else {
3866
- for (const watchExpression of watchExpressions) {
3867
- // TODO simplify index
3868
- const index = watchExpressions.indexOf(watchExpression);
3869
- rows.push(renderWatchExpression(watchExpression.expression, watchExpression.value, watchExpression.isEditing || false, index));
3870
- }
3871
- }
3872
- return rows;
4125
+
4126
+ const renderWatchMessage = (row, selectedIndex, rowIndex) => {
4127
+ const {
4128
+ text: text$1
4129
+ } = row;
4130
+ const isSelected = rowIndex === selectedIndex;
4131
+ const className = getDebugRowClassName('WatchMessage', isSelected);
4132
+ return [{
4133
+ type: Div,
4134
+ className,
4135
+ childCount: 1
4136
+ }, text(text$1)];
3873
4137
  };
3874
4138
 
3875
- const getWatchActions = watchExpanded => {
3876
- if (!watchExpanded) {
3877
- return [];
3878
- }
4139
+ const renderNoop = (row, selectedIndex, rowIndex) => {
4140
+ const isSelected = rowIndex === selectedIndex;
4141
+ const className = getDebugRowClassName(DebugRow, isSelected);
3879
4142
  return [{
3880
- id: AddWatchExpression,
3881
- title: 'Add new watch expression',
3882
- icon: '+'
3883
- }];
4143
+ type: Div,
4144
+ className,
4145
+ childCount: 1
4146
+ }, text('unknown row type')];
4147
+ };
4148
+ const renderMessage = (row, selectedIndex, rowIndex) => {
4149
+ const isSelected = rowIndex === selectedIndex;
4150
+ const className = getDebugRowClassName('DebugPausedMessage', isSelected);
4151
+ return [{
4152
+ type: Div,
4153
+ className,
4154
+ childCount: 1
4155
+ }, text(row.text)];
3884
4156
  };
3885
4157
 
3886
- const getRunAndDebugVisibleRowsWatch = state => {
3887
- const {
3888
- watchExpanded,
3889
- watchExpressions
3890
- } = state;
3891
- const rows = [{
3892
- type: SectionHeading,
3893
- text: watch(),
3894
- expanded: watchExpanded,
3895
- key: Watch$1,
3896
- value: '',
3897
- indent: 0,
3898
- valueType: '',
3899
- name: Watch,
3900
- description: '',
3901
- actions: getWatchActions(watchExpanded)
3902
- }];
3903
- if (watchExpanded) {
3904
- rows.push(...getRunAndDebugVisibleRowsWatchContent(watchExpressions));
4158
+ const getRowRenderer = type => {
4159
+ switch (type) {
4160
+ case Message:
4161
+ return renderMessage;
4162
+ case SectionHeading:
4163
+ return renderSectionHeading;
4164
+ case CallStack$2:
4165
+ return renderCallStack;
4166
+ case Scope$2:
4167
+ return renderScope;
4168
+ case Value:
4169
+ case Property:
4170
+ case Exception:
4171
+ return renderValue;
4172
+ case CheckBox$1:
4173
+ return renderCheckBox;
4174
+ case WatchMessage:
4175
+ return renderWatchMessage;
4176
+ case WatchExpression:
4177
+ return renderWatchExpression;
4178
+ case InputField:
4179
+ return renderInputField;
4180
+ default:
4181
+ return renderNoop;
3905
4182
  }
3906
- return rows;
3907
4183
  };
3908
4184
 
3909
- const getRunAndDebugVisibleRows = state => {
3910
- const rows = [...getRunAndDebugVisibleRowsWatch(state), ...getRunAndDebugVisibleRowsBreakPoints(state), ...getRunAndDebugVisibleRowsScope(state), ...getRunAndDebugVisibleRowsCallStack(state)];
3911
- return rows;
4185
+ const getRunAndDebugRowVirtualDom = (row, selectedIndex, rowIndex) => {
4186
+ const renderer = getRowRenderer(row.type);
4187
+ return renderer(row, selectedIndex, rowIndex);
4188
+ };
4189
+
4190
+ const getRunAndDebugVirtualDom2 = (rows, selectedIndex) => {
4191
+ return [{
4192
+ type: Div,
4193
+ className: 'Viewlet RunAndDebug',
4194
+ tabIndex: 0,
4195
+ childCount: rows.length,
4196
+ role: Tree
4197
+ }, ...rows.flatMap((row, index) => getRunAndDebugRowVirtualDom(row, selectedIndex, index))];
3912
4198
  };
3913
4199
 
3914
4200
  const renderItems = (oldState, newState) => {
3915
- const rows = getRunAndDebugVisibleRows(newState);
3916
- const dom = getRunAndDebugVirtualDom2(rows);
4201
+ const rows = newState.visibleRows;
4202
+ const selectedIndex = newState.selectedIndex;
4203
+ const dom = getRunAndDebugVirtualDom2(rows, selectedIndex);
3917
4204
  return ['Viewlet.setDom2', newState.id, dom];
3918
4205
  };
3919
4206
 
@@ -3973,6 +4260,9 @@ const DebugRestart = 'DebugRestart';
3973
4260
  const DebugStop = 'DebugStop';
3974
4261
 
3975
4262
  const getDebugButtons = debugState => {
4263
+ if (debugState === Unavailable) {
4264
+ return [];
4265
+ }
3976
4266
  const debugButtons = [];
3977
4267
  if (debugState === Paused) {
3978
4268
  debugButtons.push({
@@ -4048,8 +4338,12 @@ const renderActions = uid => {
4048
4338
  newState
4049
4339
  } = get(uid);
4050
4340
  const {
4051
- scopeExpanded
4341
+ scopeExpanded,
4342
+ debugState
4052
4343
  } = newState;
4344
+ if (debugState === Unavailable) {
4345
+ return [];
4346
+ }
4053
4347
  if (scopeExpanded) {
4054
4348
  return getRunAndDebugButtonsVirtualDom(newState.debugState);
4055
4349
  }
@@ -4095,7 +4389,8 @@ const renderEventListeners = () => {
4095
4389
  params: ['handleDebugInput', 'event.target.value']
4096
4390
  }, {
4097
4391
  name: HandleClickSectionHeading,
4098
- params: ['handleClickSectionHeading', 'event.target.dataset.name']
4392
+ params: ['handleClickSectionHeading', 'event.target.dataset.name', 'event.button'],
4393
+ preventDefault: true
4099
4394
  }, {
4100
4395
  name: HandleClickCheckBox,
4101
4396
  params: ['handleClickCheckBox', 'event.target.name']
@@ -4124,6 +4419,14 @@ const renderEventListeners = () => {
4124
4419
  }, {
4125
4420
  name: HandleInputBlur,
4126
4421
  params: ['handleInputBlur']
4422
+ }, {
4423
+ name: HandleSectionHeaderContextMenu,
4424
+ params: ['handleSectionHeaderContextMenu', 'event.clientX', 'event.clientY', 'event.target.dataset.name'],
4425
+ preventDefault: true
4426
+ }, {
4427
+ name: HandleWatchExpressionContextMenu,
4428
+ params: ['handleWatchExpressionContextMenu', 'event.clientX', 'event.clientY', 'event.target.dataset.index'],
4429
+ preventDefault: true
4127
4430
  }];
4128
4431
  };
4129
4432
 
@@ -4167,6 +4470,63 @@ const saveState = (uid, reason) => {
4167
4470
  };
4168
4471
  };
4169
4472
 
4473
+ const selectIndex = (state, index) => {
4474
+ const {
4475
+ visibleRows
4476
+ } = state;
4477
+ const maxIndex = visibleRows.length - 1;
4478
+ const clampedIndex = Math.max(-1, Math.min(index, maxIndex));
4479
+ return {
4480
+ ...state,
4481
+ selectedIndex: clampedIndex
4482
+ };
4483
+ };
4484
+
4485
+ const selectNextRow = state => {
4486
+ const {
4487
+ selectedIndex,
4488
+ visibleRows
4489
+ } = state;
4490
+ const maxIndex = visibleRows.length - 1;
4491
+ const newIndex = Math.min(maxIndex, selectedIndex + 1);
4492
+ return {
4493
+ ...state,
4494
+ selectedIndex: newIndex
4495
+ };
4496
+ };
4497
+
4498
+ const selectPreviousRow = state => {
4499
+ const {
4500
+ selectedIndex
4501
+ } = state;
4502
+ const newIndex = Math.max(-1, selectedIndex - 1);
4503
+ return {
4504
+ ...state,
4505
+ selectedIndex: newIndex
4506
+ };
4507
+ };
4508
+
4509
+ const showCallStack = state => {
4510
+ return {
4511
+ ...state,
4512
+ callStackVisible: true
4513
+ };
4514
+ };
4515
+
4516
+ const showScope = state => {
4517
+ return {
4518
+ ...state,
4519
+ scopeVisible: true
4520
+ };
4521
+ };
4522
+
4523
+ const showWatch = state => {
4524
+ return {
4525
+ ...state,
4526
+ watchVisible: true
4527
+ };
4528
+ };
4529
+
4170
4530
  const terminate = () => {
4171
4531
  globalThis.close();
4172
4532
  };
@@ -4177,19 +4537,25 @@ const commandMap = {
4177
4537
  'Debug.resumed': resumed,
4178
4538
  'Debug.scriptParsed': scriptParsed,
4179
4539
  'Initialize.initialize': initialize,
4540
+ 'RunAndDebug.acceptWatchExpressionEdit': wrapCommand(acceptWatchExpressionEdit),
4541
+ 'RunAndDebug.addWatchExpression': wrapCommand(addWatchExpression$1),
4542
+ 'RunAndDebug.cancelWatchExpressionEdit': wrapCommand(cancelWatchExpressionEdit),
4180
4543
  'RunAndDebug.create': create,
4544
+ 'RunAndDebug.deleteWatchExpression': deleteWatchExpression$1,
4545
+ 'RunAndDebug.deleteAllWatchExpressions': deleteAllWatchExpressions$1,
4181
4546
  'RunAndDebug.diff2': diff2,
4182
4547
  'RunAndDebug.dispose': dispose,
4183
- 'RunAndDebug.restoreState': restoreState,
4184
4548
  'RunAndDebug.focusNext': wrapCommand(focusNext),
4185
4549
  'RunAndDebug.focusPrevious': wrapCommand(focusPrevious),
4186
4550
  'RunAndDebug.getCommandIds': getCommandIds,
4187
4551
  'RunAndDebug.getHighlight': getHighlight,
4188
4552
  'RunAndDebug.getKeyBindings': getKeyBindings,
4553
+ 'RunAndDebug.getMenuEntries': getMenuEntries,
4189
4554
  'RunAndDebug.handleArrowDown': wrapCommand(handleArrowDown),
4190
4555
  'RunAndDebug.handleArrowLeft': wrapCommand(handleArrowLeft),
4191
4556
  'RunAndDebug.handleArrowRight': wrapCommand(handleArrowRight),
4192
4557
  'RunAndDebug.handleArrowUp': wrapCommand(handleArrowUp),
4558
+ 'RunAndDebug.handleChange': wrapCommand(handleChange),
4193
4559
  'RunAndDebug.handleClickCallStackItem': wrapCommand(handleClickCallstackItem),
4194
4560
  'RunAndDebug.handleClickCheckBox': wrapCommand(handleClickCheckBox),
4195
4561
  'RunAndDebug.handleClickDebugButton': wrapCommand(handleClickDebugButton),
@@ -4201,42 +4567,50 @@ const commandMap = {
4201
4567
  'RunAndDebug.handleClickSectionCallstack': wrapCommand(handleClickSectionCallstack),
4202
4568
  'RunAndDebug.handleClickSectionHeading': wrapCommand(handleClickSectionHeading),
4203
4569
  'RunAndDebug.handleClickSectionScope': wrapCommand(handleClickSectionScope),
4570
+ 'RunAndDebug.handleClickSectionWatch': wrapCommand(handleClickSectionWatch),
4204
4571
  'RunAndDebug.handleClickWatchExpression': wrapCommand(handleClickWatchExpression),
4205
- 'RunAndDebug.handleWatchExpressionDoubleClick': wrapCommand(handleWatchExpressionDoubleClick),
4206
4572
  'RunAndDebug.handleClickWatchExpressionDelete': wrapCommand(handleClickWatchExpressionDelete),
4207
- 'RunAndDebug.handleClickSectionWatch': wrapCommand(handleClickSectionWatch),
4208
4573
  'RunAndDebug.handleDebugInput': wrapCommand(handleDebugInput),
4209
4574
  'RunAndDebug.handleEvaluate': wrapCommand(handleEvaluate),
4210
- 'RunAndDebug.handleWatchValueChange': wrapCommand(handleWatchValueChange),
4575
+ 'RunAndDebug.handleInputBlur': wrapCommand(handleInputBlur),
4576
+ 'RunAndDebug.handleInputFieldChange': wrapCommand(handleInputFieldChange),
4211
4577
  // eslint-disable-next-line @typescript-eslint/no-deprecated
4212
4578
  'RunAndDebug.handlePaused': wrapCommand(handlePaused),
4213
- 'RunAndDebug.addWatchExpression': wrapCommand(addWatchExpression),
4214
- 'RunAndDebug.cancelWatchExpressionEdit': wrapCommand(cancelWatchExpressionEdit),
4215
- 'RunAndDebug.acceptWatchExpressionEdit': wrapCommand(acceptWatchExpressionEdit),
4216
- 'RunAndDebug.handleChange': wrapCommand(handleChange),
4217
- 'RunAndDebug.handleInputFieldChange': wrapCommand(handleInputFieldChange),
4218
- 'RunAndDebug.handleInputBlur': wrapCommand(handleInputBlur),
4219
4579
  'RunAndDebug.handleResumed': wrapCommand(handleResumed),
4220
4580
  'RunAndDebug.handleScriptParsed': wrapCommand(handleScriptParsed),
4581
+ 'RunAndDebug.handleSectionHeaderContextMenu': wrapCommand(handleSectionHeaderContextMenu),
4582
+ 'RunAndDebug.handleWatchExpressionContextMenu': wrapCommand(handleWatchExpressionContextMenu),
4583
+ 'RunAndDebug.handleWatchExpressionDoubleClick': wrapCommand(handleWatchExpressionDoubleClick),
4584
+ 'RunAndDebug.handleWatchValueChange': wrapCommand(handleWatchValueChange),
4221
4585
  'RunAndDebug.loadContent': wrapCommand(loadContent),
4222
4586
  'RunAndDebug.loadContentLater': wrapCommand(loadContentLater),
4223
4587
  'RunAndDebug.pause': wrapCommand(pause),
4224
4588
  'RunAndDebug.readFile': readFile,
4225
4589
  'RunAndDebug.refresh': wrapCommand(refresh),
4590
+ 'RunAndDebug.refreshWatchExpression': wrapCommand(refreshWatchExpression),
4226
4591
  'RunAndDebug.removeWatchExpression': removeWatchExpression,
4227
- 'RunAndDebug.deleteWatchExpression': deleteWatchExpression$1,
4228
4592
  'RunAndDebug.render2': render2,
4229
4593
  'RunAndDebug.renderActions': renderActions,
4230
4594
  'RunAndDebug.renderEventListeners': renderEventListeners,
4231
4595
  'RunAndDebug.resize': wrapCommand(resize),
4596
+ 'RunAndDebug.restoreState': restoreState,
4232
4597
  'RunAndDebug.resume': wrapCommand(resume),
4233
4598
  'RunAndDebug.saveState': saveState,
4599
+ 'RunAndDebug.selectIndex': wrapCommand(selectIndex),
4600
+ 'RunAndDebug.selectNextRow': wrapCommand(selectNextRow),
4601
+ 'RunAndDebug.selectPreviousRow': wrapCommand(selectPreviousRow),
4234
4602
  'RunAndDebug.setPauseOnExceptions': wrapCommand(setPauseOnExceptions),
4235
4603
  'RunAndDebug.stepInto': wrapCommand(stepInto),
4236
4604
  'RunAndDebug.stepOut': wrapCommand(stepOut),
4237
4605
  'RunAndDebug.stepOver': wrapCommand(stepOver),
4238
4606
  'RunAndDebug.terminate': terminate,
4239
- 'RunAndDebug.togglePause': wrapCommand(togglePause)
4607
+ 'RunAndDebug.togglePause': wrapCommand(togglePause),
4608
+ 'RunAndDebug.showWatch': wrapCommand(showWatch),
4609
+ 'RunAndDebug.hideWatch': wrapCommand(hideWatch),
4610
+ 'RunAndDebug.showScope': wrapCommand(showScope),
4611
+ 'RunAndDebug.hideScope': wrapCommand(hideScope),
4612
+ 'RunAndDebug.showCallStack': wrapCommand(showCallStack),
4613
+ 'RunAndDebug.hideCallStack': wrapCommand(hideCallStack)
4240
4614
  };
4241
4615
 
4242
4616
  const listen = async () => {