@lvce-editor/static-server 0.52.14 → 0.52.16
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 +1857 -1857
- package/package.json +1 -1
- package/static/{0e74101 → 77b54f0}/css/App.css +91 -83
- package/static/{0e74101 → 77b54f0}/css/parts/ViewletRunAndDebug.css +4 -0
- package/static/{0e74101 → 77b54f0}/manifest.json +2 -2
- package/static/{0e74101 → 77b54f0}/packages/about-view-worker/dist/aboutWorkerMain.js +63 -32
- package/static/{0e74101 → 77b54f0}/packages/completion-worker/dist/completionWorkerMain.js +130 -93
- package/static/{0e74101 → 77b54f0}/packages/debug-worker/dist/debugWorkerMain.js +314 -96
- package/static/{0e74101 → 77b54f0}/packages/editor-worker/dist/editorWorkerMain.js +1466 -1516
- package/static/{0e74101 → 77b54f0}/packages/explorer-worker/dist/explorerViewWorkerMain.js +67 -56
- package/static/{0e74101 → 77b54f0}/packages/extension-host-worker/dist/extensionHostWorkerMain.js +26 -10
- package/static/{0e74101 → 77b54f0}/packages/file-system-worker/dist/fileSystemWorkerMain.js +38 -20
- package/static/{0e74101 → 77b54f0}/packages/renderer-process/dist/rendererProcessMain.js +48 -15
- package/static/{0e74101 → 77b54f0}/packages/renderer-process/package.json +1 -1
- package/static/{0e74101 → 77b54f0}/packages/renderer-worker/dist/rendererWorkerMain.js +501 -432
- package/static/{0e74101 → 77b54f0}/packages/syntax-highlighting-worker/dist/syntaxHighlightingWorkerMain.js +184 -47
- package/static/index.html +4 -4
- /package/static/{0e74101 → 77b54f0}/config/colorTheme.json +0 -0
- /package/static/{0e74101 → 77b54f0}/config/defaultSettings.json +0 -0
- /package/static/{0e74101 → 77b54f0}/config/fileMap.json +0 -0
- /package/static/{0e74101 → 77b54f0}/config/webExtensions.json +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/AdditionalDetails.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/Animation.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/DebugButtons.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/DebugValue.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/E2eTest.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/E2eTests.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/EditorHover.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/EditorMessage.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/FeatureContent.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/Features.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ImagePreview.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/InlineDiffEditor.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/InputBadge.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/Key.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/KeyBindingsHeader.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/KeyBindingsTable.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/LegacyDialog.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/Markdown.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/Progress.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/SearchToggleButton.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/Select.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/Table.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletAbout.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletBrowserViewOverview.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletDebugConsole.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletDefineKeyBinding.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletDialog.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletDiffEditor.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletEditorWidgetError.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletExtensionDetail.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletExtensionDetailHeader.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletExtensionDetailTabs.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletExtensions.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletIframeInspector.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletKeyBindings.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletMedia.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletOutput.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletPanel.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletPanelTabs.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletPdf.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletProblems.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletReferences.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletScreenCapture.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletSearch.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletSimpleBrowser.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletSourceControl.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletStorage.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletTerminal.css +0 -0
- /package/static/{0e74101 → 77b54f0}/css/parts/ViewletTerminalTabs.css +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-bat/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-bat/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-bat/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-bat/src/tokenizeBat.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-c/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-c/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-c/src/tokenizeC.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-coffeescript/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-coffeescript/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-coffeescript/src/tokenizeCoffeeScript.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-cpp/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-cpp/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-cpp/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-cpp/src/tokenizeCpp.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-cson/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-cson/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-cson/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-cson/src/tokenizeCson.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-css/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-css/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-css/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-css/src/tokenizeCss.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-dart/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-dart/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-dart/src/tokenizeDart.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-desktop/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-desktop/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-desktop/src/tokenizeDesktop.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-docker/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-docker/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-docker/src/tokenizeDockerfile.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-dotenv/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-dotenv/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-dotenv/src/tokenizeDotenv.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-editorconfig/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-editorconfig/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-editorconfig/src/tokenizeEditorConfig.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-elixir/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-elixir/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-elixir/src/tokenizeElixir.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-elm/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-elm/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-elm/src/tokenizeElm.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-gitattributes/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-gitattributes/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-gitattributes/src/tokenizeGitAttributes.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-gn/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-gn/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-gn/src/tokenizeGn.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-go/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-go/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-go/src/tokenizeGo.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-graphql/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-graphql/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-graphql/src/tokenizeGraphql.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-html/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-html/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-html/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-html/src/tokenizeHtml.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-java/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-java/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-java/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-java/src/tokenizeJava.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-javascript/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-javascript/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-javascript/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-javascript/src/tokenizeJavaScript.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-json/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-json/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-json/src/tokenizeJson.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-json5/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-json5/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-json5/src/tokenizeJson5.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-jsx/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-jsx/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-jsx/src/tokenizeJsx.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-julia/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-julia/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-julia/src/tokenizeJulia.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-kotlin/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-kotlin/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-kotlin/src/tokenizeKotlin.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-less/LICENSE +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-less/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-less/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-less/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-less/src/tokenizeLess.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-markdown/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-markdown/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-markdown/src/tokenizeMarkdown.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-mdx/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-mdx/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-mdx/src/tokenizeMdx.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-nix/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-nix/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-nix/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-nix/src/tokenizeNix.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-nvmrc/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-nvmrc/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-nvmrc/src/tokenizeNvmrc.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-perl/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-perl/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-perl/src/tokenizePerl.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-plaintext/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-plaintext/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-plaintext/src/tokenizePlaintext.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-powershell/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-powershell/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-powershell/src/tokenizePowershell.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-python/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-python/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-python/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-python/src/tokenizePython.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-r/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-r/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-r/src/tokenizeR.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-ruby/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-ruby/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-ruby/src/tokenizeRuby.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-rust/LICENSE +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-rust/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-rust/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-rust/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-rust/src/tokenizeRust.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-scss/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-scss/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-scss/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-scss/src/tokenizeScss.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-shellscript/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-shellscript/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-shellscript/src/tokenizeShellScript.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-svelte/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-svelte/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-svelte/src/tokenizeSvelte.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-terraform/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-terraform/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-terraform/src/tokenizeTerraform.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-toml/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-toml/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-toml/src/tokenizeToml.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-typescript/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-typescript/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-typescript/src/tokenizeTypeScript.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-vue/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-vue/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-vue/src/tokenizeVue.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-wgsl/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-wgsl/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-wgsl/languageConfiguration.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-wgsl/src/tokenizeWgsl.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-xml/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-xml/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-xml/src/tokenizeXml.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-yaml/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-yaml/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.language-basics-yaml/src/tokenizeYaml.js +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-atom-one-dark/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-atom-one-dark/color-theme.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-atom-one-dark/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-atom-one-dark/images/demo.png +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-ayu/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-ayu/color-theme.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-ayu/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-cobalt2/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-cobalt2/color-theme.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-cobalt2/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-cobalt2/images/demo.png +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-cobalt2/images/logo.png +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-gruvbox/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-gruvbox/color-theme.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-gruvbox/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-high-contrast/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-high-contrast/color-theme.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-high-contrast/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-material/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-material/color-theme.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-material/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-monokai/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-monokai/color-theme.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-monokai/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-noctis-uva/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-noctis-uva/color-theme.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-noctis-uva/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-noctis-uva/images/demo.png +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-palenight/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-palenight/color-theme.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-palenight/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-palenight/images/demo.png +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-slime/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-slime/color-theme.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-slime/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.theme-slime/icon.png +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.vscode-icons/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.vscode-icons/extension.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.vscode-icons/icon-theme.json +0 -0
- /package/static/{0e74101 → 77b54f0}/extensions/builtin.vscode-icons/icon.png +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/default_file.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/default_folder.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/default_folder_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/default_root_folder.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/default_root_folder_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_access.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_access2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_actionscript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_actionscript2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ada.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_advpl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_affectscript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_affinitydesigner.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_affinityphoto.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_affinitypublisher.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_agda.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ai.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ai2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_al.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_al_dal.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_allcontributors.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_angular.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ansible.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_antlers_html.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_antlr.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_anyscript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_apache.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_apex.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_api_extractor.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_apib.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_apib2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_apl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_applescript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_appscript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_appsemble.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_appveyor.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_arduino.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_asciidoc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_asp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_aspx.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_assembly.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_astro.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_astroconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_atom.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ats.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_attw.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_audio.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_aurelia.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_autohotkey.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_autoit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_avif.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_avro.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_awk.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_aws.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_azure.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_azurepipelines.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_babel.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_babel2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bak.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ballerina.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bat.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bats.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bazaar.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bazel.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bazel_ignore.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bazel_version.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_befunge.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bicep.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_biml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_binary.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_biome.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bitbucketpipeline.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bithound.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_blade.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_blender.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_blitzbasic.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bolt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bosque.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bower.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bower2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_browserslist.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bruno.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_buckbuild.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_buf.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bun.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bundlemon.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bundler.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_bunfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_c.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_c2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_c3.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_c_al.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cabal.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_caddy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cake.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cakephp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_capacitor.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_capnp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cargo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_casc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cddl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cert.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ceylon.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cf.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cf2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cfc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cfc2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cfm.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cfm2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_changie.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cheader.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_chef.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_chef_cookbook.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_circleci.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_class.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_claude.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_clojure.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_clojurescript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cloudfoundry.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cmake.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cobol.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_codacy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_codeclimate.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_codecov.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_codekit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_codemagic.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_codeowners.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_codeql.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_coderabbit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_coffeelint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_coffeescript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_commitizen.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_commitlint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_compass.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_composer.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_conan.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_conda.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_config.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_confluence.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_copilot.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_coverage.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_coveralls.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cpp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cpp2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cpp3.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cppheader.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_craco.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_crowdin.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_crystal.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_csharp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_csharp2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cspell.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_csproj.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_css.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_css2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_css2map.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_csscomb.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_csslint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cssmap.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cucumber.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cuda.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cursorrules.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cvs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cypress.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cypress_spec.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_cython.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dal.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_darcs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dartlang.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dartlang_generated.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dartlang_ignore.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_datadog.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_db.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_debian.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_delphi.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_deno.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_denoify.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dependabot.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dependencies.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_devcontainer.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dhall.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_diff.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_django.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dlang.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_docker.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_docker2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dockertest.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dockertest2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_docpad.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_docusaurus.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_docz.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dojo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_doppler.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dotenv.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dotjs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_doxygen.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_drawio.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_drone.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_drools.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dtd.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dune.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dustjs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dvc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_dylan.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_earthly.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_eas-metadata.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_edge.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_edge2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_editorconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_eex.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ejs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_elastic.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_elasticbeanstalk.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_eleventy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_eleventy2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_elixir.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_elm.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_elm2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_emacs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ember.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ensime.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_eps.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_epub.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_erb.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_erlang.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_erlang2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_esbuild.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_eslint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_eslint2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_esphome.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_excalidraw.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_excel.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_excel2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_expo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_falcon.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fantasticon.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fastly.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fauna.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_favicon.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fbx.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_firebase.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_firebasehosting.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_firestore.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fitbit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fla.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_flareact.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_flash.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_floobits.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_flow.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_flutter.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_flutter_package.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_flyio.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_font.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_formkit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fortran.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fossa.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fossil.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_freemarker.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_frontcommerce.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fsharp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fsharp2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fsproj.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fthtml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_funding.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_fusebox.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_galen.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_galen2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gamemaker.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gamemaker2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gamemaker81.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gatsby.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gcloud.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gcode.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gdscript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_genstat.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_git.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_git2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gitlab.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gitpod.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gleam.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gleamconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_glide.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_glitter.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_glsl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gltf.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_glyphs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gnu.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gnuplot.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_go.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_go_aqua.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_go_black.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_go_fuchsia.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_go_gopher.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_go_lightblue.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_go_package.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_go_white.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_go_work.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_go_yellow.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_goctl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_godot.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gpg.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gradle.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gradle2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_grain.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_graphql.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_graphql_config.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_graphviz.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_greenkeeper.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gridsome.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_groovy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_groovy2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_grunt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_gulp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_haml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_handlebars.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_handlebars2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_harbour.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_hardhat.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_hashicorp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_haskell.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_haskell2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_haxe.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_haxecheckstyle.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_haxedevelop.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_helix.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_helm.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_histoire.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_hjson.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_hlsl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_homeassistant.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_horusec.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_host.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_html.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_htmlhint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_htmlvalidate.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_http.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_hugo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_humanstxt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_hunspell.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_husky.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_hy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_hygen.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_hypr.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_icl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_idris.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_idrisbin.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_idrispkg.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_image.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_imba.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_inc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_infopath.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_informix.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ini.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ink.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_innosetup.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_io.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_iodine.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ionic.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jake.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_janet.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jar.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jasmine.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_java.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jbuilder.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jekyll.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jenkins.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jest.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jest_snapshot.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jinja.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jpm.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_js_official.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jsbeautify.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jsconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jscpd.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jshint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jsmap.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_json.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_json2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_json5.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_json_official.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_json_schema.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jsonld.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jsonnet.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jsp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jsr.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jss.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_juice.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_julia.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_julia2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_jupyter.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_just.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_k.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_karma.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_key.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_kitchenci.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_kite.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_kivy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_knip.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_kos.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_kotlin.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_kusto.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_language_configuration.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lark.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_latino.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_layout.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lefthook.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lerna.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_less.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lex.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_liara.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_libreoffice_base.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_libreoffice_calc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_libreoffice_draw.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_libreoffice_impress.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_libreoffice_math.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_libreoffice_writer.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_license.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_licensebat.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_actionscript2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_ada.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_agda.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_apl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_astro.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_astroconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_babel.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_babel2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_cabal.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_circleci.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_cloudfoundry.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_codacy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_codeclimate.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_codeowners.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_config.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_copilot.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_crystal.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_cypress.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_cypress_spec.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_db.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_deno.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_dhall.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_docpad.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_drone.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_eas-metadata.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_eleventy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_eleventy2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_esphome.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_expo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_firebasehosting.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_fla.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_font.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_gamemaker2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_gradle.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_hashicorp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_hjson.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_ini.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_io.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_jsconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_jsmap.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_json.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_json5.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_json_schema.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_jsonld.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_kite.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_lark.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_lerna.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_mailing.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_markuplint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_mdx-components.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_mdx.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_mlang.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_mustache.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_mypy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_neo4j.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_netlify.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_next.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_nim.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_nx.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_objidconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_openHAB.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_pcl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_pnpm.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_prettier.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_prisma.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_purescript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_quasar.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_raku.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_razzle.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_reactrouter.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_rehype.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_remark.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_replit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_retext.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_rome.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_rubocop.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_rust.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_rust_toolchain.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_safetensors.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_shaderlab.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_solidity.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_spin.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_stylelint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_stylus.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_symfony.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_systemd.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_systemverilog.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_testcafe.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_testjs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_tex.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_tm.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_tmux.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_todo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_toit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_toml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_tree.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_turbo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_unibeautify.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_vash.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_vercel.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_vsix.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_vsixmanifest.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_xfl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_xorg.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_yaml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_yaml_official.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_light_zeit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lighthouse.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lilypond.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lime.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lintstagedrc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_liquid.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lisp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_livescript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lnk.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_locale.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_log.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lolcode.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lsl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lua.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_luau.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_lync.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mailing.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_makefile.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_manifest.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_manifest_bak.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_manifest_skip.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_map.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mariadb.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_markdown.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_markdownlint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_markdownlint_ignore.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_marko.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_markojs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_markuplint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_master-co.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_matlab.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_maven.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_maxscript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_maya.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mdx-components.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mdx.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mediawiki.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mercurial.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mermaid.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_meson.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_metal.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_meteor.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_minecraft.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mivascript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mjml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mlang.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mocha.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_modernizr.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mojo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mojolicious.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_moleculer.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mondoo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mongo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_monotone.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_motif.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mson.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mustache.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mvt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mvtcss.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mvtjs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mypy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_mysql.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ndst.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nearly.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_neo4j.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_adapter_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_adapter_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_controller_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_controller_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_decorator_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_decorator_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_filter_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_filter_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_gateway_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_gateway_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_guard_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_guard_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_interceptor_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_interceptor_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_middleware_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_middleware_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_module_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_module_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_pipe_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_pipe_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_service_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nest_service_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nestjs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_netlify.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_next.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nextflow.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_component_css.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_component_dart.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_component_html.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_component_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_component_js2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_component_less.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_component_sass.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_component_scss.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_component_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_component_ts2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_controller_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_controller_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_directive_dart.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_directive_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_directive_js2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_directive_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_directive_ts2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_guard_dart.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_guard_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_guard_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_interceptor_dart.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_interceptor_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_interceptor_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_module_dart.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_module_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_module_js2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_module_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_module_ts2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_pipe_dart.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_pipe_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_pipe_js2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_pipe_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_pipe_ts2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_routing_dart.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_routing_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_routing_js2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_routing_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_routing_ts2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_service_dart.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_service_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_service_js2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_service_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_service_ts2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_smart_component_dart.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_smart_component_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_smart_component_js2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_smart_component_ts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_smart_component_ts2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ng_tailwind.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nginx.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nim.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nimble.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ninja.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nix.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_njsproj.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_noc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_node.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_node2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nodemon.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_npm.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_npmpackagejsonlint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nsi.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nsri-integrity.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nsri.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nuget.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_numpy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nunjucks.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nuxt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nx.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_nyc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_objectivec.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_objectivecpp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_objidconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ocaml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ocaml_intf.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ogone.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_onenote.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_opam.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_openHAB.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_opencl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_openscad.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_opentofu.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_org.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_outlook.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ovpn.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_oxlint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_package.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_paket.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pandacss.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_patch.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pcl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pddl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pddl_happenings.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pddl_plan.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pdf.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pdf2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pdm.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_peeky.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_perl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_perl2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_perl6.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pgsql.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_photoshop.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_photoshop2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_php.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_php2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_php3.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_phpcsfixer.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_phpstan.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_phpunit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_phraseapp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pine.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pip.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pipeline.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_plantuml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_platformio.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_playwright.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_plsql.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_plsql_package.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_plsql_package_body.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_plsql_package_header.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_plsql_package_spec.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pm2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pnpm.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_poedit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_poetry.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_polymer.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pony.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_postcss.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_postcssconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_postman.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_powerpoint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_powerpoint2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_powershell.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_powershell2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_powershell_format.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_powershell_psd.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_powershell_psd2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_powershell_psm.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_powershell_psm2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_powershell_types.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_preact.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_precommit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_prettier.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_prisma.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_processinglang.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_procfile.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_progress.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_prolog.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_prometheus.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_protobuf.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_protractor.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_publiccode.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_publisher.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pug.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pulumi.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_puppet.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_purescript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_purgecss.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pyenv.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pyret.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pyscript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pytest.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_python.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pythowo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pytyped.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_pyup.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_q.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_qbs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_qlikview.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_qml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_qmldir.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_qsharp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_quasar.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_r.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ra_syntax_tree.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_racket.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rails.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rake.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_raku.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_raml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_razor.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_razzle.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_reactjs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_reactrouter.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_reacttemplate.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_reactts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_reason.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_red.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_registry.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rego.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rehype.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_remark.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_renovate.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_replit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rescript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rest.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_retext.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rexx.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_riot.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rmd.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rnc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_robotframework.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_robots.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rolldown.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rollup.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rome.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ron.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rproj.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rspec.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rss.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rubocop.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ruby.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rust.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_rust_toolchain.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_s-lang.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_safetensors.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sails.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_saltstack.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_san.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sapphire_framework_cli.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sas.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sass.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sbt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_scala.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_scilab.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_script.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_scss.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_scss2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sdlang.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_search_result.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_seedkit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sentry.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sequelize.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_serverless.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_shaderlab.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_shell.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_shellcheck.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_shuttle.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_silverstripe.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sino.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_siyuan.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sketch.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_skipper.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_slang.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_slashup.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_slice.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_slim.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_slint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sln.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sln2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_smarty.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_snakemake.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_snapcraft.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_snaplet.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_snort.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_snyk.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_solidarity.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_solidity.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_source.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_spacengine.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sparql.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_spin.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sqf.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sql.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sqlite.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_squirrel.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sss.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sst.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_stackblitz.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_stan.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_stata.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_stencil.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_storyboard.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_storybook.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_stryker.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_stylable.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_style.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_styled.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_stylelint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_stylish_haskell.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_stylus.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_sublime.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_subversion.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_svelte.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_svelteconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_svg.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_svgo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_swagger.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_swc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_swift.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_swig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_symfony.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_syncpack.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_systemd.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_systemverilog.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_t4tt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tailwind.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tamagui.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_taplo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_taskfile.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tauri.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tcl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_teal.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_templ.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tera.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_terraform.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_test.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_testcafe.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_testjs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_testplane.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_testts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tex.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_text.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_textile.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tfs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tiltfile.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tm.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tmux.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_todo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_toit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_toml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tox.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_travis.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tree.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tres.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_truffle.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_trunk.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tsbuildinfo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tscn.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tsconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tsconfig_official.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tsdoc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tslint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_ttcn.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_tuc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_turbo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_twig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_typedoc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_typescript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_typescript_official.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_typescriptdef.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_typescriptdef_official.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_typo3.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_uiua.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_unibeautify.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_unison.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_unlicense.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_unocss.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vagrant.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vala.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vanilla_extract.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vapi.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vapor.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vash.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vb.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vba.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vbhtml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vbproj.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vcxproj.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_velocity.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vento.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vercel.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_verilog.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vhdl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_video.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_view.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vim.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vite.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vitest.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vlang.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_volt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vscode-insiders.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vscode.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vscode2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vscode3.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vscode_test.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vsix.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vsixmanifest.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vue.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vueconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_vyper.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wallaby.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wally.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wasm.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_watchmanconfig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wdio.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_weblate.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_webpack.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wenyan.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wercker.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wgsl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wikitext.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_windi.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wolfram.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_word.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_word2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wpml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wurst.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wxml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wxss.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_wxt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_xcode.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_xfl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_xib.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_xliff.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_xmake.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_xml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_xo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_xorg.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_xquery.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_xsl.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_yacc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_yaml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_yaml_official.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_yamllint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_yandex.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_yang.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_yarn.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_yeoman.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_zeit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_zig.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_zip.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/file_type_zip2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_android.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_android_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_api.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_api_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_app.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_app_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_arangodb.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_arangodb_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_asset.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_asset_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_audio.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_audio_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_aurelia.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_aurelia_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_aws.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_aws_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_azure.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_azure_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_azurepipelines.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_azurepipelines_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_binary.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_binary_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_bloc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_bloc_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_blueprint.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_blueprint_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_bot.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_bot_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_bower.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_bower_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_buildkite.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_buildkite_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_cake.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_cake_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_certificate.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_certificate_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_changesets.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_changesets_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_chef.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_chef_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_circleci.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_circleci_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_cli.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_cli_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_client.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_client_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_cmake.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_cmake_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_common.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_common_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_component.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_component_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_composer.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_composer_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_config.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_config_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_controller.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_controller_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_coverage.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_coverage_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_css.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_css2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_css2_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_css_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_cubit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_cubit_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_cypress.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_cypress_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_dapr.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_dapr_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_datadog.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_datadog_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_db.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_db_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_debian.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_debian_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_dependabot.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_dependabot_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_devcontainer.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_devcontainer_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_dist.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_dist_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_docker.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_docker_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_docs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_docs_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_e2e.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_e2e_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_elasticbeanstalk.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_elasticbeanstalk_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_electron.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_electron_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_expo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_expo_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_favicon.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_favicon_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_flow.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_flow_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_fonts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_fonts_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_frontcommerce.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_frontcommerce_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_gcp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_gcp_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_git.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_git_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_github.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_github_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_gitlab.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_gitlab_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_gradle.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_gradle_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_graphql.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_graphql_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_grunt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_grunt_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_gulp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_gulp_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_haxelib.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_haxelib_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_helper.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_helper_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_hook.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_hook_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_husky.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_husky_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_idea.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_idea_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_images.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_images_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_include.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_include_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_interfaces.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_interfaces_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_ios.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_ios_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_js.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_js_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_json.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_json_official.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_json_official_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_json_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_kubernetes.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_kubernetes_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_less.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_less_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_library.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_library_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_cypress.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_cypress_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_electron.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_electron_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_expo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_expo_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_fonts.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_fonts_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_gradle.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_gradle_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_meteor.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_meteor_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_mypy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_mypy_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_mysql.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_mysql_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_node.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_node_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_redux.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_redux_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_sass.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_light_sass_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_linux.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_linux_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_locale.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_locale_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_log.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_log_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_macos.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_macos_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mariadb.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mariadb_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_maven.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_maven_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mediawiki.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mediawiki_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_memcached.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_memcached_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_meteor.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_meteor_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_middleware.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_middleware_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_minecraft.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_minecraft_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_minikube.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_minikube_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mjml.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mjml_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mock.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mock_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_model.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_model_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_module.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_module_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mojo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mojo_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mongodb.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mongodb_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mypy.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mypy_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mysql.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_mysql_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_netlify.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_netlify_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_next.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_next_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_nginx.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_nginx_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_nix.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_nix_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_node.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_node_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_notebooks.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_notebooks_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_notification.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_notification_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_nuget.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_nuget_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_nuxt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_nuxt_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_package.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_package_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_paket.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_paket_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_php.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_php_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_platformio.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_platformio_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_plugin.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_plugin_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_prisma.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_prisma_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_private.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_private_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_public.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_public_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_pytest.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_pytest_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_python.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_python_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_ravendb.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_ravendb_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_redis.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_redis_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_redux.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_redux_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_route.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_route_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_sass.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_sass_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_script.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_script_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_seedkit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_seedkit_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_server.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_server_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_services.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_services_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_shared.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_shared_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_snaplet.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_snaplet_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_spin.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_spin_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_src.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_src_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_sso.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_sso_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_story.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_story_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_style.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_style_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_supabase.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_supabase_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_svelte.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_svelte_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_tauri.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_tauri_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_temp.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_temp_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_template.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_template_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_test.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_test_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_theme.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_theme_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_tools.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_tools_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_travis.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_travis_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_trunk.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_trunk_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_turbo.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_turbo_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_typescript.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_typescript_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_typings.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_typings2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_typings2_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_typings_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vagrant.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vagrant_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vercel.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vercel_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_video.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_video_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_view.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_view_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vs.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vs2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vs2_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vs_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vscode.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vscode2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vscode2_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vscode3.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vscode3_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vscode_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vscode_test.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vscode_test2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vscode_test2_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vscode_test3.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vscode_test3_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_vscode_test_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_webpack.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_webpack_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_windows.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_windows_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_wit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_wit_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_www.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_www_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_yarn.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/file-icons/folder_type_yarn_opened.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/fonts/FiraCode-VariableFont.ttf +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/add.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/arrow-down.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/arrow-left.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/arrow-right.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/arrow-up.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/blank.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/book.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/case-sensitive.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/check.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/chevron-down.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/chevron-left.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/chevron-right.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/chevron-up.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/chrome-close.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/chrome-maximize.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/chrome-minimize.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/chrome-restore.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/circle-filled.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/clear-all.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/close.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/cloud.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/collapse-all.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-all.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-alt-2.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-alt-small.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-alt.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-breakpoint-conditional-unverified.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-breakpoint-conditional.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-breakpoint-data-unverified.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-breakpoint-data.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-breakpoint-function-unverified.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-breakpoint-function.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-breakpoint-log-unverified.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-breakpoint-log.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-breakpoint-unsupported.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-console.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-continue-small.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-continue.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-coverage.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-disconnect.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-line-by-line.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-pause.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-rerun.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-restart-frame.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-restart.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-reverse-continue.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-stackframe-active.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-stackframe.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-start.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-step-back.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-step-into.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-step-out.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-step-over.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug-stop.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/debug.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/discard.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/edit.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/ellipsis.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/error.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/exclude.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/extensionDefaultIcon.png +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/extensions.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/files.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/filter.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/go-to-file.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/icon-close.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/icon-source-control.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/icon-sync.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/icon.png +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/icon.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/info.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/language-icon.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/link-external.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/list-flat.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/list-tree.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/new-file.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/new-folder.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/newline.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/open-preview.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/play.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/preserve-case.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/progress.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/pwa-icon-192.png +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/pwa-icon-512.png +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/record-keys.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/refresh.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/regex.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/remove.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/replace-all.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/replace.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/run-all.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/search.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/settings-gear.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/sort-precedence.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/source-control.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/split-horizontal.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/squiggly-error.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/squiggly-warning.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-array.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-boolean.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-class.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-color.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-constant.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-enum-member.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-enum.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-event.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-field.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-file.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-interface.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-key.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-keyword.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-method.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-misc.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-namespace.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-numeric.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-operator.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-parameter.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-property.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-ruler.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-snippet.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-string.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-structure.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/symbol-variable.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/tag.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/terminal-bash.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/terminal.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/theme-icon.png +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/trash.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/triangle-down.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/triangle-left.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/triangle-right.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/triangle-up.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/warning.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/whole-word.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/zoom-in.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/icons/zoom-out.svg +0 -0
- /package/static/{0e74101 → 77b54f0}/js/babel-parser.js +0 -0
- /package/static/{0e74101 → 77b54f0}/js/blob-util.js +0 -0
- /package/static/{0e74101 → 77b54f0}/js/ky.js +0 -0
- /package/static/{0e74101 → 77b54f0}/js/lvce-editor-import-script.js +0 -0
- /package/static/{0e74101 → 77b54f0}/js/lvce-editor-ipc.js +0 -0
- /package/static/{0e74101 → 77b54f0}/js/lvce-editor-json-rpc.js +0 -0
- /package/static/{0e74101 → 77b54f0}/js/lvce-editor-verror.js +0 -0
- /package/static/{0e74101 → 77b54f0}/js/p-min-delay.js +0 -0
- /package/static/{0e74101 → 77b54f0}/js/pretty-bytes.js +0 -0
- /package/static/{0e74101 → 77b54f0}/js/preview-injected.js +0 -0
- /package/static/{0e74101 → 77b54f0}/js/yoctodelay.js +0 -0
- /package/static/{0e74101 → 77b54f0}/lib-css/termterm.css +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/color-picker-worker/dist/colorPickerWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/diff-worker/dist/diffWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/embeds-worker/dist/embedsWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/error-worker/dist/errorWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/extension-detail-view-worker/dist/extensionDetailViewWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/extension-host-sub-worker/dist/extensionHostSubWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/extension-search-view-worker/dist/extensionSearchViewWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/file-search-worker/dist/fileSearchWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/find-widget-worker/dist/findWidgetWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/iframe-inspector/dist/iframeInspectorWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/iframe-worker/dist/iframeWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/keybindings-view-worker/dist/keyBindingsViewWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/markdown-worker/dist/markdownWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/rename-worker/dist/renameWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/renderer-process/LICENSE +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/renderer-process/README.md +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/source-control-worker/dist/sourceControlWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/terminal-worker/dist/terminalWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/test-worker/dist/testWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/text-search-worker/dist/textSearchWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/packages/title-bar-worker/dist/titleBarWorkerMain.js +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.cpp +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.css +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.csv +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.dart +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.env +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.ex +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.html +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.java +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.jl +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.js +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.json +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.kt +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.pl +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.py +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/index.ts +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/scrolling.txt +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/languages/tsconfig.json +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/sample-folder/a.txt +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/sample-folder/b.txt +0 -0
- /package/static/{0e74101 → 77b54f0}/playground/sample-folder/c.txt +0 -0
|
@@ -1,694 +1,291 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
const normalizeLine = line => {
|
|
2
|
+
if (line.startsWith('Error: ')) {
|
|
3
|
+
return line.slice('Error: '.length);
|
|
4
|
+
}
|
|
5
|
+
if (line.startsWith('VError: ')) {
|
|
6
|
+
return line.slice('VError: '.length);
|
|
7
|
+
}
|
|
8
|
+
return line;
|
|
4
9
|
};
|
|
5
|
-
const
|
|
6
|
-
|
|
10
|
+
const getCombinedMessage = (error, message) => {
|
|
11
|
+
const stringifiedError = normalizeLine(`${error}`);
|
|
12
|
+
if (message) {
|
|
13
|
+
return `${message}: ${stringifiedError}`;
|
|
14
|
+
}
|
|
15
|
+
return stringifiedError;
|
|
7
16
|
};
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
17
|
+
const NewLine$3 = '\n';
|
|
18
|
+
const getNewLineIndex$1 = (string, startIndex = undefined) => {
|
|
19
|
+
return string.indexOf(NewLine$3, startIndex);
|
|
20
|
+
};
|
|
21
|
+
const mergeStacks = (parent, child) => {
|
|
22
|
+
if (!child) {
|
|
23
|
+
return parent;
|
|
12
24
|
}
|
|
13
|
-
|
|
25
|
+
const parentNewLineIndex = getNewLineIndex$1(parent);
|
|
26
|
+
const childNewLineIndex = getNewLineIndex$1(child);
|
|
27
|
+
if (childNewLineIndex === -1) {
|
|
28
|
+
return parent;
|
|
29
|
+
}
|
|
30
|
+
const parentFirstLine = parent.slice(0, parentNewLineIndex);
|
|
31
|
+
const childRest = child.slice(childNewLineIndex);
|
|
32
|
+
const childFirstLine = normalizeLine(child.slice(0, childNewLineIndex));
|
|
33
|
+
if (parentFirstLine.includes(childFirstLine)) {
|
|
34
|
+
return parentFirstLine + childRest;
|
|
35
|
+
}
|
|
36
|
+
return child;
|
|
14
37
|
};
|
|
38
|
+
class VError extends Error {
|
|
39
|
+
constructor(error, message) {
|
|
40
|
+
const combinedMessage = getCombinedMessage(error, message);
|
|
41
|
+
super(combinedMessage);
|
|
42
|
+
this.name = 'VError';
|
|
43
|
+
if (error instanceof Error) {
|
|
44
|
+
this.stack = mergeStacks(this.stack, error.stack);
|
|
45
|
+
}
|
|
46
|
+
if (error.codeFrame) {
|
|
47
|
+
// @ts-ignore
|
|
48
|
+
this.codeFrame = error.codeFrame;
|
|
49
|
+
}
|
|
50
|
+
if (error.code) {
|
|
51
|
+
// @ts-ignore
|
|
52
|
+
this.code = error.code;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
15
56
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
57
|
+
class AssertionError extends Error {
|
|
58
|
+
constructor(message) {
|
|
59
|
+
super(message);
|
|
60
|
+
this.name = 'AssertionError';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const getType = value => {
|
|
64
|
+
switch (typeof value) {
|
|
65
|
+
case 'number':
|
|
66
|
+
return 'number';
|
|
67
|
+
case 'function':
|
|
68
|
+
return 'function';
|
|
69
|
+
case 'string':
|
|
70
|
+
return 'string';
|
|
71
|
+
case 'object':
|
|
72
|
+
if (value === null) {
|
|
73
|
+
return 'null';
|
|
74
|
+
}
|
|
75
|
+
if (Array.isArray(value)) {
|
|
76
|
+
return 'array';
|
|
77
|
+
}
|
|
78
|
+
return 'object';
|
|
79
|
+
case 'boolean':
|
|
80
|
+
return 'boolean';
|
|
81
|
+
default:
|
|
82
|
+
return 'unknown';
|
|
83
|
+
}
|
|
21
84
|
};
|
|
22
|
-
const
|
|
23
|
-
|
|
85
|
+
const object = value => {
|
|
86
|
+
const type = getType(value);
|
|
87
|
+
if (type !== 'object') {
|
|
88
|
+
throw new AssertionError('expected value to be of type object');
|
|
89
|
+
}
|
|
24
90
|
};
|
|
25
|
-
const
|
|
26
|
-
|
|
91
|
+
const number = value => {
|
|
92
|
+
const type = getType(value);
|
|
93
|
+
if (type !== 'number') {
|
|
94
|
+
throw new AssertionError('expected value to be of type number');
|
|
95
|
+
}
|
|
27
96
|
};
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
method,
|
|
34
|
-
params
|
|
35
|
-
};
|
|
97
|
+
const array = value => {
|
|
98
|
+
const type = getType(value);
|
|
99
|
+
if (type !== 'array') {
|
|
100
|
+
throw new AssertionError('expected value to be of type array');
|
|
101
|
+
}
|
|
36
102
|
};
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
|
|
103
|
+
const string = value => {
|
|
104
|
+
const type = getType(value);
|
|
105
|
+
if (type !== 'string') {
|
|
106
|
+
throw new AssertionError('expected value to be of type string');
|
|
107
|
+
}
|
|
40
108
|
};
|
|
41
|
-
const
|
|
42
|
-
|
|
109
|
+
const boolean = value => {
|
|
110
|
+
const type = getType(value);
|
|
111
|
+
if (type !== 'boolean') {
|
|
112
|
+
throw new AssertionError('expected value to be of type boolean');
|
|
113
|
+
}
|
|
43
114
|
};
|
|
44
|
-
|
|
45
|
-
|
|
115
|
+
|
|
116
|
+
const isMessagePort = value => {
|
|
117
|
+
return value && value instanceof MessagePort;
|
|
46
118
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return ++id;
|
|
119
|
+
const isMessagePortMain = value => {
|
|
120
|
+
return value && value.constructor && value.constructor.name === 'MessagePortMain';
|
|
50
121
|
};
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
const {
|
|
54
|
-
resolve,
|
|
55
|
-
promise
|
|
56
|
-
} = Promise.withResolvers();
|
|
57
|
-
set$6(id, resolve);
|
|
58
|
-
return {
|
|
59
|
-
id,
|
|
60
|
-
promise
|
|
61
|
-
};
|
|
122
|
+
const isOffscreenCanvas = value => {
|
|
123
|
+
return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
|
|
62
124
|
};
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
id,
|
|
66
|
-
promise
|
|
67
|
-
} = registerPromise();
|
|
68
|
-
const message = {
|
|
69
|
-
jsonrpc: Two,
|
|
70
|
-
method,
|
|
71
|
-
params,
|
|
72
|
-
id
|
|
73
|
-
};
|
|
74
|
-
return {
|
|
75
|
-
message,
|
|
76
|
-
promise
|
|
77
|
-
};
|
|
125
|
+
const isInstanceOf = (value, constructorName) => {
|
|
126
|
+
return value?.constructor?.name === constructorName;
|
|
78
127
|
};
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const ReferenceError$1 = 'ReferenceError';
|
|
88
|
-
const SyntaxError$1 = 'SyntaxError';
|
|
89
|
-
const TypeError$1 = 'TypeError';
|
|
90
|
-
const getErrorConstructor = (message, type) => {
|
|
91
|
-
if (type) {
|
|
92
|
-
switch (type) {
|
|
93
|
-
case DomException:
|
|
94
|
-
return DOMException;
|
|
95
|
-
case TypeError$1:
|
|
96
|
-
return TypeError;
|
|
97
|
-
case SyntaxError$1:
|
|
98
|
-
return SyntaxError;
|
|
99
|
-
case ReferenceError$1:
|
|
100
|
-
return ReferenceError;
|
|
101
|
-
default:
|
|
102
|
-
return Error;
|
|
128
|
+
const isSocket = value => {
|
|
129
|
+
return isInstanceOf(value, 'Socket');
|
|
130
|
+
};
|
|
131
|
+
const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
|
|
132
|
+
const isTransferrable = value => {
|
|
133
|
+
for (const fn of transferrables) {
|
|
134
|
+
if (fn(value)) {
|
|
135
|
+
return true;
|
|
103
136
|
}
|
|
104
137
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
if (
|
|
109
|
-
return
|
|
138
|
+
return false;
|
|
139
|
+
};
|
|
140
|
+
const walkValue = (value, transferrables, isTransferrable) => {
|
|
141
|
+
if (!value) {
|
|
142
|
+
return;
|
|
110
143
|
}
|
|
111
|
-
if (
|
|
112
|
-
|
|
144
|
+
if (isTransferrable(value)) {
|
|
145
|
+
transferrables.push(value);
|
|
146
|
+
return;
|
|
113
147
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
return new ErrorConstructor(message, name);
|
|
148
|
+
if (Array.isArray(value)) {
|
|
149
|
+
for (const item of value) {
|
|
150
|
+
walkValue(item, transferrables, isTransferrable);
|
|
151
|
+
}
|
|
152
|
+
return;
|
|
120
153
|
}
|
|
121
|
-
if (
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
error.name = name;
|
|
154
|
+
if (typeof value === 'object') {
|
|
155
|
+
for (const property of Object.values(value)) {
|
|
156
|
+
walkValue(property, transferrables, isTransferrable);
|
|
125
157
|
}
|
|
126
|
-
return
|
|
158
|
+
return;
|
|
127
159
|
}
|
|
128
|
-
return new ErrorConstructor(message);
|
|
129
|
-
};
|
|
130
|
-
const getNewLineIndex$1 = (string, startIndex = undefined) => {
|
|
131
|
-
return string.indexOf(NewLine$3, startIndex);
|
|
132
160
|
};
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
return parentStack;
|
|
161
|
+
const getTransferrables = value => {
|
|
162
|
+
const transferrables = [];
|
|
163
|
+
walkValue(value, transferrables, isTransferrable);
|
|
164
|
+
return transferrables;
|
|
139
165
|
};
|
|
140
|
-
const
|
|
141
|
-
|
|
166
|
+
const attachEvents = that => {
|
|
167
|
+
const handleMessage = (...args) => {
|
|
168
|
+
const data = that.getData(...args);
|
|
169
|
+
that.dispatchEvent(new MessageEvent('message', {
|
|
170
|
+
data
|
|
171
|
+
}));
|
|
172
|
+
};
|
|
173
|
+
that.onMessage(handleMessage);
|
|
174
|
+
const handleClose = event => {
|
|
175
|
+
that.dispatchEvent(new Event('close'));
|
|
176
|
+
};
|
|
177
|
+
that.onClose(handleClose);
|
|
142
178
|
};
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
const restoreJsonRpcError = error => {
|
|
149
|
-
if (error && error instanceof Error) {
|
|
150
|
-
return error;
|
|
151
|
-
}
|
|
152
|
-
const currentStack = joinLines$2(splitLines$2(new Error().stack || '').slice(1));
|
|
153
|
-
if (error && error.code && error.code === MethodNotFound) {
|
|
154
|
-
const restoredError = new JsonRpcError(error.message);
|
|
155
|
-
const parentStack = getParentStack(error);
|
|
156
|
-
restoredError.stack = parentStack + NewLine$3 + currentStack;
|
|
157
|
-
return restoredError;
|
|
158
|
-
}
|
|
159
|
-
if (error && error.message) {
|
|
160
|
-
const restoredError = constructError(error.message, error.type, error.name);
|
|
161
|
-
if (error.data) {
|
|
162
|
-
if (error.data.stack && error.data.type && error.message) {
|
|
163
|
-
restoredError.stack = error.data.type + ': ' + error.message + NewLine$3 + error.data.stack + NewLine$3 + currentStack;
|
|
164
|
-
} else if (error.data.stack) {
|
|
165
|
-
restoredError.stack = error.data.stack;
|
|
166
|
-
}
|
|
167
|
-
if (error.data.codeFrame) {
|
|
168
|
-
// @ts-ignore
|
|
169
|
-
restoredError.codeFrame = error.data.codeFrame;
|
|
170
|
-
}
|
|
171
|
-
if (error.data.code) {
|
|
172
|
-
// @ts-ignore
|
|
173
|
-
restoredError.code = error.data.code;
|
|
174
|
-
}
|
|
175
|
-
if (error.data.type) {
|
|
176
|
-
// @ts-ignore
|
|
177
|
-
restoredError.name = error.data.type;
|
|
178
|
-
}
|
|
179
|
-
} else {
|
|
180
|
-
if (error.stack) {
|
|
181
|
-
const lowerStack = restoredError.stack || '';
|
|
182
|
-
// @ts-ignore
|
|
183
|
-
const indexNewLine = getNewLineIndex$1(lowerStack);
|
|
184
|
-
const parentStack = getParentStack(error);
|
|
185
|
-
// @ts-ignore
|
|
186
|
-
restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
|
|
187
|
-
}
|
|
188
|
-
if (error.codeFrame) {
|
|
189
|
-
// @ts-ignore
|
|
190
|
-
restoredError.codeFrame = error.codeFrame;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
return restoredError;
|
|
194
|
-
}
|
|
195
|
-
if (typeof error === 'string') {
|
|
196
|
-
return new Error(`JsonRpc Error: ${error}`);
|
|
197
|
-
}
|
|
198
|
-
return new Error(`JsonRpc Error: ${error}`);
|
|
199
|
-
};
|
|
200
|
-
const unwrapJsonRpcResult = responseMessage => {
|
|
201
|
-
if ('error' in responseMessage) {
|
|
202
|
-
const restoredError = restoreJsonRpcError(responseMessage.error);
|
|
203
|
-
throw restoredError;
|
|
204
|
-
}
|
|
205
|
-
if ('result' in responseMessage) {
|
|
206
|
-
return responseMessage.result;
|
|
207
|
-
}
|
|
208
|
-
throw new JsonRpcError('unexpected response message');
|
|
209
|
-
};
|
|
210
|
-
const warn$1 = (...args) => {
|
|
211
|
-
console.warn(...args);
|
|
212
|
-
};
|
|
213
|
-
const resolve = (id, response) => {
|
|
214
|
-
const fn = get$6(id);
|
|
215
|
-
if (!fn) {
|
|
216
|
-
console.log(response);
|
|
217
|
-
warn$1(`callback ${id} may already be disposed`);
|
|
218
|
-
return;
|
|
179
|
+
class Ipc extends EventTarget {
|
|
180
|
+
constructor(rawIpc) {
|
|
181
|
+
super();
|
|
182
|
+
this._rawIpc = rawIpc;
|
|
183
|
+
attachEvents(this);
|
|
219
184
|
}
|
|
220
|
-
|
|
221
|
-
|
|
185
|
+
}
|
|
186
|
+
const E_INCOMPATIBLE_NATIVE_MODULE = 'E_INCOMPATIBLE_NATIVE_MODULE';
|
|
187
|
+
const E_MODULES_NOT_SUPPORTED_IN_ELECTRON = 'E_MODULES_NOT_SUPPORTED_IN_ELECTRON';
|
|
188
|
+
const ERR_MODULE_NOT_FOUND = 'ERR_MODULE_NOT_FOUND';
|
|
189
|
+
const NewLine$2 = '\n';
|
|
190
|
+
const joinLines$2 = lines => {
|
|
191
|
+
return lines.join(NewLine$2);
|
|
222
192
|
};
|
|
223
|
-
const
|
|
224
|
-
const
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
}
|
|
228
|
-
if (prettyError && prettyError.constructor && prettyError.constructor.name) {
|
|
229
|
-
return prettyError.constructor.name;
|
|
230
|
-
}
|
|
231
|
-
return undefined;
|
|
193
|
+
const RE_AT = /^\s+at/;
|
|
194
|
+
const RE_AT_PROMISE_INDEX = /^\s*at async Promise.all \(index \d+\)$/;
|
|
195
|
+
const isNormalStackLine = line => {
|
|
196
|
+
return RE_AT.test(line) && !RE_AT_PROMISE_INDEX.test(line);
|
|
232
197
|
};
|
|
233
|
-
const
|
|
234
|
-
|
|
198
|
+
const getDetails = lines => {
|
|
199
|
+
const index = lines.findIndex(isNormalStackLine);
|
|
200
|
+
if (index === -1) {
|
|
235
201
|
return {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
data: error.stack
|
|
202
|
+
actualMessage: joinLines$2(lines),
|
|
203
|
+
rest: []
|
|
239
204
|
};
|
|
240
205
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
stack: prettyError.stack,
|
|
246
|
-
codeFrame: prettyError.codeFrame,
|
|
247
|
-
type: getErrorType(prettyError),
|
|
248
|
-
code: prettyError.code,
|
|
249
|
-
name: prettyError.name
|
|
206
|
+
let lastIndex = index - 1;
|
|
207
|
+
while (++lastIndex < lines.length) {
|
|
208
|
+
if (!isNormalStackLine(lines[lastIndex])) {
|
|
209
|
+
break;
|
|
250
210
|
}
|
|
251
|
-
}
|
|
252
|
-
};
|
|
253
|
-
const create$1$1 = (message, error) => {
|
|
211
|
+
}
|
|
254
212
|
return {
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
error
|
|
213
|
+
actualMessage: lines[index - 1],
|
|
214
|
+
rest: lines.slice(index, lastIndex)
|
|
258
215
|
};
|
|
259
216
|
};
|
|
260
|
-
const
|
|
261
|
-
|
|
262
|
-
logError(error, prettyError);
|
|
263
|
-
const errorProperty = getErrorProperty(error, prettyError);
|
|
264
|
-
return create$1$1(message, errorProperty);
|
|
217
|
+
const splitLines$2 = lines => {
|
|
218
|
+
return lines.split(NewLine$2);
|
|
265
219
|
};
|
|
266
|
-
const
|
|
220
|
+
const RE_MESSAGE_CODE_BLOCK_START = /^Error: The module '.*'$/;
|
|
221
|
+
const RE_MESSAGE_CODE_BLOCK_END = /^\s* at/;
|
|
222
|
+
const isMessageCodeBlockStartIndex = line => {
|
|
223
|
+
return RE_MESSAGE_CODE_BLOCK_START.test(line);
|
|
224
|
+
};
|
|
225
|
+
const isMessageCodeBlockEndIndex = line => {
|
|
226
|
+
return RE_MESSAGE_CODE_BLOCK_END.test(line);
|
|
227
|
+
};
|
|
228
|
+
const getMessageCodeBlock = stderr => {
|
|
229
|
+
const lines = splitLines$2(stderr);
|
|
230
|
+
const startIndex = lines.findIndex(isMessageCodeBlockStartIndex);
|
|
231
|
+
const endIndex = startIndex + lines.slice(startIndex).findIndex(isMessageCodeBlockEndIndex, startIndex);
|
|
232
|
+
const relevantLines = lines.slice(startIndex, endIndex);
|
|
233
|
+
const relevantMessage = relevantLines.join(' ').slice('Error: '.length);
|
|
234
|
+
return relevantMessage;
|
|
235
|
+
};
|
|
236
|
+
const isModuleNotFoundMessage = line => {
|
|
237
|
+
return line.includes('[ERR_MODULE_NOT_FOUND]');
|
|
238
|
+
};
|
|
239
|
+
const getModuleNotFoundError = stderr => {
|
|
240
|
+
const lines = splitLines$2(stderr);
|
|
241
|
+
const messageIndex = lines.findIndex(isModuleNotFoundMessage);
|
|
242
|
+
const message = lines[messageIndex];
|
|
267
243
|
return {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
result: result ?? null
|
|
244
|
+
message,
|
|
245
|
+
code: ERR_MODULE_NOT_FOUND
|
|
271
246
|
};
|
|
272
247
|
};
|
|
273
|
-
const
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
};
|
|
277
|
-
const getResponse = async (message, ipc, execute, preparePrettyError, logError, requiresSocket) => {
|
|
278
|
-
try {
|
|
279
|
-
const result = requiresSocket(message.method) ? await execute(message.method, ipc, ...message.params) : await execute(message.method, ...message.params);
|
|
280
|
-
return getSuccessResponse(message, result);
|
|
281
|
-
} catch (error) {
|
|
282
|
-
return getErrorResponse(message, error, preparePrettyError, logError);
|
|
248
|
+
const isModuleNotFoundError = stderr => {
|
|
249
|
+
if (!stderr) {
|
|
250
|
+
return false;
|
|
283
251
|
}
|
|
252
|
+
return stderr.includes('ERR_MODULE_NOT_FOUND');
|
|
284
253
|
};
|
|
285
|
-
const
|
|
286
|
-
|
|
254
|
+
const isModulesSyntaxError = stderr => {
|
|
255
|
+
if (!stderr) {
|
|
256
|
+
return false;
|
|
257
|
+
}
|
|
258
|
+
return stderr.includes('SyntaxError: Cannot use import statement outside a module');
|
|
287
259
|
};
|
|
288
|
-
const
|
|
289
|
-
|
|
260
|
+
const RE_NATIVE_MODULE_ERROR = /^innerError Error: Cannot find module '.*.node'/;
|
|
261
|
+
const RE_NATIVE_MODULE_ERROR_2 = /was compiled against a different Node.js version/;
|
|
262
|
+
const isUnhelpfulNativeModuleError = stderr => {
|
|
263
|
+
return RE_NATIVE_MODULE_ERROR.test(stderr) && RE_NATIVE_MODULE_ERROR_2.test(stderr);
|
|
290
264
|
};
|
|
291
|
-
const
|
|
292
|
-
|
|
265
|
+
const getNativeModuleErrorMessage = stderr => {
|
|
266
|
+
const message = getMessageCodeBlock(stderr);
|
|
267
|
+
return {
|
|
268
|
+
message: `Incompatible native node module: ${message}`,
|
|
269
|
+
code: E_INCOMPATIBLE_NATIVE_MODULE
|
|
270
|
+
};
|
|
293
271
|
};
|
|
294
|
-
const
|
|
295
|
-
|
|
296
|
-
// TODO maybe remove this in v6 or v7, only accept options object to simplify the code
|
|
297
|
-
const normalizeParams = args => {
|
|
298
|
-
if (args.length === 1) {
|
|
299
|
-
const options = args[0];
|
|
300
|
-
return {
|
|
301
|
-
ipc: options.ipc,
|
|
302
|
-
message: options.message,
|
|
303
|
-
execute: options.execute,
|
|
304
|
-
resolve: options.resolve || defaultResolve,
|
|
305
|
-
preparePrettyError: options.preparePrettyError || defaultPreparePrettyError,
|
|
306
|
-
logError: options.logError || defaultLogError,
|
|
307
|
-
requiresSocket: options.requiresSocket || defaultRequiresSocket
|
|
308
|
-
};
|
|
309
|
-
}
|
|
272
|
+
const getModuleSyntaxError = () => {
|
|
310
273
|
return {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
execute: args[2],
|
|
314
|
-
resolve: args[3],
|
|
315
|
-
preparePrettyError: args[4],
|
|
316
|
-
logError: args[5],
|
|
317
|
-
requiresSocket: args[6]
|
|
274
|
+
message: `ES Modules are not supported in electron`,
|
|
275
|
+
code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON
|
|
318
276
|
};
|
|
319
277
|
};
|
|
320
|
-
const
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
message,
|
|
324
|
-
ipc,
|
|
325
|
-
execute,
|
|
326
|
-
resolve,
|
|
327
|
-
preparePrettyError,
|
|
328
|
-
logError,
|
|
329
|
-
requiresSocket
|
|
330
|
-
} = options;
|
|
331
|
-
if ('id' in message) {
|
|
332
|
-
if ('method' in message) {
|
|
333
|
-
const response = await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
|
|
334
|
-
try {
|
|
335
|
-
ipc.send(response);
|
|
336
|
-
} catch (error) {
|
|
337
|
-
const errorResponse = getErrorResponse(message, error, preparePrettyError, logError);
|
|
338
|
-
ipc.send(errorResponse);
|
|
339
|
-
}
|
|
340
|
-
return;
|
|
341
|
-
}
|
|
342
|
-
resolve(message.id, message);
|
|
343
|
-
return;
|
|
278
|
+
const getHelpfulChildProcessError = (stdout, stderr) => {
|
|
279
|
+
if (isUnhelpfulNativeModuleError(stderr)) {
|
|
280
|
+
return getNativeModuleErrorMessage(stderr);
|
|
344
281
|
}
|
|
345
|
-
if (
|
|
346
|
-
|
|
347
|
-
return;
|
|
282
|
+
if (isModulesSyntaxError(stderr)) {
|
|
283
|
+
return getModuleSyntaxError();
|
|
348
284
|
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
|
|
352
|
-
const {
|
|
353
|
-
message,
|
|
354
|
-
promise
|
|
355
|
-
} = create$2$1(method, params);
|
|
356
|
-
if (useSendAndTransfer && ipc.sendAndTransfer) {
|
|
357
|
-
ipc.sendAndTransfer(message);
|
|
358
|
-
} else {
|
|
359
|
-
ipc.send(message);
|
|
285
|
+
if (isModuleNotFoundError(stderr)) {
|
|
286
|
+
return getModuleNotFoundError(stderr);
|
|
360
287
|
}
|
|
361
|
-
const
|
|
362
|
-
return unwrapJsonRpcResult(responseMessage);
|
|
363
|
-
};
|
|
364
|
-
const send = (transport, method, ...params) => {
|
|
365
|
-
const message = create$4$1(method, params);
|
|
366
|
-
transport.send(message);
|
|
367
|
-
};
|
|
368
|
-
const invoke$9 = (ipc, method, ...params) => {
|
|
369
|
-
return invokeHelper(ipc, method, params, false);
|
|
370
|
-
};
|
|
371
|
-
const invokeAndTransfer$2 = (ipc, method, ...params) => {
|
|
372
|
-
return invokeHelper(ipc, method, params, true);
|
|
373
|
-
};
|
|
374
|
-
|
|
375
|
-
const invoke$8 = async (method, ...params) => {
|
|
376
|
-
const ipc = get$7();
|
|
377
|
-
return invoke$9(ipc, method, ...params);
|
|
378
|
-
};
|
|
379
|
-
const invokeAndTransfer$1 = async (method, ...params) => {
|
|
380
|
-
const ipc = get$7();
|
|
381
|
-
return invokeAndTransfer$2(ipc, method, ...params);
|
|
382
|
-
};
|
|
383
|
-
const listen$5 = ipc => {
|
|
384
|
-
set$7(ipc);
|
|
385
|
-
};
|
|
386
|
-
|
|
387
|
-
const invoke$7 = async (method, ...params) => {
|
|
388
|
-
return invoke$8(method, ...params);
|
|
389
|
-
};
|
|
390
|
-
const invokeAndTransfer = async (method, ...params) => {
|
|
391
|
-
return invokeAndTransfer$1(method, ...params);
|
|
392
|
-
};
|
|
393
|
-
|
|
394
|
-
// TODO add tests for this
|
|
395
|
-
const activateByEvent = async event => {
|
|
396
|
-
await invoke$7('ExtensionHostManagement.activateByEvent', event);
|
|
397
|
-
};
|
|
398
|
-
|
|
399
|
-
const codeGeneratorAccept = state => {
|
|
400
|
-
// TODO close code generator widget
|
|
401
|
-
return state;
|
|
402
|
-
};
|
|
403
|
-
|
|
404
|
-
const normalizeLine = line => {
|
|
405
|
-
if (line.startsWith('Error: ')) {
|
|
406
|
-
return line.slice('Error: '.length);
|
|
407
|
-
}
|
|
408
|
-
if (line.startsWith('VError: ')) {
|
|
409
|
-
return line.slice('VError: '.length);
|
|
410
|
-
}
|
|
411
|
-
return line;
|
|
412
|
-
};
|
|
413
|
-
const getCombinedMessage = (error, message) => {
|
|
414
|
-
const stringifiedError = normalizeLine(`${error}`);
|
|
415
|
-
if (message) {
|
|
416
|
-
return `${message}: ${stringifiedError}`;
|
|
417
|
-
}
|
|
418
|
-
return stringifiedError;
|
|
419
|
-
};
|
|
420
|
-
const NewLine$2 = '\n';
|
|
421
|
-
const getNewLineIndex = (string, startIndex = undefined) => {
|
|
422
|
-
return string.indexOf(NewLine$2, startIndex);
|
|
423
|
-
};
|
|
424
|
-
const mergeStacks = (parent, child) => {
|
|
425
|
-
if (!child) {
|
|
426
|
-
return parent;
|
|
427
|
-
}
|
|
428
|
-
const parentNewLineIndex = getNewLineIndex(parent);
|
|
429
|
-
const childNewLineIndex = getNewLineIndex(child);
|
|
430
|
-
if (childNewLineIndex === -1) {
|
|
431
|
-
return parent;
|
|
432
|
-
}
|
|
433
|
-
const parentFirstLine = parent.slice(0, parentNewLineIndex);
|
|
434
|
-
const childRest = child.slice(childNewLineIndex);
|
|
435
|
-
const childFirstLine = normalizeLine(child.slice(0, childNewLineIndex));
|
|
436
|
-
if (parentFirstLine.includes(childFirstLine)) {
|
|
437
|
-
return parentFirstLine + childRest;
|
|
438
|
-
}
|
|
439
|
-
return child;
|
|
440
|
-
};
|
|
441
|
-
class VError extends Error {
|
|
442
|
-
constructor(error, message) {
|
|
443
|
-
const combinedMessage = getCombinedMessage(error, message);
|
|
444
|
-
super(combinedMessage);
|
|
445
|
-
this.name = 'VError';
|
|
446
|
-
if (error instanceof Error) {
|
|
447
|
-
this.stack = mergeStacks(this.stack, error.stack);
|
|
448
|
-
}
|
|
449
|
-
if (error.codeFrame) {
|
|
450
|
-
// @ts-ignore
|
|
451
|
-
this.codeFrame = error.codeFrame;
|
|
452
|
-
}
|
|
453
|
-
if (error.code) {
|
|
454
|
-
// @ts-ignore
|
|
455
|
-
this.code = error.code;
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
class AssertionError extends Error {
|
|
461
|
-
constructor(message) {
|
|
462
|
-
super(message);
|
|
463
|
-
this.name = 'AssertionError';
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
const getType = value => {
|
|
467
|
-
switch (typeof value) {
|
|
468
|
-
case 'number':
|
|
469
|
-
return 'number';
|
|
470
|
-
case 'function':
|
|
471
|
-
return 'function';
|
|
472
|
-
case 'string':
|
|
473
|
-
return 'string';
|
|
474
|
-
case 'object':
|
|
475
|
-
if (value === null) {
|
|
476
|
-
return 'null';
|
|
477
|
-
}
|
|
478
|
-
if (Array.isArray(value)) {
|
|
479
|
-
return 'array';
|
|
480
|
-
}
|
|
481
|
-
return 'object';
|
|
482
|
-
case 'boolean':
|
|
483
|
-
return 'boolean';
|
|
484
|
-
default:
|
|
485
|
-
return 'unknown';
|
|
486
|
-
}
|
|
487
|
-
};
|
|
488
|
-
const object = value => {
|
|
489
|
-
const type = getType(value);
|
|
490
|
-
if (type !== 'object') {
|
|
491
|
-
throw new AssertionError('expected value to be of type object');
|
|
492
|
-
}
|
|
493
|
-
};
|
|
494
|
-
const number = value => {
|
|
495
|
-
const type = getType(value);
|
|
496
|
-
if (type !== 'number') {
|
|
497
|
-
throw new AssertionError('expected value to be of type number');
|
|
498
|
-
}
|
|
499
|
-
};
|
|
500
|
-
const array = value => {
|
|
501
|
-
const type = getType(value);
|
|
502
|
-
if (type !== 'array') {
|
|
503
|
-
throw new AssertionError('expected value to be of type array');
|
|
504
|
-
}
|
|
505
|
-
};
|
|
506
|
-
const string = value => {
|
|
507
|
-
const type = getType(value);
|
|
508
|
-
if (type !== 'string') {
|
|
509
|
-
throw new AssertionError('expected value to be of type string');
|
|
510
|
-
}
|
|
511
|
-
};
|
|
512
|
-
const boolean = value => {
|
|
513
|
-
const type = getType(value);
|
|
514
|
-
if (type !== 'boolean') {
|
|
515
|
-
throw new AssertionError('expected value to be of type boolean');
|
|
516
|
-
}
|
|
517
|
-
};
|
|
518
|
-
|
|
519
|
-
const isMessagePort = value => {
|
|
520
|
-
return value && value instanceof MessagePort;
|
|
521
|
-
};
|
|
522
|
-
const isMessagePortMain = value => {
|
|
523
|
-
return value && value.constructor && value.constructor.name === 'MessagePortMain';
|
|
524
|
-
};
|
|
525
|
-
const isOffscreenCanvas = value => {
|
|
526
|
-
return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
|
|
527
|
-
};
|
|
528
|
-
const isInstanceOf = (value, constructorName) => {
|
|
529
|
-
return value?.constructor?.name === constructorName;
|
|
530
|
-
};
|
|
531
|
-
const isSocket = value => {
|
|
532
|
-
return isInstanceOf(value, 'Socket');
|
|
533
|
-
};
|
|
534
|
-
const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
|
|
535
|
-
const isTransferrable = value => {
|
|
536
|
-
for (const fn of transferrables) {
|
|
537
|
-
if (fn(value)) {
|
|
538
|
-
return true;
|
|
539
|
-
}
|
|
540
|
-
}
|
|
541
|
-
return false;
|
|
542
|
-
};
|
|
543
|
-
const walkValue = (value, transferrables, isTransferrable) => {
|
|
544
|
-
if (!value) {
|
|
545
|
-
return;
|
|
546
|
-
}
|
|
547
|
-
if (isTransferrable(value)) {
|
|
548
|
-
transferrables.push(value);
|
|
549
|
-
return;
|
|
550
|
-
}
|
|
551
|
-
if (Array.isArray(value)) {
|
|
552
|
-
for (const item of value) {
|
|
553
|
-
walkValue(item, transferrables, isTransferrable);
|
|
554
|
-
}
|
|
555
|
-
return;
|
|
556
|
-
}
|
|
557
|
-
if (typeof value === 'object') {
|
|
558
|
-
for (const property of Object.values(value)) {
|
|
559
|
-
walkValue(property, transferrables, isTransferrable);
|
|
560
|
-
}
|
|
561
|
-
return;
|
|
562
|
-
}
|
|
563
|
-
};
|
|
564
|
-
const getTransferrables = value => {
|
|
565
|
-
const transferrables = [];
|
|
566
|
-
walkValue(value, transferrables, isTransferrable);
|
|
567
|
-
return transferrables;
|
|
568
|
-
};
|
|
569
|
-
const attachEvents = that => {
|
|
570
|
-
const handleMessage = (...args) => {
|
|
571
|
-
const data = that.getData(...args);
|
|
572
|
-
that.dispatchEvent(new MessageEvent('message', {
|
|
573
|
-
data
|
|
574
|
-
}));
|
|
575
|
-
};
|
|
576
|
-
that.onMessage(handleMessage);
|
|
577
|
-
const handleClose = event => {
|
|
578
|
-
that.dispatchEvent(new Event('close'));
|
|
579
|
-
};
|
|
580
|
-
that.onClose(handleClose);
|
|
581
|
-
};
|
|
582
|
-
class Ipc extends EventTarget {
|
|
583
|
-
constructor(rawIpc) {
|
|
584
|
-
super();
|
|
585
|
-
this._rawIpc = rawIpc;
|
|
586
|
-
attachEvents(this);
|
|
587
|
-
}
|
|
588
|
-
}
|
|
589
|
-
const E_INCOMPATIBLE_NATIVE_MODULE = 'E_INCOMPATIBLE_NATIVE_MODULE';
|
|
590
|
-
const E_MODULES_NOT_SUPPORTED_IN_ELECTRON = 'E_MODULES_NOT_SUPPORTED_IN_ELECTRON';
|
|
591
|
-
const ERR_MODULE_NOT_FOUND = 'ERR_MODULE_NOT_FOUND';
|
|
592
|
-
const NewLine$1 = '\n';
|
|
593
|
-
const joinLines$1 = lines => {
|
|
594
|
-
return lines.join(NewLine$1);
|
|
595
|
-
};
|
|
596
|
-
const RE_AT = /^\s+at/;
|
|
597
|
-
const RE_AT_PROMISE_INDEX = /^\s*at async Promise.all \(index \d+\)$/;
|
|
598
|
-
const isNormalStackLine = line => {
|
|
599
|
-
return RE_AT.test(line) && !RE_AT_PROMISE_INDEX.test(line);
|
|
600
|
-
};
|
|
601
|
-
const getDetails = lines => {
|
|
602
|
-
const index = lines.findIndex(isNormalStackLine);
|
|
603
|
-
if (index === -1) {
|
|
604
|
-
return {
|
|
605
|
-
actualMessage: joinLines$1(lines),
|
|
606
|
-
rest: []
|
|
607
|
-
};
|
|
608
|
-
}
|
|
609
|
-
let lastIndex = index - 1;
|
|
610
|
-
while (++lastIndex < lines.length) {
|
|
611
|
-
if (!isNormalStackLine(lines[lastIndex])) {
|
|
612
|
-
break;
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
return {
|
|
616
|
-
actualMessage: lines[index - 1],
|
|
617
|
-
rest: lines.slice(index, lastIndex)
|
|
618
|
-
};
|
|
619
|
-
};
|
|
620
|
-
const splitLines$1 = lines => {
|
|
621
|
-
return lines.split(NewLine$1);
|
|
622
|
-
};
|
|
623
|
-
const RE_MESSAGE_CODE_BLOCK_START = /^Error: The module '.*'$/;
|
|
624
|
-
const RE_MESSAGE_CODE_BLOCK_END = /^\s* at/;
|
|
625
|
-
const isMessageCodeBlockStartIndex = line => {
|
|
626
|
-
return RE_MESSAGE_CODE_BLOCK_START.test(line);
|
|
627
|
-
};
|
|
628
|
-
const isMessageCodeBlockEndIndex = line => {
|
|
629
|
-
return RE_MESSAGE_CODE_BLOCK_END.test(line);
|
|
630
|
-
};
|
|
631
|
-
const getMessageCodeBlock = stderr => {
|
|
632
|
-
const lines = splitLines$1(stderr);
|
|
633
|
-
const startIndex = lines.findIndex(isMessageCodeBlockStartIndex);
|
|
634
|
-
const endIndex = startIndex + lines.slice(startIndex).findIndex(isMessageCodeBlockEndIndex, startIndex);
|
|
635
|
-
const relevantLines = lines.slice(startIndex, endIndex);
|
|
636
|
-
const relevantMessage = relevantLines.join(' ').slice('Error: '.length);
|
|
637
|
-
return relevantMessage;
|
|
638
|
-
};
|
|
639
|
-
const isModuleNotFoundMessage = line => {
|
|
640
|
-
return line.includes('[ERR_MODULE_NOT_FOUND]');
|
|
641
|
-
};
|
|
642
|
-
const getModuleNotFoundError = stderr => {
|
|
643
|
-
const lines = splitLines$1(stderr);
|
|
644
|
-
const messageIndex = lines.findIndex(isModuleNotFoundMessage);
|
|
645
|
-
const message = lines[messageIndex];
|
|
646
|
-
return {
|
|
647
|
-
message,
|
|
648
|
-
code: ERR_MODULE_NOT_FOUND
|
|
649
|
-
};
|
|
650
|
-
};
|
|
651
|
-
const isModuleNotFoundError = stderr => {
|
|
652
|
-
if (!stderr) {
|
|
653
|
-
return false;
|
|
654
|
-
}
|
|
655
|
-
return stderr.includes('ERR_MODULE_NOT_FOUND');
|
|
656
|
-
};
|
|
657
|
-
const isModulesSyntaxError = stderr => {
|
|
658
|
-
if (!stderr) {
|
|
659
|
-
return false;
|
|
660
|
-
}
|
|
661
|
-
return stderr.includes('SyntaxError: Cannot use import statement outside a module');
|
|
662
|
-
};
|
|
663
|
-
const RE_NATIVE_MODULE_ERROR = /^innerError Error: Cannot find module '.*.node'/;
|
|
664
|
-
const RE_NATIVE_MODULE_ERROR_2 = /was compiled against a different Node.js version/;
|
|
665
|
-
const isUnhelpfulNativeModuleError = stderr => {
|
|
666
|
-
return RE_NATIVE_MODULE_ERROR.test(stderr) && RE_NATIVE_MODULE_ERROR_2.test(stderr);
|
|
667
|
-
};
|
|
668
|
-
const getNativeModuleErrorMessage = stderr => {
|
|
669
|
-
const message = getMessageCodeBlock(stderr);
|
|
670
|
-
return {
|
|
671
|
-
message: `Incompatible native node module: ${message}`,
|
|
672
|
-
code: E_INCOMPATIBLE_NATIVE_MODULE
|
|
673
|
-
};
|
|
674
|
-
};
|
|
675
|
-
const getModuleSyntaxError = () => {
|
|
676
|
-
return {
|
|
677
|
-
message: `ES Modules are not supported in electron`,
|
|
678
|
-
code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON
|
|
679
|
-
};
|
|
680
|
-
};
|
|
681
|
-
const getHelpfulChildProcessError = (stdout, stderr) => {
|
|
682
|
-
if (isUnhelpfulNativeModuleError(stderr)) {
|
|
683
|
-
return getNativeModuleErrorMessage(stderr);
|
|
684
|
-
}
|
|
685
|
-
if (isModulesSyntaxError(stderr)) {
|
|
686
|
-
return getModuleSyntaxError();
|
|
687
|
-
}
|
|
688
|
-
if (isModuleNotFoundError(stderr)) {
|
|
689
|
-
return getModuleNotFoundError(stderr);
|
|
690
|
-
}
|
|
691
|
-
const lines = splitLines$1(stderr);
|
|
288
|
+
const lines = splitLines$2(stderr);
|
|
692
289
|
const {
|
|
693
290
|
actualMessage,
|
|
694
291
|
rest
|
|
@@ -699,7 +296,7 @@ const getHelpfulChildProcessError = (stdout, stderr) => {
|
|
|
699
296
|
stack: rest
|
|
700
297
|
};
|
|
701
298
|
};
|
|
702
|
-
|
|
299
|
+
class IpcError extends VError {
|
|
703
300
|
// @ts-ignore
|
|
704
301
|
constructor(betterMessage, stdout = '', stderr = '') {
|
|
705
302
|
if (stdout || stderr) {
|
|
@@ -724,23 +321,182 @@ let IpcError$1 = class IpcError extends VError {
|
|
|
724
321
|
// @ts-ignore
|
|
725
322
|
this.stderr = stderr;
|
|
726
323
|
}
|
|
324
|
+
}
|
|
325
|
+
const readyMessage = 'ready';
|
|
326
|
+
const getData$2 = event => {
|
|
327
|
+
return event.data;
|
|
328
|
+
};
|
|
329
|
+
const listen$7 = () => {
|
|
330
|
+
// @ts-ignore
|
|
331
|
+
if (typeof WorkerGlobalScope === 'undefined') {
|
|
332
|
+
throw new TypeError('module is not in web worker scope');
|
|
333
|
+
}
|
|
334
|
+
return globalThis;
|
|
335
|
+
};
|
|
336
|
+
const signal$8 = global => {
|
|
337
|
+
global.postMessage(readyMessage);
|
|
338
|
+
};
|
|
339
|
+
class IpcChildWithModuleWorker extends Ipc {
|
|
340
|
+
getData(event) {
|
|
341
|
+
return getData$2(event);
|
|
342
|
+
}
|
|
343
|
+
send(message) {
|
|
344
|
+
// @ts-ignore
|
|
345
|
+
this._rawIpc.postMessage(message);
|
|
346
|
+
}
|
|
347
|
+
sendAndTransfer(message) {
|
|
348
|
+
const transfer = getTransferrables(message);
|
|
349
|
+
// @ts-ignore
|
|
350
|
+
this._rawIpc.postMessage(message, transfer);
|
|
351
|
+
}
|
|
352
|
+
dispose() {
|
|
353
|
+
// ignore
|
|
354
|
+
}
|
|
355
|
+
onClose(callback) {
|
|
356
|
+
// ignore
|
|
357
|
+
}
|
|
358
|
+
onMessage(callback) {
|
|
359
|
+
this._rawIpc.addEventListener('message', callback);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
const wrap$f = global => {
|
|
363
|
+
return new IpcChildWithModuleWorker(global);
|
|
364
|
+
};
|
|
365
|
+
const waitForFirstMessage = async port => {
|
|
366
|
+
const {
|
|
367
|
+
resolve,
|
|
368
|
+
promise
|
|
369
|
+
} = Promise.withResolvers();
|
|
370
|
+
port.addEventListener('message', resolve, {
|
|
371
|
+
once: true
|
|
372
|
+
});
|
|
373
|
+
const event = await promise;
|
|
374
|
+
// @ts-ignore
|
|
375
|
+
return event.data;
|
|
376
|
+
};
|
|
377
|
+
const listen$6 = async () => {
|
|
378
|
+
const parentIpcRaw = listen$7();
|
|
379
|
+
signal$8(parentIpcRaw);
|
|
380
|
+
const parentIpc = wrap$f(parentIpcRaw);
|
|
381
|
+
const firstMessage = await waitForFirstMessage(parentIpc);
|
|
382
|
+
if (firstMessage.method !== 'initialize') {
|
|
383
|
+
throw new IpcError('unexpected first message');
|
|
384
|
+
}
|
|
385
|
+
const type = firstMessage.params[0];
|
|
386
|
+
if (type === 'message-port') {
|
|
387
|
+
parentIpc.send({
|
|
388
|
+
jsonrpc: '2.0',
|
|
389
|
+
id: firstMessage.id,
|
|
390
|
+
result: null
|
|
391
|
+
});
|
|
392
|
+
parentIpc.dispose();
|
|
393
|
+
const port = firstMessage.params[1];
|
|
394
|
+
return port;
|
|
395
|
+
}
|
|
396
|
+
return globalThis;
|
|
397
|
+
};
|
|
398
|
+
class IpcChildWithModuleWorkerAndMessagePort extends Ipc {
|
|
399
|
+
getData(event) {
|
|
400
|
+
return getData$2(event);
|
|
401
|
+
}
|
|
402
|
+
send(message) {
|
|
403
|
+
this._rawIpc.postMessage(message);
|
|
404
|
+
}
|
|
405
|
+
sendAndTransfer(message) {
|
|
406
|
+
const transfer = getTransferrables(message);
|
|
407
|
+
this._rawIpc.postMessage(message, transfer);
|
|
408
|
+
}
|
|
409
|
+
dispose() {
|
|
410
|
+
if (this._rawIpc.close) {
|
|
411
|
+
this._rawIpc.close();
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
onClose(callback) {
|
|
415
|
+
// ignore
|
|
416
|
+
}
|
|
417
|
+
onMessage(callback) {
|
|
418
|
+
this._rawIpc.addEventListener('message', callback);
|
|
419
|
+
this._rawIpc.start();
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
const wrap$e = port => {
|
|
423
|
+
return new IpcChildWithModuleWorkerAndMessagePort(port);
|
|
424
|
+
};
|
|
425
|
+
const IpcChildWithModuleWorkerAndMessagePort$1 = {
|
|
426
|
+
__proto__: null,
|
|
427
|
+
listen: listen$6,
|
|
428
|
+
wrap: wrap$e
|
|
429
|
+
};
|
|
430
|
+
const addListener = (emitter, type, callback) => {
|
|
431
|
+
if ('addEventListener' in emitter) {
|
|
432
|
+
emitter.addEventListener(type, callback);
|
|
433
|
+
} else {
|
|
434
|
+
emitter.on(type, callback);
|
|
435
|
+
}
|
|
436
|
+
};
|
|
437
|
+
const removeListener = (emitter, type, callback) => {
|
|
438
|
+
if ('removeEventListener' in emitter) {
|
|
439
|
+
emitter.removeEventListener(type, callback);
|
|
440
|
+
} else {
|
|
441
|
+
emitter.off(type, callback);
|
|
442
|
+
}
|
|
443
|
+
};
|
|
444
|
+
const getFirstEvent = (eventEmitter, eventMap) => {
|
|
445
|
+
const {
|
|
446
|
+
resolve,
|
|
447
|
+
promise
|
|
448
|
+
} = Promise.withResolvers();
|
|
449
|
+
const listenerMap = Object.create(null);
|
|
450
|
+
const cleanup = value => {
|
|
451
|
+
for (const event of Object.keys(eventMap)) {
|
|
452
|
+
removeListener(eventEmitter, event, listenerMap[event]);
|
|
453
|
+
}
|
|
454
|
+
resolve(value);
|
|
455
|
+
};
|
|
456
|
+
for (const [event, type] of Object.entries(eventMap)) {
|
|
457
|
+
const listener = event => {
|
|
458
|
+
cleanup({
|
|
459
|
+
type,
|
|
460
|
+
event
|
|
461
|
+
});
|
|
462
|
+
};
|
|
463
|
+
addListener(eventEmitter, event, listener);
|
|
464
|
+
listenerMap[event] = listener;
|
|
465
|
+
}
|
|
466
|
+
return promise;
|
|
727
467
|
};
|
|
728
|
-
const
|
|
729
|
-
const
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
const listen$8 = ({
|
|
733
|
-
port
|
|
468
|
+
const Message$1 = 3;
|
|
469
|
+
const create$5$1 = async ({
|
|
470
|
+
messagePort,
|
|
471
|
+
isMessagePortOpen
|
|
734
472
|
}) => {
|
|
735
|
-
|
|
473
|
+
if (!isMessagePort(messagePort)) {
|
|
474
|
+
throw new IpcError('port must be of type MessagePort');
|
|
475
|
+
}
|
|
476
|
+
if (isMessagePortOpen) {
|
|
477
|
+
return messagePort;
|
|
478
|
+
}
|
|
479
|
+
const eventPromise = getFirstEvent(messagePort, {
|
|
480
|
+
message: Message$1
|
|
481
|
+
});
|
|
482
|
+
messagePort.start();
|
|
483
|
+
const {
|
|
484
|
+
type,
|
|
485
|
+
event
|
|
486
|
+
} = await eventPromise;
|
|
487
|
+
if (type !== Message$1) {
|
|
488
|
+
throw new IpcError('Failed to wait for ipc message');
|
|
489
|
+
}
|
|
490
|
+
if (event.data !== readyMessage) {
|
|
491
|
+
throw new IpcError('unexpected first message');
|
|
492
|
+
}
|
|
493
|
+
return messagePort;
|
|
736
494
|
};
|
|
737
|
-
const signal$
|
|
738
|
-
|
|
495
|
+
const signal$1 = messagePort => {
|
|
496
|
+
messagePort.start();
|
|
739
497
|
};
|
|
740
|
-
class
|
|
741
|
-
getData
|
|
742
|
-
return getData$2(event);
|
|
743
|
-
}
|
|
498
|
+
class IpcParentWithMessagePort extends Ipc {
|
|
499
|
+
getData = getData$2;
|
|
744
500
|
send(message) {
|
|
745
501
|
this._rawIpc.postMessage(message);
|
|
746
502
|
}
|
|
@@ -749,228 +505,418 @@ class IpcChildWithMessagePort extends Ipc {
|
|
|
749
505
|
this._rawIpc.postMessage(message, transfer);
|
|
750
506
|
}
|
|
751
507
|
dispose() {
|
|
752
|
-
|
|
753
|
-
}
|
|
754
|
-
onClose(callback) {
|
|
755
|
-
// ignore
|
|
508
|
+
this._rawIpc.close();
|
|
756
509
|
}
|
|
757
510
|
onMessage(callback) {
|
|
758
511
|
this._rawIpc.addEventListener('message', callback);
|
|
759
|
-
this._rawIpc.start();
|
|
760
512
|
}
|
|
513
|
+
onClose(callback) {}
|
|
761
514
|
}
|
|
762
|
-
const wrap$
|
|
763
|
-
return new
|
|
515
|
+
const wrap$5 = messagePort => {
|
|
516
|
+
return new IpcParentWithMessagePort(messagePort);
|
|
764
517
|
};
|
|
765
|
-
const
|
|
518
|
+
const IpcParentWithMessagePort$1 = {
|
|
766
519
|
__proto__: null,
|
|
767
|
-
|
|
768
|
-
signal: signal$
|
|
769
|
-
wrap: wrap$
|
|
520
|
+
create: create$5$1,
|
|
521
|
+
signal: signal$1,
|
|
522
|
+
wrap: wrap$5
|
|
770
523
|
};
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
524
|
+
|
|
525
|
+
const Two = '2.0';
|
|
526
|
+
const create$4$1 = (method, params) => {
|
|
527
|
+
return {
|
|
528
|
+
jsonrpc: Two,
|
|
529
|
+
method,
|
|
530
|
+
params
|
|
531
|
+
};
|
|
777
532
|
};
|
|
778
|
-
const
|
|
779
|
-
|
|
533
|
+
const callbacks = Object.create(null);
|
|
534
|
+
const set$a = (id, fn) => {
|
|
535
|
+
callbacks[id] = fn;
|
|
780
536
|
};
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
537
|
+
const get$7 = id => {
|
|
538
|
+
return callbacks[id];
|
|
539
|
+
};
|
|
540
|
+
const remove$8 = id => {
|
|
541
|
+
delete callbacks[id];
|
|
542
|
+
};
|
|
543
|
+
let id = 0;
|
|
544
|
+
const create$3$2 = () => {
|
|
545
|
+
return ++id;
|
|
546
|
+
};
|
|
547
|
+
const registerPromise = () => {
|
|
548
|
+
const id = create$3$2();
|
|
549
|
+
const {
|
|
550
|
+
resolve,
|
|
551
|
+
promise
|
|
552
|
+
} = Promise.withResolvers();
|
|
553
|
+
set$a(id, resolve);
|
|
554
|
+
return {
|
|
555
|
+
id,
|
|
556
|
+
promise
|
|
557
|
+
};
|
|
558
|
+
};
|
|
559
|
+
const create$2$2 = (method, params) => {
|
|
560
|
+
const {
|
|
561
|
+
id,
|
|
562
|
+
promise
|
|
563
|
+
} = registerPromise();
|
|
564
|
+
const message = {
|
|
565
|
+
jsonrpc: Two,
|
|
566
|
+
method,
|
|
567
|
+
params,
|
|
568
|
+
id
|
|
569
|
+
};
|
|
570
|
+
return {
|
|
571
|
+
message,
|
|
572
|
+
promise
|
|
573
|
+
};
|
|
574
|
+
};
|
|
575
|
+
class JsonRpcError extends Error {
|
|
576
|
+
constructor(message) {
|
|
577
|
+
super(message);
|
|
578
|
+
this.name = 'JsonRpcError';
|
|
784
579
|
}
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
580
|
+
}
|
|
581
|
+
const NewLine$1 = '\n';
|
|
582
|
+
const DomException = 'DOMException';
|
|
583
|
+
const ReferenceError$1 = 'ReferenceError';
|
|
584
|
+
const SyntaxError$1 = 'SyntaxError';
|
|
585
|
+
const TypeError$1 = 'TypeError';
|
|
586
|
+
const getErrorConstructor = (message, type) => {
|
|
587
|
+
if (type) {
|
|
588
|
+
switch (type) {
|
|
589
|
+
case DomException:
|
|
590
|
+
return DOMException;
|
|
591
|
+
case TypeError$1:
|
|
592
|
+
return TypeError;
|
|
593
|
+
case SyntaxError$1:
|
|
594
|
+
return SyntaxError;
|
|
595
|
+
case ReferenceError$1:
|
|
596
|
+
return ReferenceError;
|
|
597
|
+
default:
|
|
598
|
+
return Error;
|
|
599
|
+
}
|
|
788
600
|
}
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
// @ts-ignore
|
|
792
|
-
this._rawIpc.postMessage(message, transfer);
|
|
601
|
+
if (message.startsWith('TypeError: ')) {
|
|
602
|
+
return TypeError;
|
|
793
603
|
}
|
|
794
|
-
|
|
795
|
-
|
|
604
|
+
if (message.startsWith('SyntaxError: ')) {
|
|
605
|
+
return SyntaxError;
|
|
796
606
|
}
|
|
797
|
-
|
|
798
|
-
|
|
607
|
+
if (message.startsWith('ReferenceError: ')) {
|
|
608
|
+
return ReferenceError;
|
|
799
609
|
}
|
|
800
|
-
|
|
801
|
-
|
|
610
|
+
return Error;
|
|
611
|
+
};
|
|
612
|
+
const constructError = (message, type, name) => {
|
|
613
|
+
const ErrorConstructor = getErrorConstructor(message, type);
|
|
614
|
+
if (ErrorConstructor === DOMException && name) {
|
|
615
|
+
return new ErrorConstructor(message, name);
|
|
802
616
|
}
|
|
803
|
-
|
|
804
|
-
const
|
|
805
|
-
|
|
617
|
+
if (ErrorConstructor === Error) {
|
|
618
|
+
const error = new Error(message);
|
|
619
|
+
if (name && name !== 'VError') {
|
|
620
|
+
error.name = name;
|
|
621
|
+
}
|
|
622
|
+
return error;
|
|
623
|
+
}
|
|
624
|
+
return new ErrorConstructor(message);
|
|
806
625
|
};
|
|
807
|
-
const
|
|
808
|
-
|
|
809
|
-
listen: listen$7,
|
|
810
|
-
signal: signal$8,
|
|
811
|
-
wrap: wrap$f
|
|
626
|
+
const joinLines$1 = lines => {
|
|
627
|
+
return lines.join(NewLine$1);
|
|
812
628
|
};
|
|
813
|
-
const
|
|
814
|
-
|
|
815
|
-
resolve,
|
|
816
|
-
promise
|
|
817
|
-
} = Promise.withResolvers();
|
|
818
|
-
port.addEventListener('message', resolve, {
|
|
819
|
-
once: true
|
|
820
|
-
});
|
|
821
|
-
const event = await promise;
|
|
822
|
-
// @ts-ignore
|
|
823
|
-
return event.data;
|
|
629
|
+
const splitLines$1 = lines => {
|
|
630
|
+
return lines.split(NewLine$1);
|
|
824
631
|
};
|
|
825
|
-
const
|
|
826
|
-
const
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
if (
|
|
835
|
-
|
|
836
|
-
jsonrpc: '2.0',
|
|
837
|
-
id: firstMessage.id,
|
|
838
|
-
result: null
|
|
839
|
-
});
|
|
840
|
-
parentIpc.dispose();
|
|
841
|
-
const port = firstMessage.params[1];
|
|
842
|
-
return port;
|
|
632
|
+
const getCurrentStack = () => {
|
|
633
|
+
const currentStack = joinLines$1(splitLines$1(new Error().stack || '').slice(2));
|
|
634
|
+
return currentStack;
|
|
635
|
+
};
|
|
636
|
+
const getNewLineIndex = (string, startIndex = undefined) => {
|
|
637
|
+
return string.indexOf(NewLine$1, startIndex);
|
|
638
|
+
};
|
|
639
|
+
const getParentStack = error => {
|
|
640
|
+
let parentStack = error.stack || error.data || error.message || '';
|
|
641
|
+
if (parentStack.startsWith(' at')) {
|
|
642
|
+
parentStack = error.message + NewLine$1 + parentStack;
|
|
843
643
|
}
|
|
844
|
-
return
|
|
644
|
+
return parentStack;
|
|
845
645
|
};
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
646
|
+
const MethodNotFound = -32601;
|
|
647
|
+
const Custom = -32001;
|
|
648
|
+
const restoreJsonRpcError = error => {
|
|
649
|
+
const currentStack = getCurrentStack();
|
|
650
|
+
if (error && error instanceof Error) {
|
|
651
|
+
if (typeof error.stack === 'string') {
|
|
652
|
+
error.stack = error.stack + NewLine$1 + currentStack;
|
|
653
|
+
}
|
|
654
|
+
return error;
|
|
849
655
|
}
|
|
850
|
-
|
|
851
|
-
|
|
656
|
+
if (error && error.code && error.code === MethodNotFound) {
|
|
657
|
+
const restoredError = new JsonRpcError(error.message);
|
|
658
|
+
const parentStack = getParentStack(error);
|
|
659
|
+
restoredError.stack = parentStack + NewLine$1 + currentStack;
|
|
660
|
+
return restoredError;
|
|
661
|
+
}
|
|
662
|
+
if (error && error.message) {
|
|
663
|
+
const restoredError = constructError(error.message, error.type, error.name);
|
|
664
|
+
if (error.data) {
|
|
665
|
+
if (error.data.stack && error.data.type && error.message) {
|
|
666
|
+
restoredError.stack = error.data.type + ': ' + error.message + NewLine$1 + error.data.stack + NewLine$1 + currentStack;
|
|
667
|
+
} else if (error.data.stack) {
|
|
668
|
+
restoredError.stack = error.data.stack;
|
|
669
|
+
}
|
|
670
|
+
if (error.data.codeFrame) {
|
|
671
|
+
// @ts-ignore
|
|
672
|
+
restoredError.codeFrame = error.data.codeFrame;
|
|
673
|
+
}
|
|
674
|
+
if (error.data.code) {
|
|
675
|
+
// @ts-ignore
|
|
676
|
+
restoredError.code = error.data.code;
|
|
677
|
+
}
|
|
678
|
+
if (error.data.type) {
|
|
679
|
+
// @ts-ignore
|
|
680
|
+
restoredError.name = error.data.type;
|
|
681
|
+
}
|
|
682
|
+
} else {
|
|
683
|
+
if (error.stack) {
|
|
684
|
+
const lowerStack = restoredError.stack || '';
|
|
685
|
+
// @ts-ignore
|
|
686
|
+
const indexNewLine = getNewLineIndex(lowerStack);
|
|
687
|
+
const parentStack = getParentStack(error);
|
|
688
|
+
// @ts-ignore
|
|
689
|
+
restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
|
|
690
|
+
}
|
|
691
|
+
if (error.codeFrame) {
|
|
692
|
+
// @ts-ignore
|
|
693
|
+
restoredError.codeFrame = error.codeFrame;
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
return restoredError;
|
|
697
|
+
}
|
|
698
|
+
if (typeof error === 'string') {
|
|
699
|
+
return new Error(`JsonRpc Error: ${error}`);
|
|
700
|
+
}
|
|
701
|
+
return new Error(`JsonRpc Error: ${error}`);
|
|
702
|
+
};
|
|
703
|
+
const unwrapJsonRpcResult = responseMessage => {
|
|
704
|
+
if ('error' in responseMessage) {
|
|
705
|
+
const restoredError = restoreJsonRpcError(responseMessage.error);
|
|
706
|
+
throw restoredError;
|
|
852
707
|
}
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
this._rawIpc.postMessage(message, transfer);
|
|
708
|
+
if ('result' in responseMessage) {
|
|
709
|
+
return responseMessage.result;
|
|
856
710
|
}
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
711
|
+
throw new JsonRpcError('unexpected response message');
|
|
712
|
+
};
|
|
713
|
+
const warn$1 = (...args) => {
|
|
714
|
+
console.warn(...args);
|
|
715
|
+
};
|
|
716
|
+
const resolve = (id, response) => {
|
|
717
|
+
const fn = get$7(id);
|
|
718
|
+
if (!fn) {
|
|
719
|
+
console.log(response);
|
|
720
|
+
warn$1(`callback ${id} may already be disposed`);
|
|
721
|
+
return;
|
|
861
722
|
}
|
|
862
|
-
|
|
863
|
-
|
|
723
|
+
fn(response);
|
|
724
|
+
remove$8(id);
|
|
725
|
+
};
|
|
726
|
+
const E_COMMAND_NOT_FOUND = 'E_COMMAND_NOT_FOUND';
|
|
727
|
+
const getErrorType = prettyError => {
|
|
728
|
+
if (prettyError && prettyError.type) {
|
|
729
|
+
return prettyError.type;
|
|
864
730
|
}
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
this._rawIpc.start();
|
|
731
|
+
if (prettyError && prettyError.constructor && prettyError.constructor.name) {
|
|
732
|
+
return prettyError.constructor.name;
|
|
868
733
|
}
|
|
869
|
-
|
|
870
|
-
const wrap$e = port => {
|
|
871
|
-
return new IpcChildWithModuleWorkerAndMessagePort(port);
|
|
734
|
+
return undefined;
|
|
872
735
|
};
|
|
873
|
-
const
|
|
874
|
-
|
|
875
|
-
listen: listen$6,
|
|
876
|
-
wrap: wrap$e
|
|
736
|
+
const isAlreadyStack = line => {
|
|
737
|
+
return line.trim().startsWith('at ');
|
|
877
738
|
};
|
|
878
|
-
const
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
739
|
+
const getStack = prettyError => {
|
|
740
|
+
const stackString = prettyError.stack || '';
|
|
741
|
+
const newLineIndex = stackString.indexOf('\n');
|
|
742
|
+
if (newLineIndex !== -1 && !isAlreadyStack(stackString.slice(0, newLineIndex))) {
|
|
743
|
+
return stackString.slice(newLineIndex + 1);
|
|
883
744
|
}
|
|
745
|
+
return stackString;
|
|
884
746
|
};
|
|
885
|
-
const
|
|
886
|
-
if (
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
747
|
+
const getErrorProperty = (error, prettyError) => {
|
|
748
|
+
if (error && error.code === E_COMMAND_NOT_FOUND) {
|
|
749
|
+
return {
|
|
750
|
+
code: MethodNotFound,
|
|
751
|
+
message: error.message,
|
|
752
|
+
data: error.stack
|
|
753
|
+
};
|
|
890
754
|
}
|
|
755
|
+
return {
|
|
756
|
+
code: Custom,
|
|
757
|
+
message: prettyError.message,
|
|
758
|
+
data: {
|
|
759
|
+
stack: getStack(prettyError),
|
|
760
|
+
codeFrame: prettyError.codeFrame,
|
|
761
|
+
type: getErrorType(prettyError),
|
|
762
|
+
code: prettyError.code,
|
|
763
|
+
name: prettyError.name
|
|
764
|
+
}
|
|
765
|
+
};
|
|
891
766
|
};
|
|
892
|
-
const
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
767
|
+
const create$1$1 = (id, error) => {
|
|
768
|
+
return {
|
|
769
|
+
jsonrpc: Two,
|
|
770
|
+
id,
|
|
771
|
+
error
|
|
772
|
+
};
|
|
773
|
+
};
|
|
774
|
+
const getErrorResponse = (id, error, preparePrettyError, logError) => {
|
|
775
|
+
const prettyError = preparePrettyError(error);
|
|
776
|
+
logError(error, prettyError);
|
|
777
|
+
const errorProperty = getErrorProperty(error, prettyError);
|
|
778
|
+
return create$1$1(id, errorProperty);
|
|
779
|
+
};
|
|
780
|
+
const create$b = (message, result) => {
|
|
781
|
+
return {
|
|
782
|
+
jsonrpc: Two,
|
|
783
|
+
id: message.id,
|
|
784
|
+
result: result ?? null
|
|
785
|
+
};
|
|
786
|
+
};
|
|
787
|
+
const getSuccessResponse = (message, result) => {
|
|
788
|
+
const resultProperty = result ?? null;
|
|
789
|
+
return create$b(message, resultProperty);
|
|
790
|
+
};
|
|
791
|
+
const getErrorResponseSimple = (id, error) => {
|
|
792
|
+
return {
|
|
793
|
+
jsonrpc: Two,
|
|
794
|
+
id,
|
|
795
|
+
error: {
|
|
796
|
+
code: Custom,
|
|
797
|
+
// @ts-ignore
|
|
798
|
+
message: error.message,
|
|
799
|
+
data: error
|
|
901
800
|
}
|
|
902
|
-
resolve(value);
|
|
903
801
|
};
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
802
|
+
};
|
|
803
|
+
const getResponse = async (message, ipc, execute, preparePrettyError, logError, requiresSocket) => {
|
|
804
|
+
try {
|
|
805
|
+
const result = requiresSocket(message.method) ? await execute(message.method, ipc, ...message.params) : await execute(message.method, ...message.params);
|
|
806
|
+
return getSuccessResponse(message, result);
|
|
807
|
+
} catch (error) {
|
|
808
|
+
if (ipc.canUseSimpleErrorResponse) {
|
|
809
|
+
return getErrorResponseSimple(message.id, error);
|
|
810
|
+
}
|
|
811
|
+
return getErrorResponse(message.id, error, preparePrettyError, logError);
|
|
812
|
+
}
|
|
813
|
+
};
|
|
814
|
+
const defaultPreparePrettyError = error => {
|
|
815
|
+
return error;
|
|
816
|
+
};
|
|
817
|
+
const defaultLogError = () => {
|
|
818
|
+
// ignore
|
|
819
|
+
};
|
|
820
|
+
const defaultRequiresSocket = () => {
|
|
821
|
+
return false;
|
|
822
|
+
};
|
|
823
|
+
const defaultResolve = resolve;
|
|
824
|
+
|
|
825
|
+
// TODO maybe remove this in v6 or v7, only accept options object to simplify the code
|
|
826
|
+
const normalizeParams = args => {
|
|
827
|
+
if (args.length === 1) {
|
|
828
|
+
const options = args[0];
|
|
829
|
+
return {
|
|
830
|
+
ipc: options.ipc,
|
|
831
|
+
message: options.message,
|
|
832
|
+
execute: options.execute,
|
|
833
|
+
resolve: options.resolve || defaultResolve,
|
|
834
|
+
preparePrettyError: options.preparePrettyError || defaultPreparePrettyError,
|
|
835
|
+
logError: options.logError || defaultLogError,
|
|
836
|
+
requiresSocket: options.requiresSocket || defaultRequiresSocket
|
|
910
837
|
};
|
|
911
|
-
addListener(eventEmitter, event, listener);
|
|
912
|
-
listenerMap[event] = listener;
|
|
913
838
|
}
|
|
914
|
-
return
|
|
839
|
+
return {
|
|
840
|
+
ipc: args[0],
|
|
841
|
+
message: args[1],
|
|
842
|
+
execute: args[2],
|
|
843
|
+
resolve: args[3],
|
|
844
|
+
preparePrettyError: args[4],
|
|
845
|
+
logError: args[5],
|
|
846
|
+
requiresSocket: args[6]
|
|
847
|
+
};
|
|
915
848
|
};
|
|
916
|
-
const
|
|
917
|
-
const
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
849
|
+
const handleJsonRpcMessage = async (...args) => {
|
|
850
|
+
const options = normalizeParams(args);
|
|
851
|
+
const {
|
|
852
|
+
message,
|
|
853
|
+
ipc,
|
|
854
|
+
execute,
|
|
855
|
+
resolve,
|
|
856
|
+
preparePrettyError,
|
|
857
|
+
logError,
|
|
858
|
+
requiresSocket
|
|
859
|
+
} = options;
|
|
860
|
+
if ('id' in message) {
|
|
861
|
+
if ('method' in message) {
|
|
862
|
+
const response = await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
|
|
863
|
+
try {
|
|
864
|
+
ipc.send(response);
|
|
865
|
+
} catch (error) {
|
|
866
|
+
const errorResponse = getErrorResponse(message.id, error, preparePrettyError, logError);
|
|
867
|
+
ipc.send(errorResponse);
|
|
868
|
+
}
|
|
869
|
+
return;
|
|
870
|
+
}
|
|
871
|
+
resolve(message.id, message);
|
|
872
|
+
return;
|
|
923
873
|
}
|
|
924
|
-
if (
|
|
925
|
-
|
|
874
|
+
if ('method' in message) {
|
|
875
|
+
await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
|
|
876
|
+
return;
|
|
926
877
|
}
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
messagePort.start();
|
|
878
|
+
throw new JsonRpcError('unexpected message');
|
|
879
|
+
};
|
|
880
|
+
const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
|
|
931
881
|
const {
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
} =
|
|
935
|
-
if (
|
|
936
|
-
|
|
937
|
-
}
|
|
938
|
-
|
|
939
|
-
throw new IpcError$1('unexpected first message');
|
|
882
|
+
message,
|
|
883
|
+
promise
|
|
884
|
+
} = create$2$2(method, params);
|
|
885
|
+
if (useSendAndTransfer && ipc.sendAndTransfer) {
|
|
886
|
+
ipc.sendAndTransfer(message);
|
|
887
|
+
} else {
|
|
888
|
+
ipc.send(message);
|
|
940
889
|
}
|
|
941
|
-
|
|
890
|
+
const responseMessage = await promise;
|
|
891
|
+
return unwrapJsonRpcResult(responseMessage);
|
|
942
892
|
};
|
|
943
|
-
const
|
|
944
|
-
|
|
893
|
+
const send = (transport, method, ...params) => {
|
|
894
|
+
const message = create$4$1(method, params);
|
|
895
|
+
transport.send(message);
|
|
945
896
|
};
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
send(message) {
|
|
949
|
-
this._rawIpc.postMessage(message);
|
|
950
|
-
}
|
|
951
|
-
sendAndTransfer(message) {
|
|
952
|
-
const transfer = getTransferrables(message);
|
|
953
|
-
this._rawIpc.postMessage(message, transfer);
|
|
954
|
-
}
|
|
955
|
-
dispose() {
|
|
956
|
-
this._rawIpc.close();
|
|
957
|
-
}
|
|
958
|
-
onMessage(callback) {
|
|
959
|
-
this._rawIpc.addEventListener('message', callback);
|
|
960
|
-
}
|
|
961
|
-
onClose(callback) {}
|
|
962
|
-
}
|
|
963
|
-
const wrap$5 = messagePort => {
|
|
964
|
-
return new IpcParentWithMessagePort(messagePort);
|
|
897
|
+
const invoke$a = (ipc, method, ...params) => {
|
|
898
|
+
return invokeHelper(ipc, method, params, false);
|
|
965
899
|
};
|
|
966
|
-
const
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
900
|
+
const invokeAndTransfer$1 = (ipc, method, ...params) => {
|
|
901
|
+
return invokeHelper(ipc, method, params, true);
|
|
902
|
+
};
|
|
903
|
+
|
|
904
|
+
const commands = Object.create(null);
|
|
905
|
+
const register = commandMap => {
|
|
906
|
+
Object.assign(commands, commandMap);
|
|
907
|
+
};
|
|
908
|
+
const getCommand = key => {
|
|
909
|
+
return commands[key];
|
|
910
|
+
};
|
|
911
|
+
const execute$1 = (command, ...args) => {
|
|
912
|
+
const fn = getCommand(command);
|
|
913
|
+
if (!fn) {
|
|
914
|
+
throw new Error(`command not found ${command}`);
|
|
915
|
+
}
|
|
916
|
+
return fn(...args);
|
|
971
917
|
};
|
|
972
918
|
|
|
973
|
-
const createRpc
|
|
919
|
+
const createRpc = ipc => {
|
|
974
920
|
const rpc = {
|
|
975
921
|
// @ts-ignore
|
|
976
922
|
ipc,
|
|
@@ -981,10 +927,10 @@ const createRpc$1 = ipc => {
|
|
|
981
927
|
send(ipc, method, ...params);
|
|
982
928
|
},
|
|
983
929
|
invoke(method, ...params) {
|
|
984
|
-
return invoke$
|
|
930
|
+
return invoke$a(ipc, method, ...params);
|
|
985
931
|
},
|
|
986
932
|
invokeAndTransfer(method, ...params) {
|
|
987
|
-
return invokeAndTransfer$
|
|
933
|
+
return invokeAndTransfer$1(ipc, method, ...params);
|
|
988
934
|
},
|
|
989
935
|
async dispose() {
|
|
990
936
|
await ipc?.dispose();
|
|
@@ -992,27 +938,35 @@ const createRpc$1 = ipc => {
|
|
|
992
938
|
};
|
|
993
939
|
return rpc;
|
|
994
940
|
};
|
|
995
|
-
const requiresSocket
|
|
941
|
+
const requiresSocket = () => {
|
|
996
942
|
return false;
|
|
997
943
|
};
|
|
998
|
-
const preparePrettyError
|
|
944
|
+
const preparePrettyError = error => {
|
|
999
945
|
return error;
|
|
1000
946
|
};
|
|
1001
|
-
const logError$
|
|
947
|
+
const logError$1 = () => {
|
|
1002
948
|
// handled by renderer worker
|
|
1003
949
|
};
|
|
1004
|
-
const handleMessage
|
|
1005
|
-
const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket
|
|
950
|
+
const handleMessage = event => {
|
|
951
|
+
const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
|
|
1006
952
|
const actualExecute = event?.target?.execute || execute$1;
|
|
1007
|
-
return handleJsonRpcMessage(event.target, event.data, actualExecute, resolve, preparePrettyError
|
|
953
|
+
return handleJsonRpcMessage(event.target, event.data, actualExecute, resolve, preparePrettyError, logError$1, actualRequiresSocket);
|
|
1008
954
|
};
|
|
1009
|
-
const handleIpc
|
|
955
|
+
const handleIpc = ipc => {
|
|
1010
956
|
if ('addEventListener' in ipc) {
|
|
1011
|
-
ipc.addEventListener('message', handleMessage
|
|
957
|
+
ipc.addEventListener('message', handleMessage);
|
|
1012
958
|
} else if ('on' in ipc) {
|
|
1013
959
|
// deprecated
|
|
1014
|
-
ipc.on('message', handleMessage
|
|
960
|
+
ipc.on('message', handleMessage);
|
|
961
|
+
}
|
|
962
|
+
};
|
|
963
|
+
const listen$1 = async (module, options) => {
|
|
964
|
+
const rawIpc = await module.listen(options);
|
|
965
|
+
if (module.signal) {
|
|
966
|
+
module.signal(rawIpc);
|
|
1015
967
|
}
|
|
968
|
+
const ipc = module.wrap(rawIpc);
|
|
969
|
+
return ipc;
|
|
1016
970
|
};
|
|
1017
971
|
const create$9$1 = async ({
|
|
1018
972
|
commandMap,
|
|
@@ -1026,14 +980,173 @@ const create$9$1 = async ({
|
|
|
1026
980
|
isMessagePortOpen
|
|
1027
981
|
});
|
|
1028
982
|
const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
|
|
1029
|
-
handleIpc
|
|
1030
|
-
const rpc = createRpc
|
|
983
|
+
handleIpc(ipc);
|
|
984
|
+
const rpc = createRpc(ipc);
|
|
1031
985
|
return rpc;
|
|
1032
986
|
};
|
|
1033
987
|
const MessagePortRpcParent = {
|
|
1034
988
|
__proto__: null,
|
|
1035
989
|
create: create$9$1
|
|
1036
990
|
};
|
|
991
|
+
const create$3$1 = async ({
|
|
992
|
+
commandMap,
|
|
993
|
+
messagePort
|
|
994
|
+
}) => {
|
|
995
|
+
// TODO create a commandMap per rpc instance
|
|
996
|
+
register(commandMap);
|
|
997
|
+
const rawIpc = await IpcParentWithMessagePort$1.create({
|
|
998
|
+
messagePort,
|
|
999
|
+
isMessagePortOpen: true
|
|
1000
|
+
});
|
|
1001
|
+
const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
|
|
1002
|
+
handleIpc(ipc);
|
|
1003
|
+
const rpc = createRpc(ipc);
|
|
1004
|
+
messagePort.start();
|
|
1005
|
+
return rpc;
|
|
1006
|
+
};
|
|
1007
|
+
const create$2$1 = async ({
|
|
1008
|
+
commandMap,
|
|
1009
|
+
messagePort
|
|
1010
|
+
}) => {
|
|
1011
|
+
return create$3$1({
|
|
1012
|
+
commandMap,
|
|
1013
|
+
messagePort
|
|
1014
|
+
});
|
|
1015
|
+
};
|
|
1016
|
+
const PlainMessagePortRpcParent = {
|
|
1017
|
+
__proto__: null,
|
|
1018
|
+
create: create$2$1
|
|
1019
|
+
};
|
|
1020
|
+
const create$a = async ({
|
|
1021
|
+
commandMap
|
|
1022
|
+
}) => {
|
|
1023
|
+
// TODO create a commandMap per rpc instance
|
|
1024
|
+
register(commandMap);
|
|
1025
|
+
const ipc = await listen$1(IpcChildWithModuleWorkerAndMessagePort$1);
|
|
1026
|
+
handleIpc(ipc);
|
|
1027
|
+
const rpc = createRpc(ipc);
|
|
1028
|
+
return rpc;
|
|
1029
|
+
};
|
|
1030
|
+
const WebWorkerRpcClient = {
|
|
1031
|
+
__proto__: null,
|
|
1032
|
+
create: create$a
|
|
1033
|
+
};
|
|
1034
|
+
|
|
1035
|
+
const rpcs = Object.create(null);
|
|
1036
|
+
const set$d = (id, rpc) => {
|
|
1037
|
+
rpcs[id] = rpc;
|
|
1038
|
+
};
|
|
1039
|
+
const get$6 = id => {
|
|
1040
|
+
return rpcs[id];
|
|
1041
|
+
};
|
|
1042
|
+
|
|
1043
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
1044
|
+
|
|
1045
|
+
const create$9 = rpcId => {
|
|
1046
|
+
return {
|
|
1047
|
+
// @ts-ignore
|
|
1048
|
+
invoke(method, ...params) {
|
|
1049
|
+
const rpc = get$6(rpcId);
|
|
1050
|
+
// @ts-ignore
|
|
1051
|
+
return rpc.invoke(method, ...params);
|
|
1052
|
+
},
|
|
1053
|
+
// @ts-ignore
|
|
1054
|
+
invokeAndTransfer(method, ...params) {
|
|
1055
|
+
const rpc = get$6(rpcId);
|
|
1056
|
+
// @ts-ignore
|
|
1057
|
+
return rpc.invokeAndTransfer(method, ...params);
|
|
1058
|
+
},
|
|
1059
|
+
set(rpc) {
|
|
1060
|
+
set$d(rpcId, rpc);
|
|
1061
|
+
}
|
|
1062
|
+
};
|
|
1063
|
+
};
|
|
1064
|
+
const DebugWorker$1 = 55;
|
|
1065
|
+
const EditorWorker$1 = 99;
|
|
1066
|
+
const ExtensionHostWorker = 44;
|
|
1067
|
+
const MainProcess$1 = -5;
|
|
1068
|
+
const RendererWorker$1 = 1;
|
|
1069
|
+
const SearchProcess$1 = 77;
|
|
1070
|
+
const SearchProcessElectron = 2;
|
|
1071
|
+
const SharedProcess$1 = 1;
|
|
1072
|
+
const SourceControlWorker = 66;
|
|
1073
|
+
const EmbedsProcess$1 = 207;
|
|
1074
|
+
const EmbedsWorker = 208;
|
|
1075
|
+
const FileSystemWorker$1 = 209;
|
|
1076
|
+
const FileSystemProcess$1 = 210;
|
|
1077
|
+
const MarkdownWorker$1 = 300;
|
|
1078
|
+
const CompletionWorker = 301;
|
|
1079
|
+
const ColorPickerWorker = 302;
|
|
1080
|
+
const SourceActionWorker = 303;
|
|
1081
|
+
const ErrorWorker$1 = 3308;
|
|
1082
|
+
const SyntaxHighlightingWorker$1 = 3309;
|
|
1083
|
+
const RpcId = {
|
|
1084
|
+
__proto__: null,
|
|
1085
|
+
ColorPickerWorker,
|
|
1086
|
+
CompletionWorker,
|
|
1087
|
+
DebugWorker: DebugWorker$1,
|
|
1088
|
+
EditorWorker: EditorWorker$1,
|
|
1089
|
+
EmbedsProcess: EmbedsProcess$1,
|
|
1090
|
+
EmbedsWorker,
|
|
1091
|
+
ErrorWorker: ErrorWorker$1,
|
|
1092
|
+
ExtensionHostWorker,
|
|
1093
|
+
FileSystemProcess: FileSystemProcess$1,
|
|
1094
|
+
FileSystemWorker: FileSystemWorker$1,
|
|
1095
|
+
MainProcess: MainProcess$1,
|
|
1096
|
+
MarkdownWorker: MarkdownWorker$1,
|
|
1097
|
+
RendererWorker: RendererWorker$1,
|
|
1098
|
+
SearchProcess: SearchProcess$1,
|
|
1099
|
+
SearchProcessElectron,
|
|
1100
|
+
SharedProcess: SharedProcess$1,
|
|
1101
|
+
SourceActionWorker,
|
|
1102
|
+
SourceControlWorker,
|
|
1103
|
+
SyntaxHighlightingWorker: SyntaxHighlightingWorker$1
|
|
1104
|
+
};
|
|
1105
|
+
const {
|
|
1106
|
+
invoke: invoke$8,
|
|
1107
|
+
set: set$8$1
|
|
1108
|
+
} = create$9(ExtensionHostWorker);
|
|
1109
|
+
const ExtensionHost = {
|
|
1110
|
+
__proto__: null,
|
|
1111
|
+
invoke: invoke$8,
|
|
1112
|
+
set: set$8$1
|
|
1113
|
+
};
|
|
1114
|
+
const {
|
|
1115
|
+
invoke: invoke$3$1,
|
|
1116
|
+
invokeAndTransfer: invokeAndTransfer$3,
|
|
1117
|
+
set: set$3$1
|
|
1118
|
+
} = create$9(RendererWorker$1);
|
|
1119
|
+
const RendererWorker = {
|
|
1120
|
+
__proto__: null,
|
|
1121
|
+
invoke: invoke$3$1,
|
|
1122
|
+
invokeAndTransfer: invokeAndTransfer$3,
|
|
1123
|
+
set: set$3$1
|
|
1124
|
+
};
|
|
1125
|
+
const {
|
|
1126
|
+
invoke: invoke$9,
|
|
1127
|
+
set: set$9
|
|
1128
|
+
} = create$9(MarkdownWorker$1);
|
|
1129
|
+
const SyntaxHighlightingWorker = {
|
|
1130
|
+
__proto__: null,
|
|
1131
|
+
invoke: invoke$9,
|
|
1132
|
+
set: set$9
|
|
1133
|
+
};
|
|
1134
|
+
|
|
1135
|
+
const {
|
|
1136
|
+
set: set$8,
|
|
1137
|
+
invoke: invoke$7,
|
|
1138
|
+
invokeAndTransfer
|
|
1139
|
+
} = RendererWorker;
|
|
1140
|
+
|
|
1141
|
+
// TODO add tests for this
|
|
1142
|
+
const activateByEvent = async event => {
|
|
1143
|
+
await invoke$7('ExtensionHostManagement.activateByEvent', event);
|
|
1144
|
+
};
|
|
1145
|
+
|
|
1146
|
+
const codeGeneratorAccept = state => {
|
|
1147
|
+
// TODO close code generator widget
|
|
1148
|
+
return state;
|
|
1149
|
+
};
|
|
1037
1150
|
|
|
1038
1151
|
const getPortTuple = () => {
|
|
1039
1152
|
const {
|
|
@@ -1048,15 +1161,15 @@ const getPortTuple = () => {
|
|
|
1048
1161
|
|
|
1049
1162
|
const ModuleWorkerAndWorkaroundForChromeDevtoolsBug = 6;
|
|
1050
1163
|
|
|
1051
|
-
const
|
|
1052
|
-
const name = 'Color Picker Worker';
|
|
1164
|
+
const launchWorker = async (name, url) => {
|
|
1053
1165
|
const {
|
|
1054
1166
|
port1,
|
|
1055
1167
|
port2
|
|
1056
1168
|
} = getPortTuple();
|
|
1169
|
+
// @ts-ignore
|
|
1057
1170
|
await invokeAndTransfer('IpcParent.create', {
|
|
1058
1171
|
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
|
|
1059
|
-
url
|
|
1172
|
+
url,
|
|
1060
1173
|
name: name,
|
|
1061
1174
|
raw: true,
|
|
1062
1175
|
port: port1
|
|
@@ -1070,6 +1183,12 @@ const launchColorPickerWorker = async () => {
|
|
|
1070
1183
|
return rpc;
|
|
1071
1184
|
};
|
|
1072
1185
|
|
|
1186
|
+
const launchColorPickerWorker = async () => {
|
|
1187
|
+
const name = 'Color Picker Worker';
|
|
1188
|
+
const url = 'colorPickerWorkerMain.js';
|
|
1189
|
+
return launchWorker(name, url);
|
|
1190
|
+
};
|
|
1191
|
+
|
|
1073
1192
|
let workerPromise$3;
|
|
1074
1193
|
const getOrCreate$4 = () => {
|
|
1075
1194
|
if (!workerPromise$3) {
|
|
@@ -1118,19 +1237,19 @@ const LineComment = 'lineComment';
|
|
|
1118
1237
|
const ToggleBlockComment$1 = 'toggleBlockComment';
|
|
1119
1238
|
|
|
1120
1239
|
const map$1 = Object.create(null);
|
|
1121
|
-
const set$
|
|
1240
|
+
const set$7 = (id, widget) => {
|
|
1122
1241
|
map$1[id] = widget;
|
|
1123
1242
|
};
|
|
1124
1243
|
const get$5 = id => {
|
|
1125
1244
|
return map$1[id];
|
|
1126
1245
|
};
|
|
1127
1246
|
|
|
1128
|
-
const getModule
|
|
1247
|
+
const getModule = id => {
|
|
1129
1248
|
return get$5(id);
|
|
1130
1249
|
};
|
|
1131
1250
|
|
|
1132
1251
|
const applyWidgetChange = async (editor, widget, changes) => {
|
|
1133
|
-
const module = getModule
|
|
1252
|
+
const module = getModule(widget.id);
|
|
1134
1253
|
if (changes.length === 1 && changes[0].origin === EditorType && module.handleEditorType) {
|
|
1135
1254
|
const newState = await module.handleEditorType(widget.newState);
|
|
1136
1255
|
return {
|
|
@@ -1168,7 +1287,10 @@ const get$4 = id => {
|
|
|
1168
1287
|
number(id);
|
|
1169
1288
|
return editors[id];
|
|
1170
1289
|
};
|
|
1171
|
-
const
|
|
1290
|
+
const getKeys = () => {
|
|
1291
|
+
return Object.keys(editors);
|
|
1292
|
+
};
|
|
1293
|
+
const set$6 = (id, oldEditor, newEditor) => {
|
|
1172
1294
|
object(oldEditor);
|
|
1173
1295
|
object(newEditor);
|
|
1174
1296
|
editors[id] = {
|
|
@@ -1908,7 +2030,7 @@ const scheduleDocumentAndCursorsSelections = async (editor, changes, selectionCh
|
|
|
1908
2030
|
invalidStartIndex,
|
|
1909
2031
|
autoClosingRanges
|
|
1910
2032
|
};
|
|
1911
|
-
set$
|
|
2033
|
+
set$6(editor.uid, editor, newEditor);
|
|
1912
2034
|
const newWidgets = await applyWidgetChanges(newEditor, changes);
|
|
1913
2035
|
const newEditor2 = {
|
|
1914
2036
|
...newEditor,
|
|
@@ -2000,315 +2122,37 @@ const setBounds = (editor, x, y, width, height, columnWidth) => {
|
|
|
2000
2122
|
finalY,
|
|
2001
2123
|
finalDeltaY
|
|
2002
2124
|
};
|
|
2003
|
-
};
|
|
2004
|
-
const setText = (editor, text) => {
|
|
2005
|
-
const lines = splitLines(text);
|
|
2006
|
-
const {
|
|
2007
|
-
itemHeight,
|
|
2008
|
-
numberOfVisibleLines,
|
|
2009
|
-
minimumSliderSize
|
|
2010
|
-
} = editor;
|
|
2011
|
-
const total = lines.length;
|
|
2012
|
-
const maxLineY = Math.min(numberOfVisibleLines, total);
|
|
2013
|
-
const finalY = Math.max(total - numberOfVisibleLines, 0);
|
|
2014
|
-
const finalDeltaY = finalY * itemHeight;
|
|
2015
|
-
const contentHeight = lines.length * editor.rowHeight;
|
|
2016
|
-
const scrollBarHeight = getScrollBarSize(editor.height, contentHeight, minimumSliderSize);
|
|
2017
|
-
return {
|
|
2018
|
-
...editor,
|
|
2019
|
-
lines,
|
|
2020
|
-
maxLineY,
|
|
2021
|
-
finalY,
|
|
2022
|
-
finalDeltaY,
|
|
2023
|
-
scrollBarHeight
|
|
2024
|
-
};
|
|
2025
|
-
};
|
|
2026
|
-
|
|
2027
|
-
const HoverExecute = 'ExtensionHostHover.execute';
|
|
2028
|
-
const TabCompletionExecuteTabCompletionProvider = 'ExtensionHost.executeTabCompletionProvider';
|
|
2029
|
-
const TextDocumentSyncFull = 'ExtensionHostTextDocument.syncFull';
|
|
2030
|
-
|
|
2031
|
-
const requiresSocket = () => {
|
|
2032
|
-
return false;
|
|
2033
|
-
};
|
|
2034
|
-
const preparePrettyError = error => {
|
|
2035
|
-
return error;
|
|
2036
|
-
};
|
|
2037
|
-
const logError$1 = error => {
|
|
2038
|
-
// handled in renderer worker
|
|
2039
|
-
};
|
|
2040
|
-
const handleMessage = async event => {
|
|
2041
|
-
return handleJsonRpcMessage(event.target, event.data, execute$1, resolve, preparePrettyError, logError$1, requiresSocket);
|
|
2042
|
-
};
|
|
2043
|
-
|
|
2044
|
-
const handleIpc = ipc => {
|
|
2045
|
-
if ('addEventListener' in ipc) {
|
|
2046
|
-
ipc.addEventListener('message', handleMessage);
|
|
2047
|
-
} else {
|
|
2048
|
-
// deprecated
|
|
2049
|
-
ipc.onmessage = handleMessage;
|
|
2050
|
-
}
|
|
2051
|
-
};
|
|
2052
|
-
|
|
2053
|
-
const RendererProcess = 9;
|
|
2054
|
-
const ExtensionHostWorker = 10;
|
|
2055
|
-
const SyntaxHighlightingWorker = 11;
|
|
2056
|
-
|
|
2057
|
-
// @ts-ignore
|
|
2058
|
-
const getData = event => {
|
|
2059
|
-
return event.data;
|
|
2060
|
-
};
|
|
2061
|
-
|
|
2062
|
-
class IpcError extends Error {
|
|
2063
|
-
constructor(message) {
|
|
2064
|
-
super(message);
|
|
2065
|
-
this.name = 'IpcError';
|
|
2066
|
-
}
|
|
2067
|
-
}
|
|
2068
|
-
|
|
2069
|
-
const sendMessagePortToExtensionHostWorker = async port => {
|
|
2070
|
-
await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, 'HandleMessagePort.handleMessagePort');
|
|
2071
|
-
};
|
|
2072
|
-
const sendMessagePortToExtensionHostWorker2 = async (port, initialCommand, rpcId) => {
|
|
2073
|
-
await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, initialCommand, rpcId);
|
|
2074
|
-
};
|
|
2075
|
-
|
|
2076
|
-
const withResolvers = () => {
|
|
2077
|
-
let _resolve;
|
|
2078
|
-
const promise = new Promise(resolve => {
|
|
2079
|
-
_resolve = resolve;
|
|
2080
|
-
});
|
|
2081
|
-
return {
|
|
2082
|
-
resolve: _resolve,
|
|
2083
|
-
promise
|
|
2084
|
-
};
|
|
2085
|
-
};
|
|
2086
|
-
|
|
2087
|
-
const waitForFirstMessage = async port => {
|
|
2088
|
-
const {
|
|
2089
|
-
resolve,
|
|
2090
|
-
promise
|
|
2091
|
-
} = withResolvers();
|
|
2092
|
-
const cleanup = value => {
|
|
2093
|
-
port.onmessage = null;
|
|
2094
|
-
resolve(value);
|
|
2095
|
-
};
|
|
2096
|
-
const handleMessage = event => {
|
|
2097
|
-
cleanup(event);
|
|
2098
|
-
};
|
|
2099
|
-
port.onmessage = handleMessage;
|
|
2100
|
-
const event = await promise;
|
|
2101
|
-
return event;
|
|
2102
|
-
};
|
|
2103
|
-
|
|
2104
|
-
const create$c = async () => {
|
|
2105
|
-
const {
|
|
2106
|
-
port1,
|
|
2107
|
-
port2
|
|
2108
|
-
} = getPortTuple();
|
|
2109
|
-
await sendMessagePortToExtensionHostWorker(port1);
|
|
2110
|
-
const event = await waitForFirstMessage(port2);
|
|
2111
|
-
if (event.data !== 'ready') {
|
|
2112
|
-
throw new IpcError('unexpected first message');
|
|
2113
|
-
}
|
|
2114
|
-
return port2;
|
|
2115
|
-
};
|
|
2116
|
-
const wrap$2 = port => {
|
|
2117
|
-
return {
|
|
2118
|
-
port,
|
|
2119
|
-
/**
|
|
2120
|
-
* @type {any}
|
|
2121
|
-
*/
|
|
2122
|
-
listener: undefined,
|
|
2123
|
-
get onmessage() {
|
|
2124
|
-
return this.listener;
|
|
2125
|
-
},
|
|
2126
|
-
set onmessage(listener) {
|
|
2127
|
-
this.listener = listener;
|
|
2128
|
-
const wrappedListener = event => {
|
|
2129
|
-
const data = getData(event);
|
|
2130
|
-
// @ts-ignore
|
|
2131
|
-
listener({
|
|
2132
|
-
target: this,
|
|
2133
|
-
data
|
|
2134
|
-
});
|
|
2135
|
-
};
|
|
2136
|
-
this.port.onmessage = wrappedListener;
|
|
2137
|
-
},
|
|
2138
|
-
send(message) {
|
|
2139
|
-
this.port.postMessage(message);
|
|
2140
|
-
},
|
|
2141
|
-
sendAndTransfer(message, transfer) {
|
|
2142
|
-
this.port.postMessage(message, transfer);
|
|
2143
|
-
}
|
|
2144
|
-
};
|
|
2145
|
-
};
|
|
2146
|
-
|
|
2147
|
-
const IpcParentWithExtensionHostWorker = {
|
|
2148
|
-
__proto__: null,
|
|
2149
|
-
create: create$c,
|
|
2150
|
-
wrap: wrap$2
|
|
2151
|
-
};
|
|
2152
|
-
|
|
2153
|
-
const sendMessagePortToRendererProcess = async port => {
|
|
2154
|
-
await invokeAndTransfer('SendMessagePortToRendererProcess.sendMessagePortToRendererProcess', port, 'HandleMessagePort.handleMessagePort');
|
|
2155
|
-
};
|
|
2156
|
-
|
|
2157
|
-
const create$b = async () => {
|
|
2158
|
-
const {
|
|
2159
|
-
port1,
|
|
2160
|
-
port2
|
|
2161
|
-
} = getPortTuple();
|
|
2162
|
-
await sendMessagePortToRendererProcess(port1);
|
|
2163
|
-
const event = await waitForFirstMessage(port2);
|
|
2164
|
-
if (event.data !== 'ready') {
|
|
2165
|
-
throw new IpcError('unexpected first message');
|
|
2166
|
-
}
|
|
2167
|
-
return port2;
|
|
2168
|
-
};
|
|
2169
|
-
const wrap$1 = port => {
|
|
2170
|
-
return {
|
|
2171
|
-
port,
|
|
2172
|
-
/**
|
|
2173
|
-
* @type {any}
|
|
2174
|
-
*/
|
|
2175
|
-
listener: undefined,
|
|
2176
|
-
get onmessage() {
|
|
2177
|
-
return this.listener;
|
|
2178
|
-
},
|
|
2179
|
-
set onmessage(listener) {
|
|
2180
|
-
this.listener = listener;
|
|
2181
|
-
const wrappedListener = event => {
|
|
2182
|
-
const data = getData(event);
|
|
2183
|
-
// @ts-ignore
|
|
2184
|
-
listener({
|
|
2185
|
-
target: this,
|
|
2186
|
-
data
|
|
2187
|
-
});
|
|
2188
|
-
};
|
|
2189
|
-
this.port.onmessage = wrappedListener;
|
|
2190
|
-
},
|
|
2191
|
-
send(message) {
|
|
2192
|
-
this.port.postMessage(message);
|
|
2193
|
-
},
|
|
2194
|
-
sendAndTransfer(message, transfer) {
|
|
2195
|
-
this.port.postMessage(message, transfer);
|
|
2196
|
-
}
|
|
2197
|
-
};
|
|
2198
|
-
};
|
|
2199
|
-
|
|
2200
|
-
const IpcParentWithRendererProcess = {
|
|
2201
|
-
__proto__: null,
|
|
2202
|
-
create: create$b,
|
|
2203
|
-
wrap: wrap$1
|
|
2204
|
-
};
|
|
2205
|
-
|
|
2206
|
-
const sendMessagePortToSyntaxHighlightingWorker = async port => {
|
|
2207
|
-
await invokeAndTransfer('SendMessagePortToSyntaxHighlightingWorker.sendMessagePortToSyntaxHighlightingWorker', port, 'HandleMessagePort.handleMessagePort');
|
|
2208
|
-
};
|
|
2209
|
-
|
|
2210
|
-
const create$a = async () => {
|
|
2211
|
-
const {
|
|
2212
|
-
port1,
|
|
2213
|
-
port2
|
|
2214
|
-
} = getPortTuple();
|
|
2215
|
-
await sendMessagePortToSyntaxHighlightingWorker(port1);
|
|
2216
|
-
const event = await waitForFirstMessage(port2);
|
|
2217
|
-
if (event.data !== 'ready') {
|
|
2218
|
-
throw new IpcError('unexpected first message');
|
|
2219
|
-
}
|
|
2220
|
-
return port2;
|
|
2221
|
-
};
|
|
2222
|
-
const wrap = port => {
|
|
2223
|
-
return {
|
|
2224
|
-
port,
|
|
2225
|
-
/**
|
|
2226
|
-
* @type {any}
|
|
2227
|
-
*/
|
|
2228
|
-
listener: undefined,
|
|
2229
|
-
get onmessage() {
|
|
2230
|
-
return this.listener;
|
|
2231
|
-
},
|
|
2232
|
-
set onmessage(listener) {
|
|
2233
|
-
this.listener = listener;
|
|
2234
|
-
const wrappedListener = event => {
|
|
2235
|
-
const data = getData(event);
|
|
2236
|
-
// @ts-ignore
|
|
2237
|
-
listener({
|
|
2238
|
-
target: this,
|
|
2239
|
-
data
|
|
2240
|
-
});
|
|
2241
|
-
};
|
|
2242
|
-
this.port.onmessage = wrappedListener;
|
|
2243
|
-
},
|
|
2244
|
-
send(message) {
|
|
2245
|
-
this.port.postMessage(message);
|
|
2246
|
-
},
|
|
2247
|
-
sendAndTransfer(message, transfer) {
|
|
2248
|
-
this.port.postMessage(message, transfer);
|
|
2249
|
-
}
|
|
2250
|
-
};
|
|
2251
|
-
};
|
|
2252
|
-
|
|
2253
|
-
const IpcParentWithSyntaxHighlightingWorker = {
|
|
2254
|
-
__proto__: null,
|
|
2255
|
-
create: create$a,
|
|
2256
|
-
wrap
|
|
2257
|
-
};
|
|
2258
|
-
|
|
2259
|
-
const getModule$1 = method => {
|
|
2260
|
-
switch (method) {
|
|
2261
|
-
case RendererProcess:
|
|
2262
|
-
return IpcParentWithRendererProcess;
|
|
2263
|
-
case ExtensionHostWorker:
|
|
2264
|
-
return IpcParentWithExtensionHostWorker;
|
|
2265
|
-
case SyntaxHighlightingWorker:
|
|
2266
|
-
return IpcParentWithSyntaxHighlightingWorker;
|
|
2267
|
-
default:
|
|
2268
|
-
throw new Error('unexpected ipc type');
|
|
2269
|
-
}
|
|
2270
|
-
};
|
|
2271
|
-
|
|
2272
|
-
const create$9 = async ({
|
|
2273
|
-
method,
|
|
2274
|
-
...options
|
|
2275
|
-
}) => {
|
|
2276
|
-
const module = getModule$1(method);
|
|
2277
|
-
// @ts-ignore
|
|
2278
|
-
const rawIpc = await module.create(options);
|
|
2279
|
-
// @ts-ignore
|
|
2280
|
-
if (options.raw) {
|
|
2281
|
-
return rawIpc;
|
|
2282
|
-
}
|
|
2283
|
-
const ipc = module.wrap(rawIpc);
|
|
2284
|
-
return ipc;
|
|
2285
|
-
};
|
|
2286
|
-
|
|
2287
|
-
const createRpc = method => {
|
|
2288
|
-
let _ipc;
|
|
2289
|
-
const listen = async () => {
|
|
2290
|
-
const ipc = await create$9({
|
|
2291
|
-
method
|
|
2292
|
-
});
|
|
2293
|
-
handleIpc(ipc);
|
|
2294
|
-
_ipc = ipc;
|
|
2295
|
-
};
|
|
2296
|
-
const invoke = async (method, ...params) => {
|
|
2297
|
-
return invoke$9(_ipc, method, ...params);
|
|
2298
|
-
};
|
|
2299
|
-
const invokeAndTransfer = async (method, ...params) => {
|
|
2300
|
-
return invokeAndTransfer$2(_ipc, method, ...params);
|
|
2301
|
-
};
|
|
2125
|
+
};
|
|
2126
|
+
const setText = (editor, text) => {
|
|
2127
|
+
const lines = splitLines(text);
|
|
2128
|
+
const {
|
|
2129
|
+
itemHeight,
|
|
2130
|
+
numberOfVisibleLines,
|
|
2131
|
+
minimumSliderSize
|
|
2132
|
+
} = editor;
|
|
2133
|
+
const total = lines.length;
|
|
2134
|
+
const maxLineY = Math.min(numberOfVisibleLines, total);
|
|
2135
|
+
const finalY = Math.max(total - numberOfVisibleLines, 0);
|
|
2136
|
+
const finalDeltaY = finalY * itemHeight;
|
|
2137
|
+
const contentHeight = lines.length * editor.rowHeight;
|
|
2138
|
+
const scrollBarHeight = getScrollBarSize(editor.height, contentHeight, minimumSliderSize);
|
|
2302
2139
|
return {
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2140
|
+
...editor,
|
|
2141
|
+
lines,
|
|
2142
|
+
maxLineY,
|
|
2143
|
+
finalY,
|
|
2144
|
+
finalDeltaY,
|
|
2145
|
+
scrollBarHeight
|
|
2306
2146
|
};
|
|
2307
2147
|
};
|
|
2308
2148
|
|
|
2149
|
+
const HoverExecute = 'ExtensionHostHover.execute';
|
|
2150
|
+
const TabCompletionExecuteTabCompletionProvider = 'ExtensionHost.executeTabCompletionProvider';
|
|
2151
|
+
const TextDocumentSyncFull = 'ExtensionHostTextDocument.syncFull';
|
|
2152
|
+
|
|
2309
2153
|
const {
|
|
2310
|
-
|
|
2311
|
-
invoke: invoke$5} =
|
|
2154
|
+
set: set$5,
|
|
2155
|
+
invoke: invoke$5} = ExtensionHost;
|
|
2312
2156
|
|
|
2313
2157
|
const ColorPicker$1 = 41;
|
|
2314
2158
|
const EditorCompletion = 9;
|
|
@@ -2404,6 +2248,7 @@ const updateDiagnostics = async newState => {
|
|
|
2404
2248
|
|
|
2405
2249
|
// TODO don't really need text document sync response
|
|
2406
2250
|
// could perhaps save a lot of messages by using send instead of invoke
|
|
2251
|
+
// @ts-ignore
|
|
2407
2252
|
await invoke$5(TextDocumentSyncFull, newState.uri, newState.id, newState.languageId, content);
|
|
2408
2253
|
const diagnostics = await executeDiagnosticProvider(newState);
|
|
2409
2254
|
const latest = get$4(newState.id);
|
|
@@ -2416,7 +2261,8 @@ const updateDiagnostics = async newState => {
|
|
|
2416
2261
|
diagnostics,
|
|
2417
2262
|
decorations
|
|
2418
2263
|
};
|
|
2419
|
-
set$
|
|
2264
|
+
set$6(newState.id, latest.oldState, newEditor);
|
|
2265
|
+
// @ts-ignore
|
|
2420
2266
|
await invoke$7('Editor.rerender', newState.id);
|
|
2421
2267
|
return newEditor;
|
|
2422
2268
|
} catch (error) {
|
|
@@ -2450,7 +2296,9 @@ const emptyEditor = {
|
|
|
2450
2296
|
undoStack: [],
|
|
2451
2297
|
lineCache: [],
|
|
2452
2298
|
selections: new Uint32Array(),
|
|
2453
|
-
diagnostics: []
|
|
2299
|
+
diagnostics: [],
|
|
2300
|
+
highlightedLine: -1,
|
|
2301
|
+
debugEnabled: false
|
|
2454
2302
|
};
|
|
2455
2303
|
const createEditor = async ({
|
|
2456
2304
|
id,
|
|
@@ -2479,7 +2327,9 @@ const createEditor = async ({
|
|
|
2479
2327
|
fontFamily,
|
|
2480
2328
|
isMonospaceFont,
|
|
2481
2329
|
uri,
|
|
2482
|
-
diagnosticsEnabled
|
|
2330
|
+
diagnosticsEnabled,
|
|
2331
|
+
lineToReveal,
|
|
2332
|
+
columnToReveal
|
|
2483
2333
|
}) => {
|
|
2484
2334
|
number(id);
|
|
2485
2335
|
string(content);
|
|
@@ -2545,12 +2395,20 @@ const createEditor = async ({
|
|
|
2545
2395
|
// TODO avoid creating intermediate editors here
|
|
2546
2396
|
const newEditor1 = setBounds(editor, x, y, width, height, 9);
|
|
2547
2397
|
const newEditor2 = setText(newEditor1, content);
|
|
2548
|
-
|
|
2398
|
+
let newEditor3;
|
|
2399
|
+
if (lineToReveal && columnToReveal) {
|
|
2400
|
+
const delta = lineToReveal * rowHeight;
|
|
2401
|
+
// TODO scroll to this line
|
|
2402
|
+
newEditor3 = setDeltaY$2(newEditor2, delta);
|
|
2403
|
+
} else {
|
|
2404
|
+
newEditor3 = setDeltaY$2(newEditor2, 0);
|
|
2405
|
+
}
|
|
2549
2406
|
const newEditor4 = {
|
|
2550
2407
|
...newEditor3,
|
|
2551
2408
|
focused: true
|
|
2552
2409
|
};
|
|
2553
|
-
set$
|
|
2410
|
+
set$6(id, emptyEditor, newEditor4);
|
|
2411
|
+
// @ts-ignore
|
|
2554
2412
|
await invoke$5(TextDocumentSyncFull, uri, id, languageId, content);
|
|
2555
2413
|
if (diagnosticsEnabled) {
|
|
2556
2414
|
updateDiagnostics(newEditor4);
|
|
@@ -2620,7 +2478,7 @@ const applyEdit = async (editor, changes) => {
|
|
|
2620
2478
|
return scheduleDocumentAndCursorsSelections(editor, changes);
|
|
2621
2479
|
};
|
|
2622
2480
|
|
|
2623
|
-
const handleBlur = editor => {
|
|
2481
|
+
const handleBlur$1 = editor => {
|
|
2624
2482
|
if (editor.focusKey !== Empty) {
|
|
2625
2483
|
return editor;
|
|
2626
2484
|
}
|
|
@@ -2862,6 +2720,7 @@ const editorShowMessage = async (editor, rowIndex, columnIndex, message, isError
|
|
|
2862
2720
|
const x$1 = x(editor, rowIndex, columnIndex);
|
|
2863
2721
|
const y$1 = y(editor, rowIndex);
|
|
2864
2722
|
const displayErrorMessage = message;
|
|
2723
|
+
// @ts-ignore
|
|
2865
2724
|
await invoke$7('Editor.showOverlayMessage', editor, 'Viewlet.send', editor.uid, 'showOverlayMessage', x$1, y$1, displayErrorMessage);
|
|
2866
2725
|
if (!isError) {
|
|
2867
2726
|
const handleTimeout = () => {
|
|
@@ -2918,6 +2777,7 @@ const braceCompletion = async (editor, text) => {
|
|
|
2918
2777
|
try {
|
|
2919
2778
|
// @ts-ignore
|
|
2920
2779
|
const offset = offsetAt(editor, editor.cursor);
|
|
2780
|
+
// @ts-ignore
|
|
2921
2781
|
const result = await invoke$7('ExtensionHostBraceCompletion.executeBraceCompletionProvider', editor, offset, text);
|
|
2922
2782
|
if (result) {
|
|
2923
2783
|
const closingBrace = getMatchingClosingBrace$1(text);
|
|
@@ -3011,24 +2871,8 @@ const closeFind = editor => {
|
|
|
3011
2871
|
|
|
3012
2872
|
const launchRenameWorker = async () => {
|
|
3013
2873
|
const name = 'Rename Worker';
|
|
3014
|
-
const
|
|
3015
|
-
|
|
3016
|
-
port2
|
|
3017
|
-
} = getPortTuple();
|
|
3018
|
-
await invokeAndTransfer('IpcParent.create', {
|
|
3019
|
-
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
|
|
3020
|
-
url: 'renameWorkerMain.js',
|
|
3021
|
-
name: name,
|
|
3022
|
-
raw: true,
|
|
3023
|
-
port: port1
|
|
3024
|
-
});
|
|
3025
|
-
const rpc = await MessagePortRpcParent.create({
|
|
3026
|
-
commandMap: {},
|
|
3027
|
-
messagePort: port2,
|
|
3028
|
-
isMessagePortOpen: true
|
|
3029
|
-
});
|
|
3030
|
-
port2.start();
|
|
3031
|
-
return rpc;
|
|
2874
|
+
const url = 'renameWorkerMain.js';
|
|
2875
|
+
return launchWorker(name, url);
|
|
3032
2876
|
};
|
|
3033
2877
|
|
|
3034
2878
|
let workerPromise$2;
|
|
@@ -3093,6 +2937,7 @@ const hasWidget = (widgets, id) => {
|
|
|
3093
2937
|
};
|
|
3094
2938
|
|
|
3095
2939
|
const setAdditionalFocus = async focusKey => {
|
|
2940
|
+
// @ts-ignore
|
|
3096
2941
|
await invoke$7('Focus.setAdditionalFocus', focusKey);
|
|
3097
2942
|
};
|
|
3098
2943
|
|
|
@@ -3106,6 +2951,7 @@ const unsetAdditionalFocus = async focusKey => {
|
|
|
3106
2951
|
if (!focusKey) {
|
|
3107
2952
|
return;
|
|
3108
2953
|
}
|
|
2954
|
+
// @ts-ignore
|
|
3109
2955
|
await invoke$7('Focus.removeAdditionalFocus', focusKey);
|
|
3110
2956
|
};
|
|
3111
2957
|
|
|
@@ -3861,6 +3707,7 @@ const deleteWordRight = editor => {
|
|
|
3861
3707
|
};
|
|
3862
3708
|
|
|
3863
3709
|
const findAllReferences = async editor => {
|
|
3710
|
+
// @ts-ignore
|
|
3864
3711
|
await invoke$7('SideBar.show', 'References', /* focus */true);
|
|
3865
3712
|
return editor;
|
|
3866
3713
|
};
|
|
@@ -3991,6 +3838,7 @@ const getWordBefore = (editor, rowIndex, columnIndex) => {
|
|
|
3991
3838
|
|
|
3992
3839
|
// @ts-ignore
|
|
3993
3840
|
const getDefinition = async (editor, offset) => {
|
|
3841
|
+
// @ts-ignore
|
|
3994
3842
|
const definition = await invoke$7('ExtensionHostDefinition.executeDefinitionProvider', editor, offset);
|
|
3995
3843
|
return definition;
|
|
3996
3844
|
};
|
|
@@ -4251,6 +4099,7 @@ const getNoLocationFoundMessage = info => {
|
|
|
4251
4099
|
};
|
|
4252
4100
|
|
|
4253
4101
|
const getTypeDefinition = async (editor, offset) => {
|
|
4102
|
+
// @ts-ignore
|
|
4254
4103
|
const definition = await invoke$7('ExtensionHostTypeDefinition.executeTypeDefinitionProvider', editor, offset);
|
|
4255
4104
|
return definition;
|
|
4256
4105
|
};
|
|
@@ -4326,7 +4175,7 @@ const handleDoubleClick = (editor, modifier, x, y) => {
|
|
|
4326
4175
|
};
|
|
4327
4176
|
|
|
4328
4177
|
const WhenExpressionEditorText = 12;
|
|
4329
|
-
const handleFocus = editor => {
|
|
4178
|
+
const handleFocus$1 = editor => {
|
|
4330
4179
|
// TODO make change events functional,
|
|
4331
4180
|
// when rendering, send focus changes to renderer worker
|
|
4332
4181
|
invoke$7('Focus.setFocus', WhenExpressionEditorText);
|
|
@@ -4492,7 +4341,7 @@ const state$4 = {
|
|
|
4492
4341
|
const get$3 = () => {
|
|
4493
4342
|
return state$4;
|
|
4494
4343
|
};
|
|
4495
|
-
const set$
|
|
4344
|
+
const set$4 = (editor, timeout, x, y) => {
|
|
4496
4345
|
state$4.editor = editor;
|
|
4497
4346
|
state$4.timeout = timeout;
|
|
4498
4347
|
state$4.x = x;
|
|
@@ -4534,7 +4383,7 @@ const handleMouseMove = (editor, x, y) => {
|
|
|
4534
4383
|
clearTimeout(oldState.timeout);
|
|
4535
4384
|
}
|
|
4536
4385
|
const timeout = setTimeout(onHoverIdle, hoverDelay);
|
|
4537
|
-
set$
|
|
4386
|
+
set$4(editor, timeout, x, y);
|
|
4538
4387
|
return editor;
|
|
4539
4388
|
};
|
|
4540
4389
|
|
|
@@ -4987,6 +4836,7 @@ const indentMore = editor => {
|
|
|
4987
4836
|
};
|
|
4988
4837
|
|
|
4989
4838
|
const getLanguageConfiguration = async editor => {
|
|
4839
|
+
// @ts-ignore
|
|
4990
4840
|
return invoke$7('Languages.getLanguageConfiguration', {
|
|
4991
4841
|
uri: editor.uri,
|
|
4992
4842
|
languageId: editor.languageId
|
|
@@ -5331,25 +5181,8 @@ const create$4 = () => {
|
|
|
5331
5181
|
|
|
5332
5182
|
const launchCompletionWorker = async () => {
|
|
5333
5183
|
const name = 'Completion Worker';
|
|
5334
|
-
const
|
|
5335
|
-
|
|
5336
|
-
port2
|
|
5337
|
-
} = getPortTuple();
|
|
5338
|
-
await invokeAndTransfer('IpcParent.create', {
|
|
5339
|
-
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
|
|
5340
|
-
url: 'completionWorkerMain.js',
|
|
5341
|
-
name: name,
|
|
5342
|
-
raw: true,
|
|
5343
|
-
port: port1
|
|
5344
|
-
});
|
|
5345
|
-
const rpc = await MessagePortRpcParent.create({
|
|
5346
|
-
commandMap: {},
|
|
5347
|
-
messagePort: port2,
|
|
5348
|
-
isMessagePortOpen: true
|
|
5349
|
-
});
|
|
5350
|
-
port2.start();
|
|
5351
|
-
await rpc.invoke('Completions.initialize');
|
|
5352
|
-
return rpc;
|
|
5184
|
+
const url = 'completionWorkerMain.js';
|
|
5185
|
+
return launchWorker(name, url);
|
|
5353
5186
|
};
|
|
5354
5187
|
|
|
5355
5188
|
let workerPromise$1;
|
|
@@ -5418,24 +5251,8 @@ const create$3 = () => {
|
|
|
5418
5251
|
|
|
5419
5252
|
const launchFindWidgetWorker = async () => {
|
|
5420
5253
|
const name = 'Find Widget Worker';
|
|
5421
|
-
const
|
|
5422
|
-
|
|
5423
|
-
port2
|
|
5424
|
-
} = getPortTuple();
|
|
5425
|
-
await invokeAndTransfer('IpcParent.create', {
|
|
5426
|
-
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
|
|
5427
|
-
url: 'findWidgetWorkerMain.js',
|
|
5428
|
-
name: name,
|
|
5429
|
-
raw: true,
|
|
5430
|
-
port: port1
|
|
5431
|
-
});
|
|
5432
|
-
const rpc = await MessagePortRpcParent.create({
|
|
5433
|
-
commandMap: {},
|
|
5434
|
-
messagePort: port2,
|
|
5435
|
-
isMessagePortOpen: true
|
|
5436
|
-
});
|
|
5437
|
-
port2.start();
|
|
5438
|
-
return rpc;
|
|
5254
|
+
const url = 'findWidgetWorkerMain.js';
|
|
5255
|
+
return launchWorker(name, url);
|
|
5439
5256
|
};
|
|
5440
5257
|
|
|
5441
5258
|
let workerPromise;
|
|
@@ -5481,14 +5298,6 @@ const loadContent$1 = async (state, parentUid) => {
|
|
|
5481
5298
|
commands
|
|
5482
5299
|
};
|
|
5483
5300
|
};
|
|
5484
|
-
const close$1 = async state => {
|
|
5485
|
-
// TODO
|
|
5486
|
-
// await Viewlet.closeWidget(uid)
|
|
5487
|
-
return {
|
|
5488
|
-
...state,
|
|
5489
|
-
disposed: true
|
|
5490
|
-
};
|
|
5491
|
-
};
|
|
5492
5301
|
|
|
5493
5302
|
const newStateGenerator$2 = (state, parentUid) => {
|
|
5494
5303
|
return loadContent$1(state, parentUid);
|
|
@@ -5600,6 +5409,7 @@ const pasteText = (editor, text) => {
|
|
|
5600
5409
|
};
|
|
5601
5410
|
|
|
5602
5411
|
const paste = async editor => {
|
|
5412
|
+
// @ts-ignore
|
|
5603
5413
|
const text = await invoke$7('ClipBoard.readText');
|
|
5604
5414
|
string(text);
|
|
5605
5415
|
return pasteText(editor, text);
|
|
@@ -6048,6 +5858,7 @@ const selectInsideString = editor => {
|
|
|
6048
5858
|
// import * as ExtensionHostSelection from '../ExtensionHost/ExtensionHostSelection.ts'
|
|
6049
5859
|
|
|
6050
5860
|
const getNewSelections = async (editor, selections) => {
|
|
5861
|
+
// @ts-ignore
|
|
6051
5862
|
const newSelections = await invoke$7('ExtensionHostSelection.executeGrowSelection', editor, selections);
|
|
6052
5863
|
if (newSelections.length === 0) {
|
|
6053
5864
|
return selections;
|
|
@@ -6301,9 +6112,8 @@ const getEnabled$1 = () => {
|
|
|
6301
6112
|
};
|
|
6302
6113
|
|
|
6303
6114
|
const {
|
|
6304
|
-
|
|
6305
|
-
invoke: invoke$1
|
|
6306
|
-
} = createRpc(SyntaxHighlightingWorker);
|
|
6115
|
+
set: set$3,
|
|
6116
|
+
invoke: invoke$1} = SyntaxHighlightingWorker;
|
|
6307
6117
|
|
|
6308
6118
|
/**
|
|
6309
6119
|
* @enum number
|
|
@@ -6372,6 +6182,7 @@ const loadTokenizer = async (languageId, tokenizePath) => {
|
|
|
6372
6182
|
return;
|
|
6373
6183
|
}
|
|
6374
6184
|
if (getEnabled$1()) {
|
|
6185
|
+
// @ts-ignore
|
|
6375
6186
|
const tokenMap = await invoke$1('Tokenizer.load', languageId, tokenizePath);
|
|
6376
6187
|
set$1(languageId, tokenMap);
|
|
6377
6188
|
return;
|
|
@@ -6529,20 +6340,10 @@ const getHover = async (editor, offset) => {
|
|
|
6529
6340
|
return hover;
|
|
6530
6341
|
};
|
|
6531
6342
|
|
|
6532
|
-
let _ipc;
|
|
6533
|
-
const listen$2 = async () => {
|
|
6534
|
-
const ipc = await create$9({
|
|
6535
|
-
method: RendererProcess
|
|
6536
|
-
});
|
|
6537
|
-
handleIpc(ipc);
|
|
6538
|
-
_ipc = ipc;
|
|
6539
|
-
};
|
|
6540
|
-
const invoke = async (method, ...args) => {
|
|
6541
|
-
return invoke$9(_ipc, method, ...args);
|
|
6542
|
-
};
|
|
6543
|
-
|
|
6544
6343
|
const measureTextBlockHeight = async (text, fontFamily, fontSize, lineHeight, width) => {
|
|
6545
|
-
|
|
6344
|
+
// @ts-ignore
|
|
6345
|
+
// return RendererProcess.invoke('MeasureTextBlockHeight.measureTextBlockHeight', text, fontSize, fontFamily, lineHeight, width)
|
|
6346
|
+
return 100;
|
|
6546
6347
|
};
|
|
6547
6348
|
|
|
6548
6349
|
const deepCopy = value => {
|
|
@@ -6660,16 +6461,6 @@ const getMatchingDiagnostics = (diagnostics, rowIndex, columnIndex) => {
|
|
|
6660
6461
|
return matching;
|
|
6661
6462
|
};
|
|
6662
6463
|
const fallbackDisplayStringLanguageId = 'typescript'; // TODO remove this
|
|
6663
|
-
|
|
6664
|
-
const hoverDocumentationFontSize = 15;
|
|
6665
|
-
const hoverDocumentationFontFamily = 'Fira Code';
|
|
6666
|
-
const hoverDocumentationLineHeight = '1.33333';
|
|
6667
|
-
const hoverBorderLeft = 1;
|
|
6668
|
-
const hoverBorderRight = 1;
|
|
6669
|
-
const hoverPaddingLeft = 8;
|
|
6670
|
-
const hoverPaddingRight = 8;
|
|
6671
|
-
const hovverFullWidth = 400;
|
|
6672
|
-
const hoverDocumentationWidth = hovverFullWidth - hoverPaddingLeft - hoverPaddingRight - hoverBorderLeft - hoverBorderRight;
|
|
6673
6464
|
const getHoverPositionXy = (editor, rowIndex, wordStart, documentationHeight) => {
|
|
6674
6465
|
const x$1 = x(editor, rowIndex, wordStart);
|
|
6675
6466
|
const y$1 = editor.height - y(editor, rowIndex) + editor.y + 40;
|
|
@@ -6703,7 +6494,7 @@ const getEditorHoverInfo = async (editorUid, position) => {
|
|
|
6703
6494
|
const lineInfos = await tokenizeCodeBlock(displayString, displayStringLanguageId || fallbackDisplayStringLanguageId, tokenizerPath);
|
|
6704
6495
|
const wordPart = getWordBefore(editor, rowIndex, columnIndex);
|
|
6705
6496
|
const wordStart = columnIndex - wordPart.length;
|
|
6706
|
-
await measureTextBlockHeight(
|
|
6497
|
+
await measureTextBlockHeight();
|
|
6707
6498
|
const {
|
|
6708
6499
|
x,
|
|
6709
6500
|
y
|
|
@@ -6759,6 +6550,7 @@ const showHover = async state => {
|
|
|
6759
6550
|
|
|
6760
6551
|
// TODO ask extension host worker instead
|
|
6761
6552
|
const getEditorSourceActions = async () => {
|
|
6553
|
+
// @ts-ignore
|
|
6762
6554
|
const sourceActions = await invoke$7('GetEditorSourceActions.getEditorSourceActions');
|
|
6763
6555
|
return sourceActions;
|
|
6764
6556
|
};
|
|
@@ -7419,6 +7211,7 @@ const typeWithAutoClosingQuote = (editor, text) => {
|
|
|
7419
7211
|
|
|
7420
7212
|
const typeWithAutoClosingTag = async (editor, text) => {
|
|
7421
7213
|
const offset = offsetAt(editor, editor.selections[0], editor.selections[1]);
|
|
7214
|
+
// @ts-ignore
|
|
7422
7215
|
const result = await invoke$7('ExtensionHostClosingTagCompletion.executeClosingTagProvider', editor, offset, text);
|
|
7423
7216
|
if (!result) {
|
|
7424
7217
|
const changes = editorReplaceSelections(editor, [text], EditorType);
|
|
@@ -7678,23 +7471,19 @@ const addWidget$1 = (widget, id, render) => {
|
|
|
7678
7471
|
return allCommands;
|
|
7679
7472
|
};
|
|
7680
7473
|
|
|
7681
|
-
const
|
|
7682
|
-
|
|
7683
|
-
|
|
7684
|
-
|
|
7685
|
-
|
|
7686
|
-
|
|
7687
|
-
|
|
7688
|
-
|
|
7689
|
-
|
|
7690
|
-
|
|
7691
|
-
|
|
7692
|
-
|
|
7693
|
-
|
|
7694
|
-
const commands = [...newState.commands];
|
|
7695
|
-
// @ts-ignore
|
|
7696
|
-
newState.commands = [];
|
|
7697
|
-
return commands;
|
|
7474
|
+
const getWidgetInvoke = widgetId => {
|
|
7475
|
+
switch (widgetId) {
|
|
7476
|
+
case ColorPicker:
|
|
7477
|
+
return invoke$6;
|
|
7478
|
+
case Completion:
|
|
7479
|
+
return invoke$3;
|
|
7480
|
+
case Find:
|
|
7481
|
+
return invoke$2;
|
|
7482
|
+
case Rename:
|
|
7483
|
+
return invoke$4;
|
|
7484
|
+
default:
|
|
7485
|
+
return undefined;
|
|
7486
|
+
}
|
|
7698
7487
|
};
|
|
7699
7488
|
|
|
7700
7489
|
const updateWidget = (editor, widgetId, newState) => {
|
|
@@ -7720,29 +7509,7 @@ const updateWidget = (editor, widgetId, newState) => {
|
|
|
7720
7509
|
};
|
|
7721
7510
|
};
|
|
7722
7511
|
|
|
7723
|
-
const
|
|
7724
|
-
const commands = renderFull$4(widget.oldState, widget.newState);
|
|
7725
|
-
const wrappedCommands = [];
|
|
7726
|
-
const {
|
|
7727
|
-
uid
|
|
7728
|
-
} = widget.newState;
|
|
7729
|
-
for (const command of commands) {
|
|
7730
|
-
if (command[0] === SetDom2 || command[0] === SetCss || command[0] === AppendToBody || command[0] === SetBounds2 || command[0] === RegisterEventListeners || command[0] === SetSelectionByName || command[0] === SetValueByName || command[0] === SetFocusContext || command[0] === SetUid || command[0] === 'Viewlet.focusSelector') {
|
|
7731
|
-
wrappedCommands.push(command);
|
|
7732
|
-
} else {
|
|
7733
|
-
wrappedCommands.push(['Viewlet.send', uid, ...command]);
|
|
7734
|
-
}
|
|
7735
|
-
}
|
|
7736
|
-
return wrappedCommands;
|
|
7737
|
-
};
|
|
7738
|
-
const add$7 = widget => {
|
|
7739
|
-
return addWidget$1(widget, 'EditorRename', render$c);
|
|
7740
|
-
};
|
|
7741
|
-
const remove$7 = widget => {
|
|
7742
|
-
return [['Viewlet.dispose', widget.newState.uid]];
|
|
7743
|
-
};
|
|
7744
|
-
const createFn = key => {
|
|
7745
|
-
const widgetId = Completion;
|
|
7512
|
+
const createFn = (key, name, widgetId) => {
|
|
7746
7513
|
const isWidget = widget => {
|
|
7747
7514
|
return widget.id === widgetId;
|
|
7748
7515
|
};
|
|
@@ -7754,9 +7521,10 @@ const createFn = key => {
|
|
|
7754
7521
|
const {
|
|
7755
7522
|
uid
|
|
7756
7523
|
} = state;
|
|
7757
|
-
|
|
7758
|
-
|
|
7759
|
-
const
|
|
7524
|
+
const invoke = getWidgetInvoke(widgetId);
|
|
7525
|
+
await invoke(`${name}.${key}`, uid, ...args);
|
|
7526
|
+
const diff = await invoke(`${name}.diff2`, uid);
|
|
7527
|
+
const commands = await invoke(`${name}.render2`, uid, diff);
|
|
7760
7528
|
const newState = {
|
|
7761
7529
|
...state,
|
|
7762
7530
|
commands
|
|
@@ -7767,53 +7535,168 @@ const createFn = key => {
|
|
|
7767
7535
|
};
|
|
7768
7536
|
return fn;
|
|
7769
7537
|
};
|
|
7770
|
-
const createFns = keys => {
|
|
7538
|
+
const createFns = (keys, name, widgetId) => {
|
|
7771
7539
|
const fns = Object.create(null);
|
|
7772
7540
|
for (const key of keys) {
|
|
7773
|
-
fns[key] = createFn(key);
|
|
7541
|
+
fns[key] = createFn(key, name, widgetId);
|
|
7774
7542
|
}
|
|
7775
7543
|
return fns;
|
|
7776
7544
|
};
|
|
7545
|
+
|
|
7546
|
+
const AppendToBody = 'Viewlet.appendToBody';
|
|
7547
|
+
const Focus = 'focus';
|
|
7548
|
+
const RegisterEventListeners = 'Viewlet.registerEventListeners';
|
|
7549
|
+
const SetSelectionByName = 'Viewlet.setSelectionByName';
|
|
7550
|
+
const SetValueByName = 'Viewlet.setValueByName';
|
|
7551
|
+
const SetFocusContext = 'Viewlet.setFocusContext';
|
|
7552
|
+
const SetBounds = 'setBounds';
|
|
7553
|
+
const SetBounds2 = 'Viewlet.setBounds';
|
|
7554
|
+
const SetCss = 'Viewlet.setCss';
|
|
7555
|
+
const SetDom2 = 'Viewlet.setDom2';
|
|
7556
|
+
const SetUid = 'Viewlet.setUid';
|
|
7557
|
+
|
|
7558
|
+
const renderFull$4 = (oldState, newState) => {
|
|
7559
|
+
const commands = [...newState.commands];
|
|
7560
|
+
// @ts-ignore
|
|
7561
|
+
newState.commands = [];
|
|
7562
|
+
return commands;
|
|
7563
|
+
};
|
|
7564
|
+
|
|
7565
|
+
const render$c = widget => {
|
|
7566
|
+
const commands = renderFull$4(widget.oldState, widget.newState);
|
|
7567
|
+
const wrappedCommands = [];
|
|
7568
|
+
const {
|
|
7569
|
+
uid
|
|
7570
|
+
} = widget.newState;
|
|
7571
|
+
for (const command of commands) {
|
|
7572
|
+
if (command[0] === SetDom2 || command[0] === SetCss || command[0] === AppendToBody || command[0] === SetBounds2 || command[0] === RegisterEventListeners || command[0] === SetSelectionByName || command[0] === SetValueByName || command[0] === SetFocusContext || command[0] === SetUid || command[0] === 'Viewlet.focusSelector') {
|
|
7573
|
+
wrappedCommands.push(command);
|
|
7574
|
+
} else {
|
|
7575
|
+
wrappedCommands.push(['Viewlet.send', uid, ...command]);
|
|
7576
|
+
}
|
|
7577
|
+
}
|
|
7578
|
+
return wrappedCommands;
|
|
7579
|
+
};
|
|
7580
|
+
const add$7 = widget => {
|
|
7581
|
+
return addWidget$1(widget, 'EditorRename', render$c);
|
|
7582
|
+
};
|
|
7583
|
+
const remove$7 = widget => {
|
|
7584
|
+
return [['Viewlet.dispose', widget.newState.uid]];
|
|
7585
|
+
};
|
|
7586
|
+
const {
|
|
7587
|
+
focusFirst,
|
|
7588
|
+
focusIndex: focusIndex$1,
|
|
7589
|
+
focusLast,
|
|
7590
|
+
focusNext: focusNext$2,
|
|
7591
|
+
focusPrevious: focusPrevious$1,
|
|
7592
|
+
handleEditorBlur,
|
|
7593
|
+
handleEditorClick,
|
|
7594
|
+
handleEditorDeleteLeft: handleEditorDeleteLeft$1,
|
|
7595
|
+
handleEditorType: handleEditorType$1,
|
|
7596
|
+
openDetails,
|
|
7597
|
+
selectCurrent,
|
|
7598
|
+
selectIndex,
|
|
7599
|
+
toggleDetails,
|
|
7600
|
+
closeDetails,
|
|
7601
|
+
handleWheel,
|
|
7602
|
+
close: close$1
|
|
7603
|
+
} = createFns(['handleEditorType', 'focusFirst', 'focusNext', 'focusPrevious', 'focusLast', 'handleEditorDeleteLeft', 'openDetails', 'focusIndex', 'handleEditorBlur', 'handleEditorClick', 'openDetails', 'selectCurrent', 'selectIndex', 'toggleDetails', 'closeDetails', 'handleWheel', 'close'], 'Completions', Completion);
|
|
7604
|
+
|
|
7605
|
+
const EditorCompletionWidget = {
|
|
7606
|
+
__proto__: null,
|
|
7607
|
+
add: add$7,
|
|
7608
|
+
close: close$1,
|
|
7609
|
+
closeDetails,
|
|
7610
|
+
focusFirst,
|
|
7611
|
+
focusIndex: focusIndex$1,
|
|
7612
|
+
focusLast,
|
|
7613
|
+
focusNext: focusNext$2,
|
|
7614
|
+
focusPrevious: focusPrevious$1,
|
|
7615
|
+
handleEditorBlur,
|
|
7616
|
+
handleEditorClick,
|
|
7617
|
+
handleEditorDeleteLeft: handleEditorDeleteLeft$1,
|
|
7618
|
+
handleEditorType: handleEditorType$1,
|
|
7619
|
+
handleWheel,
|
|
7620
|
+
openDetails,
|
|
7621
|
+
remove: remove$7,
|
|
7622
|
+
render: render$c,
|
|
7623
|
+
selectCurrent,
|
|
7624
|
+
selectIndex,
|
|
7625
|
+
toggleDetails
|
|
7626
|
+
};
|
|
7627
|
+
|
|
7628
|
+
const renderFull$3 = (oldState, newState) => {
|
|
7629
|
+
const commands = [...newState.commands];
|
|
7630
|
+
// @ts-ignore
|
|
7631
|
+
newState.commands = [];
|
|
7632
|
+
return commands;
|
|
7633
|
+
};
|
|
7634
|
+
|
|
7635
|
+
const render$b = widget => {
|
|
7636
|
+
const commands = renderFull$3(widget.oldState, widget.newState);
|
|
7637
|
+
const wrappedCommands = [];
|
|
7638
|
+
const {
|
|
7639
|
+
uid
|
|
7640
|
+
} = widget.newState;
|
|
7641
|
+
for (const command of commands) {
|
|
7642
|
+
if (command[0] === SetDom2 || command[0] === SetCss || command[0] === AppendToBody || command[0] === SetBounds2 || command[0] === RegisterEventListeners || command[0] === SetSelectionByName || command[0] === SetValueByName || command[0] === SetFocusContext || command[0] === SetUid || command[0] === 'Viewlet.focusSelector') {
|
|
7643
|
+
wrappedCommands.push(command);
|
|
7644
|
+
} else {
|
|
7645
|
+
wrappedCommands.push(['Viewlet.send', uid, ...command]);
|
|
7646
|
+
}
|
|
7647
|
+
}
|
|
7648
|
+
return wrappedCommands;
|
|
7649
|
+
};
|
|
7650
|
+
const add$6 = widget => {
|
|
7651
|
+
return addWidget$1(widget, 'FindWidget', render$b);
|
|
7652
|
+
};
|
|
7653
|
+
const remove$6 = widget => {
|
|
7654
|
+
return [['Viewlet.dispose', widget.newState.uid]];
|
|
7655
|
+
};
|
|
7777
7656
|
const {
|
|
7778
|
-
|
|
7779
|
-
|
|
7780
|
-
|
|
7657
|
+
close,
|
|
7658
|
+
focusCloseButton,
|
|
7659
|
+
focusFind,
|
|
7781
7660
|
focusNext: focusNext$1,
|
|
7661
|
+
focusNextMatchButton,
|
|
7782
7662
|
focusPrevious,
|
|
7783
|
-
|
|
7784
|
-
|
|
7785
|
-
|
|
7786
|
-
|
|
7787
|
-
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
|
|
7792
|
-
|
|
7793
|
-
|
|
7794
|
-
|
|
7663
|
+
focusPreviousMatchButton,
|
|
7664
|
+
focusReplace,
|
|
7665
|
+
focusReplaceAllButton,
|
|
7666
|
+
focusReplaceButton,
|
|
7667
|
+
focusToggleReplace,
|
|
7668
|
+
handleBlur,
|
|
7669
|
+
handleFocus,
|
|
7670
|
+
handleInput,
|
|
7671
|
+
handleReplaceFocus,
|
|
7672
|
+
handleReplaceInput,
|
|
7673
|
+
handleToggleReplaceFocus,
|
|
7674
|
+
toggleReplace
|
|
7675
|
+
} = createFns(['close', 'focusCloseButton', 'focusFind', 'focusNext', 'focusNextMatchButton', 'focusPrevious', 'focusPreviousMatchButton', 'focusReplace', 'focusReplaceAllButton', 'focusReplaceButton', 'focusToggleReplace', 'handleBlur', 'handleFocus', 'handleInput', 'handleReplaceFocus', 'handleReplaceInput', 'handleToggleReplaceFocus', 'toggleReplace'], 'FindWidget', Find);
|
|
7795
7676
|
|
|
7796
|
-
const
|
|
7677
|
+
const EditorFindWidget = {
|
|
7797
7678
|
__proto__: null,
|
|
7798
|
-
add: add$
|
|
7679
|
+
add: add$6,
|
|
7799
7680
|
close,
|
|
7800
|
-
|
|
7801
|
-
|
|
7802
|
-
focusIndex: focusIndex$1,
|
|
7803
|
-
focusLast,
|
|
7681
|
+
focusCloseButton,
|
|
7682
|
+
focusFind,
|
|
7804
7683
|
focusNext: focusNext$1,
|
|
7684
|
+
focusNextMatchButton,
|
|
7805
7685
|
focusPrevious,
|
|
7806
|
-
|
|
7807
|
-
|
|
7808
|
-
|
|
7809
|
-
|
|
7810
|
-
|
|
7811
|
-
|
|
7812
|
-
|
|
7813
|
-
|
|
7814
|
-
|
|
7815
|
-
|
|
7816
|
-
|
|
7686
|
+
focusPreviousMatchButton,
|
|
7687
|
+
focusReplace,
|
|
7688
|
+
focusReplaceAllButton,
|
|
7689
|
+
focusReplaceButton,
|
|
7690
|
+
focusToggleReplace,
|
|
7691
|
+
handleBlur,
|
|
7692
|
+
handleFocus,
|
|
7693
|
+
handleInput,
|
|
7694
|
+
handleReplaceFocus,
|
|
7695
|
+
handleReplaceInput,
|
|
7696
|
+
handleToggleReplaceFocus,
|
|
7697
|
+
remove: remove$6,
|
|
7698
|
+
render: render$b,
|
|
7699
|
+
toggleReplace
|
|
7817
7700
|
};
|
|
7818
7701
|
|
|
7819
7702
|
const loadContent = async (editorUid, state, position) => {
|
|
@@ -7865,6 +7748,7 @@ const CompletionDetailContent = 'CompletionDetailContent';
|
|
|
7865
7748
|
const Diagnostic = 'Diagnostic';
|
|
7866
7749
|
const EditorCursor = 'EditorCursor';
|
|
7867
7750
|
const EditorRow = 'EditorRow';
|
|
7751
|
+
const EditorRowHighlighted = 'EditorRowHighlighted';
|
|
7868
7752
|
const EditorSelection = 'EditorSelection';
|
|
7869
7753
|
const EditorSourceActions = 'EditorSourceActions';
|
|
7870
7754
|
const EditorSourceActionsList = 'EditorSourceActionsList';
|
|
@@ -8011,10 +7895,10 @@ const renderBounds$3 = {
|
|
|
8011
7895
|
return [SetBounds, x, y, width, height];
|
|
8012
7896
|
}
|
|
8013
7897
|
};
|
|
8014
|
-
const render$
|
|
7898
|
+
const render$a = [renderHoverDom, renderBounds$3];
|
|
8015
7899
|
const renderHover = (oldState, newState) => {
|
|
8016
7900
|
const commands = [];
|
|
8017
|
-
for (const item of render$
|
|
7901
|
+
for (const item of render$a) {
|
|
8018
7902
|
if (!item.isEqual(oldState, newState)) {
|
|
8019
7903
|
commands.push(item.apply(oldState, newState));
|
|
8020
7904
|
}
|
|
@@ -8040,21 +7924,6 @@ const focusNext = state => {
|
|
|
8040
7924
|
return focusIndex(state, nextIndex);
|
|
8041
7925
|
};
|
|
8042
7926
|
|
|
8043
|
-
const getWidgetInvoke = widgetId => {
|
|
8044
|
-
switch (widgetId) {
|
|
8045
|
-
case ColorPicker:
|
|
8046
|
-
return invoke$6;
|
|
8047
|
-
case Completion:
|
|
8048
|
-
return invoke$3;
|
|
8049
|
-
case Find:
|
|
8050
|
-
return invoke$2;
|
|
8051
|
-
case Rename:
|
|
8052
|
-
return invoke$4;
|
|
8053
|
-
default:
|
|
8054
|
-
return undefined;
|
|
8055
|
-
}
|
|
8056
|
-
};
|
|
8057
|
-
|
|
8058
7927
|
const executeWidgetCommand = async (editor, name, method, _uid, widgetId, ...params) => {
|
|
8059
7928
|
const invoke = getWidgetInvoke(widgetId);
|
|
8060
7929
|
const actualMethod = method.slice(name.length + 1);
|
|
@@ -8156,6 +8025,14 @@ const getSelections2 = editorUid => {
|
|
|
8156
8025
|
} = editor;
|
|
8157
8026
|
return selections;
|
|
8158
8027
|
};
|
|
8028
|
+
const setSelections2 = (editorUid, selections) => {
|
|
8029
|
+
const editor = getEditor(editorUid);
|
|
8030
|
+
const newEditor = {
|
|
8031
|
+
...editor,
|
|
8032
|
+
selections
|
|
8033
|
+
};
|
|
8034
|
+
set$6(editorUid, editor, newEditor);
|
|
8035
|
+
};
|
|
8159
8036
|
const closeWidget2 = async (editorUid, widgetId, widgetName, unsetAdditionalFocus$1) => {
|
|
8160
8037
|
const editor = getEditor(editorUid);
|
|
8161
8038
|
const invoke = getWidgetInvoke(widgetId);
|
|
@@ -8173,7 +8050,7 @@ const closeWidget2 = async (editorUid, widgetId, widgetName, unsetAdditionalFocu
|
|
|
8173
8050
|
widgets: newWidgets,
|
|
8174
8051
|
focused: true
|
|
8175
8052
|
};
|
|
8176
|
-
set$
|
|
8053
|
+
set$6(editorUid, editor, newEditor);
|
|
8177
8054
|
await setFocus(FocusEditorText);
|
|
8178
8055
|
if (unsetAdditionalFocus$1) {
|
|
8179
8056
|
await unsetAdditionalFocus(unsetAdditionalFocus$1);
|
|
@@ -8185,7 +8062,7 @@ const closeFind2 = async editorUid => {
|
|
|
8185
8062
|
const applyEdits2 = async (editorUid, edits) => {
|
|
8186
8063
|
const editor = getEditor(editorUid);
|
|
8187
8064
|
const newEditor = await applyEdit(editor, edits);
|
|
8188
|
-
set$
|
|
8065
|
+
set$6(editorUid, editor, newEditor);
|
|
8189
8066
|
};
|
|
8190
8067
|
|
|
8191
8068
|
const pending = Object.create(null);
|
|
@@ -8311,6 +8188,10 @@ const getKeyBindings = () => {
|
|
|
8311
8188
|
key: Enter,
|
|
8312
8189
|
command: 'FindWidget.focusNext',
|
|
8313
8190
|
when: FocusFindWidget
|
|
8191
|
+
}, {
|
|
8192
|
+
key: CtrlCmd | KeyF,
|
|
8193
|
+
command: 'FindWidget.preventDefaultBrowserFind',
|
|
8194
|
+
when: FocusFindWidget
|
|
8314
8195
|
}, {
|
|
8315
8196
|
key: Shift | F4,
|
|
8316
8197
|
command: 'FindWidget.focusPrevious',
|
|
@@ -8733,6 +8614,16 @@ const handleBeforeInput = (editor, inputType, data) => {
|
|
|
8733
8614
|
}
|
|
8734
8615
|
};
|
|
8735
8616
|
|
|
8617
|
+
const handleMessagePort = async (port, rpcId) => {
|
|
8618
|
+
const rpc = await PlainMessagePortRpcParent.create({
|
|
8619
|
+
messagePort: port,
|
|
8620
|
+
commandMap: {}
|
|
8621
|
+
});
|
|
8622
|
+
if (rpcId) {
|
|
8623
|
+
set$d(rpcId, rpc);
|
|
8624
|
+
}
|
|
8625
|
+
};
|
|
8626
|
+
|
|
8736
8627
|
const applyTabCompletion = (editor, result) => {
|
|
8737
8628
|
return editorSnippet(editor, result);
|
|
8738
8629
|
};
|
|
@@ -8746,6 +8637,68 @@ const handleTab = async editor => {
|
|
|
8746
8637
|
return applyTabCompletion(editor, result);
|
|
8747
8638
|
};
|
|
8748
8639
|
|
|
8640
|
+
const sendMessagePortToExtensionHostWorker2 = async (port, initialCommand, rpcId) => {
|
|
8641
|
+
await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, initialCommand, rpcId);
|
|
8642
|
+
};
|
|
8643
|
+
|
|
8644
|
+
const createExtensionHostRpc = async () => {
|
|
8645
|
+
try {
|
|
8646
|
+
const {
|
|
8647
|
+
port1,
|
|
8648
|
+
port2
|
|
8649
|
+
} = getPortTuple();
|
|
8650
|
+
const initialCommand = 'HandleMessagePort.handleMessagePort2';
|
|
8651
|
+
await sendMessagePortToExtensionHostWorker2(port2, initialCommand, RpcId.EditorWorker);
|
|
8652
|
+
const rpc = await PlainMessagePortRpcParent.create({
|
|
8653
|
+
commandMap: {},
|
|
8654
|
+
messagePort: port1
|
|
8655
|
+
});
|
|
8656
|
+
return rpc;
|
|
8657
|
+
} catch (error) {
|
|
8658
|
+
throw new VError(error, `Failed to create extension host rpc`);
|
|
8659
|
+
}
|
|
8660
|
+
};
|
|
8661
|
+
|
|
8662
|
+
const initializeExtensionHost = async () => {
|
|
8663
|
+
const extensionHostRpc = await createExtensionHostRpc();
|
|
8664
|
+
set$5(extensionHostRpc);
|
|
8665
|
+
};
|
|
8666
|
+
|
|
8667
|
+
const sendMessagePortToSyntaxHighlightingWorker = async () => {
|
|
8668
|
+
try {
|
|
8669
|
+
const {
|
|
8670
|
+
port1,
|
|
8671
|
+
port2
|
|
8672
|
+
} = getPortTuple();
|
|
8673
|
+
await invokeAndTransfer(
|
|
8674
|
+
// @ts-ignore
|
|
8675
|
+
'SendMessagePortToSyntaxHighlightingWorker.sendMessagePortToSyntaxHighlightingWorker', port1, 'HandleMessagePort.handleMessagePort2');
|
|
8676
|
+
return port2;
|
|
8677
|
+
} catch {
|
|
8678
|
+
const {
|
|
8679
|
+
port1,
|
|
8680
|
+
port2
|
|
8681
|
+
} = getPortTuple();
|
|
8682
|
+
await invokeAndTransfer(
|
|
8683
|
+
// @ts-ignore
|
|
8684
|
+
'SendMessagePortToSyntaxHighlightingWorker.sendMessagePortToSyntaxHighlightingWorker', port1, 'HandleMessagePort.handleMessagePort');
|
|
8685
|
+
return port2;
|
|
8686
|
+
}
|
|
8687
|
+
};
|
|
8688
|
+
|
|
8689
|
+
const createSyntaxHighlightingWorkerRpc = async () => {
|
|
8690
|
+
try {
|
|
8691
|
+
const port = await sendMessagePortToSyntaxHighlightingWorker();
|
|
8692
|
+
const rpc = await PlainMessagePortRpcParent.create({
|
|
8693
|
+
commandMap: {},
|
|
8694
|
+
messagePort: port
|
|
8695
|
+
});
|
|
8696
|
+
return rpc;
|
|
8697
|
+
} catch (error) {
|
|
8698
|
+
throw new VError(error, `Failed to create syntax highlighting worker rpc`);
|
|
8699
|
+
}
|
|
8700
|
+
};
|
|
8701
|
+
|
|
8749
8702
|
let enabled = false;
|
|
8750
8703
|
const setEnabled = value => {
|
|
8751
8704
|
enabled = value;
|
|
@@ -8754,16 +8707,19 @@ const getEnabled = () => {
|
|
|
8754
8707
|
return enabled;
|
|
8755
8708
|
};
|
|
8756
8709
|
|
|
8757
|
-
const
|
|
8758
|
-
await listen$2();
|
|
8710
|
+
const initializeSyntaxHighlighting = async (syntaxHighlightingEnabled, syncIncremental) => {
|
|
8759
8711
|
if (syntaxHighlightingEnabled) {
|
|
8760
8712
|
setEnabled$1(true);
|
|
8761
|
-
await
|
|
8713
|
+
const syntaxRpc = await createSyntaxHighlightingWorkerRpc();
|
|
8714
|
+
set$3(syntaxRpc);
|
|
8762
8715
|
}
|
|
8763
8716
|
if (syncIncremental) {
|
|
8764
8717
|
setEnabled(true);
|
|
8765
8718
|
}
|
|
8766
|
-
|
|
8719
|
+
};
|
|
8720
|
+
|
|
8721
|
+
const intialize = async (syntaxHighlightingEnabled, syncIncremental) => {
|
|
8722
|
+
await Promise.all([initializeSyntaxHighlighting(syntaxHighlightingEnabled, syncIncremental), initializeExtensionHost()]);
|
|
8767
8723
|
};
|
|
8768
8724
|
|
|
8769
8725
|
// TODO move cursor
|
|
@@ -8821,6 +8777,23 @@ const moveLineUp = editor => {
|
|
|
8821
8777
|
return editor;
|
|
8822
8778
|
};
|
|
8823
8779
|
|
|
8780
|
+
const invoke = async (method, ...params) => {
|
|
8781
|
+
const worker = get$6(RpcId.DebugWorker);
|
|
8782
|
+
return worker.invoke(method, ...params);
|
|
8783
|
+
};
|
|
8784
|
+
|
|
8785
|
+
const getHighlightedLine = async editor => {
|
|
8786
|
+
if (!editor.debugEnabled) {
|
|
8787
|
+
return -1;
|
|
8788
|
+
}
|
|
8789
|
+
try {
|
|
8790
|
+
return await invoke('Debug.getHighlightedLine', editor.uid);
|
|
8791
|
+
} catch (error) {
|
|
8792
|
+
console.error('Failed to get highlighted line:', error);
|
|
8793
|
+
return -1;
|
|
8794
|
+
}
|
|
8795
|
+
};
|
|
8796
|
+
|
|
8824
8797
|
const Link$1 = 'Link';
|
|
8825
8798
|
const Function = 'Function';
|
|
8826
8799
|
const Parameter = 'Parameter';
|
|
@@ -9052,9 +9025,12 @@ const getTokensViewport2 = async (editor, startLineIndex, endLineIndex, syncIncr
|
|
|
9052
9025
|
languageId,
|
|
9053
9026
|
invalidStartIndex
|
|
9054
9027
|
};
|
|
9055
|
-
return invoke$1('GetTokensViewport.getTokensViewport', slimEditor,
|
|
9028
|
+
return invoke$1('GetTokensViewport.getTokensViewport', slimEditor,
|
|
9029
|
+
// @ts-ignore
|
|
9030
|
+
startLineIndex, endLineIndex, hasLinesToSend, id, linesToSend);
|
|
9056
9031
|
}
|
|
9057
9032
|
// TODO only send needed lines of text
|
|
9033
|
+
// @ts-ignore
|
|
9058
9034
|
return invoke$1('GetTokensViewport.getTokensViewport', editor, startLineIndex, endLineIndex, true, editor.id, editor.lines);
|
|
9059
9035
|
}
|
|
9060
9036
|
return getTokensViewport(editor, startLineIndex, endLineIndex);
|
|
@@ -9283,6 +9259,7 @@ const getVisible = async (editor, syncIncremental) => {
|
|
|
9283
9259
|
charWidth
|
|
9284
9260
|
} = editor;
|
|
9285
9261
|
const maxLineY = Math.min(minLineY + numberOfVisibleLines, lines.length);
|
|
9262
|
+
// @ts-ignore
|
|
9286
9263
|
const {
|
|
9287
9264
|
tokens,
|
|
9288
9265
|
tokenizersToLoad,
|
|
@@ -9371,14 +9348,18 @@ const getEditorGutterVirtualDom = gutterInfos => {
|
|
|
9371
9348
|
return dom;
|
|
9372
9349
|
};
|
|
9373
9350
|
|
|
9374
|
-
const getEditorRowsVirtualDom = (textInfos, differences, lineNumbers = true) => {
|
|
9351
|
+
const getEditorRowsVirtualDom = (textInfos, differences, lineNumbers = true, highlightedLine = -1) => {
|
|
9375
9352
|
const dom = [];
|
|
9376
9353
|
for (let i = 0; i < textInfos.length; i++) {
|
|
9377
9354
|
const textInfo = textInfos[i];
|
|
9378
9355
|
const difference = differences[i];
|
|
9356
|
+
let className = EditorRow;
|
|
9357
|
+
if (i === highlightedLine) {
|
|
9358
|
+
className += ' ' + EditorRowHighlighted;
|
|
9359
|
+
}
|
|
9379
9360
|
dom.push({
|
|
9380
9361
|
type: Div,
|
|
9381
|
-
className
|
|
9362
|
+
className,
|
|
9382
9363
|
translate: px(difference),
|
|
9383
9364
|
childCount: textInfo.length / 2
|
|
9384
9365
|
});
|
|
@@ -9411,7 +9392,12 @@ const getIncrementalEdits = async (oldState, newState) => {
|
|
|
9411
9392
|
} = newState;
|
|
9412
9393
|
const oldLine = oldState.lines[rowIndex];
|
|
9413
9394
|
const newLine = lines[rowIndex];
|
|
9414
|
-
|
|
9395
|
+
// @ts-ignore
|
|
9396
|
+
const incrementalEdits = await invoke$1(
|
|
9397
|
+
// @ts-ignore
|
|
9398
|
+
'TokenizeIncremental.tokenizeIncremental', newState.uid,
|
|
9399
|
+
// @ts-ignore
|
|
9400
|
+
newState.languageId, oldLine, newLine, rowIndex, newState.minLineY);
|
|
9415
9401
|
if (incrementalEdits && incrementalEdits.length === 1) {
|
|
9416
9402
|
return incrementalEdits;
|
|
9417
9403
|
}
|
|
@@ -9463,7 +9449,7 @@ const removeWidget$1 = widget => {
|
|
|
9463
9449
|
|
|
9464
9450
|
const renderLines = {
|
|
9465
9451
|
isEqual(oldState, newState) {
|
|
9466
|
-
return oldState.lines === newState.lines && oldState.tokenizerId === newState.tokenizerId && oldState.minLineY === newState.minLineY && oldState.decorations === newState.decorations && oldState.embeds === newState.embeds && oldState.deltaX === newState.deltaX && oldState.width === newState.width;
|
|
9452
|
+
return oldState.lines === newState.lines && oldState.tokenizerId === newState.tokenizerId && oldState.minLineY === newState.minLineY && oldState.decorations === newState.decorations && oldState.embeds === newState.embeds && oldState.deltaX === newState.deltaX && oldState.width === newState.width && oldState.highlightedLine === newState.highlightedLine && oldState.debugEnabled === newState.debugEnabled;
|
|
9467
9453
|
},
|
|
9468
9454
|
async apply(oldState, newState) {
|
|
9469
9455
|
const incrementalEdits = await getIncrementalEdits(oldState, newState);
|
|
@@ -9476,7 +9462,8 @@ const renderLines = {
|
|
|
9476
9462
|
differences
|
|
9477
9463
|
} = await getVisible(newState, syncIncremental);
|
|
9478
9464
|
newState.differences = differences;
|
|
9479
|
-
const
|
|
9465
|
+
const highlightedLine = await getHighlightedLine(newState);
|
|
9466
|
+
const dom = getEditorRowsVirtualDom(textInfos, differences, true, highlightedLine);
|
|
9480
9467
|
return [/* method */'setText', dom];
|
|
9481
9468
|
}
|
|
9482
9469
|
};
|
|
@@ -9613,7 +9600,7 @@ const renderWidgets = {
|
|
|
9613
9600
|
},
|
|
9614
9601
|
multiple: true
|
|
9615
9602
|
};
|
|
9616
|
-
const render$
|
|
9603
|
+
const render$9 = [renderLines, renderSelections, renderScrollBarX, renderScrollBarY, renderFocus$1, renderDecorations, renderGutterInfo, renderWidgets];
|
|
9617
9604
|
const renderEditor = async id => {
|
|
9618
9605
|
const instance = get$4(id);
|
|
9619
9606
|
if (!instance) {
|
|
@@ -9624,8 +9611,8 @@ const renderEditor = async id => {
|
|
|
9624
9611
|
newState
|
|
9625
9612
|
} = instance;
|
|
9626
9613
|
const commands = [];
|
|
9627
|
-
set$
|
|
9628
|
-
for (const item of render$
|
|
9614
|
+
set$6(id, newState, newState);
|
|
9615
|
+
for (const item of render$9) {
|
|
9629
9616
|
if (!item.isEqual(oldState, newState)) {
|
|
9630
9617
|
const result = await item.apply(oldState, newState);
|
|
9631
9618
|
// @ts-ignore
|
|
@@ -9676,6 +9663,35 @@ const renderEventListeners = () => {
|
|
|
9676
9663
|
}];
|
|
9677
9664
|
};
|
|
9678
9665
|
|
|
9666
|
+
const setDebugEnabled = (state, enabled) => {
|
|
9667
|
+
return state;
|
|
9668
|
+
};
|
|
9669
|
+
|
|
9670
|
+
const getDebugHighlight = async debugId => {
|
|
9671
|
+
const newInfo = await invoke('RunAndDebug.getHighlight', debugId);
|
|
9672
|
+
return newInfo;
|
|
9673
|
+
};
|
|
9674
|
+
|
|
9675
|
+
const getKey = () => {
|
|
9676
|
+
const keys = getKeys();
|
|
9677
|
+
return parseInt(keys[0]);
|
|
9678
|
+
};
|
|
9679
|
+
const updateDebugInfo = async debugId => {
|
|
9680
|
+
const newInfo = await getDebugHighlight(debugId);
|
|
9681
|
+
const key = getKey();
|
|
9682
|
+
const {
|
|
9683
|
+
oldState,
|
|
9684
|
+
newState
|
|
9685
|
+
} = get$4(key);
|
|
9686
|
+
const newEditor = {
|
|
9687
|
+
...newState,
|
|
9688
|
+
highlightedLine: newInfo.rowIndex
|
|
9689
|
+
};
|
|
9690
|
+
set$6(key, oldState, newEditor);
|
|
9691
|
+
// @ts-ignore
|
|
9692
|
+
await invoke$7('Editor.rerender', key);
|
|
9693
|
+
};
|
|
9694
|
+
|
|
9679
9695
|
const editorDiagnosticEffect = {
|
|
9680
9696
|
isActive(oldEditor, newEditor) {
|
|
9681
9697
|
// TODO avoid slow comparison
|
|
@@ -9687,13 +9703,12 @@ const editorDiagnosticEffect = {
|
|
|
9687
9703
|
}
|
|
9688
9704
|
};
|
|
9689
9705
|
|
|
9690
|
-
const keep = [
|
|
9706
|
+
const keep = ['ActivateByEvent.activateByEvent', 'Editor.applyEdit2', 'Editor.applyEdits2', 'Editor.closeFind2', 'Editor.closeWidget2', 'Editor.create', 'Editor.getKeyBindings', 'Editor.getLines2', 'Editor.getPositionAtCursor', 'Editor.getQuickPickMenuEntries', 'Editor.getSelections', 'Editor.getSelections2', 'Editor.getText', 'Editor.getWordAt', 'Editor.getWordAt2', 'Editor.getWordAtOffset2', 'Editor.getWordBefore', 'Editor.getWordBefore2', 'Editor.offsetAt', 'Editor.render', 'Editor.setSelections2', 'Editor.updateDebugInfo', 'Font.ensure', 'HandleMessagePort.handleMessagePort', 'Hover.getHoverInfo', 'Hover.handleSashPointerDown', 'Hover.handleSashPointerMove', 'Hover.handleSashPointerUp', 'Hover.loadContent', 'Hover.render', 'Initialize.initialize', 'SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker'
|
|
9691
9707
|
// 'ColorPicker.handleSliderPointerDown',
|
|
9692
9708
|
// 'ColorPicker.handleSliderPointerMove',
|
|
9693
9709
|
// 'ColorPicker.loadContent',
|
|
9694
|
-
'Editor.create', 'Editor.getWordAt', 'Editor.getWordBefore', 'Editor.offsetAt', 'Editor.render', 'Editor.getKeyBindings', 'Editor.getPositionAtCursor', 'Editor.getWordAt2', 'Editor.getWordAtOffset2', 'Editor.getWordBefore2', 'Editor.getLines2', 'Editor.applyEdit2', 'Editor.applyEdits2', 'Editor.closeFind2', 'Editor.closeWidget2', 'Editor.getSelections2', 'Editor.getQuickPickMenuEntries',
|
|
9695
9710
|
// 'ColorPicker.render',
|
|
9696
|
-
|
|
9711
|
+
];
|
|
9697
9712
|
|
|
9698
9713
|
const wrapWidgetCommand = (widgetId, fn) => {
|
|
9699
9714
|
const isWidget = widget => {
|
|
@@ -9757,7 +9772,7 @@ const wrapCommand = fn => async (editorUid, ...args) => {
|
|
|
9757
9772
|
effect.apply(newEditor);
|
|
9758
9773
|
}
|
|
9759
9774
|
}
|
|
9760
|
-
set$
|
|
9775
|
+
set$6(editorUid, oldInstance.newState, newEditor);
|
|
9761
9776
|
// TODO if possible, rendering should be sync
|
|
9762
9777
|
const commands = await renderEditor(editorUid);
|
|
9763
9778
|
newEditor.commands = commands;
|
|
@@ -9782,12 +9797,15 @@ const commandMap = {
|
|
|
9782
9797
|
'Editor.addCursorAbove': addCursorAbove,
|
|
9783
9798
|
'Editor.addCursorBelow': addCursorBelow,
|
|
9784
9799
|
'Editor.applyEdit': applyEdit,
|
|
9800
|
+
'Editor.applyEdit2': applyEdits2,
|
|
9785
9801
|
'Editor.braceCompletion': braceCompletion,
|
|
9786
9802
|
'Editor.cancelSelection': cancelSelection,
|
|
9787
9803
|
'Editor.closeCodeGenerator': closeCodeGenerator,
|
|
9788
9804
|
'Editor.closeFind': closeFind,
|
|
9805
|
+
'Editor.closeFind2': closeFind2,
|
|
9789
9806
|
'Editor.closeRename': closeRename,
|
|
9790
9807
|
'Editor.closeSourceAction': closeSourceAction,
|
|
9808
|
+
'Editor.closeWidget2': closeWidget2,
|
|
9791
9809
|
'Editor.compositionEnd': compositionEnd,
|
|
9792
9810
|
'Editor.compositionStart': compositionStart,
|
|
9793
9811
|
'Editor.compositionUpdate': compositionUpdate,
|
|
@@ -9819,9 +9837,6 @@ const commandMap = {
|
|
|
9819
9837
|
'Editor.deleteRight': deleteCharacterRight,
|
|
9820
9838
|
'Editor.deleteWordLeft': deleteWordLeft,
|
|
9821
9839
|
'Editor.deleteWordPartLeft': deleteWordPartLeft,
|
|
9822
|
-
'Editor.applyEdit2': applyEdits2,
|
|
9823
|
-
'Editor.closeFind2': closeFind2,
|
|
9824
|
-
'Editor.closeWidget2': closeWidget2,
|
|
9825
9840
|
'Editor.deleteWordPartRight': deleteWordPartRight,
|
|
9826
9841
|
'Editor.deleteWordRight': deleteWordRight,
|
|
9827
9842
|
'Editor.executeWidgetCommand': executeWidgetCommand,
|
|
@@ -9843,10 +9858,10 @@ const commandMap = {
|
|
|
9843
9858
|
'Editor.goToTypeDefinition': goToTypeDefinition,
|
|
9844
9859
|
'Editor.handleBeforeInput': handleBeforeInput,
|
|
9845
9860
|
'Editor.handleBeforeInputFromContentEditable': handleBeforeInputFromContentEditable,
|
|
9846
|
-
'Editor.handleBlur': handleBlur,
|
|
9861
|
+
'Editor.handleBlur': handleBlur$1,
|
|
9847
9862
|
'Editor.handleContextMenu': handleContextMenu,
|
|
9848
9863
|
'Editor.handleDoubleClick': handleDoubleClick,
|
|
9849
|
-
'Editor.handleFocus': handleFocus,
|
|
9864
|
+
'Editor.handleFocus': handleFocus$1,
|
|
9850
9865
|
'Editor.handleMouseDown': handleMouseDown,
|
|
9851
9866
|
'Editor.handleMouseMove': handleMouseMove,
|
|
9852
9867
|
'Editor.handleMouseMoveWithAltKey': handleMouseMoveWithAltKey,
|
|
@@ -9879,21 +9894,6 @@ const commandMap = {
|
|
|
9879
9894
|
'Editor.openCodeGenerator': openCodeGenerator,
|
|
9880
9895
|
'Editor.openColorPicker': openColorPicker,
|
|
9881
9896
|
'Editor.openCompletion': openCompletion,
|
|
9882
|
-
'EditorCompletion.closeDetails': closeDetails,
|
|
9883
|
-
'EditorCompletion.focusFirst': focusFirst,
|
|
9884
|
-
'EditorCompletion.focusIndex': focusIndex$1,
|
|
9885
|
-
'EditorCompletion.focusNext': focusNext$1,
|
|
9886
|
-
'EditorCompletion.focusPrevious': focusPrevious,
|
|
9887
|
-
'EditorCompletion.handleEditorBlur': handleEditorBlur,
|
|
9888
|
-
'EditorCompletion.handleEditorClick': handleEditorClick,
|
|
9889
|
-
'EditorCompletion.handleEditorDeleteLeft': handleEditorDeleteLeft$1,
|
|
9890
|
-
'EditorCompletion.handleEditorType': handleEditorType$1,
|
|
9891
|
-
'EditorCompletion.handleWheel': handleWheel,
|
|
9892
|
-
'EditorCompletion.openDetails': openDetails,
|
|
9893
|
-
'EditorCompletion.selectCurrent': selectCurrent,
|
|
9894
|
-
'EditorCompletion.close': close,
|
|
9895
|
-
'EditorCompletion.selectIndex': selectIndex,
|
|
9896
|
-
'EditorCompletion.toggleDetails': toggleDetails,
|
|
9897
9897
|
'Editor.openFind': openFind,
|
|
9898
9898
|
'Editor.openFind2': openFind2,
|
|
9899
9899
|
'Editor.openRename': openRename,
|
|
@@ -9921,11 +9921,13 @@ const commandMap = {
|
|
|
9921
9921
|
'Editor.selectWord': selectWord,
|
|
9922
9922
|
'Editor.selectWordLeft': selectWordLeft,
|
|
9923
9923
|
'Editor.selectWordRight': selectWordRight,
|
|
9924
|
+
'Editor.setDebugEnabled': setDebugEnabled,
|
|
9924
9925
|
'Editor.setDecorations': setDecorations,
|
|
9925
9926
|
'Editor.setDelta': setDelta,
|
|
9926
9927
|
'Editor.setDeltaY': setDeltaY,
|
|
9927
9928
|
'Editor.setLanguageId': setLanguageId,
|
|
9928
9929
|
'Editor.setSelections': setSelections,
|
|
9930
|
+
'Editor.setSelections2': setSelections2,
|
|
9929
9931
|
'Editor.showHover': showHover,
|
|
9930
9932
|
'Editor.showHover2': showHover2,
|
|
9931
9933
|
'Editor.showSourceActions': showSourceActions,
|
|
@@ -9939,11 +9941,45 @@ const commandMap = {
|
|
|
9939
9941
|
'Editor.typeWithAutoClosing': typeWithAutoClosing,
|
|
9940
9942
|
'Editor.undo': undo,
|
|
9941
9943
|
'Editor.unIndent': editorUnindent,
|
|
9944
|
+
'Editor.updateDebugInfo': updateDebugInfo,
|
|
9942
9945
|
'Editor.updateDiagnostics': updateDiagnostics,
|
|
9946
|
+
'EditorCompletion.close': close$1,
|
|
9947
|
+
'EditorCompletion.closeDetails': closeDetails,
|
|
9948
|
+
'EditorCompletion.focusFirst': focusFirst,
|
|
9949
|
+
'EditorCompletion.focusIndex': focusIndex$1,
|
|
9950
|
+
'EditorCompletion.focusNext': focusNext$2,
|
|
9951
|
+
'EditorCompletion.focusPrevious': focusPrevious$1,
|
|
9952
|
+
'EditorCompletion.handleEditorBlur': handleEditorBlur,
|
|
9953
|
+
'EditorCompletion.handleEditorClick': handleEditorClick,
|
|
9954
|
+
'EditorCompletion.handleEditorDeleteLeft': handleEditorDeleteLeft$1,
|
|
9955
|
+
'EditorCompletion.handleEditorType': handleEditorType$1,
|
|
9956
|
+
'EditorCompletion.handleWheel': handleWheel,
|
|
9957
|
+
'EditorCompletion.openDetails': openDetails,
|
|
9958
|
+
'EditorCompletion.selectCurrent': selectCurrent,
|
|
9959
|
+
'EditorCompletion.selectIndex': selectIndex,
|
|
9960
|
+
'EditorCompletion.toggleDetails': toggleDetails,
|
|
9943
9961
|
'EditorSourceActions.focusNext': focusNext,
|
|
9944
|
-
'FindWidget.close': close
|
|
9962
|
+
'FindWidget.close': close,
|
|
9963
|
+
'FindWidget.focusCloseButton': focusCloseButton,
|
|
9964
|
+
'FindWidget.focusFind': focusFind,
|
|
9965
|
+
'FindWidget.focusNext': focusNext$1,
|
|
9966
|
+
'FindWidget.focusNextMatchButton': focusNextMatchButton,
|
|
9967
|
+
'FindWidget.focusPrevious': focusPrevious,
|
|
9968
|
+
'FindWidget.focusPreviousMatchButton': focusPreviousMatchButton,
|
|
9969
|
+
'FindWidget.focusReplace': focusReplace,
|
|
9970
|
+
'FindWidget.focusReplaceAllButton': focusReplaceAllButton,
|
|
9971
|
+
'FindWidget.focusReplaceButton': focusReplaceButton,
|
|
9972
|
+
'FindWidget.focusToggleReplace': focusToggleReplace,
|
|
9973
|
+
'FindWidget.handleBlur': handleBlur,
|
|
9974
|
+
'FindWidget.handleFocus': handleFocus,
|
|
9975
|
+
'FindWidget.handleInput': handleInput,
|
|
9976
|
+
'FindWidget.handleReplaceFocus': handleReplaceFocus,
|
|
9977
|
+
'FindWidget.handleReplaceInput': handleReplaceInput,
|
|
9978
|
+
'FindWidget.handleToggleReplaceFocus': handleToggleReplaceFocus,
|
|
9945
9979
|
'FindWidget.loadContent': loadContent$1,
|
|
9980
|
+
'FindWidget.toggleReplace': toggleReplace,
|
|
9946
9981
|
'Font.ensure': ensure,
|
|
9982
|
+
'HandleMessagePort.handleMessagePort': handleMessagePort,
|
|
9947
9983
|
'Hover.getHoverInfo': getEditorHoverInfo,
|
|
9948
9984
|
'Hover.handleSashPointerDown': handleSashPointerDown,
|
|
9949
9985
|
'Hover.handleSashPointerMove': handleSashPointerMove,
|
|
@@ -9955,59 +9991,11 @@ const commandMap = {
|
|
|
9955
9991
|
};
|
|
9956
9992
|
wrapCommands(commandMap);
|
|
9957
9993
|
|
|
9958
|
-
const MessagePort$1 = 1;
|
|
9959
|
-
const ModuleWorker = 2;
|
|
9960
|
-
const ReferencePort = 3;
|
|
9961
|
-
const ModuleWorkerAndMessagePort = 8;
|
|
9962
|
-
const Auto = () => {
|
|
9963
|
-
// @ts-ignore
|
|
9964
|
-
if (globalThis.acceptPort) {
|
|
9965
|
-
return MessagePort$1;
|
|
9966
|
-
}
|
|
9967
|
-
// @ts-ignore
|
|
9968
|
-
if (globalThis.acceptReferencePort) {
|
|
9969
|
-
return ReferencePort;
|
|
9970
|
-
}
|
|
9971
|
-
return ModuleWorkerAndMessagePort;
|
|
9972
|
-
};
|
|
9973
|
-
|
|
9974
|
-
const getModule = method => {
|
|
9975
|
-
switch (method) {
|
|
9976
|
-
case ModuleWorker:
|
|
9977
|
-
return IpcChildWithModuleWorker$1;
|
|
9978
|
-
case ModuleWorkerAndMessagePort:
|
|
9979
|
-
return IpcChildWithModuleWorkerAndMessagePort$1;
|
|
9980
|
-
case MessagePort$1:
|
|
9981
|
-
return IpcChildWithMessagePort$1;
|
|
9982
|
-
default:
|
|
9983
|
-
throw new Error('unexpected ipc type');
|
|
9984
|
-
}
|
|
9985
|
-
};
|
|
9986
|
-
|
|
9987
|
-
// @ts-ignore
|
|
9988
|
-
const listen$1 = async ({
|
|
9989
|
-
method
|
|
9990
|
-
}) => {
|
|
9991
|
-
const module = await getModule(method);
|
|
9992
|
-
// @ts-ignore
|
|
9993
|
-
const rawIpc = await module.listen();
|
|
9994
|
-
// @ts-ignore
|
|
9995
|
-
if (module.signal) {
|
|
9996
|
-
// @ts-ignore
|
|
9997
|
-
module.signal(rawIpc);
|
|
9998
|
-
}
|
|
9999
|
-
// @ts-ignore
|
|
10000
|
-
const ipc = module.wrap(rawIpc);
|
|
10001
|
-
return ipc;
|
|
10002
|
-
};
|
|
10003
|
-
|
|
10004
9994
|
const listen = async () => {
|
|
10005
|
-
|
|
10006
|
-
|
|
10007
|
-
method: Auto()
|
|
9995
|
+
const rpc = await WebWorkerRpcClient.create({
|
|
9996
|
+
commandMap: commandMap
|
|
10008
9997
|
});
|
|
10009
|
-
|
|
10010
|
-
listen$5(ipc);
|
|
9998
|
+
set$8(rpc);
|
|
10011
9999
|
};
|
|
10012
10000
|
|
|
10013
10001
|
const removeWidget = widget => {
|
|
@@ -10068,10 +10056,10 @@ const renderFocus = {
|
|
|
10068
10056
|
return [Focus, '.CodeGeneratorInput', newState.focusSource];
|
|
10069
10057
|
}
|
|
10070
10058
|
};
|
|
10071
|
-
const render$
|
|
10072
|
-
const renderFull$
|
|
10059
|
+
const render$8 = [renderContent$1, renderBounds$2, renderFocus];
|
|
10060
|
+
const renderFull$2 = (oldState, newState) => {
|
|
10073
10061
|
const commands = [];
|
|
10074
|
-
for (const item of render$
|
|
10062
|
+
for (const item of render$8) {
|
|
10075
10063
|
if (!item.isEqual(oldState, newState)) {
|
|
10076
10064
|
commands.push(item.apply(oldState, newState));
|
|
10077
10065
|
}
|
|
@@ -10079,8 +10067,8 @@ const renderFull$3 = (oldState, newState) => {
|
|
|
10079
10067
|
return commands;
|
|
10080
10068
|
};
|
|
10081
10069
|
|
|
10082
|
-
const render$
|
|
10083
|
-
const commands = renderFull$
|
|
10070
|
+
const render$7 = widget => {
|
|
10071
|
+
const commands = renderFull$2(widget.oldState, widget.newState);
|
|
10084
10072
|
const wrappedCommands = [];
|
|
10085
10073
|
const {
|
|
10086
10074
|
uid
|
|
@@ -10095,27 +10083,27 @@ const render$8 = widget => {
|
|
|
10095
10083
|
}
|
|
10096
10084
|
return wrappedCommands;
|
|
10097
10085
|
};
|
|
10098
|
-
const add$
|
|
10099
|
-
return addWidget$1(widget, 'EditorCodeGenerator', render$
|
|
10086
|
+
const add$5 = widget => {
|
|
10087
|
+
return addWidget$1(widget, 'EditorCodeGenerator', render$7);
|
|
10100
10088
|
};
|
|
10101
|
-
const remove$
|
|
10089
|
+
const remove$5 = removeWidget;
|
|
10102
10090
|
|
|
10103
10091
|
const EditorCodeGeneratorWidget = {
|
|
10104
10092
|
__proto__: null,
|
|
10105
|
-
add: add$
|
|
10106
|
-
remove: remove$
|
|
10107
|
-
render: render$
|
|
10093
|
+
add: add$5,
|
|
10094
|
+
remove: remove$5,
|
|
10095
|
+
render: render$7
|
|
10108
10096
|
};
|
|
10109
10097
|
|
|
10110
|
-
const renderFull$
|
|
10098
|
+
const renderFull$1 = (oldState, newState) => {
|
|
10111
10099
|
const commands = [...newState.commands];
|
|
10112
10100
|
// @ts-ignore
|
|
10113
10101
|
newState.commands = [];
|
|
10114
10102
|
return commands;
|
|
10115
10103
|
};
|
|
10116
10104
|
|
|
10117
|
-
const render$
|
|
10118
|
-
const commands = renderFull$
|
|
10105
|
+
const render$6 = widget => {
|
|
10106
|
+
const commands = renderFull$1(widget.oldState, widget.newState);
|
|
10119
10107
|
const wrappedCommands = [];
|
|
10120
10108
|
const {
|
|
10121
10109
|
uid
|
|
@@ -10129,18 +10117,18 @@ const render$7 = widget => {
|
|
|
10129
10117
|
}
|
|
10130
10118
|
return wrappedCommands;
|
|
10131
10119
|
};
|
|
10132
|
-
const add$
|
|
10133
|
-
return addWidget$1(widget, 'ColorPicker', render$
|
|
10120
|
+
const add$4 = widget => {
|
|
10121
|
+
return addWidget$1(widget, 'ColorPicker', render$6);
|
|
10134
10122
|
};
|
|
10135
|
-
const remove$
|
|
10136
|
-
const Commands
|
|
10123
|
+
const remove$4 = removeWidget;
|
|
10124
|
+
const Commands = {};
|
|
10137
10125
|
|
|
10138
10126
|
const EditorColorPickerWidget = {
|
|
10139
10127
|
__proto__: null,
|
|
10140
|
-
Commands
|
|
10141
|
-
add: add$
|
|
10142
|
-
remove: remove$
|
|
10143
|
-
render: render$
|
|
10128
|
+
Commands,
|
|
10129
|
+
add: add$4,
|
|
10130
|
+
remove: remove$4,
|
|
10131
|
+
render: render$6
|
|
10144
10132
|
};
|
|
10145
10133
|
|
|
10146
10134
|
const getCompletionDetailVirtualDom = content => {
|
|
@@ -10198,9 +10186,9 @@ const renderBounds$1 = {
|
|
|
10198
10186
|
return [/* method */SetBounds, /* x */x, /* y */y, /* width */width, /* height */height];
|
|
10199
10187
|
}
|
|
10200
10188
|
};
|
|
10201
|
-
const render$
|
|
10202
|
-
const renderFull
|
|
10203
|
-
return renderParts(render$
|
|
10189
|
+
const render$5 = [renderContent, renderBounds$1];
|
|
10190
|
+
const renderFull = (oldState, newState) => {
|
|
10191
|
+
return renderParts(render$5, oldState, newState);
|
|
10204
10192
|
};
|
|
10205
10193
|
|
|
10206
10194
|
const getWidgetState = (editor, id) => {
|
|
@@ -10219,8 +10207,8 @@ const getCompletionState = editor => {
|
|
|
10219
10207
|
return getWidgetState(editor, Completion);
|
|
10220
10208
|
};
|
|
10221
10209
|
|
|
10222
|
-
const render$
|
|
10223
|
-
const commands = renderFull
|
|
10210
|
+
const render$4 = widget => {
|
|
10211
|
+
const commands = renderFull(widget.oldState, widget.newState);
|
|
10224
10212
|
const wrappedCommands = [];
|
|
10225
10213
|
const {
|
|
10226
10214
|
uid
|
|
@@ -10234,10 +10222,10 @@ const render$5 = widget => {
|
|
|
10234
10222
|
}
|
|
10235
10223
|
return wrappedCommands;
|
|
10236
10224
|
};
|
|
10237
|
-
const add$
|
|
10238
|
-
return addWidget$1(widget, 'EditorCompletionDetails', render$
|
|
10225
|
+
const add$3 = widget => {
|
|
10226
|
+
return addWidget$1(widget, 'EditorCompletionDetails', render$4);
|
|
10239
10227
|
};
|
|
10240
|
-
const remove$
|
|
10228
|
+
const remove$3 = removeWidget;
|
|
10241
10229
|
const handleEditorType = (editor, state) => {
|
|
10242
10230
|
const completionState = getCompletionState(editor);
|
|
10243
10231
|
if (!completionState) {
|
|
@@ -10269,47 +10257,9 @@ const handleEditorDeleteLeft = (editor, state) => {
|
|
|
10269
10257
|
|
|
10270
10258
|
const EditorCompletionDetailWidget = {
|
|
10271
10259
|
__proto__: null,
|
|
10272
|
-
add: add$
|
|
10260
|
+
add: add$3,
|
|
10273
10261
|
handleEditorDeleteLeft,
|
|
10274
10262
|
handleEditorType,
|
|
10275
|
-
remove: remove$4,
|
|
10276
|
-
render: render$5
|
|
10277
|
-
};
|
|
10278
|
-
|
|
10279
|
-
const renderFull = (oldState, newState) => {
|
|
10280
|
-
const commands = [...newState.commands];
|
|
10281
|
-
// @ts-ignore
|
|
10282
|
-
newState.commands = [];
|
|
10283
|
-
return commands;
|
|
10284
|
-
};
|
|
10285
|
-
|
|
10286
|
-
const render$4 = widget => {
|
|
10287
|
-
const commands = renderFull(widget.oldState, widget.newState);
|
|
10288
|
-
const wrappedCommands = [];
|
|
10289
|
-
const {
|
|
10290
|
-
uid
|
|
10291
|
-
} = widget.newState;
|
|
10292
|
-
for (const command of commands) {
|
|
10293
|
-
if (command[0] === SetDom2 || command[0] === SetCss || command[0] === AppendToBody || command[0] === SetBounds2 || command[0] === RegisterEventListeners || command[0] === SetSelectionByName || command[0] === SetValueByName || command[0] === SetFocusContext || command[0] === SetUid || command[0] === 'Viewlet.focusSelector') {
|
|
10294
|
-
wrappedCommands.push(command);
|
|
10295
|
-
} else {
|
|
10296
|
-
wrappedCommands.push(['Viewlet.send', uid, ...command]);
|
|
10297
|
-
}
|
|
10298
|
-
}
|
|
10299
|
-
return wrappedCommands;
|
|
10300
|
-
};
|
|
10301
|
-
const add$3 = widget => {
|
|
10302
|
-
return addWidget$1(widget, 'FindWidget', render$4);
|
|
10303
|
-
};
|
|
10304
|
-
const remove$3 = widget => {
|
|
10305
|
-
return [['Viewlet.dispose', widget.newState.uid]];
|
|
10306
|
-
};
|
|
10307
|
-
const Commands = {};
|
|
10308
|
-
|
|
10309
|
-
const EditorFindWidget = {
|
|
10310
|
-
__proto__: null,
|
|
10311
|
-
Commands,
|
|
10312
|
-
add: add$3,
|
|
10313
10263
|
remove: remove$3,
|
|
10314
10264
|
render: render$4
|
|
10315
10265
|
};
|
|
@@ -10505,14 +10455,14 @@ const EditorSourceActionWidget = {
|
|
|
10505
10455
|
};
|
|
10506
10456
|
|
|
10507
10457
|
const registerWidgets = () => {
|
|
10508
|
-
set$
|
|
10509
|
-
set$
|
|
10510
|
-
set$
|
|
10511
|
-
set$
|
|
10512
|
-
set$
|
|
10513
|
-
set$
|
|
10514
|
-
set$
|
|
10515
|
-
set$
|
|
10458
|
+
set$7(ColorPicker, EditorColorPickerWidget);
|
|
10459
|
+
set$7(Completion, EditorCompletionWidget);
|
|
10460
|
+
set$7(CompletionDetail, EditorCompletionDetailWidget);
|
|
10461
|
+
set$7(Find, EditorFindWidget);
|
|
10462
|
+
set$7(Hover, EditorHoverWidget);
|
|
10463
|
+
set$7(Rename, EditorRenameWidget);
|
|
10464
|
+
set$7(SourceAction$1, EditorSourceActionWidget);
|
|
10465
|
+
set$7(CodeGenerator, EditorCodeGeneratorWidget);
|
|
10516
10466
|
};
|
|
10517
10467
|
|
|
10518
10468
|
const handleUnhandledRejection = event => {
|