@lvce-editor/server 0.39.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1838) hide show
  1. package/ThirdPartyNotices.txt +2 -2
  2. package/package.json +3 -2
  3. package/src/server.js +100 -76
  4. package/static/95c7ea1/config/colorTheme.json +0 -98
  5. package/static/95c7ea1/config/defaultSettings.json +0 -58
  6. package/static/95c7ea1/config/fileMap.json +0 -16
  7. package/static/95c7ea1/config/webExtensions.json +0 -1
  8. package/static/95c7ea1/css/App.css +0 -2881
  9. package/static/95c7ea1/css/parts/Animation.css +0 -9
  10. package/static/95c7ea1/css/parts/DebugButtons.css +0 -22
  11. package/static/95c7ea1/css/parts/DebugValue.css +0 -24
  12. package/static/95c7ea1/css/parts/E2eTest.css +0 -48
  13. package/static/95c7ea1/css/parts/E2eTests.css +0 -30
  14. package/static/95c7ea1/css/parts/EditorHover.css +0 -6
  15. package/static/95c7ea1/css/parts/EditorMessage.css +0 -23
  16. package/static/95c7ea1/css/parts/ImagePreview.css +0 -33
  17. package/static/95c7ea1/css/parts/InlineDiffEditor.css +0 -27
  18. package/static/95c7ea1/css/parts/Key.css +0 -12
  19. package/static/95c7ea1/css/parts/KeyBindingsHeader.css +0 -36
  20. package/static/95c7ea1/css/parts/KeyBindingsTable.css +0 -51
  21. package/static/95c7ea1/css/parts/Markdown.css +0 -701
  22. package/static/95c7ea1/css/parts/Progress.css +0 -5
  23. package/static/95c7ea1/css/parts/SearchToggleButton.css +0 -16
  24. package/static/95c7ea1/css/parts/Select.css +0 -11
  25. package/static/95c7ea1/css/parts/ViewletAbout.css +0 -9
  26. package/static/95c7ea1/css/parts/ViewletBrowserViewOverview.css +0 -4
  27. package/static/95c7ea1/css/parts/ViewletDebugConsole.css +0 -16
  28. package/static/95c7ea1/css/parts/ViewletDefineKeyBinding.css +0 -21
  29. package/static/95c7ea1/css/parts/ViewletDialog.css +0 -150
  30. package/static/95c7ea1/css/parts/ViewletDiffEditor.css +0 -31
  31. package/static/95c7ea1/css/parts/ViewletEditorWidgetError.css +0 -9
  32. package/static/95c7ea1/css/parts/ViewletExtensionDetail.css +0 -79
  33. package/static/95c7ea1/css/parts/ViewletExtensions.css +0 -185
  34. package/static/95c7ea1/css/parts/ViewletKeyBindings.css +0 -34
  35. package/static/95c7ea1/css/parts/ViewletMedia.css +0 -23
  36. package/static/95c7ea1/css/parts/ViewletOutput.css +0 -17
  37. package/static/95c7ea1/css/parts/ViewletPanel.css +0 -23
  38. package/static/95c7ea1/css/parts/ViewletPanelTabs.css +0 -35
  39. package/static/95c7ea1/css/parts/ViewletPdf.css +0 -49
  40. package/static/95c7ea1/css/parts/ViewletProblems.css +0 -95
  41. package/static/95c7ea1/css/parts/ViewletReferences.css +0 -22
  42. package/static/95c7ea1/css/parts/ViewletRunAndDebug.css +0 -87
  43. package/static/95c7ea1/css/parts/ViewletScreenCapture.css +0 -3
  44. package/static/95c7ea1/css/parts/ViewletSearch.css +0 -34
  45. package/static/95c7ea1/css/parts/ViewletSimpleBrowser.css +0 -21
  46. package/static/95c7ea1/css/parts/ViewletSourceControl.css +0 -67
  47. package/static/95c7ea1/css/parts/ViewletStorage.css +0 -21
  48. package/static/95c7ea1/css/parts/ViewletTerminal.css +0 -10
  49. package/static/95c7ea1/css/parts/ViewletTerminalTabs.css +0 -31
  50. package/static/95c7ea1/extensions/builtin.language-basics-bat/README.md +0 -14
  51. package/static/95c7ea1/extensions/builtin.language-basics-bat/extension.json +0 -12
  52. package/static/95c7ea1/extensions/builtin.language-basics-bat/languageConfiguration.json +0 -17
  53. package/static/95c7ea1/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -33
  54. package/static/95c7ea1/extensions/builtin.language-basics-c/README.md +0 -14
  55. package/static/95c7ea1/extensions/builtin.language-basics-c/extension.json +0 -12
  56. package/static/95c7ea1/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -211
  57. package/static/95c7ea1/extensions/builtin.language-basics-coffeescript/README.md +0 -14
  58. package/static/95c7ea1/extensions/builtin.language-basics-coffeescript/extension.json +0 -12
  59. package/static/95c7ea1/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -257
  60. package/static/95c7ea1/extensions/builtin.language-basics-cpp/README.md +0 -14
  61. package/static/95c7ea1/extensions/builtin.language-basics-cpp/extension.json +0 -32
  62. package/static/95c7ea1/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -5
  63. package/static/95c7ea1/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -321
  64. package/static/95c7ea1/extensions/builtin.language-basics-cson/README.md +0 -16
  65. package/static/95c7ea1/extensions/builtin.language-basics-cson/extension.json +0 -13
  66. package/static/95c7ea1/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -21
  67. package/static/95c7ea1/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -207
  68. package/static/95c7ea1/extensions/builtin.language-basics-css/README.md +0 -16
  69. package/static/95c7ea1/extensions/builtin.language-basics-css/extension.json +0 -13
  70. package/static/95c7ea1/extensions/builtin.language-basics-css/languageConfiguration.json +0 -21
  71. package/static/95c7ea1/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -691
  72. package/static/95c7ea1/extensions/builtin.language-basics-dart/README.md +0 -14
  73. package/static/95c7ea1/extensions/builtin.language-basics-dart/extension.json +0 -12
  74. package/static/95c7ea1/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -139
  75. package/static/95c7ea1/extensions/builtin.language-basics-desktop/README.md +0 -14
  76. package/static/95c7ea1/extensions/builtin.language-basics-desktop/extension.json +0 -12
  77. package/static/95c7ea1/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -166
  78. package/static/95c7ea1/extensions/builtin.language-basics-docker/README.md +0 -14
  79. package/static/95c7ea1/extensions/builtin.language-basics-docker/extension.json +0 -24
  80. package/static/95c7ea1/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -131
  81. package/static/95c7ea1/extensions/builtin.language-basics-dotenv/README.md +0 -14
  82. package/static/95c7ea1/extensions/builtin.language-basics-dotenv/extension.json +0 -26
  83. package/static/95c7ea1/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -341
  84. package/static/95c7ea1/extensions/builtin.language-basics-editorconfig/README.md +0 -14
  85. package/static/95c7ea1/extensions/builtin.language-basics-editorconfig/extension.json +0 -12
  86. package/static/95c7ea1/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -173
  87. package/static/95c7ea1/extensions/builtin.language-basics-elixir/README.md +0 -14
  88. package/static/95c7ea1/extensions/builtin.language-basics-elixir/extension.json +0 -12
  89. package/static/95c7ea1/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -180
  90. package/static/95c7ea1/extensions/builtin.language-basics-elm/README.md +0 -14
  91. package/static/95c7ea1/extensions/builtin.language-basics-elm/extension.json +0 -12
  92. package/static/95c7ea1/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -301
  93. package/static/95c7ea1/extensions/builtin.language-basics-gitattributes/README.md +0 -14
  94. package/static/95c7ea1/extensions/builtin.language-basics-gitattributes/extension.json +0 -12
  95. package/static/95c7ea1/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -159
  96. package/static/95c7ea1/extensions/builtin.language-basics-gn/README.md +0 -14
  97. package/static/95c7ea1/extensions/builtin.language-basics-gn/extension.json +0 -12
  98. package/static/95c7ea1/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -178
  99. package/static/95c7ea1/extensions/builtin.language-basics-go/README.md +0 -14
  100. package/static/95c7ea1/extensions/builtin.language-basics-go/extension.json +0 -13
  101. package/static/95c7ea1/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -295
  102. package/static/95c7ea1/extensions/builtin.language-basics-graphql/README.md +0 -14
  103. package/static/95c7ea1/extensions/builtin.language-basics-graphql/extension.json +0 -12
  104. package/static/95c7ea1/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -452
  105. package/static/95c7ea1/extensions/builtin.language-basics-html/README.md +0 -14
  106. package/static/95c7ea1/extensions/builtin.language-basics-html/extension.json +0 -13
  107. package/static/95c7ea1/extensions/builtin.language-basics-html/languageConfiguration.json +0 -66
  108. package/static/95c7ea1/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -557
  109. package/static/95c7ea1/extensions/builtin.language-basics-java/README.md +0 -14
  110. package/static/95c7ea1/extensions/builtin.language-basics-java/extension.json +0 -13
  111. package/static/95c7ea1/extensions/builtin.language-basics-java/languageConfiguration.json +0 -31
  112. package/static/95c7ea1/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -284
  113. package/static/95c7ea1/extensions/builtin.language-basics-javascript/README.md +0 -14
  114. package/static/95c7ea1/extensions/builtin.language-basics-javascript/extension.json +0 -14
  115. package/static/95c7ea1/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -40
  116. package/static/95c7ea1/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -619
  117. package/static/95c7ea1/extensions/builtin.language-basics-json/README.md +0 -14
  118. package/static/95c7ea1/extensions/builtin.language-basics-json/extension.json +0 -60
  119. package/static/95c7ea1/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -362
  120. package/static/95c7ea1/extensions/builtin.language-basics-json5/README.md +0 -16
  121. package/static/95c7ea1/extensions/builtin.language-basics-json5/extension.json +0 -12
  122. package/static/95c7ea1/extensions/builtin.language-basics-json5/src/tokenizeJson5.js +0 -346
  123. package/static/95c7ea1/extensions/builtin.language-basics-jsx/README.md +0 -14
  124. package/static/95c7ea1/extensions/builtin.language-basics-jsx/extension.json +0 -13
  125. package/static/95c7ea1/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -661
  126. package/static/95c7ea1/extensions/builtin.language-basics-julia/README.md +0 -18
  127. package/static/95c7ea1/extensions/builtin.language-basics-julia/extension.json +0 -12
  128. package/static/95c7ea1/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -181
  129. package/static/95c7ea1/extensions/builtin.language-basics-kotlin/README.md +0 -14
  130. package/static/95c7ea1/extensions/builtin.language-basics-kotlin/extension.json +0 -12
  131. package/static/95c7ea1/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -274
  132. package/static/95c7ea1/extensions/builtin.language-basics-less/LICENSE +0 -21
  133. package/static/95c7ea1/extensions/builtin.language-basics-less/README.md +0 -14
  134. package/static/95c7ea1/extensions/builtin.language-basics-less/extension.json +0 -12
  135. package/static/95c7ea1/extensions/builtin.language-basics-less/languageConfiguration.json +0 -17
  136. package/static/95c7ea1/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -612
  137. package/static/95c7ea1/extensions/builtin.language-basics-markdown/README.md +0 -14
  138. package/static/95c7ea1/extensions/builtin.language-basics-markdown/extension.json +0 -12
  139. package/static/95c7ea1/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -471
  140. package/static/95c7ea1/extensions/builtin.language-basics-mdx/README.md +0 -14
  141. package/static/95c7ea1/extensions/builtin.language-basics-mdx/extension.json +0 -12
  142. package/static/95c7ea1/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -395
  143. package/static/95c7ea1/extensions/builtin.language-basics-nix/README.md +0 -16
  144. package/static/95c7ea1/extensions/builtin.language-basics-nix/extension.json +0 -13
  145. package/static/95c7ea1/extensions/builtin.language-basics-nix/languageConfiguration.json +0 -21
  146. package/static/95c7ea1/extensions/builtin.language-basics-nix/src/tokenizeNix.js +0 -224
  147. package/static/95c7ea1/extensions/builtin.language-basics-nvmrc/README.md +0 -14
  148. package/static/95c7ea1/extensions/builtin.language-basics-nvmrc/extension.json +0 -12
  149. package/static/95c7ea1/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -30
  150. package/static/95c7ea1/extensions/builtin.language-basics-perl/README.md +0 -14
  151. package/static/95c7ea1/extensions/builtin.language-basics-perl/extension.json +0 -13
  152. package/static/95c7ea1/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -200
  153. package/static/95c7ea1/extensions/builtin.language-basics-plaintext/README.md +0 -14
  154. package/static/95c7ea1/extensions/builtin.language-basics-plaintext/extension.json +0 -12
  155. package/static/95c7ea1/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -28
  156. package/static/95c7ea1/extensions/builtin.language-basics-powershell/README.md +0 -14
  157. package/static/95c7ea1/extensions/builtin.language-basics-powershell/extension.json +0 -12
  158. package/static/95c7ea1/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -141
  159. package/static/95c7ea1/extensions/builtin.language-basics-python/README.md +0 -14
  160. package/static/95c7ea1/extensions/builtin.language-basics-python/extension.json +0 -15
  161. package/static/95c7ea1/extensions/builtin.language-basics-python/languageConfiguration.json +0 -5
  162. package/static/95c7ea1/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -326
  163. package/static/95c7ea1/extensions/builtin.language-basics-r/README.md +0 -14
  164. package/static/95c7ea1/extensions/builtin.language-basics-r/extension.json +0 -12
  165. package/static/95c7ea1/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -71
  166. package/static/95c7ea1/extensions/builtin.language-basics-ruby/README.md +0 -14
  167. package/static/95c7ea1/extensions/builtin.language-basics-ruby/extension.json +0 -48
  168. package/static/95c7ea1/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -248
  169. package/static/95c7ea1/extensions/builtin.language-basics-rust/LICENSE +0 -21
  170. package/static/95c7ea1/extensions/builtin.language-basics-rust/README.md +0 -14
  171. package/static/95c7ea1/extensions/builtin.language-basics-rust/extension.json +0 -12
  172. package/static/95c7ea1/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -17
  173. package/static/95c7ea1/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -205
  174. package/static/95c7ea1/extensions/builtin.language-basics-scss/README.md +0 -14
  175. package/static/95c7ea1/extensions/builtin.language-basics-scss/extension.json +0 -12
  176. package/static/95c7ea1/extensions/builtin.language-basics-scss/languageConfiguration.json +0 -17
  177. package/static/95c7ea1/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -683
  178. package/static/95c7ea1/extensions/builtin.language-basics-shellscript/README.md +0 -14
  179. package/static/95c7ea1/extensions/builtin.language-basics-shellscript/extension.json +0 -56
  180. package/static/95c7ea1/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -572
  181. package/static/95c7ea1/extensions/builtin.language-basics-svelte/README.md +0 -14
  182. package/static/95c7ea1/extensions/builtin.language-basics-svelte/extension.json +0 -13
  183. package/static/95c7ea1/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -428
  184. package/static/95c7ea1/extensions/builtin.language-basics-terraform/README.md +0 -16
  185. package/static/95c7ea1/extensions/builtin.language-basics-terraform/extension.json +0 -13
  186. package/static/95c7ea1/extensions/builtin.language-basics-terraform/src/tokenizeTerraform.js +0 -243
  187. package/static/95c7ea1/extensions/builtin.language-basics-toml/README.md +0 -14
  188. package/static/95c7ea1/extensions/builtin.language-basics-toml/extension.json +0 -14
  189. package/static/95c7ea1/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -299
  190. package/static/95c7ea1/extensions/builtin.language-basics-typescript/README.md +0 -16
  191. package/static/95c7ea1/extensions/builtin.language-basics-typescript/extension.json +0 -17
  192. package/static/95c7ea1/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -1683
  193. package/static/95c7ea1/extensions/builtin.language-basics-vue/README.md +0 -14
  194. package/static/95c7ea1/extensions/builtin.language-basics-vue/extension.json +0 -13
  195. package/static/95c7ea1/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -481
  196. package/static/95c7ea1/extensions/builtin.language-basics-wgsl/README.md +0 -16
  197. package/static/95c7ea1/extensions/builtin.language-basics-wgsl/extension.json +0 -13
  198. package/static/95c7ea1/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -21
  199. package/static/95c7ea1/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -226
  200. package/static/95c7ea1/extensions/builtin.language-basics-xml/README.md +0 -14
  201. package/static/95c7ea1/extensions/builtin.language-basics-xml/extension.json +0 -85
  202. package/static/95c7ea1/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -328
  203. package/static/95c7ea1/extensions/builtin.language-basics-yaml/README.md +0 -14
  204. package/static/95c7ea1/extensions/builtin.language-basics-yaml/extension.json +0 -13
  205. package/static/95c7ea1/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -405
  206. package/static/95c7ea1/extensions/builtin.theme-atom-one-dark/README.md +0 -11
  207. package/static/95c7ea1/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -235
  208. package/static/95c7ea1/extensions/builtin.theme-atom-one-dark/extension.json +0 -12
  209. package/static/95c7ea1/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
  210. package/static/95c7ea1/extensions/builtin.theme-ayu/README.md +0 -11
  211. package/static/95c7ea1/extensions/builtin.theme-ayu/color-theme.json +0 -234
  212. package/static/95c7ea1/extensions/builtin.theme-ayu/extension.json +0 -12
  213. package/static/95c7ea1/extensions/builtin.theme-cobalt2/README.md +0 -20
  214. package/static/95c7ea1/extensions/builtin.theme-cobalt2/color-theme.json +0 -208
  215. package/static/95c7ea1/extensions/builtin.theme-cobalt2/extension.json +0 -13
  216. package/static/95c7ea1/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
  217. package/static/95c7ea1/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
  218. package/static/95c7ea1/extensions/builtin.theme-gruvbox/README.md +0 -20
  219. package/static/95c7ea1/extensions/builtin.theme-gruvbox/color-theme.json +0 -217
  220. package/static/95c7ea1/extensions/builtin.theme-gruvbox/extension.json +0 -12
  221. package/static/95c7ea1/extensions/builtin.theme-high-contrast/README.md +0 -9
  222. package/static/95c7ea1/extensions/builtin.theme-high-contrast/color-theme.json +0 -86
  223. package/static/95c7ea1/extensions/builtin.theme-high-contrast/extension.json +0 -11
  224. package/static/95c7ea1/extensions/builtin.theme-material/README.md +0 -9
  225. package/static/95c7ea1/extensions/builtin.theme-material/color-theme.json +0 -183
  226. package/static/95c7ea1/extensions/builtin.theme-material/extension.json +0 -12
  227. package/static/95c7ea1/extensions/builtin.theme-monokai/README.md +0 -10
  228. package/static/95c7ea1/extensions/builtin.theme-monokai/color-theme.json +0 -151
  229. package/static/95c7ea1/extensions/builtin.theme-monokai/extension.json +0 -11
  230. package/static/95c7ea1/extensions/builtin.theme-noctis-uva/README.md +0 -11
  231. package/static/95c7ea1/extensions/builtin.theme-noctis-uva/color-theme.json +0 -211
  232. package/static/95c7ea1/extensions/builtin.theme-noctis-uva/extension.json +0 -12
  233. package/static/95c7ea1/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
  234. package/static/95c7ea1/extensions/builtin.theme-palenight/README.md +0 -11
  235. package/static/95c7ea1/extensions/builtin.theme-palenight/color-theme.json +0 -209
  236. package/static/95c7ea1/extensions/builtin.theme-palenight/extension.json +0 -12
  237. package/static/95c7ea1/extensions/builtin.theme-palenight/images/demo.png +0 -0
  238. package/static/95c7ea1/extensions/builtin.theme-slime/README.md +0 -5
  239. package/static/95c7ea1/extensions/builtin.theme-slime/color-theme.json +0 -298
  240. package/static/95c7ea1/extensions/builtin.theme-slime/extension.json +0 -13
  241. package/static/95c7ea1/extensions/builtin.theme-slime/icon.png +0 -0
  242. package/static/95c7ea1/extensions/builtin.vscode-icons/README.md +0 -20
  243. package/static/95c7ea1/extensions/builtin.vscode-icons/extension.json +0 -13
  244. package/static/95c7ea1/extensions/builtin.vscode-icons/icon-theme.json +0 -4151
  245. package/static/95c7ea1/extensions/builtin.vscode-icons/icon.png +0 -0
  246. package/static/95c7ea1/file-icons/default_file.svg +0 -1
  247. package/static/95c7ea1/file-icons/default_folder.svg +0 -1
  248. package/static/95c7ea1/file-icons/default_folder_opened.svg +0 -1
  249. package/static/95c7ea1/file-icons/default_root_folder.svg +0 -1
  250. package/static/95c7ea1/file-icons/default_root_folder_opened.svg +0 -1
  251. package/static/95c7ea1/file-icons/file_type_access.svg +0 -1
  252. package/static/95c7ea1/file-icons/file_type_access2.svg +0 -1
  253. package/static/95c7ea1/file-icons/file_type_actionscript.svg +0 -1
  254. package/static/95c7ea1/file-icons/file_type_actionscript2.svg +0 -1
  255. package/static/95c7ea1/file-icons/file_type_ada.svg +0 -1
  256. package/static/95c7ea1/file-icons/file_type_advpl.svg +0 -1
  257. package/static/95c7ea1/file-icons/file_type_affectscript.svg +0 -1
  258. package/static/95c7ea1/file-icons/file_type_affinitydesigner.svg +0 -1
  259. package/static/95c7ea1/file-icons/file_type_affinityphoto.svg +0 -1
  260. package/static/95c7ea1/file-icons/file_type_affinitypublisher.svg +0 -1
  261. package/static/95c7ea1/file-icons/file_type_ai.svg +0 -1
  262. package/static/95c7ea1/file-icons/file_type_ai2.svg +0 -1
  263. package/static/95c7ea1/file-icons/file_type_al.svg +0 -1
  264. package/static/95c7ea1/file-icons/file_type_al_dal.svg +0 -1
  265. package/static/95c7ea1/file-icons/file_type_allcontributors.svg +0 -1
  266. package/static/95c7ea1/file-icons/file_type_angular.svg +0 -1
  267. package/static/95c7ea1/file-icons/file_type_ansible.svg +0 -1
  268. package/static/95c7ea1/file-icons/file_type_antlr.svg +0 -1
  269. package/static/95c7ea1/file-icons/file_type_anyscript.svg +0 -1
  270. package/static/95c7ea1/file-icons/file_type_apache.svg +0 -1
  271. package/static/95c7ea1/file-icons/file_type_apex.svg +0 -1
  272. package/static/95c7ea1/file-icons/file_type_api_extractor.svg +0 -1
  273. package/static/95c7ea1/file-icons/file_type_apib.svg +0 -1
  274. package/static/95c7ea1/file-icons/file_type_apib2.svg +0 -1
  275. package/static/95c7ea1/file-icons/file_type_apl.svg +0 -1
  276. package/static/95c7ea1/file-icons/file_type_applescript.svg +0 -1
  277. package/static/95c7ea1/file-icons/file_type_appscript.svg +0 -1
  278. package/static/95c7ea1/file-icons/file_type_appsemble.svg +0 -1
  279. package/static/95c7ea1/file-icons/file_type_appveyor.svg +0 -1
  280. package/static/95c7ea1/file-icons/file_type_arduino.svg +0 -1
  281. package/static/95c7ea1/file-icons/file_type_asciidoc.svg +0 -1
  282. package/static/95c7ea1/file-icons/file_type_asp.svg +0 -1
  283. package/static/95c7ea1/file-icons/file_type_aspx.svg +0 -1
  284. package/static/95c7ea1/file-icons/file_type_assembly.svg +0 -1
  285. package/static/95c7ea1/file-icons/file_type_astro.svg +0 -1
  286. package/static/95c7ea1/file-icons/file_type_astroconfig.svg +0 -1
  287. package/static/95c7ea1/file-icons/file_type_atom.svg +0 -1
  288. package/static/95c7ea1/file-icons/file_type_ats.svg +0 -1
  289. package/static/95c7ea1/file-icons/file_type_audio.svg +0 -1
  290. package/static/95c7ea1/file-icons/file_type_aurelia.svg +0 -1
  291. package/static/95c7ea1/file-icons/file_type_autohotkey.svg +0 -1
  292. package/static/95c7ea1/file-icons/file_type_autoit.svg +0 -1
  293. package/static/95c7ea1/file-icons/file_type_avif.svg +0 -1
  294. package/static/95c7ea1/file-icons/file_type_avro.svg +0 -1
  295. package/static/95c7ea1/file-icons/file_type_awk.svg +0 -1
  296. package/static/95c7ea1/file-icons/file_type_aws.svg +0 -1
  297. package/static/95c7ea1/file-icons/file_type_azure.svg +0 -1
  298. package/static/95c7ea1/file-icons/file_type_azurepipelines.svg +0 -1
  299. package/static/95c7ea1/file-icons/file_type_babel.svg +0 -1
  300. package/static/95c7ea1/file-icons/file_type_babel2.svg +0 -1
  301. package/static/95c7ea1/file-icons/file_type_ballerina.svg +0 -1
  302. package/static/95c7ea1/file-icons/file_type_bat.svg +0 -1
  303. package/static/95c7ea1/file-icons/file_type_bats.svg +0 -1
  304. package/static/95c7ea1/file-icons/file_type_bazaar.svg +0 -1
  305. package/static/95c7ea1/file-icons/file_type_bazel.svg +0 -1
  306. package/static/95c7ea1/file-icons/file_type_bazel_ignore.svg +0 -1
  307. package/static/95c7ea1/file-icons/file_type_bazel_version.svg +0 -1
  308. package/static/95c7ea1/file-icons/file_type_befunge.svg +0 -1
  309. package/static/95c7ea1/file-icons/file_type_bicep.svg +0 -1
  310. package/static/95c7ea1/file-icons/file_type_biml.svg +0 -1
  311. package/static/95c7ea1/file-icons/file_type_binary.svg +0 -1
  312. package/static/95c7ea1/file-icons/file_type_biome.svg +0 -1
  313. package/static/95c7ea1/file-icons/file_type_bitbucketpipeline.svg +0 -1
  314. package/static/95c7ea1/file-icons/file_type_bithound.svg +0 -1
  315. package/static/95c7ea1/file-icons/file_type_blade.svg +0 -1
  316. package/static/95c7ea1/file-icons/file_type_blitzbasic.svg +0 -1
  317. package/static/95c7ea1/file-icons/file_type_bolt.svg +0 -1
  318. package/static/95c7ea1/file-icons/file_type_bosque.svg +0 -1
  319. package/static/95c7ea1/file-icons/file_type_bower.svg +0 -1
  320. package/static/95c7ea1/file-icons/file_type_bower2.svg +0 -1
  321. package/static/95c7ea1/file-icons/file_type_browserslist.svg +0 -1
  322. package/static/95c7ea1/file-icons/file_type_bruno.svg +0 -1
  323. package/static/95c7ea1/file-icons/file_type_buckbuild.svg +0 -1
  324. package/static/95c7ea1/file-icons/file_type_buf.svg +0 -1
  325. package/static/95c7ea1/file-icons/file_type_bun.svg +0 -1
  326. package/static/95c7ea1/file-icons/file_type_bundlemon.svg +0 -1
  327. package/static/95c7ea1/file-icons/file_type_bundler.svg +0 -1
  328. package/static/95c7ea1/file-icons/file_type_bunfig.svg +0 -1
  329. package/static/95c7ea1/file-icons/file_type_c.svg +0 -1
  330. package/static/95c7ea1/file-icons/file_type_c2.svg +0 -1
  331. package/static/95c7ea1/file-icons/file_type_c3.svg +0 -1
  332. package/static/95c7ea1/file-icons/file_type_c_al.svg +0 -1
  333. package/static/95c7ea1/file-icons/file_type_cabal.svg +0 -1
  334. package/static/95c7ea1/file-icons/file_type_caddy.svg +0 -1
  335. package/static/95c7ea1/file-icons/file_type_cake.svg +0 -1
  336. package/static/95c7ea1/file-icons/file_type_cakephp.svg +0 -1
  337. package/static/95c7ea1/file-icons/file_type_capacitor.svg +0 -1
  338. package/static/95c7ea1/file-icons/file_type_cargo.svg +0 -1
  339. package/static/95c7ea1/file-icons/file_type_casc.svg +0 -1
  340. package/static/95c7ea1/file-icons/file_type_cddl.svg +0 -1
  341. package/static/95c7ea1/file-icons/file_type_cert.svg +0 -1
  342. package/static/95c7ea1/file-icons/file_type_ceylon.svg +0 -1
  343. package/static/95c7ea1/file-icons/file_type_cf.svg +0 -1
  344. package/static/95c7ea1/file-icons/file_type_cf2.svg +0 -1
  345. package/static/95c7ea1/file-icons/file_type_cfc.svg +0 -1
  346. package/static/95c7ea1/file-icons/file_type_cfc2.svg +0 -1
  347. package/static/95c7ea1/file-icons/file_type_cfm.svg +0 -1
  348. package/static/95c7ea1/file-icons/file_type_cfm2.svg +0 -1
  349. package/static/95c7ea1/file-icons/file_type_cheader.svg +0 -1
  350. package/static/95c7ea1/file-icons/file_type_chef.svg +0 -1
  351. package/static/95c7ea1/file-icons/file_type_chef_cookbook.svg +0 -1
  352. package/static/95c7ea1/file-icons/file_type_circleci.svg +0 -1
  353. package/static/95c7ea1/file-icons/file_type_class.svg +0 -1
  354. package/static/95c7ea1/file-icons/file_type_clojure.svg +0 -1
  355. package/static/95c7ea1/file-icons/file_type_clojurescript.svg +0 -1
  356. package/static/95c7ea1/file-icons/file_type_cloudfoundry.svg +0 -1
  357. package/static/95c7ea1/file-icons/file_type_cmake.svg +0 -1
  358. package/static/95c7ea1/file-icons/file_type_cobol.svg +0 -1
  359. package/static/95c7ea1/file-icons/file_type_codacy.svg +0 -1
  360. package/static/95c7ea1/file-icons/file_type_codeclimate.svg +0 -1
  361. package/static/95c7ea1/file-icons/file_type_codecov.svg +0 -1
  362. package/static/95c7ea1/file-icons/file_type_codekit.svg +0 -1
  363. package/static/95c7ea1/file-icons/file_type_codeowners.svg +0 -1
  364. package/static/95c7ea1/file-icons/file_type_codeql.svg +0 -1
  365. package/static/95c7ea1/file-icons/file_type_coderabbit.svg +0 -1
  366. package/static/95c7ea1/file-icons/file_type_coffeelint.svg +0 -1
  367. package/static/95c7ea1/file-icons/file_type_coffeescript.svg +0 -1
  368. package/static/95c7ea1/file-icons/file_type_commitizen.svg +0 -1
  369. package/static/95c7ea1/file-icons/file_type_commitlint.svg +0 -1
  370. package/static/95c7ea1/file-icons/file_type_compass.svg +0 -1
  371. package/static/95c7ea1/file-icons/file_type_composer.svg +0 -1
  372. package/static/95c7ea1/file-icons/file_type_conan.svg +0 -1
  373. package/static/95c7ea1/file-icons/file_type_conda.svg +0 -1
  374. package/static/95c7ea1/file-icons/file_type_config.svg +0 -1
  375. package/static/95c7ea1/file-icons/file_type_confluence.svg +0 -1
  376. package/static/95c7ea1/file-icons/file_type_coverage.svg +0 -1
  377. package/static/95c7ea1/file-icons/file_type_coveralls.svg +0 -1
  378. package/static/95c7ea1/file-icons/file_type_cpp.svg +0 -1
  379. package/static/95c7ea1/file-icons/file_type_cpp2.svg +0 -1
  380. package/static/95c7ea1/file-icons/file_type_cpp3.svg +0 -1
  381. package/static/95c7ea1/file-icons/file_type_cppheader.svg +0 -1
  382. package/static/95c7ea1/file-icons/file_type_crowdin.svg +0 -1
  383. package/static/95c7ea1/file-icons/file_type_crystal.svg +0 -1
  384. package/static/95c7ea1/file-icons/file_type_csharp.svg +0 -1
  385. package/static/95c7ea1/file-icons/file_type_csharp2.svg +0 -1
  386. package/static/95c7ea1/file-icons/file_type_cspell.svg +0 -1
  387. package/static/95c7ea1/file-icons/file_type_csproj.svg +0 -1
  388. package/static/95c7ea1/file-icons/file_type_css.svg +0 -1
  389. package/static/95c7ea1/file-icons/file_type_csscomb.svg +0 -1
  390. package/static/95c7ea1/file-icons/file_type_csslint.svg +0 -1
  391. package/static/95c7ea1/file-icons/file_type_cssmap.svg +0 -1
  392. package/static/95c7ea1/file-icons/file_type_cucumber.svg +0 -1
  393. package/static/95c7ea1/file-icons/file_type_cuda.svg +0 -1
  394. package/static/95c7ea1/file-icons/file_type_cvs.svg +0 -1
  395. package/static/95c7ea1/file-icons/file_type_cypress.svg +0 -1
  396. package/static/95c7ea1/file-icons/file_type_cypress_spec.svg +0 -1
  397. package/static/95c7ea1/file-icons/file_type_cython.svg +0 -1
  398. package/static/95c7ea1/file-icons/file_type_dal.svg +0 -1
  399. package/static/95c7ea1/file-icons/file_type_darcs.svg +0 -1
  400. package/static/95c7ea1/file-icons/file_type_dartlang.svg +0 -1
  401. package/static/95c7ea1/file-icons/file_type_dartlang_generated.svg +0 -1
  402. package/static/95c7ea1/file-icons/file_type_dartlang_ignore.svg +0 -1
  403. package/static/95c7ea1/file-icons/file_type_datadog.svg +0 -1
  404. package/static/95c7ea1/file-icons/file_type_db.svg +0 -1
  405. package/static/95c7ea1/file-icons/file_type_debian.svg +0 -1
  406. package/static/95c7ea1/file-icons/file_type_delphi.svg +0 -1
  407. package/static/95c7ea1/file-icons/file_type_deno.svg +0 -1
  408. package/static/95c7ea1/file-icons/file_type_denoify.svg +0 -1
  409. package/static/95c7ea1/file-icons/file_type_dependabot.svg +0 -1
  410. package/static/95c7ea1/file-icons/file_type_dependencies.svg +0 -1
  411. package/static/95c7ea1/file-icons/file_type_devcontainer.svg +0 -1
  412. package/static/95c7ea1/file-icons/file_type_dhall.svg +0 -1
  413. package/static/95c7ea1/file-icons/file_type_diff.svg +0 -1
  414. package/static/95c7ea1/file-icons/file_type_django.svg +0 -1
  415. package/static/95c7ea1/file-icons/file_type_dlang.svg +0 -1
  416. package/static/95c7ea1/file-icons/file_type_docker.svg +0 -1
  417. package/static/95c7ea1/file-icons/file_type_docker2.svg +0 -1
  418. package/static/95c7ea1/file-icons/file_type_dockertest.svg +0 -1
  419. package/static/95c7ea1/file-icons/file_type_dockertest2.svg +0 -1
  420. package/static/95c7ea1/file-icons/file_type_docpad.svg +0 -1
  421. package/static/95c7ea1/file-icons/file_type_docz.svg +0 -1
  422. package/static/95c7ea1/file-icons/file_type_dojo.svg +0 -1
  423. package/static/95c7ea1/file-icons/file_type_doppler.svg +0 -1
  424. package/static/95c7ea1/file-icons/file_type_dotenv.svg +0 -1
  425. package/static/95c7ea1/file-icons/file_type_dotjs.svg +0 -1
  426. package/static/95c7ea1/file-icons/file_type_doxygen.svg +0 -1
  427. package/static/95c7ea1/file-icons/file_type_drawio.svg +0 -1
  428. package/static/95c7ea1/file-icons/file_type_drone.svg +0 -1
  429. package/static/95c7ea1/file-icons/file_type_drools.svg +0 -1
  430. package/static/95c7ea1/file-icons/file_type_dtd.svg +0 -1
  431. package/static/95c7ea1/file-icons/file_type_dustjs.svg +0 -1
  432. package/static/95c7ea1/file-icons/file_type_dvc.svg +0 -1
  433. package/static/95c7ea1/file-icons/file_type_dylan.svg +0 -1
  434. package/static/95c7ea1/file-icons/file_type_earthly.svg +0 -1
  435. package/static/95c7ea1/file-icons/file_type_eas-metadata.svg +0 -1
  436. package/static/95c7ea1/file-icons/file_type_edge.svg +0 -1
  437. package/static/95c7ea1/file-icons/file_type_edge2.svg +0 -1
  438. package/static/95c7ea1/file-icons/file_type_editorconfig.svg +0 -1
  439. package/static/95c7ea1/file-icons/file_type_eex.svg +0 -1
  440. package/static/95c7ea1/file-icons/file_type_ejs.svg +0 -1
  441. package/static/95c7ea1/file-icons/file_type_elastic.svg +0 -1
  442. package/static/95c7ea1/file-icons/file_type_elasticbeanstalk.svg +0 -1
  443. package/static/95c7ea1/file-icons/file_type_eleventy.svg +0 -1
  444. package/static/95c7ea1/file-icons/file_type_eleventy2.svg +0 -1
  445. package/static/95c7ea1/file-icons/file_type_elixir.svg +0 -1
  446. package/static/95c7ea1/file-icons/file_type_elm.svg +0 -1
  447. package/static/95c7ea1/file-icons/file_type_elm2.svg +0 -1
  448. package/static/95c7ea1/file-icons/file_type_emacs.svg +0 -1
  449. package/static/95c7ea1/file-icons/file_type_ember.svg +0 -1
  450. package/static/95c7ea1/file-icons/file_type_ensime.svg +0 -1
  451. package/static/95c7ea1/file-icons/file_type_eps.svg +0 -1
  452. package/static/95c7ea1/file-icons/file_type_erb.svg +0 -1
  453. package/static/95c7ea1/file-icons/file_type_erlang.svg +0 -1
  454. package/static/95c7ea1/file-icons/file_type_erlang2.svg +0 -1
  455. package/static/95c7ea1/file-icons/file_type_esbuild.svg +0 -1
  456. package/static/95c7ea1/file-icons/file_type_eslint.svg +0 -1
  457. package/static/95c7ea1/file-icons/file_type_eslint2.svg +0 -1
  458. package/static/95c7ea1/file-icons/file_type_esphome.svg +0 -1
  459. package/static/95c7ea1/file-icons/file_type_excalidraw.svg +0 -1
  460. package/static/95c7ea1/file-icons/file_type_excel.svg +0 -1
  461. package/static/95c7ea1/file-icons/file_type_excel2.svg +0 -1
  462. package/static/95c7ea1/file-icons/file_type_expo.svg +0 -1
  463. package/static/95c7ea1/file-icons/file_type_falcon.svg +0 -1
  464. package/static/95c7ea1/file-icons/file_type_fantasticon.svg +0 -1
  465. package/static/95c7ea1/file-icons/file_type_fauna.svg +0 -1
  466. package/static/95c7ea1/file-icons/file_type_favicon.svg +0 -1
  467. package/static/95c7ea1/file-icons/file_type_fbx.svg +0 -1
  468. package/static/95c7ea1/file-icons/file_type_firebase.svg +0 -1
  469. package/static/95c7ea1/file-icons/file_type_firebasehosting.svg +0 -1
  470. package/static/95c7ea1/file-icons/file_type_firestore.svg +0 -1
  471. package/static/95c7ea1/file-icons/file_type_fitbit.svg +0 -1
  472. package/static/95c7ea1/file-icons/file_type_fla.svg +0 -1
  473. package/static/95c7ea1/file-icons/file_type_flareact.svg +0 -1
  474. package/static/95c7ea1/file-icons/file_type_flash.svg +0 -1
  475. package/static/95c7ea1/file-icons/file_type_floobits.svg +0 -1
  476. package/static/95c7ea1/file-icons/file_type_flow.svg +0 -1
  477. package/static/95c7ea1/file-icons/file_type_flutter.svg +0 -1
  478. package/static/95c7ea1/file-icons/file_type_flutter_package.svg +0 -1
  479. package/static/95c7ea1/file-icons/file_type_font.svg +0 -1
  480. package/static/95c7ea1/file-icons/file_type_formkit.svg +0 -1
  481. package/static/95c7ea1/file-icons/file_type_fortran.svg +0 -1
  482. package/static/95c7ea1/file-icons/file_type_fossa.svg +0 -1
  483. package/static/95c7ea1/file-icons/file_type_fossil.svg +0 -1
  484. package/static/95c7ea1/file-icons/file_type_freemarker.svg +0 -1
  485. package/static/95c7ea1/file-icons/file_type_frontcommerce.svg +0 -1
  486. package/static/95c7ea1/file-icons/file_type_fsharp.svg +0 -1
  487. package/static/95c7ea1/file-icons/file_type_fsharp2.svg +0 -1
  488. package/static/95c7ea1/file-icons/file_type_fsproj.svg +0 -1
  489. package/static/95c7ea1/file-icons/file_type_fthtml.svg +0 -1
  490. package/static/95c7ea1/file-icons/file_type_funding.svg +0 -1
  491. package/static/95c7ea1/file-icons/file_type_fusebox.svg +0 -1
  492. package/static/95c7ea1/file-icons/file_type_galen.svg +0 -1
  493. package/static/95c7ea1/file-icons/file_type_galen2.svg +0 -1
  494. package/static/95c7ea1/file-icons/file_type_gamemaker.svg +0 -1
  495. package/static/95c7ea1/file-icons/file_type_gamemaker2.svg +0 -1
  496. package/static/95c7ea1/file-icons/file_type_gamemaker81.svg +0 -1
  497. package/static/95c7ea1/file-icons/file_type_gatsby.svg +0 -1
  498. package/static/95c7ea1/file-icons/file_type_gcloud.svg +0 -1
  499. package/static/95c7ea1/file-icons/file_type_gcode.svg +0 -1
  500. package/static/95c7ea1/file-icons/file_type_gdscript.svg +0 -1
  501. package/static/95c7ea1/file-icons/file_type_genstat.svg +0 -1
  502. package/static/95c7ea1/file-icons/file_type_git.svg +0 -1
  503. package/static/95c7ea1/file-icons/file_type_git2.svg +0 -1
  504. package/static/95c7ea1/file-icons/file_type_gitlab.svg +0 -1
  505. package/static/95c7ea1/file-icons/file_type_gitpod.svg +0 -1
  506. package/static/95c7ea1/file-icons/file_type_gleam.svg +0 -1
  507. package/static/95c7ea1/file-icons/file_type_gleamconfig.svg +0 -1
  508. package/static/95c7ea1/file-icons/file_type_glide.svg +0 -1
  509. package/static/95c7ea1/file-icons/file_type_glitter.svg +0 -1
  510. package/static/95c7ea1/file-icons/file_type_glsl.svg +0 -1
  511. package/static/95c7ea1/file-icons/file_type_glyphs.svg +0 -1
  512. package/static/95c7ea1/file-icons/file_type_gnu.svg +0 -1
  513. package/static/95c7ea1/file-icons/file_type_gnuplot.svg +0 -1
  514. package/static/95c7ea1/file-icons/file_type_go.svg +0 -1
  515. package/static/95c7ea1/file-icons/file_type_go_aqua.svg +0 -1
  516. package/static/95c7ea1/file-icons/file_type_go_black.svg +0 -1
  517. package/static/95c7ea1/file-icons/file_type_go_fuchsia.svg +0 -1
  518. package/static/95c7ea1/file-icons/file_type_go_gopher.svg +0 -1
  519. package/static/95c7ea1/file-icons/file_type_go_lightblue.svg +0 -1
  520. package/static/95c7ea1/file-icons/file_type_go_package.svg +0 -1
  521. package/static/95c7ea1/file-icons/file_type_go_white.svg +0 -1
  522. package/static/95c7ea1/file-icons/file_type_go_work.svg +0 -1
  523. package/static/95c7ea1/file-icons/file_type_go_yellow.svg +0 -1
  524. package/static/95c7ea1/file-icons/file_type_goctl.svg +0 -1
  525. package/static/95c7ea1/file-icons/file_type_godot.svg +0 -1
  526. package/static/95c7ea1/file-icons/file_type_gpg.svg +0 -1
  527. package/static/95c7ea1/file-icons/file_type_gradle.svg +0 -1
  528. package/static/95c7ea1/file-icons/file_type_gradle2.svg +0 -1
  529. package/static/95c7ea1/file-icons/file_type_grain.svg +0 -1
  530. package/static/95c7ea1/file-icons/file_type_graphql.svg +0 -1
  531. package/static/95c7ea1/file-icons/file_type_graphql_config.svg +0 -1
  532. package/static/95c7ea1/file-icons/file_type_graphviz.svg +0 -1
  533. package/static/95c7ea1/file-icons/file_type_greenkeeper.svg +0 -1
  534. package/static/95c7ea1/file-icons/file_type_gridsome.svg +0 -1
  535. package/static/95c7ea1/file-icons/file_type_groovy.svg +0 -1
  536. package/static/95c7ea1/file-icons/file_type_groovy2.svg +0 -1
  537. package/static/95c7ea1/file-icons/file_type_grunt.svg +0 -1
  538. package/static/95c7ea1/file-icons/file_type_gulp.svg +0 -1
  539. package/static/95c7ea1/file-icons/file_type_haml.svg +0 -1
  540. package/static/95c7ea1/file-icons/file_type_handlebars.svg +0 -1
  541. package/static/95c7ea1/file-icons/file_type_handlebars2.svg +0 -1
  542. package/static/95c7ea1/file-icons/file_type_harbour.svg +0 -1
  543. package/static/95c7ea1/file-icons/file_type_hardhat.svg +0 -1
  544. package/static/95c7ea1/file-icons/file_type_hashicorp.svg +0 -1
  545. package/static/95c7ea1/file-icons/file_type_haskell.svg +0 -1
  546. package/static/95c7ea1/file-icons/file_type_haskell2.svg +0 -1
  547. package/static/95c7ea1/file-icons/file_type_haxe.svg +0 -1
  548. package/static/95c7ea1/file-icons/file_type_haxecheckstyle.svg +0 -1
  549. package/static/95c7ea1/file-icons/file_type_haxedevelop.svg +0 -1
  550. package/static/95c7ea1/file-icons/file_type_helix.svg +0 -1
  551. package/static/95c7ea1/file-icons/file_type_helm.svg +0 -1
  552. package/static/95c7ea1/file-icons/file_type_hjson.svg +0 -1
  553. package/static/95c7ea1/file-icons/file_type_hlsl.svg +0 -1
  554. package/static/95c7ea1/file-icons/file_type_homeassistant.svg +0 -1
  555. package/static/95c7ea1/file-icons/file_type_horusec.svg +0 -1
  556. package/static/95c7ea1/file-icons/file_type_host.svg +0 -1
  557. package/static/95c7ea1/file-icons/file_type_html.svg +0 -1
  558. package/static/95c7ea1/file-icons/file_type_htmlhint.svg +0 -1
  559. package/static/95c7ea1/file-icons/file_type_htmlvalidate.svg +0 -1
  560. package/static/95c7ea1/file-icons/file_type_http.svg +0 -1
  561. package/static/95c7ea1/file-icons/file_type_hunspell.svg +0 -1
  562. package/static/95c7ea1/file-icons/file_type_husky.svg +0 -1
  563. package/static/95c7ea1/file-icons/file_type_hy.svg +0 -1
  564. package/static/95c7ea1/file-icons/file_type_hygen.svg +0 -1
  565. package/static/95c7ea1/file-icons/file_type_hypr.svg +0 -1
  566. package/static/95c7ea1/file-icons/file_type_icl.svg +0 -1
  567. package/static/95c7ea1/file-icons/file_type_idris.svg +0 -1
  568. package/static/95c7ea1/file-icons/file_type_idrisbin.svg +0 -1
  569. package/static/95c7ea1/file-icons/file_type_idrispkg.svg +0 -1
  570. package/static/95c7ea1/file-icons/file_type_image.svg +0 -1
  571. package/static/95c7ea1/file-icons/file_type_imba.svg +0 -1
  572. package/static/95c7ea1/file-icons/file_type_inc.svg +0 -1
  573. package/static/95c7ea1/file-icons/file_type_infopath.svg +0 -1
  574. package/static/95c7ea1/file-icons/file_type_informix.svg +0 -1
  575. package/static/95c7ea1/file-icons/file_type_ini.svg +0 -1
  576. package/static/95c7ea1/file-icons/file_type_ink.svg +0 -1
  577. package/static/95c7ea1/file-icons/file_type_innosetup.svg +0 -1
  578. package/static/95c7ea1/file-icons/file_type_io.svg +0 -1
  579. package/static/95c7ea1/file-icons/file_type_iodine.svg +0 -1
  580. package/static/95c7ea1/file-icons/file_type_ionic.svg +0 -1
  581. package/static/95c7ea1/file-icons/file_type_jake.svg +0 -1
  582. package/static/95c7ea1/file-icons/file_type_janet.svg +0 -1
  583. package/static/95c7ea1/file-icons/file_type_jar.svg +0 -1
  584. package/static/95c7ea1/file-icons/file_type_jasmine.svg +0 -1
  585. package/static/95c7ea1/file-icons/file_type_java.svg +0 -1
  586. package/static/95c7ea1/file-icons/file_type_jbuilder.svg +0 -1
  587. package/static/95c7ea1/file-icons/file_type_jekyll.svg +0 -1
  588. package/static/95c7ea1/file-icons/file_type_jenkins.svg +0 -1
  589. package/static/95c7ea1/file-icons/file_type_jest.svg +0 -1
  590. package/static/95c7ea1/file-icons/file_type_jest_snapshot.svg +0 -1
  591. package/static/95c7ea1/file-icons/file_type_jinja.svg +0 -1
  592. package/static/95c7ea1/file-icons/file_type_jpm.svg +0 -1
  593. package/static/95c7ea1/file-icons/file_type_js.svg +0 -1
  594. package/static/95c7ea1/file-icons/file_type_js_official.svg +0 -1
  595. package/static/95c7ea1/file-icons/file_type_jsbeautify.svg +0 -1
  596. package/static/95c7ea1/file-icons/file_type_jsconfig.svg +0 -1
  597. package/static/95c7ea1/file-icons/file_type_jscpd.svg +0 -1
  598. package/static/95c7ea1/file-icons/file_type_jshint.svg +0 -1
  599. package/static/95c7ea1/file-icons/file_type_jsmap.svg +0 -1
  600. package/static/95c7ea1/file-icons/file_type_json.svg +0 -1
  601. package/static/95c7ea1/file-icons/file_type_json2.svg +0 -1
  602. package/static/95c7ea1/file-icons/file_type_json5.svg +0 -1
  603. package/static/95c7ea1/file-icons/file_type_json_official.svg +0 -1
  604. package/static/95c7ea1/file-icons/file_type_json_schema.svg +0 -1
  605. package/static/95c7ea1/file-icons/file_type_jsonld.svg +0 -1
  606. package/static/95c7ea1/file-icons/file_type_jsonnet.svg +0 -1
  607. package/static/95c7ea1/file-icons/file_type_jsp.svg +0 -1
  608. package/static/95c7ea1/file-icons/file_type_jss.svg +0 -1
  609. package/static/95c7ea1/file-icons/file_type_juice.svg +0 -1
  610. package/static/95c7ea1/file-icons/file_type_julia.svg +0 -1
  611. package/static/95c7ea1/file-icons/file_type_julia2.svg +0 -1
  612. package/static/95c7ea1/file-icons/file_type_jupyter.svg +0 -1
  613. package/static/95c7ea1/file-icons/file_type_k.svg +0 -1
  614. package/static/95c7ea1/file-icons/file_type_karma.svg +0 -1
  615. package/static/95c7ea1/file-icons/file_type_key.svg +0 -1
  616. package/static/95c7ea1/file-icons/file_type_kitchenci.svg +0 -1
  617. package/static/95c7ea1/file-icons/file_type_kite.svg +0 -1
  618. package/static/95c7ea1/file-icons/file_type_kivy.svg +0 -1
  619. package/static/95c7ea1/file-icons/file_type_knip.svg +0 -1
  620. package/static/95c7ea1/file-icons/file_type_kos.svg +0 -1
  621. package/static/95c7ea1/file-icons/file_type_kotlin.svg +0 -1
  622. package/static/95c7ea1/file-icons/file_type_kusto.svg +0 -1
  623. package/static/95c7ea1/file-icons/file_type_latino.svg +0 -1
  624. package/static/95c7ea1/file-icons/file_type_layout.svg +0 -1
  625. package/static/95c7ea1/file-icons/file_type_lerna.svg +0 -1
  626. package/static/95c7ea1/file-icons/file_type_less.svg +0 -1
  627. package/static/95c7ea1/file-icons/file_type_lex.svg +0 -1
  628. package/static/95c7ea1/file-icons/file_type_liara.svg +0 -1
  629. package/static/95c7ea1/file-icons/file_type_libreoffice_base.svg +0 -1
  630. package/static/95c7ea1/file-icons/file_type_libreoffice_calc.svg +0 -1
  631. package/static/95c7ea1/file-icons/file_type_libreoffice_draw.svg +0 -1
  632. package/static/95c7ea1/file-icons/file_type_libreoffice_impress.svg +0 -1
  633. package/static/95c7ea1/file-icons/file_type_libreoffice_math.svg +0 -1
  634. package/static/95c7ea1/file-icons/file_type_libreoffice_writer.svg +0 -1
  635. package/static/95c7ea1/file-icons/file_type_license.svg +0 -1
  636. package/static/95c7ea1/file-icons/file_type_licensebat.svg +0 -1
  637. package/static/95c7ea1/file-icons/file_type_light_actionscript2.svg +0 -1
  638. package/static/95c7ea1/file-icons/file_type_light_ada.svg +0 -1
  639. package/static/95c7ea1/file-icons/file_type_light_apl.svg +0 -1
  640. package/static/95c7ea1/file-icons/file_type_light_astro.svg +0 -1
  641. package/static/95c7ea1/file-icons/file_type_light_astroconfig.svg +0 -1
  642. package/static/95c7ea1/file-icons/file_type_light_babel.svg +0 -1
  643. package/static/95c7ea1/file-icons/file_type_light_babel2.svg +0 -1
  644. package/static/95c7ea1/file-icons/file_type_light_cabal.svg +0 -1
  645. package/static/95c7ea1/file-icons/file_type_light_circleci.svg +0 -1
  646. package/static/95c7ea1/file-icons/file_type_light_cloudfoundry.svg +0 -1
  647. package/static/95c7ea1/file-icons/file_type_light_codacy.svg +0 -1
  648. package/static/95c7ea1/file-icons/file_type_light_codeclimate.svg +0 -1
  649. package/static/95c7ea1/file-icons/file_type_light_codeowners.svg +0 -1
  650. package/static/95c7ea1/file-icons/file_type_light_config.svg +0 -1
  651. package/static/95c7ea1/file-icons/file_type_light_crystal.svg +0 -1
  652. package/static/95c7ea1/file-icons/file_type_light_cypress.svg +0 -1
  653. package/static/95c7ea1/file-icons/file_type_light_cypress_spec.svg +0 -1
  654. package/static/95c7ea1/file-icons/file_type_light_db.svg +0 -1
  655. package/static/95c7ea1/file-icons/file_type_light_deno.svg +0 -1
  656. package/static/95c7ea1/file-icons/file_type_light_dhall.svg +0 -1
  657. package/static/95c7ea1/file-icons/file_type_light_docpad.svg +0 -1
  658. package/static/95c7ea1/file-icons/file_type_light_drone.svg +0 -1
  659. package/static/95c7ea1/file-icons/file_type_light_eas-metadata.svg +0 -1
  660. package/static/95c7ea1/file-icons/file_type_light_eleventy.svg +0 -1
  661. package/static/95c7ea1/file-icons/file_type_light_eleventy2.svg +0 -1
  662. package/static/95c7ea1/file-icons/file_type_light_esphome.svg +0 -1
  663. package/static/95c7ea1/file-icons/file_type_light_expo.svg +0 -1
  664. package/static/95c7ea1/file-icons/file_type_light_firebasehosting.svg +0 -1
  665. package/static/95c7ea1/file-icons/file_type_light_fla.svg +0 -1
  666. package/static/95c7ea1/file-icons/file_type_light_font.svg +0 -1
  667. package/static/95c7ea1/file-icons/file_type_light_gamemaker2.svg +0 -1
  668. package/static/95c7ea1/file-icons/file_type_light_gradle.svg +0 -1
  669. package/static/95c7ea1/file-icons/file_type_light_hashicorp.svg +0 -1
  670. package/static/95c7ea1/file-icons/file_type_light_hjson.svg +0 -1
  671. package/static/95c7ea1/file-icons/file_type_light_ini.svg +0 -1
  672. package/static/95c7ea1/file-icons/file_type_light_io.svg +0 -1
  673. package/static/95c7ea1/file-icons/file_type_light_js.svg +0 -1
  674. package/static/95c7ea1/file-icons/file_type_light_jsconfig.svg +0 -1
  675. package/static/95c7ea1/file-icons/file_type_light_jsmap.svg +0 -1
  676. package/static/95c7ea1/file-icons/file_type_light_json.svg +0 -1
  677. package/static/95c7ea1/file-icons/file_type_light_json5.svg +0 -1
  678. package/static/95c7ea1/file-icons/file_type_light_json_schema.svg +0 -1
  679. package/static/95c7ea1/file-icons/file_type_light_jsonld.svg +0 -1
  680. package/static/95c7ea1/file-icons/file_type_light_kite.svg +0 -1
  681. package/static/95c7ea1/file-icons/file_type_light_lerna.svg +0 -1
  682. package/static/95c7ea1/file-icons/file_type_light_mailing.svg +0 -1
  683. package/static/95c7ea1/file-icons/file_type_light_mdx-components.svg +0 -1
  684. package/static/95c7ea1/file-icons/file_type_light_mdx.svg +0 -1
  685. package/static/95c7ea1/file-icons/file_type_light_mlang.svg +0 -1
  686. package/static/95c7ea1/file-icons/file_type_light_mustache.svg +0 -1
  687. package/static/95c7ea1/file-icons/file_type_light_netlify.svg +0 -1
  688. package/static/95c7ea1/file-icons/file_type_light_next.svg +0 -1
  689. package/static/95c7ea1/file-icons/file_type_light_nim.svg +0 -1
  690. package/static/95c7ea1/file-icons/file_type_light_nx.svg +0 -1
  691. package/static/95c7ea1/file-icons/file_type_light_objidconfig.svg +0 -1
  692. package/static/95c7ea1/file-icons/file_type_light_openHAB.svg +0 -1
  693. package/static/95c7ea1/file-icons/file_type_light_pcl.svg +0 -1
  694. package/static/95c7ea1/file-icons/file_type_light_pnpm.svg +0 -1
  695. package/static/95c7ea1/file-icons/file_type_light_prettier.svg +0 -1
  696. package/static/95c7ea1/file-icons/file_type_light_prisma.svg +0 -1
  697. package/static/95c7ea1/file-icons/file_type_light_purescript.svg +0 -1
  698. package/static/95c7ea1/file-icons/file_type_light_quasar.svg +0 -1
  699. package/static/95c7ea1/file-icons/file_type_light_raku.svg +0 -1
  700. package/static/95c7ea1/file-icons/file_type_light_razzle.svg +0 -1
  701. package/static/95c7ea1/file-icons/file_type_light_rehype.svg +0 -1
  702. package/static/95c7ea1/file-icons/file_type_light_remark.svg +0 -1
  703. package/static/95c7ea1/file-icons/file_type_light_replit.svg +0 -1
  704. package/static/95c7ea1/file-icons/file_type_light_retext.svg +0 -1
  705. package/static/95c7ea1/file-icons/file_type_light_rome.svg +0 -1
  706. package/static/95c7ea1/file-icons/file_type_light_rubocop.svg +0 -1
  707. package/static/95c7ea1/file-icons/file_type_light_rust.svg +0 -1
  708. package/static/95c7ea1/file-icons/file_type_light_rust_toolchain.svg +0 -1
  709. package/static/95c7ea1/file-icons/file_type_light_safetensors.svg +0 -1
  710. package/static/95c7ea1/file-icons/file_type_light_shaderlab.svg +0 -1
  711. package/static/95c7ea1/file-icons/file_type_light_solidity.svg +0 -1
  712. package/static/95c7ea1/file-icons/file_type_light_spin.svg +0 -1
  713. package/static/95c7ea1/file-icons/file_type_light_stylelint.svg +0 -1
  714. package/static/95c7ea1/file-icons/file_type_light_stylus.svg +0 -1
  715. package/static/95c7ea1/file-icons/file_type_light_symfony.svg +0 -1
  716. package/static/95c7ea1/file-icons/file_type_light_systemd.svg +0 -1
  717. package/static/95c7ea1/file-icons/file_type_light_systemverilog.svg +0 -1
  718. package/static/95c7ea1/file-icons/file_type_light_testcafe.svg +0 -1
  719. package/static/95c7ea1/file-icons/file_type_light_testjs.svg +0 -1
  720. package/static/95c7ea1/file-icons/file_type_light_tex.svg +0 -1
  721. package/static/95c7ea1/file-icons/file_type_light_tm.svg +0 -1
  722. package/static/95c7ea1/file-icons/file_type_light_tmux.svg +0 -1
  723. package/static/95c7ea1/file-icons/file_type_light_todo.svg +0 -1
  724. package/static/95c7ea1/file-icons/file_type_light_toit.svg +0 -1
  725. package/static/95c7ea1/file-icons/file_type_light_toml.svg +0 -1
  726. package/static/95c7ea1/file-icons/file_type_light_tree.svg +0 -1
  727. package/static/95c7ea1/file-icons/file_type_light_turbo.svg +0 -1
  728. package/static/95c7ea1/file-icons/file_type_light_unibeautify.svg +0 -1
  729. package/static/95c7ea1/file-icons/file_type_light_vash.svg +0 -1
  730. package/static/95c7ea1/file-icons/file_type_light_vercel.svg +0 -1
  731. package/static/95c7ea1/file-icons/file_type_light_vsix.svg +0 -1
  732. package/static/95c7ea1/file-icons/file_type_light_vsixmanifest.svg +0 -1
  733. package/static/95c7ea1/file-icons/file_type_light_xfl.svg +0 -1
  734. package/static/95c7ea1/file-icons/file_type_light_xorg.svg +0 -1
  735. package/static/95c7ea1/file-icons/file_type_light_yaml.svg +0 -1
  736. package/static/95c7ea1/file-icons/file_type_light_zeit.svg +0 -1
  737. package/static/95c7ea1/file-icons/file_type_lighthouse.svg +0 -1
  738. package/static/95c7ea1/file-icons/file_type_lilypond.svg +0 -1
  739. package/static/95c7ea1/file-icons/file_type_lime.svg +0 -1
  740. package/static/95c7ea1/file-icons/file_type_lintstagedrc.svg +0 -1
  741. package/static/95c7ea1/file-icons/file_type_liquid.svg +0 -1
  742. package/static/95c7ea1/file-icons/file_type_lisp.svg +0 -1
  743. package/static/95c7ea1/file-icons/file_type_livescript.svg +0 -1
  744. package/static/95c7ea1/file-icons/file_type_lnk.svg +0 -1
  745. package/static/95c7ea1/file-icons/file_type_locale.svg +0 -1
  746. package/static/95c7ea1/file-icons/file_type_log.svg +0 -1
  747. package/static/95c7ea1/file-icons/file_type_lolcode.svg +0 -1
  748. package/static/95c7ea1/file-icons/file_type_lsl.svg +0 -1
  749. package/static/95c7ea1/file-icons/file_type_lua.svg +0 -1
  750. package/static/95c7ea1/file-icons/file_type_luau.svg +0 -1
  751. package/static/95c7ea1/file-icons/file_type_lync.svg +0 -1
  752. package/static/95c7ea1/file-icons/file_type_mailing.svg +0 -1
  753. package/static/95c7ea1/file-icons/file_type_makefile.svg +0 -1
  754. package/static/95c7ea1/file-icons/file_type_manifest.svg +0 -1
  755. package/static/95c7ea1/file-icons/file_type_manifest_bak.svg +0 -1
  756. package/static/95c7ea1/file-icons/file_type_manifest_skip.svg +0 -1
  757. package/static/95c7ea1/file-icons/file_type_map.svg +0 -1
  758. package/static/95c7ea1/file-icons/file_type_mariadb.svg +0 -1
  759. package/static/95c7ea1/file-icons/file_type_markdown.svg +0 -1
  760. package/static/95c7ea1/file-icons/file_type_markdownlint.svg +0 -1
  761. package/static/95c7ea1/file-icons/file_type_markdownlint_ignore.svg +0 -1
  762. package/static/95c7ea1/file-icons/file_type_marko.svg +0 -1
  763. package/static/95c7ea1/file-icons/file_type_markojs.svg +0 -1
  764. package/static/95c7ea1/file-icons/file_type_master-co.svg +0 -1
  765. package/static/95c7ea1/file-icons/file_type_matlab.svg +0 -1
  766. package/static/95c7ea1/file-icons/file_type_maven.svg +0 -1
  767. package/static/95c7ea1/file-icons/file_type_maxscript.svg +0 -1
  768. package/static/95c7ea1/file-icons/file_type_maya.svg +0 -1
  769. package/static/95c7ea1/file-icons/file_type_mdx-components.svg +0 -1
  770. package/static/95c7ea1/file-icons/file_type_mdx.svg +0 -1
  771. package/static/95c7ea1/file-icons/file_type_mediawiki.svg +0 -1
  772. package/static/95c7ea1/file-icons/file_type_mercurial.svg +0 -1
  773. package/static/95c7ea1/file-icons/file_type_mermaid.svg +0 -1
  774. package/static/95c7ea1/file-icons/file_type_meson.svg +0 -1
  775. package/static/95c7ea1/file-icons/file_type_meteor.svg +0 -1
  776. package/static/95c7ea1/file-icons/file_type_mivascript.svg +0 -1
  777. package/static/95c7ea1/file-icons/file_type_mjml.svg +0 -1
  778. package/static/95c7ea1/file-icons/file_type_mlang.svg +0 -1
  779. package/static/95c7ea1/file-icons/file_type_mocha.svg +0 -1
  780. package/static/95c7ea1/file-icons/file_type_modernizr.svg +0 -1
  781. package/static/95c7ea1/file-icons/file_type_mojo.svg +0 -1
  782. package/static/95c7ea1/file-icons/file_type_mojolicious.svg +0 -1
  783. package/static/95c7ea1/file-icons/file_type_moleculer.svg +0 -1
  784. package/static/95c7ea1/file-icons/file_type_mondoo.svg +0 -1
  785. package/static/95c7ea1/file-icons/file_type_mongo.svg +0 -1
  786. package/static/95c7ea1/file-icons/file_type_monotone.svg +0 -1
  787. package/static/95c7ea1/file-icons/file_type_motif.svg +0 -1
  788. package/static/95c7ea1/file-icons/file_type_mson.svg +0 -1
  789. package/static/95c7ea1/file-icons/file_type_mustache.svg +0 -1
  790. package/static/95c7ea1/file-icons/file_type_mvt.svg +0 -1
  791. package/static/95c7ea1/file-icons/file_type_mvtcss.svg +0 -1
  792. package/static/95c7ea1/file-icons/file_type_mvtjs.svg +0 -1
  793. package/static/95c7ea1/file-icons/file_type_mysql.svg +0 -1
  794. package/static/95c7ea1/file-icons/file_type_ndst.svg +0 -1
  795. package/static/95c7ea1/file-icons/file_type_nearly.svg +0 -1
  796. package/static/95c7ea1/file-icons/file_type_nest_adapter_js.svg +0 -1
  797. package/static/95c7ea1/file-icons/file_type_nest_adapter_ts.svg +0 -1
  798. package/static/95c7ea1/file-icons/file_type_nest_controller_js.svg +0 -1
  799. package/static/95c7ea1/file-icons/file_type_nest_controller_ts.svg +0 -1
  800. package/static/95c7ea1/file-icons/file_type_nest_decorator_js.svg +0 -1
  801. package/static/95c7ea1/file-icons/file_type_nest_decorator_ts.svg +0 -1
  802. package/static/95c7ea1/file-icons/file_type_nest_filter_js.svg +0 -1
  803. package/static/95c7ea1/file-icons/file_type_nest_filter_ts.svg +0 -1
  804. package/static/95c7ea1/file-icons/file_type_nest_gateway_js.svg +0 -1
  805. package/static/95c7ea1/file-icons/file_type_nest_gateway_ts.svg +0 -1
  806. package/static/95c7ea1/file-icons/file_type_nest_guard_js.svg +0 -1
  807. package/static/95c7ea1/file-icons/file_type_nest_guard_ts.svg +0 -1
  808. package/static/95c7ea1/file-icons/file_type_nest_interceptor_js.svg +0 -1
  809. package/static/95c7ea1/file-icons/file_type_nest_interceptor_ts.svg +0 -1
  810. package/static/95c7ea1/file-icons/file_type_nest_middleware_js.svg +0 -1
  811. package/static/95c7ea1/file-icons/file_type_nest_middleware_ts.svg +0 -1
  812. package/static/95c7ea1/file-icons/file_type_nest_module_js.svg +0 -1
  813. package/static/95c7ea1/file-icons/file_type_nest_module_ts.svg +0 -1
  814. package/static/95c7ea1/file-icons/file_type_nest_pipe_js.svg +0 -1
  815. package/static/95c7ea1/file-icons/file_type_nest_pipe_ts.svg +0 -1
  816. package/static/95c7ea1/file-icons/file_type_nest_service_js.svg +0 -1
  817. package/static/95c7ea1/file-icons/file_type_nest_service_ts.svg +0 -1
  818. package/static/95c7ea1/file-icons/file_type_nestjs.svg +0 -1
  819. package/static/95c7ea1/file-icons/file_type_netlify.svg +0 -1
  820. package/static/95c7ea1/file-icons/file_type_next.svg +0 -1
  821. package/static/95c7ea1/file-icons/file_type_nextflow.svg +0 -1
  822. package/static/95c7ea1/file-icons/file_type_ng_component_css.svg +0 -1
  823. package/static/95c7ea1/file-icons/file_type_ng_component_dart.svg +0 -1
  824. package/static/95c7ea1/file-icons/file_type_ng_component_html.svg +0 -1
  825. package/static/95c7ea1/file-icons/file_type_ng_component_js.svg +0 -1
  826. package/static/95c7ea1/file-icons/file_type_ng_component_js2.svg +0 -1
  827. package/static/95c7ea1/file-icons/file_type_ng_component_less.svg +0 -1
  828. package/static/95c7ea1/file-icons/file_type_ng_component_sass.svg +0 -1
  829. package/static/95c7ea1/file-icons/file_type_ng_component_scss.svg +0 -1
  830. package/static/95c7ea1/file-icons/file_type_ng_component_ts.svg +0 -1
  831. package/static/95c7ea1/file-icons/file_type_ng_component_ts2.svg +0 -1
  832. package/static/95c7ea1/file-icons/file_type_ng_controller_js.svg +0 -1
  833. package/static/95c7ea1/file-icons/file_type_ng_controller_ts.svg +0 -1
  834. package/static/95c7ea1/file-icons/file_type_ng_directive_dart.svg +0 -1
  835. package/static/95c7ea1/file-icons/file_type_ng_directive_js.svg +0 -1
  836. package/static/95c7ea1/file-icons/file_type_ng_directive_js2.svg +0 -1
  837. package/static/95c7ea1/file-icons/file_type_ng_directive_ts.svg +0 -1
  838. package/static/95c7ea1/file-icons/file_type_ng_directive_ts2.svg +0 -1
  839. package/static/95c7ea1/file-icons/file_type_ng_guard_dart.svg +0 -1
  840. package/static/95c7ea1/file-icons/file_type_ng_guard_js.svg +0 -1
  841. package/static/95c7ea1/file-icons/file_type_ng_guard_ts.svg +0 -1
  842. package/static/95c7ea1/file-icons/file_type_ng_interceptor_dart.svg +0 -1
  843. package/static/95c7ea1/file-icons/file_type_ng_interceptor_js.svg +0 -1
  844. package/static/95c7ea1/file-icons/file_type_ng_interceptor_ts.svg +0 -1
  845. package/static/95c7ea1/file-icons/file_type_ng_module_dart.svg +0 -1
  846. package/static/95c7ea1/file-icons/file_type_ng_module_js.svg +0 -1
  847. package/static/95c7ea1/file-icons/file_type_ng_module_js2.svg +0 -1
  848. package/static/95c7ea1/file-icons/file_type_ng_module_ts.svg +0 -1
  849. package/static/95c7ea1/file-icons/file_type_ng_module_ts2.svg +0 -1
  850. package/static/95c7ea1/file-icons/file_type_ng_pipe_dart.svg +0 -1
  851. package/static/95c7ea1/file-icons/file_type_ng_pipe_js.svg +0 -1
  852. package/static/95c7ea1/file-icons/file_type_ng_pipe_js2.svg +0 -1
  853. package/static/95c7ea1/file-icons/file_type_ng_pipe_ts.svg +0 -1
  854. package/static/95c7ea1/file-icons/file_type_ng_pipe_ts2.svg +0 -1
  855. package/static/95c7ea1/file-icons/file_type_ng_routing_dart.svg +0 -1
  856. package/static/95c7ea1/file-icons/file_type_ng_routing_js.svg +0 -1
  857. package/static/95c7ea1/file-icons/file_type_ng_routing_js2.svg +0 -1
  858. package/static/95c7ea1/file-icons/file_type_ng_routing_ts.svg +0 -1
  859. package/static/95c7ea1/file-icons/file_type_ng_routing_ts2.svg +0 -1
  860. package/static/95c7ea1/file-icons/file_type_ng_service_dart.svg +0 -1
  861. package/static/95c7ea1/file-icons/file_type_ng_service_js.svg +0 -1
  862. package/static/95c7ea1/file-icons/file_type_ng_service_js2.svg +0 -1
  863. package/static/95c7ea1/file-icons/file_type_ng_service_ts.svg +0 -1
  864. package/static/95c7ea1/file-icons/file_type_ng_service_ts2.svg +0 -1
  865. package/static/95c7ea1/file-icons/file_type_ng_smart_component_dart.svg +0 -1
  866. package/static/95c7ea1/file-icons/file_type_ng_smart_component_js.svg +0 -1
  867. package/static/95c7ea1/file-icons/file_type_ng_smart_component_js2.svg +0 -1
  868. package/static/95c7ea1/file-icons/file_type_ng_smart_component_ts.svg +0 -1
  869. package/static/95c7ea1/file-icons/file_type_ng_smart_component_ts2.svg +0 -1
  870. package/static/95c7ea1/file-icons/file_type_ng_tailwind.svg +0 -1
  871. package/static/95c7ea1/file-icons/file_type_nginx.svg +0 -1
  872. package/static/95c7ea1/file-icons/file_type_nim.svg +0 -1
  873. package/static/95c7ea1/file-icons/file_type_nimble.svg +0 -1
  874. package/static/95c7ea1/file-icons/file_type_ninja.svg +0 -1
  875. package/static/95c7ea1/file-icons/file_type_nix.svg +0 -1
  876. package/static/95c7ea1/file-icons/file_type_njsproj.svg +0 -1
  877. package/static/95c7ea1/file-icons/file_type_noc.svg +0 -1
  878. package/static/95c7ea1/file-icons/file_type_node.svg +0 -1
  879. package/static/95c7ea1/file-icons/file_type_node2.svg +0 -1
  880. package/static/95c7ea1/file-icons/file_type_nodemon.svg +0 -1
  881. package/static/95c7ea1/file-icons/file_type_npm.svg +0 -1
  882. package/static/95c7ea1/file-icons/file_type_nsi.svg +0 -1
  883. package/static/95c7ea1/file-icons/file_type_nsri-integrity.svg +0 -1
  884. package/static/95c7ea1/file-icons/file_type_nsri.svg +0 -1
  885. package/static/95c7ea1/file-icons/file_type_nuget.svg +0 -1
  886. package/static/95c7ea1/file-icons/file_type_numpy.svg +0 -1
  887. package/static/95c7ea1/file-icons/file_type_nunjucks.svg +0 -1
  888. package/static/95c7ea1/file-icons/file_type_nuxt.svg +0 -1
  889. package/static/95c7ea1/file-icons/file_type_nx.svg +0 -1
  890. package/static/95c7ea1/file-icons/file_type_nyc.svg +0 -1
  891. package/static/95c7ea1/file-icons/file_type_objectivec.svg +0 -1
  892. package/static/95c7ea1/file-icons/file_type_objectivecpp.svg +0 -1
  893. package/static/95c7ea1/file-icons/file_type_objidconfig.svg +0 -1
  894. package/static/95c7ea1/file-icons/file_type_ocaml.svg +0 -1
  895. package/static/95c7ea1/file-icons/file_type_ocaml_intf.svg +0 -1
  896. package/static/95c7ea1/file-icons/file_type_ogone.svg +0 -1
  897. package/static/95c7ea1/file-icons/file_type_onenote.svg +0 -1
  898. package/static/95c7ea1/file-icons/file_type_openHAB.svg +0 -1
  899. package/static/95c7ea1/file-icons/file_type_opencl.svg +0 -1
  900. package/static/95c7ea1/file-icons/file_type_openscad.svg +0 -1
  901. package/static/95c7ea1/file-icons/file_type_org.svg +0 -1
  902. package/static/95c7ea1/file-icons/file_type_outlook.svg +0 -1
  903. package/static/95c7ea1/file-icons/file_type_ovpn.svg +0 -1
  904. package/static/95c7ea1/file-icons/file_type_package.svg +0 -1
  905. package/static/95c7ea1/file-icons/file_type_paket.svg +0 -1
  906. package/static/95c7ea1/file-icons/file_type_pandacss.svg +0 -1
  907. package/static/95c7ea1/file-icons/file_type_patch.svg +0 -1
  908. package/static/95c7ea1/file-icons/file_type_pcl.svg +0 -1
  909. package/static/95c7ea1/file-icons/file_type_pddl.svg +0 -1
  910. package/static/95c7ea1/file-icons/file_type_pddl_happenings.svg +0 -1
  911. package/static/95c7ea1/file-icons/file_type_pddl_plan.svg +0 -1
  912. package/static/95c7ea1/file-icons/file_type_pdf.svg +0 -1
  913. package/static/95c7ea1/file-icons/file_type_pdf2.svg +0 -1
  914. package/static/95c7ea1/file-icons/file_type_pdm.svg +0 -1
  915. package/static/95c7ea1/file-icons/file_type_peeky.svg +0 -1
  916. package/static/95c7ea1/file-icons/file_type_perl.svg +0 -1
  917. package/static/95c7ea1/file-icons/file_type_perl2.svg +0 -1
  918. package/static/95c7ea1/file-icons/file_type_perl6.svg +0 -1
  919. package/static/95c7ea1/file-icons/file_type_pgsql.svg +0 -1
  920. package/static/95c7ea1/file-icons/file_type_photoshop.svg +0 -1
  921. package/static/95c7ea1/file-icons/file_type_photoshop2.svg +0 -1
  922. package/static/95c7ea1/file-icons/file_type_php.svg +0 -1
  923. package/static/95c7ea1/file-icons/file_type_php2.svg +0 -1
  924. package/static/95c7ea1/file-icons/file_type_php3.svg +0 -1
  925. package/static/95c7ea1/file-icons/file_type_phpcsfixer.svg +0 -1
  926. package/static/95c7ea1/file-icons/file_type_phpstan.svg +0 -1
  927. package/static/95c7ea1/file-icons/file_type_phpunit.svg +0 -1
  928. package/static/95c7ea1/file-icons/file_type_phraseapp.svg +0 -1
  929. package/static/95c7ea1/file-icons/file_type_pine.svg +0 -1
  930. package/static/95c7ea1/file-icons/file_type_pip.svg +0 -1
  931. package/static/95c7ea1/file-icons/file_type_pipeline.svg +0 -1
  932. package/static/95c7ea1/file-icons/file_type_plantuml.svg +0 -1
  933. package/static/95c7ea1/file-icons/file_type_platformio.svg +0 -1
  934. package/static/95c7ea1/file-icons/file_type_playwright.svg +0 -1
  935. package/static/95c7ea1/file-icons/file_type_plsql.svg +0 -1
  936. package/static/95c7ea1/file-icons/file_type_plsql_package.svg +0 -1
  937. package/static/95c7ea1/file-icons/file_type_plsql_package_body.svg +0 -1
  938. package/static/95c7ea1/file-icons/file_type_plsql_package_header.svg +0 -1
  939. package/static/95c7ea1/file-icons/file_type_plsql_package_spec.svg +0 -1
  940. package/static/95c7ea1/file-icons/file_type_pm2.svg +0 -1
  941. package/static/95c7ea1/file-icons/file_type_pnpm.svg +0 -1
  942. package/static/95c7ea1/file-icons/file_type_poedit.svg +0 -1
  943. package/static/95c7ea1/file-icons/file_type_poetry.svg +0 -1
  944. package/static/95c7ea1/file-icons/file_type_polymer.svg +0 -1
  945. package/static/95c7ea1/file-icons/file_type_pony.svg +0 -1
  946. package/static/95c7ea1/file-icons/file_type_postcss.svg +0 -1
  947. package/static/95c7ea1/file-icons/file_type_postcssconfig.svg +0 -1
  948. package/static/95c7ea1/file-icons/file_type_postman.svg +0 -1
  949. package/static/95c7ea1/file-icons/file_type_powerpoint.svg +0 -1
  950. package/static/95c7ea1/file-icons/file_type_powerpoint2.svg +0 -1
  951. package/static/95c7ea1/file-icons/file_type_powershell.svg +0 -1
  952. package/static/95c7ea1/file-icons/file_type_powershell2.svg +0 -1
  953. package/static/95c7ea1/file-icons/file_type_powershell_format.svg +0 -1
  954. package/static/95c7ea1/file-icons/file_type_powershell_psd.svg +0 -1
  955. package/static/95c7ea1/file-icons/file_type_powershell_psd2.svg +0 -1
  956. package/static/95c7ea1/file-icons/file_type_powershell_psm.svg +0 -1
  957. package/static/95c7ea1/file-icons/file_type_powershell_psm2.svg +0 -1
  958. package/static/95c7ea1/file-icons/file_type_powershell_types.svg +0 -1
  959. package/static/95c7ea1/file-icons/file_type_preact.svg +0 -1
  960. package/static/95c7ea1/file-icons/file_type_precommit.svg +0 -1
  961. package/static/95c7ea1/file-icons/file_type_prettier.svg +0 -1
  962. package/static/95c7ea1/file-icons/file_type_prisma.svg +0 -1
  963. package/static/95c7ea1/file-icons/file_type_processinglang.svg +0 -1
  964. package/static/95c7ea1/file-icons/file_type_procfile.svg +0 -1
  965. package/static/95c7ea1/file-icons/file_type_progress.svg +0 -1
  966. package/static/95c7ea1/file-icons/file_type_prolog.svg +0 -1
  967. package/static/95c7ea1/file-icons/file_type_prometheus.svg +0 -1
  968. package/static/95c7ea1/file-icons/file_type_protobuf.svg +0 -1
  969. package/static/95c7ea1/file-icons/file_type_protractor.svg +0 -1
  970. package/static/95c7ea1/file-icons/file_type_publiccode.svg +0 -1
  971. package/static/95c7ea1/file-icons/file_type_publisher.svg +0 -1
  972. package/static/95c7ea1/file-icons/file_type_pug.svg +0 -1
  973. package/static/95c7ea1/file-icons/file_type_pulumi.svg +0 -1
  974. package/static/95c7ea1/file-icons/file_type_puppet.svg +0 -1
  975. package/static/95c7ea1/file-icons/file_type_purescript.svg +0 -1
  976. package/static/95c7ea1/file-icons/file_type_pyenv.svg +0 -1
  977. package/static/95c7ea1/file-icons/file_type_pyret.svg +0 -1
  978. package/static/95c7ea1/file-icons/file_type_pyscript.svg +0 -1
  979. package/static/95c7ea1/file-icons/file_type_python.svg +0 -1
  980. package/static/95c7ea1/file-icons/file_type_pythowo.svg +0 -1
  981. package/static/95c7ea1/file-icons/file_type_pytyped.svg +0 -1
  982. package/static/95c7ea1/file-icons/file_type_pyup.svg +0 -1
  983. package/static/95c7ea1/file-icons/file_type_q.svg +0 -1
  984. package/static/95c7ea1/file-icons/file_type_qbs.svg +0 -1
  985. package/static/95c7ea1/file-icons/file_type_qlikview.svg +0 -1
  986. package/static/95c7ea1/file-icons/file_type_qml.svg +0 -1
  987. package/static/95c7ea1/file-icons/file_type_qmldir.svg +0 -1
  988. package/static/95c7ea1/file-icons/file_type_qsharp.svg +0 -1
  989. package/static/95c7ea1/file-icons/file_type_quasar.svg +0 -1
  990. package/static/95c7ea1/file-icons/file_type_r.svg +0 -1
  991. package/static/95c7ea1/file-icons/file_type_ra_syntax_tree.svg +0 -1
  992. package/static/95c7ea1/file-icons/file_type_racket.svg +0 -1
  993. package/static/95c7ea1/file-icons/file_type_rails.svg +0 -1
  994. package/static/95c7ea1/file-icons/file_type_rake.svg +0 -1
  995. package/static/95c7ea1/file-icons/file_type_raku.svg +0 -1
  996. package/static/95c7ea1/file-icons/file_type_raml.svg +0 -1
  997. package/static/95c7ea1/file-icons/file_type_razor.svg +0 -1
  998. package/static/95c7ea1/file-icons/file_type_razzle.svg +0 -1
  999. package/static/95c7ea1/file-icons/file_type_reactjs.svg +0 -1
  1000. package/static/95c7ea1/file-icons/file_type_reacttemplate.svg +0 -1
  1001. package/static/95c7ea1/file-icons/file_type_reactts.svg +0 -1
  1002. package/static/95c7ea1/file-icons/file_type_reason.svg +0 -1
  1003. package/static/95c7ea1/file-icons/file_type_red.svg +0 -1
  1004. package/static/95c7ea1/file-icons/file_type_registry.svg +0 -1
  1005. package/static/95c7ea1/file-icons/file_type_rego.svg +0 -1
  1006. package/static/95c7ea1/file-icons/file_type_rehype.svg +0 -1
  1007. package/static/95c7ea1/file-icons/file_type_remark.svg +0 -1
  1008. package/static/95c7ea1/file-icons/file_type_renovate.svg +0 -1
  1009. package/static/95c7ea1/file-icons/file_type_replit.svg +0 -1
  1010. package/static/95c7ea1/file-icons/file_type_rescript.svg +0 -1
  1011. package/static/95c7ea1/file-icons/file_type_rest.svg +0 -1
  1012. package/static/95c7ea1/file-icons/file_type_retext.svg +0 -1
  1013. package/static/95c7ea1/file-icons/file_type_rexx.svg +0 -1
  1014. package/static/95c7ea1/file-icons/file_type_riot.svg +0 -1
  1015. package/static/95c7ea1/file-icons/file_type_rmd.svg +0 -1
  1016. package/static/95c7ea1/file-icons/file_type_rnc.svg +0 -1
  1017. package/static/95c7ea1/file-icons/file_type_robotframework.svg +0 -1
  1018. package/static/95c7ea1/file-icons/file_type_robots.svg +0 -1
  1019. package/static/95c7ea1/file-icons/file_type_rollup.svg +0 -1
  1020. package/static/95c7ea1/file-icons/file_type_rome.svg +0 -1
  1021. package/static/95c7ea1/file-icons/file_type_ron.svg +0 -1
  1022. package/static/95c7ea1/file-icons/file_type_rproj.svg +0 -1
  1023. package/static/95c7ea1/file-icons/file_type_rspec.svg +0 -1
  1024. package/static/95c7ea1/file-icons/file_type_rss.svg +0 -1
  1025. package/static/95c7ea1/file-icons/file_type_rubocop.svg +0 -1
  1026. package/static/95c7ea1/file-icons/file_type_ruby.svg +0 -1
  1027. package/static/95c7ea1/file-icons/file_type_rust.svg +0 -1
  1028. package/static/95c7ea1/file-icons/file_type_rust_toolchain.svg +0 -1
  1029. package/static/95c7ea1/file-icons/file_type_s-lang.svg +0 -1
  1030. package/static/95c7ea1/file-icons/file_type_safetensors.svg +0 -1
  1031. package/static/95c7ea1/file-icons/file_type_sails.svg +0 -1
  1032. package/static/95c7ea1/file-icons/file_type_saltstack.svg +0 -1
  1033. package/static/95c7ea1/file-icons/file_type_san.svg +0 -1
  1034. package/static/95c7ea1/file-icons/file_type_sapphire_framework_cli.svg +0 -1
  1035. package/static/95c7ea1/file-icons/file_type_sas.svg +0 -1
  1036. package/static/95c7ea1/file-icons/file_type_sass.svg +0 -1
  1037. package/static/95c7ea1/file-icons/file_type_sbt.svg +0 -1
  1038. package/static/95c7ea1/file-icons/file_type_scala.svg +0 -1
  1039. package/static/95c7ea1/file-icons/file_type_scilab.svg +0 -1
  1040. package/static/95c7ea1/file-icons/file_type_script.svg +0 -1
  1041. package/static/95c7ea1/file-icons/file_type_scss.svg +0 -1
  1042. package/static/95c7ea1/file-icons/file_type_scss2.svg +0 -1
  1043. package/static/95c7ea1/file-icons/file_type_sdlang.svg +0 -1
  1044. package/static/95c7ea1/file-icons/file_type_search_result.svg +0 -1
  1045. package/static/95c7ea1/file-icons/file_type_sentry.svg +0 -1
  1046. package/static/95c7ea1/file-icons/file_type_sequelize.svg +0 -1
  1047. package/static/95c7ea1/file-icons/file_type_serverless.svg +0 -1
  1048. package/static/95c7ea1/file-icons/file_type_shaderlab.svg +0 -1
  1049. package/static/95c7ea1/file-icons/file_type_shell.svg +0 -1
  1050. package/static/95c7ea1/file-icons/file_type_shellcheck.svg +0 -1
  1051. package/static/95c7ea1/file-icons/file_type_shuttle.svg +0 -1
  1052. package/static/95c7ea1/file-icons/file_type_silverstripe.svg +0 -1
  1053. package/static/95c7ea1/file-icons/file_type_sino.svg +0 -1
  1054. package/static/95c7ea1/file-icons/file_type_siyuan.svg +0 -1
  1055. package/static/95c7ea1/file-icons/file_type_sketch.svg +0 -1
  1056. package/static/95c7ea1/file-icons/file_type_skipper.svg +0 -1
  1057. package/static/95c7ea1/file-icons/file_type_slang.svg +0 -1
  1058. package/static/95c7ea1/file-icons/file_type_slashup.svg +0 -1
  1059. package/static/95c7ea1/file-icons/file_type_slice.svg +0 -1
  1060. package/static/95c7ea1/file-icons/file_type_slim.svg +0 -1
  1061. package/static/95c7ea1/file-icons/file_type_slint.svg +0 -1
  1062. package/static/95c7ea1/file-icons/file_type_sln.svg +0 -1
  1063. package/static/95c7ea1/file-icons/file_type_sln2.svg +0 -1
  1064. package/static/95c7ea1/file-icons/file_type_smarty.svg +0 -1
  1065. package/static/95c7ea1/file-icons/file_type_snakemake.svg +0 -1
  1066. package/static/95c7ea1/file-icons/file_type_snapcraft.svg +0 -1
  1067. package/static/95c7ea1/file-icons/file_type_snaplet.svg +0 -1
  1068. package/static/95c7ea1/file-icons/file_type_snort.svg +0 -1
  1069. package/static/95c7ea1/file-icons/file_type_snyk.svg +0 -1
  1070. package/static/95c7ea1/file-icons/file_type_solidarity.svg +0 -1
  1071. package/static/95c7ea1/file-icons/file_type_solidity.svg +0 -1
  1072. package/static/95c7ea1/file-icons/file_type_source.svg +0 -1
  1073. package/static/95c7ea1/file-icons/file_type_spacengine.svg +0 -1
  1074. package/static/95c7ea1/file-icons/file_type_sparql.svg +0 -1
  1075. package/static/95c7ea1/file-icons/file_type_spin.svg +0 -1
  1076. package/static/95c7ea1/file-icons/file_type_sqf.svg +0 -1
  1077. package/static/95c7ea1/file-icons/file_type_sql.svg +0 -1
  1078. package/static/95c7ea1/file-icons/file_type_sqlite.svg +0 -1
  1079. package/static/95c7ea1/file-icons/file_type_squirrel.svg +0 -1
  1080. package/static/95c7ea1/file-icons/file_type_sss.svg +0 -1
  1081. package/static/95c7ea1/file-icons/file_type_sst.svg +0 -1
  1082. package/static/95c7ea1/file-icons/file_type_stan.svg +0 -1
  1083. package/static/95c7ea1/file-icons/file_type_stata.svg +0 -1
  1084. package/static/95c7ea1/file-icons/file_type_stencil.svg +0 -1
  1085. package/static/95c7ea1/file-icons/file_type_storyboard.svg +0 -1
  1086. package/static/95c7ea1/file-icons/file_type_storybook.svg +0 -1
  1087. package/static/95c7ea1/file-icons/file_type_stryker.svg +0 -1
  1088. package/static/95c7ea1/file-icons/file_type_stylable.svg +0 -1
  1089. package/static/95c7ea1/file-icons/file_type_style.svg +0 -1
  1090. package/static/95c7ea1/file-icons/file_type_styled.svg +0 -1
  1091. package/static/95c7ea1/file-icons/file_type_stylelint.svg +0 -1
  1092. package/static/95c7ea1/file-icons/file_type_stylish_haskell.svg +0 -1
  1093. package/static/95c7ea1/file-icons/file_type_stylus.svg +0 -1
  1094. package/static/95c7ea1/file-icons/file_type_sublime.svg +0 -1
  1095. package/static/95c7ea1/file-icons/file_type_subversion.svg +0 -1
  1096. package/static/95c7ea1/file-icons/file_type_svelte.svg +0 -1
  1097. package/static/95c7ea1/file-icons/file_type_svelteconfig.svg +0 -1
  1098. package/static/95c7ea1/file-icons/file_type_svg.svg +0 -1
  1099. package/static/95c7ea1/file-icons/file_type_svgo.svg +0 -1
  1100. package/static/95c7ea1/file-icons/file_type_swagger.svg +0 -1
  1101. package/static/95c7ea1/file-icons/file_type_swc.svg +0 -1
  1102. package/static/95c7ea1/file-icons/file_type_swift.svg +0 -1
  1103. package/static/95c7ea1/file-icons/file_type_swig.svg +0 -1
  1104. package/static/95c7ea1/file-icons/file_type_symfony.svg +0 -1
  1105. package/static/95c7ea1/file-icons/file_type_systemd.svg +0 -1
  1106. package/static/95c7ea1/file-icons/file_type_systemverilog.svg +0 -1
  1107. package/static/95c7ea1/file-icons/file_type_t4tt.svg +0 -1
  1108. package/static/95c7ea1/file-icons/file_type_tailwind.svg +0 -1
  1109. package/static/95c7ea1/file-icons/file_type_tamagui.svg +0 -1
  1110. package/static/95c7ea1/file-icons/file_type_taskfile.svg +0 -1
  1111. package/static/95c7ea1/file-icons/file_type_tauri.svg +0 -1
  1112. package/static/95c7ea1/file-icons/file_type_tcl.svg +0 -1
  1113. package/static/95c7ea1/file-icons/file_type_teal.svg +0 -1
  1114. package/static/95c7ea1/file-icons/file_type_templ.svg +0 -1
  1115. package/static/95c7ea1/file-icons/file_type_tera.svg +0 -1
  1116. package/static/95c7ea1/file-icons/file_type_terraform.svg +0 -1
  1117. package/static/95c7ea1/file-icons/file_type_test.svg +0 -1
  1118. package/static/95c7ea1/file-icons/file_type_testcafe.svg +0 -1
  1119. package/static/95c7ea1/file-icons/file_type_testjs.svg +0 -1
  1120. package/static/95c7ea1/file-icons/file_type_testplane.svg +0 -1
  1121. package/static/95c7ea1/file-icons/file_type_testts.svg +0 -1
  1122. package/static/95c7ea1/file-icons/file_type_tex.svg +0 -1
  1123. package/static/95c7ea1/file-icons/file_type_text.svg +0 -1
  1124. package/static/95c7ea1/file-icons/file_type_textile.svg +0 -1
  1125. package/static/95c7ea1/file-icons/file_type_tfs.svg +0 -1
  1126. package/static/95c7ea1/file-icons/file_type_tiltfile.svg +0 -1
  1127. package/static/95c7ea1/file-icons/file_type_tm.svg +0 -1
  1128. package/static/95c7ea1/file-icons/file_type_tmux.svg +0 -1
  1129. package/static/95c7ea1/file-icons/file_type_todo.svg +0 -1
  1130. package/static/95c7ea1/file-icons/file_type_toit.svg +0 -1
  1131. package/static/95c7ea1/file-icons/file_type_toml.svg +0 -1
  1132. package/static/95c7ea1/file-icons/file_type_tox.svg +0 -1
  1133. package/static/95c7ea1/file-icons/file_type_travis.svg +0 -1
  1134. package/static/95c7ea1/file-icons/file_type_tree.svg +0 -1
  1135. package/static/95c7ea1/file-icons/file_type_tres.svg +0 -1
  1136. package/static/95c7ea1/file-icons/file_type_truffle.svg +0 -1
  1137. package/static/95c7ea1/file-icons/file_type_trunk.svg +0 -1
  1138. package/static/95c7ea1/file-icons/file_type_tsbuildinfo.svg +0 -1
  1139. package/static/95c7ea1/file-icons/file_type_tscn.svg +0 -1
  1140. package/static/95c7ea1/file-icons/file_type_tsconfig.svg +0 -1
  1141. package/static/95c7ea1/file-icons/file_type_tsconfig_official.svg +0 -1
  1142. package/static/95c7ea1/file-icons/file_type_tslint.svg +0 -1
  1143. package/static/95c7ea1/file-icons/file_type_tt.svg +0 -1
  1144. package/static/95c7ea1/file-icons/file_type_ttcn.svg +0 -1
  1145. package/static/95c7ea1/file-icons/file_type_tuc.svg +0 -1
  1146. package/static/95c7ea1/file-icons/file_type_turbo.svg +0 -1
  1147. package/static/95c7ea1/file-icons/file_type_twig.svg +0 -1
  1148. package/static/95c7ea1/file-icons/file_type_typedoc.svg +0 -1
  1149. package/static/95c7ea1/file-icons/file_type_typescript.svg +0 -1
  1150. package/static/95c7ea1/file-icons/file_type_typescript_official.svg +0 -1
  1151. package/static/95c7ea1/file-icons/file_type_typescriptdef.svg +0 -1
  1152. package/static/95c7ea1/file-icons/file_type_typescriptdef_official.svg +0 -1
  1153. package/static/95c7ea1/file-icons/file_type_typo3.svg +0 -1
  1154. package/static/95c7ea1/file-icons/file_type_uiua.svg +0 -1
  1155. package/static/95c7ea1/file-icons/file_type_unibeautify.svg +0 -1
  1156. package/static/95c7ea1/file-icons/file_type_unison.svg +0 -1
  1157. package/static/95c7ea1/file-icons/file_type_unlicense.svg +0 -1
  1158. package/static/95c7ea1/file-icons/file_type_unocss.svg +0 -1
  1159. package/static/95c7ea1/file-icons/file_type_vagrant.svg +0 -1
  1160. package/static/95c7ea1/file-icons/file_type_vala.svg +0 -1
  1161. package/static/95c7ea1/file-icons/file_type_vanilla_extract.svg +0 -1
  1162. package/static/95c7ea1/file-icons/file_type_vapi.svg +0 -1
  1163. package/static/95c7ea1/file-icons/file_type_vapor.svg +0 -1
  1164. package/static/95c7ea1/file-icons/file_type_vash.svg +0 -1
  1165. package/static/95c7ea1/file-icons/file_type_vb.svg +0 -1
  1166. package/static/95c7ea1/file-icons/file_type_vba.svg +0 -1
  1167. package/static/95c7ea1/file-icons/file_type_vbhtml.svg +0 -1
  1168. package/static/95c7ea1/file-icons/file_type_vbproj.svg +0 -1
  1169. package/static/95c7ea1/file-icons/file_type_vcxproj.svg +0 -1
  1170. package/static/95c7ea1/file-icons/file_type_velocity.svg +0 -1
  1171. package/static/95c7ea1/file-icons/file_type_vento.svg +0 -1
  1172. package/static/95c7ea1/file-icons/file_type_vercel.svg +0 -1
  1173. package/static/95c7ea1/file-icons/file_type_verilog.svg +0 -1
  1174. package/static/95c7ea1/file-icons/file_type_vhdl.svg +0 -1
  1175. package/static/95c7ea1/file-icons/file_type_video.svg +0 -1
  1176. package/static/95c7ea1/file-icons/file_type_view.svg +0 -1
  1177. package/static/95c7ea1/file-icons/file_type_vim.svg +0 -1
  1178. package/static/95c7ea1/file-icons/file_type_vite.svg +0 -1
  1179. package/static/95c7ea1/file-icons/file_type_vitest.svg +0 -1
  1180. package/static/95c7ea1/file-icons/file_type_vlang.svg +0 -1
  1181. package/static/95c7ea1/file-icons/file_type_volt.svg +0 -1
  1182. package/static/95c7ea1/file-icons/file_type_vscode-insiders.svg +0 -1
  1183. package/static/95c7ea1/file-icons/file_type_vscode.svg +0 -1
  1184. package/static/95c7ea1/file-icons/file_type_vscode2.svg +0 -1
  1185. package/static/95c7ea1/file-icons/file_type_vscode3.svg +0 -1
  1186. package/static/95c7ea1/file-icons/file_type_vscode_test.svg +0 -1
  1187. package/static/95c7ea1/file-icons/file_type_vsix.svg +0 -1
  1188. package/static/95c7ea1/file-icons/file_type_vsixmanifest.svg +0 -1
  1189. package/static/95c7ea1/file-icons/file_type_vue.svg +0 -1
  1190. package/static/95c7ea1/file-icons/file_type_vueconfig.svg +0 -1
  1191. package/static/95c7ea1/file-icons/file_type_vyper.svg +0 -1
  1192. package/static/95c7ea1/file-icons/file_type_wallaby.svg +0 -1
  1193. package/static/95c7ea1/file-icons/file_type_wally.svg +0 -1
  1194. package/static/95c7ea1/file-icons/file_type_wasm.svg +0 -1
  1195. package/static/95c7ea1/file-icons/file_type_watchmanconfig.svg +0 -1
  1196. package/static/95c7ea1/file-icons/file_type_wdio.svg +0 -1
  1197. package/static/95c7ea1/file-icons/file_type_webpack.svg +0 -1
  1198. package/static/95c7ea1/file-icons/file_type_wenyan.svg +0 -1
  1199. package/static/95c7ea1/file-icons/file_type_wercker.svg +0 -1
  1200. package/static/95c7ea1/file-icons/file_type_wgsl.svg +0 -1
  1201. package/static/95c7ea1/file-icons/file_type_wikitext.svg +0 -1
  1202. package/static/95c7ea1/file-icons/file_type_windi.svg +0 -1
  1203. package/static/95c7ea1/file-icons/file_type_wit.svg +0 -1
  1204. package/static/95c7ea1/file-icons/file_type_wolfram.svg +0 -1
  1205. package/static/95c7ea1/file-icons/file_type_word.svg +0 -1
  1206. package/static/95c7ea1/file-icons/file_type_word2.svg +0 -1
  1207. package/static/95c7ea1/file-icons/file_type_wpml.svg +0 -1
  1208. package/static/95c7ea1/file-icons/file_type_wurst.svg +0 -1
  1209. package/static/95c7ea1/file-icons/file_type_wxml.svg +0 -1
  1210. package/static/95c7ea1/file-icons/file_type_wxss.svg +0 -1
  1211. package/static/95c7ea1/file-icons/file_type_wxt.svg +0 -1
  1212. package/static/95c7ea1/file-icons/file_type_xcode.svg +0 -1
  1213. package/static/95c7ea1/file-icons/file_type_xfl.svg +0 -1
  1214. package/static/95c7ea1/file-icons/file_type_xib.svg +0 -1
  1215. package/static/95c7ea1/file-icons/file_type_xliff.svg +0 -1
  1216. package/static/95c7ea1/file-icons/file_type_xmake.svg +0 -1
  1217. package/static/95c7ea1/file-icons/file_type_xml.svg +0 -1
  1218. package/static/95c7ea1/file-icons/file_type_xo.svg +0 -1
  1219. package/static/95c7ea1/file-icons/file_type_xorg.svg +0 -1
  1220. package/static/95c7ea1/file-icons/file_type_xquery.svg +0 -1
  1221. package/static/95c7ea1/file-icons/file_type_xsl.svg +0 -1
  1222. package/static/95c7ea1/file-icons/file_type_yacc.svg +0 -1
  1223. package/static/95c7ea1/file-icons/file_type_yaml.svg +0 -1
  1224. package/static/95c7ea1/file-icons/file_type_yamllint.svg +0 -1
  1225. package/static/95c7ea1/file-icons/file_type_yandex.svg +0 -1
  1226. package/static/95c7ea1/file-icons/file_type_yang.svg +0 -1
  1227. package/static/95c7ea1/file-icons/file_type_yarn.svg +0 -1
  1228. package/static/95c7ea1/file-icons/file_type_yeoman.svg +0 -1
  1229. package/static/95c7ea1/file-icons/file_type_zeit.svg +0 -1
  1230. package/static/95c7ea1/file-icons/file_type_zig.svg +0 -1
  1231. package/static/95c7ea1/file-icons/file_type_zip.svg +0 -1
  1232. package/static/95c7ea1/file-icons/file_type_zip2.svg +0 -1
  1233. package/static/95c7ea1/file-icons/folder_type_android.svg +0 -1
  1234. package/static/95c7ea1/file-icons/folder_type_android_opened.svg +0 -1
  1235. package/static/95c7ea1/file-icons/folder_type_api.svg +0 -1
  1236. package/static/95c7ea1/file-icons/folder_type_api_opened.svg +0 -1
  1237. package/static/95c7ea1/file-icons/folder_type_app.svg +0 -1
  1238. package/static/95c7ea1/file-icons/folder_type_app_opened.svg +0 -1
  1239. package/static/95c7ea1/file-icons/folder_type_arangodb.svg +0 -1
  1240. package/static/95c7ea1/file-icons/folder_type_arangodb_opened.svg +0 -1
  1241. package/static/95c7ea1/file-icons/folder_type_asset.svg +0 -1
  1242. package/static/95c7ea1/file-icons/folder_type_asset_opened.svg +0 -1
  1243. package/static/95c7ea1/file-icons/folder_type_audio.svg +0 -1
  1244. package/static/95c7ea1/file-icons/folder_type_audio_opened.svg +0 -1
  1245. package/static/95c7ea1/file-icons/folder_type_aurelia.svg +0 -1
  1246. package/static/95c7ea1/file-icons/folder_type_aurelia_opened.svg +0 -1
  1247. package/static/95c7ea1/file-icons/folder_type_aws.svg +0 -1
  1248. package/static/95c7ea1/file-icons/folder_type_aws_opened.svg +0 -1
  1249. package/static/95c7ea1/file-icons/folder_type_azure.svg +0 -1
  1250. package/static/95c7ea1/file-icons/folder_type_azure_opened.svg +0 -1
  1251. package/static/95c7ea1/file-icons/folder_type_azurepipelines.svg +0 -1
  1252. package/static/95c7ea1/file-icons/folder_type_azurepipelines_opened.svg +0 -1
  1253. package/static/95c7ea1/file-icons/folder_type_binary.svg +0 -1
  1254. package/static/95c7ea1/file-icons/folder_type_binary_opened.svg +0 -1
  1255. package/static/95c7ea1/file-icons/folder_type_bloc.svg +0 -1
  1256. package/static/95c7ea1/file-icons/folder_type_bloc_opened.svg +0 -1
  1257. package/static/95c7ea1/file-icons/folder_type_blueprint.svg +0 -1
  1258. package/static/95c7ea1/file-icons/folder_type_blueprint_opened.svg +0 -1
  1259. package/static/95c7ea1/file-icons/folder_type_bot.svg +0 -1
  1260. package/static/95c7ea1/file-icons/folder_type_bot_opened.svg +0 -1
  1261. package/static/95c7ea1/file-icons/folder_type_bower.svg +0 -1
  1262. package/static/95c7ea1/file-icons/folder_type_bower_opened.svg +0 -1
  1263. package/static/95c7ea1/file-icons/folder_type_buildkite.svg +0 -1
  1264. package/static/95c7ea1/file-icons/folder_type_buildkite_opened.svg +0 -1
  1265. package/static/95c7ea1/file-icons/folder_type_cake.svg +0 -1
  1266. package/static/95c7ea1/file-icons/folder_type_cake_opened.svg +0 -1
  1267. package/static/95c7ea1/file-icons/folder_type_certificate.svg +0 -1
  1268. package/static/95c7ea1/file-icons/folder_type_certificate_opened.svg +0 -1
  1269. package/static/95c7ea1/file-icons/folder_type_changesets.svg +0 -1
  1270. package/static/95c7ea1/file-icons/folder_type_changesets_opened.svg +0 -1
  1271. package/static/95c7ea1/file-icons/folder_type_chef.svg +0 -1
  1272. package/static/95c7ea1/file-icons/folder_type_chef_opened.svg +0 -1
  1273. package/static/95c7ea1/file-icons/folder_type_circleci.svg +0 -1
  1274. package/static/95c7ea1/file-icons/folder_type_circleci_opened.svg +0 -1
  1275. package/static/95c7ea1/file-icons/folder_type_cli.svg +0 -1
  1276. package/static/95c7ea1/file-icons/folder_type_cli_opened.svg +0 -1
  1277. package/static/95c7ea1/file-icons/folder_type_client.svg +0 -1
  1278. package/static/95c7ea1/file-icons/folder_type_client_opened.svg +0 -1
  1279. package/static/95c7ea1/file-icons/folder_type_cmake.svg +0 -1
  1280. package/static/95c7ea1/file-icons/folder_type_cmake_opened.svg +0 -1
  1281. package/static/95c7ea1/file-icons/folder_type_common.svg +0 -1
  1282. package/static/95c7ea1/file-icons/folder_type_common_opened.svg +0 -1
  1283. package/static/95c7ea1/file-icons/folder_type_component.svg +0 -1
  1284. package/static/95c7ea1/file-icons/folder_type_component_opened.svg +0 -1
  1285. package/static/95c7ea1/file-icons/folder_type_composer.svg +0 -1
  1286. package/static/95c7ea1/file-icons/folder_type_composer_opened.svg +0 -1
  1287. package/static/95c7ea1/file-icons/folder_type_config.svg +0 -1
  1288. package/static/95c7ea1/file-icons/folder_type_config_opened.svg +0 -1
  1289. package/static/95c7ea1/file-icons/folder_type_controller.svg +0 -1
  1290. package/static/95c7ea1/file-icons/folder_type_controller_opened.svg +0 -1
  1291. package/static/95c7ea1/file-icons/folder_type_coverage.svg +0 -1
  1292. package/static/95c7ea1/file-icons/folder_type_coverage_opened.svg +0 -1
  1293. package/static/95c7ea1/file-icons/folder_type_css.svg +0 -1
  1294. package/static/95c7ea1/file-icons/folder_type_css_opened.svg +0 -1
  1295. package/static/95c7ea1/file-icons/folder_type_cubit.svg +0 -1
  1296. package/static/95c7ea1/file-icons/folder_type_cubit_opened.svg +0 -1
  1297. package/static/95c7ea1/file-icons/folder_type_cypress.svg +0 -1
  1298. package/static/95c7ea1/file-icons/folder_type_cypress_opened.svg +0 -1
  1299. package/static/95c7ea1/file-icons/folder_type_dapr.svg +0 -1
  1300. package/static/95c7ea1/file-icons/folder_type_dapr_opened.svg +0 -1
  1301. package/static/95c7ea1/file-icons/folder_type_datadog.svg +0 -1
  1302. package/static/95c7ea1/file-icons/folder_type_datadog_opened.svg +0 -1
  1303. package/static/95c7ea1/file-icons/folder_type_db.svg +0 -1
  1304. package/static/95c7ea1/file-icons/folder_type_db_opened.svg +0 -1
  1305. package/static/95c7ea1/file-icons/folder_type_debian.svg +0 -1
  1306. package/static/95c7ea1/file-icons/folder_type_debian_opened.svg +0 -1
  1307. package/static/95c7ea1/file-icons/folder_type_dependabot.svg +0 -1
  1308. package/static/95c7ea1/file-icons/folder_type_dependabot_opened.svg +0 -1
  1309. package/static/95c7ea1/file-icons/folder_type_devcontainer.svg +0 -1
  1310. package/static/95c7ea1/file-icons/folder_type_devcontainer_opened.svg +0 -1
  1311. package/static/95c7ea1/file-icons/folder_type_dist.svg +0 -1
  1312. package/static/95c7ea1/file-icons/folder_type_dist_opened.svg +0 -1
  1313. package/static/95c7ea1/file-icons/folder_type_docker.svg +0 -1
  1314. package/static/95c7ea1/file-icons/folder_type_docker_opened.svg +0 -1
  1315. package/static/95c7ea1/file-icons/folder_type_docs.svg +0 -1
  1316. package/static/95c7ea1/file-icons/folder_type_docs_opened.svg +0 -1
  1317. package/static/95c7ea1/file-icons/folder_type_e2e.svg +0 -1
  1318. package/static/95c7ea1/file-icons/folder_type_e2e_opened.svg +0 -1
  1319. package/static/95c7ea1/file-icons/folder_type_elasticbeanstalk.svg +0 -1
  1320. package/static/95c7ea1/file-icons/folder_type_elasticbeanstalk_opened.svg +0 -1
  1321. package/static/95c7ea1/file-icons/folder_type_electron.svg +0 -1
  1322. package/static/95c7ea1/file-icons/folder_type_electron_opened.svg +0 -1
  1323. package/static/95c7ea1/file-icons/folder_type_expo.svg +0 -1
  1324. package/static/95c7ea1/file-icons/folder_type_expo_opened.svg +0 -1
  1325. package/static/95c7ea1/file-icons/folder_type_favicon.svg +0 -1
  1326. package/static/95c7ea1/file-icons/folder_type_favicon_opened.svg +0 -1
  1327. package/static/95c7ea1/file-icons/folder_type_flow.svg +0 -1
  1328. package/static/95c7ea1/file-icons/folder_type_flow_opened.svg +0 -1
  1329. package/static/95c7ea1/file-icons/folder_type_fonts.svg +0 -1
  1330. package/static/95c7ea1/file-icons/folder_type_fonts_opened.svg +0 -1
  1331. package/static/95c7ea1/file-icons/folder_type_frontcommerce.svg +0 -1
  1332. package/static/95c7ea1/file-icons/folder_type_frontcommerce_opened.svg +0 -1
  1333. package/static/95c7ea1/file-icons/folder_type_gcp.svg +0 -1
  1334. package/static/95c7ea1/file-icons/folder_type_gcp_opened.svg +0 -1
  1335. package/static/95c7ea1/file-icons/folder_type_git.svg +0 -1
  1336. package/static/95c7ea1/file-icons/folder_type_git_opened.svg +0 -1
  1337. package/static/95c7ea1/file-icons/folder_type_github.svg +0 -1
  1338. package/static/95c7ea1/file-icons/folder_type_github_opened.svg +0 -1
  1339. package/static/95c7ea1/file-icons/folder_type_gitlab.svg +0 -1
  1340. package/static/95c7ea1/file-icons/folder_type_gitlab_opened.svg +0 -1
  1341. package/static/95c7ea1/file-icons/folder_type_gradle.svg +0 -1
  1342. package/static/95c7ea1/file-icons/folder_type_gradle_opened.svg +0 -1
  1343. package/static/95c7ea1/file-icons/folder_type_graphql.svg +0 -1
  1344. package/static/95c7ea1/file-icons/folder_type_graphql_opened.svg +0 -1
  1345. package/static/95c7ea1/file-icons/folder_type_grunt.svg +0 -1
  1346. package/static/95c7ea1/file-icons/folder_type_grunt_opened.svg +0 -1
  1347. package/static/95c7ea1/file-icons/folder_type_gulp.svg +0 -1
  1348. package/static/95c7ea1/file-icons/folder_type_gulp_opened.svg +0 -1
  1349. package/static/95c7ea1/file-icons/folder_type_haxelib.svg +0 -1
  1350. package/static/95c7ea1/file-icons/folder_type_haxelib_opened.svg +0 -1
  1351. package/static/95c7ea1/file-icons/folder_type_helper.svg +0 -1
  1352. package/static/95c7ea1/file-icons/folder_type_helper_opened.svg +0 -1
  1353. package/static/95c7ea1/file-icons/folder_type_hook.svg +0 -1
  1354. package/static/95c7ea1/file-icons/folder_type_hook_opened.svg +0 -1
  1355. package/static/95c7ea1/file-icons/folder_type_husky.svg +0 -1
  1356. package/static/95c7ea1/file-icons/folder_type_husky_opened.svg +0 -1
  1357. package/static/95c7ea1/file-icons/folder_type_idea.svg +0 -1
  1358. package/static/95c7ea1/file-icons/folder_type_idea_opened.svg +0 -1
  1359. package/static/95c7ea1/file-icons/folder_type_images.svg +0 -1
  1360. package/static/95c7ea1/file-icons/folder_type_images_opened.svg +0 -1
  1361. package/static/95c7ea1/file-icons/folder_type_include.svg +0 -1
  1362. package/static/95c7ea1/file-icons/folder_type_include_opened.svg +0 -1
  1363. package/static/95c7ea1/file-icons/folder_type_interfaces.svg +0 -1
  1364. package/static/95c7ea1/file-icons/folder_type_interfaces_opened.svg +0 -1
  1365. package/static/95c7ea1/file-icons/folder_type_ios.svg +0 -1
  1366. package/static/95c7ea1/file-icons/folder_type_ios_opened.svg +0 -1
  1367. package/static/95c7ea1/file-icons/folder_type_js.svg +0 -1
  1368. package/static/95c7ea1/file-icons/folder_type_js_opened.svg +0 -1
  1369. package/static/95c7ea1/file-icons/folder_type_json.svg +0 -1
  1370. package/static/95c7ea1/file-icons/folder_type_json_official.svg +0 -1
  1371. package/static/95c7ea1/file-icons/folder_type_json_official_opened.svg +0 -1
  1372. package/static/95c7ea1/file-icons/folder_type_json_opened.svg +0 -1
  1373. package/static/95c7ea1/file-icons/folder_type_kubernetes.svg +0 -1
  1374. package/static/95c7ea1/file-icons/folder_type_kubernetes_opened.svg +0 -1
  1375. package/static/95c7ea1/file-icons/folder_type_less.svg +0 -1
  1376. package/static/95c7ea1/file-icons/folder_type_less_opened.svg +0 -1
  1377. package/static/95c7ea1/file-icons/folder_type_library.svg +0 -1
  1378. package/static/95c7ea1/file-icons/folder_type_library_opened.svg +0 -1
  1379. package/static/95c7ea1/file-icons/folder_type_light_cypress.svg +0 -1
  1380. package/static/95c7ea1/file-icons/folder_type_light_cypress_opened.svg +0 -1
  1381. package/static/95c7ea1/file-icons/folder_type_light_electron.svg +0 -1
  1382. package/static/95c7ea1/file-icons/folder_type_light_electron_opened.svg +0 -1
  1383. package/static/95c7ea1/file-icons/folder_type_light_expo.svg +0 -1
  1384. package/static/95c7ea1/file-icons/folder_type_light_expo_opened.svg +0 -1
  1385. package/static/95c7ea1/file-icons/folder_type_light_fonts.svg +0 -1
  1386. package/static/95c7ea1/file-icons/folder_type_light_fonts_opened.svg +0 -1
  1387. package/static/95c7ea1/file-icons/folder_type_light_gradle.svg +0 -1
  1388. package/static/95c7ea1/file-icons/folder_type_light_gradle_opened.svg +0 -1
  1389. package/static/95c7ea1/file-icons/folder_type_light_meteor.svg +0 -1
  1390. package/static/95c7ea1/file-icons/folder_type_light_meteor_opened.svg +0 -1
  1391. package/static/95c7ea1/file-icons/folder_type_light_mysql.svg +0 -1
  1392. package/static/95c7ea1/file-icons/folder_type_light_mysql_opened.svg +0 -1
  1393. package/static/95c7ea1/file-icons/folder_type_light_node.svg +0 -1
  1394. package/static/95c7ea1/file-icons/folder_type_light_node_opened.svg +0 -1
  1395. package/static/95c7ea1/file-icons/folder_type_light_redux.svg +0 -1
  1396. package/static/95c7ea1/file-icons/folder_type_light_redux_opened.svg +0 -1
  1397. package/static/95c7ea1/file-icons/folder_type_light_sass.svg +0 -1
  1398. package/static/95c7ea1/file-icons/folder_type_light_sass_opened.svg +0 -1
  1399. package/static/95c7ea1/file-icons/folder_type_linux.svg +0 -1
  1400. package/static/95c7ea1/file-icons/folder_type_linux_opened.svg +0 -1
  1401. package/static/95c7ea1/file-icons/folder_type_locale.svg +0 -1
  1402. package/static/95c7ea1/file-icons/folder_type_locale_opened.svg +0 -1
  1403. package/static/95c7ea1/file-icons/folder_type_log.svg +0 -1
  1404. package/static/95c7ea1/file-icons/folder_type_log_opened.svg +0 -1
  1405. package/static/95c7ea1/file-icons/folder_type_macos.svg +0 -1
  1406. package/static/95c7ea1/file-icons/folder_type_macos_opened.svg +0 -1
  1407. package/static/95c7ea1/file-icons/folder_type_mariadb.svg +0 -1
  1408. package/static/95c7ea1/file-icons/folder_type_mariadb_opened.svg +0 -1
  1409. package/static/95c7ea1/file-icons/folder_type_maven.svg +0 -1
  1410. package/static/95c7ea1/file-icons/folder_type_maven_opened.svg +0 -1
  1411. package/static/95c7ea1/file-icons/folder_type_mediawiki.svg +0 -1
  1412. package/static/95c7ea1/file-icons/folder_type_mediawiki_opened.svg +0 -1
  1413. package/static/95c7ea1/file-icons/folder_type_memcached.svg +0 -1
  1414. package/static/95c7ea1/file-icons/folder_type_memcached_opened.svg +0 -1
  1415. package/static/95c7ea1/file-icons/folder_type_meteor.svg +0 -1
  1416. package/static/95c7ea1/file-icons/folder_type_meteor_opened.svg +0 -1
  1417. package/static/95c7ea1/file-icons/folder_type_middleware.svg +0 -1
  1418. package/static/95c7ea1/file-icons/folder_type_middleware_opened.svg +0 -1
  1419. package/static/95c7ea1/file-icons/folder_type_minikube.svg +0 -1
  1420. package/static/95c7ea1/file-icons/folder_type_minikube_opened.svg +0 -1
  1421. package/static/95c7ea1/file-icons/folder_type_mjml.svg +0 -1
  1422. package/static/95c7ea1/file-icons/folder_type_mjml_opened.svg +0 -1
  1423. package/static/95c7ea1/file-icons/folder_type_mock.svg +0 -1
  1424. package/static/95c7ea1/file-icons/folder_type_mock_opened.svg +0 -1
  1425. package/static/95c7ea1/file-icons/folder_type_model.svg +0 -1
  1426. package/static/95c7ea1/file-icons/folder_type_model_opened.svg +0 -1
  1427. package/static/95c7ea1/file-icons/folder_type_module.svg +0 -1
  1428. package/static/95c7ea1/file-icons/folder_type_module_opened.svg +0 -1
  1429. package/static/95c7ea1/file-icons/folder_type_mojo.svg +0 -1
  1430. package/static/95c7ea1/file-icons/folder_type_mojo_opened.svg +0 -1
  1431. package/static/95c7ea1/file-icons/folder_type_mongodb.svg +0 -1
  1432. package/static/95c7ea1/file-icons/folder_type_mongodb_opened.svg +0 -1
  1433. package/static/95c7ea1/file-icons/folder_type_mysql.svg +0 -1
  1434. package/static/95c7ea1/file-icons/folder_type_mysql_opened.svg +0 -1
  1435. package/static/95c7ea1/file-icons/folder_type_next.svg +0 -1
  1436. package/static/95c7ea1/file-icons/folder_type_next_opened.svg +0 -1
  1437. package/static/95c7ea1/file-icons/folder_type_nginx.svg +0 -1
  1438. package/static/95c7ea1/file-icons/folder_type_nginx_opened.svg +0 -1
  1439. package/static/95c7ea1/file-icons/folder_type_nix.svg +0 -1
  1440. package/static/95c7ea1/file-icons/folder_type_nix_opened.svg +0 -1
  1441. package/static/95c7ea1/file-icons/folder_type_node.svg +0 -1
  1442. package/static/95c7ea1/file-icons/folder_type_node_opened.svg +0 -1
  1443. package/static/95c7ea1/file-icons/folder_type_notebooks.svg +0 -1
  1444. package/static/95c7ea1/file-icons/folder_type_notebooks_opened.svg +0 -1
  1445. package/static/95c7ea1/file-icons/folder_type_notification.svg +0 -1
  1446. package/static/95c7ea1/file-icons/folder_type_notification_opened.svg +0 -1
  1447. package/static/95c7ea1/file-icons/folder_type_nuget.svg +0 -1
  1448. package/static/95c7ea1/file-icons/folder_type_nuget_opened.svg +0 -1
  1449. package/static/95c7ea1/file-icons/folder_type_nuxt.svg +0 -1
  1450. package/static/95c7ea1/file-icons/folder_type_nuxt_opened.svg +0 -1
  1451. package/static/95c7ea1/file-icons/folder_type_package.svg +0 -1
  1452. package/static/95c7ea1/file-icons/folder_type_package_opened.svg +0 -1
  1453. package/static/95c7ea1/file-icons/folder_type_paket.svg +0 -1
  1454. package/static/95c7ea1/file-icons/folder_type_paket_opened.svg +0 -1
  1455. package/static/95c7ea1/file-icons/folder_type_php.svg +0 -1
  1456. package/static/95c7ea1/file-icons/folder_type_php_opened.svg +0 -1
  1457. package/static/95c7ea1/file-icons/folder_type_platformio.svg +0 -1
  1458. package/static/95c7ea1/file-icons/folder_type_platformio_opened.svg +0 -1
  1459. package/static/95c7ea1/file-icons/folder_type_plugin.svg +0 -1
  1460. package/static/95c7ea1/file-icons/folder_type_plugin_opened.svg +0 -1
  1461. package/static/95c7ea1/file-icons/folder_type_prisma.svg +0 -1
  1462. package/static/95c7ea1/file-icons/folder_type_prisma_opened.svg +0 -1
  1463. package/static/95c7ea1/file-icons/folder_type_private.svg +0 -1
  1464. package/static/95c7ea1/file-icons/folder_type_private_opened.svg +0 -1
  1465. package/static/95c7ea1/file-icons/folder_type_public.svg +0 -1
  1466. package/static/95c7ea1/file-icons/folder_type_public_opened.svg +0 -1
  1467. package/static/95c7ea1/file-icons/folder_type_python.svg +0 -1
  1468. package/static/95c7ea1/file-icons/folder_type_python_opened.svg +0 -1
  1469. package/static/95c7ea1/file-icons/folder_type_ravendb.svg +0 -1
  1470. package/static/95c7ea1/file-icons/folder_type_ravendb_opened.svg +0 -1
  1471. package/static/95c7ea1/file-icons/folder_type_redis.svg +0 -1
  1472. package/static/95c7ea1/file-icons/folder_type_redis_opened.svg +0 -1
  1473. package/static/95c7ea1/file-icons/folder_type_redux.svg +0 -1
  1474. package/static/95c7ea1/file-icons/folder_type_redux_opened.svg +0 -1
  1475. package/static/95c7ea1/file-icons/folder_type_route.svg +0 -1
  1476. package/static/95c7ea1/file-icons/folder_type_route_opened.svg +0 -1
  1477. package/static/95c7ea1/file-icons/folder_type_sass.svg +0 -1
  1478. package/static/95c7ea1/file-icons/folder_type_sass_opened.svg +0 -1
  1479. package/static/95c7ea1/file-icons/folder_type_script.svg +0 -1
  1480. package/static/95c7ea1/file-icons/folder_type_script_opened.svg +0 -1
  1481. package/static/95c7ea1/file-icons/folder_type_server.svg +0 -1
  1482. package/static/95c7ea1/file-icons/folder_type_server_opened.svg +0 -1
  1483. package/static/95c7ea1/file-icons/folder_type_services.svg +0 -1
  1484. package/static/95c7ea1/file-icons/folder_type_services_opened.svg +0 -1
  1485. package/static/95c7ea1/file-icons/folder_type_shared.svg +0 -1
  1486. package/static/95c7ea1/file-icons/folder_type_shared_opened.svg +0 -1
  1487. package/static/95c7ea1/file-icons/folder_type_snaplet.svg +0 -1
  1488. package/static/95c7ea1/file-icons/folder_type_snaplet_opened.svg +0 -1
  1489. package/static/95c7ea1/file-icons/folder_type_spin.svg +0 -1
  1490. package/static/95c7ea1/file-icons/folder_type_spin_opened.svg +0 -1
  1491. package/static/95c7ea1/file-icons/folder_type_src.svg +0 -1
  1492. package/static/95c7ea1/file-icons/folder_type_src_opened.svg +0 -1
  1493. package/static/95c7ea1/file-icons/folder_type_sso.svg +0 -1
  1494. package/static/95c7ea1/file-icons/folder_type_sso_opened.svg +0 -1
  1495. package/static/95c7ea1/file-icons/folder_type_story.svg +0 -1
  1496. package/static/95c7ea1/file-icons/folder_type_story_opened.svg +0 -1
  1497. package/static/95c7ea1/file-icons/folder_type_style.svg +0 -1
  1498. package/static/95c7ea1/file-icons/folder_type_style_opened.svg +0 -1
  1499. package/static/95c7ea1/file-icons/folder_type_supabase.svg +0 -1
  1500. package/static/95c7ea1/file-icons/folder_type_supabase_opened.svg +0 -1
  1501. package/static/95c7ea1/file-icons/folder_type_svelte.svg +0 -1
  1502. package/static/95c7ea1/file-icons/folder_type_svelte_opened.svg +0 -1
  1503. package/static/95c7ea1/file-icons/folder_type_tauri.svg +0 -1
  1504. package/static/95c7ea1/file-icons/folder_type_tauri_opened.svg +0 -1
  1505. package/static/95c7ea1/file-icons/folder_type_temp.svg +0 -1
  1506. package/static/95c7ea1/file-icons/folder_type_temp_opened.svg +0 -1
  1507. package/static/95c7ea1/file-icons/folder_type_template.svg +0 -1
  1508. package/static/95c7ea1/file-icons/folder_type_template_opened.svg +0 -1
  1509. package/static/95c7ea1/file-icons/folder_type_test.svg +0 -1
  1510. package/static/95c7ea1/file-icons/folder_type_test_opened.svg +0 -1
  1511. package/static/95c7ea1/file-icons/folder_type_theme.svg +0 -1
  1512. package/static/95c7ea1/file-icons/folder_type_theme_opened.svg +0 -1
  1513. package/static/95c7ea1/file-icons/folder_type_tools.svg +0 -1
  1514. package/static/95c7ea1/file-icons/folder_type_tools_opened.svg +0 -1
  1515. package/static/95c7ea1/file-icons/folder_type_travis.svg +0 -1
  1516. package/static/95c7ea1/file-icons/folder_type_travis_opened.svg +0 -1
  1517. package/static/95c7ea1/file-icons/folder_type_trunk.svg +0 -1
  1518. package/static/95c7ea1/file-icons/folder_type_trunk_opened.svg +0 -1
  1519. package/static/95c7ea1/file-icons/folder_type_turbo.svg +0 -1
  1520. package/static/95c7ea1/file-icons/folder_type_turbo_opened.svg +0 -1
  1521. package/static/95c7ea1/file-icons/folder_type_typescript.svg +0 -1
  1522. package/static/95c7ea1/file-icons/folder_type_typescript_opened.svg +0 -1
  1523. package/static/95c7ea1/file-icons/folder_type_typings.svg +0 -1
  1524. package/static/95c7ea1/file-icons/folder_type_typings2.svg +0 -1
  1525. package/static/95c7ea1/file-icons/folder_type_typings2_opened.svg +0 -1
  1526. package/static/95c7ea1/file-icons/folder_type_typings_opened.svg +0 -1
  1527. package/static/95c7ea1/file-icons/folder_type_vagrant.svg +0 -1
  1528. package/static/95c7ea1/file-icons/folder_type_vagrant_opened.svg +0 -1
  1529. package/static/95c7ea1/file-icons/folder_type_vercel.svg +0 -1
  1530. package/static/95c7ea1/file-icons/folder_type_vercel_opened.svg +0 -1
  1531. package/static/95c7ea1/file-icons/folder_type_video.svg +0 -1
  1532. package/static/95c7ea1/file-icons/folder_type_video_opened.svg +0 -1
  1533. package/static/95c7ea1/file-icons/folder_type_view.svg +0 -1
  1534. package/static/95c7ea1/file-icons/folder_type_view_opened.svg +0 -1
  1535. package/static/95c7ea1/file-icons/folder_type_vs.svg +0 -1
  1536. package/static/95c7ea1/file-icons/folder_type_vs2.svg +0 -1
  1537. package/static/95c7ea1/file-icons/folder_type_vs2_opened.svg +0 -1
  1538. package/static/95c7ea1/file-icons/folder_type_vs_opened.svg +0 -1
  1539. package/static/95c7ea1/file-icons/folder_type_vscode.svg +0 -1
  1540. package/static/95c7ea1/file-icons/folder_type_vscode2.svg +0 -1
  1541. package/static/95c7ea1/file-icons/folder_type_vscode2_opened.svg +0 -1
  1542. package/static/95c7ea1/file-icons/folder_type_vscode3.svg +0 -1
  1543. package/static/95c7ea1/file-icons/folder_type_vscode3_opened.svg +0 -1
  1544. package/static/95c7ea1/file-icons/folder_type_vscode_opened.svg +0 -1
  1545. package/static/95c7ea1/file-icons/folder_type_vscode_test.svg +0 -1
  1546. package/static/95c7ea1/file-icons/folder_type_vscode_test2.svg +0 -1
  1547. package/static/95c7ea1/file-icons/folder_type_vscode_test2_opened.svg +0 -1
  1548. package/static/95c7ea1/file-icons/folder_type_vscode_test3.svg +0 -1
  1549. package/static/95c7ea1/file-icons/folder_type_vscode_test3_opened.svg +0 -1
  1550. package/static/95c7ea1/file-icons/folder_type_vscode_test_opened.svg +0 -1
  1551. package/static/95c7ea1/file-icons/folder_type_webpack.svg +0 -1
  1552. package/static/95c7ea1/file-icons/folder_type_webpack_opened.svg +0 -1
  1553. package/static/95c7ea1/file-icons/folder_type_windows.svg +0 -1
  1554. package/static/95c7ea1/file-icons/folder_type_windows_opened.svg +0 -1
  1555. package/static/95c7ea1/file-icons/folder_type_wit.svg +0 -1
  1556. package/static/95c7ea1/file-icons/folder_type_wit_opened.svg +0 -1
  1557. package/static/95c7ea1/file-icons/folder_type_www.svg +0 -1
  1558. package/static/95c7ea1/file-icons/folder_type_www_opened.svg +0 -1
  1559. package/static/95c7ea1/file-icons/folder_type_yarn.svg +0 -1
  1560. package/static/95c7ea1/file-icons/folder_type_yarn_opened.svg +0 -1
  1561. package/static/95c7ea1/fonts/FiraCode-VariableFont.ttf +0 -0
  1562. package/static/95c7ea1/icons/add.svg +0 -1
  1563. package/static/95c7ea1/icons/arrow-down.svg +0 -3
  1564. package/static/95c7ea1/icons/arrow-left.svg +0 -3
  1565. package/static/95c7ea1/icons/arrow-right.svg +0 -3
  1566. package/static/95c7ea1/icons/arrow-up.svg +0 -3
  1567. package/static/95c7ea1/icons/blank.svg +0 -1
  1568. package/static/95c7ea1/icons/book.svg +0 -1
  1569. package/static/95c7ea1/icons/case-sensitive.svg +0 -1
  1570. package/static/95c7ea1/icons/check.svg +0 -1
  1571. package/static/95c7ea1/icons/chevron-down.svg +0 -1
  1572. package/static/95c7ea1/icons/chevron-left.svg +0 -1
  1573. package/static/95c7ea1/icons/chevron-right.svg +0 -3
  1574. package/static/95c7ea1/icons/chevron-up.svg +0 -1
  1575. package/static/95c7ea1/icons/chrome-close.svg +0 -3
  1576. package/static/95c7ea1/icons/chrome-maximize.svg +0 -3
  1577. package/static/95c7ea1/icons/chrome-minimize.svg +0 -3
  1578. package/static/95c7ea1/icons/chrome-restore.svg +0 -1
  1579. package/static/95c7ea1/icons/circle-filled.svg +0 -1
  1580. package/static/95c7ea1/icons/clear-all.svg +0 -1
  1581. package/static/95c7ea1/icons/close.svg +0 -1
  1582. package/static/95c7ea1/icons/cloud.svg +0 -1
  1583. package/static/95c7ea1/icons/collapse-all.svg +0 -1
  1584. package/static/95c7ea1/icons/debug-all.svg +0 -1
  1585. package/static/95c7ea1/icons/debug-alt-2.svg +0 -3
  1586. package/static/95c7ea1/icons/debug-alt-small.svg +0 -1
  1587. package/static/95c7ea1/icons/debug-alt.svg +0 -1
  1588. package/static/95c7ea1/icons/debug-breakpoint-conditional-unverified.svg +0 -1
  1589. package/static/95c7ea1/icons/debug-breakpoint-conditional.svg +0 -1
  1590. package/static/95c7ea1/icons/debug-breakpoint-data-unverified.svg +0 -1
  1591. package/static/95c7ea1/icons/debug-breakpoint-data.svg +0 -1
  1592. package/static/95c7ea1/icons/debug-breakpoint-function-unverified.svg +0 -1
  1593. package/static/95c7ea1/icons/debug-breakpoint-function.svg +0 -1
  1594. package/static/95c7ea1/icons/debug-breakpoint-log-unverified.svg +0 -1
  1595. package/static/95c7ea1/icons/debug-breakpoint-log.svg +0 -1
  1596. package/static/95c7ea1/icons/debug-breakpoint-unsupported.svg +0 -1
  1597. package/static/95c7ea1/icons/debug-console.svg +0 -1
  1598. package/static/95c7ea1/icons/debug-continue-small.svg +0 -1
  1599. package/static/95c7ea1/icons/debug-continue.svg +0 -1
  1600. package/static/95c7ea1/icons/debug-coverage.svg +0 -1
  1601. package/static/95c7ea1/icons/debug-disconnect.svg +0 -1
  1602. package/static/95c7ea1/icons/debug-line-by-line.svg +0 -1
  1603. package/static/95c7ea1/icons/debug-pause.svg +0 -1
  1604. package/static/95c7ea1/icons/debug-rerun.svg +0 -1
  1605. package/static/95c7ea1/icons/debug-restart-frame.svg +0 -1
  1606. package/static/95c7ea1/icons/debug-restart.svg +0 -1
  1607. package/static/95c7ea1/icons/debug-reverse-continue.svg +0 -1
  1608. package/static/95c7ea1/icons/debug-stackframe-active.svg +0 -1
  1609. package/static/95c7ea1/icons/debug-stackframe.svg +0 -1
  1610. package/static/95c7ea1/icons/debug-start.svg +0 -1
  1611. package/static/95c7ea1/icons/debug-step-back.svg +0 -1
  1612. package/static/95c7ea1/icons/debug-step-into.svg +0 -1
  1613. package/static/95c7ea1/icons/debug-step-out.svg +0 -1
  1614. package/static/95c7ea1/icons/debug-step-over.svg +0 -1
  1615. package/static/95c7ea1/icons/debug-stop.svg +0 -1
  1616. package/static/95c7ea1/icons/debug.svg +0 -1
  1617. package/static/95c7ea1/icons/discard.svg +0 -1
  1618. package/static/95c7ea1/icons/edit.svg +0 -1
  1619. package/static/95c7ea1/icons/ellipsis.svg +0 -5
  1620. package/static/95c7ea1/icons/error.svg +0 -1
  1621. package/static/95c7ea1/icons/exclude.svg +0 -1
  1622. package/static/95c7ea1/icons/extensionDefaultIcon.png +0 -0
  1623. package/static/95c7ea1/icons/extensions.svg +0 -3
  1624. package/static/95c7ea1/icons/files.svg +0 -3
  1625. package/static/95c7ea1/icons/filter.svg +0 -1
  1626. package/static/95c7ea1/icons/go-to-file.svg +0 -1
  1627. package/static/95c7ea1/icons/icon-close.svg +0 -3
  1628. package/static/95c7ea1/icons/icon-source-control.svg +0 -3
  1629. package/static/95c7ea1/icons/icon-sync.svg +0 -1
  1630. package/static/95c7ea1/icons/icon.png +0 -0
  1631. package/static/95c7ea1/icons/icon.svg +0 -3
  1632. package/static/95c7ea1/icons/info.svg +0 -1
  1633. package/static/95c7ea1/icons/language-icon.svg +0 -1
  1634. package/static/95c7ea1/icons/link-external.svg +0 -1
  1635. package/static/95c7ea1/icons/list-flat.svg +0 -1
  1636. package/static/95c7ea1/icons/list-tree.svg +0 -1
  1637. package/static/95c7ea1/icons/new-file.svg +0 -1
  1638. package/static/95c7ea1/icons/new-folder.svg +0 -1
  1639. package/static/95c7ea1/icons/newline.svg +0 -1
  1640. package/static/95c7ea1/icons/open-preview.svg +0 -1
  1641. package/static/95c7ea1/icons/play.svg +0 -1
  1642. package/static/95c7ea1/icons/preserve-case.svg +0 -1
  1643. package/static/95c7ea1/icons/progress.svg +0 -1
  1644. package/static/95c7ea1/icons/pwa-icon-192.png +0 -0
  1645. package/static/95c7ea1/icons/pwa-icon-512.png +0 -0
  1646. package/static/95c7ea1/icons/record-keys.svg +0 -1
  1647. package/static/95c7ea1/icons/refresh.svg +0 -1
  1648. package/static/95c7ea1/icons/regex.svg +0 -1
  1649. package/static/95c7ea1/icons/remove.svg +0 -1
  1650. package/static/95c7ea1/icons/replace-all.svg +0 -1
  1651. package/static/95c7ea1/icons/replace.svg +0 -1
  1652. package/static/95c7ea1/icons/run-all.svg +0 -1
  1653. package/static/95c7ea1/icons/search.svg +0 -3
  1654. package/static/95c7ea1/icons/settings-gear.svg +0 -3
  1655. package/static/95c7ea1/icons/source-control.svg +0 -3
  1656. package/static/95c7ea1/icons/split-horizontal.svg +0 -1
  1657. package/static/95c7ea1/icons/squiggly-error.svg +0 -1
  1658. package/static/95c7ea1/icons/squiggly-warning.svg +0 -1
  1659. package/static/95c7ea1/icons/symbol-array.svg +0 -3
  1660. package/static/95c7ea1/icons/symbol-boolean.svg +0 -3
  1661. package/static/95c7ea1/icons/symbol-class.svg +0 -3
  1662. package/static/95c7ea1/icons/symbol-color.svg +0 -3
  1663. package/static/95c7ea1/icons/symbol-constant.svg +0 -4
  1664. package/static/95c7ea1/icons/symbol-enum-member.svg +0 -3
  1665. package/static/95c7ea1/icons/symbol-enum.svg +0 -3
  1666. package/static/95c7ea1/icons/symbol-event.svg +0 -3
  1667. package/static/95c7ea1/icons/symbol-field.svg +0 -3
  1668. package/static/95c7ea1/icons/symbol-file.svg +0 -3
  1669. package/static/95c7ea1/icons/symbol-interface.svg +0 -3
  1670. package/static/95c7ea1/icons/symbol-key.svg +0 -3
  1671. package/static/95c7ea1/icons/symbol-keyword.svg +0 -3
  1672. package/static/95c7ea1/icons/symbol-method.svg +0 -3
  1673. package/static/95c7ea1/icons/symbol-misc.svg +0 -3
  1674. package/static/95c7ea1/icons/symbol-namespace.svg +0 -3
  1675. package/static/95c7ea1/icons/symbol-numeric.svg +0 -3
  1676. package/static/95c7ea1/icons/symbol-operator.svg +0 -3
  1677. package/static/95c7ea1/icons/symbol-parameter.svg +0 -3
  1678. package/static/95c7ea1/icons/symbol-property.svg +0 -3
  1679. package/static/95c7ea1/icons/symbol-ruler.svg +0 -3
  1680. package/static/95c7ea1/icons/symbol-snippet.svg +0 -3
  1681. package/static/95c7ea1/icons/symbol-string.svg +0 -3
  1682. package/static/95c7ea1/icons/symbol-structure.svg +0 -3
  1683. package/static/95c7ea1/icons/symbol-variable.svg +0 -3
  1684. package/static/95c7ea1/icons/tag.svg +0 -1
  1685. package/static/95c7ea1/icons/terminal-bash.svg +0 -1
  1686. package/static/95c7ea1/icons/terminal.svg +0 -1
  1687. package/static/95c7ea1/icons/theme-icon.png +0 -0
  1688. package/static/95c7ea1/icons/trash.svg +0 -1
  1689. package/static/95c7ea1/icons/triangle-down.svg +0 -1
  1690. package/static/95c7ea1/icons/triangle-left.svg +0 -1
  1691. package/static/95c7ea1/icons/triangle-right.svg +0 -1
  1692. package/static/95c7ea1/icons/triangle-up.svg +0 -1
  1693. package/static/95c7ea1/icons/warning.svg +0 -1
  1694. package/static/95c7ea1/icons/whole-word.svg +0 -1
  1695. package/static/95c7ea1/icons/zoom-in.svg +0 -1
  1696. package/static/95c7ea1/icons/zoom-out.svg +0 -1
  1697. package/static/95c7ea1/js/babel-parser.js +0 -14154
  1698. package/static/95c7ea1/js/blob-util.js +0 -149
  1699. package/static/95c7ea1/js/idb/async-iterators.js +0 -56
  1700. package/static/95c7ea1/js/idb/index.js +0 -99
  1701. package/static/95c7ea1/js/idb/with-async-ittr.js +0 -4
  1702. package/static/95c7ea1/js/idb/wrap-idb-value.js +0 -190
  1703. package/static/95c7ea1/js/js-base64.js +0 -296
  1704. package/static/95c7ea1/js/ky.js +0 -489
  1705. package/static/95c7ea1/js/lvce-editor-import-script.js +0 -5
  1706. package/static/95c7ea1/js/lvce-editor-ipc.js +0 -735
  1707. package/static/95c7ea1/js/lvce-editor-json-rpc.js +0 -383
  1708. package/static/95c7ea1/js/lvce-editor-verror.js +0 -55
  1709. package/static/95c7ea1/js/marked.js +0 -1990
  1710. package/static/95c7ea1/js/p-min-delay.js +0 -7
  1711. package/static/95c7ea1/js/pretty-bytes.js +0 -94
  1712. package/static/95c7ea1/js/preview-injected.js +0 -101
  1713. package/static/95c7ea1/js/yoctodelay.js +0 -2
  1714. package/static/95c7ea1/lib-css/termterm.css +0 -39
  1715. package/static/95c7ea1/manifest.json +0 -26
  1716. package/static/95c7ea1/packages/about-view-worker/dist/aboutWorkerMain.js +0 -1556
  1717. package/static/95c7ea1/packages/diff-worker/dist/diffWorkerMain.js +0 -886
  1718. package/static/95c7ea1/packages/editor-worker/dist/editorWorkerMain.js +0 -11885
  1719. package/static/95c7ea1/packages/embeds-worker/dist/embedsWorkerMain.js +0 -1067
  1720. package/static/95c7ea1/packages/embeds-worker/dist/embedsWorkerMain.js.map +0 -1
  1721. package/static/95c7ea1/packages/embeds-worker/src/embedsWorkerMain.ts +0 -3
  1722. package/static/95c7ea1/packages/embeds-worker/src/parts/Assert/Assert.ts +0 -94
  1723. package/static/95c7ea1/packages/embeds-worker/src/parts/AssertionError/AssertionError.ts +0 -6
  1724. package/static/95c7ea1/packages/embeds-worker/src/parts/Callback/Callback.ts +0 -1
  1725. package/static/95c7ea1/packages/embeds-worker/src/parts/Command/Command.ts +0 -10
  1726. package/static/95c7ea1/packages/embeds-worker/src/parts/CommandMap/CommandMap.ts +0 -26
  1727. package/static/95c7ea1/packages/embeds-worker/src/parts/CommandState/CommandState.ts +0 -17
  1728. package/static/95c7ea1/packages/embeds-worker/src/parts/ElectronWebContentsView/ElectronWebContentsView.ts +0 -117
  1729. package/static/95c7ea1/packages/embeds-worker/src/parts/EmbedsProcess/EmbedsProcess.ts +0 -25
  1730. package/static/95c7ea1/packages/embeds-worker/src/parts/Exit/Exit.ts +0 -3
  1731. package/static/95c7ea1/packages/embeds-worker/src/parts/GetPortTuple/GetPortTuple.ts +0 -4
  1732. package/static/95c7ea1/packages/embeds-worker/src/parts/HandleIpc/HandleIpc.ts +0 -35
  1733. package/static/95c7ea1/packages/embeds-worker/src/parts/IpcChild/IpcChild.ts +0 -13
  1734. package/static/95c7ea1/packages/embeds-worker/src/parts/IpcChildModule/IpcChildModule.ts +0 -14
  1735. package/static/95c7ea1/packages/embeds-worker/src/parts/IpcChildType/IpcChildType.ts +0 -14
  1736. package/static/95c7ea1/packages/embeds-worker/src/parts/IpcId/IpcId.ts +0 -4
  1737. package/static/95c7ea1/packages/embeds-worker/src/parts/IpcParent/IpcParent.ts +0 -7
  1738. package/static/95c7ea1/packages/embeds-worker/src/parts/IpcParentWithElectronMessagePort/IpcParentWithElectronMessagePort.ts +0 -39
  1739. package/static/95c7ea1/packages/embeds-worker/src/parts/IpcState/IpcState.ts +0 -14
  1740. package/static/95c7ea1/packages/embeds-worker/src/parts/JsonRpc/JsonRpc.ts +0 -2
  1741. package/static/95c7ea1/packages/embeds-worker/src/parts/LaunchEmbedsProcessIpc/LaunchEmbedsProcessIpc.ts +0 -10
  1742. package/static/95c7ea1/packages/embeds-worker/src/parts/Listen/Listen.ts +0 -13
  1743. package/static/95c7ea1/packages/embeds-worker/src/parts/LoadErrorCode/LoadErrorCode.ts +0 -3
  1744. package/static/95c7ea1/packages/embeds-worker/src/parts/Main/Main.ts +0 -5
  1745. package/static/95c7ea1/packages/embeds-worker/src/parts/ProcessName/ProcessName.ts +0 -1
  1746. package/static/95c7ea1/packages/embeds-worker/src/parts/Rpc/Rpc.ts +0 -21
  1747. package/static/95c7ea1/packages/explorer-worker/dist/explorerViewWorkerMain.js +0 -2730
  1748. package/static/95c7ea1/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js +0 -989
  1749. package/static/95c7ea1/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js.map +0 -1
  1750. package/static/95c7ea1/packages/extension-host-sub-worker/src/extensionHostSubWorkerMain.js +0 -3
  1751. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/Ajax/Ajax.js +0 -14
  1752. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/Assert/Assert.js +0 -71
  1753. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/AssetDir/AssetDir.js +0 -16
  1754. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/Callback/Callback.js +0 -42
  1755. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/Character/Character.js +0 -11
  1756. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/CleanImportError/CleanImportError.js +0 -20
  1757. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/CodeFrameColumns/CodeFrameColumns.js +0 -126
  1758. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/Command/Command.js +0 -10
  1759. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/CommandMap/CommandMap.js +0 -5
  1760. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/CommandState/CommandState.js +0 -17
  1761. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/ErrorType/ErrorType.js +0 -4
  1762. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/GetData/GetData.js +0 -3
  1763. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/GetErrorConstructor/GetErrorConstructor.js +0 -28
  1764. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/GetErrorResponse/GetErrorResponse.js +0 -33
  1765. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/GetModulesErrorStack/GetModulesErrorStack.js +0 -49
  1766. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/GetNewLineIndex/GetNewLineIndex.js +0 -9
  1767. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/GetResponse/GetResponse.js +0 -11
  1768. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/GetSuccessResponse/GetSuccessResponse.js +0 -9
  1769. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/HandleIpc/HandleIpc.js +0 -12
  1770. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/HandleJsonRpcMessage/HandleJsonRpcMessage.js +0 -10
  1771. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/Id/Id.js +0 -7
  1772. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/ImportScript/ImportScript.js +0 -12
  1773. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/IpcChild/IpcChild.js +0 -8
  1774. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/IpcChildModule/IpcChildModule.js +0 -12
  1775. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/IpcChildType/IpcChildType.js +0 -18
  1776. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/IpcChildWithMessagePort/IpcChildWithMessagePort.js +0 -24
  1777. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/IpcChildWithModuleWorker/IpcChildWithModuleWorker.js +0 -40
  1778. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/IpcChildWithModuleWorkerAndMessagePort/IpcChildWithModuleWorkerAndMessagePort.js +0 -54
  1779. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/IpcError/IpcError.js +0 -6
  1780. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/JoinLines/JoinLines.js +0 -3
  1781. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/JsonRpc/JsonRpc.js +0 -16
  1782. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/JsonRpcError/JsonRpcError.js +0 -6
  1783. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/JsonRpcErrorCode/JsonRpcErrorCode.js +0 -2
  1784. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/JsonRpcEvent/JsonRpcEvent.js +0 -9
  1785. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/JsonRpcRequest/JsonRpcRequest.js +0 -16
  1786. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/JsonRpcVersion/JsonRpcVersion.js +0 -1
  1787. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/Listen/Listen.js +0 -19
  1788. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/LoadFile/LoadFile.js +0 -14
  1789. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/LoadKy/LoadKy.js +0 -11
  1790. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/Main/Main.js +0 -5
  1791. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/MergeStacks/MergeStacks.js +0 -20
  1792. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/NormalizeErrorLine/NormalizeErrorLine.js +0 -9
  1793. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/Platform/Platform.js +0 -19
  1794. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/PlatformType/PlatformType.js +0 -5
  1795. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/PrettyError/PrettyError.js +0 -139
  1796. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/PrintPrettyError/PrintPrettyError.js +0 -3
  1797. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/ProcessName/ProcessName.js +0 -1
  1798. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/RestoreJsonRpcError/RestoreJsonRpcError.js +0 -78
  1799. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/SplitLines/SplitLines.js +0 -11
  1800. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/UnwrapJsonRpcResult/UnwrapJsonRpcResult.js +0 -13
  1801. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/VError/VError.js +0 -27
  1802. package/static/95c7ea1/packages/extension-host-sub-worker/src/parts/WaitForFirstMessage/WaitForFirstMessage.js +0 -13
  1803. package/static/95c7ea1/packages/extension-host-worker/dist/extensionHostWorkerMain.js +0 -3813
  1804. package/static/95c7ea1/packages/extension-search-view-worker/dist/extensionSearchViewWorkerMain.js +0 -1468
  1805. package/static/95c7ea1/packages/file-search-worker/dist/fileSearchWorkerMain.js +0 -1835
  1806. package/static/95c7ea1/packages/iframe-worker/dist/iframeWorkerMain.js +0 -1349
  1807. package/static/95c7ea1/packages/keybindings-view-worker/dist/keyBindingsViewWorkerMain.js +0 -1915
  1808. package/static/95c7ea1/packages/renderer-process/LICENSE +0 -21
  1809. package/static/95c7ea1/packages/renderer-process/README.md +0 -1
  1810. package/static/95c7ea1/packages/renderer-process/dist/rendererProcessMain.js +0 -11834
  1811. package/static/95c7ea1/packages/renderer-process/package.json +0 -27
  1812. package/static/95c7ea1/packages/renderer-worker/dist/rendererWorkerMain.js +0 -39165
  1813. package/static/95c7ea1/packages/syntax-highlighting-worker/dist/syntaxHighlightingWorkerMain.js +0 -1109
  1814. package/static/95c7ea1/packages/terminal-worker/dist/terminalWorkerMain.js +0 -2971
  1815. package/static/95c7ea1/packages/test-worker/dist/testWorkerMain.js +0 -2140
  1816. package/static/95c7ea1/packages/text-search-worker/dist/textSearchWorkerMain.js +0 -4267
  1817. package/static/95c7ea1/playground/languages/index.cpp +0 -22
  1818. package/static/95c7ea1/playground/languages/index.css +0 -19
  1819. package/static/95c7ea1/playground/languages/index.csv +0 -3
  1820. package/static/95c7ea1/playground/languages/index.dart +0 -3
  1821. package/static/95c7ea1/playground/languages/index.env +0 -1
  1822. package/static/95c7ea1/playground/languages/index.ex +0 -8
  1823. package/static/95c7ea1/playground/languages/index.html +0 -1
  1824. package/static/95c7ea1/playground/languages/index.java +0 -5
  1825. package/static/95c7ea1/playground/languages/index.jl +0 -14
  1826. package/static/95c7ea1/playground/languages/index.js +0 -3
  1827. package/static/95c7ea1/playground/languages/index.json +0 -3
  1828. package/static/95c7ea1/playground/languages/index.kt +0 -3
  1829. package/static/95c7ea1/playground/languages/index.pl +0 -11
  1830. package/static/95c7ea1/playground/languages/index.py +0 -25
  1831. package/static/95c7ea1/playground/languages/index.ts +0 -3
  1832. package/static/95c7ea1/playground/languages/scrolling.txt +0 -100
  1833. package/static/95c7ea1/playground/languages/tsconfig.json +0 -24
  1834. package/static/95c7ea1/playground/sample-folder/a.txt +0 -0
  1835. package/static/95c7ea1/playground/sample-folder/b.txt +0 -0
  1836. package/static/95c7ea1/playground/sample-folder/c.txt +0 -0
  1837. package/static/favicon.ico +0 -0
  1838. package/static/index.html +0 -14
