@lvce-editor/static-server 0.56.4 → 0.56.6
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.
- package/dist/static-server.js +1864 -1864
- package/package.json +1 -1
- package/static/{e6ddf2e → 0f5bf1d}/css/App.css +83 -83
- package/static/{e6ddf2e → 0f5bf1d}/manifest.json +2 -2
- package/static/{e6ddf2e → 0f5bf1d}/packages/about-view-worker/dist/aboutWorkerMain.js +59 -50
- package/static/{e6ddf2e → 0f5bf1d}/packages/clipboard-worker/dist/clipBoardWorkerMain.js +33 -24
- package/static/{e6ddf2e → 0f5bf1d}/packages/extension-detail-view-worker/dist/extensionDetailViewWorkerMain.js +616 -180
- package/static/{e6ddf2e → 0f5bf1d}/packages/extension-host-worker/dist/extensionHostWorkerMain.js +1229 -1057
- package/static/{e6ddf2e → 0f5bf1d}/packages/file-system-worker/dist/fileSystemWorkerMain.js +25 -0
- package/static/{e6ddf2e → 0f5bf1d}/packages/renderer-process/dist/rendererProcessMain.js +1 -1
- package/static/{e6ddf2e → 0f5bf1d}/packages/renderer-worker/dist/rendererWorkerMain.js +104 -87
- package/static/{e6ddf2e → 0f5bf1d}/packages/test-worker/dist/testWorkerMain.js +13 -1
- package/static/index.html +4 -4
- /package/static/{e6ddf2e → 0f5bf1d}/config/colorTheme.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/config/defaultSettings.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/config/fileMap.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/config/webExtensions.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/AdditionalDetails.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/Animation.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/BrowserScrollBar.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/Category.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/DebugButtons.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/DebugValue.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/E2eTest.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/E2eTests.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/EditorHover.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/EditorMessage.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/FeatureContent.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/Features.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ImagePreview.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/InlineDiffEditor.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/InputBadge.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/Key.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/KeyBindingsHeader.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/KeyBindingsTable.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/LegacyDialog.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/Markdown.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/Message.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/Progress.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ScrollToTop.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/SearchToggleButton.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/Select.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/Table.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletAbout.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletBrowserViewOverview.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletDebugConsole.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletDefineKeyBinding.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletDialog.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletDiffEditor.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletEditorWidgetError.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletExtensionDetail.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletExtensionDetailHeader.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletExtensionDetailTabs.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletExtensions.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletIframeInspector.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletKeyBindings.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletMedia.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletOutput.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletPanel.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletPanelTabs.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletPdf.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletProblems.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletReferences.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletRunAndDebug.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletScreenCapture.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletSearch.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletSimpleBrowser.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletSourceControl.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletStorage.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletTerminal.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/css/parts/ViewletTerminalTabs.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-bat/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-bat/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-bat/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-c/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-c/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-coffeescript/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-coffeescript/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-cpp/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-cpp/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-cson/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-cson/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-css/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-css/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-css/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-dart/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-dart/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-desktop/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-desktop/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-docker/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-docker/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-dotenv/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-dotenv/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-editorconfig/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-editorconfig/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-elixir/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-elixir/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-elm/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-elm/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-gitattributes/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-gitattributes/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-gn/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-gn/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-go/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-go/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-graphql/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-graphql/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-html/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-html/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-html/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-java/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-java/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-java/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-javascript/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-javascript/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-json/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-json/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-json5/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-json5/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-json5/src/tokenizeJson5.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-jsx/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-jsx/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-julia/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-julia/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-kotlin/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-kotlin/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-less/LICENSE +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-less/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-less/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-less/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-markdown/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-markdown/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-mdx/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-mdx/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-nix/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-nix/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-nix/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-nix/src/tokenizeNix.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-nvmrc/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-nvmrc/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-perl/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-perl/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-plaintext/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-plaintext/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-powershell/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-powershell/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-python/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-python/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-python/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-r/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-r/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-ruby/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-ruby/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-rust/LICENSE +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-rust/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-rust/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-scss/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-scss/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-scss/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-shellscript/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-shellscript/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-svelte/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-svelte/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-terraform/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-terraform/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-terraform/src/tokenizeTerraform.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-toml/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-toml/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-typescript/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-typescript/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-vue/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-vue/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-wgsl/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-wgsl/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-xml/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-xml/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-yaml/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-yaml/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-atom-one-dark/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-atom-one-dark/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-ayu/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-ayu/color-theme.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-ayu/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-cobalt2/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-cobalt2/color-theme.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-cobalt2/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-gruvbox/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-gruvbox/color-theme.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-gruvbox/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-high-contrast/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-high-contrast/color-theme.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-high-contrast/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-material/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-material/color-theme.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-material/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-monokai/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-monokai/color-theme.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-monokai/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-noctis-uva/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-noctis-uva/color-theme.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-noctis-uva/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-palenight/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-palenight/color-theme.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-palenight/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-palenight/images/demo.png +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-slime/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-slime/color-theme.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-slime/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.theme-slime/icon.png +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.vscode-icons/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.vscode-icons/extension.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.vscode-icons/icon-theme.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/extensions/builtin.vscode-icons/icon.png +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/default_file.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/default_folder.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/default_folder_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/default_root_folder.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/default_root_folder_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_access.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_access2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_actionscript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_actionscript2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ada.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_advpl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_affectscript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_affinitydesigner.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_affinityphoto.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_affinitypublisher.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_agda.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ai.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ai2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_al.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_al_dal.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_allcontributors.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_angular.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ansible.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_antlers_html.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_antlr.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_anyscript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_apache.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_apex.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_api_extractor.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_apib.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_apib2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_apl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_applescript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_appscript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_appsemble.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_appveyor.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_arduino.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_asciidoc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_asp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_aspx.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_assembly.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_astro.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_astroconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_atom.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ats.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_attw.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_audio.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_aurelia.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_autohotkey.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_autoit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_avif.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_avro.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_awk.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_aws.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_azure.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_azurepipelines.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_babel.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_babel2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bak.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ballerina.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bat.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bats.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bazaar.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bazel.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bazel_ignore.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bazel_version.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_befunge.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bicep.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_biml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_binary.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_biome.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bitbucketpipeline.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bithound.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_blade.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_blender.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_blitzbasic.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bolt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bosque.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bower.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bower2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_browserslist.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bruno.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_buckbuild.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_buf.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bun.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bundlemon.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bundler.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_bunfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_c.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_c2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_c3.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_c_al.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cabal.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_caddy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cake.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cakephp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_capacitor.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_capnp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cargo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_casc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cddl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cert.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ceylon.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cf.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cf2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cfc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cfc2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cfm.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cfm2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_changie.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cheader.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_chef.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_chef_cookbook.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_circleci.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_class.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_claude.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_clojure.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_clojurescript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cloudfoundry.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cmake.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cobol.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_codacy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_codeclimate.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_codecov.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_codekit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_codemagic.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_codeowners.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_codeql.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_coderabbit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_coffeelint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_coffeescript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_commitizen.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_commitlint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_compass.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_composer.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_conan.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_conda.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_config.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_confluence.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_copilot.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_coverage.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_coveralls.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cpp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cpp2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cpp3.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cppheader.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_craco.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_crowdin.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_crystal.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_csharp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_csharp2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cspell.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_csproj.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_css.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_css2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_css2map.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_csscomb.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_csslint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cssmap.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cucumber.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cuda.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cursorrules.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cvs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cypress.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cypress_spec.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_cython.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dal.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_darcs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dartlang.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dartlang_generated.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dartlang_ignore.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_datadog.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_db.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_debian.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_delphi.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_deno.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_denoify.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dependabot.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dependencies.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_devcontainer.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dhall.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_diff.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_django.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dlang.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_docker.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_docker2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dockertest.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dockertest2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_docpad.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_docusaurus.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_docz.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dojo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_doppler.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dotenv.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dotjs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_doxygen.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_drawio.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_drone.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_drools.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dtd.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dune.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dustjs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dvc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_dylan.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_earthly.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_eas-metadata.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_edge.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_edge2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_editorconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_eex.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ejs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_elastic.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_elasticbeanstalk.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_eleventy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_eleventy2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_elixir.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_elm.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_elm2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_emacs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ember.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ensime.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_eps.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_epub.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_erb.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_erlang.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_erlang2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_esbuild.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_eslint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_eslint2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_esphome.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_excalidraw.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_excel.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_excel2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_expo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_falcon.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fantasticon.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fastly.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fauna.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_favicon.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fbx.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_firebase.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_firebasehosting.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_firestore.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fitbit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fla.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_flareact.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_flash.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_floobits.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_flow.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_flutter.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_flutter_package.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_flyio.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_font.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_formkit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fortran.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fossa.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fossil.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_freemarker.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_frontcommerce.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fsharp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fsharp2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fsproj.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fthtml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_funding.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_fusebox.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_galen.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_galen2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gamemaker.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gamemaker2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gamemaker81.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gatsby.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gcloud.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gcode.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gdscript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_genstat.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_git.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_git2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gitlab.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gitpod.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gleam.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gleamconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_glide.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_glitter.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_glsl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gltf.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_glyphs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gnu.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gnuplot.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_go.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_go_aqua.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_go_black.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_go_fuchsia.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_go_gopher.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_go_lightblue.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_go_package.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_go_white.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_go_work.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_go_yellow.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_goctl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_godot.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gpg.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gradle.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gradle2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_grain.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_graphql.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_graphql_config.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_graphviz.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_greenkeeper.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gridsome.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_groovy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_groovy2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_grunt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_gulp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_haml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_handlebars.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_handlebars2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_harbour.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_hardhat.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_hashicorp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_haskell.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_haskell2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_haxe.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_haxecheckstyle.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_haxedevelop.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_helix.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_helm.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_histoire.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_hjson.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_hlsl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_homeassistant.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_horusec.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_host.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_html.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_htmlhint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_htmlvalidate.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_http.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_hugo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_humanstxt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_hunspell.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_husky.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_hy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_hygen.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_hypr.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_icl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_idris.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_idrisbin.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_idrispkg.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_image.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_imba.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_inc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_infopath.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_informix.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ini.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ink.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_innosetup.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_io.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_iodine.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ionic.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jake.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_janet.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jar.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jasmine.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_java.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jbuilder.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jekyll.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jenkins.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jest.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jest_snapshot.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jinja.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jpm.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_js_official.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jsbeautify.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jsconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jscpd.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jshint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jsmap.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_json.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_json2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_json5.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_json_official.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_json_schema.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jsonld.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jsonnet.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jsp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jsr.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jss.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_juice.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_julia.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_julia2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_jupyter.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_just.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_k.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_karma.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_key.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_kitchenci.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_kite.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_kivy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_knip.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_kos.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_kotlin.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_kusto.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_language_configuration.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lark.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_latino.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_layout.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lefthook.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lerna.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_less.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lex.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_liara.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_libreoffice_base.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_libreoffice_calc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_libreoffice_draw.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_libreoffice_impress.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_libreoffice_math.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_libreoffice_writer.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_license.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_licensebat.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_actionscript2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_ada.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_agda.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_apl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_astro.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_astroconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_babel.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_babel2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_cabal.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_circleci.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_cloudfoundry.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_codacy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_codeclimate.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_codeowners.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_config.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_copilot.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_crystal.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_cypress.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_cypress_spec.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_db.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_deno.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_dhall.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_docpad.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_drone.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_eas-metadata.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_eleventy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_eleventy2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_esphome.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_expo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_firebasehosting.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_fla.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_font.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_gamemaker2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_gradle.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_hashicorp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_hjson.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_ini.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_io.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_jsconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_jsmap.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_json.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_json5.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_json_schema.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_jsonld.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_kite.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_lark.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_lerna.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_mailing.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_markuplint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_mdx-components.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_mdx.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_mlang.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_mustache.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_mypy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_neo4j.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_netlify.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_next.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_nim.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_nx.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_objidconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_openHAB.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_pcl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_pnpm.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_prettier.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_prisma.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_purescript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_quasar.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_raku.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_razzle.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_reactrouter.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_rehype.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_remark.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_replit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_retext.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_rome.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_rubocop.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_rust.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_rust_toolchain.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_safetensors.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_shaderlab.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_solidity.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_spin.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_stylelint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_stylus.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_symfony.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_systemd.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_systemverilog.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_testcafe.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_testjs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_tex.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_tm.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_tmux.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_todo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_toit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_toml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_tree.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_turbo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_unibeautify.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_vash.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_vercel.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_vsix.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_vsixmanifest.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_xfl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_xorg.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_yaml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_yaml_official.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_light_zeit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lighthouse.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lilypond.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lime.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lintstagedrc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_liquid.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lisp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_livescript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lnk.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_locale.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_log.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lolcode.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lsl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lua.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_luau.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_lync.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mailing.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_makefile.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_manifest.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_manifest_bak.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_manifest_skip.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_map.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mariadb.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_markdown.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_markdownlint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_markdownlint_ignore.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_marko.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_markojs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_markuplint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_master-co.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_matlab.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_maven.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_maxscript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_maya.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mdx-components.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mdx.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mediawiki.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mercurial.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mermaid.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_meson.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_metal.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_meteor.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_minecraft.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mivascript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mjml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mlang.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mocha.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_modernizr.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mojo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mojolicious.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_moleculer.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mondoo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mongo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_monotone.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_motif.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mson.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mustache.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mvt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mvtcss.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mvtjs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mypy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_mysql.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ndst.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nearly.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_neo4j.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_adapter_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_adapter_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_controller_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_controller_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_decorator_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_decorator_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_filter_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_filter_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_gateway_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_gateway_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_guard_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_guard_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_interceptor_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_interceptor_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_middleware_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_middleware_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_module_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_module_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_pipe_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_pipe_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_service_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nest_service_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nestjs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_netlify.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_next.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nextflow.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_component_css.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_component_dart.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_component_html.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_component_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_component_js2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_component_less.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_component_sass.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_component_scss.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_component_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_component_ts2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_controller_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_controller_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_directive_dart.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_directive_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_directive_js2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_directive_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_directive_ts2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_guard_dart.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_guard_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_guard_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_interceptor_dart.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_interceptor_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_interceptor_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_module_dart.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_module_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_module_js2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_module_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_module_ts2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_pipe_dart.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_pipe_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_pipe_js2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_pipe_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_pipe_ts2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_routing_dart.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_routing_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_routing_js2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_routing_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_routing_ts2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_service_dart.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_service_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_service_js2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_service_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_service_ts2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_smart_component_dart.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_smart_component_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_smart_component_js2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_smart_component_ts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_smart_component_ts2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ng_tailwind.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nginx.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nim.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nimble.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ninja.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nix.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_njsproj.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_noc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_node.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_node2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nodemon.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_npm.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_npmpackagejsonlint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nsi.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nsri-integrity.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nsri.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nuget.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_numpy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nunjucks.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nuxt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nx.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_nyc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_objectivec.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_objectivecpp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_objidconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ocaml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ocaml_intf.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ogone.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_onenote.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_opam.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_openHAB.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_opencl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_openscad.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_opentofu.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_org.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_outlook.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ovpn.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_oxlint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_package.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_paket.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pandacss.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_patch.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pcl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pddl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pddl_happenings.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pddl_plan.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pdf.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pdf2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pdm.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_peeky.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_perl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_perl2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_perl6.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pgsql.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_photoshop.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_photoshop2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_php.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_php2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_php3.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_phpcsfixer.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_phpstan.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_phpunit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_phraseapp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pine.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pip.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pipeline.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_plantuml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_platformio.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_playwright.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_plsql.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_plsql_package.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_plsql_package_body.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_plsql_package_header.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_plsql_package_spec.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pm2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pnpm.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_poedit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_poetry.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_polymer.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pony.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_postcss.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_postcssconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_postman.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_powerpoint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_powerpoint2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_powershell.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_powershell2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_powershell_format.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_powershell_psd.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_powershell_psd2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_powershell_psm.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_powershell_psm2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_powershell_types.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_preact.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_precommit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_prettier.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_prisma.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_processinglang.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_procfile.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_progress.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_prolog.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_prometheus.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_protobuf.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_protractor.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_publiccode.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_publisher.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pug.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pulumi.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_puppet.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_purescript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_purgecss.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pyenv.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pyret.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pyscript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pytest.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_python.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pythowo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pytyped.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_pyup.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_q.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_qbs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_qlikview.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_qml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_qmldir.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_qsharp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_quasar.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_r.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ra_syntax_tree.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_racket.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rails.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rake.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_raku.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_raml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_razor.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_razzle.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_reactjs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_reactrouter.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_reacttemplate.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_reactts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_reason.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_red.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_registry.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rego.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rehype.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_remark.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_renovate.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_replit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rescript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rest.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_retext.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rexx.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_riot.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rmd.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rnc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_robotframework.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_robots.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rolldown.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rollup.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rome.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ron.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rproj.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rspec.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rss.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rubocop.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ruby.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rust.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_rust_toolchain.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_s-lang.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_safetensors.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sails.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_saltstack.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_san.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sapphire_framework_cli.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sas.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sass.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sbt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_scala.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_scilab.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_script.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_scss.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_scss2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sdlang.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_search_result.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_seedkit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sentry.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sequelize.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_serverless.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_shaderlab.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_shell.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_shellcheck.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_shuttle.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_silverstripe.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sino.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_siyuan.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sketch.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_skipper.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_slang.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_slashup.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_slice.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_slim.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_slint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sln.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sln2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_smarty.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_snakemake.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_snapcraft.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_snaplet.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_snort.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_snyk.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_solidarity.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_solidity.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_source.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_spacengine.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sparql.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_spin.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sqf.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sql.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sqlite.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_squirrel.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sss.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sst.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_stackblitz.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_stan.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_stata.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_stencil.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_storyboard.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_storybook.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_stryker.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_stylable.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_style.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_styled.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_stylelint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_stylish_haskell.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_stylus.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_sublime.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_subversion.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_svelte.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_svelteconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_svg.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_svgo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_swagger.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_swc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_swift.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_swig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_symfony.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_syncpack.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_systemd.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_systemverilog.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_t4tt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tailwind.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tamagui.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_taplo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_taskfile.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tauri.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tcl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_teal.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_templ.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tera.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_terraform.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_test.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_testcafe.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_testjs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_testplane.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_testts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tex.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_text.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_textile.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tfs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tiltfile.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tm.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tmux.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_todo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_toit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_toml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tox.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_travis.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tree.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tres.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_truffle.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_trunk.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tsbuildinfo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tscn.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tsconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tsconfig_official.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tsdoc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tslint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_ttcn.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_tuc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_turbo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_twig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_typedoc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_typescript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_typescript_official.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_typescriptdef.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_typescriptdef_official.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_typo3.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_uiua.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_unibeautify.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_unison.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_unlicense.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_unocss.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vagrant.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vala.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vanilla_extract.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vapi.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vapor.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vash.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vb.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vba.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vbhtml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vbproj.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vcxproj.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_velocity.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vento.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vercel.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_verilog.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vhdl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_video.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_view.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vim.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vite.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vitest.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vlang.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_volt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vscode-insiders.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vscode.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vscode2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vscode3.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vscode_test.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vsix.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vsixmanifest.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vue.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vueconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_vyper.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wallaby.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wally.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wasm.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_watchmanconfig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wdio.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_weblate.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_webpack.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wenyan.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wercker.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wgsl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wikitext.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_windi.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wolfram.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_word.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_word2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wpml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wurst.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wxml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wxss.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_wxt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_xcode.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_xfl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_xib.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_xliff.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_xmake.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_xml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_xo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_xorg.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_xquery.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_xsl.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_yacc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_yaml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_yaml_official.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_yamllint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_yandex.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_yang.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_yarn.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_yeoman.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_zeit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_zig.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_zip.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/file_type_zip2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_android.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_android_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_api.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_api_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_app.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_app_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_arangodb.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_arangodb_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_asset.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_asset_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_audio.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_audio_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_aurelia.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_aurelia_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_aws.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_aws_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_azure.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_azure_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_azurepipelines.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_azurepipelines_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_binary.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_binary_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_bloc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_bloc_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_blueprint.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_blueprint_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_bot.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_bot_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_bower.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_bower_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_buildkite.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_buildkite_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_cake.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_cake_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_certificate.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_certificate_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_changesets.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_changesets_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_chef.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_chef_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_circleci.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_circleci_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_cli.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_cli_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_client.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_client_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_cmake.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_cmake_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_common.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_common_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_component.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_component_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_composer.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_composer_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_config.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_config_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_controller.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_controller_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_coverage.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_coverage_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_css.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_css2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_css2_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_css_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_cubit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_cubit_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_cypress.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_cypress_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_dapr.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_dapr_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_datadog.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_datadog_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_db.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_db_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_debian.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_debian_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_dependabot.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_dependabot_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_devcontainer.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_devcontainer_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_dist.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_dist_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_docker.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_docker_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_docs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_docs_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_e2e.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_e2e_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_elasticbeanstalk.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_elasticbeanstalk_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_electron.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_electron_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_expo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_expo_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_favicon.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_favicon_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_flow.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_flow_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_fonts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_fonts_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_frontcommerce.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_frontcommerce_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_gcp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_gcp_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_git.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_git_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_github.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_github_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_gitlab.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_gitlab_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_gradle.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_gradle_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_graphql.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_graphql_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_grunt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_grunt_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_gulp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_gulp_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_haxelib.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_haxelib_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_helper.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_helper_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_hook.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_hook_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_husky.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_husky_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_idea.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_idea_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_images.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_images_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_include.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_include_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_interfaces.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_interfaces_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_ios.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_ios_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_js.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_js_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_json.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_json_official.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_json_official_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_json_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_kubernetes.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_kubernetes_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_less.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_less_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_library.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_library_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_cypress.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_cypress_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_electron.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_electron_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_expo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_expo_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_fonts.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_fonts_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_gradle.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_gradle_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_meteor.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_meteor_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_mypy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_mypy_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_mysql.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_mysql_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_node.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_node_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_redux.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_redux_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_sass.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_light_sass_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_linux.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_linux_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_locale.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_locale_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_log.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_log_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_macos.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_macos_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mariadb.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mariadb_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_maven.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_maven_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mediawiki.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mediawiki_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_memcached.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_memcached_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_meteor.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_meteor_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_middleware.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_middleware_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_minecraft.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_minecraft_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_minikube.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_minikube_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mjml.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mjml_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mock.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mock_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_model.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_model_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_module.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_module_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mojo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mojo_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mongodb.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mongodb_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mypy.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mypy_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mysql.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_mysql_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_netlify.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_netlify_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_next.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_next_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_nginx.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_nginx_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_nix.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_nix_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_node.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_node_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_notebooks.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_notebooks_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_notification.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_notification_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_nuget.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_nuget_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_nuxt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_nuxt_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_package.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_package_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_paket.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_paket_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_php.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_php_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_platformio.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_platformio_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_plugin.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_plugin_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_prisma.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_prisma_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_private.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_private_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_public.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_public_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_pytest.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_pytest_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_python.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_python_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_ravendb.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_ravendb_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_redis.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_redis_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_redux.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_redux_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_route.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_route_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_sass.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_sass_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_script.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_script_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_seedkit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_seedkit_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_server.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_server_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_services.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_services_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_shared.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_shared_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_snaplet.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_snaplet_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_spin.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_spin_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_src.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_src_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_sso.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_sso_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_story.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_story_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_style.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_style_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_supabase.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_supabase_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_svelte.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_svelte_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_tauri.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_tauri_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_temp.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_temp_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_template.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_template_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_test.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_test_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_theme.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_theme_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_tools.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_tools_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_travis.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_travis_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_trunk.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_trunk_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_turbo.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_turbo_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_typescript.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_typescript_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_typings.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_typings2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_typings2_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_typings_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vagrant.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vagrant_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vercel.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vercel_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_video.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_video_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_view.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_view_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vs.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vs2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vs2_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vs_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vscode.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vscode2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vscode2_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vscode3.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vscode3_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vscode_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vscode_test.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vscode_test2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vscode_test2_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vscode_test3.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vscode_test3_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_vscode_test_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_webpack.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_webpack_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_windows.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_windows_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_wit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_wit_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_www.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_www_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_yarn.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/file-icons/folder_type_yarn_opened.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/fonts/FiraCode-VariableFont.ttf +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/add.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/arrow-down.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/arrow-left.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/arrow-right.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/arrow-up.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/blank.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/book.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/case-sensitive.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/check.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/chevron-down.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/chevron-left.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/chevron-right.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/chevron-up.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/chrome-close.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/chrome-maximize.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/chrome-minimize.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/chrome-restore.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/circle-filled.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/clear-all.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/close.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/cloud.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/collapse-all.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-all.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-alt-2.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-alt-small.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-alt.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-breakpoint-conditional-unverified.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-breakpoint-conditional.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-breakpoint-data-unverified.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-breakpoint-data.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-breakpoint-function-unverified.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-breakpoint-function.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-breakpoint-log-unverified.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-breakpoint-log.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-breakpoint-unsupported.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-console.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-continue-small.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-continue.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-coverage.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-disconnect.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-line-by-line.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-pause.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-rerun.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-restart-frame.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-restart.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-reverse-continue.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-stackframe-active.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-stackframe.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-start.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-step-back.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-step-into.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-step-out.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-step-over.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug-stop.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/debug.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/discard.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/edit.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/ellipsis.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/error.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/exclude.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/extensionDefaultIcon.png +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/extensions.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/files.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/filter.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/go-to-file.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/icon-close.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/icon-source-control.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/icon-sync.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/icon.png +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/icon.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/info.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/language-icon.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/link-external.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/list-flat.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/list-tree.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/new-file.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/new-folder.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/newline.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/open-preview.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/play.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/preserve-case.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/progress.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/pwa-icon-192.png +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/pwa-icon-512.png +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/record-keys.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/refresh.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/regex.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/remove.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/replace-all.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/replace.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/run-all.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/search.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/settings-gear.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/sort-precedence.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/source-control.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/split-horizontal.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/squiggly-error.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/squiggly-warning.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-array.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-boolean.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-class.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-color.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-constant.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-enum-member.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-enum.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-event.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-field.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-file.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-interface.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-key.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-keyword.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-method.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-misc.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-namespace.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-numeric.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-operator.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-parameter.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-property.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-ruler.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-snippet.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-string.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-structure.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/symbol-variable.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/tag.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/terminal-bash.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/terminal.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/theme-icon.png +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/trash.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/triangle-down.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/triangle-left.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/triangle-right.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/triangle-up.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/warning.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/whole-word.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/zoom-in.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/icons/zoom-out.svg +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/js/babel-parser.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/js/blob-util.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/js/ky.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/js/lvce-editor-import-script.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/js/lvce-editor-ipc.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/js/lvce-editor-json-rpc.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/js/lvce-editor-verror.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/js/p-min-delay.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/js/pretty-bytes.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/js/preview-injected.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/js/yoctodelay.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/lib-css/termterm.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/color-picker-worker/dist/colorPickerWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/completion-worker/dist/completionWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/debug-worker/dist/debugWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/diff-worker/dist/diffWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/editor-worker/dist/editorWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/embeds-worker/dist/embedsWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/error-worker/dist/errorWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/explorer-worker/dist/explorerViewWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/extension-search-view-worker/dist/extensionSearchViewWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/file-search-worker/dist/fileSearchWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/find-widget-worker/dist/findWidgetWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/iframe-inspector/dist/iframeInspectorWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/iframe-worker/dist/iframeWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/keybindings-view-worker/dist/keyBindingsViewWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/markdown-worker/dist/markdownWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/problems-view/dist/problemsViewWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/references-view/dist/referencesViewWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/rename-worker/dist/renameWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/renderer-process/LICENSE +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/renderer-process/README.md +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/renderer-process/package.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/source-control-worker/dist/sourceControlWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/syntax-highlighting-worker/dist/syntaxHighlightingWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/terminal-worker/dist/terminalWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/text-search-worker/dist/textSearchWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/packages/title-bar-worker/dist/titleBarWorkerMain.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.cpp +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.css +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.csv +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.dart +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.env +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.ex +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.html +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.java +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.jl +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.js +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.kt +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.pl +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.py +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/index.ts +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/scrolling.txt +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/languages/tsconfig.json +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/sample-folder/a.txt +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/sample-folder/b.txt +0 -0
- /package/static/{e6ddf2e → 0f5bf1d}/playground/sample-folder/c.txt +0 -0
package/static/{e6ddf2e → 0f5bf1d}/packages/extension-host-worker/dist/extensionHostWorkerMain.js
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const Property = 1;
|
|
2
2
|
const Value = 2;
|
|
3
|
-
const Function = 3;
|
|
3
|
+
const Function$1 = 3;
|
|
4
4
|
const Variable = 4;
|
|
5
5
|
const Keyword = 5;
|
|
6
6
|
const Folder = 6;
|
|
@@ -12,7 +12,7 @@ const EditorCompletionType = {
|
|
|
12
12
|
Field,
|
|
13
13
|
File: File$4,
|
|
14
14
|
Folder,
|
|
15
|
-
Function,
|
|
15
|
+
Function: Function$1,
|
|
16
16
|
Keyword,
|
|
17
17
|
Property,
|
|
18
18
|
Value,
|
|
@@ -51,55 +51,63 @@ class AssertionError extends Error {
|
|
|
51
51
|
this.name = 'AssertionError';
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
+
const Object$1$1 = 1;
|
|
55
|
+
const Number$1 = 2;
|
|
56
|
+
const Array$1$1 = 3;
|
|
57
|
+
const String$2 = 4;
|
|
58
|
+
const Boolean$2 = 5;
|
|
59
|
+
const Function = 6;
|
|
60
|
+
const Null = 7;
|
|
61
|
+
const Unknown = 8;
|
|
54
62
|
const getType$1 = value => {
|
|
55
63
|
switch (typeof value) {
|
|
56
64
|
case 'number':
|
|
57
|
-
return
|
|
65
|
+
return Number$1;
|
|
58
66
|
case 'function':
|
|
59
|
-
return
|
|
67
|
+
return Function;
|
|
60
68
|
case 'string':
|
|
61
|
-
return
|
|
69
|
+
return String$2;
|
|
62
70
|
case 'object':
|
|
63
71
|
if (value === null) {
|
|
64
|
-
return
|
|
72
|
+
return Null;
|
|
65
73
|
}
|
|
66
74
|
if (Array.isArray(value)) {
|
|
67
|
-
return
|
|
75
|
+
return Array$1$1;
|
|
68
76
|
}
|
|
69
|
-
return
|
|
77
|
+
return Object$1$1;
|
|
70
78
|
case 'boolean':
|
|
71
|
-
return
|
|
79
|
+
return Boolean$2;
|
|
72
80
|
default:
|
|
73
|
-
return
|
|
81
|
+
return Unknown;
|
|
74
82
|
}
|
|
75
83
|
};
|
|
76
84
|
const object = value => {
|
|
77
85
|
const type = getType$1(value);
|
|
78
|
-
if (type !==
|
|
86
|
+
if (type !== Object$1$1) {
|
|
79
87
|
throw new AssertionError('expected value to be of type object');
|
|
80
88
|
}
|
|
81
89
|
};
|
|
82
90
|
const number = value => {
|
|
83
91
|
const type = getType$1(value);
|
|
84
|
-
if (type !==
|
|
92
|
+
if (type !== Number$1) {
|
|
85
93
|
throw new AssertionError('expected value to be of type number');
|
|
86
94
|
}
|
|
87
95
|
};
|
|
88
96
|
const array = value => {
|
|
89
97
|
const type = getType$1(value);
|
|
90
|
-
if (type !==
|
|
98
|
+
if (type !== Array$1$1) {
|
|
91
99
|
throw new AssertionError('expected value to be of type array');
|
|
92
100
|
}
|
|
93
101
|
};
|
|
94
102
|
const string = value => {
|
|
95
103
|
const type = getType$1(value);
|
|
96
|
-
if (type !==
|
|
104
|
+
if (type !== String$2) {
|
|
97
105
|
throw new AssertionError('expected value to be of type string');
|
|
98
106
|
}
|
|
99
107
|
};
|
|
100
108
|
const fn = value => {
|
|
101
109
|
const type = getType$1(value);
|
|
102
|
-
if (type !==
|
|
110
|
+
if (type !== Function) {
|
|
103
111
|
throw new AssertionError('expected value to be of type function');
|
|
104
112
|
}
|
|
105
113
|
};
|
|
@@ -316,7 +324,7 @@ const syncIncremental = (textDocumentId, changes) => {
|
|
|
316
324
|
textDocument.text = before + syntheticChange.inserted + after;
|
|
317
325
|
runListenersSafe(getDidChangeListeners(), textDocument, syntheticChanges);
|
|
318
326
|
};
|
|
319
|
-
const get$
|
|
327
|
+
const get$c = textDocumentId => {
|
|
320
328
|
const textDocument = getDocument(textDocumentId);
|
|
321
329
|
return textDocument;
|
|
322
330
|
};
|
|
@@ -535,7 +543,7 @@ const registerMethod = ({
|
|
|
535
543
|
}) => {
|
|
536
544
|
context[`execute${name}Provider`] = async function (textDocumentId, ...params) {
|
|
537
545
|
try {
|
|
538
|
-
const textDocument = get$
|
|
546
|
+
const textDocument = get$c(textDocumentId);
|
|
539
547
|
if (!textDocument) {
|
|
540
548
|
throw new Error(`textDocument with id ${textDocumentId} not found`);
|
|
541
549
|
}
|
|
@@ -568,7 +576,7 @@ const registerMethod = ({
|
|
|
568
576
|
}
|
|
569
577
|
};
|
|
570
578
|
};
|
|
571
|
-
const create$
|
|
579
|
+
const create$b = ({
|
|
572
580
|
name,
|
|
573
581
|
resultShape,
|
|
574
582
|
executeKey = '',
|
|
@@ -621,7 +629,7 @@ const String$1 = 'string';
|
|
|
621
629
|
|
|
622
630
|
const {
|
|
623
631
|
registerBraceCompletionProvider,
|
|
624
|
-
executeBraceCompletionProvider} = create$
|
|
632
|
+
executeBraceCompletionProvider} = create$b({
|
|
625
633
|
name: 'BraceCompletion',
|
|
626
634
|
resultShape: {
|
|
627
635
|
type: Boolean$1
|
|
@@ -631,7 +639,7 @@ const {
|
|
|
631
639
|
const {
|
|
632
640
|
registerClosingTagProvider,
|
|
633
641
|
executeClosingTagProvider
|
|
634
|
-
} = create$
|
|
642
|
+
} = create$b({
|
|
635
643
|
name: 'ClosingTag',
|
|
636
644
|
returnUndefinedWhenNoProviderFound: true,
|
|
637
645
|
resultShape: {
|
|
@@ -643,7 +651,7 @@ const {
|
|
|
643
651
|
const {
|
|
644
652
|
registerCodeActionProvider,
|
|
645
653
|
executeCodeActionProvider
|
|
646
|
-
} = create$
|
|
654
|
+
} = create$b({
|
|
647
655
|
name: 'CodeAction',
|
|
648
656
|
resultShape: {
|
|
649
657
|
type: Array$1,
|
|
@@ -668,7 +676,7 @@ const executeOrganizeImports = async uid => {
|
|
|
668
676
|
if (!organizeImportsAction) {
|
|
669
677
|
return [];
|
|
670
678
|
}
|
|
671
|
-
const textDocument = get$
|
|
679
|
+
const textDocument = get$c(uid);
|
|
672
680
|
const edits = await organizeImportsAction.execute(textDocument);
|
|
673
681
|
return edits;
|
|
674
682
|
};
|
|
@@ -726,7 +734,7 @@ const {
|
|
|
726
734
|
registerCompletionProvider,
|
|
727
735
|
executeCompletionProvider,
|
|
728
736
|
executeresolveCompletionItemProvider
|
|
729
|
-
} = create$
|
|
737
|
+
} = create$b({
|
|
730
738
|
name: 'Completion',
|
|
731
739
|
resultShape: {
|
|
732
740
|
type: Array$1,
|
|
@@ -760,23 +768,23 @@ const rpcs$2 = Object.create(null);
|
|
|
760
768
|
const set$g = (id, rpc) => {
|
|
761
769
|
rpcs$2[id] = rpc;
|
|
762
770
|
};
|
|
763
|
-
const get$
|
|
771
|
+
const get$b = id => {
|
|
764
772
|
return rpcs$2[id];
|
|
765
773
|
};
|
|
766
774
|
|
|
767
775
|
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
768
776
|
|
|
769
|
-
const create$
|
|
777
|
+
const create$a = rpcId => {
|
|
770
778
|
return {
|
|
771
779
|
// @ts-ignore
|
|
772
780
|
invoke(method, ...params) {
|
|
773
|
-
const rpc = get$
|
|
781
|
+
const rpc = get$b(rpcId);
|
|
774
782
|
// @ts-ignore
|
|
775
783
|
return rpc.invoke(method, ...params);
|
|
776
784
|
},
|
|
777
785
|
// @ts-ignore
|
|
778
786
|
invokeAndTransfer(method, ...params) {
|
|
779
|
-
const rpc = get$
|
|
787
|
+
const rpc = get$b(rpcId);
|
|
780
788
|
// @ts-ignore
|
|
781
789
|
return rpc.invokeAndTransfer(method, ...params);
|
|
782
790
|
},
|
|
@@ -784,14 +792,14 @@ const create$c = rpcId => {
|
|
|
784
792
|
set$g(rpcId, rpc);
|
|
785
793
|
},
|
|
786
794
|
async dispose() {
|
|
787
|
-
const rpc = get$
|
|
795
|
+
const rpc = get$b(rpcId);
|
|
788
796
|
await rpc.dispose();
|
|
789
797
|
}
|
|
790
798
|
};
|
|
791
799
|
};
|
|
792
800
|
const DebugWorker$1 = 55;
|
|
793
801
|
const {
|
|
794
|
-
invoke: invoke$d} = create$
|
|
802
|
+
invoke: invoke$d} = create$a(DebugWorker$1);
|
|
795
803
|
const DebugWorker = {
|
|
796
804
|
__proto__: null,
|
|
797
805
|
invoke: invoke$d};
|
|
@@ -984,7 +992,7 @@ const setPauseOnExceptions = async (protocol, value) => {
|
|
|
984
992
|
|
|
985
993
|
const {
|
|
986
994
|
registerDefinitionProvider,
|
|
987
|
-
executeDefinitionProvider} = create$
|
|
995
|
+
executeDefinitionProvider} = create$b({
|
|
988
996
|
name: 'Definition',
|
|
989
997
|
resultShape: {
|
|
990
998
|
allowUndefined: true,
|
|
@@ -1006,7 +1014,7 @@ const {
|
|
|
1006
1014
|
const {
|
|
1007
1015
|
registerDiagnosticProvider,
|
|
1008
1016
|
executeDiagnosticProvider
|
|
1009
|
-
} = create$
|
|
1017
|
+
} = create$b({
|
|
1010
1018
|
name: 'Diagnostic',
|
|
1011
1019
|
resultShape: {
|
|
1012
1020
|
type: Array$1,
|
|
@@ -1019,11 +1027,11 @@ const {
|
|
|
1019
1027
|
const RendererWorker = 1;
|
|
1020
1028
|
|
|
1021
1029
|
const invoke$2 = (method, ...params) => {
|
|
1022
|
-
const rpc = get$
|
|
1030
|
+
const rpc = get$b(RendererWorker);
|
|
1023
1031
|
return rpc.invoke(method, ...params);
|
|
1024
1032
|
};
|
|
1025
1033
|
const invokeAndTransfer$2 = (method, ...params) => {
|
|
1026
|
-
const rpc = get$
|
|
1034
|
+
const rpc = get$b(RendererWorker);
|
|
1027
1035
|
return rpc.invokeAndTransfer(method, ...params);
|
|
1028
1036
|
};
|
|
1029
1037
|
|
|
@@ -1040,7 +1048,7 @@ const exec = async (command, args, options) => {
|
|
|
1040
1048
|
};
|
|
1041
1049
|
|
|
1042
1050
|
const fileSystemProviderMap = Object.create(null);
|
|
1043
|
-
const get$
|
|
1051
|
+
const get$a = protocol => {
|
|
1044
1052
|
const provider = fileSystemProviderMap[protocol];
|
|
1045
1053
|
if (!provider) {
|
|
1046
1054
|
// @ts-ignore
|
|
@@ -1048,7 +1056,7 @@ const get$9 = protocol => {
|
|
|
1048
1056
|
}
|
|
1049
1057
|
return provider;
|
|
1050
1058
|
};
|
|
1051
|
-
const set$
|
|
1059
|
+
const set$a = (id, provider) => {
|
|
1052
1060
|
if (!id) {
|
|
1053
1061
|
throw new Error('Failed to register file system provider: missing id');
|
|
1054
1062
|
}
|
|
@@ -1059,11 +1067,11 @@ const registerFileSystemProvider = fileSystemProvider => {
|
|
|
1059
1067
|
if (!fileSystemProvider.id) {
|
|
1060
1068
|
throw new Error('Failed to register file system provider: missing id');
|
|
1061
1069
|
}
|
|
1062
|
-
set$
|
|
1070
|
+
set$a(fileSystemProvider.id, fileSystemProvider);
|
|
1063
1071
|
};
|
|
1064
1072
|
const readDirWithFileTypes$2 = async (protocol, path) => {
|
|
1065
1073
|
try {
|
|
1066
|
-
const provider = get$
|
|
1074
|
+
const provider = get$a(protocol);
|
|
1067
1075
|
return await provider.readDirWithFileTypes(path);
|
|
1068
1076
|
} catch (error) {
|
|
1069
1077
|
throw new VError(error, 'Failed to execute file system provider');
|
|
@@ -1071,7 +1079,7 @@ const readDirWithFileTypes$2 = async (protocol, path) => {
|
|
|
1071
1079
|
};
|
|
1072
1080
|
const readFile$2 = async (protocol, path) => {
|
|
1073
1081
|
try {
|
|
1074
|
-
const provider = get$
|
|
1082
|
+
const provider = get$a(protocol);
|
|
1075
1083
|
return await provider.readFile(path);
|
|
1076
1084
|
} catch (error) {
|
|
1077
1085
|
throw new VError(error, 'Failed to execute file system provider');
|
|
@@ -1099,7 +1107,7 @@ const readDirWithFileTypesExternal = async path => {
|
|
|
1099
1107
|
};
|
|
1100
1108
|
const rename$1 = async (protocol, oldUri, newUri) => {
|
|
1101
1109
|
try {
|
|
1102
|
-
const provider = get$
|
|
1110
|
+
const provider = get$a(protocol);
|
|
1103
1111
|
return await provider.rename(oldUri, newUri);
|
|
1104
1112
|
} catch (error) {
|
|
1105
1113
|
throw new VError(error, 'Failed to execute file system provider');
|
|
@@ -1107,7 +1115,7 @@ const rename$1 = async (protocol, oldUri, newUri) => {
|
|
|
1107
1115
|
};
|
|
1108
1116
|
const writeFile$2 = async (protocol, uri, content) => {
|
|
1109
1117
|
try {
|
|
1110
|
-
const provider = get$
|
|
1118
|
+
const provider = get$a(protocol);
|
|
1111
1119
|
return await provider.writeFile(uri, content);
|
|
1112
1120
|
} catch (error) {
|
|
1113
1121
|
throw new VError(error, 'Failed to execute file system provider');
|
|
@@ -1115,7 +1123,7 @@ const writeFile$2 = async (protocol, uri, content) => {
|
|
|
1115
1123
|
};
|
|
1116
1124
|
const getPathSeparator = protocol => {
|
|
1117
1125
|
try {
|
|
1118
|
-
const provider = get$
|
|
1126
|
+
const provider = get$a(protocol);
|
|
1119
1127
|
return provider.pathSeparator;
|
|
1120
1128
|
} catch (error) {
|
|
1121
1129
|
throw new VError(error, 'Failed to execute file system provider');
|
|
@@ -1124,7 +1132,7 @@ const getPathSeparator = protocol => {
|
|
|
1124
1132
|
|
|
1125
1133
|
const {
|
|
1126
1134
|
registerFormattingProvider,
|
|
1127
|
-
executeFormattingProvider} = create$
|
|
1135
|
+
executeFormattingProvider} = create$b({
|
|
1128
1136
|
name: 'Formatting',
|
|
1129
1137
|
executeKey: 'format',
|
|
1130
1138
|
resultShape: {
|
|
@@ -1186,7 +1194,7 @@ const getPosition = (textDocument, offset) => {
|
|
|
1186
1194
|
|
|
1187
1195
|
const {
|
|
1188
1196
|
registerHoverProvider,
|
|
1189
|
-
executeHoverProvider} = create$
|
|
1197
|
+
executeHoverProvider} = create$b({
|
|
1190
1198
|
name: 'Hover',
|
|
1191
1199
|
resultShape: {
|
|
1192
1200
|
allowUndefined: true,
|
|
@@ -1197,7 +1205,7 @@ const {
|
|
|
1197
1205
|
|
|
1198
1206
|
const {
|
|
1199
1207
|
registerImplementationProvider,
|
|
1200
|
-
executeImplementationProvider} = create$
|
|
1208
|
+
executeImplementationProvider} = create$b({
|
|
1201
1209
|
name: 'Implementation',
|
|
1202
1210
|
resultShape: {
|
|
1203
1211
|
type: Array$1,
|
|
@@ -1606,7 +1614,7 @@ const getFirstEvent = (eventEmitter, eventMap) => {
|
|
|
1606
1614
|
return promise;
|
|
1607
1615
|
};
|
|
1608
1616
|
const Message$1 = 3;
|
|
1609
|
-
const create$5$
|
|
1617
|
+
const create$5$2 = async ({
|
|
1610
1618
|
messagePort,
|
|
1611
1619
|
isMessagePortOpen
|
|
1612
1620
|
}) => {
|
|
@@ -1657,7 +1665,7 @@ const wrap$5 = messagePort => {
|
|
|
1657
1665
|
};
|
|
1658
1666
|
const IpcParentWithMessagePort$1 = {
|
|
1659
1667
|
__proto__: null,
|
|
1660
|
-
create: create$5$
|
|
1668
|
+
create: create$5$2,
|
|
1661
1669
|
signal: signal$1,
|
|
1662
1670
|
wrap: wrap$5
|
|
1663
1671
|
};
|
|
@@ -1681,7 +1689,7 @@ const waitForWebSocketToBeOpen = webSocket => {
|
|
|
1681
1689
|
error: Error$3
|
|
1682
1690
|
});
|
|
1683
1691
|
};
|
|
1684
|
-
const create$
|
|
1692
|
+
const create$9 = async ({
|
|
1685
1693
|
webSocket
|
|
1686
1694
|
}) => {
|
|
1687
1695
|
const firstWebSocketEvent = await waitForWebSocketToBeOpen(webSocket);
|
|
@@ -1718,12 +1726,12 @@ const wrap$1 = webSocket => {
|
|
|
1718
1726
|
};
|
|
1719
1727
|
const IpcParentWithWebSocket$1$1 = {
|
|
1720
1728
|
__proto__: null,
|
|
1721
|
-
create: create$
|
|
1729
|
+
create: create$9,
|
|
1722
1730
|
wrap: wrap$1
|
|
1723
1731
|
};
|
|
1724
1732
|
|
|
1725
1733
|
const Two = '2.0';
|
|
1726
|
-
const create$4$
|
|
1734
|
+
const create$4$2 = (method, params) => {
|
|
1727
1735
|
return {
|
|
1728
1736
|
jsonrpc: Two,
|
|
1729
1737
|
method,
|
|
@@ -1731,26 +1739,26 @@ const create$4$1 = (method, params) => {
|
|
|
1731
1739
|
};
|
|
1732
1740
|
};
|
|
1733
1741
|
const callbacks = Object.create(null);
|
|
1734
|
-
const set$
|
|
1742
|
+
const set$9 = (id, fn) => {
|
|
1735
1743
|
callbacks[id] = fn;
|
|
1736
1744
|
};
|
|
1737
|
-
const get$
|
|
1745
|
+
const get$9 = id => {
|
|
1738
1746
|
return callbacks[id];
|
|
1739
1747
|
};
|
|
1740
1748
|
const remove$3 = id => {
|
|
1741
1749
|
delete callbacks[id];
|
|
1742
1750
|
};
|
|
1743
1751
|
let id$1 = 0;
|
|
1744
|
-
const create$3$
|
|
1752
|
+
const create$3$1 = () => {
|
|
1745
1753
|
return ++id$1;
|
|
1746
1754
|
};
|
|
1747
1755
|
const registerPromise = () => {
|
|
1748
|
-
const id = create$3$
|
|
1756
|
+
const id = create$3$1();
|
|
1749
1757
|
const {
|
|
1750
1758
|
resolve,
|
|
1751
1759
|
promise
|
|
1752
1760
|
} = Promise.withResolvers();
|
|
1753
|
-
set$
|
|
1761
|
+
set$9(id, resolve);
|
|
1754
1762
|
return {
|
|
1755
1763
|
id,
|
|
1756
1764
|
promise
|
|
@@ -1914,7 +1922,7 @@ const warn$1 = (...args) => {
|
|
|
1914
1922
|
console.warn(...args);
|
|
1915
1923
|
};
|
|
1916
1924
|
const resolve = (id, response) => {
|
|
1917
|
-
const fn = get$
|
|
1925
|
+
const fn = get$9(id);
|
|
1918
1926
|
if (!fn) {
|
|
1919
1927
|
console.log(response);
|
|
1920
1928
|
warn$1(`callback ${id} may already be disposed`);
|
|
@@ -1964,7 +1972,7 @@ const getErrorProperty = (error, prettyError) => {
|
|
|
1964
1972
|
}
|
|
1965
1973
|
};
|
|
1966
1974
|
};
|
|
1967
|
-
const create$1$
|
|
1975
|
+
const create$1$1 = (id, error) => {
|
|
1968
1976
|
return {
|
|
1969
1977
|
jsonrpc: Two,
|
|
1970
1978
|
id,
|
|
@@ -1975,7 +1983,7 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
|
|
|
1975
1983
|
const prettyError = preparePrettyError(error);
|
|
1976
1984
|
logError(error, prettyError);
|
|
1977
1985
|
const errorProperty = getErrorProperty(error, prettyError);
|
|
1978
|
-
return create$1$
|
|
1986
|
+
return create$1$1(id, errorProperty);
|
|
1979
1987
|
};
|
|
1980
1988
|
const create$8 = (message, result) => {
|
|
1981
1989
|
return {
|
|
@@ -2091,7 +2099,7 @@ const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
|
|
|
2091
2099
|
return unwrapJsonRpcResult(responseMessage);
|
|
2092
2100
|
};
|
|
2093
2101
|
const send = (transport, method, ...params) => {
|
|
2094
|
-
const message = create$4$
|
|
2102
|
+
const message = create$4$2(method, params);
|
|
2095
2103
|
transport.send(message);
|
|
2096
2104
|
};
|
|
2097
2105
|
const invoke$1 = (ipc, method, ...params) => {
|
|
@@ -2168,7 +2176,7 @@ const listen$1 = async (module, options) => {
|
|
|
2168
2176
|
const ipc = module.wrap(rawIpc);
|
|
2169
2177
|
return ipc;
|
|
2170
2178
|
};
|
|
2171
|
-
const create$
|
|
2179
|
+
const create$e = async ({
|
|
2172
2180
|
commandMap,
|
|
2173
2181
|
messagePort
|
|
2174
2182
|
}) => {
|
|
@@ -2183,9 +2191,9 @@ const create$a = async ({
|
|
|
2183
2191
|
};
|
|
2184
2192
|
const MessagePortRpcClient = {
|
|
2185
2193
|
__proto__: null,
|
|
2186
|
-
create: create$
|
|
2194
|
+
create: create$e
|
|
2187
2195
|
};
|
|
2188
|
-
const create$
|
|
2196
|
+
const create$d = async ({
|
|
2189
2197
|
commandMap,
|
|
2190
2198
|
messagePort,
|
|
2191
2199
|
isMessagePortOpen
|
|
@@ -2203,9 +2211,9 @@ const create$9 = async ({
|
|
|
2203
2211
|
};
|
|
2204
2212
|
const MessagePortRpcParent = {
|
|
2205
2213
|
__proto__: null,
|
|
2206
|
-
create: create$
|
|
2214
|
+
create: create$d
|
|
2207
2215
|
};
|
|
2208
|
-
const create$
|
|
2216
|
+
const create$5$1 = async ({
|
|
2209
2217
|
commandMap,
|
|
2210
2218
|
messagePort
|
|
2211
2219
|
}) => {
|
|
@@ -2221,20 +2229,20 @@ const create$3$1 = async ({
|
|
|
2221
2229
|
messagePort.start();
|
|
2222
2230
|
return rpc;
|
|
2223
2231
|
};
|
|
2224
|
-
const create$
|
|
2232
|
+
const create$4$1 = async ({
|
|
2225
2233
|
commandMap,
|
|
2226
2234
|
messagePort
|
|
2227
2235
|
}) => {
|
|
2228
|
-
return create$
|
|
2236
|
+
return create$5$1({
|
|
2229
2237
|
commandMap,
|
|
2230
2238
|
messagePort
|
|
2231
2239
|
});
|
|
2232
2240
|
};
|
|
2233
2241
|
const PlainMessagePortRpcParent = {
|
|
2234
2242
|
__proto__: null,
|
|
2235
|
-
create: create$
|
|
2243
|
+
create: create$4$1
|
|
2236
2244
|
};
|
|
2237
|
-
const create$
|
|
2245
|
+
const create$2$1 = async ({
|
|
2238
2246
|
commandMap,
|
|
2239
2247
|
webSocket
|
|
2240
2248
|
}) => {
|
|
@@ -2250,7 +2258,7 @@ const create$1$1 = async ({
|
|
|
2250
2258
|
};
|
|
2251
2259
|
const WebSocketRpcParent = {
|
|
2252
2260
|
__proto__: null,
|
|
2253
|
-
create: create$
|
|
2261
|
+
create: create$2$1
|
|
2254
2262
|
};
|
|
2255
2263
|
const create$7 = async ({
|
|
2256
2264
|
commandMap
|
|
@@ -2506,7 +2514,7 @@ const {
|
|
|
2506
2514
|
executeReferenceProvider,
|
|
2507
2515
|
executefileReferenceProvider,
|
|
2508
2516
|
getProvider: getProvider$1
|
|
2509
|
-
} = create$
|
|
2517
|
+
} = create$b({
|
|
2510
2518
|
name: 'Reference',
|
|
2511
2519
|
resultShape: {
|
|
2512
2520
|
type: Array$1,
|
|
@@ -2539,7 +2547,7 @@ const executeReferenceProvider2 = (uri, languageId, offset, position) => {
|
|
|
2539
2547
|
const {
|
|
2540
2548
|
registerRenameProvider,
|
|
2541
2549
|
executeRenameProvider,
|
|
2542
|
-
executeprepareRenameProvider} = create$
|
|
2550
|
+
executeprepareRenameProvider} = create$b({
|
|
2543
2551
|
name: 'Rename',
|
|
2544
2552
|
resultShape: {
|
|
2545
2553
|
type: Object$1,
|
|
@@ -2558,11 +2566,11 @@ const {
|
|
|
2558
2566
|
});
|
|
2559
2567
|
|
|
2560
2568
|
const getExtensionHostSubWorkerUrl = () => {
|
|
2561
|
-
return '/
|
|
2569
|
+
return '/0f5bf1d/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js';
|
|
2562
2570
|
};
|
|
2563
2571
|
const extensionHostSubWorkerUrl = getExtensionHostSubWorkerUrl();
|
|
2564
2572
|
|
|
2565
|
-
const set$
|
|
2573
|
+
const set$8 = async (url, contentSecurityPolicy) => {
|
|
2566
2574
|
const pathName = new URL(url).pathname;
|
|
2567
2575
|
await invoke$2('ExtensionHostWorkerContentSecurityPolicy.set', pathName, contentSecurityPolicy);
|
|
2568
2576
|
};
|
|
@@ -2582,7 +2590,7 @@ const createLegacyRpc = async ({
|
|
|
2582
2590
|
string(name);
|
|
2583
2591
|
object(commandMap);
|
|
2584
2592
|
if (contentSecurityPolicy) {
|
|
2585
|
-
await set$
|
|
2593
|
+
await set$8(url, contentSecurityPolicy);
|
|
2586
2594
|
}
|
|
2587
2595
|
const rpc = await create$2({
|
|
2588
2596
|
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug$1,
|
|
@@ -2603,7 +2611,7 @@ const rpcs$1 = Object.create(null);
|
|
|
2603
2611
|
const add$1 = (id, rpc) => {
|
|
2604
2612
|
rpcs$1[id] = rpc;
|
|
2605
2613
|
};
|
|
2606
|
-
const get$
|
|
2614
|
+
const get$8 = id => {
|
|
2607
2615
|
return rpcs$1[id];
|
|
2608
2616
|
};
|
|
2609
2617
|
|
|
@@ -2612,15 +2620,15 @@ const rpcs = Object.create(null);
|
|
|
2612
2620
|
const register = (id, execute) => {
|
|
2613
2621
|
registry[id] = execute;
|
|
2614
2622
|
};
|
|
2615
|
-
const get$
|
|
2623
|
+
const get$7 = id => {
|
|
2616
2624
|
return rpcs[id];
|
|
2617
2625
|
};
|
|
2618
|
-
const set$
|
|
2626
|
+
const set$7 = (id, rpc) => {
|
|
2619
2627
|
rpcs[id] = rpc;
|
|
2620
2628
|
};
|
|
2621
2629
|
|
|
2622
2630
|
const createRpcWithId$1 = async (id, commandMap, execute) => {
|
|
2623
|
-
const info = get$
|
|
2631
|
+
const info = get$8(id);
|
|
2624
2632
|
if (!info) {
|
|
2625
2633
|
throw new Error(`rpc with id ${id} not found`);
|
|
2626
2634
|
}
|
|
@@ -2636,16 +2644,16 @@ const createRpcWithId$1 = async (id, commandMap, execute) => {
|
|
|
2636
2644
|
rpc.ipc.execute = execute;
|
|
2637
2645
|
}
|
|
2638
2646
|
await rpc.invoke('LoadFile.loadFile', info.url);
|
|
2639
|
-
set$
|
|
2647
|
+
set$7(id, rpc);
|
|
2640
2648
|
return rpc;
|
|
2641
2649
|
};
|
|
2642
2650
|
|
|
2643
2651
|
const getOrCreateRpc = async (id, commandMap, execute) => {
|
|
2644
|
-
const rpc = get$
|
|
2652
|
+
const rpc = get$7(id);
|
|
2645
2653
|
if (!rpc) {
|
|
2646
|
-
set$
|
|
2654
|
+
set$7(id, createRpcWithId$1(id, commandMap, execute));
|
|
2647
2655
|
}
|
|
2648
|
-
return get$
|
|
2656
|
+
return get$7(id);
|
|
2649
2657
|
};
|
|
2650
2658
|
const createRpcWithId = ({
|
|
2651
2659
|
id,
|
|
@@ -2699,7 +2707,7 @@ const createRpc = ({
|
|
|
2699
2707
|
|
|
2700
2708
|
const {
|
|
2701
2709
|
registerSelectionProvider,
|
|
2702
|
-
executeSelectionProvider} = create$
|
|
2710
|
+
executeSelectionProvider} = create$b({
|
|
2703
2711
|
name: 'Selection',
|
|
2704
2712
|
resultShape: {
|
|
2705
2713
|
allowUndefined: true,
|
|
@@ -2805,7 +2813,7 @@ const getEnabledProviderIds = async (scheme, root) => {
|
|
|
2805
2813
|
|
|
2806
2814
|
const {
|
|
2807
2815
|
registerTabCompletionProvider,
|
|
2808
|
-
executeTabCompletionProvider} = create$
|
|
2816
|
+
executeTabCompletionProvider} = create$b({
|
|
2809
2817
|
name: 'TabCompletion',
|
|
2810
2818
|
resultShape: {
|
|
2811
2819
|
type: Object$1,
|
|
@@ -2844,7 +2852,7 @@ const executeTextSearchProvider = async (scheme, query) => {
|
|
|
2844
2852
|
|
|
2845
2853
|
const {
|
|
2846
2854
|
registerTypeDefinitionProvider,
|
|
2847
|
-
executeTypeDefinitionProvider} = create$
|
|
2855
|
+
executeTypeDefinitionProvider} = create$b({
|
|
2848
2856
|
name: 'TypeDefinition',
|
|
2849
2857
|
resultShape: {
|
|
2850
2858
|
allowUndefined: true,
|
|
@@ -3239,151 +3247,715 @@ const setup = ({
|
|
|
3239
3247
|
global.vscode = api;
|
|
3240
3248
|
};
|
|
3241
3249
|
|
|
3242
|
-
const
|
|
3243
|
-
|
|
3250
|
+
const create$1 = () => {
|
|
3251
|
+
return {
|
|
3252
|
+
finished: false
|
|
3253
|
+
};
|
|
3244
3254
|
};
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
const id = 1;
|
|
3248
|
-
const get$5 = () => {
|
|
3249
|
-
return cache[id];
|
|
3255
|
+
const cancel = token => {
|
|
3256
|
+
token.finished = true;
|
|
3250
3257
|
};
|
|
3251
|
-
const
|
|
3252
|
-
return
|
|
3258
|
+
const isCanceled = token => {
|
|
3259
|
+
return token.finished;
|
|
3253
3260
|
};
|
|
3254
|
-
|
|
3255
|
-
|
|
3261
|
+
|
|
3262
|
+
const modules = Object.create(null);
|
|
3263
|
+
const set$6 = (extensionId, module) => {
|
|
3264
|
+
modules[extensionId] = module;
|
|
3256
3265
|
};
|
|
3257
|
-
const
|
|
3258
|
-
|
|
3266
|
+
const acquire = extensionId => {
|
|
3267
|
+
const module = modules[extensionId];
|
|
3268
|
+
delete modules[extensionId];
|
|
3269
|
+
return module;
|
|
3259
3270
|
};
|
|
3260
3271
|
|
|
3261
|
-
const
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3272
|
+
const baseName = path => {
|
|
3273
|
+
const slashIndex = path.lastIndexOf('/');
|
|
3274
|
+
return path.slice(slashIndex + 1);
|
|
3275
|
+
};
|
|
3276
|
+
const getExtensionId = extension => {
|
|
3277
|
+
if (extension && extension.id) {
|
|
3278
|
+
return extension.id;
|
|
3279
|
+
}
|
|
3280
|
+
if (extension && extension.path) {
|
|
3281
|
+
return baseName(extension.path);
|
|
3271
3282
|
}
|
|
3283
|
+
return '<unknown>';
|
|
3272
3284
|
};
|
|
3273
3285
|
|
|
3274
|
-
const
|
|
3275
|
-
const
|
|
3286
|
+
const states = Object.create(null);
|
|
3287
|
+
const set$5 = status => {
|
|
3288
|
+
states[status.id] = status;
|
|
3289
|
+
};
|
|
3290
|
+
const get$6 = extensionId => {
|
|
3291
|
+
return states[extensionId];
|
|
3292
|
+
};
|
|
3293
|
+
const update = (id, update) => {
|
|
3294
|
+
states[id] = {
|
|
3295
|
+
...states[id],
|
|
3296
|
+
...update
|
|
3297
|
+
};
|
|
3298
|
+
};
|
|
3276
3299
|
|
|
3277
|
-
const
|
|
3278
|
-
|
|
3279
|
-
|
|
3300
|
+
const None = 0;
|
|
3301
|
+
const Importing = 1;
|
|
3302
|
+
const Activating = 2;
|
|
3303
|
+
const Activated = 3;
|
|
3304
|
+
const Error$1 = 4;
|
|
3305
|
+
|
|
3306
|
+
const sleep = duration => {
|
|
3307
|
+
const {
|
|
3308
|
+
resolve,
|
|
3309
|
+
promise
|
|
3310
|
+
} = Promise.withResolvers();
|
|
3311
|
+
setTimeout(resolve, duration);
|
|
3312
|
+
return promise;
|
|
3280
3313
|
};
|
|
3281
3314
|
|
|
3282
|
-
|
|
3315
|
+
// TODO make activation timeout configurable or remove it.
|
|
3316
|
+
// some extension might do workspace indexing which could take some time
|
|
3317
|
+
const activationTimeout$1 = 10_000;
|
|
3318
|
+
const rejectAfterTimeout$1 = async (timeout, token) => {
|
|
3319
|
+
await sleep(timeout);
|
|
3320
|
+
if (isCanceled(token)) {
|
|
3321
|
+
return;
|
|
3322
|
+
}
|
|
3323
|
+
throw new Error(`Activation timeout of ${timeout}ms exceeded`);
|
|
3324
|
+
};
|
|
3325
|
+
|
|
3326
|
+
// TODO separate importing extension and activating extension for smaller functions
|
|
3327
|
+
// and better error handling
|
|
3328
|
+
const activateExtension2 = async (extensionId, extension) => {
|
|
3329
|
+
const token = create$1();
|
|
3283
3330
|
try {
|
|
3284
|
-
const
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3331
|
+
const startTime = performance.now();
|
|
3332
|
+
update(extensionId, {
|
|
3333
|
+
status: Activating,
|
|
3334
|
+
activationStartTime: startTime
|
|
3335
|
+
});
|
|
3336
|
+
const module = acquire(extensionId);
|
|
3337
|
+
await Promise.race([module.activate(extension), rejectAfterTimeout$1(activationTimeout$1, token)]);
|
|
3338
|
+
const endTime = performance.now();
|
|
3339
|
+
const time = endTime - startTime;
|
|
3340
|
+
update(extensionId, {
|
|
3341
|
+
status: Activated,
|
|
3342
|
+
activationTime: time,
|
|
3343
|
+
activationEndTime: endTime
|
|
3344
|
+
});
|
|
3290
3345
|
} catch (error) {
|
|
3291
|
-
|
|
3292
|
-
|
|
3346
|
+
update(extensionId, {
|
|
3347
|
+
status: Error$1 // TODO maybe store error also in runtime status state
|
|
3348
|
+
});
|
|
3349
|
+
const id = getExtensionId(extension);
|
|
3350
|
+
throw new VError(error, `Failed to activate extension ${id}`);
|
|
3351
|
+
} finally {
|
|
3352
|
+
cancel(token);
|
|
3293
3353
|
}
|
|
3294
3354
|
};
|
|
3295
3355
|
|
|
3296
|
-
const
|
|
3297
|
-
|
|
3298
|
-
|
|
3356
|
+
const getUrlPrefix = (platform, extensionPath) => {
|
|
3357
|
+
if (extensionPath.startsWith('http://') || extensionPath.startsWith('https://')) {
|
|
3358
|
+
return extensionPath;
|
|
3359
|
+
}
|
|
3360
|
+
if (platform === Web) {
|
|
3361
|
+
return extensionPath;
|
|
3362
|
+
}
|
|
3363
|
+
if (extensionPath.startsWith('/')) {
|
|
3364
|
+
return `/remote${extensionPath}`;
|
|
3365
|
+
}
|
|
3366
|
+
return `/remote/${extensionPath}`;
|
|
3299
3367
|
};
|
|
3300
3368
|
|
|
3301
|
-
const
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3369
|
+
const handleRpcInfos = (extension, platform) => {
|
|
3370
|
+
try {
|
|
3371
|
+
if (!extension) {
|
|
3372
|
+
return;
|
|
3373
|
+
}
|
|
3374
|
+
const rpcs = extension.rpc;
|
|
3375
|
+
const urlPrefix = getUrlPrefix(platform, extension.path);
|
|
3376
|
+
if (!rpcs) {
|
|
3377
|
+
return;
|
|
3378
|
+
}
|
|
3379
|
+
if (!Array.isArray(rpcs)) {
|
|
3380
|
+
return;
|
|
3381
|
+
}
|
|
3382
|
+
for (const rpc of rpcs) {
|
|
3383
|
+
rpc.url = `${urlPrefix}/${rpc.url}`;
|
|
3384
|
+
add$1(rpc.id, rpc);
|
|
3385
|
+
}
|
|
3386
|
+
} catch (error) {
|
|
3387
|
+
console.warn(`Failed to handle extension rpcs: ${error}`);
|
|
3388
|
+
}
|
|
3308
3389
|
};
|
|
3309
3390
|
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
}
|
|
3391
|
+
class ContentSecurityPolicyError extends Error {
|
|
3392
|
+
constructor(violatedDirective, sourceFile, lineNumber, columnNumber) {
|
|
3393
|
+
super(`Content Security Policy Violation: ${violatedDirective}`);
|
|
3394
|
+
this.name = 'ContentSecurityPolicyError';
|
|
3395
|
+
this.stack = sourceFile ? `Content Security Policy Violation
|
|
3396
|
+
at ${sourceFile}:${lineNumber}:${columnNumber}` : `Content Security Policy Violation
|
|
3397
|
+
at <unknown>`;
|
|
3398
|
+
}
|
|
3399
|
+
}
|
|
3319
3400
|
|
|
3320
|
-
const
|
|
3321
|
-
return
|
|
3401
|
+
const isImportErrorChrome = error => {
|
|
3402
|
+
return error && error instanceof Error && error.message.startsWith('Failed to fetch dynamically imported module');
|
|
3322
3403
|
};
|
|
3323
3404
|
|
|
3324
|
-
const
|
|
3325
|
-
|
|
3405
|
+
const isImportErrorFirefox = error => {
|
|
3406
|
+
return error && error instanceof TypeError && error.message === 'error loading dynamically imported module';
|
|
3326
3407
|
};
|
|
3327
3408
|
|
|
3328
|
-
const
|
|
3329
|
-
return
|
|
3330
|
-
};
|
|
3331
|
-
const toColorRule = ([key, value]) => {
|
|
3332
|
-
return ` --${key}: ${value};`;
|
|
3409
|
+
const isSyntaxError = error => {
|
|
3410
|
+
return error instanceof SyntaxError;
|
|
3333
3411
|
};
|
|
3334
|
-
|
|
3335
|
-
|
|
3412
|
+
|
|
3413
|
+
const isImportError = error => {
|
|
3414
|
+
return isImportErrorChrome(error) || isImportErrorFirefox(error) || isSyntaxError(error);
|
|
3336
3415
|
};
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3416
|
+
|
|
3417
|
+
const NotFound = 404;
|
|
3418
|
+
|
|
3419
|
+
const RE_LINE_COLUMN = /(.*)(?:\(\d+:\d+\))/;
|
|
3420
|
+
const getBabelErrorMessage = message => {
|
|
3421
|
+
const match = message.match(RE_LINE_COLUMN);
|
|
3422
|
+
if (match) {
|
|
3423
|
+
return match[1].trim();
|
|
3344
3424
|
}
|
|
3345
|
-
|
|
3346
|
-
return newColors;
|
|
3425
|
+
return message;
|
|
3347
3426
|
};
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3427
|
+
class BabelParseError extends SyntaxError {
|
|
3428
|
+
constructor(url, error) {
|
|
3429
|
+
const message = getBabelErrorMessage(error.message);
|
|
3430
|
+
super(message);
|
|
3431
|
+
this.name = 'BabelParseError';
|
|
3432
|
+
// @ts-ignore
|
|
3433
|
+
const {
|
|
3434
|
+
line
|
|
3435
|
+
} = error.loc;
|
|
3436
|
+
// @ts-ignore
|
|
3437
|
+
const column = error.loc.column + 1;
|
|
3438
|
+
this.stack = `${message}
|
|
3439
|
+
at ${url}:${line}:${column}`;
|
|
3360
3440
|
}
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3441
|
+
}
|
|
3442
|
+
|
|
3443
|
+
const getAssetDir = () => {
|
|
3444
|
+
// @ts-ignore
|
|
3445
|
+
if (typeof '/0f5bf1d' !== 'undefined') {
|
|
3446
|
+
// @ts-ignore
|
|
3447
|
+
return '/0f5bf1d';
|
|
3366
3448
|
}
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
const tokenColors = colorThemeJson.tokenColors || [];
|
|
3370
|
-
const tokenColorRules = tokenColors.map(toTokenColorRule);
|
|
3371
|
-
const extraRules = [];
|
|
3372
|
-
if (colors.ContrastBorder) {
|
|
3373
|
-
extraRules.push(`#ActivityBar, #SideBar {
|
|
3374
|
-
border-left: 1px solid var(--ContrastBorder);
|
|
3375
|
-
}`, `#Panel {
|
|
3376
|
-
border-top: 1px solid var(--ContrastBorder);
|
|
3377
|
-
}`, `#StatusBar {
|
|
3378
|
-
border-top: 1px solid var(--ContrastBorder);
|
|
3379
|
-
}`, `.ActivityBarItemBadge {
|
|
3380
|
-
border: 1px solid var(--ContrastBorder);
|
|
3381
|
-
}`, `#QuickPick {
|
|
3382
|
-
border: 1px solid var(--ContrastBorder);
|
|
3383
|
-
}`);
|
|
3449
|
+
if (platform === Electron) {
|
|
3450
|
+
return '../../../../..';
|
|
3384
3451
|
}
|
|
3385
|
-
|
|
3386
|
-
|
|
3452
|
+
return '';
|
|
3453
|
+
};
|
|
3454
|
+
const assetDir = getAssetDir();
|
|
3455
|
+
|
|
3456
|
+
const loadBabelParser = () => {
|
|
3457
|
+
const url = `${assetDir}/js/babel-parser.js`;
|
|
3458
|
+
return import(url);
|
|
3459
|
+
};
|
|
3460
|
+
|
|
3461
|
+
const parse = async (code, options) => {
|
|
3462
|
+
const BabelParse = await loadBabelParser();
|
|
3463
|
+
return BabelParse.parse(code, options);
|
|
3464
|
+
};
|
|
3465
|
+
|
|
3466
|
+
const Module = 'module';
|
|
3467
|
+
|
|
3468
|
+
const getLineAndColumn = (text, start, end) => {
|
|
3469
|
+
let index = -1;
|
|
3470
|
+
let line = 0;
|
|
3471
|
+
const column = 0;
|
|
3472
|
+
while ((index = text.indexOf('\n', index + 1)) !== -1) {
|
|
3473
|
+
line++;
|
|
3474
|
+
if (index >= start) {
|
|
3475
|
+
break;
|
|
3476
|
+
}
|
|
3477
|
+
}
|
|
3478
|
+
return {
|
|
3479
|
+
line,
|
|
3480
|
+
column
|
|
3481
|
+
};
|
|
3482
|
+
};
|
|
3483
|
+
|
|
3484
|
+
class DependencyNotFoundError extends Error {
|
|
3485
|
+
constructor(code, start, end, dependencyRelativePath, dependencyUrl, sourceUrl) {
|
|
3486
|
+
super(`Module not found "${dependencyRelativePath}"`);
|
|
3487
|
+
const {
|
|
3488
|
+
line,
|
|
3489
|
+
column
|
|
3490
|
+
} = getLineAndColumn(code, start);
|
|
3491
|
+
this.stack = `${this.message}
|
|
3492
|
+
at Module (${sourceUrl}:${line}:${column})`;
|
|
3493
|
+
}
|
|
3494
|
+
}
|
|
3495
|
+
|
|
3496
|
+
const ArrowFunctionExpression = 'ArrowFunctionExpression';
|
|
3497
|
+
const AwaitExpression = 'AwaitExpression';
|
|
3498
|
+
const BlockStatement = 'BlockStatement';
|
|
3499
|
+
const CallExpression = 'CallExpression';
|
|
3500
|
+
const ExportAllDeclaration = 'ExportAllDeclaration';
|
|
3501
|
+
const ExportNamedDeclaration = 'ExportNamedDeclaration';
|
|
3502
|
+
const ExpressionStatement = 'ExpressionStatement';
|
|
3503
|
+
const File$2 = 'File';
|
|
3504
|
+
const Import = 'Import';
|
|
3505
|
+
const ImportDeclaration = 'ImportDeclaration';
|
|
3506
|
+
const Program = 'Program';
|
|
3507
|
+
const StringLiteral = 'StringLiteral';
|
|
3508
|
+
const VariableDeclaration = 'VariableDeclaration';
|
|
3509
|
+
const VariableDeclarator = 'VariableDeclarator';
|
|
3510
|
+
|
|
3511
|
+
const walk = (node, visitor) => {
|
|
3512
|
+
if (!node) {
|
|
3513
|
+
return;
|
|
3514
|
+
}
|
|
3515
|
+
if (Array.isArray(node)) {
|
|
3516
|
+
for (const item of node) {
|
|
3517
|
+
walk(item, visitor);
|
|
3518
|
+
}
|
|
3519
|
+
return;
|
|
3520
|
+
}
|
|
3521
|
+
visitor(node);
|
|
3522
|
+
switch (node.type) {
|
|
3523
|
+
case File$2:
|
|
3524
|
+
walk(node.program, visitor);
|
|
3525
|
+
break;
|
|
3526
|
+
case Program:
|
|
3527
|
+
walk(node.body, visitor);
|
|
3528
|
+
break;
|
|
3529
|
+
case ExportNamedDeclaration:
|
|
3530
|
+
walk(node.declaration, visitor);
|
|
3531
|
+
break;
|
|
3532
|
+
case VariableDeclaration:
|
|
3533
|
+
walk(node.declarations, visitor);
|
|
3534
|
+
break;
|
|
3535
|
+
case VariableDeclarator:
|
|
3536
|
+
walk(node.init, visitor);
|
|
3537
|
+
break;
|
|
3538
|
+
case ArrowFunctionExpression:
|
|
3539
|
+
walk(node.body, visitor);
|
|
3540
|
+
break;
|
|
3541
|
+
case BlockStatement:
|
|
3542
|
+
walk(node.body, visitor);
|
|
3543
|
+
break;
|
|
3544
|
+
case ExpressionStatement:
|
|
3545
|
+
walk(node.expression, visitor);
|
|
3546
|
+
break;
|
|
3547
|
+
case AwaitExpression:
|
|
3548
|
+
walk(node.argument, visitor);
|
|
3549
|
+
break;
|
|
3550
|
+
case CallExpression:
|
|
3551
|
+
walk(node.callee, visitor);
|
|
3552
|
+
break;
|
|
3553
|
+
}
|
|
3554
|
+
};
|
|
3555
|
+
|
|
3556
|
+
const getBabelAstDependencies = (code, ast) => {
|
|
3557
|
+
const {
|
|
3558
|
+
program
|
|
3559
|
+
} = ast;
|
|
3560
|
+
const {
|
|
3561
|
+
body
|
|
3562
|
+
} = program;
|
|
3563
|
+
const dependencies = [];
|
|
3564
|
+
for (const node of body) {
|
|
3565
|
+
if (node.type === ImportDeclaration || node.type === ExportAllDeclaration) {
|
|
3566
|
+
const relativePath = node.source.extra.rawValue;
|
|
3567
|
+
const {
|
|
3568
|
+
start
|
|
3569
|
+
} = node.source;
|
|
3570
|
+
const {
|
|
3571
|
+
end
|
|
3572
|
+
} = node.source;
|
|
3573
|
+
// @ts-ignore
|
|
3574
|
+
dependencies.push({
|
|
3575
|
+
relativePath,
|
|
3576
|
+
code,
|
|
3577
|
+
start,
|
|
3578
|
+
end
|
|
3579
|
+
});
|
|
3580
|
+
} else if (node.type === VariableDeclaration && node.declarations && node.declarations[0] && node.declarations[0].type === VariableDeclarator && node.declarations[0].init && node.declarations[0].init.type === AwaitExpression && node.declarations[0].init.argument && node.declarations[0].init.argument.type === CallExpression && node.declarations[0].init.argument.callee && node.declarations[0].init.argument.callee.type === Import && node.declarations[0].init.argument.arguments && node.declarations[0].init.argument.arguments[0] && node.declarations[0].init.argument.arguments[0].type === StringLiteral) {
|
|
3581
|
+
const relativePath = node.declarations[0].init.argument.arguments[0].extra.rawValue;
|
|
3582
|
+
const {
|
|
3583
|
+
start
|
|
3584
|
+
} = node.declarations[0].init.argument.arguments[0];
|
|
3585
|
+
const {
|
|
3586
|
+
end
|
|
3587
|
+
} = node.declarations[0].init.argument.arguments[0];
|
|
3588
|
+
// @ts-ignore
|
|
3589
|
+
dependencies.push({
|
|
3590
|
+
relativePath,
|
|
3591
|
+
code,
|
|
3592
|
+
start,
|
|
3593
|
+
end
|
|
3594
|
+
});
|
|
3595
|
+
}
|
|
3596
|
+
}
|
|
3597
|
+
const visitor = node => {
|
|
3598
|
+
if (node && node.type === CallExpression && node.callee && node.callee.type === Import && node.arguments && node.arguments[0] && node.arguments[0].type === StringLiteral) {
|
|
3599
|
+
const relativePath = node.arguments[0].extra.rawValue;
|
|
3600
|
+
const {
|
|
3601
|
+
start
|
|
3602
|
+
} = node.arguments[0];
|
|
3603
|
+
const {
|
|
3604
|
+
end
|
|
3605
|
+
} = node.arguments[0];
|
|
3606
|
+
// @ts-ignore
|
|
3607
|
+
dependencies.push({
|
|
3608
|
+
relativePath,
|
|
3609
|
+
code,
|
|
3610
|
+
start,
|
|
3611
|
+
end
|
|
3612
|
+
});
|
|
3613
|
+
}
|
|
3614
|
+
};
|
|
3615
|
+
walk(ast, visitor);
|
|
3616
|
+
return dependencies;
|
|
3617
|
+
};
|
|
3618
|
+
|
|
3619
|
+
const isBabelError = error => {
|
|
3620
|
+
// @ts-ignore
|
|
3621
|
+
return isSyntaxError(error) && error.code === BABEL_PARSER_SYNTAX_ERROR;
|
|
3622
|
+
};
|
|
3623
|
+
|
|
3624
|
+
const getOrigin = () => {
|
|
3625
|
+
return location.origin;
|
|
3626
|
+
};
|
|
3627
|
+
|
|
3628
|
+
const getAbsoluteUrl = (relativePath, sourceUrl) => {
|
|
3629
|
+
if (sourceUrl.startsWith('/')) {
|
|
3630
|
+
const origin = getOrigin();
|
|
3631
|
+
const absoluteSourceUrl = new URL(sourceUrl, origin).toString();
|
|
3632
|
+
return new URL(relativePath, absoluteSourceUrl).toString();
|
|
3633
|
+
}
|
|
3634
|
+
return new URL(relativePath, sourceUrl).toString();
|
|
3635
|
+
};
|
|
3636
|
+
|
|
3637
|
+
const isExternal = url => {
|
|
3638
|
+
if (url.startsWith('/')) {
|
|
3639
|
+
return false;
|
|
3640
|
+
}
|
|
3641
|
+
if (url.startsWith(location.protocol)) {
|
|
3642
|
+
return false;
|
|
3643
|
+
}
|
|
3644
|
+
return true;
|
|
3645
|
+
};
|
|
3646
|
+
const getErrorInDependencies = async (url, dependencies, seenUrls) => {
|
|
3647
|
+
for (const dependency of dependencies) {
|
|
3648
|
+
const dependencyUrl = getAbsoluteUrl(dependency.relativePath, url);
|
|
3649
|
+
if (isExternal(dependencyUrl) || seenUrls.includes(dependencyUrl)) {
|
|
3650
|
+
continue;
|
|
3651
|
+
}
|
|
3652
|
+
seenUrls.push(dependencyUrl);
|
|
3653
|
+
// let dependencyResponse
|
|
3654
|
+
// try {
|
|
3655
|
+
const dependencyResponse = await fetch(dependencyUrl);
|
|
3656
|
+
// } catch (error) {}
|
|
3657
|
+
if (dependencyResponse.ok) {
|
|
3658
|
+
await tryToGetActualErrorMessage(null, dependencyUrl, dependencyResponse, seenUrls);
|
|
3659
|
+
} else {
|
|
3660
|
+
switch (dependencyResponse.status) {
|
|
3661
|
+
case NotFound:
|
|
3662
|
+
throw new DependencyNotFoundError(dependency.code, dependency.start, dependency.end, dependency.relativePath, dependencyUrl, url);
|
|
3663
|
+
// return `Failed to import ${url}: ${error}`
|
|
3664
|
+
}
|
|
3665
|
+
}
|
|
3666
|
+
}
|
|
3667
|
+
};
|
|
3668
|
+
|
|
3669
|
+
/**
|
|
3670
|
+
*
|
|
3671
|
+
* @param {string} url
|
|
3672
|
+
* @param {Response} response
|
|
3673
|
+
* @returns
|
|
3674
|
+
*/
|
|
3675
|
+
const tryToGetActualErrorMessage = async (error, url, response, seenUrls = []) => {
|
|
3676
|
+
let text;
|
|
3677
|
+
try {
|
|
3678
|
+
text = await response.text();
|
|
3679
|
+
} catch {
|
|
3680
|
+
return `Failed to import ${url}: Unknown Network Error`;
|
|
3681
|
+
}
|
|
3682
|
+
let ast;
|
|
3683
|
+
try {
|
|
3684
|
+
ast = await parse(text, {
|
|
3685
|
+
sourceType: Module
|
|
3686
|
+
});
|
|
3687
|
+
} catch (error) {
|
|
3688
|
+
if (isBabelError(error)) {
|
|
3689
|
+
throw new BabelParseError(url, error);
|
|
3690
|
+
}
|
|
3691
|
+
throw error;
|
|
3692
|
+
}
|
|
3693
|
+
const dependencies = getBabelAstDependencies(text, ast);
|
|
3694
|
+
await getErrorInDependencies(url, dependencies, seenUrls);
|
|
3695
|
+
if (hasRecentErrors()) {
|
|
3696
|
+
const recentError = getRecentError();
|
|
3697
|
+
// @ts-ignore
|
|
3698
|
+
throw new ContentSecurityPolicyError(recentError.violatedDirective, recentError.sourceFile, recentError.lineNumber, recentError.columnNumber);
|
|
3699
|
+
}
|
|
3700
|
+
const contentType = response.headers.get('Content-Type');
|
|
3701
|
+
if (url.endsWith('.ts') && contentType === null) {
|
|
3702
|
+
return `Failed to import ${url}: Missing Content-Type header for javascript`;
|
|
3703
|
+
}
|
|
3704
|
+
return `Failed to import ${url}: Unknown Network Error`;
|
|
3705
|
+
};
|
|
3706
|
+
|
|
3707
|
+
const tryToGetActualImportErrorMessage = async (url, error) => {
|
|
3708
|
+
let response;
|
|
3709
|
+
try {
|
|
3710
|
+
response = await fetch(url);
|
|
3711
|
+
} catch (error) {
|
|
3712
|
+
return `Failed to import ${url}: ${error}`;
|
|
3713
|
+
}
|
|
3714
|
+
if (response.ok) {
|
|
3715
|
+
return await tryToGetActualErrorMessage(error, url, response);
|
|
3716
|
+
}
|
|
3717
|
+
switch (response.status) {
|
|
3718
|
+
case NotFound:
|
|
3719
|
+
throw new Error(`Failed to import ${url}: Not found (404)`);
|
|
3720
|
+
default:
|
|
3721
|
+
return `Failed to import ${url}: ${error}`;
|
|
3722
|
+
}
|
|
3723
|
+
};
|
|
3724
|
+
|
|
3725
|
+
const importScript = async url => {
|
|
3726
|
+
try {
|
|
3727
|
+
return await import(url);
|
|
3728
|
+
} catch (error) {
|
|
3729
|
+
if (isImportError(error)) {
|
|
3730
|
+
const actualErrorMessage = await tryToGetActualImportErrorMessage(url, error);
|
|
3731
|
+
throw new Error(actualErrorMessage);
|
|
3732
|
+
}
|
|
3733
|
+
// content security policy errors arrive a little bit later
|
|
3734
|
+
await sleep(0);
|
|
3735
|
+
if (hasRecentErrors()) {
|
|
3736
|
+
const recentError = getRecentError();
|
|
3737
|
+
// @ts-ignore
|
|
3738
|
+
throw new ContentSecurityPolicyError(recentError.violatedDirective, recentError.sourceFile, recentError.lineNumber, recentError.columnNumber);
|
|
3739
|
+
}
|
|
3740
|
+
throw error;
|
|
3741
|
+
}
|
|
3742
|
+
};
|
|
3743
|
+
|
|
3744
|
+
const activationTimeout = 10_000;
|
|
3745
|
+
const rejectAfterTimeout = async (timeout, token) => {
|
|
3746
|
+
await sleep(timeout);
|
|
3747
|
+
if (isCanceled(token)) {
|
|
3748
|
+
return;
|
|
3749
|
+
}
|
|
3750
|
+
throw new Error(`Activation timeout of ${timeout}ms exceeded`);
|
|
3751
|
+
};
|
|
3752
|
+
|
|
3753
|
+
// TODO separate importing extension and activating extension for smaller functions
|
|
3754
|
+
// and better error handling
|
|
3755
|
+
|
|
3756
|
+
/**
|
|
3757
|
+
* @deprecated use the separate functions importExtension and activateExtension instead
|
|
3758
|
+
*
|
|
3759
|
+
* @param extension
|
|
3760
|
+
* @param absolutePath
|
|
3761
|
+
* @param activationEvent
|
|
3762
|
+
*/
|
|
3763
|
+
const activateExtension = async (extension, absolutePath, activationEvent) => {
|
|
3764
|
+
const extensionId = extension.id;
|
|
3765
|
+
try {
|
|
3766
|
+
string(extension.path);
|
|
3767
|
+
string(extension.browser);
|
|
3768
|
+
string(absolutePath);
|
|
3769
|
+
const startTime = performance.now();
|
|
3770
|
+
set$5({
|
|
3771
|
+
activationEndTime: 0,
|
|
3772
|
+
activationEvent: activationEvent,
|
|
3773
|
+
activationStartTime: startTime,
|
|
3774
|
+
activationTime: 0,
|
|
3775
|
+
id: extensionId,
|
|
3776
|
+
status: Importing,
|
|
3777
|
+
importEndTime: 0,
|
|
3778
|
+
importStartTime: 0,
|
|
3779
|
+
importTime: 0
|
|
3780
|
+
});
|
|
3781
|
+
const module = await importScript(absolutePath);
|
|
3782
|
+
handleRpcInfos(extension, platform);
|
|
3783
|
+
update(extensionId, {
|
|
3784
|
+
status: Activating
|
|
3785
|
+
});
|
|
3786
|
+
const token = create$1();
|
|
3787
|
+
try {
|
|
3788
|
+
await Promise.race([module.activate(extension), rejectAfterTimeout(activationTimeout, token)]);
|
|
3789
|
+
const endTime = performance.now();
|
|
3790
|
+
const time = endTime - startTime;
|
|
3791
|
+
update(extensionId, {
|
|
3792
|
+
status: Activated,
|
|
3793
|
+
activationStartTime: time
|
|
3794
|
+
});
|
|
3795
|
+
} catch (error) {
|
|
3796
|
+
if (isImportError(error)) {
|
|
3797
|
+
const actualErrorMessage = await tryToGetActualImportErrorMessage(absolutePath, error);
|
|
3798
|
+
throw new Error(actualErrorMessage);
|
|
3799
|
+
}
|
|
3800
|
+
throw error;
|
|
3801
|
+
} finally {
|
|
3802
|
+
cancel(token);
|
|
3803
|
+
}
|
|
3804
|
+
} catch (error) {
|
|
3805
|
+
update(extensionId, {
|
|
3806
|
+
status: Error$1 // TODO maybe store error also in runtime status state
|
|
3807
|
+
});
|
|
3808
|
+
const id = getExtensionId(extension);
|
|
3809
|
+
throw new VError(error, `Failed to activate extension ${id}`);
|
|
3810
|
+
}
|
|
3811
|
+
// console.info('activated', path)
|
|
3812
|
+
};
|
|
3813
|
+
|
|
3814
|
+
const state$5 = {
|
|
3815
|
+
webExtensions: []
|
|
3816
|
+
};
|
|
3817
|
+
|
|
3818
|
+
const cache = Object.create(null);
|
|
3819
|
+
const id = 1;
|
|
3820
|
+
const get$5 = () => {
|
|
3821
|
+
return cache[id];
|
|
3822
|
+
};
|
|
3823
|
+
const has = () => {
|
|
3824
|
+
return id in cache;
|
|
3825
|
+
};
|
|
3826
|
+
const set$4 = value => {
|
|
3827
|
+
cache[id] = value;
|
|
3828
|
+
};
|
|
3829
|
+
const clear = () => {
|
|
3830
|
+
delete cache[id];
|
|
3831
|
+
};
|
|
3832
|
+
|
|
3833
|
+
const getJson = async url => {
|
|
3834
|
+
try {
|
|
3835
|
+
const response = await fetch(url);
|
|
3836
|
+
if (!response.ok) {
|
|
3837
|
+
throw new Error(response.statusText);
|
|
3838
|
+
}
|
|
3839
|
+
const json = await response.json();
|
|
3840
|
+
return json;
|
|
3841
|
+
} catch (error) {
|
|
3842
|
+
throw new VError(error, `Failed to get json`);
|
|
3843
|
+
}
|
|
3844
|
+
};
|
|
3845
|
+
|
|
3846
|
+
const NewLine = '\n';
|
|
3847
|
+
const Slash$1 = '/';
|
|
3848
|
+
|
|
3849
|
+
const interExtensionId = path => {
|
|
3850
|
+
const slashIndex = path.lastIndexOf(Slash$1);
|
|
3851
|
+
return path.slice(slashIndex + 1);
|
|
3852
|
+
};
|
|
3853
|
+
|
|
3854
|
+
const getWebExtensionManifest = async (path, manifestPath) => {
|
|
3855
|
+
try {
|
|
3856
|
+
const manifest = await getJson(manifestPath);
|
|
3857
|
+
return {
|
|
3858
|
+
...manifest,
|
|
3859
|
+
path,
|
|
3860
|
+
uri: path
|
|
3861
|
+
};
|
|
3862
|
+
} catch (error) {
|
|
3863
|
+
const id = interExtensionId(path);
|
|
3864
|
+
throw new VError(error, `Failed to load extension manifest for ${id}`);
|
|
3865
|
+
}
|
|
3866
|
+
};
|
|
3867
|
+
|
|
3868
|
+
const getWebManifestPath = path => {
|
|
3869
|
+
const manifestPath = `${path}/extension.json`;
|
|
3870
|
+
return manifestPath;
|
|
3871
|
+
};
|
|
3872
|
+
|
|
3873
|
+
const addWebExtension = async path => {
|
|
3874
|
+
const manifestPath = getWebManifestPath(path);
|
|
3875
|
+
const manifest = await getWebExtensionManifest(path, manifestPath);
|
|
3876
|
+
// TODO avoid mutation if possible
|
|
3877
|
+
state$5.webExtensions.push(manifest);
|
|
3878
|
+
clear();
|
|
3879
|
+
return manifest;
|
|
3880
|
+
};
|
|
3881
|
+
|
|
3882
|
+
const applyBulkReplacement = async (files, ranges, replacement) => {
|
|
3883
|
+
// eslint-disable-next-line no-console
|
|
3884
|
+
console.log({
|
|
3885
|
+
files,
|
|
3886
|
+
ranges,
|
|
3887
|
+
replacement
|
|
3888
|
+
});
|
|
3889
|
+
throw new Error('not implemented');
|
|
3890
|
+
};
|
|
3891
|
+
|
|
3892
|
+
const addCssStyleSheet = (id, css) => {
|
|
3893
|
+
return invoke$2('Css.addCssStyleSheet', id, css);
|
|
3894
|
+
};
|
|
3895
|
+
|
|
3896
|
+
const warn = (...args) => {
|
|
3897
|
+
console.warn(...args);
|
|
3898
|
+
};
|
|
3899
|
+
|
|
3900
|
+
const transparent = (color, factor) => {
|
|
3901
|
+
return color;
|
|
3902
|
+
};
|
|
3903
|
+
const toColorRule = ([key, value]) => {
|
|
3904
|
+
return ` --${key}: ${value};`;
|
|
3905
|
+
};
|
|
3906
|
+
const toTokenColorRule = tokenColor => {
|
|
3907
|
+
return `.${tokenColor.name} { color: ${tokenColor.foreground} }`;
|
|
3908
|
+
};
|
|
3909
|
+
const addFallbackColors = colors => {
|
|
3910
|
+
const newColors = {
|
|
3911
|
+
...colors
|
|
3912
|
+
};
|
|
3913
|
+
if (!newColors.ActivityBarInactiveForeground) {
|
|
3914
|
+
// TODO don't assign, avoid mutation
|
|
3915
|
+
newColors.ActivityBarInactiveForeground = transparent(newColors.ActivityBarForeground);
|
|
3916
|
+
}
|
|
3917
|
+
newColors.CssVariableName ||= colors.VariableName;
|
|
3918
|
+
return newColors;
|
|
3919
|
+
};
|
|
3920
|
+
const createColorThemeFromJson = (colorThemeId, colorThemeJson) => {
|
|
3921
|
+
if (!colorThemeJson) {
|
|
3922
|
+
warn(`color theme json for "${colorThemeId}" is empty: "${colorThemeJson}"`);
|
|
3923
|
+
return '';
|
|
3924
|
+
}
|
|
3925
|
+
if (typeof colorThemeJson !== 'object') {
|
|
3926
|
+
warn(`color theme json for "${colorThemeId}" cannot be converted to css: "${colorThemeJson}"`);
|
|
3927
|
+
return '';
|
|
3928
|
+
}
|
|
3929
|
+
if (Array.isArray(colorThemeJson)) {
|
|
3930
|
+
warn(`color theme json for "${colorThemeId}" cannot be converted to css, it must be of type object but was of type array`);
|
|
3931
|
+
return '';
|
|
3932
|
+
}
|
|
3933
|
+
const {
|
|
3934
|
+
colors
|
|
3935
|
+
} = colorThemeJson;
|
|
3936
|
+
if (!colors) {
|
|
3937
|
+
return '';
|
|
3938
|
+
}
|
|
3939
|
+
const newColors = addFallbackColors(colors);
|
|
3940
|
+
const colorRules = Object.entries(newColors).map(toColorRule);
|
|
3941
|
+
const tokenColors = colorThemeJson.tokenColors || [];
|
|
3942
|
+
const tokenColorRules = tokenColors.map(toTokenColorRule);
|
|
3943
|
+
const extraRules = [];
|
|
3944
|
+
if (colors.ContrastBorder) {
|
|
3945
|
+
extraRules.push(`#ActivityBar, #SideBar {
|
|
3946
|
+
border-left: 1px solid var(--ContrastBorder);
|
|
3947
|
+
}`, `#Panel {
|
|
3948
|
+
border-top: 1px solid var(--ContrastBorder);
|
|
3949
|
+
}`, `#StatusBar {
|
|
3950
|
+
border-top: 1px solid var(--ContrastBorder);
|
|
3951
|
+
}`, `.ActivityBarItemBadge {
|
|
3952
|
+
border: 1px solid var(--ContrastBorder);
|
|
3953
|
+
}`, `#QuickPick {
|
|
3954
|
+
border: 1px solid var(--ContrastBorder);
|
|
3955
|
+
}`);
|
|
3956
|
+
}
|
|
3957
|
+
const colorThemeCss = `:root {\n${colorRules.join(NewLine)}\n}\n\n${tokenColorRules.join(NewLine)}\n\n${extraRules.join(NewLine)}`;
|
|
3958
|
+
return colorThemeCss;
|
|
3387
3959
|
};
|
|
3388
3960
|
|
|
3389
3961
|
// for (let i = 0; i < 10000; i++) {
|
|
@@ -3684,941 +4256,484 @@ const state$4 = {
|
|
|
3684
4256
|
/**
|
|
3685
4257
|
* @type {any}
|
|
3686
4258
|
*/
|
|
3687
|
-
cachedDb: undefined
|
|
3688
|
-
};
|
|
3689
|
-
|
|
3690
|
-
const storeId = 'lvce-keyvalue';
|
|
3691
|
-
|
|
3692
|
-
// TODO high memory usage in idb because of transactionDoneMap
|
|
3693
|
-
|
|
3694
|
-
const getDb$1 = async () => {
|
|
3695
|
-
const db = await openDB(storeId, state$4.dbVersion, {
|
|
3696
|
-
async upgrade(db, oldVersion) {
|
|
3697
|
-
if (!db.objectStoreNames.contains(storeId)) {
|
|
3698
|
-
await db.createObjectStore(storeId, {
|
|
3699
|
-
autoIncrement: true
|
|
3700
|
-
});
|
|
3701
|
-
}
|
|
3702
|
-
}
|
|
3703
|
-
});
|
|
3704
|
-
return db;
|
|
3705
|
-
};
|
|
3706
|
-
|
|
3707
|
-
// TODO high memory usage in idb because of transactionDoneMap
|
|
3708
|
-
|
|
3709
|
-
const state$3 = {
|
|
3710
|
-
cachedDb: undefined
|
|
3711
|
-
};
|
|
3712
|
-
const getDbMemoized$1 = async () => {
|
|
3713
|
-
state$3.cachedDb ||= await getDb$1();
|
|
3714
|
-
return state$3.cachedDb;
|
|
3715
|
-
};
|
|
3716
|
-
|
|
3717
|
-
// TODO high memory usage in idb because of transactionDoneMap
|
|
3718
|
-
|
|
3719
|
-
const set$3 = async (key, value) => {
|
|
3720
|
-
try {
|
|
3721
|
-
const db = await getDbMemoized$1();
|
|
3722
|
-
await db.put(storeId, value, key);
|
|
3723
|
-
} catch (error) {
|
|
3724
|
-
throw new VError(error, 'Failed to save value to indexed db');
|
|
3725
|
-
}
|
|
3726
|
-
};
|
|
3727
|
-
const get$4 = async key => {
|
|
3728
|
-
try {
|
|
3729
|
-
const db = await getDbMemoized$1();
|
|
3730
|
-
const value = await db.get(storeId, key);
|
|
3731
|
-
return value;
|
|
3732
|
-
} catch (error) {
|
|
3733
|
-
throw new VError(error, 'Failed to get value from indexed db');
|
|
3734
|
-
}
|
|
3735
|
-
};
|
|
3736
|
-
|
|
3737
|
-
const getCacheKey$1 = colorThemeId => {
|
|
3738
|
-
return 'color-theme-' + colorThemeId;
|
|
3739
|
-
};
|
|
3740
|
-
const get$3 = colorThemeId => {
|
|
3741
|
-
const cacheKey = getCacheKey$1(colorThemeId);
|
|
3742
|
-
return get$4(cacheKey);
|
|
3743
|
-
};
|
|
3744
|
-
const set$2 = (colorThemeId, data) => {
|
|
3745
|
-
const cacheKey = getCacheKey$1(colorThemeId);
|
|
3746
|
-
return set$3(cacheKey, data);
|
|
3747
|
-
};
|
|
3748
|
-
|
|
3749
|
-
const GetColorThemeCssCachedIndexedDb = {
|
|
3750
|
-
__proto__: null,
|
|
3751
|
-
get: get$3,
|
|
3752
|
-
set: set$2
|
|
3753
|
-
};
|
|
3754
|
-
|
|
3755
|
-
const getText$1 = key => {
|
|
3756
|
-
return invoke$2('LocalStorage.getText', key);
|
|
3757
|
-
};
|
|
3758
|
-
const setText = (key, value) => {
|
|
3759
|
-
return invoke$2('LocalStorage.setText', key, value);
|
|
3760
|
-
};
|
|
3761
|
-
|
|
3762
|
-
const getCacheKey = colorThemeId => {
|
|
3763
|
-
return 'lvce-color-theme-' + colorThemeId;
|
|
3764
|
-
};
|
|
3765
|
-
const get$2 = colorThemeId => {
|
|
3766
|
-
const cacheKey = getCacheKey(colorThemeId);
|
|
3767
|
-
return getText$1(cacheKey);
|
|
3768
|
-
};
|
|
3769
|
-
const set$1 = (colorThemeId, data) => {
|
|
3770
|
-
const cacheKey = getCacheKey(colorThemeId);
|
|
3771
|
-
return setText(cacheKey, data);
|
|
3772
|
-
};
|
|
3773
|
-
|
|
3774
|
-
const GetColorThemeCssCachedLocalStorage = {
|
|
3775
|
-
__proto__: null,
|
|
3776
|
-
get: get$2,
|
|
3777
|
-
set: set$1
|
|
3778
|
-
};
|
|
3779
|
-
|
|
3780
|
-
const get$1 = colorThemeId => {
|
|
3781
|
-
return '';
|
|
3782
|
-
};
|
|
3783
|
-
const set = (colorThemeId, data) => {
|
|
3784
|
-
// noop
|
|
3785
|
-
};
|
|
3786
|
-
|
|
3787
|
-
const GetColorThemeCssCachedNoop = {
|
|
3788
|
-
__proto__: null,
|
|
3789
|
-
get: get$1,
|
|
3790
|
-
set
|
|
3791
|
-
};
|
|
3792
|
-
|
|
3793
|
-
const get = key => {
|
|
3794
|
-
return invoke$2('Preferences.get', key);
|
|
3795
|
-
};
|
|
3796
|
-
|
|
3797
|
-
const getCacheFn = config => {
|
|
3798
|
-
switch (config) {
|
|
3799
|
-
case 'localStorage':
|
|
3800
|
-
return GetColorThemeCssCachedLocalStorage;
|
|
3801
|
-
case 'indexedDb':
|
|
3802
|
-
return GetColorThemeCssCachedIndexedDb;
|
|
3803
|
-
default:
|
|
3804
|
-
return GetColorThemeCssCachedNoop;
|
|
3805
|
-
}
|
|
3806
|
-
};
|
|
3807
|
-
const getColorThemeCssCached = async (colorThemeId, getData) => {
|
|
3808
|
-
const config = await get('colorTheme.cache');
|
|
3809
|
-
const module = await getCacheFn(config);
|
|
3810
|
-
const cachedData = await module.get(colorThemeId);
|
|
3811
|
-
if (cachedData) {
|
|
3812
|
-
return cachedData;
|
|
3813
|
-
}
|
|
3814
|
-
const newData = await getData(colorThemeId);
|
|
3815
|
-
await module.set(colorThemeId, newData);
|
|
3816
|
-
return newData;
|
|
3817
|
-
};
|
|
3818
|
-
|
|
3819
|
-
const readJson = url => {
|
|
3820
|
-
return invoke$2('FileSystem.readJson', url);
|
|
3821
|
-
};
|
|
3822
|
-
|
|
3823
|
-
const dirname = (pathSeparator, path) => {
|
|
3824
|
-
const index = path.lastIndexOf(pathSeparator);
|
|
3825
|
-
if (index === -1) {
|
|
3826
|
-
return path;
|
|
3827
|
-
}
|
|
3828
|
-
return path.slice(0, index);
|
|
3829
|
-
};
|
|
3830
|
-
const extname = path => {
|
|
3831
|
-
const index = path.lastIndexOf('.');
|
|
3832
|
-
if (index === -1) {
|
|
3833
|
-
return '';
|
|
3834
|
-
}
|
|
3835
|
-
return path.slice(index);
|
|
3836
|
-
};
|
|
3837
|
-
const join = (pathSeparator, ...parts) => {
|
|
3838
|
-
return parts.join(pathSeparator);
|
|
3839
|
-
};
|
|
3840
|
-
|
|
3841
|
-
const getColorThemeUri = (extensions, colorThemeId) => {
|
|
3842
|
-
for (const extension of extensions) {
|
|
3843
|
-
if (!extension.colorThemes) {
|
|
3844
|
-
continue;
|
|
3845
|
-
}
|
|
3846
|
-
for (const colorTheme of extension.colorThemes) {
|
|
3847
|
-
if (colorTheme.id !== colorThemeId) {
|
|
3848
|
-
continue;
|
|
3849
|
-
}
|
|
3850
|
-
const absolutePath = join('/', extension.uri, colorTheme.path);
|
|
3851
|
-
return absolutePath;
|
|
3852
|
-
}
|
|
3853
|
-
}
|
|
3854
|
-
return '';
|
|
3855
|
-
};
|
|
3856
|
-
|
|
3857
|
-
const getAssetDir = () => {
|
|
3858
|
-
// @ts-ignore
|
|
3859
|
-
if (typeof '/e6ddf2e' !== 'undefined') {
|
|
3860
|
-
// @ts-ignore
|
|
3861
|
-
return '/e6ddf2e';
|
|
3862
|
-
}
|
|
3863
|
-
if (platform === Electron) {
|
|
3864
|
-
return '../../../../..';
|
|
3865
|
-
}
|
|
3866
|
-
return '';
|
|
3867
|
-
};
|
|
3868
|
-
const assetDir = getAssetDir();
|
|
3869
|
-
|
|
3870
|
-
const extensionsUrl = `${assetDir}/config/extensions.json`;
|
|
3871
|
-
|
|
3872
|
-
const getWebExtensions = async () => {
|
|
3873
|
-
return getJson(extensionsUrl);
|
|
3874
|
-
};
|
|
3875
|
-
|
|
3876
|
-
const getSharedProcessExtensions = () => {
|
|
3877
|
-
return invoke$2(/* ExtensionManagement.getExtensions */'ExtensionManagement.getExtensions');
|
|
3878
|
-
};
|
|
3879
|
-
const doGetExtensions = async () => {
|
|
3880
|
-
const meta = state$5.webExtensions;
|
|
3881
|
-
if (platform === Web) {
|
|
3882
|
-
const webExtensions = await getWebExtensions();
|
|
3883
|
-
return [...webExtensions, ...meta];
|
|
3884
|
-
}
|
|
3885
|
-
if (platform === Remote) {
|
|
3886
|
-
const sharedProcessExtensions = await getSharedProcessExtensions();
|
|
3887
|
-
return [...sharedProcessExtensions, ...meta];
|
|
3888
|
-
}
|
|
3889
|
-
const extensions = await getSharedProcessExtensions();
|
|
3890
|
-
return extensions;
|
|
3891
|
-
};
|
|
3892
|
-
|
|
3893
|
-
const getExtensions$1 = async () => {
|
|
3894
|
-
return doGetExtensions();
|
|
3895
|
-
};
|
|
3896
|
-
|
|
3897
|
-
// TODO getExtensions is still called 6 times on startup instead of 1
|
|
3898
|
-
const getExtensions = () => {
|
|
3899
|
-
if (!has()) {
|
|
3900
|
-
set$4(getExtensions$1());
|
|
3901
|
-
}
|
|
3902
|
-
return get$5();
|
|
3903
|
-
};
|
|
3904
|
-
|
|
3905
|
-
const getColorThemeJson$2 = async colorThemeId => {
|
|
3906
|
-
const extensions = await getExtensions();
|
|
3907
|
-
const colorThemeUri = getColorThemeUri(extensions, colorThemeId);
|
|
3908
|
-
const json = await readJson(colorThemeUri);
|
|
3909
|
-
return json;
|
|
3910
|
-
};
|
|
3911
|
-
|
|
3912
|
-
const getColorThemeUrlWeb = colorThemeId => {
|
|
3913
|
-
return `${assetDir}/extensions/builtin.theme-${colorThemeId}/color-theme.json`;
|
|
3914
|
-
};
|
|
3915
|
-
const getColorThemeJson$1 = colorThemeId => {
|
|
3916
|
-
const url = getColorThemeUrlWeb(colorThemeId);
|
|
3917
|
-
// TODO handle error ?
|
|
3918
|
-
return getJson(url);
|
|
3919
|
-
};
|
|
3920
|
-
|
|
3921
|
-
const getColorThemeJson = colorThemeId => {
|
|
3922
|
-
if (platform === Web) {
|
|
3923
|
-
return getColorThemeJson$1(colorThemeId);
|
|
3924
|
-
}
|
|
3925
|
-
return getColorThemeJson$2(colorThemeId);
|
|
3926
|
-
};
|
|
3927
|
-
|
|
3928
|
-
const getColorThemeCssFromJson = async (colorThemeId, colorThemeJson) => {
|
|
3929
|
-
const colorThemeCss = createColorThemeFromJson(/* colorThemeId */colorThemeId, /* colorThemeJson */colorThemeJson);
|
|
3930
|
-
return colorThemeCss;
|
|
3931
|
-
// TODO generate color theme from jsonc
|
|
3932
|
-
};
|
|
3933
|
-
const getColorThemeCssNew = async colorThemeId => {
|
|
3934
|
-
const colorThemeJson = await getColorThemeJson(colorThemeId);
|
|
3935
|
-
const colorThemeCss = await getColorThemeCssFromJson(colorThemeId, colorThemeJson);
|
|
3936
|
-
return colorThemeCss;
|
|
3937
|
-
};
|
|
3938
|
-
const getColorThemeCss = colorThemeId => {
|
|
3939
|
-
return getColorThemeCssCached(colorThemeId, getColorThemeCssNew);
|
|
4259
|
+
cachedDb: undefined
|
|
3940
4260
|
};
|
|
3941
4261
|
|
|
3942
|
-
const
|
|
3943
|
-
return colorThemeJson && colorThemeJson.colors && colorThemeJson.colors.TitleBarBackground;
|
|
3944
|
-
};
|
|
4262
|
+
const storeId = 'lvce-keyvalue';
|
|
3945
4263
|
|
|
3946
|
-
|
|
3947
|
-
|
|
4264
|
+
// TODO high memory usage in idb because of transactionDoneMap
|
|
4265
|
+
|
|
4266
|
+
const getDb$1 = async () => {
|
|
4267
|
+
const db = await openDB(storeId, state$4.dbVersion, {
|
|
4268
|
+
async upgrade(db, oldVersion) {
|
|
4269
|
+
if (!db.objectStoreNames.contains(storeId)) {
|
|
4270
|
+
await db.createObjectStore(storeId, {
|
|
4271
|
+
autoIncrement: true
|
|
4272
|
+
});
|
|
4273
|
+
}
|
|
4274
|
+
}
|
|
4275
|
+
});
|
|
4276
|
+
return db;
|
|
3948
4277
|
};
|
|
3949
4278
|
|
|
3950
|
-
// TODO
|
|
3951
|
-
// actual color theme can be computed after workbench has loaded (most times will be the same and doesn't need to be computed)
|
|
4279
|
+
// TODO high memory usage in idb because of transactionDoneMap
|
|
3952
4280
|
|
|
3953
|
-
const state$
|
|
3954
|
-
|
|
4281
|
+
const state$3 = {
|
|
4282
|
+
cachedDb: undefined
|
|
4283
|
+
};
|
|
4284
|
+
const getDbMemoized$1 = async () => {
|
|
4285
|
+
state$3.cachedDb ||= await getDb$1();
|
|
4286
|
+
return state$3.cachedDb;
|
|
3955
4287
|
};
|
|
3956
|
-
const FALLBACK_COLOR_THEME_ID = 'slime';
|
|
3957
4288
|
|
|
3958
|
-
// TODO
|
|
3959
|
-
// so that all validation is here (json parsing errors, invalid shape, ...)
|
|
4289
|
+
// TODO high memory usage in idb because of transactionDoneMap
|
|
3960
4290
|
|
|
3961
|
-
const
|
|
4291
|
+
const set$3 = async (key, value) => {
|
|
3962
4292
|
try {
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
const colorThemeCss = await getColorThemeCss(colorThemeId);
|
|
3966
|
-
await addCssStyleSheet('ContributedColorTheme', colorThemeCss);
|
|
3967
|
-
if (platform === Web) {
|
|
3968
|
-
const themeColor = getMetaThemeColor(colorThemeId) || '';
|
|
3969
|
-
await setThemeColor(themeColor);
|
|
3970
|
-
}
|
|
3971
|
-
if (platform !== Web && (await get('development.watchColorTheme'))) {
|
|
3972
|
-
watch(colorThemeId);
|
|
3973
|
-
}
|
|
4293
|
+
const db = await getDbMemoized$1();
|
|
4294
|
+
await db.put(storeId, value, key);
|
|
3974
4295
|
} catch (error) {
|
|
3975
|
-
throw new VError(error,
|
|
3976
|
-
}
|
|
3977
|
-
};
|
|
3978
|
-
const watch = async id => {
|
|
3979
|
-
if (state$2.watchedTheme === id) {
|
|
3980
|
-
return;
|
|
4296
|
+
throw new VError(error, 'Failed to save value to indexed db');
|
|
3981
4297
|
}
|
|
3982
|
-
state$2.watchedTheme = id;
|
|
3983
|
-
await invoke$2('ExtensionHost.watchColorTheme', id);
|
|
3984
|
-
};
|
|
3985
|
-
const getPreferredColorTheme = () => {
|
|
3986
|
-
const preferredColorTheme = get('workbench.colorTheme');
|
|
3987
|
-
return preferredColorTheme;
|
|
3988
4298
|
};
|
|
3989
|
-
|
|
3990
|
-
// TODO test this, and also the error case
|
|
3991
|
-
// TODO have icon theme, color theme together (maybe)
|
|
3992
|
-
const hydrate$1 = async () => {
|
|
3993
|
-
const preferredColorTheme = await getPreferredColorTheme();
|
|
3994
|
-
const colorThemeId = preferredColorTheme || FALLBACK_COLOR_THEME_ID;
|
|
4299
|
+
const get$4 = async key => {
|
|
3995
4300
|
try {
|
|
3996
|
-
await
|
|
4301
|
+
const db = await getDbMemoized$1();
|
|
4302
|
+
const value = await db.get(storeId, key);
|
|
4303
|
+
return value;
|
|
3997
4304
|
} catch (error) {
|
|
3998
|
-
|
|
3999
|
-
throw error;
|
|
4000
|
-
}
|
|
4001
|
-
console.error(error);
|
|
4002
|
-
await applyColorTheme(FALLBACK_COLOR_THEME_ID);
|
|
4003
|
-
}
|
|
4004
|
-
};
|
|
4005
|
-
|
|
4006
|
-
const iframeWorkerUrl = `${assetDir}/packages/iframe-worker/dist/iframeWorkerMain.js`;
|
|
4007
|
-
|
|
4008
|
-
const getConfiguredIframeWorkerUrl = async () => {
|
|
4009
|
-
let configuredWorkerUrl = (await get('develop.iframeWorkerPath')) || '';
|
|
4010
|
-
if (configuredWorkerUrl) {
|
|
4011
|
-
configuredWorkerUrl = '/remote' + configuredWorkerUrl;
|
|
4012
|
-
}
|
|
4013
|
-
configuredWorkerUrl = configuredWorkerUrl || iframeWorkerUrl;
|
|
4014
|
-
return configuredWorkerUrl;
|
|
4015
|
-
};
|
|
4016
|
-
|
|
4017
|
-
const state$1 = {
|
|
4018
|
-
id: 0
|
|
4019
|
-
};
|
|
4020
|
-
const create$1 = () => {
|
|
4021
|
-
return ++state$1.id;
|
|
4022
|
-
};
|
|
4023
|
-
|
|
4024
|
-
const iframeWorkerCommandMap = {
|
|
4025
|
-
'WebView.compatExtensionHostWorkerInvoke': (...args) => invoke$2('WebView.compatExtensionHostWorkerInvoke', ...args),
|
|
4026
|
-
'WebView.compatExtensionHostWorkerInvokeAndTransfer': (...args) => invokeAndTransfer$2('WebView.compatExtensionHostWorkerInvokeAndTransfer', ...args),
|
|
4027
|
-
'WebView.compatRendererProcessInvoke': (...args) => invoke$2('WebView.compatRendererProcessInvoke', ...args),
|
|
4028
|
-
'WebView.compatRendererProcessInvokeAndTransfer': (...args) => invokeAndTransfer$2('WebView.compatRendererProcessInvokeAndTransfer', ...args),
|
|
4029
|
-
// @ts-ignore
|
|
4030
|
-
'WebView.compatRendererWorkerInvokeAndTransfer': (...args) => invokeAndTransfer$2(...args),
|
|
4031
|
-
// @ts-ignore
|
|
4032
|
-
'WebView.compatRendererWorkerInvoke': (...args) => invoke$2(...args),
|
|
4033
|
-
'WebView.compatSharedProcessInvoke': (...args) => invoke$2('WebView.compatSharedProcessInvoke', ...args),
|
|
4034
|
-
'WebView.getSavedState': (...args) => invoke$2('WebView.getSavedState', ...args),
|
|
4035
|
-
'WebView.getWebViewInfo': (...args) => invoke$2('WebView.getWebViewInfo', ...args),
|
|
4036
|
-
'WebView.getWebViews': (...args) => invoke$2('WebView.getWebViews', ...args),
|
|
4037
|
-
'WebView.setPort': (...args) => invoke$2('WebView.setPort', ...args),
|
|
4038
|
-
'ExtensionHostManagement.activateByEvent': (...args) => invoke$2('ExtensionHostManagement.activateByEvent', ...args),
|
|
4039
|
-
'WebView.getRemoteUrl': options => getRemoteUrlForWebView(options.uri, options)
|
|
4040
|
-
};
|
|
4041
|
-
|
|
4042
|
-
const launchIframeWorker = async () => {
|
|
4043
|
-
const configuredWorkerUrl = await getConfiguredIframeWorkerUrl();
|
|
4044
|
-
const name = 'Iframe Worker';
|
|
4045
|
-
const id = create$1();
|
|
4046
|
-
const rpc = await create$2({
|
|
4047
|
-
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug$1,
|
|
4048
|
-
name,
|
|
4049
|
-
url: configuredWorkerUrl,
|
|
4050
|
-
id,
|
|
4051
|
-
commandMap: iframeWorkerCommandMap
|
|
4052
|
-
});
|
|
4053
|
-
return rpc;
|
|
4054
|
-
};
|
|
4055
|
-
|
|
4056
|
-
let workerPromise;
|
|
4057
|
-
const ensureWorker = () => {
|
|
4058
|
-
if (!workerPromise) {
|
|
4059
|
-
workerPromise = launchIframeWorker();
|
|
4305
|
+
throw new VError(error, 'Failed to get value from indexed db');
|
|
4060
4306
|
}
|
|
4061
|
-
return workerPromise;
|
|
4062
|
-
};
|
|
4063
|
-
const isActive = () => {
|
|
4064
|
-
return Boolean(workerPromise);
|
|
4065
|
-
};
|
|
4066
|
-
const invoke = async (method, ...params) => {
|
|
4067
|
-
const rpc = await ensureWorker();
|
|
4068
|
-
return rpc.invoke(method, ...params);
|
|
4069
|
-
};
|
|
4070
|
-
const invokeAndTransfer = async (method, ...params) => {
|
|
4071
|
-
const rpc = await ensureWorker();
|
|
4072
|
-
return rpc.invokeAndTransfer(method, ...params);
|
|
4073
|
-
};
|
|
4074
|
-
|
|
4075
|
-
const createWebView3 = async ({
|
|
4076
|
-
id,
|
|
4077
|
-
uri,
|
|
4078
|
-
isGitpod,
|
|
4079
|
-
platform,
|
|
4080
|
-
assetDir,
|
|
4081
|
-
webViewScheme,
|
|
4082
|
-
useNewWebViewHandler
|
|
4083
|
-
}) => {
|
|
4084
|
-
await invoke('WebView.create3', {
|
|
4085
|
-
id,
|
|
4086
|
-
uri,
|
|
4087
|
-
isGitpod,
|
|
4088
|
-
platform,
|
|
4089
|
-
assetDir,
|
|
4090
|
-
webViewScheme,
|
|
4091
|
-
useNewWebViewHandler
|
|
4092
|
-
});
|
|
4093
|
-
};
|
|
4094
|
-
|
|
4095
|
-
const createWebViewWorkerRpc2 = async (rpcInfo, port) => {
|
|
4096
|
-
// TODO this function is called from the iframe worker to create a direct
|
|
4097
|
-
// connection between a webview/iframe and it's webworker. For this to work
|
|
4098
|
-
// the iframe worker creates a messagechannel and sends one messageport to the webview
|
|
4099
|
-
// and the other messageport to the webworker. This enables direct communication via
|
|
4100
|
-
// the two message ports
|
|
4101
|
-
|
|
4102
|
-
// TODO have a way so that the worker already includes the webview api and the extension
|
|
4103
|
-
// host subworker doesn't need to import the other file
|
|
4104
|
-
await invokeAndTransfer$2('IpcParent.create', {
|
|
4105
|
-
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
|
|
4106
|
-
url: rpcInfo.url,
|
|
4107
|
-
name: rpcInfo.name,
|
|
4108
|
-
raw: true,
|
|
4109
|
-
port
|
|
4110
|
-
});
|
|
4111
4307
|
};
|
|
4112
4308
|
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
*/
|
|
4116
|
-
const createWebViewWorkerRpc = async (rpcInfo, port) => {
|
|
4117
|
-
// TODO this function is called from the iframe worker to create a direct
|
|
4118
|
-
// connection between a webview/iframe and it's webworker. For this to work
|
|
4119
|
-
// the iframe worker creates a messagechannel and sends one messageport to the webview
|
|
4120
|
-
// and the other messageport to the webworker. This enables direct communication via
|
|
4121
|
-
// the two message ports
|
|
4122
|
-
|
|
4123
|
-
// TODO have a way so that the worker already includes the webview api and the extension
|
|
4124
|
-
// host subworker doesn't need to import the other file
|
|
4125
|
-
await invokeAndTransfer$2('IpcParent.create', {
|
|
4126
|
-
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
|
|
4127
|
-
url: extensionHostSubWorkerUrl,
|
|
4128
|
-
name: rpcInfo.name,
|
|
4129
|
-
raw: true,
|
|
4130
|
-
port
|
|
4131
|
-
});
|
|
4309
|
+
const getCacheKey$1 = colorThemeId => {
|
|
4310
|
+
return 'color-theme-' + colorThemeId;
|
|
4132
4311
|
};
|
|
4133
|
-
|
|
4134
|
-
const
|
|
4135
|
-
return
|
|
4312
|
+
const get$3 = colorThemeId => {
|
|
4313
|
+
const cacheKey = getCacheKey$1(colorThemeId);
|
|
4314
|
+
return get$4(cacheKey);
|
|
4315
|
+
};
|
|
4316
|
+
const set$2 = (colorThemeId, data) => {
|
|
4317
|
+
const cacheKey = getCacheKey$1(colorThemeId);
|
|
4318
|
+
return set$3(cacheKey, data);
|
|
4136
4319
|
};
|
|
4137
4320
|
|
|
4138
|
-
const
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
const CompletionResolveExecute = 'ExtensionHostCompletion.executeResolve';
|
|
4143
|
-
const ConfigurationSetConfiguration = 'ExtensionHostConfiguration.setConfiguration';
|
|
4144
|
-
const DefinitionExecuteDefinitionProvider = 'ExtensionHostDefinition.executeDefinitionProvider';
|
|
4145
|
-
const DiagnosticExecuteDiagnosticProvider = 'ExtensionHost.executeDiagnosticProvider';
|
|
4146
|
-
const ExtensionActivate = 'ExtensionHostExtension.activate';
|
|
4147
|
-
const FileSystemGetPathSeparator = 'ExtensionHostFileSystem.getPathSeparator';
|
|
4148
|
-
const FileSystemReadDirWithFileTypes = 'ExtensionHostFileSystem.readDirWithFileTypes';
|
|
4149
|
-
const FileSystemReadFile = 'ExtensionHostFileSystem.readFile';
|
|
4150
|
-
const FileSystemRename = 'ExtensionHostFileSystem.rename';
|
|
4151
|
-
const FileSystemWriteFile = 'ExtensionHostFileSystem.writeFile';
|
|
4152
|
-
const FormattingExecuteFormmattingProvider = 'ExtensionHostFormatting.executeFormattingProvider';
|
|
4153
|
-
const HoverExecute = 'ExtensionHostHover.execute';
|
|
4154
|
-
const ImplementationExecuteImplementationProvider = 'ExtensionHostImplementation.executeImplementationProvider';
|
|
4155
|
-
const MockExec = 'ExtensionHostMockExec.mockExec';
|
|
4156
|
-
const MockRpc = 'ExtensionHostMockRpc.mockRpc';
|
|
4157
|
-
const OrganizeImportsExecute = 'ExtensionHostOrganizeImports.execute';
|
|
4158
|
-
const ReferenceExecuteFileReferenceProvider = 'ExtensionHostReference.executeFileReferenceProvider';
|
|
4159
|
-
const ReferenceExecuteReferenceProvider = 'ExtensionHostReference.executeReferenceProvider';
|
|
4160
|
-
const ReferenceExecuteReferenceProvider2 = 'ExtensionHostReference.executeReferenceProvider2';
|
|
4161
|
-
const SelectionExecuteSelectionProvider = 'ExtensionHostSelection.executeSelectionProvider';
|
|
4162
|
-
const SourceControlAcceptInput = 'ExtensionHostSourceControl.acceptInput';
|
|
4163
|
-
const SourceControlAdd = 'ExtensionHostSourceControl.add';
|
|
4164
|
-
const SourceControlDiscard = 'ExtensionHostSourceControl.discard';
|
|
4165
|
-
const SourceControlGetChangedFiles = 'ExtensionHost.sourceControlGetChangedFiles';
|
|
4166
|
-
const SourceControlGetEnabledProviderIds = 'ExtensionHostSourceControl.getEnabledProviderIds';
|
|
4167
|
-
const SourceControlGetFileBefore = 'ExtensionHostSourceControl.GetFileBefore';
|
|
4168
|
-
const SourceControlGetGroups = 'ExtensionHostSourceControl.getGroups';
|
|
4169
|
-
const StatusBarGetStatusBarItems = 'ExtensionHost.getStatusBarItems';
|
|
4170
|
-
const StatusBarRegisterChangeListener = 'ExtensionHostStatusBar.registerChangeListener';
|
|
4171
|
-
const TabCompletionExecuteTabCompletionProvider = 'ExtensionHost.executeTabCompletionProvider';
|
|
4172
|
-
const TextDocumentSetLanguageId = 'ExtensionHostTextDocument.setLanguageId';
|
|
4173
|
-
const TextDocumentSyncFull = 'ExtensionHostTextDocument.syncFull';
|
|
4174
|
-
const TextDocumentSyncIncremental = 'ExtensionHostTextDocument.syncIncremental';
|
|
4175
|
-
const TextSearchExecuteTextSearchProvider = 'ExtensionHostTextSearch.executeTextSearchProvider';
|
|
4176
|
-
const TypeDefinitionExecuteTypeDefinitionProvider = 'ExtensionHostTypeDefinition.executeTypeDefinitionProvider';
|
|
4177
|
-
const WorkspaceSetPath = 'Workspace.setWorkspacePath';
|
|
4178
|
-
|
|
4179
|
-
const create = () => {
|
|
4180
|
-
return {
|
|
4181
|
-
finished: false
|
|
4182
|
-
};
|
|
4321
|
+
const GetColorThemeCssCachedIndexedDb = {
|
|
4322
|
+
__proto__: null,
|
|
4323
|
+
get: get$3,
|
|
4324
|
+
set: set$2
|
|
4183
4325
|
};
|
|
4184
|
-
|
|
4185
|
-
|
|
4326
|
+
|
|
4327
|
+
const getText$1 = key => {
|
|
4328
|
+
return invoke$2('LocalStorage.getText', key);
|
|
4186
4329
|
};
|
|
4187
|
-
const
|
|
4188
|
-
return
|
|
4330
|
+
const setText = (key, value) => {
|
|
4331
|
+
return invoke$2('LocalStorage.setText', key, value);
|
|
4189
4332
|
};
|
|
4190
4333
|
|
|
4191
|
-
const
|
|
4192
|
-
|
|
4193
|
-
return path.slice(slashIndex + 1);
|
|
4334
|
+
const getCacheKey = colorThemeId => {
|
|
4335
|
+
return 'lvce-color-theme-' + colorThemeId;
|
|
4194
4336
|
};
|
|
4195
|
-
const
|
|
4196
|
-
|
|
4197
|
-
|
|
4337
|
+
const get$2 = colorThemeId => {
|
|
4338
|
+
const cacheKey = getCacheKey(colorThemeId);
|
|
4339
|
+
return getText$1(cacheKey);
|
|
4340
|
+
};
|
|
4341
|
+
const set$1 = (colorThemeId, data) => {
|
|
4342
|
+
const cacheKey = getCacheKey(colorThemeId);
|
|
4343
|
+
return setText(cacheKey, data);
|
|
4344
|
+
};
|
|
4345
|
+
|
|
4346
|
+
const GetColorThemeCssCachedLocalStorage = {
|
|
4347
|
+
__proto__: null,
|
|
4348
|
+
get: get$2,
|
|
4349
|
+
set: set$1
|
|
4350
|
+
};
|
|
4351
|
+
|
|
4352
|
+
const get$1 = colorThemeId => {
|
|
4353
|
+
return '';
|
|
4354
|
+
};
|
|
4355
|
+
const set = (colorThemeId, data) => {
|
|
4356
|
+
// noop
|
|
4357
|
+
};
|
|
4358
|
+
|
|
4359
|
+
const GetColorThemeCssCachedNoop = {
|
|
4360
|
+
__proto__: null,
|
|
4361
|
+
get: get$1,
|
|
4362
|
+
set
|
|
4363
|
+
};
|
|
4364
|
+
|
|
4365
|
+
const get = key => {
|
|
4366
|
+
return invoke$2('Preferences.get', key);
|
|
4367
|
+
};
|
|
4368
|
+
|
|
4369
|
+
const getCacheFn = config => {
|
|
4370
|
+
switch (config) {
|
|
4371
|
+
case 'localStorage':
|
|
4372
|
+
return GetColorThemeCssCachedLocalStorage;
|
|
4373
|
+
case 'indexedDb':
|
|
4374
|
+
return GetColorThemeCssCachedIndexedDb;
|
|
4375
|
+
default:
|
|
4376
|
+
return GetColorThemeCssCachedNoop;
|
|
4198
4377
|
}
|
|
4199
|
-
|
|
4200
|
-
|
|
4378
|
+
};
|
|
4379
|
+
const getColorThemeCssCached = async (colorThemeId, getData) => {
|
|
4380
|
+
const config = await get('colorTheme.cache');
|
|
4381
|
+
const module = await getCacheFn(config);
|
|
4382
|
+
const cachedData = await module.get(colorThemeId);
|
|
4383
|
+
if (cachedData) {
|
|
4384
|
+
return cachedData;
|
|
4201
4385
|
}
|
|
4202
|
-
|
|
4386
|
+
const newData = await getData(colorThemeId);
|
|
4387
|
+
await module.set(colorThemeId, newData);
|
|
4388
|
+
return newData;
|
|
4203
4389
|
};
|
|
4204
4390
|
|
|
4205
|
-
const
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4391
|
+
const readJson = url => {
|
|
4392
|
+
return invoke$2('FileSystem.readJson', url);
|
|
4393
|
+
};
|
|
4394
|
+
|
|
4395
|
+
const dirname = (pathSeparator, path) => {
|
|
4396
|
+
const index = path.lastIndexOf(pathSeparator);
|
|
4397
|
+
if (index === -1) {
|
|
4398
|
+
return path;
|
|
4211
4399
|
}
|
|
4212
|
-
|
|
4213
|
-
|
|
4400
|
+
return path.slice(0, index);
|
|
4401
|
+
};
|
|
4402
|
+
const extname = path => {
|
|
4403
|
+
const index = path.lastIndexOf('.');
|
|
4404
|
+
if (index === -1) {
|
|
4405
|
+
return '';
|
|
4214
4406
|
}
|
|
4215
|
-
return
|
|
4407
|
+
return path.slice(index);
|
|
4408
|
+
};
|
|
4409
|
+
const join = (pathSeparator, ...parts) => {
|
|
4410
|
+
return parts.join(pathSeparator);
|
|
4216
4411
|
};
|
|
4217
4412
|
|
|
4218
|
-
const
|
|
4219
|
-
|
|
4220
|
-
if (!extension) {
|
|
4221
|
-
|
|
4222
|
-
}
|
|
4223
|
-
const rpcs = extension.rpc;
|
|
4224
|
-
const urlPrefix = getUrlPrefix(platform, extension.path);
|
|
4225
|
-
if (!rpcs) {
|
|
4226
|
-
return;
|
|
4227
|
-
}
|
|
4228
|
-
if (!Array.isArray(rpcs)) {
|
|
4229
|
-
return;
|
|
4413
|
+
const getColorThemeUri = (extensions, colorThemeId) => {
|
|
4414
|
+
for (const extension of extensions) {
|
|
4415
|
+
if (!extension.colorThemes) {
|
|
4416
|
+
continue;
|
|
4230
4417
|
}
|
|
4231
|
-
for (const
|
|
4232
|
-
|
|
4233
|
-
|
|
4418
|
+
for (const colorTheme of extension.colorThemes) {
|
|
4419
|
+
if (colorTheme.id !== colorThemeId) {
|
|
4420
|
+
continue;
|
|
4421
|
+
}
|
|
4422
|
+
const absolutePath = join('/', extension.uri, colorTheme.path);
|
|
4423
|
+
return absolutePath;
|
|
4234
4424
|
}
|
|
4235
|
-
} catch (error) {
|
|
4236
|
-
console.warn(`Failed to handle extension rpcs: ${error}`);
|
|
4237
4425
|
}
|
|
4426
|
+
return '';
|
|
4238
4427
|
};
|
|
4239
4428
|
|
|
4240
|
-
|
|
4241
|
-
constructor(violatedDirective, sourceFile, lineNumber, columnNumber) {
|
|
4242
|
-
super(`Content Security Policy Violation: ${violatedDirective}`);
|
|
4243
|
-
this.name = 'ContentSecurityPolicyError';
|
|
4244
|
-
this.stack = sourceFile ? `Content Security Policy Violation
|
|
4245
|
-
at ${sourceFile}:${lineNumber}:${columnNumber}` : `Content Security Policy Violation
|
|
4246
|
-
at <unknown>`;
|
|
4247
|
-
}
|
|
4248
|
-
}
|
|
4429
|
+
const extensionsUrl = `${assetDir}/config/extensions.json`;
|
|
4249
4430
|
|
|
4250
|
-
const
|
|
4251
|
-
return
|
|
4431
|
+
const getWebExtensions = async () => {
|
|
4432
|
+
return getJson(extensionsUrl);
|
|
4252
4433
|
};
|
|
4253
4434
|
|
|
4254
|
-
const
|
|
4255
|
-
return
|
|
4435
|
+
const getSharedProcessExtensions = () => {
|
|
4436
|
+
return invoke$2(/* ExtensionManagement.getExtensions */'ExtensionManagement.getExtensions');
|
|
4437
|
+
};
|
|
4438
|
+
const doGetExtensions = async () => {
|
|
4439
|
+
const meta = state$5.webExtensions;
|
|
4440
|
+
if (platform === Web) {
|
|
4441
|
+
const webExtensions = await getWebExtensions();
|
|
4442
|
+
return [...webExtensions, ...meta];
|
|
4443
|
+
}
|
|
4444
|
+
if (platform === Remote) {
|
|
4445
|
+
const sharedProcessExtensions = await getSharedProcessExtensions();
|
|
4446
|
+
return [...sharedProcessExtensions, ...meta];
|
|
4447
|
+
}
|
|
4448
|
+
const extensions = await getSharedProcessExtensions();
|
|
4449
|
+
return extensions;
|
|
4256
4450
|
};
|
|
4257
4451
|
|
|
4258
|
-
const
|
|
4259
|
-
return
|
|
4452
|
+
const getExtensions$1 = async () => {
|
|
4453
|
+
return doGetExtensions();
|
|
4260
4454
|
};
|
|
4261
4455
|
|
|
4262
|
-
|
|
4263
|
-
|
|
4456
|
+
// TODO getExtensions is still called 6 times on startup instead of 1
|
|
4457
|
+
const getExtensions = () => {
|
|
4458
|
+
if (!has()) {
|
|
4459
|
+
set$4(getExtensions$1());
|
|
4460
|
+
}
|
|
4461
|
+
return get$5();
|
|
4264
4462
|
};
|
|
4265
4463
|
|
|
4266
|
-
const
|
|
4267
|
-
const
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
setTimeout(resolve, duration);
|
|
4272
|
-
return promise;
|
|
4464
|
+
const getColorThemeJson$2 = async colorThemeId => {
|
|
4465
|
+
const extensions = await getExtensions();
|
|
4466
|
+
const colorThemeUri = getColorThemeUri(extensions, colorThemeId);
|
|
4467
|
+
const json = await readJson(colorThemeUri);
|
|
4468
|
+
return json;
|
|
4273
4469
|
};
|
|
4274
4470
|
|
|
4275
|
-
const
|
|
4471
|
+
const getColorThemeUrlWeb = colorThemeId => {
|
|
4472
|
+
return `${assetDir}/extensions/builtin.theme-${colorThemeId}/color-theme.json`;
|
|
4473
|
+
};
|
|
4474
|
+
const getColorThemeJson$1 = colorThemeId => {
|
|
4475
|
+
const url = getColorThemeUrlWeb(colorThemeId);
|
|
4476
|
+
// TODO handle error ?
|
|
4477
|
+
return getJson(url);
|
|
4478
|
+
};
|
|
4276
4479
|
|
|
4277
|
-
const
|
|
4278
|
-
|
|
4279
|
-
|
|
4280
|
-
if (match) {
|
|
4281
|
-
return match[1].trim();
|
|
4480
|
+
const getColorThemeJson = colorThemeId => {
|
|
4481
|
+
if (platform === Web) {
|
|
4482
|
+
return getColorThemeJson$1(colorThemeId);
|
|
4282
4483
|
}
|
|
4283
|
-
return
|
|
4484
|
+
return getColorThemeJson$2(colorThemeId);
|
|
4284
4485
|
};
|
|
4285
|
-
class BabelParseError extends SyntaxError {
|
|
4286
|
-
constructor(url, error) {
|
|
4287
|
-
const message = getBabelErrorMessage(error.message);
|
|
4288
|
-
super(message);
|
|
4289
|
-
this.name = 'BabelParseError';
|
|
4290
|
-
// @ts-ignore
|
|
4291
|
-
const {
|
|
4292
|
-
line
|
|
4293
|
-
} = error.loc;
|
|
4294
|
-
// @ts-ignore
|
|
4295
|
-
const column = error.loc.column + 1;
|
|
4296
|
-
this.stack = `${message}
|
|
4297
|
-
at ${url}:${line}:${column}`;
|
|
4298
|
-
}
|
|
4299
|
-
}
|
|
4300
4486
|
|
|
4301
|
-
const
|
|
4302
|
-
const
|
|
4303
|
-
return
|
|
4487
|
+
const getColorThemeCssFromJson = async (colorThemeId, colorThemeJson) => {
|
|
4488
|
+
const colorThemeCss = createColorThemeFromJson(/* colorThemeId */colorThemeId, /* colorThemeJson */colorThemeJson);
|
|
4489
|
+
return colorThemeCss;
|
|
4490
|
+
// TODO generate color theme from jsonc
|
|
4491
|
+
};
|
|
4492
|
+
const getColorThemeCssNew = async colorThemeId => {
|
|
4493
|
+
const colorThemeJson = await getColorThemeJson(colorThemeId);
|
|
4494
|
+
const colorThemeCss = await getColorThemeCssFromJson(colorThemeId, colorThemeJson);
|
|
4495
|
+
return colorThemeCss;
|
|
4496
|
+
};
|
|
4497
|
+
const getColorThemeCss = colorThemeId => {
|
|
4498
|
+
return getColorThemeCssCached(colorThemeId, getColorThemeCssNew);
|
|
4304
4499
|
};
|
|
4305
4500
|
|
|
4306
|
-
const
|
|
4307
|
-
|
|
4308
|
-
|
|
4501
|
+
const getMetaThemeColor = colorThemeJson => {
|
|
4502
|
+
return colorThemeJson && colorThemeJson.colors && colorThemeJson.colors.TitleBarBackground;
|
|
4503
|
+
};
|
|
4504
|
+
|
|
4505
|
+
const setThemeColor = async themeColor => {
|
|
4506
|
+
await invoke$2(/* Meta.setThemeColor */'Meta.setThemeColor', /* color */themeColor);
|
|
4309
4507
|
};
|
|
4310
4508
|
|
|
4311
|
-
|
|
4509
|
+
// TODO by default color theme should come from local storage, session storage, cache storage, indexeddb or blob url -> fast initial load
|
|
4510
|
+
// actual color theme can be computed after workbench has loaded (most times will be the same and doesn't need to be computed)
|
|
4511
|
+
|
|
4512
|
+
const state$2 = {
|
|
4513
|
+
watchedTheme: ''
|
|
4514
|
+
};
|
|
4515
|
+
const FALLBACK_COLOR_THEME_ID = 'slime';
|
|
4516
|
+
|
|
4517
|
+
// TODO json parsing should also happen in renderer worker
|
|
4518
|
+
// so that all validation is here (json parsing errors, invalid shape, ...)
|
|
4312
4519
|
|
|
4313
|
-
const
|
|
4314
|
-
|
|
4315
|
-
|
|
4316
|
-
|
|
4317
|
-
|
|
4318
|
-
|
|
4319
|
-
if (
|
|
4320
|
-
|
|
4520
|
+
const applyColorTheme = async colorThemeId => {
|
|
4521
|
+
try {
|
|
4522
|
+
string(colorThemeId);
|
|
4523
|
+
state$2.colorTheme = colorThemeId;
|
|
4524
|
+
const colorThemeCss = await getColorThemeCss(colorThemeId);
|
|
4525
|
+
await addCssStyleSheet('ContributedColorTheme', colorThemeCss);
|
|
4526
|
+
if (platform === Web) {
|
|
4527
|
+
const themeColor = getMetaThemeColor(colorThemeId) || '';
|
|
4528
|
+
await setThemeColor(themeColor);
|
|
4321
4529
|
}
|
|
4530
|
+
if (platform !== Web && (await get('development.watchColorTheme'))) {
|
|
4531
|
+
watch(colorThemeId);
|
|
4532
|
+
}
|
|
4533
|
+
} catch (error) {
|
|
4534
|
+
throw new VError(error, `Failed to apply color theme "${colorThemeId}"`);
|
|
4322
4535
|
}
|
|
4323
|
-
return {
|
|
4324
|
-
line,
|
|
4325
|
-
column
|
|
4326
|
-
};
|
|
4327
4536
|
};
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
constructor(code, start, end, dependencyRelativePath, dependencyUrl, sourceUrl) {
|
|
4331
|
-
super(`Module not found "${dependencyRelativePath}"`);
|
|
4332
|
-
const {
|
|
4333
|
-
line,
|
|
4334
|
-
column
|
|
4335
|
-
} = getLineAndColumn(code, start);
|
|
4336
|
-
this.stack = `${this.message}
|
|
4337
|
-
at Module (${sourceUrl}:${line}:${column})`;
|
|
4338
|
-
}
|
|
4339
|
-
}
|
|
4340
|
-
|
|
4341
|
-
const ArrowFunctionExpression = 'ArrowFunctionExpression';
|
|
4342
|
-
const AwaitExpression = 'AwaitExpression';
|
|
4343
|
-
const BlockStatement = 'BlockStatement';
|
|
4344
|
-
const CallExpression = 'CallExpression';
|
|
4345
|
-
const ExportAllDeclaration = 'ExportAllDeclaration';
|
|
4346
|
-
const ExportNamedDeclaration = 'ExportNamedDeclaration';
|
|
4347
|
-
const ExpressionStatement = 'ExpressionStatement';
|
|
4348
|
-
const File$2 = 'File';
|
|
4349
|
-
const Import = 'Import';
|
|
4350
|
-
const ImportDeclaration = 'ImportDeclaration';
|
|
4351
|
-
const Program = 'Program';
|
|
4352
|
-
const StringLiteral = 'StringLiteral';
|
|
4353
|
-
const VariableDeclaration = 'VariableDeclaration';
|
|
4354
|
-
const VariableDeclarator = 'VariableDeclarator';
|
|
4355
|
-
|
|
4356
|
-
const walk = (node, visitor) => {
|
|
4357
|
-
if (!node) {
|
|
4537
|
+
const watch = async id => {
|
|
4538
|
+
if (state$2.watchedTheme === id) {
|
|
4358
4539
|
return;
|
|
4359
4540
|
}
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4541
|
+
state$2.watchedTheme = id;
|
|
4542
|
+
await invoke$2('ExtensionHost.watchColorTheme', id);
|
|
4543
|
+
};
|
|
4544
|
+
const getPreferredColorTheme = () => {
|
|
4545
|
+
const preferredColorTheme = get('workbench.colorTheme');
|
|
4546
|
+
return preferredColorTheme;
|
|
4547
|
+
};
|
|
4548
|
+
|
|
4549
|
+
// TODO test this, and also the error case
|
|
4550
|
+
// TODO have icon theme, color theme together (maybe)
|
|
4551
|
+
const hydrate$1 = async () => {
|
|
4552
|
+
const preferredColorTheme = await getPreferredColorTheme();
|
|
4553
|
+
const colorThemeId = preferredColorTheme || FALLBACK_COLOR_THEME_ID;
|
|
4554
|
+
try {
|
|
4555
|
+
await applyColorTheme(colorThemeId);
|
|
4556
|
+
} catch (error) {
|
|
4557
|
+
if (colorThemeId === FALLBACK_COLOR_THEME_ID) {
|
|
4558
|
+
throw error;
|
|
4363
4559
|
}
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
visitor(node);
|
|
4367
|
-
switch (node.type) {
|
|
4368
|
-
case File$2:
|
|
4369
|
-
walk(node.program, visitor);
|
|
4370
|
-
break;
|
|
4371
|
-
case Program:
|
|
4372
|
-
walk(node.body, visitor);
|
|
4373
|
-
break;
|
|
4374
|
-
case ExportNamedDeclaration:
|
|
4375
|
-
walk(node.declaration, visitor);
|
|
4376
|
-
break;
|
|
4377
|
-
case VariableDeclaration:
|
|
4378
|
-
walk(node.declarations, visitor);
|
|
4379
|
-
break;
|
|
4380
|
-
case VariableDeclarator:
|
|
4381
|
-
walk(node.init, visitor);
|
|
4382
|
-
break;
|
|
4383
|
-
case ArrowFunctionExpression:
|
|
4384
|
-
walk(node.body, visitor);
|
|
4385
|
-
break;
|
|
4386
|
-
case BlockStatement:
|
|
4387
|
-
walk(node.body, visitor);
|
|
4388
|
-
break;
|
|
4389
|
-
case ExpressionStatement:
|
|
4390
|
-
walk(node.expression, visitor);
|
|
4391
|
-
break;
|
|
4392
|
-
case AwaitExpression:
|
|
4393
|
-
walk(node.argument, visitor);
|
|
4394
|
-
break;
|
|
4395
|
-
case CallExpression:
|
|
4396
|
-
walk(node.callee, visitor);
|
|
4397
|
-
break;
|
|
4560
|
+
console.error(error);
|
|
4561
|
+
await applyColorTheme(FALLBACK_COLOR_THEME_ID);
|
|
4398
4562
|
}
|
|
4399
4563
|
};
|
|
4400
4564
|
|
|
4401
|
-
const
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
} = program;
|
|
4408
|
-
const dependencies = [];
|
|
4409
|
-
for (const node of body) {
|
|
4410
|
-
if (node.type === ImportDeclaration || node.type === ExportAllDeclaration) {
|
|
4411
|
-
const relativePath = node.source.extra.rawValue;
|
|
4412
|
-
const {
|
|
4413
|
-
start
|
|
4414
|
-
} = node.source;
|
|
4415
|
-
const {
|
|
4416
|
-
end
|
|
4417
|
-
} = node.source;
|
|
4418
|
-
// @ts-ignore
|
|
4419
|
-
dependencies.push({
|
|
4420
|
-
relativePath,
|
|
4421
|
-
code,
|
|
4422
|
-
start,
|
|
4423
|
-
end
|
|
4424
|
-
});
|
|
4425
|
-
} else if (node.type === VariableDeclaration && node.declarations && node.declarations[0] && node.declarations[0].type === VariableDeclarator && node.declarations[0].init && node.declarations[0].init.type === AwaitExpression && node.declarations[0].init.argument && node.declarations[0].init.argument.type === CallExpression && node.declarations[0].init.argument.callee && node.declarations[0].init.argument.callee.type === Import && node.declarations[0].init.argument.arguments && node.declarations[0].init.argument.arguments[0] && node.declarations[0].init.argument.arguments[0].type === StringLiteral) {
|
|
4426
|
-
const relativePath = node.declarations[0].init.argument.arguments[0].extra.rawValue;
|
|
4427
|
-
const {
|
|
4428
|
-
start
|
|
4429
|
-
} = node.declarations[0].init.argument.arguments[0];
|
|
4430
|
-
const {
|
|
4431
|
-
end
|
|
4432
|
-
} = node.declarations[0].init.argument.arguments[0];
|
|
4433
|
-
// @ts-ignore
|
|
4434
|
-
dependencies.push({
|
|
4435
|
-
relativePath,
|
|
4436
|
-
code,
|
|
4437
|
-
start,
|
|
4438
|
-
end
|
|
4439
|
-
});
|
|
4440
|
-
}
|
|
4565
|
+
const iframeWorkerUrl = `${assetDir}/packages/iframe-worker/dist/iframeWorkerMain.js`;
|
|
4566
|
+
|
|
4567
|
+
const getConfiguredIframeWorkerUrl = async () => {
|
|
4568
|
+
let configuredWorkerUrl = (await get('develop.iframeWorkerPath')) || '';
|
|
4569
|
+
if (configuredWorkerUrl) {
|
|
4570
|
+
configuredWorkerUrl = '/remote' + configuredWorkerUrl;
|
|
4441
4571
|
}
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
const relativePath = node.arguments[0].extra.rawValue;
|
|
4445
|
-
const {
|
|
4446
|
-
start
|
|
4447
|
-
} = node.arguments[0];
|
|
4448
|
-
const {
|
|
4449
|
-
end
|
|
4450
|
-
} = node.arguments[0];
|
|
4451
|
-
// @ts-ignore
|
|
4452
|
-
dependencies.push({
|
|
4453
|
-
relativePath,
|
|
4454
|
-
code,
|
|
4455
|
-
start,
|
|
4456
|
-
end
|
|
4457
|
-
});
|
|
4458
|
-
}
|
|
4459
|
-
};
|
|
4460
|
-
walk(ast, visitor);
|
|
4461
|
-
return dependencies;
|
|
4572
|
+
configuredWorkerUrl = configuredWorkerUrl || iframeWorkerUrl;
|
|
4573
|
+
return configuredWorkerUrl;
|
|
4462
4574
|
};
|
|
4463
4575
|
|
|
4464
|
-
const
|
|
4576
|
+
const state$1 = {
|
|
4577
|
+
id: 0
|
|
4578
|
+
};
|
|
4579
|
+
const create = () => {
|
|
4580
|
+
return ++state$1.id;
|
|
4581
|
+
};
|
|
4582
|
+
|
|
4583
|
+
const iframeWorkerCommandMap = {
|
|
4584
|
+
'WebView.compatExtensionHostWorkerInvoke': (...args) => invoke$2('WebView.compatExtensionHostWorkerInvoke', ...args),
|
|
4585
|
+
'WebView.compatExtensionHostWorkerInvokeAndTransfer': (...args) => invokeAndTransfer$2('WebView.compatExtensionHostWorkerInvokeAndTransfer', ...args),
|
|
4586
|
+
'WebView.compatRendererProcessInvoke': (...args) => invoke$2('WebView.compatRendererProcessInvoke', ...args),
|
|
4587
|
+
'WebView.compatRendererProcessInvokeAndTransfer': (...args) => invokeAndTransfer$2('WebView.compatRendererProcessInvokeAndTransfer', ...args),
|
|
4465
4588
|
// @ts-ignore
|
|
4466
|
-
|
|
4589
|
+
'WebView.compatRendererWorkerInvokeAndTransfer': (...args) => invokeAndTransfer$2(...args),
|
|
4590
|
+
// @ts-ignore
|
|
4591
|
+
'WebView.compatRendererWorkerInvoke': (...args) => invoke$2(...args),
|
|
4592
|
+
'WebView.compatSharedProcessInvoke': (...args) => invoke$2('WebView.compatSharedProcessInvoke', ...args),
|
|
4593
|
+
'WebView.getSavedState': (...args) => invoke$2('WebView.getSavedState', ...args),
|
|
4594
|
+
'WebView.getWebViewInfo': (...args) => invoke$2('WebView.getWebViewInfo', ...args),
|
|
4595
|
+
'WebView.getWebViews': (...args) => invoke$2('WebView.getWebViews', ...args),
|
|
4596
|
+
'WebView.setPort': (...args) => invoke$2('WebView.setPort', ...args),
|
|
4597
|
+
'ExtensionHostManagement.activateByEvent': (...args) => invoke$2('ExtensionHostManagement.activateByEvent', ...args),
|
|
4598
|
+
'WebView.getRemoteUrl': options => getRemoteUrlForWebView(options.uri, options)
|
|
4467
4599
|
};
|
|
4468
4600
|
|
|
4469
|
-
const
|
|
4470
|
-
|
|
4601
|
+
const launchIframeWorker = async () => {
|
|
4602
|
+
const configuredWorkerUrl = await getConfiguredIframeWorkerUrl();
|
|
4603
|
+
const name = 'Iframe Worker';
|
|
4604
|
+
const id = create();
|
|
4605
|
+
const rpc = await create$2({
|
|
4606
|
+
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug$1,
|
|
4607
|
+
name,
|
|
4608
|
+
url: configuredWorkerUrl,
|
|
4609
|
+
id,
|
|
4610
|
+
commandMap: iframeWorkerCommandMap
|
|
4611
|
+
});
|
|
4612
|
+
return rpc;
|
|
4613
|
+
};
|
|
4614
|
+
|
|
4615
|
+
let workerPromise;
|
|
4616
|
+
const ensureWorker = () => {
|
|
4617
|
+
if (!workerPromise) {
|
|
4618
|
+
workerPromise = launchIframeWorker();
|
|
4619
|
+
}
|
|
4620
|
+
return workerPromise;
|
|
4621
|
+
};
|
|
4622
|
+
const isActive = () => {
|
|
4623
|
+
return Boolean(workerPromise);
|
|
4624
|
+
};
|
|
4625
|
+
const invoke = async (method, ...params) => {
|
|
4626
|
+
const rpc = await ensureWorker();
|
|
4627
|
+
return rpc.invoke(method, ...params);
|
|
4628
|
+
};
|
|
4629
|
+
const invokeAndTransfer = async (method, ...params) => {
|
|
4630
|
+
const rpc = await ensureWorker();
|
|
4631
|
+
return rpc.invokeAndTransfer(method, ...params);
|
|
4632
|
+
};
|
|
4633
|
+
|
|
4634
|
+
const createWebView3 = async ({
|
|
4635
|
+
id,
|
|
4636
|
+
uri,
|
|
4637
|
+
isGitpod,
|
|
4638
|
+
platform,
|
|
4639
|
+
assetDir,
|
|
4640
|
+
webViewScheme,
|
|
4641
|
+
useNewWebViewHandler
|
|
4642
|
+
}) => {
|
|
4643
|
+
await invoke('WebView.create3', {
|
|
4644
|
+
id,
|
|
4645
|
+
uri,
|
|
4646
|
+
isGitpod,
|
|
4647
|
+
platform,
|
|
4648
|
+
assetDir,
|
|
4649
|
+
webViewScheme,
|
|
4650
|
+
useNewWebViewHandler
|
|
4651
|
+
});
|
|
4471
4652
|
};
|
|
4472
4653
|
|
|
4473
|
-
const
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
return new URL(relativePath, sourceUrl).toString();
|
|
4480
|
-
};
|
|
4654
|
+
const createWebViewWorkerRpc2 = async (rpcInfo, port) => {
|
|
4655
|
+
// TODO this function is called from the iframe worker to create a direct
|
|
4656
|
+
// connection between a webview/iframe and it's webworker. For this to work
|
|
4657
|
+
// the iframe worker creates a messagechannel and sends one messageport to the webview
|
|
4658
|
+
// and the other messageport to the webworker. This enables direct communication via
|
|
4659
|
+
// the two message ports
|
|
4481
4660
|
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
};
|
|
4491
|
-
const getErrorInDependencies = async (url, dependencies, seenUrls) => {
|
|
4492
|
-
for (const dependency of dependencies) {
|
|
4493
|
-
const dependencyUrl = getAbsoluteUrl(dependency.relativePath, url);
|
|
4494
|
-
if (isExternal(dependencyUrl) || seenUrls.includes(dependencyUrl)) {
|
|
4495
|
-
continue;
|
|
4496
|
-
}
|
|
4497
|
-
seenUrls.push(dependencyUrl);
|
|
4498
|
-
// let dependencyResponse
|
|
4499
|
-
// try {
|
|
4500
|
-
const dependencyResponse = await fetch(dependencyUrl);
|
|
4501
|
-
// } catch (error) {}
|
|
4502
|
-
if (dependencyResponse.ok) {
|
|
4503
|
-
await tryToGetActualErrorMessage(null, dependencyUrl, dependencyResponse, seenUrls);
|
|
4504
|
-
} else {
|
|
4505
|
-
switch (dependencyResponse.status) {
|
|
4506
|
-
case NotFound:
|
|
4507
|
-
throw new DependencyNotFoundError(dependency.code, dependency.start, dependency.end, dependency.relativePath, dependencyUrl, url);
|
|
4508
|
-
// return `Failed to import ${url}: ${error}`
|
|
4509
|
-
}
|
|
4510
|
-
}
|
|
4511
|
-
}
|
|
4661
|
+
// TODO have a way so that the worker already includes the webview api and the extension
|
|
4662
|
+
// host subworker doesn't need to import the other file
|
|
4663
|
+
await invokeAndTransfer$2('IpcParent.create', {
|
|
4664
|
+
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
|
|
4665
|
+
url: rpcInfo.url,
|
|
4666
|
+
name: rpcInfo.name,
|
|
4667
|
+
raw: true,
|
|
4668
|
+
port
|
|
4669
|
+
});
|
|
4512
4670
|
};
|
|
4513
4671
|
|
|
4514
4672
|
/**
|
|
4515
|
-
*
|
|
4516
|
-
* @param {string} url
|
|
4517
|
-
* @param {Response} response
|
|
4518
|
-
* @returns
|
|
4673
|
+
* @deprecated use createWebViewWorkerRpc2 which passes the worker url as a parameter
|
|
4519
4674
|
*/
|
|
4520
|
-
const
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
}
|
|
4527
|
-
let ast;
|
|
4528
|
-
try {
|
|
4529
|
-
ast = await parse(text, {
|
|
4530
|
-
sourceType: Module
|
|
4531
|
-
});
|
|
4532
|
-
} catch (error) {
|
|
4533
|
-
if (isBabelError(error)) {
|
|
4534
|
-
throw new BabelParseError(url, error);
|
|
4535
|
-
}
|
|
4536
|
-
throw error;
|
|
4537
|
-
}
|
|
4538
|
-
const dependencies = getBabelAstDependencies(text, ast);
|
|
4539
|
-
await getErrorInDependencies(url, dependencies, seenUrls);
|
|
4540
|
-
if (hasRecentErrors()) {
|
|
4541
|
-
const recentError = getRecentError();
|
|
4542
|
-
// @ts-ignore
|
|
4543
|
-
throw new ContentSecurityPolicyError(recentError.violatedDirective, recentError.sourceFile, recentError.lineNumber, recentError.columnNumber);
|
|
4544
|
-
}
|
|
4545
|
-
const contentType = response.headers.get('Content-Type');
|
|
4546
|
-
if (url.endsWith('.ts') && contentType === null) {
|
|
4547
|
-
return `Failed to import ${url}: Missing Content-Type header for javascript`;
|
|
4548
|
-
}
|
|
4549
|
-
return `Failed to import ${url}: Unknown Network Error`;
|
|
4550
|
-
};
|
|
4675
|
+
const createWebViewWorkerRpc = async (rpcInfo, port) => {
|
|
4676
|
+
// TODO this function is called from the iframe worker to create a direct
|
|
4677
|
+
// connection between a webview/iframe and it's webworker. For this to work
|
|
4678
|
+
// the iframe worker creates a messagechannel and sends one messageport to the webview
|
|
4679
|
+
// and the other messageport to the webworker. This enables direct communication via
|
|
4680
|
+
// the two message ports
|
|
4551
4681
|
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
}
|
|
4562
|
-
switch (response.status) {
|
|
4563
|
-
case NotFound:
|
|
4564
|
-
throw new Error(`Failed to import ${url}: Not found (404)`);
|
|
4565
|
-
default:
|
|
4566
|
-
return `Failed to import ${url}: ${error}`;
|
|
4567
|
-
}
|
|
4682
|
+
// TODO have a way so that the worker already includes the webview api and the extension
|
|
4683
|
+
// host subworker doesn't need to import the other file
|
|
4684
|
+
await invokeAndTransfer$2('IpcParent.create', {
|
|
4685
|
+
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
|
|
4686
|
+
url: extensionHostSubWorkerUrl,
|
|
4687
|
+
name: rpcInfo.name,
|
|
4688
|
+
raw: true,
|
|
4689
|
+
port
|
|
4690
|
+
});
|
|
4568
4691
|
};
|
|
4569
4692
|
|
|
4570
|
-
const
|
|
4571
|
-
|
|
4572
|
-
return await import(url);
|
|
4573
|
-
} catch (error) {
|
|
4574
|
-
if (isImportError(error)) {
|
|
4575
|
-
const actualErrorMessage = await tryToGetActualImportErrorMessage(url, error);
|
|
4576
|
-
throw new Error(actualErrorMessage);
|
|
4577
|
-
}
|
|
4578
|
-
// content security policy errors arrive a little bit later
|
|
4579
|
-
await sleep(0);
|
|
4580
|
-
if (hasRecentErrors()) {
|
|
4581
|
-
const recentError = getRecentError();
|
|
4582
|
-
// @ts-ignore
|
|
4583
|
-
throw new ContentSecurityPolicyError(recentError.violatedDirective, recentError.sourceFile, recentError.lineNumber, recentError.columnNumber);
|
|
4584
|
-
}
|
|
4585
|
-
throw error;
|
|
4586
|
-
}
|
|
4693
|
+
const executeExternalCommand = (method, ...params) => {
|
|
4694
|
+
return invoke$2(method, ...params);
|
|
4587
4695
|
};
|
|
4588
4696
|
|
|
4589
|
-
const
|
|
4590
|
-
const
|
|
4591
|
-
|
|
4592
|
-
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4597
|
-
const
|
|
4598
|
-
|
|
4599
|
-
|
|
4600
|
-
|
|
4601
|
-
|
|
4602
|
-
|
|
4603
|
-
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
|
|
4607
|
-
|
|
4608
|
-
|
|
4609
|
-
|
|
4610
|
-
|
|
4611
|
-
|
|
4612
|
-
|
|
4613
|
-
|
|
4614
|
-
|
|
4615
|
-
|
|
4616
|
-
|
|
4617
|
-
|
|
4618
|
-
|
|
4619
|
-
|
|
4620
|
-
|
|
4621
|
-
|
|
4697
|
+
const BraceCompletionExecuteBraceCompletionProvider = 'ExtensionHostBraceCompletion.executeBraceCompletionProvider';
|
|
4698
|
+
const ClosingTagExecuteClosingTagProvider = 'ExtensionHostClosingTag.executeClosingTagProvider';
|
|
4699
|
+
const CommandExecute = 'ExtensionHostCommand.executeCommand';
|
|
4700
|
+
const CompletionExecute = 'ExtensionHostCompletion.execute';
|
|
4701
|
+
const CompletionResolveExecute = 'ExtensionHostCompletion.executeResolve';
|
|
4702
|
+
const ConfigurationSetConfiguration = 'ExtensionHostConfiguration.setConfiguration';
|
|
4703
|
+
const DefinitionExecuteDefinitionProvider = 'ExtensionHostDefinition.executeDefinitionProvider';
|
|
4704
|
+
const DiagnosticExecuteDiagnosticProvider = 'ExtensionHost.executeDiagnosticProvider';
|
|
4705
|
+
const ExtensionActivate = 'ExtensionHostExtension.activate';
|
|
4706
|
+
const FileSystemGetPathSeparator = 'ExtensionHostFileSystem.getPathSeparator';
|
|
4707
|
+
const FileSystemReadDirWithFileTypes = 'ExtensionHostFileSystem.readDirWithFileTypes';
|
|
4708
|
+
const FileSystemReadFile = 'ExtensionHostFileSystem.readFile';
|
|
4709
|
+
const FileSystemRename = 'ExtensionHostFileSystem.rename';
|
|
4710
|
+
const FileSystemWriteFile = 'ExtensionHostFileSystem.writeFile';
|
|
4711
|
+
const FormattingExecuteFormmattingProvider = 'ExtensionHostFormatting.executeFormattingProvider';
|
|
4712
|
+
const HoverExecute = 'ExtensionHostHover.execute';
|
|
4713
|
+
const ImplementationExecuteImplementationProvider = 'ExtensionHostImplementation.executeImplementationProvider';
|
|
4714
|
+
const MockExec = 'ExtensionHostMockExec.mockExec';
|
|
4715
|
+
const MockRpc = 'ExtensionHostMockRpc.mockRpc';
|
|
4716
|
+
const OrganizeImportsExecute = 'ExtensionHostOrganizeImports.execute';
|
|
4717
|
+
const ReferenceExecuteFileReferenceProvider = 'ExtensionHostReference.executeFileReferenceProvider';
|
|
4718
|
+
const ReferenceExecuteReferenceProvider = 'ExtensionHostReference.executeReferenceProvider';
|
|
4719
|
+
const ReferenceExecuteReferenceProvider2 = 'ExtensionHostReference.executeReferenceProvider2';
|
|
4720
|
+
const SelectionExecuteSelectionProvider = 'ExtensionHostSelection.executeSelectionProvider';
|
|
4721
|
+
const SourceControlAcceptInput = 'ExtensionHostSourceControl.acceptInput';
|
|
4722
|
+
const SourceControlAdd = 'ExtensionHostSourceControl.add';
|
|
4723
|
+
const SourceControlDiscard = 'ExtensionHostSourceControl.discard';
|
|
4724
|
+
const SourceControlGetChangedFiles = 'ExtensionHost.sourceControlGetChangedFiles';
|
|
4725
|
+
const SourceControlGetEnabledProviderIds = 'ExtensionHostSourceControl.getEnabledProviderIds';
|
|
4726
|
+
const SourceControlGetFileBefore = 'ExtensionHostSourceControl.GetFileBefore';
|
|
4727
|
+
const SourceControlGetGroups = 'ExtensionHostSourceControl.getGroups';
|
|
4728
|
+
const StatusBarGetStatusBarItems = 'ExtensionHost.getStatusBarItems';
|
|
4729
|
+
const StatusBarRegisterChangeListener = 'ExtensionHostStatusBar.registerChangeListener';
|
|
4730
|
+
const TabCompletionExecuteTabCompletionProvider = 'ExtensionHost.executeTabCompletionProvider';
|
|
4731
|
+
const TextDocumentSetLanguageId = 'ExtensionHostTextDocument.setLanguageId';
|
|
4732
|
+
const TextDocumentSyncFull = 'ExtensionHostTextDocument.syncFull';
|
|
4733
|
+
const TextDocumentSyncIncremental = 'ExtensionHostTextDocument.syncIncremental';
|
|
4734
|
+
const TextSearchExecuteTextSearchProvider = 'ExtensionHostTextSearch.executeTextSearchProvider';
|
|
4735
|
+
const TypeDefinitionExecuteTypeDefinitionProvider = 'ExtensionHostTypeDefinition.executeTypeDefinitionProvider';
|
|
4736
|
+
const WorkspaceSetPath = 'Workspace.setWorkspacePath';
|
|
4622
4737
|
|
|
4623
4738
|
class ExecError extends Error {
|
|
4624
4739
|
constructor(command, args, stdout, stderr, exitCode) {
|
|
@@ -5084,13 +5199,28 @@ const getIconThemeJson = async iconThemeId => {
|
|
|
5084
5199
|
};
|
|
5085
5200
|
|
|
5086
5201
|
const getRpcInfo = rpcId => {
|
|
5087
|
-
const info = get$
|
|
5202
|
+
const info = get$8(rpcId);
|
|
5088
5203
|
if (!info) {
|
|
5089
5204
|
throw new Error(`Rpc not found ${rpcId}`);
|
|
5090
5205
|
}
|
|
5091
5206
|
return info;
|
|
5092
5207
|
};
|
|
5093
5208
|
|
|
5209
|
+
const emptyStatus = {
|
|
5210
|
+
status: None,
|
|
5211
|
+
id: '',
|
|
5212
|
+
activationEvent: '',
|
|
5213
|
+
activationStartTime: 0,
|
|
5214
|
+
activationEndTime: 0,
|
|
5215
|
+
activationTime: 0,
|
|
5216
|
+
importEndTime: 0,
|
|
5217
|
+
importStartTime: 0,
|
|
5218
|
+
importTime: 0
|
|
5219
|
+
};
|
|
5220
|
+
const getRuntimeStatus = extensionId => {
|
|
5221
|
+
return get$6(extensionId) || emptyStatus;
|
|
5222
|
+
};
|
|
5223
|
+
|
|
5094
5224
|
const getWebViewInfo2 = providerId => {
|
|
5095
5225
|
return invoke('WebView.getWebViewInfo', providerId);
|
|
5096
5226
|
};
|
|
@@ -5197,6 +5327,45 @@ const hydrate = async () => {
|
|
|
5197
5327
|
await setIconTheme(iconThemeId);
|
|
5198
5328
|
};
|
|
5199
5329
|
|
|
5330
|
+
const importExtension = async (extensionId, absolutePath, activationEvent) => {
|
|
5331
|
+
try {
|
|
5332
|
+
string(absolutePath);
|
|
5333
|
+
const startTime = performance.now();
|
|
5334
|
+
set$5({
|
|
5335
|
+
activationEvent: activationEvent,
|
|
5336
|
+
id: extensionId,
|
|
5337
|
+
activationStartTime: performance.now(),
|
|
5338
|
+
status: Importing,
|
|
5339
|
+
activationEndTime: 0,
|
|
5340
|
+
activationTime: 0,
|
|
5341
|
+
importStartTime: startTime,
|
|
5342
|
+
importEndTime: 0,
|
|
5343
|
+
importTime: 0
|
|
5344
|
+
});
|
|
5345
|
+
try {
|
|
5346
|
+
const module = await importScript(absolutePath);
|
|
5347
|
+
const endTime = performance.now();
|
|
5348
|
+
const time = endTime - startTime;
|
|
5349
|
+
set$6(extensionId, module);
|
|
5350
|
+
update(extensionId, {
|
|
5351
|
+
importEndTime: endTime,
|
|
5352
|
+
importTime: time
|
|
5353
|
+
});
|
|
5354
|
+
} catch (error) {
|
|
5355
|
+
update(extensionId, {
|
|
5356
|
+
status: Error$1 // TODO maybe store error also in runtime status state
|
|
5357
|
+
});
|
|
5358
|
+
if (isImportError(error)) {
|
|
5359
|
+
const actualErrorMessage = await tryToGetActualImportErrorMessage(absolutePath, error);
|
|
5360
|
+
throw new Error(actualErrorMessage);
|
|
5361
|
+
}
|
|
5362
|
+
throw error;
|
|
5363
|
+
}
|
|
5364
|
+
} catch (error) {
|
|
5365
|
+
throw new VError(error, `Failed to import extension ${extensionId}`);
|
|
5366
|
+
}
|
|
5367
|
+
};
|
|
5368
|
+
|
|
5200
5369
|
const isDataCloneError = error => {
|
|
5201
5370
|
return error && error.name === 'DataCloneError';
|
|
5202
5371
|
};
|
|
@@ -5714,11 +5883,19 @@ const commandMap = {
|
|
|
5714
5883
|
'ColorTheme.getColorThemeJson': getColorThemeJson,
|
|
5715
5884
|
'ColorTheme.getColorThemeNames': getColorThemeNames,
|
|
5716
5885
|
'ColorTheme.hydrate': hydrate$1,
|
|
5717
|
-
'ExtensionHost.launchIframeWorker': launchIframeWorker,
|
|
5718
5886
|
'ExecuteExternalCommand.executeExternalCommand': executeExternalCommand,
|
|
5887
|
+
'ExtensionHost.activateExtension2': activateExtension2,
|
|
5888
|
+
'ExtensionHost.getRuntimeStatus': getRuntimeStatus,
|
|
5889
|
+
'ExtensionHost.importExtension': importExtension,
|
|
5890
|
+
'ExtensionHost.launchIframeWorker': launchIframeWorker,
|
|
5719
5891
|
'ExtensionHostDebug.evaluate': evaluate,
|
|
5892
|
+
'ExtensionHostDebug.getCallStack': getCallStack,
|
|
5893
|
+
'ExtensionHostDebug.getPausedStatus': getPausedStatus,
|
|
5720
5894
|
'ExtensionHostDebug.getProperties': getProperties,
|
|
5895
|
+
'ExtensionHostDebug.getScopeChain': getScopeChain,
|
|
5896
|
+
'ExtensionHostDebug.getScripts': getScripts,
|
|
5721
5897
|
'ExtensionHostDebug.getScriptSource': getScriptSource,
|
|
5898
|
+
'ExtensionHostDebug.getStatus': getStatus,
|
|
5722
5899
|
'ExtensionHostDebug.listProcesses': listProcesses,
|
|
5723
5900
|
'ExtensionHostDebug.pause': pause,
|
|
5724
5901
|
'ExtensionHostDebug.resume': resume,
|
|
@@ -5728,11 +5905,6 @@ const commandMap = {
|
|
|
5728
5905
|
'ExtensionHostDebug.stepInto': stepInto,
|
|
5729
5906
|
'ExtensionHostDebug.stepOut': stepOut,
|
|
5730
5907
|
'ExtensionHostDebug.stepOver': stepOver,
|
|
5731
|
-
'ExtensionHostDebug.getStatus': getStatus,
|
|
5732
|
-
'ExtensionHostDebug.getCallStack': getCallStack,
|
|
5733
|
-
'ExtensionHostDebug.getScopeChain': getScopeChain,
|
|
5734
|
-
'ExtensionHostDebug.getScripts': getScripts,
|
|
5735
|
-
'ExtensionHostDebug.getPausedStatus': getPausedStatus,
|
|
5736
5908
|
'ExtensionHostRename.executeprepareRenameProvider': executeprepareRenameProvider,
|
|
5737
5909
|
'ExtensionHostRename.executeRenameProvider': executeRenameProvider,
|
|
5738
5910
|
'ExtensionHostWebView.create': createWebView,
|
|
@@ -5751,15 +5923,15 @@ const commandMap = {
|
|
|
5751
5923
|
'FileSystemFetch.remove': remove$2,
|
|
5752
5924
|
'FileSystemFetch.writeFile': writeFile$1,
|
|
5753
5925
|
'FileSystemMemory.chmod': chmod,
|
|
5926
|
+
'FileSystemMemory.copy': copy,
|
|
5754
5927
|
'FileSystemMemory.getBlob': getBlob,
|
|
5755
5928
|
'FileSystemMemory.getBlobUrl': getBlobUrl,
|
|
5756
5929
|
'FileSystemMemory.getFiles': getFiles,
|
|
5757
5930
|
'FileSystemMemory.mkdir': mkdir,
|
|
5758
5931
|
'FileSystemMemory.readDirWithFileTypes': readDirWithFileTypes,
|
|
5759
5932
|
'FileSystemMemory.readFile': readFile,
|
|
5760
|
-
'FileSystemMemory.rename': rename,
|
|
5761
|
-
'FileSystemMemory.copy': copy,
|
|
5762
5933
|
'FileSystemMemory.remove': remove,
|
|
5934
|
+
'FileSystemMemory.rename': rename,
|
|
5763
5935
|
'FileSystemMemory.writeFile': writeFile,
|
|
5764
5936
|
'HandleBeforeUnload.handleBeforeUnload': handleBeforeUnload,
|
|
5765
5937
|
'HandleMessagePort.handleMessagePort': handleMessagePort,
|
|
@@ -5785,10 +5957,10 @@ const commandMap = {
|
|
|
5785
5957
|
'TextSearchMemory.textSearch': textSearch,
|
|
5786
5958
|
'WebView.create3': createWebView3,
|
|
5787
5959
|
'WebView.createWebViewWorkerRpc': createWebViewWorkerRpc,
|
|
5788
|
-
'WebView.registerInterceptor': registerInterceptor,
|
|
5789
|
-
'WebView.unregisterInterceptor': unregisterInterceptor,
|
|
5790
5960
|
'WebView.createWebViewWorkerRpc2': createWebViewWorkerRpc2,
|
|
5791
5961
|
'WebView.getRpcInfo': getRpcInfo,
|
|
5962
|
+
'WebView.registerInterceptor': registerInterceptor,
|
|
5963
|
+
'WebView.unregisterInterceptor': unregisterInterceptor,
|
|
5792
5964
|
'WebViews.getWebViews': getWebViews,
|
|
5793
5965
|
[BraceCompletionExecuteBraceCompletionProvider]: executeBraceCompletionProvider,
|
|
5794
5966
|
[ClosingTagExecuteClosingTagProvider]: executeClosingTagProvider,
|
|
@@ -5798,7 +5970,7 @@ const commandMap = {
|
|
|
5798
5970
|
[ConfigurationSetConfiguration]: setConfigurations,
|
|
5799
5971
|
[DefinitionExecuteDefinitionProvider]: executeDefinitionProvider,
|
|
5800
5972
|
[DiagnosticExecuteDiagnosticProvider]: executeDiagnosticProvider,
|
|
5801
|
-
[ExtensionActivate]:
|
|
5973
|
+
[ExtensionActivate]: activateExtension,
|
|
5802
5974
|
[FileSystemGetPathSeparator]: getPathSeparator,
|
|
5803
5975
|
[FileSystemReadDirWithFileTypes]: readDirWithFileTypes$2,
|
|
5804
5976
|
[FileSystemReadFile]: readFile$2,
|