@@ -1,4267 +0,0 @@
1
- const Two = '2.0';
2
- const create$4$1 = (method, params) => {
3
- return {
4
- jsonrpc: Two,
5
- method,
6
- params
7
- };
8
- };
9
- const state$4 = {
10
- callbacks: Object.create(null)
11
- };
12
- const set$1 = (id, fn) => {
13
- state$4.callbacks[id] = fn;
14
- };
15
- const get$1 = id => {
16
- return state$4.callbacks[id];
17
- };
18
- const remove$1 = id => {
19
- delete state$4.callbacks[id];
20
- };
21
- let id = 0;
22
- const create$3$1 = () => {
23
- return ++id;
24
- };
25
- const warn = (...args) => {
26
- console.warn(...args);
27
- };
28
- const registerPromise = () => {
29
- const id = create$3$1();
30
- const {
31
- resolve,
32
- promise
33
- } = Promise.withResolvers();
34
- set$1(id, resolve);
35
- return {
36
- id,
37
- promise
38
- };
39
- };
40
- const resolve = (id, response) => {
41
- const fn = get$1(id);
42
- if (!fn) {
43
- console.log(response);
44
- warn(`callback ${id} may already be disposed`);
45
- return;
46
- }
47
- fn(response);
48
- remove$1(id);
49
- };
50
- const create$2$2 = (method, params) => {
51
- const {
52
- id,
53
- promise
54
- } = registerPromise();
55
- const message = {
56
- jsonrpc: Two,
57
- method,
58
- params,
59
- id
60
- };
61
- return {
62
- message,
63
- promise
64
- };
65
- };
66
- class JsonRpcError extends Error {
67
- constructor(message) {
68
- super(message);
69
- this.name = 'JsonRpcError';
70
- }
71
- }
72
- const NewLine$3 = '\n';
73
- const DomException = 'DOMException';
74
- const ReferenceError$1 = 'ReferenceError';
75
- const SyntaxError$1 = 'SyntaxError';
76
- const TypeError$1 = 'TypeError';
77
- const getErrorConstructor = (message, type) => {
78
- if (type) {
79
- switch (type) {
80
- case DomException:
81
- return DOMException;
82
- case TypeError$1:
83
- return TypeError;
84
- case SyntaxError$1:
85
- return SyntaxError;
86
- case ReferenceError$1:
87
- return ReferenceError;
88
- default:
89
- return Error;
90
- }
91
- }
92
- if (message.startsWith('TypeError: ')) {
93
- return TypeError;
94
- }
95
- if (message.startsWith('SyntaxError: ')) {
96
- return SyntaxError;
97
- }
98
- if (message.startsWith('ReferenceError: ')) {
99
- return ReferenceError;
100
- }
101
- return Error;
102
- };
103
- const constructError = (message, type, name) => {
104
- const ErrorConstructor = getErrorConstructor(message, type);
105
- if (ErrorConstructor === DOMException && name) {
106
- return new ErrorConstructor(message, name);
107
- }
108
- if (ErrorConstructor === Error) {
109
- const error = new Error(message);
110
- if (name && name !== 'VError') {
111
- error.name = name;
112
- }
113
- return error;
114
- }
115
- return new ErrorConstructor(message);
116
- };
117
- const getNewLineIndex$2 = (string, startIndex = undefined) => {
118
- return string.indexOf(NewLine$3, startIndex);
119
- };
120
- const getParentStack = error => {
121
- let parentStack = error.stack || error.data || error.message || '';
122
- if (parentStack.startsWith(' at')) {
123
- parentStack = error.message + NewLine$3 + parentStack;
124
- }
125
- return parentStack;
126
- };
127
- const joinLines$1 = lines => {
128
- return lines.join(NewLine$3);
129
- };
130
- const MethodNotFound = -32601;
131
- const Custom = -32001;
132
- const splitLines$2 = lines => {
133
- return lines.split(NewLine$3);
134
- };
135
- const restoreJsonRpcError = error => {
136
- if (error && error instanceof Error) {
137
- return error;
138
- }
139
- const currentStack = joinLines$1(splitLines$2(new Error().stack || '').slice(1));
140
- if (error && error.code && error.code === MethodNotFound) {
141
- const restoredError = new JsonRpcError(error.message);
142
- const parentStack = getParentStack(error);
143
- restoredError.stack = parentStack + NewLine$3 + currentStack;
144
- return restoredError;
145
- }
146
- if (error && error.message) {
147
- const restoredError = constructError(error.message, error.type, error.name);
148
- if (error.data) {
149
- if (error.data.stack && error.data.type && error.message) {
150
- restoredError.stack = error.data.type + ': ' + error.message + NewLine$3 + error.data.stack + NewLine$3 + currentStack;
151
- } else if (error.data.stack) {
152
- restoredError.stack = error.data.stack;
153
- }
154
- if (error.data.codeFrame) {
155
- // @ts-ignore
156
- restoredError.codeFrame = error.data.codeFrame;
157
- }
158
- if (error.data.code) {
159
- // @ts-ignore
160
- restoredError.code = error.data.code;
161
- }
162
- if (error.data.type) {
163
- // @ts-ignore
164
- restoredError.name = error.data.type;
165
- }
166
- } else {
167
- if (error.stack) {
168
- const lowerStack = restoredError.stack || '';
169
- // @ts-ignore
170
- const indexNewLine = getNewLineIndex$2(lowerStack);
171
- const parentStack = getParentStack(error);
172
- // @ts-ignore
173
- restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
174
- }
175
- if (error.codeFrame) {
176
- // @ts-ignore
177
- restoredError.codeFrame = error.codeFrame;
178
- }
179
- }
180
- return restoredError;
181
- }
182
- if (typeof error === 'string') {
183
- return new Error(`JsonRpc Error: ${error}`);
184
- }
185
- return new Error(`JsonRpc Error: ${error}`);
186
- };
187
- const unwrapJsonRpcResult = responseMessage => {
188
- if ('error' in responseMessage) {
189
- const restoredError = restoreJsonRpcError(responseMessage.error);
190
- throw restoredError;
191
- }
192
- if ('result' in responseMessage) {
193
- return responseMessage.result;
194
- }
195
- throw new JsonRpcError('unexpected response message');
196
- };
197
- const E_COMMAND_NOT_FOUND = 'E_COMMAND_NOT_FOUND';
198
- const getErrorType = prettyError => {
199
- if (prettyError && prettyError.type) {
200
- return prettyError.type;
201
- }
202
- if (prettyError && prettyError.constructor && prettyError.constructor.name) {
203
- return prettyError.constructor.name;
204
- }
205
- return undefined;
206
- };
207
- const getErrorProperty = (error, prettyError) => {
208
- if (error && error.code === E_COMMAND_NOT_FOUND) {
209
- return {
210
- code: MethodNotFound,
211
- message: error.message,
212
- data: error.stack
213
- };
214
- }
215
- return {
216
- code: Custom,
217
- message: prettyError.message,
218
- data: {
219
- stack: prettyError.stack,
220
- codeFrame: prettyError.codeFrame,
221
- type: getErrorType(prettyError),
222
- code: prettyError.code,
223
- name: prettyError.name
224
- }
225
- };
226
- };
227
- const create$1$2 = (message, error) => {
228
- return {
229
- jsonrpc: Two,
230
- id: message.id,
231
- error
232
- };
233
- };
234
- const getErrorResponse = (message, error, preparePrettyError, logError) => {
235
- const prettyError = preparePrettyError(error);
236
- logError(error, prettyError);
237
- const errorProperty = getErrorProperty(error, prettyError);
238
- return create$1$2(message, errorProperty);
239
- };
240
- const create$5 = (message, result) => {
241
- return {
242
- jsonrpc: Two,
243
- id: message.id,
244
- result: result ?? null
245
- };
246
- };
247
- const getSuccessResponse = (message, result) => {
248
- const resultProperty = result ?? null;
249
- return create$5(message, resultProperty);
250
- };
251
- const getResponse = async (message, ipc, execute, preparePrettyError, logError, requiresSocket) => {
252
- try {
253
- const result = requiresSocket(message.method) ? await execute(message.method, ipc, ...message.params) : await execute(message.method, ...message.params);
254
- return getSuccessResponse(message, result);
255
- } catch (error) {
256
- return getErrorResponse(message, error, preparePrettyError, logError);
257
- }
258
- };
259
- const defaultPreparePrettyError = error => {
260
- return error;
261
- };
262
- const defaultLogError = () => {
263
- // ignore
264
- };
265
- const defaultRequiresSocket = () => {
266
- return false;
267
- };
268
- const defaultResolve = resolve;
269
-
270
- // TODO maybe remove this in v6 or v7, only accept options object to simplify the code
271
- const normalizeParams = args => {
272
- if (args.length === 1) {
273
- const options = args[0];
274
- return {
275
- ipc: options.ipc,
276
- message: options.message,
277
- execute: options.execute,
278
- resolve: options.resolve || defaultResolve,
279
- preparePrettyError: options.preparePrettyError || defaultPreparePrettyError,
280
- logError: options.logError || defaultLogError,
281
- requiresSocket: options.requiresSocket || defaultRequiresSocket
282
- };
283
- }
284
- return {
285
- ipc: args[0],
286
- message: args[1],
287
- execute: args[2],
288
- resolve: args[3],
289
- preparePrettyError: args[4],
290
- logError: args[5],
291
- requiresSocket: args[6]
292
- };
293
- };
294
- const handleJsonRpcMessage = async (...args) => {
295
- const options = normalizeParams(args);
296
- const {
297
- message,
298
- ipc,
299
- execute,
300
- resolve,
301
- preparePrettyError,
302
- logError,
303
- requiresSocket
304
- } = options;
305
- if ('id' in message) {
306
- if ('method' in message) {
307
- const response = await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
308
- try {
309
- ipc.send(response);
310
- } catch (error) {
311
- const errorResponse = getErrorResponse(message, error, preparePrettyError, logError);
312
- ipc.send(errorResponse);
313
- }
314
- return;
315
- }
316
- resolve(message.id, message);
317
- return;
318
- }
319
- if ('method' in message) {
320
- await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
321
- return;
322
- }
323
- throw new JsonRpcError('unexpected message');
324
- };
325
- const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
326
- const {
327
- message,
328
- promise
329
- } = create$2$2(method, params);
330
- if (useSendAndTransfer && ipc.sendAndTransfer) {
331
- ipc.sendAndTransfer(message);
332
- } else {
333
- ipc.send(message);
334
- }
335
- const responseMessage = await promise;
336
- return unwrapJsonRpcResult(responseMessage);
337
- };
338
- const send = (transport, method, ...params) => {
339
- const message = create$4$1(method, params);
340
- transport.send(message);
341
- };
342
- const invoke$3 = (ipc, method, ...params) => {
343
- return invokeHelper(ipc, method, params, false);
344
- };
345
- const invokeAndTransfer$1 = (ipc, method, ...params) => {
346
- return invokeHelper(ipc, method, params, true);
347
- };
348
-
349
- const commands = Object.create(null);
350
- const register = commandMap => {
351
- Object.assign(commands, commandMap);
352
- };
353
- const getCommand = key => {
354
- return commands[key];
355
- };
356
- const execute = (command, ...args) => {
357
- const fn = getCommand(command);
358
- if (!fn) {
359
- throw new Error(`command not found ${command}`);
360
- }
361
- return fn(...args);
362
- };
363
-
364
- const getData$1 = event => {
365
- return event.data;
366
- };
367
- const attachEvents = that => {
368
- const handleMessage = (...args) => {
369
- const data = that.getData(...args);
370
- that.dispatchEvent(new MessageEvent('message', {
371
- data
372
- }));
373
- };
374
- that.onMessage(handleMessage);
375
- const handleClose = event => {
376
- that.dispatchEvent(new Event('close'));
377
- };
378
- that.onClose(handleClose);
379
- };
380
- class Ipc extends EventTarget {
381
- constructor(rawIpc) {
382
- super();
383
- this._rawIpc = rawIpc;
384
- attachEvents(this);
385
- }
386
- }
387
- const readyMessage = 'ready';
388
- const walkValue = (value, transferrables, isTransferrable) => {
389
- if (!value) {
390
- return;
391
- }
392
- if (isTransferrable(value)) {
393
- transferrables.push(value);
394
- return;
395
- }
396
- if (Array.isArray(value)) {
397
- for (const item of value) {
398
- walkValue(item, transferrables, isTransferrable);
399
- }
400
- return;
401
- }
402
- if (typeof value === 'object') {
403
- for (const property of Object.values(value)) {
404
- walkValue(property, transferrables, isTransferrable);
405
- }
406
- return;
407
- }
408
- };
409
- const isMessagePort = value => {
410
- return value && value instanceof MessagePort;
411
- };
412
- const isMessagePortMain = value => {
413
- return value && value.constructor && value.constructor.name === 'MessagePortMain';
414
- };
415
- const isOffscreenCanvas = value => {
416
- return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
417
- };
418
- const isInstanceOf = (value, constructorName) => {
419
- return value?.constructor?.name === constructorName;
420
- };
421
- const isSocket = value => {
422
- return isInstanceOf(value, 'Socket');
423
- };
424
- const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
425
- const isTransferrable = value => {
426
- for (const fn of transferrables) {
427
- if (fn(value)) {
428
- return true;
429
- }
430
- }
431
- return false;
432
- };
433
- const getTransferrables = value => {
434
- const transferrables = [];
435
- walkValue(value, transferrables, isTransferrable);
436
- return transferrables;
437
- };
438
- const listen$2 = () => {
439
- // @ts-ignore
440
- if (typeof WorkerGlobalScope === 'undefined') {
441
- throw new TypeError('module is not in web worker scope');
442
- }
443
- return globalThis;
444
- };
445
- const signal$2 = global => {
446
- global.postMessage(readyMessage);
447
- };
448
- class IpcChildWithModuleWorker extends Ipc {
449
- getData(event) {
450
- return getData$1(event);
451
- }
452
- send(message) {
453
- // @ts-ignore
454
- this._rawIpc.postMessage(message);
455
- }
456
- sendAndTransfer(message) {
457
- const transfer = getTransferrables(message);
458
- // @ts-ignore
459
- this._rawIpc.postMessage(message, transfer);
460
- }
461
- dispose() {
462
- // ignore
463
- }
464
- onClose(callback) {
465
- // ignore
466
- }
467
- onMessage(callback) {
468
- this._rawIpc.addEventListener('message', callback);
469
- }
470
- }
471
- const wrap$5 = global => {
472
- return new IpcChildWithModuleWorker(global);
473
- };
474
- const E_INCOMPATIBLE_NATIVE_MODULE = 'E_INCOMPATIBLE_NATIVE_MODULE';
475
- const E_MODULES_NOT_SUPPORTED_IN_ELECTRON = 'E_MODULES_NOT_SUPPORTED_IN_ELECTRON';
476
- const ERR_MODULE_NOT_FOUND = 'ERR_MODULE_NOT_FOUND';
477
- const NewLine$1 = '\n';
478
- const joinLines = lines => {
479
- return lines.join(NewLine$1);
480
- };
481
- const splitLines$1 = lines => {
482
- return lines.split(NewLine$1);
483
- };
484
- const isModuleNotFoundMessage = line => {
485
- return line.includes('[ERR_MODULE_NOT_FOUND]');
486
- };
487
- const getModuleNotFoundError = stderr => {
488
- const lines = splitLines$1(stderr);
489
- const messageIndex = lines.findIndex(isModuleNotFoundMessage);
490
- const message = lines[messageIndex];
491
- return {
492
- message,
493
- code: ERR_MODULE_NOT_FOUND
494
- };
495
- };
496
- const RE_NATIVE_MODULE_ERROR = /^innerError Error: Cannot find module '.*.node'/;
497
- const RE_NATIVE_MODULE_ERROR_2 = /was compiled against a different Node.js version/;
498
- const RE_MESSAGE_CODE_BLOCK_START = /^Error: The module '.*'$/;
499
- const RE_MESSAGE_CODE_BLOCK_END = /^\s* at/;
500
- const RE_AT = /^\s+at/;
501
- const RE_AT_PROMISE_INDEX = /^\s*at async Promise.all \(index \d+\)$/;
502
- const isUnhelpfulNativeModuleError = stderr => {
503
- return RE_NATIVE_MODULE_ERROR.test(stderr) && RE_NATIVE_MODULE_ERROR_2.test(stderr);
504
- };
505
- const isMessageCodeBlockStartIndex = line => {
506
- return RE_MESSAGE_CODE_BLOCK_START.test(line);
507
- };
508
- const isMessageCodeBlockEndIndex = line => {
509
- return RE_MESSAGE_CODE_BLOCK_END.test(line);
510
- };
511
- const getMessageCodeBlock = stderr => {
512
- const lines = splitLines$1(stderr);
513
- const startIndex = lines.findIndex(isMessageCodeBlockStartIndex);
514
- const endIndex = startIndex + lines.slice(startIndex).findIndex(isMessageCodeBlockEndIndex, startIndex);
515
- const relevantLines = lines.slice(startIndex, endIndex);
516
- const relevantMessage = relevantLines.join(' ').slice('Error: '.length);
517
- return relevantMessage;
518
- };
519
- const getNativeModuleErrorMessage = stderr => {
520
- const message = getMessageCodeBlock(stderr);
521
- return {
522
- message: `Incompatible native node module: ${message}`,
523
- code: E_INCOMPATIBLE_NATIVE_MODULE
524
- };
525
- };
526
- const isModulesSyntaxError = stderr => {
527
- if (!stderr) {
528
- return false;
529
- }
530
- return stderr.includes('SyntaxError: Cannot use import statement outside a module');
531
- };
532
- const getModuleSyntaxError = () => {
533
- return {
534
- message: `ES Modules are not supported in electron`,
535
- code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON
536
- };
537
- };
538
- const isModuleNotFoundError = stderr => {
539
- if (!stderr) {
540
- return false;
541
- }
542
- return stderr.includes('ERR_MODULE_NOT_FOUND');
543
- };
544
- const isNormalStackLine = line => {
545
- return RE_AT.test(line) && !RE_AT_PROMISE_INDEX.test(line);
546
- };
547
- const getDetails = lines => {
548
- const index = lines.findIndex(isNormalStackLine);
549
- if (index === -1) {
550
- return {
551
- actualMessage: joinLines(lines),
552
- rest: []
553
- };
554
- }
555
- let lastIndex = index - 1;
556
- while (++lastIndex < lines.length) {
557
- if (!isNormalStackLine(lines[lastIndex])) {
558
- break;
559
- }
560
- }
561
- return {
562
- actualMessage: lines[index - 1],
563
- rest: lines.slice(index, lastIndex)
564
- };
565
- };
566
- const getHelpfulChildProcessError = (stdout, stderr) => {
567
- if (isUnhelpfulNativeModuleError(stderr)) {
568
- return getNativeModuleErrorMessage(stderr);
569
- }
570
- if (isModulesSyntaxError(stderr)) {
571
- return getModuleSyntaxError();
572
- }
573
- if (isModuleNotFoundError(stderr)) {
574
- return getModuleNotFoundError(stderr);
575
- }
576
- const lines = splitLines$1(stderr);
577
- const {
578
- actualMessage,
579
- rest
580
- } = getDetails(lines);
581
- return {
582
- message: `${actualMessage}`,
583
- code: '',
584
- stack: rest
585
- };
586
- };
587
- const normalizeLine$1 = line => {
588
- if (line.startsWith('Error: ')) {
589
- return line.slice('Error: '.length);
590
- }
591
- if (line.startsWith('VError: ')) {
592
- return line.slice('VError: '.length);
593
- }
594
- return line;
595
- };
596
- const getCombinedMessage$1 = (error, message) => {
597
- const stringifiedError = normalizeLine$1(`${error}`);
598
- if (message) {
599
- return `${message}: ${stringifiedError}`;
600
- }
601
- return stringifiedError;
602
- };
603
- const NewLine$2 = '\n';
604
- const getNewLineIndex$1 = (string, startIndex = undefined) => {
605
- return string.indexOf(NewLine$2, startIndex);
606
- };
607
- const mergeStacks$1 = (parent, child) => {
608
- if (!child) {
609
- return parent;
610
- }
611
- const parentNewLineIndex = getNewLineIndex$1(parent);
612
- const childNewLineIndex = getNewLineIndex$1(child);
613
- if (childNewLineIndex === -1) {
614
- return parent;
615
- }
616
- const parentFirstLine = parent.slice(0, parentNewLineIndex);
617
- const childRest = child.slice(childNewLineIndex);
618
- const childFirstLine = normalizeLine$1(child.slice(0, childNewLineIndex));
619
- if (parentFirstLine.includes(childFirstLine)) {
620
- return parentFirstLine + childRest;
621
- }
622
- return child;
623
- };
624
- let VError$1 = class VError extends Error {
625
- constructor(error, message) {
626
- const combinedMessage = getCombinedMessage$1(error, message);
627
- super(combinedMessage);
628
- this.name = 'VError';
629
- if (error instanceof Error) {
630
- this.stack = mergeStacks$1(this.stack, error.stack);
631
- }
632
- if (error.codeFrame) {
633
- // @ts-ignore
634
- this.codeFrame = error.codeFrame;
635
- }
636
- if (error.code) {
637
- // @ts-ignore
638
- this.code = error.code;
639
- }
640
- }
641
- };
642
- class IpcError extends VError$1 {
643
- // @ts-ignore
644
- constructor(betterMessage, stdout = '', stderr = '') {
645
- if (stdout || stderr) {
646
- // @ts-ignore
647
- const {
648
- message,
649
- code,
650
- stack
651
- } = getHelpfulChildProcessError(stdout, stderr);
652
- const cause = new Error(message);
653
- // @ts-ignore
654
- cause.code = code;
655
- cause.stack = stack;
656
- super(cause, betterMessage);
657
- } else {
658
- super(betterMessage);
659
- }
660
- // @ts-ignore
661
- this.name = 'IpcError';
662
- // @ts-ignore
663
- this.stdout = stdout;
664
- // @ts-ignore
665
- this.stderr = stderr;
666
- }
667
- }
668
- const withResolvers = () => {
669
- let _resolve;
670
- const promise = new Promise(resolve => {
671
- _resolve = resolve;
672
- });
673
- return {
674
- resolve: _resolve,
675
- promise
676
- };
677
- };
678
- const waitForFirstMessage = async port => {
679
- const {
680
- resolve,
681
- promise
682
- } = withResolvers();
683
- port.addEventListener('message', resolve, {
684
- once: true
685
- });
686
- const event = await promise;
687
- // @ts-ignore
688
- return event.data;
689
- };
690
- const listen$1$1 = async () => {
691
- const parentIpcRaw = listen$2();
692
- signal$2(parentIpcRaw);
693
- const parentIpc = wrap$5(parentIpcRaw);
694
- const firstMessage = await waitForFirstMessage(parentIpc);
695
- if (firstMessage.method !== 'initialize') {
696
- throw new IpcError('unexpected first message');
697
- }
698
- const type = firstMessage.params[0];
699
- if (type === 'message-port') {
700
- parentIpc.send({
701
- jsonrpc: '2.0',
702
- id: firstMessage.id,
703
- result: null
704
- });
705
- parentIpc.dispose();
706
- const port = firstMessage.params[1];
707
- return port;
708
- }
709
- return globalThis;
710
- };
711
- class IpcChildWithModuleWorkerAndMessagePort extends Ipc {
712
- constructor(port) {
713
- super(port);
714
- }
715
- getData(event) {
716
- return getData$1(event);
717
- }
718
- send(message) {
719
- this._rawIpc.postMessage(message);
720
- }
721
- sendAndTransfer(message) {
722
- const transfer = getTransferrables(message);
723
- this._rawIpc.postMessage(message, transfer);
724
- }
725
- dispose() {
726
- if (this._rawIpc.close) {
727
- this._rawIpc.close();
728
- }
729
- }
730
- onClose(callback) {
731
- // ignore
732
- }
733
- onMessage(callback) {
734
- this._rawIpc.addEventListener('message', callback);
735
- this._rawIpc.start();
736
- }
737
- }
738
- const wrap$4 = port => {
739
- return new IpcChildWithModuleWorkerAndMessagePort(port);
740
- };
741
- const IpcChildWithModuleWorkerAndMessagePort$1 = {
742
- __proto__: null,
743
- listen: listen$1$1,
744
- wrap: wrap$4
745
- };
746
- const Message$1 = 3;
747
- const addListener = (emitter, type, callback) => {
748
- if ('addEventListener' in emitter) {
749
- emitter.addEventListener(type, callback);
750
- } else {
751
- emitter.on(type, callback);
752
- }
753
- };
754
- const removeListener = (emitter, type, callback) => {
755
- if ('removeEventListener' in emitter) {
756
- emitter.removeEventListener(type, callback);
757
- } else {
758
- emitter.off(type, callback);
759
- }
760
- };
761
- const getFirstEvent = (eventEmitter, eventMap) => {
762
- const {
763
- resolve,
764
- promise
765
- } = withResolvers();
766
- const listenerMap = Object.create(null);
767
- const cleanup = value => {
768
- for (const event of Object.keys(eventMap)) {
769
- removeListener(eventEmitter, event, listenerMap[event]);
770
- }
771
- resolve(value);
772
- };
773
- for (const [event, type] of Object.entries(eventMap)) {
774
- const listener = event => {
775
- cleanup({
776
- type,
777
- event
778
- });
779
- };
780
- addListener(eventEmitter, event, listener);
781
- listenerMap[event] = listener;
782
- }
783
- return promise;
784
- };
785
- const create$2$1 = async ({
786
- messagePort,
787
- isMessagePortOpen
788
- }) => {
789
- if (!isMessagePort(messagePort)) {
790
- throw new IpcError('port must be of type MessagePort');
791
- }
792
- if (isMessagePortOpen) {
793
- return messagePort;
794
- }
795
- const eventPromise = getFirstEvent(messagePort, {
796
- message: Message$1
797
- });
798
- messagePort.start();
799
- const event = await eventPromise;
800
- // @ts-ignore
801
- if (event.data !== readyMessage) {
802
- throw new IpcError('unexpected first message');
803
- }
804
- return messagePort;
805
- };
806
- const signal = messagePort => {
807
- messagePort.start();
808
- };
809
- class IpcParentWithMessagePort extends Ipc {
810
- constructor(port) {
811
- super(port);
812
- }
813
- getData = getData$1;
814
- send(message) {
815
- this._rawIpc.postMessage(message);
816
- }
817
- sendAndTransfer(message) {
818
- throw new Error('not implemented');
819
- }
820
- dispose() {
821
- this._rawIpc.close();
822
- }
823
- onMessage(callback) {
824
- this._rawIpc.addEventListener('message', callback);
825
- }
826
- onClose(callback) {}
827
- }
828
- const wrap$2 = messagePort => {
829
- return new IpcParentWithMessagePort(messagePort);
830
- };
831
- const IpcParentWithMessagePort$1 = {
832
- __proto__: null,
833
- create: create$2$1,
834
- signal,
835
- wrap: wrap$2
836
- };
837
- const Open = 1;
838
- const Close = 2;
839
- const stringifyCompact = value => {
840
- return JSON.stringify(value);
841
- };
842
- const parse = content => {
843
- if (content === 'undefined') {
844
- return null;
845
- }
846
- try {
847
- return JSON.parse(content);
848
- } catch (error) {
849
- throw new VError$1(error, 'failed to parse json');
850
- }
851
- };
852
- const waitForWebSocketToBeOpen = webSocket => {
853
- return getFirstEvent(webSocket, {
854
- open: Open,
855
- close: Close
856
- });
857
- };
858
- const create$4 = async ({
859
- webSocket
860
- }) => {
861
- const firstWebSocketEvent = await waitForWebSocketToBeOpen(webSocket);
862
- // @ts-ignore
863
- if (firstWebSocketEvent.type === Close) {
864
- throw new IpcError('Websocket connection was immediately closed');
865
- }
866
- return webSocket;
867
- };
868
- class IpcParentWithWebSocket extends Ipc {
869
- getData(event) {
870
- return parse(event.data);
871
- }
872
- send(message) {
873
- this._rawIpc.send(stringifyCompact(message));
874
- }
875
- sendAndTransfer(message) {
876
- throw new Error('sendAndTransfer not supported');
877
- }
878
- dispose() {
879
- this._rawIpc.close();
880
- }
881
- onClose(callback) {
882
- this._rawIpc.addEventListener('close', callback);
883
- }
884
- onMessage(callback) {
885
- this._rawIpc.addEventListener('message', callback);
886
- }
887
- }
888
- const wrap$1 = webSocket => {
889
- return new IpcParentWithWebSocket(webSocket);
890
- };
891
- const IpcParentWithWebSocket$1 = {
892
- __proto__: null,
893
- create: create$4,
894
- wrap: wrap$1
895
- };
896
-
897
- const createRpc = ipc => {
898
- const rpc = {
899
- /**
900
- * @deprecated
901
- */
902
- send(method, ...params) {
903
- send(ipc, method, ...params);
904
- },
905
- invoke(method, ...params) {
906
- return invoke$3(ipc, method, ...params);
907
- },
908
- invokeAndTransfer(method, ...params) {
909
- return invokeAndTransfer$1(ipc, method, ...params);
910
- }
911
- };
912
- return rpc;
913
- };
914
- const requiresSocket = () => {
915
- return false;
916
- };
917
- const preparePrettyError = error => {
918
- return error;
919
- };
920
- const logError = () => {
921
- // handled by renderer worker
922
- };
923
- const handleMessage = event => {
924
- return handleJsonRpcMessage(event.target, event.data, execute, resolve, preparePrettyError, logError, requiresSocket);
925
- };
926
- const handleIpc = ipc => {
927
- ipc.addEventListener('message', handleMessage);
928
- };
929
- const create$2 = async ({
930
- commandMap,
931
- messagePort,
932
- isMessagePortOpen
933
- }) => {
934
- // TODO create a commandMap per rpc instance
935
- register(commandMap);
936
- const rawIpc = await IpcParentWithMessagePort$1.create({
937
- messagePort,
938
- isMessagePortOpen
939
- });
940
- const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
941
- handleIpc(ipc);
942
- const rpc = createRpc(ipc);
943
- return rpc;
944
- };
945
- const MessagePortRpcParent = {
946
- __proto__: null,
947
- create: create$2
948
- };
949
- const create$1$1 = async ({
950
- commandMap,
951
- webSocket
952
- }) => {
953
- // TODO create a commandMap per rpc instance
954
- register(commandMap);
955
- const rawIpc = await IpcParentWithWebSocket$1.create({
956
- webSocket
957
- });
958
- const ipc = IpcParentWithWebSocket$1.wrap(rawIpc);
959
- handleIpc(ipc);
960
- const rpc = createRpc(ipc);
961
- return rpc;
962
- };
963
- const WebSocketRpcParent = {
964
- __proto__: null,
965
- create: create$1$1
966
- };
967
-
968
- // @ts-ignore
969
- const listen$1 = async () => {
970
- const module = IpcChildWithModuleWorkerAndMessagePort$1;
971
- const rawIpc = await module.listen();
972
- const ipc = module.wrap(rawIpc);
973
- return ipc;
974
- };
975
- const create$3 = async ({
976
- commandMap
977
- }) => {
978
- // TODO create a commandMap per rpc instance
979
- register(commandMap);
980
- const ipc = await listen$1();
981
- handleIpc(ipc);
982
- const rpc = createRpc(ipc);
983
- return rpc;
984
- };
985
- const WebWorkerRpcClient = {
986
- __proto__: null,
987
- create: create$3
988
- };
989
-
990
- const Empty$1 = 0;
991
- const FocusIgnoreFiles = 1012;
992
- const FocusSearch = 1013;
993
- const FocusSearchExcludeInput = 1008;
994
- const FocusSearchIncludeInput = 1007;
995
- const FocusSearchInput = 21;
996
- const FocusSearchMatchCase = 32;
997
- const FocusSearchOpenEditors = 1011;
998
- const FocusSearchPreserveCase = 36;
999
- const FocusSearchRegex = 33;
1000
- const FocusSearchReplaceAll = 35;
1001
- const FocusSearchReplaceInput = 31;
1002
- const FocusSearchResults = 22;
1003
- const FocusSearchWholeWord = 34;
1004
- const FocusToggleDetails = 1010;
1005
- const FocusToggleReplace = 1020;
1006
-
1007
- const User = 1;
1008
- const Script = 2;
1009
-
1010
- const clearSearchResults$1 = state => {
1011
- return {
1012
- ...state,
1013
- value: '',
1014
- items: [],
1015
- minLineY: 0,
1016
- maxLineY: 0,
1017
- message: '',
1018
- focus: FocusSearchInput,
1019
- focusSource: Script
1020
- };
1021
- };
1022
-
1023
- const state$3 = {
1024
- rpc: undefined
1025
- };
1026
- const invoke$2 = (method, ...params) => {
1027
- const rpc = state$3.rpc;
1028
- // @ts-ignore
1029
- return rpc.invoke(method, ...params);
1030
- };
1031
- const invokeAndTransfer = (method, ...params) => {
1032
- const rpc = state$3.rpc;
1033
- // @ts-ignore
1034
- return rpc.invokeAndTransfer(method, ...params);
1035
- };
1036
- const setRpc = rpc => {
1037
- state$3.rpc = rpc;
1038
- };
1039
-
1040
- const copy = async state => {
1041
- const {
1042
- items,
1043
- listFocusedIndex
1044
- } = state;
1045
- if (listFocusedIndex === -1) {
1046
- return state;
1047
- }
1048
- const item = items[listFocusedIndex];
1049
- await invoke$2('ClipBoard.writeText', item.text);
1050
- return state;
1051
- };
1052
-
1053
- const minimumSliderSize = 20;
1054
-
1055
- const states = Object.create(null);
1056
- const get = uid => {
1057
- return states[uid];
1058
- };
1059
- const set = (uid, oldState, newState) => {
1060
- states[uid] = {
1061
- oldState,
1062
- newState
1063
- };
1064
- };
1065
-
1066
- const create$1 = ({
1067
- itemHeight,
1068
- headerHeight = 0,
1069
- minimumSliderSize = 20
1070
- }) => {
1071
- return {
1072
- deltaY: 0,
1073
- minLineY: 0,
1074
- maxLineY: 0,
1075
- finalDeltaY: 0,
1076
- itemHeight,
1077
- headerHeight,
1078
- items: [],
1079
- listItems: [],
1080
- minimumSliderSize,
1081
- focusedIndex: -1,
1082
- touchOffsetY: 0,
1083
- touchTimeStamp: 0,
1084
- touchDifference: 0,
1085
- scrollBarHeight: 0,
1086
- scrollBarActive: false
1087
- };
1088
- };
1089
-
1090
- const create = (uid, x, y, width, height, workspacePath, assetDir, itemHeight, value = '', replacement = '', platform) => {
1091
- const state = {
1092
- uid,
1093
- searchResults: [],
1094
- stats: {},
1095
- searchId: -1,
1096
- value,
1097
- disposed: false,
1098
- fileCount: 0,
1099
- x,
1100
- y,
1101
- width,
1102
- height,
1103
- ...create$1({
1104
- itemHeight: itemHeight || 22,
1105
- minimumSliderSize: minimumSliderSize,
1106
- headerHeight: 61 // TODO
1107
- }),
1108
- threads: 0,
1109
- replacement,
1110
- matchCount: 0,
1111
- listFocused: false,
1112
- listFocusedIndex: -1,
1113
- inputSource: User,
1114
- workspacePath: workspacePath,
1115
- includeValue: '',
1116
- excludeValue: '',
1117
- focus: Empty$1,
1118
- loaded: false,
1119
- message: '',
1120
- collapsedPaths: [],
1121
- icons: [],
1122
- assetDir,
1123
- deltaY: 0,
1124
- finalDeltaY: 0,
1125
- focused: false,
1126
- focusedIndex: -1,
1127
- handleOffset: 0,
1128
- focusSource: User,
1129
- flags: 0,
1130
- platform
1131
- };
1132
- set(uid, state, state);
1133
- return state;
1134
- };
1135
-
1136
- // based on https://github.com/microsoft/vscode/blob/c0769274fa136b45799edeccc0d0a2f645b75caf/src/vs/base/common/arrays.ts#L625 (License MIT)
1137
-
1138
- const insertInto = (array, start, newItems) => {
1139
- const originalLength = array.length;
1140
- const newItemsLength = newItems.length;
1141
- array.length = originalLength + newItemsLength;
1142
- // Move the items after the start index, start from the end so that we don't overwrite any value.
1143
- for (let i = originalLength - 1; i >= start; i--) {
1144
- array[i + newItemsLength] = array[i];
1145
- }
1146
- for (let i = 0; i < newItemsLength; i++) {
1147
- array[i + start] = newItems[i];
1148
- }
1149
- };
1150
- const push = (array, newItems) => {
1151
- insertInto(array, array.length, newItems);
1152
- };
1153
- const isLastIndex = (array, index) => {
1154
- return index === array.length - 1;
1155
- };
1156
- const lastIndex = array => {
1157
- return array.length - 1;
1158
- };
1159
- const remove = (array, index, deleteCount) => {
1160
- return array.toSpliced(index, deleteCount);
1161
- };
1162
- const fromAsync = async asyncIterable => {
1163
- const children = [];
1164
- for await (const value of asyncIterable) {
1165
- children.push(value);
1166
- }
1167
- return children;
1168
- };
1169
-
1170
- const emptyObject = {};
1171
- const RE_PLACEHOLDER = /\{(PH\d+)\}/g;
1172
- const i18nString = (key, placeholders = emptyObject) => {
1173
- if (placeholders === emptyObject) {
1174
- return key;
1175
- }
1176
- const replacer = (match, rest) => {
1177
- return placeholders[rest];
1178
- };
1179
- return key.replaceAll(RE_PLACEHOLDER, replacer);
1180
- };
1181
-
1182
- /**
1183
- * @enum {string}
1184
- */
1185
- const UiStrings = {
1186
- ClearSearchResults: 'Clear Search Results',
1187
- CollapseAll: 'Collapse All',
1188
- ConfirmReplaceAll: 'Replace All?',
1189
- ConfirmReplaceManyOccurrencesInManyFiles: "Replace {PH1} occurrences across {PH2} files with '{PH3}'",
1190
- ConfirmReplaceManyOccurrencesInManyFilesNoValue: 'Replace {PH1} occurrences across {PH2} files',
1191
- ConfirmReplaceManyOccurrencesInOneFile: "Replace {PH1} occurrences across 1 file with '{PH2}'",
1192
- ConfirmReplaceManyOccurrencesInOneFileNoValue: 'Replace {PH1} occurrences across 1 file',
1193
- ConfirmReplaceOneOccurrenceInOneFile: "Replace 1 occurrence across 1 file with '{PH1}'",
1194
- ConfirmReplaceOneOccurrenceInOneFileNoValue: 'Replace 1 occurrence across 1 file',
1195
- CopyPath: 'Copy Path',
1196
- Dismiss: 'Dismiss',
1197
- ManyResultsInManyFiles: '{PH1} results in {PH2} files',
1198
- ManyResultsInOneFile: '{PH1} results in 1 file',
1199
- MatchCase: 'Match Case',
1200
- MatchWholeWord: 'Match Whole Word',
1201
- NoResults: 'No results found',
1202
- Oneresult: '1 result in 1 file',
1203
- OpenNewSearchEditor: 'Open New Search Editor',
1204
- PreserveCase: 'Preserve Case',
1205
- Refresh: 'Refresh',
1206
- Replace: 'Replace',
1207
- ReplaceAll: 'Replace All',
1208
- ReplacedManyOccurrencesInManyFiles: "Replaced {PH1} occurrences across {PH2} files with '{PH3}'",
1209
- ReplacedManyOccurrencesInOneFile: "Replaced {PH1} occurrences across 1 file with '{PH2}'",
1210
- ReplacedOneOccurrenceInOneFile: "Replaced 1 occurrence across 1 file with '{PH1}'",
1211
- ToggleReplace: 'Toggle Replace',
1212
- UseRegularExpression: 'Use Regular Expression',
1213
- ViewAsTree: 'View as Tree',
1214
- FilesToInclude: 'Files to Include',
1215
- FilesToExclude: 'Files to Exclude',
1216
- ToggleSearchDetails: 'Toggle Search Details',
1217
- SearchOnlyOpenEditors: 'Search Only Open Editors',
1218
- UseExcludeSettings: 'Use Exclude Settings'
1219
- };
1220
- const noResults = () => {
1221
- return i18nString(UiStrings.NoResults);
1222
- };
1223
- const oneResult = () => {
1224
- return i18nString(UiStrings.Oneresult);
1225
- };
1226
- const toggleReplace$1 = () => {
1227
- return i18nString(UiStrings.ToggleReplace);
1228
- };
1229
- const matchCase = () => {
1230
- return i18nString(UiStrings.MatchCase);
1231
- };
1232
- const preserveCase = () => {
1233
- return i18nString(UiStrings.PreserveCase);
1234
- };
1235
- const matchWholeWord = () => {
1236
- return i18nString(UiStrings.MatchWholeWord);
1237
- };
1238
- const toggleSearchDetails = () => {
1239
- return i18nString(UiStrings.ToggleSearchDetails);
1240
- };
1241
- const useRegularExpression = () => {
1242
- return i18nString(UiStrings.UseRegularExpression);
1243
- };
1244
- const manyResultsInOneFile = resultCount => {
1245
- return i18nString(UiStrings.ManyResultsInOneFile, {
1246
- PH1: resultCount
1247
- });
1248
- };
1249
- const manyResultsInManyFiles = (resultCount, fileResultCount) => {
1250
- return i18nString(UiStrings.ManyResultsInManyFiles, {
1251
- PH1: resultCount,
1252
- PH2: fileResultCount
1253
- });
1254
- };
1255
- const confirmReplaceOneOccurrenceInOneFile = replacement => {
1256
- return i18nString(UiStrings.ConfirmReplaceOneOccurrenceInOneFile, {
1257
- PH1: replacement
1258
- });
1259
- };
1260
- const confirmReplaceOneOccurrenceInOneFileNoValue = () => {
1261
- return i18nString(UiStrings.ConfirmReplaceOneOccurrenceInOneFileNoValue);
1262
- };
1263
- const confirmReplaceManyOccurrencesInOneFile = (matchCount, replacement) => {
1264
- return i18nString(UiStrings.ConfirmReplaceManyOccurrencesInOneFile, {
1265
- PH1: matchCount,
1266
- PH2: replacement
1267
- });
1268
- };
1269
- const confirmReplaceManyOccurrencesInOneFileNoValue = matchCount => {
1270
- return i18nString(UiStrings.ConfirmReplaceManyOccurrencesInOneFileNoValue, {
1271
- PH1: matchCount
1272
- });
1273
- };
1274
- const confirmReplaceManyOccurrencesInManyFiles = (matchCount, fileCount, replacement) => {
1275
- return i18nString(UiStrings.ConfirmReplaceManyOccurrencesInManyFiles, {
1276
- PH1: matchCount,
1277
- PH2: fileCount,
1278
- PH3: replacement
1279
- });
1280
- };
1281
- const confirmReplaceManyOccurrencesInManyFilesNoValue = (matchCount, fileCount) => {
1282
- return i18nString(UiStrings.ConfirmReplaceManyOccurrencesInManyFilesNoValue, {
1283
- PH1: matchCount,
1284
- PH2: fileCount
1285
- });
1286
- };
1287
- const replaceAll$1 = () => {
1288
- return i18nString(UiStrings.ReplaceAll);
1289
- };
1290
- const replace = () => {
1291
- return i18nString(UiStrings.Replace);
1292
- };
1293
- const refresh$1 = () => {
1294
- return i18nString(UiStrings.Refresh);
1295
- };
1296
- const clearSearchResults = () => {
1297
- return i18nString(UiStrings.ClearSearchResults);
1298
- };
1299
- const openNewSearchEditor = () => {
1300
- return i18nString(UiStrings.OpenNewSearchEditor);
1301
- };
1302
- const viewAsTree = () => {
1303
- return i18nString(UiStrings.ViewAsTree);
1304
- };
1305
- const collapseAll = () => {
1306
- return i18nString(UiStrings.CollapseAll);
1307
- };
1308
- const filesToInclude = () => {
1309
- return i18nString(UiStrings.FilesToInclude);
1310
- };
1311
- const filesToExclude = () => {
1312
- return i18nString(UiStrings.FilesToExclude);
1313
- };
1314
- const searchOnlyOpenEditors = () => {
1315
- return i18nString(UiStrings.SearchOnlyOpenEditors);
1316
- };
1317
- const useExcludeSettings = () => {
1318
- return i18nString(UiStrings.UseExcludeSettings);
1319
- };
1320
-
1321
- const getStatusMessage = (resultCount, fileResultCount) => {
1322
- if (resultCount === 0) {
1323
- return noResults();
1324
- }
1325
- if (resultCount === 1) {
1326
- return oneResult();
1327
- }
1328
- if (fileResultCount === 1) {
1329
- return manyResultsInOneFile(resultCount);
1330
- }
1331
- return manyResultsInManyFiles(resultCount, fileResultCount);
1332
- };
1333
-
1334
- const File$1 = 1;
1335
- const Match = 2;
1336
-
1337
- const getSetSize = (items, index) => {
1338
- let setSize = 0;
1339
- for (let i = index + 1; i < items.length; i++) {
1340
- if (items[i].type === File$1) {
1341
- break;
1342
- }
1343
- setSize++;
1344
- }
1345
- return setSize;
1346
- };
1347
- const getRemoveIndicesFile = (items, item, index, matchCount, fileCount) => {
1348
- const setSize = getSetSize(items, index);
1349
- return {
1350
- startIndex: index,
1351
- removeCount: setSize + 1,
1352
- newFocusedIndex: index + setSize + 1 < items.length ? index : index - 1,
1353
- newFileCount: fileCount - 1,
1354
- newMatchCount: matchCount - setSize
1355
- };
1356
- };
1357
- const getRemoveIndicesMatch = (items, index, matchCount, fileCount) => {
1358
- for (let i = index; i >= 0; i--) {
1359
- if (items[i].type === File$1) {
1360
- const setSize = getSetSize(items, i);
1361
- if (setSize === 1) {
1362
- return {
1363
- startIndex: i,
1364
- removeCount: 2,
1365
- newFocusedIndex: i - 1,
1366
- newFileCount: fileCount - 1,
1367
- newMatchCount: matchCount - 1
1368
- };
1369
- }
1370
- return {
1371
- startIndex: index,
1372
- removeCount: 1,
1373
- newFocusedIndex: index,
1374
- newFileCount: fileCount,
1375
- newMatchCount: matchCount - 1
1376
- };
1377
- }
1378
- }
1379
- throw new Error('could not compute indices to remove');
1380
- };
1381
- const getRemoveIndices = (items, index, matchCount, fileCount) => {
1382
- const item = items[index];
1383
- switch (item.type) {
1384
- case File$1:
1385
- return getRemoveIndicesFile(items, item, index, matchCount, fileCount);
1386
- case Match:
1387
- return getRemoveIndicesMatch(items, index, matchCount, fileCount);
1388
- default:
1389
- throw new Error('unknown search result type');
1390
- }
1391
- };
1392
- const removeItemFromItems = (items, index, matchCount, fileCount) => {
1393
- const {
1394
- startIndex,
1395
- removeCount,
1396
- newFocusedIndex,
1397
- newFileCount,
1398
- newMatchCount
1399
- } = getRemoveIndices(items, index, matchCount, fileCount);
1400
- const newItems = remove(items, startIndex, removeCount);
1401
- return {
1402
- newItems,
1403
- newFocusedIndex,
1404
- newFileCount,
1405
- newMatchCount
1406
- };
1407
- };
1408
- const getNewMinMax = (newItemsLength, minLineY, maxLineY, deltaY, itemHeight) => {
1409
- if (maxLineY > newItemsLength) {
1410
- const diff = maxLineY - minLineY;
1411
- const newMinLineY = Math.max(newItemsLength - diff, 0);
1412
- const newDeltaY = newMinLineY * itemHeight;
1413
- return {
1414
- newDeltaY,
1415
- newMinLineY,
1416
- newMaxLineY: newItemsLength
1417
- };
1418
- }
1419
- return {
1420
- newDeltaY: deltaY,
1421
- newMinLineY: minLineY,
1422
- newMaxLineY: maxLineY
1423
- };
1424
- };
1425
- const dismissItem = state => {
1426
- const {
1427
- items,
1428
- listFocusedIndex,
1429
- fileCount,
1430
- matchCount,
1431
- minLineY,
1432
- maxLineY,
1433
- deltaY,
1434
- itemHeight
1435
- } = state;
1436
- if (listFocusedIndex === -1) {
1437
- return state;
1438
- }
1439
- const {
1440
- newItems,
1441
- newFocusedIndex,
1442
- newMatchCount,
1443
- newFileCount
1444
- } = removeItemFromItems(items, listFocusedIndex, matchCount, fileCount);
1445
- const message = getStatusMessage(newMatchCount, newFileCount);
1446
- const {
1447
- newMinLineY,
1448
- newMaxLineY,
1449
- newDeltaY
1450
- } = getNewMinMax(newItems.length, minLineY, maxLineY, deltaY, itemHeight);
1451
- return {
1452
- ...state,
1453
- items: newItems,
1454
- listFocusedIndex: newFocusedIndex,
1455
- message,
1456
- matchCount: newMatchCount,
1457
- fileCount: newFileCount,
1458
- minLineY: newMinLineY,
1459
- maxLineY: newMaxLineY,
1460
- deltaY: newDeltaY
1461
- };
1462
- };
1463
-
1464
- const focusMatchCase$1 = state => {
1465
- return {
1466
- ...state,
1467
- focus: FocusSearchMatchCase
1468
- };
1469
- };
1470
-
1471
- const PreserveCase$1 = 1 << 0; // 1
1472
- const UseRegularExpression$1 = 1 << 1; // 2
1473
- const ReplaceExpanded = 1 << 2; // 4
1474
- const MatchWholeWord$1 = 1 << 3; // 8
1475
- const MatchCase$1 = 1 << 4; // 16
1476
- const DetailsExpanded = 1 << 5; // 32
1477
- const OpenEditors = 1 << 6; // 64
1478
- const UseIgnoreFiles = 1 << 7; // 128
1479
-
1480
- const hasPreserveCase = flags => {
1481
- return (flags & PreserveCase$1) === PreserveCase$1;
1482
- };
1483
- const hasUseRegularExpression = flags => {
1484
- return (flags & UseRegularExpression$1) === UseRegularExpression$1;
1485
- };
1486
- const hasReplaceExpanded = flags => {
1487
- return (flags & ReplaceExpanded) === ReplaceExpanded;
1488
- };
1489
- const hasMatchWholeWord = flags => {
1490
- return (flags & MatchWholeWord$1) === MatchWholeWord$1;
1491
- };
1492
- const hasMatchCase = flags => {
1493
- return (flags & MatchCase$1) === MatchCase$1;
1494
- };
1495
- const hasDetailsExpanded = flags => {
1496
- return (flags & DetailsExpanded) === DetailsExpanded;
1497
- };
1498
-
1499
- const getNextFocus = (focus, flags) => {
1500
- switch (focus) {
1501
- case FocusToggleReplace:
1502
- return FocusSearchInput;
1503
- case FocusSearchInput:
1504
- if (flags & ReplaceExpanded) {
1505
- return FocusSearchReplaceInput;
1506
- }
1507
- return FocusSearchMatchCase;
1508
- case FocusSearchMatchCase:
1509
- return FocusSearchWholeWord;
1510
- case FocusSearchWholeWord:
1511
- return FocusSearchRegex;
1512
- case FocusSearchRegex:
1513
- if (flags & ReplaceExpanded) {
1514
- return FocusSearchPreserveCase;
1515
- }
1516
- return FocusToggleDetails;
1517
- case FocusSearchReplaceInput:
1518
- return FocusSearchMatchCase;
1519
- case FocusSearchPreserveCase:
1520
- return FocusSearchReplaceAll;
1521
- case FocusSearchReplaceAll:
1522
- return FocusToggleDetails;
1523
- case FocusSearchIncludeInput:
1524
- return FocusSearchOpenEditors;
1525
- case FocusSearchOpenEditors:
1526
- return FocusSearchExcludeInput;
1527
- case FocusSearchExcludeInput:
1528
- return FocusIgnoreFiles;
1529
- case FocusToggleDetails:
1530
- return FocusSearchIncludeInput;
1531
- default:
1532
- return focus;
1533
- }
1534
- };
1535
-
1536
- const focusNextInput = state => {
1537
- const nextFocus = getNextFocus(state.focus, state.flags);
1538
- return {
1539
- ...state,
1540
- focus: nextFocus,
1541
- focusSource: Script
1542
- };
1543
- };
1544
-
1545
- const getPreviousFocus = (focus, flags) => {
1546
- switch (focus) {
1547
- case FocusSearchInput:
1548
- return FocusToggleReplace;
1549
- case FocusSearchMatchCase:
1550
- if (flags & ReplaceExpanded) {
1551
- return FocusSearchReplaceInput;
1552
- }
1553
- return FocusSearchInput;
1554
- case FocusSearchWholeWord:
1555
- return FocusSearchMatchCase;
1556
- case FocusSearchRegex:
1557
- return FocusSearchWholeWord;
1558
- case FocusSearchPreserveCase:
1559
- return FocusSearchRegex;
1560
- case FocusSearchReplaceInput:
1561
- return FocusSearchInput;
1562
- case FocusSearchReplaceAll:
1563
- return FocusSearchPreserveCase;
1564
- case FocusToggleDetails:
1565
- if (flags & ReplaceExpanded) {
1566
- return FocusSearchReplaceAll;
1567
- }
1568
- return FocusSearchRegex;
1569
- case FocusSearchOpenEditors:
1570
- return FocusSearchIncludeInput;
1571
- case FocusSearchExcludeInput:
1572
- return FocusSearchOpenEditors;
1573
- case FocusIgnoreFiles:
1574
- return FocusSearchExcludeInput;
1575
- case FocusSearchIncludeInput:
1576
- return FocusToggleDetails;
1577
- default:
1578
- return focus;
1579
- }
1580
- };
1581
-
1582
- const focusPreviousInput = state => {
1583
- const previousFocus = getPreviousFocus(state.focus, state.flags);
1584
- return {
1585
- ...state,
1586
- focus: previousFocus,
1587
- focusSource: Script
1588
- };
1589
- };
1590
-
1591
- const focusReplaceValue$1 = state => {
1592
- return {
1593
- ...state,
1594
- focus: FocusSearchReplaceInput,
1595
- focusSource: Script
1596
- };
1597
- };
1598
-
1599
- const focusSearchValue$1 = state => {
1600
- return {
1601
- ...state,
1602
- focus: FocusSearchInput
1603
- };
1604
- };
1605
-
1606
- const focusSearchValueNext = state => {
1607
- if (hasReplaceExpanded(state.flags)) {
1608
- return focusReplaceValue$1(state);
1609
- }
1610
- return focusMatchCase$1(state);
1611
- };
1612
-
1613
- const CheckBox = 'checkbox';
1614
- const None = 'none';
1615
- const Status = 'status';
1616
- const Tree = 'tree';
1617
- const TreeItem$1 = 'treeitem';
1618
- const ToolBar = 'toolbar';
1619
- const Button$2 = 'button';
1620
-
1621
- const Actions = 'Actions';
1622
- const Badge = 'Badge';
1623
- const Chevron = 'Chevron';
1624
- const CloseMaskIcon = 'MaskIcon MaskIconClose';
1625
- const Empty = '';
1626
- const FileIcon = 'FileIcon';
1627
- const FocusOutline = 'FocusOutline';
1628
- const Grow = 'Grow';
1629
- const Highlight = 'Highlight';
1630
- const HighlightDeleted = 'HighlightDeleted';
1631
- const HighlightInserted = 'HighlightInserted';
1632
- const IconButton = 'IconButton';
1633
- const Label = 'Label';
1634
- const List = 'List';
1635
- const MaskIcon = 'MaskIcon';
1636
- const MaskIconBook = 'MaskIconBook';
1637
- const MaskIconCaseSensitive = 'MaskIconCaseSensitive';
1638
- const MaskIconChevronDown = 'MaskIconChevronDown';
1639
- const MaskIconChevronRight = 'MaskIconChevronRight';
1640
- const MaskIconEllipsis = 'MaskIconEllipsis';
1641
- const MaskIconExclude = 'MaskIconExclude';
1642
- const MaskIconPreserveCase = 'MaskIconPreserveCase';
1643
- const MaskIconRegex = 'MaskIconRegex';
1644
- const MaskIconReplaceAll = 'MaskIconReplaceAll';
1645
- const MaskIconWholeWord = 'MaskIconWholeWord';
1646
- const MultilineInputBox = 'MultilineInputBox';
1647
- const Search$1 = 'Search';
1648
- const SearchField = 'SearchField';
1649
- const SearchFieldButton = 'SearchFieldButton';
1650
- const SearchFieldButtonChecked = 'SearchFieldButtonChecked';
1651
- const SearchFieldButtons = 'SearchFieldButtons';
1652
- const SearchFieldContainer = 'SearchFieldContainer';
1653
- const SearchHeader = 'SearchHeader';
1654
- const SearchHeaderDetails = 'SearchHeaderDetails';
1655
- const SearchHeaderDetailsExpanded = 'SearchHeaderDetailsExpanded';
1656
- const SearchHeaderDetailsExpandedTop = 'SearchHeaderDetailsExpandedTop';
1657
- const SearchHeaderDetailsHeading = 'SearchHeaderDetailsHeading';
1658
- const SearchHeaderTop = 'SearchHeaderTop';
1659
- const SearchHeaderTopRight = 'SearchHeaderTopRight';
1660
- const SearchRemove = 'SearchRemove';
1661
- const SearchToggleButton = 'SearchToggleButton';
1662
- const SearchToggleButtonExpanded = 'SearchToggleButtonExpanded';
1663
- const SourceControlBadge = 'SourceControlBadge';
1664
- const ToggleDetails = 'ToggleDetails';
1665
- const TreeItem = 'TreeItem';
1666
- const TreeItemActive = 'TreeItemActive';
1667
- const Viewlet = 'Viewlet';
1668
- const ViewletSearchMessage = 'ViewletSearchMessage';
1669
-
1670
- const Button$1 = 1;
1671
-
1672
- const Button = 1;
1673
- const Del = 21;
1674
- const Div = 4;
1675
- const H4 = 24;
1676
- const Img = 17;
1677
- const Ins = 20;
1678
- const Span = 8;
1679
- const Text = 12;
1680
- const TextArea = 62;
1681
-
1682
- const mergeClassNames = (...classNames) => {
1683
- return classNames.filter(Boolean).join(' ');
1684
- };
1685
-
1686
- const getIconVirtualDom = (icon, type = Div) => {
1687
- return {
1688
- type,
1689
- className: mergeClassNames(MaskIcon, `MaskIcon${icon}`),
1690
- role: None,
1691
- childCount: 0
1692
- };
1693
- };
1694
-
1695
- const getActionButtonVirtualDom = action => {
1696
- const {
1697
- id,
1698
- icon,
1699
- command
1700
- } = action;
1701
- return [{
1702
- type: Button,
1703
- className: IconButton,
1704
- title: id,
1705
- 'data-command': command,
1706
- childCount: 1
1707
- }, getIconVirtualDom(icon)];
1708
- };
1709
-
1710
- const getActionVirtualDom = action => {
1711
- switch (action.type) {
1712
- case Button$1:
1713
- return getActionButtonVirtualDom(action);
1714
- default:
1715
- return [];
1716
- }
1717
- };
1718
-
1719
- const getActionsVirtualDom = actions => {
1720
- return [{
1721
- type: Div,
1722
- className: Actions,
1723
- role: ToolBar,
1724
- childCount: actions.length
1725
- }, ...actions.flatMap(getActionVirtualDom)];
1726
- };
1727
-
1728
- const getFlags = uid => {
1729
- const {
1730
- newState
1731
- } = get(uid);
1732
- return newState.flags;
1733
- };
1734
-
1735
- const getFocus = uid => {
1736
- const {
1737
- newState
1738
- } = get(uid);
1739
- return newState.focus;
1740
- };
1741
-
1742
- const Tab = 2;
1743
- const Enter = 3;
1744
- const End = 255;
1745
- const Home = 12;
1746
- const UpArrow = 14;
1747
- const DownArrow = 16;
1748
- const Delete = 18;
1749
- const KeyC = 31;
1750
-
1751
- const CtrlCmd = 1 << 11 >>> 0;
1752
- const Shift = 1 << 10 >>> 0;
1753
- const Alt = 1 << 9 >>> 0;
1754
-
1755
- const getKeyBindings = () => {
1756
- return [{
1757
- key: CtrlCmd | Alt | Enter,
1758
- command: 'Search.replaceAll',
1759
- when: FocusSearch
1760
- }, {
1761
- key: Tab,
1762
- command: 'Search.focusNextInput',
1763
- when: FocusSearch
1764
- }, {
1765
- key: Shift | Tab,
1766
- command: 'Search.focusPreviousInput',
1767
- when: FocusSearch
1768
- }, {
1769
- key: DownArrow,
1770
- command: 'Search.focusNext',
1771
- when: FocusSearchResults
1772
- }, {
1773
- key: UpArrow,
1774
- command: 'Search.focusPrevious',
1775
- when: FocusSearchResults
1776
- }, {
1777
- key: Delete,
1778
- command: 'Search.dismissItem',
1779
- when: FocusSearchResults
1780
- }, {
1781
- key: Home,
1782
- command: 'Search.focusFirst',
1783
- when: FocusSearchResults
1784
- }, {
1785
- key: End,
1786
- command: 'Search.focusLast',
1787
- when: FocusSearchResults
1788
- }, {
1789
- key: CtrlCmd | KeyC,
1790
- command: 'Search.copy',
1791
- when: FocusSearchResults
1792
- }, {
1793
- key: Enter,
1794
- command: 'Search.submit',
1795
- when: FocusSearchInput
1796
- }, {
1797
- key: Enter,
1798
- command: 'Search.submit',
1799
- when: FocusSearchReplaceInput
1800
- }];
1801
- };
1802
-
1803
- const ClearAll = 'ClearAll';
1804
- const CollapseAll = 'CollapseAll';
1805
- const ListFlat = 'ListFlat';
1806
- const NewFile = 'NewFile';
1807
- const Refresh = 'Refresh';
1808
-
1809
- const getActions = () => {
1810
- return [{
1811
- type: Button$1,
1812
- id: refresh$1(),
1813
- icon: Refresh,
1814
- command: 'refresh'
1815
- }, {
1816
- type: Button$1,
1817
- id: clearSearchResults(),
1818
- icon: ClearAll,
1819
- command: 'clearSearchResults'
1820
- }, {
1821
- type: Button$1,
1822
- id: openNewSearchEditor(),
1823
- icon: NewFile,
1824
- command: ''
1825
- }, {
1826
- type: Button$1,
1827
- id: viewAsTree(),
1828
- icon: ListFlat,
1829
- command: ''
1830
- }, {
1831
- type: Button$1,
1832
- id: collapseAll(),
1833
- icon: CollapseAll,
1834
- command: ''
1835
- }];
1836
- };
1837
-
1838
- // TODO this should be in FileSystem module
1839
- const pathBaseName = path => {
1840
- return path.slice(path.lastIndexOf('/') + 1);
1841
- };
1842
- const getAbsolutePath = relativePath => {
1843
- if (relativePath.startsWith('./')) {
1844
- return `/${relativePath.slice(2)}`; // TODO support windows paths
1845
- }
1846
- return `/${relativePath}`; // TODO support windows paths
1847
- };
1848
-
1849
- const getDisplayResult = (result, fileIcons, fileIconIndex, itemHeight, i, setSize, searchTermLength, replacement, focusedIndex) => {
1850
- const {
1851
- type,
1852
- text,
1853
- lineNumber,
1854
- start
1855
- } = result;
1856
- const posInSet = i + 1;
1857
- const top = i * itemHeight;
1858
- const focused = i === focusedIndex;
1859
- switch (type) {
1860
- case File$1:
1861
- const path = text;
1862
- const absolutePath = getAbsolutePath(path);
1863
- const baseName = pathBaseName(path);
1864
- return {
1865
- title: absolutePath,
1866
- type: File$1,
1867
- text: baseName,
1868
- icon: fileIcons[fileIconIndex],
1869
- posInSet,
1870
- setSize,
1871
- top,
1872
- lineNumber,
1873
- matchStart: 0,
1874
- matchLength: 0,
1875
- replacement: '',
1876
- depth: 0,
1877
- matchCount: 0,
1878
- focused
1879
- };
1880
- case Match:
1881
- return {
1882
- title: text,
1883
- type: Match,
1884
- text: text,
1885
- icon: '',
1886
- posInSet,
1887
- setSize,
1888
- top,
1889
- lineNumber,
1890
- matchStart: start,
1891
- matchLength: searchTermLength,
1892
- replacement,
1893
- depth: 1,
1894
- matchCount: 0,
1895
- focused
1896
- };
1897
- default:
1898
- throw new Error('unexpected search result type');
1899
- }
1900
- };
1901
-
1902
- const getDisplayResults = (results, itemHeight, resultCount, searchTerm, minLineY, maxLineY, replacement, fileIcons, focusedIndex) => {
1903
- const displayResults = [];
1904
- const setSize = resultCount;
1905
- const searchTermLength = searchTerm.length;
1906
- let fileResult = {
1907
- matchCount: 0
1908
- };
1909
- let fileIconIndex = 0;
1910
- for (let i = minLineY; i < maxLineY; i++) {
1911
- const result = results[i];
1912
- const displayResult = getDisplayResult(result, fileIcons, fileIconIndex, itemHeight, i, setSize, searchTermLength, replacement, focusedIndex);
1913
- displayResults.push(displayResult);
1914
- if (result.type === File$1) {
1915
- fileResult = displayResult;
1916
- fileIconIndex++;
1917
- } else {
1918
- fileResult.matchCount++;
1919
- }
1920
- }
1921
- return displayResults;
1922
- };
1923
-
1924
- const HandleClick = 'handleClick';
1925
- const HandleHeaderClick = 'handleHeaderClick';
1926
- const HandleHeaderFocusIn = 'handleHeaderFocusIn';
1927
- const HandleListBlur = 'handleListBlur';
1928
-
1929
- const getSearchDetailsToggleVirtualDom = () => {
1930
- return [{
1931
- type: Div,
1932
- className: ToggleDetails,
1933
- role: Button$2,
1934
- tabIndex: 0,
1935
- ariaLabel: toggleSearchDetails(),
1936
- title: toggleSearchDetails(),
1937
- childCount: 1
1938
- }, {
1939
- type: Div,
1940
- className: mergeClassNames(MaskIcon, MaskIconEllipsis),
1941
- childCount: 0
1942
- }];
1943
- };
1944
-
1945
- const text = data => {
1946
- return {
1947
- type: Text,
1948
- text: data,
1949
- childCount: 0
1950
- };
1951
- };
1952
-
1953
- const getSearchMessageVirtualDom = message => {
1954
- return [{
1955
- type: Div,
1956
- className: ViewletSearchMessage,
1957
- role: Status,
1958
- tabIndex: 0,
1959
- childCount: 1
1960
- }, text(message)];
1961
- };
1962
-
1963
- const getSearchHeaderDetailsCollapsedVirtualDom = message => {
1964
- return [{
1965
- type: Div,
1966
- className: SearchHeaderDetails,
1967
- childCount: 2
1968
- }, ...getSearchMessageVirtualDom(message), ...getSearchDetailsToggleVirtualDom()];
1969
- };
1970
-
1971
- const getSearchFieldButtonVirtualDom = button => {
1972
- const {
1973
- icon,
1974
- checked,
1975
- title
1976
- } = button;
1977
- return [{
1978
- type: Div,
1979
- className: mergeClassNames(SearchFieldButton, checked ? SearchFieldButtonChecked : ''),
1980
- title,
1981
- role: CheckBox,
1982
- ariaChecked: checked,
1983
- tabIndex: 0,
1984
- childCount: 1
1985
- }, {
1986
- type: Div,
1987
- className: mergeClassNames(MaskIcon, icon),
1988
- childCount: 0
1989
- }];
1990
- };
1991
-
1992
- const getOutSideButtonsDom = outsideButtons => {
1993
- if (outsideButtons.length === 0) {
1994
- return {
1995
- preNodes: [],
1996
- postNodes: []
1997
- };
1998
- }
1999
- return {
2000
- preNodes: [{
2001
- type: Div,
2002
- className: SearchFieldContainer,
2003
- role: None,
2004
- childCount: 1 + outsideButtons.length
2005
- }],
2006
- postNodes: outsideButtons.flatMap(getSearchFieldButtonVirtualDom)
2007
- };
2008
- };
2009
- const getSearchFieldVirtualDom = (name, placeholder, onInput, insideButtons, outsideButtons, onFocus = '') => {
2010
- const {
2011
- preNodes,
2012
- postNodes
2013
- } = getOutSideButtonsDom(outsideButtons);
2014
- const dom = [...preNodes, {
2015
- type: Div,
2016
- className: SearchField,
2017
- role: None,
2018
- childCount: 2
2019
- }, {
2020
- type: TextArea,
2021
- className: MultilineInputBox,
2022
- spellcheck: false,
2023
- autocapitalize: 'off',
2024
- autocorrect: 'off',
2025
- placeholder,
2026
- name,
2027
- onInput,
2028
- onFocus,
2029
- childCount: 0
2030
- }, {
2031
- type: Div,
2032
- className: SearchFieldButtons,
2033
- childCount: insideButtons.length
2034
- }, ...insideButtons.flatMap(getSearchFieldButtonVirtualDom), ...postNodes];
2035
- return dom;
2036
- };
2037
-
2038
- const FilesToExclude = 'FilesToExclude';
2039
- const FilesToInclude = 'FilesToInclude';
2040
- const MatchCase = 'MatchCase';
2041
- const MatchWholeWord = 'MatchWholeWord';
2042
- const PreserveCase = 'PreserveCase';
2043
- const ReplaceAll = 'ReplaceAll';
2044
- const ReplaceValue = 'ReplaceValue';
2045
- const SearchOnlyOpenEditors = 'SearchOnlyOpenEditors';
2046
- const SearchValue = 'SearchValue';
2047
- const ToggleReplace = 'ToggleReplace';
2048
- const ToggleSearchDetails = 'ToggleSearchDetails';
2049
- const UseExcludeSettings = 'UseExcludeSettings';
2050
- const UseRegularExpression = 'UseRegularExpression';
2051
-
2052
- const getSearchHeaderDetailsExpandedVirtualDom = (flags, message) => {
2053
- const includeButtons = [{
2054
- icon: MaskIconBook,
2055
- title: searchOnlyOpenEditors(),
2056
- command: 'searchOnlyOpenEditors',
2057
- checked: Boolean(flags & OpenEditors),
2058
- name: SearchOnlyOpenEditors
2059
- }];
2060
- const excludeButtons = [{
2061
- icon: MaskIconExclude,
2062
- title: useExcludeSettings(),
2063
- command: 'toggleUseExcludeSettings',
2064
- checked: Boolean(flags & UseIgnoreFiles),
2065
- name: UseExcludeSettings
2066
- }];
2067
- return [{
2068
- type: Div,
2069
- className: SearchHeaderDetailsExpanded,
2070
- childCount: 5
2071
- }, {
2072
- type: Div,
2073
- className: SearchHeaderDetailsExpandedTop,
2074
- childCount: 2
2075
- }, ...getSearchDetailsToggleVirtualDom(), {
2076
- type: H4,
2077
- className: SearchHeaderDetailsHeading,
2078
- childCount: 1
2079
- }, text(filesToInclude()), ...getSearchFieldVirtualDom(FilesToInclude, 'Include', 'handleIncludeInput', includeButtons, []), {
2080
- type: H4,
2081
- className: SearchHeaderDetailsHeading,
2082
- childCount: 1
2083
- }, text(filesToExclude()), ...getSearchFieldVirtualDom(FilesToExclude, 'Exclude', 'handleExcludeInput', excludeButtons, []), ...getSearchMessageVirtualDom(message)];
2084
- };
2085
-
2086
- const getSearchHeaderDetailsVirtualDom = (flags, message) => {
2087
- if (flags & DetailsExpanded) {
2088
- return getSearchHeaderDetailsExpandedVirtualDom(flags, message);
2089
- }
2090
- return getSearchHeaderDetailsCollapsedVirtualDom(message);
2091
- };
2092
-
2093
- const getSearchToggleVirtualDom = flags => {
2094
- return [{
2095
- type: Button,
2096
- className: mergeClassNames(IconButton, SearchToggleButton, hasReplaceExpanded(flags) ? SearchToggleButtonExpanded : ''),
2097
- title: toggleReplace$1(),
2098
- ariaLabel: toggleReplace$1(),
2099
- ariaExpanded: hasReplaceExpanded(flags),
2100
- childCount: 1,
2101
- 'data-command': 'toggleReplace'
2102
- }, {
2103
- type: Div,
2104
- className: mergeClassNames(MaskIcon, hasReplaceExpanded(flags) ? MaskIconChevronDown : MaskIconChevronRight),
2105
- childCount: 0
2106
- }];
2107
- };
2108
-
2109
- const getSearchHeaderTopVirtualDom = flags => {
2110
- const dom = [{
2111
- type: Div,
2112
- className: SearchHeaderTop,
2113
- role: None,
2114
- childCount: 2
2115
- }, ...getSearchToggleVirtualDom(flags), {
2116
- type: Div,
2117
- className: SearchHeaderTopRight,
2118
- role: None,
2119
- childCount: hasReplaceExpanded(flags) ? 2 : 1
2120
- }, ...getSearchFieldVirtualDom(SearchValue, 'Search', 'handleInput', [{
2121
- icon: MaskIconCaseSensitive,
2122
- checked: hasMatchCase(flags),
2123
- title: matchCase(),
2124
- name: MatchCase
2125
- }, {
2126
- icon: MaskIconWholeWord,
2127
- checked: hasMatchWholeWord(flags),
2128
- title: matchWholeWord(),
2129
- name: MatchWholeWord
2130
- }, {
2131
- icon: MaskIconRegex,
2132
- checked: hasUseRegularExpression(flags),
2133
- title: useRegularExpression(),
2134
- name: UseRegularExpression
2135
- }], [])];
2136
- if (hasReplaceExpanded(flags)) {
2137
- dom.push(...getSearchFieldVirtualDom(ReplaceValue, 'Replace', 'handleReplaceInput', [{
2138
- icon: MaskIconPreserveCase,
2139
- checked: hasPreserveCase(flags),
2140
- title: preserveCase(),
2141
- name: PreserveCase
2142
- }], [{
2143
- icon: MaskIconReplaceAll,
2144
- checked: false,
2145
- title: replaceAll$1(),
2146
- name: ReplaceAll
2147
- }]));
2148
- }
2149
- return dom;
2150
- };
2151
-
2152
- const getSearchHeaderVirtualDom = (flags, message) => {
2153
- const dom = [{
2154
- type: Div,
2155
- className: SearchHeader,
2156
- role: None,
2157
- childCount: 2,
2158
- onClick: HandleHeaderClick,
2159
- onFocusIn: HandleHeaderFocusIn
2160
- }, ...getSearchHeaderTopVirtualDom(flags), ...getSearchHeaderDetailsVirtualDom(flags, message)];
2161
- return dom;
2162
- };
2163
-
2164
- const getBadgeVirtualDom = (className, count) => {
2165
- return [{
2166
- type: Div,
2167
- className: mergeClassNames(Badge, className),
2168
- childCount: 1
2169
- }, text(`${count}`)];
2170
- };
2171
-
2172
- const chevronDownVirtualDom = {
2173
- type: Div,
2174
- className: mergeClassNames(Chevron, MaskIconChevronDown),
2175
- childCount: 0
2176
- };
2177
- ({
2178
- type: Div,
2179
- className: mergeClassNames(Chevron, MaskIconChevronRight),
2180
- childCount: 0
2181
- });
2182
-
2183
- const getFileIconVirtualDom = icon => {
2184
- return {
2185
- type: Img,
2186
- className: FileIcon,
2187
- src: icon,
2188
- role: None,
2189
- childCount: 0
2190
- };
2191
- };
2192
-
2193
- const deleted = {
2194
- type: Del,
2195
- className: HighlightDeleted,
2196
- childCount: 1
2197
- };
2198
- const inserted = {
2199
- type: Ins,
2200
- className: HighlightInserted,
2201
- childCount: 1
2202
- };
2203
- const highlighted = {
2204
- type: Span,
2205
- className: Highlight,
2206
- childCount: 1
2207
- };
2208
- const label1 = {
2209
- type: Div,
2210
- className: mergeClassNames(Label, Grow),
2211
- childCount: 1
2212
- };
2213
- const label3 = {
2214
- ...label1,
2215
- childCount: 3
2216
- };
2217
- const label4 = {
2218
- ...label1,
2219
- childCount: 4
2220
- };
2221
- const getLabelVirtualDom = (displayText, matchLength, matchStart, replacement) => {
2222
- if (matchLength) {
2223
- const before = displayText.slice(0, matchStart);
2224
- const highlight = displayText.slice(matchStart, matchStart + matchLength);
2225
- const after = displayText.slice(matchStart + matchLength);
2226
- if (replacement) {
2227
- return [label4, text(before), deleted, text(highlight), inserted, text(replacement), text(after)];
2228
- }
2229
- return [label3, text(before), highlighted, text(highlight), text(after)];
2230
- }
2231
- return [label1, text(displayText)];
2232
- };
2233
-
2234
- const PaddingRight = '12px';
2235
-
2236
- const getSearchResultVirtualDom = rowInfo => {
2237
- const {
2238
- type,
2239
- matchStart,
2240
- matchLength,
2241
- text: displayText,
2242
- title,
2243
- icon,
2244
- setSize,
2245
- posInSet,
2246
- depth,
2247
- replacement,
2248
- matchCount,
2249
- focused
2250
- } = rowInfo;
2251
- const treeItem = {
2252
- type: Div,
2253
- role: TreeItem$1,
2254
- className: TreeItem,
2255
- title,
2256
- ariaSetSize: setSize,
2257
- ariaLevel: depth,
2258
- ariaPosInSet: posInSet,
2259
- ariaLabel: title,
2260
- ariaDescription: '',
2261
- childCount: 1,
2262
- paddingLeft: `${Number(depth) + 1}rem`,
2263
- // TODO use classname and dynamic css
2264
- paddingRight: PaddingRight
2265
- };
2266
- if (focused) {
2267
- treeItem.className += ' ' + TreeItemActive;
2268
- }
2269
- switch (type) {
2270
- case File$1:
2271
- treeItem.ariaExpanded = 'true';
2272
- break;
2273
- }
2274
- const dom = [];
2275
- dom.push(treeItem);
2276
- if (type === File$1) {
2277
- treeItem.childCount += 2;
2278
- dom.push(chevronDownVirtualDom, getFileIconVirtualDom(icon));
2279
- }
2280
- dom.push(...getLabelVirtualDom(displayText, matchLength, matchStart, replacement));
2281
- if (matchCount) {
2282
- treeItem.childCount++;
2283
- dom.push(...getBadgeVirtualDom(SourceControlBadge, matchCount));
2284
- }
2285
- treeItem.childCount++;
2286
- dom.push({
2287
- type: Div,
2288
- className: SearchRemove,
2289
- childCount: 1
2290
- }, {
2291
- type: Div,
2292
- className: CloseMaskIcon,
2293
- childCount: 0
2294
- });
2295
- return dom;
2296
- };
2297
-
2298
- const getSearchResultsVirtualDom = (visibleItems, focusOutline) => {
2299
- return [{
2300
- type: Div,
2301
- className: mergeClassNames(Viewlet, List, focusOutline ? FocusOutline : Empty),
2302
- role: Tree,
2303
- tabIndex: 0,
2304
- childCount: visibleItems.length,
2305
- onClick: HandleClick,
2306
- onBlur: HandleListBlur
2307
- }, ...visibleItems.flatMap(getSearchResultVirtualDom)];
2308
- };
2309
-
2310
- const getSearchVirtualDom = (visibleItems, flags, message, focusOutline) => {
2311
- const dom = [{
2312
- type: Div,
2313
- className: mergeClassNames(Viewlet, Search$1),
2314
- childCount: 2
2315
- }, ...getSearchHeaderVirtualDom(flags, message), ...getSearchResultsVirtualDom(visibleItems, focusOutline)];
2316
- return dom;
2317
- };
2318
-
2319
- const handleError = error => {
2320
- console.error(`[text-search-worker] ${error}`);
2321
- };
2322
-
2323
- const getFileIcons = async files => {
2324
- // TODO cache file icons
2325
- const promises = [];
2326
- for (const file of files) {
2327
- if (file.type === Match) {
2328
- continue;
2329
- }
2330
- promises.push(invoke$2('IconTheme.getFileIcon', {
2331
- name: file.text
2332
- }));
2333
- }
2334
- const icons = await Promise.all(promises);
2335
- return icons;
2336
- };
2337
-
2338
- // TODO optimize this function to return the minimum number
2339
- // of visible items needed, e.g. when not scrolled 5 items with
2340
- // 20px fill 100px but when scrolled 6 items are needed
2341
- const getNumberOfVisibleItems = (listHeight, itemHeight) => {
2342
- return Math.ceil(listHeight / itemHeight) + 1;
2343
- };
2344
-
2345
- const getTextSearchResultCounts = results => {
2346
- let resultCount = 0;
2347
- let fileCount = 0;
2348
- for (const result of results) {
2349
- switch (result.type) {
2350
- case File$1:
2351
- fileCount++;
2352
- break;
2353
- case Match:
2354
- resultCount++;
2355
- break;
2356
- }
2357
- }
2358
- return {
2359
- fileCount,
2360
- resultCount
2361
- };
2362
- };
2363
-
2364
- const EmptyString = '';
2365
-
2366
- const isEmptyString = string => {
2367
- return string === EmptyString;
2368
- };
2369
-
2370
- const getScrollBarSize = (size, contentSize, minimumSliderSize) => {
2371
- if (size >= contentSize) {
2372
- return 0;
2373
- }
2374
- return Math.max(Math.round(size ** 2 / contentSize), minimumSliderSize);
2375
- };
2376
- const getScrollBarOffset = (delta, finalDelta, size, scrollBarSize) => {
2377
- const scrollBarOffset = delta / finalDelta * (size - scrollBarSize);
2378
- return scrollBarOffset;
2379
- };
2380
- const getScrollBarY = getScrollBarOffset;
2381
- const getNewDeltaPercent = (height, scrollBarHeight, relativeY) => {
2382
- const halfScrollBarHeight = scrollBarHeight / 2;
2383
- if (relativeY <= halfScrollBarHeight) {
2384
- // clicked at top
2385
- return {
2386
- percent: 0,
2387
- handleOffset: relativeY
2388
- };
2389
- }
2390
- if (relativeY <= height - halfScrollBarHeight) {
2391
- // clicked in middle
2392
- return {
2393
- percent: (relativeY - halfScrollBarHeight) / (height - scrollBarHeight),
2394
- handleOffset: halfScrollBarHeight
2395
- };
2396
- }
2397
- // clicked at bottom
2398
- return {
2399
- percent: 1,
2400
- handleOffset: scrollBarHeight - height + relativeY
2401
- };
2402
- };
2403
-
2404
- class AssertionError extends Error {
2405
- constructor(message) {
2406
- super(message);
2407
- this.name = 'AssertionError';
2408
- }
2409
- }
2410
- const getType = value => {
2411
- switch (typeof value) {
2412
- case 'number':
2413
- return 'number';
2414
- case 'function':
2415
- return 'function';
2416
- case 'string':
2417
- return 'string';
2418
- case 'object':
2419
- if (value === null) {
2420
- return 'null';
2421
- }
2422
- if (Array.isArray(value)) {
2423
- return 'array';
2424
- }
2425
- return 'object';
2426
- case 'boolean':
2427
- return 'boolean';
2428
- default:
2429
- return 'unknown';
2430
- }
2431
- };
2432
- const object = value => {
2433
- const type = getType(value);
2434
- if (type !== 'object') {
2435
- throw new AssertionError('expected value to be of type object');
2436
- }
2437
- };
2438
- const number = value => {
2439
- const type = getType(value);
2440
- if (type !== 'number') {
2441
- throw new AssertionError('expected value to be of type number');
2442
- }
2443
- };
2444
- const array = value => {
2445
- const type = getType(value);
2446
- if (type !== 'array') {
2447
- throw new AssertionError('expected value to be of type array');
2448
- }
2449
- };
2450
- const string = value => {
2451
- const type = getType(value);
2452
- if (type !== 'string') {
2453
- throw new AssertionError('expected value to be of type string');
2454
- }
2455
- };
2456
-
2457
- const RE_PROTOCOL = /^([a-z-\d]+):\/\//;
2458
- const getProtocol$1 = uri => {
2459
- const protocolMatch = uri.match(RE_PROTOCOL);
2460
- if (protocolMatch) {
2461
- return protocolMatch[1];
2462
- }
2463
- return '';
2464
- };
2465
-
2466
- const textSearch$5 = async (scheme, root, query) => {
2467
- string(scheme);
2468
- string(query);
2469
- const result = await invoke$2('ExtensionHostTextSearch.executeTextSearchProvider', scheme, query);
2470
- return result;
2471
- };
2472
-
2473
- const normalizeLine = line => {
2474
- if (line.startsWith('Error: ')) {
2475
- return line.slice('Error: '.length);
2476
- }
2477
- if (line.startsWith('VError: ')) {
2478
- return line.slice('VError: '.length);
2479
- }
2480
- return line;
2481
- };
2482
- const getCombinedMessage = (error, message) => {
2483
- const stringifiedError = normalizeLine(`${error}`);
2484
- if (message) {
2485
- return `${message}: ${stringifiedError}`;
2486
- }
2487
- return stringifiedError;
2488
- };
2489
- const NewLine = '\n';
2490
- const getNewLineIndex = (string, startIndex = undefined) => {
2491
- return string.indexOf(NewLine, startIndex);
2492
- };
2493
- const mergeStacks = (parent, child) => {
2494
- if (!child) {
2495
- return parent;
2496
- }
2497
- const parentNewLineIndex = getNewLineIndex(parent);
2498
- const childNewLineIndex = getNewLineIndex(child);
2499
- if (childNewLineIndex === -1) {
2500
- return parent;
2501
- }
2502
- const parentFirstLine = parent.slice(0, parentNewLineIndex);
2503
- const childRest = child.slice(childNewLineIndex);
2504
- const childFirstLine = normalizeLine(child.slice(0, childNewLineIndex));
2505
- if (parentFirstLine.includes(childFirstLine)) {
2506
- return parentFirstLine + childRest;
2507
- }
2508
- return child;
2509
- };
2510
- class VError extends Error {
2511
- constructor(error, message) {
2512
- const combinedMessage = getCombinedMessage(error, message);
2513
- super(combinedMessage);
2514
- this.name = 'VError';
2515
- if (error instanceof Error) {
2516
- this.stack = mergeStacks(this.stack, error.stack);
2517
- }
2518
- if (error.codeFrame) {
2519
- // @ts-ignore
2520
- this.codeFrame = error.codeFrame;
2521
- }
2522
- if (error.code) {
2523
- // @ts-ignore
2524
- this.code = error.code;
2525
- }
2526
- }
2527
- }
2528
-
2529
- const getJson = async url => {
2530
- try {
2531
- const response = await fetch(url);
2532
- if (!response.ok) {
2533
- throw new Error(response.statusText);
2534
- }
2535
- const json = await response.json();
2536
- return json;
2537
- } catch (error) {
2538
- throw new VError(error, `Failed to get json`);
2539
- }
2540
- };
2541
-
2542
- const getText = async url => {
2543
- try {
2544
- const response = await fetch(url);
2545
- if (!response.ok) {
2546
- throw new Error(response.statusText);
2547
- }
2548
- const text = await response.text();
2549
- return text;
2550
- } catch (error) {
2551
- throw new VError(error, `Failed to get text`);
2552
- }
2553
- };
2554
-
2555
- const splitLines = lines => {
2556
- return lines.split('\n');
2557
- };
2558
-
2559
- const textSearchInText = (file, content, query) => {
2560
- const results = [];
2561
- const lines = splitLines(content);
2562
- for (let i = 0; i < lines.length; i++) {
2563
- const line = lines[i];
2564
- const index = line.indexOf(query);
2565
- if (index !== -1) {
2566
- results.push({
2567
- type: Match,
2568
- text: line,
2569
- start: index,
2570
- end: index + query.length,
2571
- lineNumber: i
2572
- });
2573
- }
2574
- }
2575
- if (results.length > 0) {
2576
- results.unshift({
2577
- type: File$1,
2578
- text: file,
2579
- start: 0,
2580
- end: 0,
2581
- lineNumber: 0
2582
- });
2583
- }
2584
- return results;
2585
- };
2586
-
2587
- const textSearch$4 = async (scheme, root, query, options, assetDir) => {
2588
- string(scheme);
2589
- string(root);
2590
- string(query);
2591
- const fetchUri = `${assetDir}/config/fileMap.json`;
2592
- const fileList = await getJson(fetchUri);
2593
- const allResults = [];
2594
- const relativeRoot = root.slice('fetch://'.length);
2595
- for (const uri of fileList) {
2596
- const fetchUri = `${assetDir}${uri}`;
2597
- const content = await getText(fetchUri);
2598
- const relativeUri = uri.slice(relativeRoot.length + 1);
2599
- const results = textSearchInText(relativeUri, content, query);
2600
- allResults.push(...results);
2601
- }
2602
- return allResults;
2603
- };
2604
-
2605
- class FileNotFoundError extends Error {
2606
- constructor(message) {
2607
- super(message);
2608
- this.name = 'FileNotFoundError';
2609
- }
2610
- }
2611
-
2612
- const Directory = 'directory';
2613
- const File = 'file';
2614
-
2615
- const getChildHandles$1 = async handle => {
2616
- object(handle);
2617
- // @ts-ignore
2618
- const childHandles = handle.values();
2619
- const handles = await fromAsync(childHandles);
2620
- return handles;
2621
- };
2622
-
2623
- const getChildHandles = async handle => {
2624
- try {
2625
- return await getChildHandles$1(handle);
2626
- } catch (error) {
2627
- throw new VError(error, 'failed to get child handles');
2628
- }
2629
- };
2630
-
2631
- const dirname = (pathSeparator, path) => {
2632
- const index = path.lastIndexOf(pathSeparator);
2633
- if (index === -1) {
2634
- return path;
2635
- }
2636
- return path.slice(0, index);
2637
- };
2638
-
2639
- const instanceOfAny = (object, constructors) => constructors.some(c => object instanceof c);
2640
- let idbProxyableTypes;
2641
- let cursorAdvanceMethods;
2642
- // This is a function to prevent it throwing up in node environments.
2643
- function getIdbProxyableTypes() {
2644
- return idbProxyableTypes || (idbProxyableTypes = [IDBDatabase, IDBObjectStore, IDBIndex, IDBCursor, IDBTransaction]);
2645
- }
2646
- // This is a function to prevent it throwing up in node environments.
2647
- function getCursorAdvanceMethods() {
2648
- return cursorAdvanceMethods || (cursorAdvanceMethods = [IDBCursor.prototype.advance, IDBCursor.prototype.continue, IDBCursor.prototype.continuePrimaryKey]);
2649
- }
2650
- const transactionDoneMap = new WeakMap();
2651
- const transformCache = new WeakMap();
2652
- const reverseTransformCache = new WeakMap();
2653
- function promisifyRequest(request) {
2654
- const promise = new Promise((resolve, reject) => {
2655
- const unlisten = () => {
2656
- request.removeEventListener('success', success);
2657
- request.removeEventListener('error', error);
2658
- };
2659
- const success = () => {
2660
- resolve(wrap(request.result));
2661
- unlisten();
2662
- };
2663
- const error = () => {
2664
- reject(request.error);
2665
- unlisten();
2666
- };
2667
- request.addEventListener('success', success);
2668
- request.addEventListener('error', error);
2669
- });
2670
- // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This
2671
- // is because we create many promises from a single IDBRequest.
2672
- reverseTransformCache.set(promise, request);
2673
- return promise;
2674
- }
2675
- function cacheDonePromiseForTransaction(tx) {
2676
- // Early bail if we've already created a done promise for this transaction.
2677
- if (transactionDoneMap.has(tx)) return;
2678
- const done = new Promise((resolve, reject) => {
2679
- const unlisten = () => {
2680
- tx.removeEventListener('complete', complete);
2681
- tx.removeEventListener('error', error);
2682
- tx.removeEventListener('abort', error);
2683
- };
2684
- const complete = () => {
2685
- resolve();
2686
- unlisten();
2687
- };
2688
- const error = () => {
2689
- reject(tx.error || new DOMException('AbortError', 'AbortError'));
2690
- unlisten();
2691
- };
2692
- tx.addEventListener('complete', complete);
2693
- tx.addEventListener('error', error);
2694
- tx.addEventListener('abort', error);
2695
- });
2696
- // Cache it for later retrieval.
2697
- transactionDoneMap.set(tx, done);
2698
- }
2699
- let idbProxyTraps = {
2700
- get(target, prop, receiver) {
2701
- if (target instanceof IDBTransaction) {
2702
- // Special handling for transaction.done.
2703
- if (prop === 'done') return transactionDoneMap.get(target);
2704
- // Make tx.store return the only store in the transaction, or undefined if there are many.
2705
- if (prop === 'store') {
2706
- return receiver.objectStoreNames[1] ? undefined : receiver.objectStore(receiver.objectStoreNames[0]);
2707
- }
2708
- }
2709
- // Else transform whatever we get back.
2710
- return wrap(target[prop]);
2711
- },
2712
- set(target, prop, value) {
2713
- target[prop] = value;
2714
- return true;
2715
- },
2716
- has(target, prop) {
2717
- if (target instanceof IDBTransaction && (prop === 'done' || prop === 'store')) {
2718
- return true;
2719
- }
2720
- return prop in target;
2721
- }
2722
- };
2723
- function replaceTraps(callback) {
2724
- idbProxyTraps = callback(idbProxyTraps);
2725
- }
2726
- function wrapFunction(func) {
2727
- // Due to expected object equality (which is enforced by the caching in `wrap`), we
2728
- // only create one new func per func.
2729
- // Cursor methods are special, as the behaviour is a little more different to standard IDB. In
2730
- // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the
2731
- // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense
2732
- // with real promises, so each advance methods returns a new promise for the cursor object, or
2733
- // undefined if the end of the cursor has been reached.
2734
- if (getCursorAdvanceMethods().includes(func)) {
2735
- return function (...args) {
2736
- // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use
2737
- // the original object.
2738
- func.apply(unwrap(this), args);
2739
- return wrap(this.request);
2740
- };
2741
- }
2742
- return function (...args) {
2743
- // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use
2744
- // the original object.
2745
- return wrap(func.apply(unwrap(this), args));
2746
- };
2747
- }
2748
- function transformCachableValue(value) {
2749
- if (typeof value === 'function') return wrapFunction(value);
2750
- // This doesn't return, it just creates a 'done' promise for the transaction,
2751
- // which is later returned for transaction.done (see idbObjectHandler).
2752
- if (value instanceof IDBTransaction) cacheDonePromiseForTransaction(value);
2753
- if (instanceOfAny(value, getIdbProxyableTypes())) return new Proxy(value, idbProxyTraps);
2754
- // Return the same value back if we're not going to transform it.
2755
- return value;
2756
- }
2757
- function wrap(value) {
2758
- // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because
2759
- // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.
2760
- if (value instanceof IDBRequest) return promisifyRequest(value);
2761
- // If we've already transformed this value before, reuse the transformed value.
2762
- // This is faster, but it also provides object equality.
2763
- if (transformCache.has(value)) return transformCache.get(value);
2764
- const newValue = transformCachableValue(value);
2765
- // Not all types are transformed.
2766
- // These may be primitive types, so they can't be WeakMap keys.
2767
- if (newValue !== value) {
2768
- transformCache.set(value, newValue);
2769
- reverseTransformCache.set(newValue, value);
2770
- }
2771
- return newValue;
2772
- }
2773
- const unwrap = value => reverseTransformCache.get(value);
2774
-
2775
- /**
2776
- * Open a database.
2777
- *
2778
- * @param name Name of the database.
2779
- * @param version Schema version.
2780
- * @param callbacks Additional callbacks.
2781
- */
2782
- function openDB(name, version, {
2783
- blocked,
2784
- upgrade,
2785
- blocking,
2786
- terminated
2787
- } = {}) {
2788
- const request = indexedDB.open(name, version);
2789
- const openPromise = wrap(request);
2790
- if (upgrade) {
2791
- request.addEventListener('upgradeneeded', event => {
2792
- upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);
2793
- });
2794
- }
2795
- if (blocked) {
2796
- request.addEventListener('blocked', event => blocked(
2797
- // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405
2798
- event.oldVersion, event.newVersion, event));
2799
- }
2800
- openPromise.then(db => {
2801
- if (terminated) db.addEventListener('close', () => terminated());
2802
- if (blocking) {
2803
- db.addEventListener('versionchange', event => blocking(event.oldVersion, event.newVersion, event));
2804
- }
2805
- }).catch(() => {});
2806
- return openPromise;
2807
- }
2808
- const readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];
2809
- const writeMethods = ['put', 'add', 'delete', 'clear'];
2810
- const cachedMethods = new Map();
2811
- function getMethod(target, prop) {
2812
- if (!(target instanceof IDBDatabase && !(prop in target) && typeof prop === 'string')) {
2813
- return;
2814
- }
2815
- if (cachedMethods.get(prop)) return cachedMethods.get(prop);
2816
- const targetFuncName = prop.replace(/FromIndex$/, '');
2817
- const useIndex = prop !== targetFuncName;
2818
- const isWrite = writeMethods.includes(targetFuncName);
2819
- if (
2820
- // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.
2821
- !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) || !(isWrite || readMethods.includes(targetFuncName))) {
2822
- return;
2823
- }
2824
- const method = async function (storeName, ...args) {
2825
- // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(
2826
- const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');
2827
- let target = tx.store;
2828
- if (useIndex) target = target.index(args.shift());
2829
- // Must reject if op rejects.
2830
- // If it's a write operation, must reject if tx.done rejects.
2831
- // Must reject with op rejection first.
2832
- // Must resolve with op value.
2833
- // Must handle both promises (no unhandled rejections)
2834
- return (await Promise.all([target[targetFuncName](...args), isWrite && tx.done]))[0];
2835
- };
2836
- cachedMethods.set(prop, method);
2837
- return method;
2838
- }
2839
- replaceTraps(oldTraps => ({
2840
- ...oldTraps,
2841
- get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),
2842
- has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop)
2843
- }));
2844
- const advanceMethodProps = ['continue', 'continuePrimaryKey', 'advance'];
2845
- const methodMap = {};
2846
- const advanceResults = new WeakMap();
2847
- const ittrProxiedCursorToOriginalProxy = new WeakMap();
2848
- const cursorIteratorTraps = {
2849
- get(target, prop) {
2850
- if (!advanceMethodProps.includes(prop)) return target[prop];
2851
- let cachedFunc = methodMap[prop];
2852
- if (!cachedFunc) {
2853
- cachedFunc = methodMap[prop] = function (...args) {
2854
- advanceResults.set(this, ittrProxiedCursorToOriginalProxy.get(this)[prop](...args));
2855
- };
2856
- }
2857
- return cachedFunc;
2858
- }
2859
- };
2860
- async function* iterate(...args) {
2861
- // tslint:disable-next-line:no-this-assignment
2862
- let cursor = this;
2863
- if (!(cursor instanceof IDBCursor)) {
2864
- cursor = await cursor.openCursor(...args);
2865
- }
2866
- if (!cursor) return;
2867
- cursor = cursor;
2868
- const proxiedCursor = new Proxy(cursor, cursorIteratorTraps);
2869
- ittrProxiedCursorToOriginalProxy.set(proxiedCursor, cursor);
2870
- // Map this double-proxy back to the original, so other cursor methods work.
2871
- reverseTransformCache.set(proxiedCursor, unwrap(cursor));
2872
- while (cursor) {
2873
- yield proxiedCursor;
2874
- // If one of the advancing methods was not called, call continue().
2875
- cursor = await (advanceResults.get(proxiedCursor) || cursor.continue());
2876
- advanceResults.delete(proxiedCursor);
2877
- }
2878
- }
2879
- function isIteratorProp(target, prop) {
2880
- return prop === Symbol.asyncIterator && instanceOfAny(target, [IDBIndex, IDBObjectStore, IDBCursor]) || prop === 'iterate' && instanceOfAny(target, [IDBIndex, IDBObjectStore]);
2881
- }
2882
- replaceTraps(oldTraps => ({
2883
- ...oldTraps,
2884
- get(target, prop, receiver) {
2885
- if (isIteratorProp(target, prop)) return iterate;
2886
- return oldTraps.get(target, prop, receiver);
2887
- },
2888
- has(target, prop) {
2889
- return isIteratorProp(target, prop) || oldTraps.has(target, prop);
2890
- }
2891
- }));
2892
-
2893
- const state$2 = {
2894
- databases: Object.create(null),
2895
- eventId: 0,
2896
- dbVersion: 1,
2897
- cachedDb: undefined
2898
- };
2899
-
2900
- // TODO high memory usage in idb because of transactionDoneMap
2901
-
2902
- const getHandleDb = async () => {
2903
- // @ts-ignore
2904
- const db = await openDB('handle', state$2.dbVersion, {
2905
- async upgrade(db) {
2906
- if (!db.objectStoreNames.contains('file-handles-store')) {
2907
- await db.createObjectStore('file-handles-store', {});
2908
- }
2909
- }
2910
- });
2911
- return db;
2912
- };
2913
- const getHandle$1 = async uri => {
2914
- const handleDb = await getHandleDb();
2915
- const handle = await handleDb.get('file-handles-store', uri);
2916
- return handle;
2917
- };
2918
-
2919
- const getHandle = async uri => {
2920
- try {
2921
- // TODO retrieve handle from state or from indexeddb
2922
- // TODO if not found, throw error
2923
- const handle = await getHandle$1(uri);
2924
- return handle;
2925
- } catch (error) {
2926
- throw new VError(error, 'Failed to get handle');
2927
- }
2928
- };
2929
-
2930
- const getDirectoryHandle = async uri => {
2931
- const handle = await getHandle(uri);
2932
- if (handle) {
2933
- return handle;
2934
- }
2935
- const dirname$1 = dirname('/', uri);
2936
- if (uri === dirname$1) {
2937
- return undefined;
2938
- }
2939
- return getDirectoryHandle(dirname$1);
2940
- };
2941
-
2942
- const NotReadableError = 'NotReadableError';
2943
-
2944
- const isNotReadableError = error => {
2945
- return error && error.name === NotReadableError;
2946
- };
2947
-
2948
- const getFile = handle => {
2949
- return handle.getFile();
2950
- };
2951
-
2952
- const textSearchInFile = async (all, handle, absolutePath, query) => {
2953
- try {
2954
- const file = await getFile(handle);
2955
- const content = await file.text();
2956
- const results = textSearchInText(absolutePath, content, query);
2957
- push(all, results);
2958
- } catch (error) {
2959
- if (isNotReadableError(error)) {
2960
- // ignore
2961
- return;
2962
- }
2963
- throw error;
2964
- }
2965
- };
2966
-
2967
- const textSearchRecursively = async (all, parent, handle, query) => {
2968
- const childHandles = await getChildHandles(handle);
2969
- const promises = [];
2970
- for (const childHandle of childHandles) {
2971
- const absolutePath = parent + '/' + childHandle.name;
2972
- switch (childHandle.kind) {
2973
- case Directory:
2974
- promises.push(textSearchRecursively(all, absolutePath, childHandle, query));
2975
- break;
2976
- case File:
2977
- // @ts-ignore
2978
- promises.push(textSearchInFile(all, childHandle, absolutePath, query));
2979
- break;
2980
- }
2981
- }
2982
- await Promise.all(promises);
2983
- };
2984
- const textSearch$3 = async (scheme, root, query) => {
2985
- string(scheme);
2986
- string(root);
2987
- string(query);
2988
- const relativeRoot = root.slice('html://'.length);
2989
- const handle = await getDirectoryHandle(relativeRoot);
2990
- if (!handle) {
2991
- throw new FileNotFoundError(`Folder not found: ${relativeRoot}`);
2992
- }
2993
- const all = [];
2994
- await textSearchRecursively(all, '', handle, query);
2995
- return all;
2996
- };
2997
-
2998
- const getRipGrepArgs = ({
2999
- threads,
3000
- isCaseSensitive,
3001
- searchString,
3002
- useRegularExpression
3003
- }) => {
3004
- const ripGrepArgs = ['--hidden', '--no-require-git', '--smart-case', '--stats', '--json'];
3005
- ripGrepArgs.push('--threads', `${threads}`);
3006
- if (isCaseSensitive) {
3007
- ripGrepArgs.push('--case-sensitive');
3008
- } else {
3009
- ripGrepArgs.push('--ignore-case');
3010
- }
3011
- if (useRegularExpression) {
3012
- ripGrepArgs.push('--regexp', searchString);
3013
- } else {
3014
- ripGrepArgs.push('--fixed-strings');
3015
- ripGrepArgs.push('--');
3016
- ripGrepArgs.push(searchString);
3017
- }
3018
- ripGrepArgs.push('.');
3019
- return ripGrepArgs;
3020
- };
3021
-
3022
- const Electron = 2;
3023
- const Remote = 3;
3024
-
3025
- const Https = 'https:';
3026
- const Ws = 'ws:';
3027
- const Wss = 'wss:';
3028
-
3029
- const getWebSocketProtocol = locationProtocol => {
3030
- return locationProtocol === Https ? Wss : Ws;
3031
- };
3032
-
3033
- const getWebSocketUrl = (type, host, locationProtocol) => {
3034
- const wsProtocol = getWebSocketProtocol(locationProtocol);
3035
- return `${wsProtocol}//${host}/websocket/${type}`;
3036
- };
3037
-
3038
- const getHost = () => {
3039
- return location.host;
3040
- };
3041
- const getProtocol = () => {
3042
- return location.protocol;
3043
- };
3044
-
3045
- const launchSearchProcess = async () => {
3046
- const host = getHost();
3047
- const protocol = getProtocol();
3048
- const wsUrl = getWebSocketUrl('search-process', host, protocol);
3049
- const webSocket = new WebSocket(wsUrl);
3050
- const rpc = await WebSocketRpcParent.create({
3051
- webSocket,
3052
- commandMap: {}
3053
- });
3054
- return rpc;
3055
- };
3056
-
3057
- const state$1 = {
3058
- rpc: undefined
3059
- };
3060
- const getOrCreate$1 = () => {
3061
- if (!state$1.rpc) {
3062
- // @ts-ignore
3063
- state$1.rpc = launchSearchProcess();
3064
- }
3065
- return state$1.rpc;
3066
- };
3067
-
3068
- const invoke$1 = async (method, ...params) => {
3069
- const rpc = await getOrCreate$1();
3070
- return rpc.invoke(method, ...params);
3071
- };
3072
-
3073
- const getPortTuple = () => {
3074
- const {
3075
- port1,
3076
- port2
3077
- } = new MessageChannel();
3078
- return {
3079
- port1,
3080
- port2
3081
- };
3082
- };
3083
-
3084
- const launchSearchProcessElectron = async () => {
3085
- const {
3086
- port1,
3087
- port2
3088
- } = getPortTuple();
3089
- const rpcPromise = MessagePortRpcParent.create({
3090
- messagePort: port2,
3091
- commandMap: {},
3092
- isMessagePortOpen: true
3093
- });
3094
- await invokeAndTransfer('SendMessagePortToElectron.sendMessagePortToElectron', port1, 'HandleMessagePortForSearchProcess.handleMessagePortForSearchProcess');
3095
- port2.start();
3096
- const rpc = await rpcPromise;
3097
- return rpc;
3098
- };
3099
-
3100
- const state = {
3101
- rpc: undefined
3102
- };
3103
- const getOrCreate = () => {
3104
- if (!state.rpc) {
3105
- // @ts-ignore
3106
- state.rpc = launchSearchProcessElectron();
3107
- }
3108
- return state.rpc;
3109
- };
3110
-
3111
- const invoke = async (method, ...params) => {
3112
- const rpc = await getOrCreate();
3113
- return rpc.invoke(method, ...params);
3114
- };
3115
-
3116
- const textSearch$2 = async (scheme, root, query, options, assetDir, platform) => {
3117
- const ripGrepArgs = getRipGrepArgs({
3118
- ...options,
3119
- searchString: query
3120
- });
3121
- const actualOptions = {
3122
- ripGrepArgs,
3123
- searchDir: root
3124
- };
3125
- if (platform === Remote) {
3126
- const result = await invoke$1('TextSearch.search', actualOptions);
3127
- // TODO api is weird
3128
- return result.results;
3129
- }
3130
- if (platform === Electron) {
3131
- const result = await invoke('TextSearch.search', actualOptions);
3132
- return result.results;
3133
- }
3134
- const results = await invoke$2('SearchProcess.invoke', 'TextSearch.search', actualOptions);
3135
- // TODO api is weird
3136
- return results.results;
3137
- };
3138
-
3139
- const textSearch$1 = (scheme, root, query) => {
3140
- // TODO ask renderer worker for files
3141
- const entries = Object.entries({});
3142
- const results = [];
3143
- for (const [key, value] of entries) {
3144
- // @ts-ignore
3145
- if (value.includes(query)) {
3146
- results.push([key, [{
3147
- absoluteOffset: 0,
3148
- preview: value
3149
- }]]);
3150
- }
3151
- }
3152
- return results;
3153
- };
3154
-
3155
- const getProvider = scheme => {
3156
- switch (scheme) {
3157
- case '':
3158
- return textSearch$2;
3159
- case 'web':
3160
- return textSearch$1;
3161
- case 'fetch':
3162
- return textSearch$4;
3163
- case 'html':
3164
- return textSearch$3;
3165
- default:
3166
- return textSearch$5;
3167
- }
3168
- };
3169
-
3170
- const textSearch = async (root, query, options, assetDir, platform) => {
3171
- string(root);
3172
- string(query);
3173
- const scheme = getProtocol$1(root);
3174
- const provider = getProvider(scheme);
3175
- const results = await provider(scheme, root, query, options, assetDir, platform);
3176
- return results;
3177
- };
3178
-
3179
- const handleUpdate = async (state, update) => {
3180
- const partialNewState = {
3181
- ...state,
3182
- ...update
3183
- };
3184
- try {
3185
- const {
3186
- height,
3187
- itemHeight,
3188
- minimumSliderSize,
3189
- headerHeight,
3190
- flags,
3191
- value,
3192
- threads
3193
- } = partialNewState;
3194
- if (isEmptyString(value)) {
3195
- return {
3196
- ...partialNewState,
3197
- minLineY: 0,
3198
- maxLineY: 0,
3199
- deltaY: 0,
3200
- items: [],
3201
- listItems: [],
3202
- matchCount: 0,
3203
- message: '',
3204
- loaded: true
3205
- };
3206
- }
3207
- const root = state.workspacePath;
3208
- const results = await textSearch(root, value, {
3209
- threads,
3210
- isCaseSensitive: hasMatchCase(flags),
3211
- useRegularExpression: hasUseRegularExpression(flags)
3212
- }, state.assetDir, state.platform);
3213
- if (!Array.isArray(results)) {
3214
- throw new TypeError('results must be of type array');
3215
- }
3216
- const {
3217
- fileCount,
3218
- resultCount
3219
- } = getTextSearchResultCounts(results);
3220
- const message = getStatusMessage(resultCount, fileCount);
3221
- const total = results.length;
3222
- const contentHeight = total * itemHeight;
3223
- const listHeight = height - headerHeight;
3224
- const scrollBarHeight = getScrollBarSize(height, contentHeight, minimumSliderSize);
3225
- const numberOfVisible = getNumberOfVisibleItems(listHeight, itemHeight);
3226
- const maxLineY = Math.min(numberOfVisible, total);
3227
- const finalDeltaY = Math.max(contentHeight - listHeight, 0);
3228
- const visible = results.slice(0, maxLineY);
3229
- const icons = await getFileIcons(visible);
3230
- return {
3231
- ...partialNewState,
3232
- minLineY: 0,
3233
- deltaY: 0,
3234
- value,
3235
- items: results,
3236
- listItems: results,
3237
- message,
3238
- maxLineY: maxLineY,
3239
- scrollBarHeight,
3240
- finalDeltaY,
3241
- threads,
3242
- fileCount,
3243
- matchCount: resultCount,
3244
- loaded: true,
3245
- icons
3246
- };
3247
- } catch (error) {
3248
- handleError(error);
3249
- return {
3250
- ...partialNewState,
3251
- message: `${error}`,
3252
- items: [],
3253
- listItems: [],
3254
- matchCount: 0,
3255
- fileCount: 0,
3256
- minLineY: 0,
3257
- maxLineY: 0
3258
- };
3259
- }
3260
- };
3261
-
3262
- const handleExcludeInput = (state, value, inputSource = Script) => {
3263
- return handleUpdate(state, {
3264
- excludeValue: value,
3265
- inputSource
3266
- });
3267
- };
3268
-
3269
- const handleIconThemeChange = async state => {
3270
- const {
3271
- items,
3272
- minLineY,
3273
- maxLineY
3274
- } = state;
3275
- const visibleItems = items.slice(minLineY, maxLineY);
3276
- const icons = await getFileIcons(visibleItems);
3277
- return {
3278
- ...state,
3279
- icons
3280
- };
3281
- };
3282
-
3283
- const handleIncludeInput = (state, includeValue) => {
3284
- return {
3285
- ...state,
3286
- includeValue,
3287
- focusSource: User
3288
- };
3289
- };
3290
-
3291
- const handleInput = (state, value, inputSource = Script) => {
3292
- return handleUpdate(state, {
3293
- value,
3294
- inputSource
3295
- });
3296
- };
3297
-
3298
- const handleListBlur = state => {
3299
- return state;
3300
- };
3301
-
3302
- const handleReplaceInput = (state, value, inputSource = Script) => {
3303
- return handleUpdate(state, {
3304
- replacement: value,
3305
- inputSource
3306
- });
3307
- };
3308
-
3309
- const getInputHandler = name => {
3310
- switch (name) {
3311
- case 'search-value':
3312
- return handleInput;
3313
- case 'replacement-value':
3314
- return handleReplaceInput;
3315
- case 'files-to-exclude-value':
3316
- return handleExcludeInput;
3317
- default:
3318
- throw new Error(`unknown input handler: ${name}`);
3319
- }
3320
- };
3321
-
3322
- const handleSharedInput = (state, name, value, inputSource = Script) => {
3323
- const fn = getInputHandler(name);
3324
- return fn(state, value, inputSource);
3325
- };
3326
-
3327
- const first = () => {
3328
- return 0;
3329
- };
3330
- const last = items => {
3331
- return items.length - 1;
3332
- };
3333
- const next = (items, index) => {
3334
- return (index + 1) % items.length;
3335
- };
3336
- const previous = (items, index) => {
3337
- return index === 0 ? items.length - 1 : index - 1;
3338
- };
3339
-
3340
- const focusIndexScrollUp = (state, index, listHeight, itemHeight, itemsLength) => {
3341
- const newMinLineY = index;
3342
- const fittingItems = getNumberOfVisibleItems(listHeight, itemHeight);
3343
- const newMaxLineY = Math.min(newMinLineY + fittingItems, itemsLength);
3344
- const newDeltaY = newMinLineY * itemHeight;
3345
- return {
3346
- ...state,
3347
- focusedIndex: index,
3348
- minLineY: newMinLineY,
3349
- maxLineY: newMaxLineY,
3350
- focused: true,
3351
- deltaY: newDeltaY
3352
- };
3353
- };
3354
- const focusIndexScrollDown = (state, index, listHeight, itemHeight, itemsLength) => {
3355
- const newMaxLineY = Math.min(index + 1, itemsLength);
3356
- const fittingItems = getNumberOfVisibleItems(listHeight, itemHeight);
3357
- const newMinLineY = Math.max(newMaxLineY - fittingItems, 0);
3358
- const newDeltaY = itemsLength < fittingItems ? 0 : newMinLineY * itemHeight - listHeight % itemHeight + itemHeight;
3359
- return {
3360
- ...state,
3361
- focusedIndex: index,
3362
- minLineY: newMinLineY,
3363
- maxLineY: newMaxLineY,
3364
- focused: true,
3365
- deltaY: newDeltaY
3366
- };
3367
- };
3368
- const focusIndex = (state, index) => {
3369
- const {
3370
- itemHeight,
3371
- minLineY,
3372
- maxLineY,
3373
- headerHeight,
3374
- height,
3375
- items
3376
- } = state;
3377
- const itemsLength = items.length;
3378
- if (itemsLength === 0) {
3379
- return state;
3380
- }
3381
- number(itemHeight);
3382
- if (index === -1) {
3383
- return {
3384
- ...state,
3385
- focusedIndex: -1,
3386
- focused: true
3387
- };
3388
- }
3389
- const listHeight = height - headerHeight;
3390
- if (index < minLineY + 1) {
3391
- return focusIndexScrollUp(state, index, listHeight, itemHeight, itemsLength);
3392
- }
3393
- if (index >= maxLineY - 1) {
3394
- return focusIndexScrollDown(state, index, listHeight, itemHeight, itemsLength);
3395
- }
3396
- return {
3397
- ...state,
3398
- focusedIndex: index,
3399
- focused: true
3400
- };
3401
- };
3402
-
3403
- const focusFirst = state => {
3404
- const firstIndex = first();
3405
- return focusIndex(state, firstIndex);
3406
- };
3407
-
3408
- const focusLast = state => {
3409
- const {
3410
- items
3411
- } = state;
3412
- const lastIndex = last(items);
3413
- return focusIndex(state, lastIndex);
3414
- };
3415
-
3416
- const focusNext = state => {
3417
- const {
3418
- focusedIndex,
3419
- items
3420
- } = state;
3421
- const nextIndex = next(items, focusedIndex);
3422
- return focusIndex(state, nextIndex);
3423
- };
3424
-
3425
- const focusNextPage = state => {
3426
- const {
3427
- focusedIndex,
3428
- items,
3429
- maxLineY,
3430
- minLineY
3431
- } = state;
3432
- if (isLastIndex(items, focusedIndex)) {
3433
- return state;
3434
- }
3435
- const indexNextPage = Math.min(maxLineY + (maxLineY - minLineY) - 2, lastIndex(items));
3436
- return focusIndex(state, indexNextPage);
3437
- };
3438
-
3439
- const focusPrevious = state => {
3440
- const {
3441
- focusedIndex,
3442
- items
3443
- } = state;
3444
- if (focusedIndex === 0 || focusedIndex === -1) {
3445
- return state;
3446
- }
3447
- const previousIndex = previous(items, focusedIndex);
3448
- return focusIndex(state, previousIndex);
3449
- };
3450
-
3451
- const focusPreviousPage = state => {
3452
- const {
3453
- focusedIndex,
3454
- minLineY,
3455
- maxLineY
3456
- } = state;
3457
- if (focusedIndex === 0 || focusedIndex === -1) {
3458
- return state;
3459
- }
3460
- const indexPreviousPage = Math.max(minLineY - (maxLineY - minLineY) + 1, 0);
3461
- return focusIndex(state, indexPreviousPage);
3462
- };
3463
-
3464
- const getListIndex = (eventX, eventY, x, y, deltaY, itemHeight, topHeight) => {
3465
- const relativeY = eventY - y - topHeight + deltaY;
3466
- const index = Math.floor(relativeY / itemHeight);
3467
- return index;
3468
- };
3469
-
3470
- const getTopHeight = flags => {
3471
- if (flags & ReplaceExpanded && flags & DetailsExpanded) {
3472
- return 190;
3473
- }
3474
- if (flags & DetailsExpanded) {
3475
- return 158;
3476
- }
3477
- if (flags & ReplaceExpanded) {
3478
- return 93;
3479
- }
3480
- return 61;
3481
- };
3482
-
3483
- const getFilteredResults = (results, collapsedPaths) => {
3484
- if (collapsedPaths.length === 0) {
3485
- return results;
3486
- }
3487
- const filteredResults = [];
3488
- let isExcluded = false;
3489
- for (const result of results) {
3490
- if (result.type === File$1) {
3491
- if (collapsedPaths.includes(result.text)) {
3492
- isExcluded = true;
3493
- } else {
3494
- isExcluded = false;
3495
- }
3496
- }
3497
- if (!isExcluded) {
3498
- filteredResults.push(result);
3499
- }
3500
- }
3501
- return filteredResults;
3502
- };
3503
-
3504
- const selectIndexFile = (state, searchResult, index) => {
3505
- const {
3506
- collapsedPaths,
3507
- items,
3508
- maxLineY
3509
- } = state;
3510
- const path = getAbsolutePath(searchResult.text);
3511
- string(path);
3512
- const pathWithDot = `.${path}`;
3513
- const newCollapsedPaths = [...collapsedPaths, path, pathWithDot];
3514
- const filteredResults = getFilteredResults(items, collapsedPaths);
3515
- const newMaxLineY = Math.min(maxLineY, filteredResults.length);
3516
- return {
3517
- ...state,
3518
- collapsedPaths: newCollapsedPaths,
3519
- listFocusedIndex: index,
3520
- listFocused: true,
3521
- listItems: filteredResults,
3522
- maxLineY: newMaxLineY
3523
- };
3524
- };
3525
-
3526
- const openUri = async (path, focus = true, props = {}) => {
3527
- await invoke$2(/* Main.openUri */'Main.openUri', /* uri */path, /* focus */focus, props);
3528
- };
3529
-
3530
- const getFileIndex = (items, index) => {
3531
- for (let i = index; i >= 0; i--) {
3532
- const item = items[i];
3533
- if (item.type === File$1) {
3534
- return i;
3535
- }
3536
- }
3537
- return -1;
3538
- };
3539
- const selectIndexPreview = async (state, searchResult, index) => {
3540
- const {
3541
- items
3542
- } = state;
3543
- const fileIndex = getFileIndex(items, index);
3544
- if (fileIndex === -1) {
3545
- throw new Error('Search result is missing file');
3546
- }
3547
- const {
3548
- lineNumber
3549
- } = searchResult;
3550
- const fileResult = items[fileIndex];
3551
- const path = getAbsolutePath(fileResult.text);
3552
- string(path);
3553
- await openUri(path, true, {
3554
- selections: new Uint32Array([lineNumber, 0, lineNumber, 0])
3555
- });
3556
- return {
3557
- ...state,
3558
- listFocusedIndex: index,
3559
- listFocused: false
3560
- };
3561
- };
3562
-
3563
- const selectIndex = async (state, index) => {
3564
- if (index === -1) {
3565
- return {
3566
- ...state,
3567
- listFocused: true,
3568
- listFocusedIndex: -1
3569
- };
3570
- }
3571
- const {
3572
- items
3573
- } = state;
3574
- const searchResult = items[index];
3575
- switch (searchResult.type) {
3576
- case File$1:
3577
- return selectIndexFile(state, searchResult, index);
3578
- case Match:
3579
- return selectIndexPreview(state, searchResult, index);
3580
- default:
3581
- throw new Error(`unexpected search result type ${searchResult.type}`);
3582
- }
3583
- };
3584
-
3585
- const handleClickAt = (state, eventX, eventY) => {
3586
- const {
3587
- x,
3588
- y,
3589
- itemHeight,
3590
- deltaY,
3591
- flags
3592
- } = state;
3593
- const topHeight = getTopHeight(flags);
3594
- const index = getListIndex(eventX, eventY, x, y, deltaY, itemHeight, topHeight);
3595
- return selectIndex(state, index);
3596
- };
3597
-
3598
- const handleScrollBarCaptureLost = state => {
3599
- return {
3600
- ...state,
3601
- scrollBarActive: false
3602
- };
3603
- };
3604
-
3605
- const clamp = (num, min, max) => {
3606
- return Math.min(Math.max(num, min), max);
3607
- };
3608
-
3609
- const setDeltaY = (state, value) => {
3610
- object(state);
3611
- number(value);
3612
- const {
3613
- itemHeight,
3614
- finalDeltaY,
3615
- deltaY,
3616
- height,
3617
- headerHeight
3618
- } = state;
3619
- const listHeight = height - headerHeight;
3620
- const newDeltaY = clamp(value, 0, finalDeltaY);
3621
- if (deltaY === newDeltaY) {
3622
- return state;
3623
- }
3624
- // TODO when it only moves by one px, extensions don't need to be rerendered, only negative margin
3625
- const minLineY = Math.floor(newDeltaY / itemHeight);
3626
- const maxLineY = minLineY + getNumberOfVisibleItems(listHeight, itemHeight);
3627
- return {
3628
- ...state,
3629
- deltaY: newDeltaY,
3630
- minLineY,
3631
- maxLineY
3632
- };
3633
- };
3634
-
3635
- const handleScrollBarClick = (state, eventY) => {
3636
- const {
3637
- y,
3638
- deltaY,
3639
- headerHeight,
3640
- finalDeltaY,
3641
- scrollBarHeight,
3642
- height
3643
- } = state;
3644
- const contentHeight = height - headerHeight;
3645
- const relativeY = eventY - y - headerHeight;
3646
- const currentScrollBarY = getScrollBarY(deltaY, finalDeltaY, contentHeight, scrollBarHeight);
3647
- const diff = relativeY - currentScrollBarY;
3648
- if (diff >= 0 && diff < scrollBarHeight) {
3649
- return {
3650
- ...state,
3651
- handleOffset: diff,
3652
- scrollBarActive: true
3653
- };
3654
- }
3655
- const {
3656
- percent,
3657
- handleOffset
3658
- } = getNewDeltaPercent(contentHeight, scrollBarHeight, relativeY);
3659
- const newDeltaY = percent * finalDeltaY;
3660
- return {
3661
- ...setDeltaY(state, newDeltaY),
3662
- handleOffset,
3663
- scrollBarActive: true
3664
- };
3665
- };
3666
-
3667
- const getNewPercent = (contentHeight, scrollBarHeight, relativeY) => {
3668
- if (relativeY <= contentHeight - scrollBarHeight / 2) {
3669
- // clicked in middle
3670
- return relativeY / (contentHeight - scrollBarHeight);
3671
- }
3672
- // clicked at bottom
3673
- return 1;
3674
- };
3675
- const handleScrollBarMove = (state, eventY) => {
3676
- const {
3677
- y,
3678
- headerHeight,
3679
- handleOffset,
3680
- finalDeltaY,
3681
- height,
3682
- scrollBarHeight
3683
- } = state;
3684
- const relativeY = eventY - y - headerHeight - handleOffset;
3685
- const contentHeight = height - headerHeight;
3686
- const newPercent = getNewPercent(contentHeight, scrollBarHeight, relativeY);
3687
- const newDeltaY = newPercent * finalDeltaY;
3688
- return setDeltaY(state, newDeltaY);
3689
- };
3690
-
3691
- const handleWheel = (state, deltaMode, deltaY) => {
3692
- number(deltaMode);
3693
- number(deltaY);
3694
- return setDeltaY(state, state.deltaY + deltaY);
3695
- };
3696
-
3697
- const getSavedValue = savedState => {
3698
- if (savedState && typeof savedState === 'object' && 'value' in savedState && typeof savedState.value === 'string') {
3699
- return savedState.value;
3700
- }
3701
- return '';
3702
- };
3703
- const getSavedReplacement = savedState => {
3704
- if (savedState && typeof savedState === 'object' && 'replacement' in savedState && typeof savedState.replacement === 'string') {
3705
- return savedState.replacement;
3706
- }
3707
- return '';
3708
- };
3709
- const getSavedFlags = savedState => {
3710
- if (savedState && typeof savedState === 'object' && 'flags' in savedState && typeof savedState.flags === 'number') {
3711
- return savedState.flags;
3712
- }
3713
- return 0;
3714
- };
3715
- const getSavedIncludeValue = savedState => {
3716
- if (savedState && typeof savedState === 'object' && 'includeValue' in savedState && typeof savedState.includeValue === 'string') {
3717
- return savedState.includeValue;
3718
- }
3719
- return '';
3720
- };
3721
- const getSavedExcludeValue = savedState => {
3722
- if (savedState && typeof savedState === 'object' && 'excludeValue' in savedState && typeof savedState.excludeValue === 'string') {
3723
- return savedState.excludeValue;
3724
- }
3725
- return '';
3726
- };
3727
- const restoreState = savedState => {
3728
- return {
3729
- savedValue: getSavedValue(savedState),
3730
- replacement: getSavedReplacement(savedState),
3731
- savedCollapsedPaths: [],
3732
- threads: 1,
3733
- flags: getSavedFlags(savedState),
3734
- includeValue: getSavedIncludeValue(savedState),
3735
- excludeValue: getSavedExcludeValue(savedState)
3736
- };
3737
- };
3738
-
3739
- const loadContent = async (state, savedState) => {
3740
- const {
3741
- savedValue,
3742
- savedCollapsedPaths,
3743
- threads,
3744
- replacement,
3745
- flags,
3746
- includeValue,
3747
- excludeValue
3748
- } = restoreState(savedState);
3749
- if (savedValue) {
3750
- return handleUpdate(state, {
3751
- value: savedValue,
3752
- threads,
3753
- inputSource: Script,
3754
- collapsedPaths: savedCollapsedPaths,
3755
- replacement,
3756
- flags,
3757
- includeValue,
3758
- excludeValue
3759
- });
3760
- }
3761
- return {
3762
- ...state,
3763
- threads,
3764
- flags,
3765
- loaded: true
3766
- };
3767
- };
3768
-
3769
- const refresh = state => {
3770
- return handleUpdate(state, {});
3771
- };
3772
-
3773
- const getFocusSelector = focusKey => {
3774
- switch (focusKey) {
3775
- case FocusSearchInput:
3776
- return SearchValue;
3777
- case FocusSearchReplaceInput:
3778
- return ReplaceValue;
3779
- case FocusToggleDetails:
3780
- return ToggleSearchDetails;
3781
- case FocusSearchMatchCase:
3782
- return MatchCase;
3783
- case FocusSearchPreserveCase:
3784
- return PreserveCase;
3785
- case FocusSearchRegex:
3786
- return UseRegularExpression;
3787
- case FocusSearchIncludeInput:
3788
- return FilesToInclude;
3789
- case FocusSearchExcludeInput:
3790
- return FilesToExclude;
3791
- case FocusSearchWholeWord:
3792
- return MatchWholeWord;
3793
- case FocusSearchReplaceAll:
3794
- return ReplaceAll;
3795
- case FocusSearchOpenEditors:
3796
- return SearchOnlyOpenEditors;
3797
- case FocusIgnoreFiles:
3798
- return UseExcludeSettings;
3799
- case FocusToggleReplace:
3800
- return ToggleReplace;
3801
- default:
3802
- return '';
3803
- }
3804
- };
3805
-
3806
- const renderItems = {
3807
- isEqual(oldState, newState) {
3808
- return oldState.items === newState.items && oldState.minLineY === newState.minLineY && oldState.maxLineY === newState.maxLineY && oldState.replacement === newState.replacement && oldState.flags === newState.flags && oldState.message === newState.message && oldState.loaded === newState.loaded && oldState.collapsedPaths === newState.collapsedPaths && oldState.listFocusedIndex === newState.listFocusedIndex && oldState.listFocused === newState.listFocused && oldState.icons === newState.icons;
3809
- },
3810
- apply(oldState, newState) {
3811
- const displayResults = getDisplayResults(newState.listItems, newState.itemHeight, newState.fileCount, newState.value, newState.minLineY, newState.maxLineY, newState.replacement, newState.icons, newState.listFocusedIndex);
3812
- const focusOutline = newState.listFocused && newState.listFocusedIndex === -1;
3813
- const dom = getSearchVirtualDom(displayResults, newState.flags, newState.message, focusOutline);
3814
- return ['Viewlet.setDom2', newState.uid, dom];
3815
- }
3816
- };
3817
- const renderFocus = {
3818
- isEqual(oldState, newState) {
3819
- return oldState.focus === newState.focus || newState.focusSource === User;
3820
- },
3821
- apply(oldState, newState) {
3822
- const name = newState.focusSource === User ? '' : getFocusSelector(newState.focus);
3823
- return ['Viewlet.focusElementByName', name];
3824
- }
3825
- };
3826
- const renderValue = {
3827
- isEqual(oldState, newState) {
3828
- return oldState.value === newState.value || newState.inputSource === User;
3829
- },
3830
- apply(oldState, newState) {
3831
- return ['Viewlet.send', newState.uid, 'setValue', newState.value, '[name="search-value"]'];
3832
- }
3833
- };
3834
- const renderReplacement = {
3835
- isEqual(oldState, newState) {
3836
- return oldState.replacement === newState.replacement || newState.inputSource === User;
3837
- },
3838
- apply(oldState, newState) {
3839
- const selector = getFocusSelector(FocusSearchReplaceInput);
3840
- return ['Viewlet.send', newState.uid, 'setValue', newState.replacement, selector];
3841
- }
3842
- };
3843
- const renderIncludeValue = {
3844
- isEqual(oldState, newState) {
3845
- return oldState.includeValue === newState.includeValue || newState.inputSource === User;
3846
- },
3847
- apply(oldState, newState) {
3848
- const selector = getFocusSelector(FocusSearchIncludeInput);
3849
- return ['Viewlet.send', newState.uid, 'setValue', newState.includeValue, selector];
3850
- }
3851
- };
3852
- const renderExcludeValue = {
3853
- isEqual(oldState, newState) {
3854
- return oldState.excludeValue === newState.excludeValue || newState.inputSource === User;
3855
- },
3856
- apply(oldState, newState) {
3857
- const selector = getFocusSelector(FocusSearchExcludeInput);
3858
- return ['Viewlet.send', newState.uid, 'setValue', newState.excludeValue, selector];
3859
- }
3860
- };
3861
- const render = [renderItems, renderValue, renderIncludeValue, renderExcludeValue, renderReplacement, renderFocus];
3862
- const doRender = uid => {
3863
- const {
3864
- oldState,
3865
- newState
3866
- } = get(uid);
3867
- const commands = [];
3868
- for (const fn of render) {
3869
- if (!fn.isEqual(oldState, newState)) {
3870
- commands.push(fn.apply(oldState, newState));
3871
- }
3872
- }
3873
- return commands;
3874
- };
3875
-
3876
- const getBulkReplacementEdits = (workspacePath, matches) => {
3877
- string(workspacePath);
3878
- array(matches);
3879
- const files = [];
3880
- const ranges = [];
3881
- let currentRanges = [];
3882
- for (const match of matches) {
3883
- const {
3884
- type,
3885
- text
3886
- } = match;
3887
- switch (type) {
3888
- case File$1:
3889
- ranges.push(currentRanges.length);
3890
- push(ranges, currentRanges);
3891
- const absolutePath = `${workspacePath}/${text.slice(2)}`;
3892
- files.push(absolutePath);
3893
- currentRanges = [];
3894
- break;
3895
- case Match:
3896
- currentRanges.push(match.lineNumber - 1, match.matchStart, match.lineNumber - 1, match.matchStart + match.matchLength);
3897
- break;
3898
- }
3899
- }
3900
- ranges.push(currentRanges.length);
3901
- push(ranges, currentRanges);
3902
- return {
3903
- files,
3904
- ranges: ranges.slice(1)
3905
- };
3906
- };
3907
-
3908
- const replaceAll = async state => {
3909
- const {
3910
- workspacePath,
3911
- items,
3912
- replacement
3913
- } = state;
3914
- const {
3915
- files,
3916
- ranges
3917
- } = getBulkReplacementEdits(workspacePath, items);
3918
- await invoke$2('BulkReplacement.applyBulkReplacement', files, ranges, replacement);
3919
- return state;
3920
- };
3921
-
3922
- const getReplaceAllConfirmText = (matchCount, fileCount, replacement) => {
3923
- if (matchCount === 1) {
3924
- if (replacement) {
3925
- return confirmReplaceOneOccurrenceInOneFile(replacement);
3926
- }
3927
- return confirmReplaceOneOccurrenceInOneFileNoValue();
3928
- }
3929
- if (fileCount === 1) {
3930
- if (replacement) {
3931
- return confirmReplaceManyOccurrencesInOneFile(matchCount, replacement);
3932
- }
3933
- return confirmReplaceManyOccurrencesInOneFileNoValue(matchCount);
3934
- }
3935
- if (replacement) {
3936
- return confirmReplaceManyOccurrencesInManyFiles(matchCount, fileCount, replacement);
3937
- }
3938
- return confirmReplaceManyOccurrencesInManyFilesNoValue(matchCount, fileCount);
3939
- };
3940
-
3941
- const replaceAllAndPrompt = async (workspacePath, items, replacement, matchCount, fileCount) => {
3942
- string(workspacePath);
3943
- array(items);
3944
- string(replacement);
3945
- number(matchCount);
3946
- number(fileCount);
3947
- const confirmTitle = replaceAll$1();
3948
- const confirmAccept = replace();
3949
- const confirmText = getReplaceAllConfirmText(matchCount, fileCount, replacement);
3950
- const shouldReplace = await invoke$2('ConfirmPrompt.prompt', confirmText, {
3951
- title: confirmTitle,
3952
- confirmMessage: confirmAccept
3953
- });
3954
- if (!shouldReplace) {
3955
- return false;
3956
- }
3957
- // TODO
3958
- // await TextSearchReplaceAll.replaceAll(workspacePath, items, replacement)
3959
- return true;
3960
- };
3961
-
3962
- const saveState = uid => {
3963
- const {
3964
- newState
3965
- } = get(uid);
3966
- const {
3967
- value,
3968
- replacement,
3969
- flags,
3970
- includeValue,
3971
- excludeValue
3972
- } = newState;
3973
- return {
3974
- value,
3975
- replacement,
3976
- flags,
3977
- includeValue,
3978
- excludeValue
3979
- };
3980
- };
3981
-
3982
- const focusElement = (state, focusKey) => {
3983
- return {
3984
- ...state,
3985
- focus: focusKey,
3986
- focusSource: Script
3987
- };
3988
- };
3989
-
3990
- const setFocus = async focusKey => {
3991
- await invoke$2('Focus.setFocus', focusKey);
3992
- };
3993
-
3994
- const getSearchFocusKey = key => {
3995
- switch (key) {
3996
- case SearchValue:
3997
- return FocusSearchInput;
3998
- case ReplaceValue:
3999
- return FocusSearchReplaceInput;
4000
- case MatchCase:
4001
- return FocusSearchMatchCase;
4002
- case MatchWholeWord:
4003
- return FocusSearchWholeWord;
4004
- case UseRegularExpression:
4005
- return FocusSearchRegex;
4006
- case ReplaceAll:
4007
- return FocusSearchReplaceAll;
4008
- case PreserveCase:
4009
- return FocusSearchPreserveCase;
4010
- case ToggleSearchDetails:
4011
- return FocusToggleDetails;
4012
- case FilesToInclude:
4013
- return FocusSearchIncludeInput;
4014
- case FilesToExclude:
4015
- return FocusSearchExcludeInput;
4016
- case SearchOnlyOpenEditors:
4017
- return FocusSearchOpenEditors;
4018
- case UseExcludeSettings:
4019
- return FocusIgnoreFiles;
4020
- default:
4021
- return Empty$1;
4022
- }
4023
- };
4024
-
4025
- const focusSearchValue = state => {
4026
- return focusElement(state, FocusSearchInput);
4027
- };
4028
- const focusMatchCasePrevious = state => {
4029
- if (hasReplaceExpanded(state.flags)) {
4030
- return focusReplaceValue(state);
4031
- }
4032
- return focusSearchValue(state);
4033
- };
4034
- const focusReplaceValuePrevious = state => {
4035
- return focusSearchValue(state);
4036
- };
4037
- const focusReplaceValueNext = state => {
4038
- return focusMatchCase(state);
4039
- };
4040
- const focusRegexNext = state => {
4041
- return focusPreserveCase(state);
4042
- };
4043
- const focusPreserveCasePrevious = state => {
4044
- return focusRegex(state);
4045
- };
4046
- const focusReplaceValue = state => {
4047
- return focusElement(state, FocusSearchReplaceInput);
4048
- };
4049
- const focusMatchCase = state => {
4050
- return focusElement(state, FocusSearchMatchCase);
4051
- };
4052
- const focusPreserveCase = state => {
4053
- return focusElement(state, FocusSearchPreserveCase);
4054
- };
4055
- const focusMatchWholeWord = state => {
4056
- return focusElement(state, FocusSearchWholeWord);
4057
- };
4058
- const focusRegex = state => {
4059
- return focusElement(state, FocusSearchRegex);
4060
- };
4061
- const focusReplaceAll = state => {
4062
- return focusElement(state, FocusSearchReplaceAll);
4063
- };
4064
- const handleFocusIn = (state, key) => {
4065
- const focusKey = getSearchFocusKey(key);
4066
- if (state.focus === focusKey) {
4067
- return state;
4068
- }
4069
- void setFocus(FocusSearch);
4070
- return {
4071
- ...state,
4072
- focus: focusKey,
4073
- focusSource: User
4074
- };
4075
- };
4076
-
4077
- const submit = state => {
4078
- return handleUpdate(state, {
4079
- value: state.value,
4080
- inputSource: User
4081
- });
4082
- };
4083
-
4084
- const toggleSearchFlag = (state, flag) => {
4085
- return {
4086
- ...state,
4087
- flags: state.flags ^ flag
4088
- };
4089
- };
4090
-
4091
- const collapseDetails = state => {
4092
- return {
4093
- ...toggleSearchFlag(state, DetailsExpanded),
4094
- focus: FocusSearchInput,
4095
- focusSource: Script
4096
- };
4097
- };
4098
-
4099
- const expandDetails = state => {
4100
- return {
4101
- ...toggleSearchFlag(state, DetailsExpanded),
4102
- focus: FocusSearchIncludeInput,
4103
- focusSource: Script
4104
- };
4105
- };
4106
-
4107
- const toggleDetailsExpanded = state => {
4108
- if (hasDetailsExpanded(state.flags)) {
4109
- return collapseDetails(state);
4110
- }
4111
- return expandDetails(state);
4112
- };
4113
-
4114
- const toggleMatchCase = state => {
4115
- return toggleSearchFlag(state, MatchCase$1);
4116
- };
4117
-
4118
- const toggleMatchWholeWord = state => {
4119
- return toggleSearchFlag(state, MatchWholeWord$1);
4120
- };
4121
-
4122
- const toggleOpenEditors = state => {
4123
- return toggleSearchFlag(state, OpenEditors);
4124
- };
4125
-
4126
- const togglePreserveCase = state => {
4127
- return toggleSearchFlag(state, PreserveCase$1);
4128
- };
4129
-
4130
- const toggleReplace = state => {
4131
- return toggleSearchFlag(state, ReplaceExpanded);
4132
- };
4133
-
4134
- const toggleUseIgnoreFiles = state => {
4135
- return toggleSearchFlag(state, UseIgnoreFiles);
4136
- };
4137
-
4138
- const toggleUseRegularExpression = state => {
4139
- return toggleSearchFlag(state, UseRegularExpression$1);
4140
- };
4141
-
4142
- const Keyboard = -1;
4143
-
4144
- const show = async (x, y, id, ...args) => {
4145
- // TODO ask renderer worker to show context menu
4146
- number(x);
4147
- number(y);
4148
- number(id);
4149
- // TODO
4150
- await invoke$2('ContextMenu.show', x, y, id, ...args);
4151
- };
4152
-
4153
- const Search = 18;
4154
-
4155
- const handleContextMenuKeyboard = async state => {
4156
- const x = state.x; // TODO
4157
- const y = state.y; // TODO
4158
- await show(x, y, Search);
4159
- return state;
4160
- };
4161
-
4162
- const handleContextMenuMouseAt = async (state, x, y) => {
4163
- await show(x, y, Search);
4164
- return state;
4165
- };
4166
-
4167
- const handleContextMenu = (state, button, x, y) => {
4168
- switch (button) {
4169
- case Keyboard:
4170
- return handleContextMenuKeyboard(state);
4171
- default:
4172
- return handleContextMenuMouseAt(state, x, y);
4173
- }
4174
- };
4175
-
4176
- const wrapCommand = fn => {
4177
- const wrapped = async (uid, ...args) => {
4178
- const {
4179
- newState
4180
- } = get(uid);
4181
- const newerState = await fn(newState, ...args);
4182
- set(uid, newState, newerState);
4183
- };
4184
- return wrapped;
4185
- };
4186
-
4187
- const commandMap = {
4188
- 'TextSearch.clearSearchResults': wrapCommand(clearSearchResults$1),
4189
- 'TextSearch.copy': wrapCommand(copy),
4190
- 'TextSearch.dismissItem': wrapCommand(dismissItem),
4191
- 'TextSearch.focusFirst': wrapCommand(focusFirst),
4192
- 'TextSearch.focusIndex': wrapCommand(focusIndex),
4193
- 'TextSearch.focusLast': wrapCommand(focusLast),
4194
- 'TextSearch.focusMatchCase': wrapCommand(focusMatchCase$1),
4195
- 'TextSearch.focusMatchCasePrevious': wrapCommand(focusMatchCasePrevious),
4196
- 'TextSearch.focusMatchWholeWord': wrapCommand(focusMatchWholeWord),
4197
- 'TextSearch.focusNext': wrapCommand(focusNext),
4198
- 'TextSearch.focusNextInput': wrapCommand(focusNextInput),
4199
- 'TextSearch.focusNextPage': wrapCommand(focusNextPage),
4200
- 'TextSearch.focusPreserveCase': wrapCommand(focusPreserveCase),
4201
- 'TextSearch.focusPreserveCasePrevious': wrapCommand(focusPreserveCasePrevious),
4202
- 'TextSearch.focusPrevious': wrapCommand(focusPrevious),
4203
- 'TextSearch.focusPreviousInput': wrapCommand(focusPreviousInput),
4204
- 'TextSearch.focusPreviousPage': wrapCommand(focusPreviousPage),
4205
- 'TextSearch.focusRegex': wrapCommand(focusRegex),
4206
- 'TextSearch.focusRegexNext': wrapCommand(focusRegexNext),
4207
- 'TextSearch.focusReplaceAll': wrapCommand(focusReplaceAll),
4208
- 'TextSearch.focusReplaceValue': wrapCommand(focusReplaceValue$1),
4209
- 'TextSearch.focusReplaceValueNext': wrapCommand(focusReplaceValueNext),
4210
- 'TextSearch.focusReplaceValuePrevious': wrapCommand(focusReplaceValuePrevious),
4211
- 'TextSearch.focusSearchValue': wrapCommand(focusSearchValue$1),
4212
- 'TextSearch.focusSearchValueNext': wrapCommand(focusSearchValueNext),
4213
- 'TextSearch.getActions': wrapCommand(getActions),
4214
- 'TextSearch.getActionsVirtualDom': wrapCommand(getActionsVirtualDom),
4215
- 'TextSearch.getSearchDisplayResults': wrapCommand(getDisplayResults),
4216
- 'TextSearch.getVirtualDom': wrapCommand(getSearchVirtualDom),
4217
- 'TextSearch.handleClickAt': wrapCommand(handleClickAt),
4218
- 'TextSearch.handleContextMenu': wrapCommand(handleContextMenu),
4219
- 'TextSearch.handleExcludeInput': wrapCommand(handleExcludeInput),
4220
- 'TextSearch.handleFocusIn': wrapCommand(handleFocusIn),
4221
- 'TextSearch.handleIconThemeChange': wrapCommand(handleIconThemeChange),
4222
- 'TextSearch.handleIncludeInput': wrapCommand(handleIncludeInput),
4223
- 'TextSearch.handleInput': wrapCommand(handleInput),
4224
- 'TextSearch.handleListBlur': wrapCommand(handleListBlur),
4225
- 'TextSearch.handleReplaceInput': wrapCommand(handleReplaceInput),
4226
- 'TextSearch.handleScrollBarCaptureLost': wrapCommand(handleScrollBarCaptureLost),
4227
- 'TextSearch.handleScrollBarClick': wrapCommand(handleScrollBarClick),
4228
- 'TextSearch.handleScrollBarMove': wrapCommand(handleScrollBarMove),
4229
- 'TextSearch.handleSharedInput': wrapCommand(handleSharedInput),
4230
- 'TextSearch.handleWheel': wrapCommand(handleWheel),
4231
- 'TextSearch.launchSearchProcess': wrapCommand(launchSearchProcess),
4232
- 'TextSearch.loadContent': wrapCommand(loadContent),
4233
- 'TextSearch.refresh': wrapCommand(refresh),
4234
- 'TextSearch.replaceAll': wrapCommand(replaceAll),
4235
- 'TextSearch.replaceAllAndPrompt': wrapCommand(replaceAllAndPrompt),
4236
- 'TextSearch.submit': wrapCommand(submit),
4237
- 'TextSearch.toggleMatchCase': wrapCommand(toggleMatchCase),
4238
- 'TextSearch.toggleMatchWholeWord': wrapCommand(toggleMatchWholeWord),
4239
- 'TextSearch.toggleOpenEditors': wrapCommand(toggleOpenEditors),
4240
- 'TextSearch.togglePreserveCase': wrapCommand(togglePreserveCase),
4241
- 'TextSearch.toggleReplace': wrapCommand(toggleReplace),
4242
- 'TextSearch.toggleSearchDetails': wrapCommand(toggleDetailsExpanded),
4243
- 'TextSearch.toggleUseIgnoreFiles': wrapCommand(toggleUseIgnoreFiles),
4244
- 'TextSearch.toggleUseRegularExpression': wrapCommand(toggleUseRegularExpression),
4245
- // not wrapped
4246
- 'TextSearch.create': create,
4247
- 'TextSearch.getFlags': getFlags,
4248
- 'TextSearch.getFocus': getFocus,
4249
- 'TextSearch.getKeyBindings': getKeyBindings,
4250
- 'TextSearch.render': doRender,
4251
- 'TextSearch.saveState': saveState,
4252
- // TODO needed?
4253
- 'TextSearch.textSearch': textSearch
4254
- };
4255
-
4256
- const listen = async () => {
4257
- const rpc = await WebWorkerRpcClient.create({
4258
- commandMap: commandMap
4259
- });
4260
- setRpc(rpc);
4261
- };
4262
-
4263
- const main = async () => {
4264
- await listen();
4265
- };
4266
-
4267
- main();