@codingame/monaco-vscode-api 1.79.7-next.0 → 1.79.7-next.2
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/README.md +2 -2
- package/dist/_virtual/index.js +2 -0
- package/dist/api.js +17 -15
- package/dist/composite.d.ts +1 -1
- package/dist/configurationRegistry.d.ts +1 -1
- package/dist/contextkey.d.ts +2 -2
- package/dist/createApi.js +8 -8
- package/dist/default-extensions/bat.js +1 -1
- package/dist/default-extensions/clojure.js +1 -1
- package/dist/default-extensions/coffeescript.js +1 -1
- package/dist/default-extensions/configuration-editing.js +9 -0
- package/dist/default-extensions/cpp.js +1 -1
- package/dist/default-extensions/csharp.js +1 -1
- package/dist/default-extensions/css-language-features.js +10 -0
- package/dist/default-extensions/css.js +1 -1
- package/dist/default-extensions/dart.js +1 -1
- package/dist/default-extensions/debug-auto-launch.js +6 -0
- package/dist/default-extensions/debug-server-ready.js +6 -0
- package/dist/default-extensions/diff.js +1 -1
- package/dist/default-extensions/docker.js +1 -1
- package/dist/default-extensions/emmet.js +7 -0
- package/dist/default-extensions/extension-editing.js +7 -0
- package/dist/default-extensions/fsharp.js +1 -1
- package/dist/default-extensions/git-base.js +16 -0
- package/dist/default-extensions/git.js +6 -0
- package/dist/default-extensions/github-authentication.js +7 -0
- package/dist/default-extensions/github.js +7 -0
- package/dist/default-extensions/go.js +1 -1
- package/dist/default-extensions/groovy.js +1 -1
- package/dist/default-extensions/grunt.js +6 -0
- package/dist/default-extensions/gulp.js +6 -0
- package/dist/default-extensions/handlebars.js +1 -1
- package/dist/default-extensions/hlsl.js +1 -1
- package/dist/default-extensions/html-language-features.js +10 -0
- package/dist/default-extensions/html.js +1 -1
- package/dist/default-extensions/ini.js +1 -1
- package/dist/default-extensions/ipynb.js +7 -0
- package/dist/default-extensions/jake.js +6 -0
- package/dist/default-extensions/java.js +1 -1
- package/dist/default-extensions/javascript.js +1 -1
- package/dist/default-extensions/json-language-features.js +8 -0
- package/dist/default-extensions/json.js +1 -1
- package/dist/default-extensions/julia.js +1 -1
- package/dist/default-extensions/latex.js +1 -1
- package/dist/default-extensions/less.js +1 -1
- package/dist/default-extensions/log.js +1 -1
- package/dist/default-extensions/lua.js +1 -1
- package/dist/default-extensions/make.js +1 -1
- package/dist/default-extensions/markdown-basics.js +1 -1
- package/dist/default-extensions/markdown-language-features.js +18 -0
- package/dist/default-extensions/markdown-math.js +32 -0
- package/dist/default-extensions/media-preview.js +16 -0
- package/dist/default-extensions/merge-conflict.js +7 -0
- package/dist/default-extensions/microsoft-authentication.js +7 -0
- package/dist/default-extensions/notebook-renderers.js +6 -0
- package/dist/default-extensions/npm.js +1 -1
- package/dist/default-extensions/objective-c.js +1 -1
- package/dist/default-extensions/perl.js +1 -1
- package/dist/default-extensions/php-language-features.js +6 -0
- package/dist/default-extensions/php.js +1 -1
- package/dist/default-extensions/powershell.js +1 -1
- package/dist/default-extensions/pug.js +1 -1
- package/dist/default-extensions/python.js +1 -1
- package/dist/default-extensions/r.js +1 -1
- package/dist/default-extensions/razor.js +1 -1
- package/dist/default-extensions/references-view.js +1 -1
- package/dist/default-extensions/restructuredtext.js +9 -0
- package/dist/default-extensions/ruby.js +1 -1
- package/dist/default-extensions/rust.js +1 -1
- package/dist/default-extensions/scss.js +1 -1
- package/dist/default-extensions/search-result.js +1 -1
- package/dist/default-extensions/shaderlab.js +1 -1
- package/dist/default-extensions/shellscript.js +1 -1
- package/dist/default-extensions/simple-browser.js +10 -0
- package/dist/default-extensions/sql.js +1 -1
- package/dist/default-extensions/swift.js +1 -1
- package/dist/default-extensions/theme-abyss.js +1 -1
- package/dist/default-extensions/theme-defaults.js +1 -1
- package/dist/default-extensions/theme-kimbie-dark.js +1 -1
- package/dist/default-extensions/theme-monokai-dimmed.js +1 -1
- package/dist/default-extensions/theme-monokai.js +1 -1
- package/dist/default-extensions/theme-quietlight.js +1 -1
- package/dist/default-extensions/theme-red.js +1 -1
- package/dist/default-extensions/theme-seti.js +1 -1
- package/dist/default-extensions/theme-solarized-dark.js +1 -1
- package/dist/default-extensions/theme-solarized-light.js +1 -1
- package/dist/default-extensions/theme-tomorrow-night-blue.js +1 -1
- package/dist/default-extensions/typescript-basics.js +1 -1
- package/dist/default-extensions/typescript-language-features.js +93 -0
- package/dist/default-extensions/vb.js +1 -1
- package/dist/default-extensions/vscode-api-tests.js +6 -0
- package/dist/default-extensions/vscode-colorize-tests.js +9 -0
- package/dist/default-extensions/vscode-test-resolver.js +6 -0
- package/dist/default-extensions/xml.js +1 -1
- package/dist/default-extensions/yaml.js +1 -1
- package/dist/editor.d.ts +2 -2
- package/dist/editorBrowser.d.ts +2 -2
- package/dist/event.d.ts +1 -1
- package/dist/ext-hosts/all.js +26 -0
- package/dist/ext-hosts/clipboard.js +12 -0
- package/dist/ext-hosts/commands.js +18 -0
- package/dist/ext-hosts/configuration.js +16 -0
- package/dist/ext-hosts/debug.js +16 -0
- package/dist/ext-hosts/decorations.js +16 -0
- package/dist/ext-hosts/dialogs.js +14 -0
- package/dist/ext-hosts/documentsAndEditors.js +34 -0
- package/dist/ext-hosts/editorTabs.js +17 -0
- package/dist/ext-hosts/filesystem.js +24 -0
- package/dist/ext-hosts/filesystemEvent.js +17 -0
- package/dist/ext-hosts/languageFeatures.js +21 -0
- package/dist/ext-hosts/languages.js +17 -0
- package/dist/ext-hosts/localization.js +16 -0
- package/dist/ext-hosts/messages.js +24 -0
- package/dist/ext-hosts/output.js +16 -0
- package/dist/ext-hosts/progress.js +15 -0
- package/dist/ext-hosts/quickopen.js +15 -0
- package/dist/ext-hosts/search.js +17 -0
- package/dist/ext-hosts/statusBar.js +15 -0
- package/dist/ext-hosts/storage.js +28 -0
- package/dist/ext-hosts/telemetry.js +17 -0
- package/dist/ext-hosts/terminal.js +17 -0
- package/dist/ext-hosts/theming.js +15 -0
- package/dist/ext-hosts/views.js +30 -0
- package/dist/ext-hosts/window.js +20 -0
- package/dist/ext-hosts/workspace.js +16 -0
- package/dist/extHost.js +271 -0
- package/dist/{extension-tools-98a21c83.js → extension-tools.js} +1869 -129
- package/dist/extensionWorker.js +80 -0
- package/dist/extensions.d.ts +4 -4
- package/dist/extensions.d2.ts +1 -1
- package/dist/extensions.js +6 -11
- package/dist/extensionsRegistry.d.ts +2 -2
- package/dist/files.d.ts +17 -17
- package/dist/instantiation.d.ts +1 -1
- package/dist/keybinding.d.ts +2 -2
- package/dist/languageFeatures.d.ts +51 -51
- package/dist/log.d.ts +1 -1
- package/dist/{vscode-services/missing-services.js → missing-services.js} +170 -109
- package/dist/monaco.d.ts +8 -18
- package/dist/monaco.js +0 -2
- package/dist/node_modules/toposort/index.js +76 -0
- package/dist/rollup-extension-directory-plugin.d.ts +3 -3
- package/dist/rollup-extension-directory-plugin.js +8 -4
- package/dist/rollup-vsix-plugin.d.ts +3 -2
- package/dist/rollup-vsix-plugin.js +7 -3
- package/dist/service-override/audioCue.js +1 -1
- package/dist/service-override/configuration.d.ts +4 -4
- package/dist/service-override/configuration.js +1 -1
- package/dist/service-override/debug.js +1 -1
- package/dist/service-override/dialogs.js +1 -1
- package/dist/service-override/editor.d.ts +2 -2
- package/dist/service-override/editor.js +1 -1
- package/dist/service-override/files.d.ts +64 -13
- package/dist/service-override/files.js +193 -53
- package/dist/service-override/keybindings.d.ts +1 -1
- package/dist/service-override/keybindings.js +1 -1
- package/dist/service-override/languages.d.ts +1 -1
- package/dist/service-override/languages.js +1 -1
- package/dist/service-override/layout.js +1 -1
- package/dist/service-override/markers.js +1 -1
- package/dist/service-override/model.js +1 -1
- package/dist/service-override/notifications.js +1 -1
- package/dist/service-override/output.js +1 -1
- package/dist/service-override/preferences.js +1 -1
- package/dist/service-override/quickaccess.js +1 -1
- package/dist/service-override/search.js +1 -1
- package/dist/service-override/snippets.js +1 -1
- package/dist/service-override/terminal.d.ts +2 -2
- package/dist/service-override/terminal.js +1 -1
- package/dist/service-override/textmate.js +1 -1
- package/dist/service-override/theme.d.ts +1 -1
- package/dist/service-override/theme.js +1 -1
- package/dist/service-override/tools/editor.js +6 -7
- package/dist/service-override/views.d.ts +6 -5
- package/dist/service-override/views.js +30 -6
- package/dist/services.d.ts +339 -339
- package/dist/services.js +1 -1
- package/dist/standaloneServices.d.ts +1 -1
- package/dist/views.d.ts +4 -4
- package/dist/vscode/vs/platform/extensions/common/extensionValidator.js +79 -0
- package/dist/vscode/vs/platform/tunnel/common/tunnel.js +14 -1
- package/dist/vscode/vs/platform/webview/common/mimeTypes.js +22 -0
- package/dist/vscode/vs/platform/webview/common/webviewPortMapping.js +58 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadCustomEditors.js +567 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadDialogs.js +65 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadLogService.js +76 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadUriOpeners.js +104 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadWebviewManager.js +27 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadWebviewPanels.js +281 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadWebviewViews.js +98 -0
- package/dist/vscode/vs/workbench/api/browser/mainThreadWebviews.js +130 -0
- package/dist/vscode/vs/workbench/api/common/extHostCommands.js +11 -11
- package/dist/vscode/vs/workbench/api/common/extHostCustomEditors.js +282 -0
- package/dist/vscode/vs/workbench/api/common/extHostDialogs.js +22 -0
- package/dist/vscode/vs/workbench/api/common/extHostLogService.js +17 -0
- package/dist/vscode/vs/workbench/api/common/extHostLoggerService.js +63 -0
- package/dist/vscode/vs/workbench/api/common/extHostOutput.js +1 -1
- package/dist/vscode/vs/workbench/api/common/extHostTextEditor.js +1 -1
- package/dist/vscode/vs/workbench/api/common/extHostTypeConverters.js +1 -1
- package/dist/vscode/vs/workbench/api/common/extHostTypes.js +18 -1
- package/dist/vscode/vs/workbench/api/common/extHostUriOpener.js +44 -0
- package/dist/vscode/vs/workbench/api/common/extHostWebview.js +212 -0
- package/dist/vscode/vs/workbench/api/common/extHostWebviewMessaging.js +149 -0
- package/dist/vscode/vs/workbench/api/common/extHostWebviewPanels.js +225 -0
- package/dist/vscode/vs/workbench/api/common/extHostWebviewView.js +147 -0
- package/dist/vscode/vs/workbench/browser/iframe.js +16 -0
- package/dist/vscode/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +301 -0
- package/dist/vscode/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsOutline.js +362 -0
- package/dist/vscode/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.js +281 -0
- package/dist/vscode/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +14 -0
- package/dist/vscode/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +143 -0
- package/dist/vscode/vs/workbench/contrib/customEditor/browser/customEditors.js +212 -0
- package/dist/vscode/vs/workbench/contrib/customEditor/browser/media/customEditor.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/customEditor/common/contributedCustomEditors.js +72 -0
- package/dist/vscode/vs/workbench/contrib/customEditor/common/customEditor.js +53 -1
- package/dist/vscode/vs/workbench/contrib/customEditor/common/customEditorModelManager.js +61 -0
- package/dist/vscode/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +70 -0
- package/dist/vscode/vs/workbench/contrib/customEditor/common/extensionPoint.js +106 -0
- package/dist/vscode/vs/workbench/contrib/externalUriOpener/common/configuration.js +68 -0
- package/dist/vscode/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +79 -0
- package/dist/vscode/vs/workbench/contrib/externalUriOpener/common/externalUriOpener.contribution.js +5 -0
- package/dist/vscode/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +169 -1
- package/dist/vscode/vs/workbench/contrib/outline/browser/outline.contribution.js +261 -0
- package/dist/vscode/vs/workbench/contrib/outline/browser/outline.js +10 -0
- package/dist/vscode/vs/workbench/contrib/outline/browser/outlinePane.css.js +4 -0
- package/dist/vscode/vs/workbench/contrib/outline/browser/outlinePane.js +290 -0
- package/dist/vscode/vs/workbench/contrib/outline/browser/outlineViewState.js +66 -0
- package/dist/vscode/vs/workbench/contrib/url/common/urlGlob.js +60 -0
- package/dist/vscode/vs/workbench/contrib/webview/browser/overlayWebview.js +288 -0
- package/dist/vscode/vs/workbench/contrib/webview/browser/resourceLoading.js +94 -0
- package/dist/vscode/vs/workbench/contrib/webview/browser/themeing.js +86 -0
- package/dist/vscode/vs/workbench/contrib/webview/browser/webview.js +24 -1
- package/dist/vscode/vs/workbench/contrib/webview/browser/webviewElement.js +643 -0
- package/dist/vscode/vs/workbench/contrib/webview/browser/webviewFindWidget.js +59 -0
- package/dist/vscode/vs/workbench/contrib/webview/browser/webviewService.js +57 -0
- package/dist/vscode/vs/workbench/contrib/webview/common/webview.js +39 -0
- package/dist/vscode/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +120 -0
- package/dist/vscode/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +170 -0
- package/dist/vscode/vs/workbench/contrib/webviewPanel/browser/webviewEditorInputSerializer.js +119 -0
- package/dist/vscode/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +56 -0
- package/dist/vscode/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +61 -0
- package/dist/vscode/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.js +174 -3
- package/dist/vscode/vs/workbench/contrib/webviewView/browser/webviewViewService.js +43 -1
- package/dist/vscode/vs/workbench/services/outline/browser/outlineService.js +35 -0
- package/dist/vscode/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +78 -0
- package/dist/{vscode-services → vscode-apis}/commands.js +1 -1
- package/dist/{vscode-services → vscode-apis}/debug.js +1 -1
- package/dist/{vscode-services → vscode-apis}/env.js +9 -11
- package/dist/{vscode-services → vscode-apis}/extensions.js +16 -2
- package/dist/{vscode-services → vscode-apis}/l10n.js +1 -1
- package/dist/{vscode-services → vscode-apis}/languages.js +8 -1
- package/dist/{vscode-services → vscode-apis}/window.js +37 -7
- package/dist/{vscode-services → vscode-apis}/workspace.js +3 -3
- package/dist/vscode-default-extensions/configuration-editing/dist/browser/configurationEditingMain.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/configuration-editing/package.json.js +2 -0
- package/dist/vscode-default-extensions/configuration-editing/schemas/attachContainer.schema.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/css-language-features/client/dist/browser/cssClientMain.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/css-language-features/package.json.js +2 -0
- package/dist/vscode-default-extensions/css-language-features/schemas/package.schema.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/css-language-features/server/dist/browser/cssServerMain.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/debug-auto-launch/package.json.js +2 -0
- package/dist/vscode-default-extensions/debug-server-ready/package.json.js +2 -0
- package/dist/vscode-default-extensions/emmet/dist/browser/emmetBrowserMain.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/emmet/package.json.js +2 -0
- package/dist/vscode-default-extensions/extension-editing/dist/browser/extensionEditingBrowserMain.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/extension-editing/package.json.js +2 -0
- package/dist/vscode-default-extensions/git/package.json.js +2 -0
- package/dist/vscode-default-extensions/git-base/dist/browser/extension.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/git-base/languages/git-commit.language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/git-base/languages/git-rebase.language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/git-base/languages/ignore.language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/git-base/package.json.js +2 -0
- package/dist/vscode-default-extensions/git-base/syntaxes/git-commit.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/git-base/syntaxes/git-rebase.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/git-base/syntaxes/ignore.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/github/markdown.css.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/github/package.json.js +2 -0
- package/dist/vscode-default-extensions/github-authentication/dist/browser/extension.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/github-authentication/package.json.js +2 -0
- package/dist/vscode-default-extensions/grunt/package.json.js +2 -0
- package/dist/vscode-default-extensions/gulp/package.json.js +2 -0
- package/dist/vscode-default-extensions/html-language-features/client/dist/browser/htmlClientMain.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/html-language-features/package.json.js +2 -0
- package/dist/vscode-default-extensions/html-language-features/schemas/package.schema.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/html-language-features/server/dist/browser/htmlServerMain.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/ipynb/dist/browser/ipynbMain.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/ipynb/package.json.js +2 -0
- package/dist/vscode-default-extensions/jake/package.json.js +2 -0
- package/dist/vscode-default-extensions/json-language-features/client/dist/browser/jsonClientMain.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/json-language-features/package.json.js +2 -0
- package/dist/vscode-default-extensions/json-language-features/server/dist/browser/jsonServerMain.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-language-features/dist/browser/extension.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-language-features/media/highlight.css.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-language-features/media/index.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-language-features/media/markdown.css.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-language-features/media/pre.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-language-features/media/preview-dark.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-language-features/media/preview-light.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-language-features/package.json.js +2 -0
- package/dist/vscode-default-extensions/markdown-language-features/schemas/package.schema.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-language-features/server/dist/browser/workerMain.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/dist/browser/extension.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_AMS-Regular.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Caligraphic-Bold.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Caligraphic-Regular.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Fraktur-Bold.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Fraktur-Regular.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Main-Bold.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Main-BoldItalic.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Main-Italic.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Main-Regular.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Math-BoldItalic.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Math-Italic.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_SansSerif-Bold.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_SansSerif-Italic.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_SansSerif-Regular.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Script-Regular.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Size1-Regular.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Size2-Regular.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Size3-Regular.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Size4-Regular.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/fonts/KaTeX_Typewriter-Regular.woff2.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/notebook-out/katex.min.css.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/package.json.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/preview-styles/index.css.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/syntaxes/md-math-block.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/syntaxes/md-math-inline.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/markdown-math/syntaxes/md-math.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/media-preview/dist/browser/extension.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/media-preview/media/audioPreview.css.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/media-preview/media/audioPreview.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/media-preview/media/imagePreview.css.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/media-preview/media/imagePreview.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/media-preview/media/loading-dark.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/media-preview/media/loading-hc.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/media-preview/media/loading.svg.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/media-preview/media/videoPreview.css.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/media-preview/media/videoPreview.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/media-preview/package.json.js +2 -0
- package/dist/vscode-default-extensions/merge-conflict/dist/browser/mergeConflictMain.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/merge-conflict/package.json.js +2 -0
- package/dist/vscode-default-extensions/microsoft-authentication/dist/browser/extension.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/microsoft-authentication/package.json.js +2 -0
- package/dist/vscode-default-extensions/notebook-renderers/package.json.js +2 -0
- package/dist/vscode-default-extensions/npm/dist/browser/npmBrowserMain.js.extensionResource.js +1 -1
- package/dist/vscode-default-extensions/php-language-features/package.json.js +2 -0
- package/dist/vscode-default-extensions/references-view/dist/extension.js.extensionResource.js +1 -1
- package/dist/vscode-default-extensions/restructuredtext/language-configuration.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/restructuredtext/package.json.js +2 -0
- package/dist/vscode-default-extensions/restructuredtext/syntaxes/rst.tmLanguage.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/search-result/dist/extension.js.extensionResource.js +1 -1
- package/dist/vscode-default-extensions/simple-browser/dist/browser/extension.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/simple-browser/media/codicon.css.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/simple-browser/media/index.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/simple-browser/media/main.css.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/simple-browser/package.json.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/extension.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.decorators.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.decorators.legacy.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.dom.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.dom.iterable.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2015.collection.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2015.core.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2015.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2015.generator.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2015.iterable.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2015.promise.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2015.proxy.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2015.reflect.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2015.symbol.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2015.symbol.wellknown.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2016.array.include.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2016.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2016.full.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2017.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2017.full.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2017.intl.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2017.object.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2017.sharedmemory.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2017.string.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2017.typedarrays.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2018.asyncgenerator.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2018.asynciterable.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2018.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2018.full.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2018.intl.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2018.promise.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2018.regexp.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2019.array.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2019.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2019.full.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2019.intl.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2019.object.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2019.string.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2019.symbol.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2020.bigint.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2020.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2020.date.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2020.full.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2020.intl.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2020.number.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2020.promise.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2020.sharedmemory.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2020.string.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2020.symbol.wellknown.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2021.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2021.full.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2021.intl.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2021.promise.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2021.string.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2021.weakref.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2022.array.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2022.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2022.error.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2022.full.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2022.intl.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2022.object.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2022.regexp.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2022.sharedmemory.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2022.string.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2023.array.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2023.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es2023.full.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es5.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.es6.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.esnext.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.esnext.full.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.esnext.intl.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.scripthost.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.webworker.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.webworker.importscripts.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/lib.webworker.iterable.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/tsserver.web.js.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/tsserver.web.js.map.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/typesMap.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/dist/browser/typescript/typescript.d.ts.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/package.json.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/schemas/jsconfig.schema.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/schemas/package.schema.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/typescript-language-features/schemas/tsconfig.schema.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/vscode-api-tests/package.json.js +2 -0
- package/dist/vscode-default-extensions/vscode-colorize-tests/package.json.js +2 -0
- package/dist/vscode-default-extensions/vscode-colorize-tests/producticons/ElegantIcons.woff.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/vscode-colorize-tests/producticons/test-product-icon-theme.json.extensionResource.js +2 -0
- package/dist/vscode-default-extensions/vscode-test-resolver/package.json.js +2 -0
- package/dist/workbenchThemeService.d.ts +1 -1
- package/dist/workspace.d.ts +1 -1
- package/monaco-editor-treemending.patch +531 -531
- package/package.json +19 -93
- package/dist/json.js +0 -101
- package/dist/typescript.js +0 -27
- package/dist/vscode-services/extHost.js +0 -393
- package/dist/workers/outputLinkComputer.worker.d.ts +0 -2
- package/dist/workers/textMate.worker.d.ts +0 -2
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import './documentSymbolsTree.css.js';
|
|
3
|
+
import * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
4
|
+
import { HighlightedLabel } from 'monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js';
|
|
5
|
+
import { createMatches } from 'monaco-editor/esm/vs/base/common/filters.js';
|
|
6
|
+
import { Range } from 'monaco-editor/esm/vs/editor/common/core/range.js';
|
|
7
|
+
import { SymbolKinds } from 'monaco-editor/esm/vs/editor/common/languages.js';
|
|
8
|
+
import { OutlineModel, OutlineElement, OutlineGroup } from 'monaco-editor/esm/vs/editor/contrib/documentSymbols/browser/outlineModel.js';
|
|
9
|
+
import { localize } from 'monaco-editor/esm/vs/nls.js';
|
|
10
|
+
import { IconLabel } from 'monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.js';
|
|
11
|
+
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
12
|
+
import { MarkerSeverity } from 'monaco-editor/esm/vs/platform/markers/common/markers.js';
|
|
13
|
+
import { IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
|
|
14
|
+
import { listErrorForeground, listWarningForeground } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
|
|
15
|
+
import { IdleValue } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
16
|
+
import { ITextResourceConfigurationService } from 'monaco-editor/esm/vs/editor/common/services/textResourceConfiguration.js';
|
|
17
|
+
import { ThemeIcon } from 'monaco-editor/esm/vs/base/common/themables.js';
|
|
18
|
+
class DocumentSymbolNavigationLabelProvider {
|
|
19
|
+
getKeyboardNavigationLabel(element) {
|
|
20
|
+
if (element instanceof OutlineGroup) {
|
|
21
|
+
return element.label;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return element.symbol.name;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
class DocumentSymbolAccessibilityProvider {
|
|
29
|
+
constructor(_ariaLabel) {
|
|
30
|
+
this._ariaLabel = _ariaLabel;
|
|
31
|
+
}
|
|
32
|
+
getWidgetAriaLabel() {
|
|
33
|
+
return this._ariaLabel;
|
|
34
|
+
}
|
|
35
|
+
getAriaLabel(element) {
|
|
36
|
+
if (element instanceof OutlineGroup) {
|
|
37
|
+
return element.label;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
return element.symbol.name;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
class DocumentSymbolIdentityProvider {
|
|
45
|
+
getId(element) {
|
|
46
|
+
return element.id;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
class DocumentSymbolGroupTemplate {
|
|
50
|
+
constructor(labelContainer, label) {
|
|
51
|
+
this.labelContainer = labelContainer;
|
|
52
|
+
this.label = label;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
DocumentSymbolGroupTemplate.id = 'DocumentSymbolGroupTemplate';
|
|
56
|
+
class DocumentSymbolTemplate {
|
|
57
|
+
constructor(container, iconLabel, iconClass, decoration) {
|
|
58
|
+
this.container = container;
|
|
59
|
+
this.iconLabel = iconLabel;
|
|
60
|
+
this.iconClass = iconClass;
|
|
61
|
+
this.decoration = decoration;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
DocumentSymbolTemplate.id = 'DocumentSymbolTemplate';
|
|
65
|
+
class DocumentSymbolVirtualDelegate {
|
|
66
|
+
getHeight(_element) {
|
|
67
|
+
return 22;
|
|
68
|
+
}
|
|
69
|
+
getTemplateId(element) {
|
|
70
|
+
return element instanceof OutlineGroup
|
|
71
|
+
? DocumentSymbolGroupTemplate.id
|
|
72
|
+
: DocumentSymbolTemplate.id;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
class DocumentSymbolGroupRenderer {
|
|
76
|
+
constructor() {
|
|
77
|
+
this.templateId = DocumentSymbolGroupTemplate.id;
|
|
78
|
+
}
|
|
79
|
+
renderTemplate(container) {
|
|
80
|
+
const labelContainer = dom.$('.outline-element-label');
|
|
81
|
+
container.classList.add('outline-element');
|
|
82
|
+
dom.append(container, labelContainer);
|
|
83
|
+
return ( new DocumentSymbolGroupTemplate(labelContainer, ( new HighlightedLabel(labelContainer))));
|
|
84
|
+
}
|
|
85
|
+
renderElement(node, _index, template) {
|
|
86
|
+
template.label.set(node.element.label, createMatches(node.filterData));
|
|
87
|
+
}
|
|
88
|
+
disposeTemplate(_template) {
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
let DocumentSymbolRenderer = class DocumentSymbolRenderer {
|
|
92
|
+
constructor(_renderMarker, _configurationService, _themeService) {
|
|
93
|
+
this._renderMarker = _renderMarker;
|
|
94
|
+
this._configurationService = _configurationService;
|
|
95
|
+
this._themeService = _themeService;
|
|
96
|
+
this.templateId = DocumentSymbolTemplate.id;
|
|
97
|
+
}
|
|
98
|
+
renderTemplate(container) {
|
|
99
|
+
container.classList.add('outline-element');
|
|
100
|
+
const iconLabel = ( new IconLabel(container, { supportHighlights: true }));
|
|
101
|
+
const iconClass = dom.$('.outline-element-icon');
|
|
102
|
+
const decoration = dom.$('.outline-element-decoration');
|
|
103
|
+
container.prepend(iconClass);
|
|
104
|
+
container.appendChild(decoration);
|
|
105
|
+
return ( new DocumentSymbolTemplate(container, iconLabel, iconClass, decoration));
|
|
106
|
+
}
|
|
107
|
+
renderElement(node, _index, template) {
|
|
108
|
+
const { element } = node;
|
|
109
|
+
const extraClasses = ['nowrap'];
|
|
110
|
+
const options = {
|
|
111
|
+
matches: createMatches(node.filterData),
|
|
112
|
+
labelEscapeNewLines: true,
|
|
113
|
+
extraClasses,
|
|
114
|
+
title: ( localize(
|
|
115
|
+
'title.template',
|
|
116
|
+
"{0} ({1})",
|
|
117
|
+
element.symbol.name,
|
|
118
|
+
DocumentSymbolRenderer._symbolKindNames[element.symbol.kind]
|
|
119
|
+
))
|
|
120
|
+
};
|
|
121
|
+
if (this._configurationService.getValue("outline.icons" )) {
|
|
122
|
+
template.iconClass.className = '';
|
|
123
|
+
template.iconClass.classList.add('outline-element-icon', 'inline', ...ThemeIcon.asClassNameArray(SymbolKinds.toIcon(element.symbol.kind)));
|
|
124
|
+
}
|
|
125
|
+
if (element.symbol.tags.indexOf(1 ) >= 0) {
|
|
126
|
+
extraClasses.push(`deprecated`);
|
|
127
|
+
options.matches = [];
|
|
128
|
+
}
|
|
129
|
+
template.iconLabel.setLabel(element.symbol.name, element.symbol.detail, options);
|
|
130
|
+
if (this._renderMarker) {
|
|
131
|
+
this._renderMarkerInfo(element, template);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
_renderMarkerInfo(element, template) {
|
|
135
|
+
if (!element.marker) {
|
|
136
|
+
dom.hide(template.decoration);
|
|
137
|
+
template.container.style.removeProperty('--outline-element-color');
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const { count, topSev } = element.marker;
|
|
141
|
+
const color = this._themeService.getColorTheme().getColor(topSev === MarkerSeverity.Error ? listErrorForeground : listWarningForeground);
|
|
142
|
+
const cssColor = color ? ( color.toString()) : 'inherit';
|
|
143
|
+
if (this._configurationService.getValue("outline.problems.colors" )) {
|
|
144
|
+
template.container.style.setProperty('--outline-element-color', cssColor);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
template.container.style.removeProperty('--outline-element-color');
|
|
148
|
+
}
|
|
149
|
+
if (!this._configurationService.getValue("outline.problems.badges" )) {
|
|
150
|
+
dom.hide(template.decoration);
|
|
151
|
+
}
|
|
152
|
+
else if (count > 0) {
|
|
153
|
+
dom.show(template.decoration);
|
|
154
|
+
template.decoration.classList.remove('bubble');
|
|
155
|
+
template.decoration.innerText = count < 10 ? ( count.toString()) : '+9';
|
|
156
|
+
template.decoration.title = count === 1 ? ( localize('1.problem', "1 problem in this element")) : ( localize('N.problem', "{0} problems in this element", count));
|
|
157
|
+
template.decoration.style.setProperty('--outline-element-color', cssColor);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
dom.show(template.decoration);
|
|
161
|
+
template.decoration.classList.add('bubble');
|
|
162
|
+
template.decoration.innerText = '\uea71';
|
|
163
|
+
template.decoration.title = ( localize('deep.problem', "Contains elements with problems"));
|
|
164
|
+
template.decoration.style.setProperty('--outline-element-color', cssColor);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
disposeTemplate(_template) {
|
|
168
|
+
_template.iconLabel.dispose();
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
DocumentSymbolRenderer._symbolKindNames = {
|
|
172
|
+
[17 ]: ( localize('Array', "array")),
|
|
173
|
+
[16 ]: ( localize('Boolean', "boolean")),
|
|
174
|
+
[4 ]: ( localize('Class', "class")),
|
|
175
|
+
[13 ]: ( localize('Constant', "constant")),
|
|
176
|
+
[8 ]: ( localize('Constructor', "constructor")),
|
|
177
|
+
[9 ]: ( localize('Enum', "enumeration")),
|
|
178
|
+
[21 ]: ( localize('EnumMember', "enumeration member")),
|
|
179
|
+
[23 ]: ( localize('Event', "event")),
|
|
180
|
+
[7 ]: ( localize('Field', "field")),
|
|
181
|
+
[0 ]: ( localize('File', "file")),
|
|
182
|
+
[11 ]: ( localize('Function', "function")),
|
|
183
|
+
[10 ]: ( localize('Interface', "interface")),
|
|
184
|
+
[19 ]: ( localize('Key', "key")),
|
|
185
|
+
[5 ]: ( localize('Method', "method")),
|
|
186
|
+
[1 ]: ( localize('Module', "module")),
|
|
187
|
+
[2 ]: ( localize('Namespace', "namespace")),
|
|
188
|
+
[20 ]: ( localize('Null', "null")),
|
|
189
|
+
[15 ]: ( localize('Number', "number")),
|
|
190
|
+
[18 ]: ( localize('Object', "object")),
|
|
191
|
+
[24 ]: ( localize('Operator', "operator")),
|
|
192
|
+
[3 ]: ( localize('Package', "package")),
|
|
193
|
+
[6 ]: ( localize('Property', "property")),
|
|
194
|
+
[14 ]: ( localize('String', "string")),
|
|
195
|
+
[22 ]: ( localize('Struct', "struct")),
|
|
196
|
+
[25 ]: ( localize('TypeParameter', "type parameter")),
|
|
197
|
+
[12 ]: ( localize('Variable', "variable")),
|
|
198
|
+
};
|
|
199
|
+
DocumentSymbolRenderer = ( __decorate([
|
|
200
|
+
( __param(1, IConfigurationService)),
|
|
201
|
+
( __param(2, IThemeService))
|
|
202
|
+
], DocumentSymbolRenderer));
|
|
203
|
+
let DocumentSymbolFilter = class DocumentSymbolFilter {
|
|
204
|
+
constructor(_prefix, _textResourceConfigService) {
|
|
205
|
+
this._prefix = _prefix;
|
|
206
|
+
this._textResourceConfigService = _textResourceConfigService;
|
|
207
|
+
}
|
|
208
|
+
filter(element) {
|
|
209
|
+
const outline = OutlineModel.get(element);
|
|
210
|
+
if (!(element instanceof OutlineElement)) {
|
|
211
|
+
return true;
|
|
212
|
+
}
|
|
213
|
+
const configName = DocumentSymbolFilter.kindToConfigName[element.symbol.kind];
|
|
214
|
+
const configKey = `${this._prefix}.${configName}`;
|
|
215
|
+
return this._textResourceConfigService.getValue(outline?.uri, configKey);
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
DocumentSymbolFilter.kindToConfigName = ( Object.freeze({
|
|
219
|
+
[0 ]: 'showFiles',
|
|
220
|
+
[1 ]: 'showModules',
|
|
221
|
+
[2 ]: 'showNamespaces',
|
|
222
|
+
[3 ]: 'showPackages',
|
|
223
|
+
[4 ]: 'showClasses',
|
|
224
|
+
[5 ]: 'showMethods',
|
|
225
|
+
[6 ]: 'showProperties',
|
|
226
|
+
[7 ]: 'showFields',
|
|
227
|
+
[8 ]: 'showConstructors',
|
|
228
|
+
[9 ]: 'showEnums',
|
|
229
|
+
[10 ]: 'showInterfaces',
|
|
230
|
+
[11 ]: 'showFunctions',
|
|
231
|
+
[12 ]: 'showVariables',
|
|
232
|
+
[13 ]: 'showConstants',
|
|
233
|
+
[14 ]: 'showStrings',
|
|
234
|
+
[15 ]: 'showNumbers',
|
|
235
|
+
[16 ]: 'showBooleans',
|
|
236
|
+
[17 ]: 'showArrays',
|
|
237
|
+
[18 ]: 'showObjects',
|
|
238
|
+
[19 ]: 'showKeys',
|
|
239
|
+
[20 ]: 'showNull',
|
|
240
|
+
[21 ]: 'showEnumMembers',
|
|
241
|
+
[22 ]: 'showStructs',
|
|
242
|
+
[23 ]: 'showEvents',
|
|
243
|
+
[24 ]: 'showOperators',
|
|
244
|
+
[25 ]: 'showTypeParameters',
|
|
245
|
+
}));
|
|
246
|
+
DocumentSymbolFilter = ( __decorate([
|
|
247
|
+
( __param(1, ITextResourceConfigurationService))
|
|
248
|
+
], DocumentSymbolFilter));
|
|
249
|
+
class DocumentSymbolComparator {
|
|
250
|
+
constructor() {
|
|
251
|
+
this._collator = ( new IdleValue(() => new Intl.Collator(undefined, { numeric: true })));
|
|
252
|
+
}
|
|
253
|
+
compareByPosition(a, b) {
|
|
254
|
+
if (a instanceof OutlineGroup && b instanceof OutlineGroup) {
|
|
255
|
+
return a.order - b.order;
|
|
256
|
+
}
|
|
257
|
+
else if (a instanceof OutlineElement && b instanceof OutlineElement) {
|
|
258
|
+
return Range.compareRangesUsingStarts(a.symbol.range, b.symbol.range) || this._collator.value.compare(a.symbol.name, b.symbol.name);
|
|
259
|
+
}
|
|
260
|
+
return 0;
|
|
261
|
+
}
|
|
262
|
+
compareByType(a, b) {
|
|
263
|
+
if (a instanceof OutlineGroup && b instanceof OutlineGroup) {
|
|
264
|
+
return a.order - b.order;
|
|
265
|
+
}
|
|
266
|
+
else if (a instanceof OutlineElement && b instanceof OutlineElement) {
|
|
267
|
+
return a.symbol.kind - b.symbol.kind || this._collator.value.compare(a.symbol.name, b.symbol.name);
|
|
268
|
+
}
|
|
269
|
+
return 0;
|
|
270
|
+
}
|
|
271
|
+
compareByName(a, b) {
|
|
272
|
+
if (a instanceof OutlineGroup && b instanceof OutlineGroup) {
|
|
273
|
+
return a.order - b.order;
|
|
274
|
+
}
|
|
275
|
+
else if (a instanceof OutlineElement && b instanceof OutlineElement) {
|
|
276
|
+
return this._collator.value.compare(a.symbol.name, b.symbol.name) || Range.compareRangesUsingStarts(a.symbol.range, b.symbol.range);
|
|
277
|
+
}
|
|
278
|
+
return 0;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
export { DocumentSymbolAccessibilityProvider, DocumentSymbolComparator, DocumentSymbolFilter, DocumentSymbolGroupRenderer, DocumentSymbolIdentityProvider, DocumentSymbolNavigationLabelProvider, DocumentSymbolRenderer, DocumentSymbolVirtualDelegate };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SyncDescriptor } from 'monaco-editor/esm/vs/platform/instantiation/common/descriptors.js';
|
|
2
|
+
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
3
|
+
import { EditorPaneDescriptor } from '../../../browser/editor.js';
|
|
4
|
+
import { Extensions } from '../../../common/contributions.js';
|
|
5
|
+
import { EditorExtensions } from '../../../common/editor.js';
|
|
6
|
+
import { ComplexCustomWorkingCopyEditorHandler } from './customEditorInputFactory.js';
|
|
7
|
+
import { WebviewEditor } from '../../webviewPanel/browser/webviewEditor.js';
|
|
8
|
+
import { CustomEditorInput } from './customEditorInput.js';
|
|
9
|
+
( Registry.as(EditorExtensions.EditorPane))
|
|
10
|
+
.registerEditorPane(EditorPaneDescriptor.create(WebviewEditor, WebviewEditor.ID, 'Webview Editor'), [
|
|
11
|
+
( new SyncDescriptor(CustomEditorInput))
|
|
12
|
+
]);
|
|
13
|
+
( Registry.as(Extensions.Workbench))
|
|
14
|
+
.registerWorkbenchContribution(ComplexCustomWorkingCopyEditorHandler, 1 );
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
3
|
+
import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
|
|
4
|
+
import { isEqual } from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
5
|
+
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
6
|
+
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
7
|
+
import { CustomEditorInput } from './customEditorInput.js';
|
|
8
|
+
import { ICustomEditorService } from '../common/customEditor.js';
|
|
9
|
+
import { NotebookEditorInput } from '../../../../../../override/vs/workbench/contrib/notebook/common/notebookEditorInput.js';
|
|
10
|
+
import { IWebviewService } from '../../webview/browser/webview.js';
|
|
11
|
+
import { WebviewEditorInputSerializer, restoreWebviewOptions, restoreWebviewContentOptions, reviveWebviewExtensionDescription } from '../../webviewPanel/browser/webviewEditorInputSerializer.js';
|
|
12
|
+
import { IWebviewWorkbenchService } from '../../webviewPanel/browser/webviewWorkbenchService.js';
|
|
13
|
+
import { IWorkingCopyBackupService } from '../../../services/workingCopy/common/workingCopyBackup.js';
|
|
14
|
+
import { IWorkingCopyEditorService } from '../../../services/workingCopy/common/workingCopyEditorService.js';
|
|
15
|
+
let CustomEditorInputSerializer = class CustomEditorInputSerializer extends WebviewEditorInputSerializer {
|
|
16
|
+
constructor(webviewWorkbenchService, _instantiationService, _webviewService) {
|
|
17
|
+
super(webviewWorkbenchService);
|
|
18
|
+
this._instantiationService = _instantiationService;
|
|
19
|
+
this._webviewService = _webviewService;
|
|
20
|
+
}
|
|
21
|
+
serialize(input) {
|
|
22
|
+
const dirty = input.isDirty();
|
|
23
|
+
const data = {
|
|
24
|
+
...this.toJson(input),
|
|
25
|
+
editorResource: input.resource.toJSON(),
|
|
26
|
+
dirty,
|
|
27
|
+
backupId: dirty ? input.backupId : undefined,
|
|
28
|
+
};
|
|
29
|
+
try {
|
|
30
|
+
return JSON.stringify(data);
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
fromJson(data) {
|
|
37
|
+
return {
|
|
38
|
+
...super.fromJson(data),
|
|
39
|
+
editorResource: ( URI.from(data.editorResource)),
|
|
40
|
+
dirty: data.dirty,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
deserialize(_instantiationService, serializedEditorInput) {
|
|
44
|
+
const data = this.fromJson(JSON.parse(serializedEditorInput));
|
|
45
|
+
const webview = reviveWebview(this._webviewService, data);
|
|
46
|
+
const customInput = this._instantiationService.createInstance(CustomEditorInput, { resource: data.editorResource, viewType: data.viewType }, webview, { startsDirty: data.dirty, backupId: data.backupId });
|
|
47
|
+
if (typeof data.group === 'number') {
|
|
48
|
+
customInput.updateGroup(data.group);
|
|
49
|
+
}
|
|
50
|
+
return customInput;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
CustomEditorInputSerializer.ID = CustomEditorInput.typeId;
|
|
54
|
+
CustomEditorInputSerializer = ( __decorate([
|
|
55
|
+
( __param(0, IWebviewWorkbenchService)),
|
|
56
|
+
( __param(1, IInstantiationService)),
|
|
57
|
+
( __param(2, IWebviewService))
|
|
58
|
+
], CustomEditorInputSerializer));
|
|
59
|
+
function reviveWebview(webviewService, data) {
|
|
60
|
+
const webview = webviewService.createWebviewOverlay({
|
|
61
|
+
providedViewType: data.viewType,
|
|
62
|
+
origin: data.origin,
|
|
63
|
+
title: undefined,
|
|
64
|
+
options: {
|
|
65
|
+
purpose: "customEditor" ,
|
|
66
|
+
enableFindWidget: data.webviewOptions.enableFindWidget,
|
|
67
|
+
retainContextWhenHidden: data.webviewOptions.retainContextWhenHidden,
|
|
68
|
+
},
|
|
69
|
+
contentOptions: data.contentOptions,
|
|
70
|
+
extension: data.extension,
|
|
71
|
+
});
|
|
72
|
+
webview.state = data.state;
|
|
73
|
+
return webview;
|
|
74
|
+
}
|
|
75
|
+
let ComplexCustomWorkingCopyEditorHandler = class ComplexCustomWorkingCopyEditorHandler extends Disposable {
|
|
76
|
+
constructor(_instantiationService, _workingCopyEditorService, _workingCopyBackupService, _webviewService, _customEditorService
|
|
77
|
+
) {
|
|
78
|
+
super();
|
|
79
|
+
this._instantiationService = _instantiationService;
|
|
80
|
+
this._workingCopyBackupService = _workingCopyBackupService;
|
|
81
|
+
this._webviewService = _webviewService;
|
|
82
|
+
this._register(_workingCopyEditorService.registerHandler(this));
|
|
83
|
+
}
|
|
84
|
+
handles(workingCopy) {
|
|
85
|
+
return workingCopy.resource.scheme === Schemas.vscodeCustomEditor;
|
|
86
|
+
}
|
|
87
|
+
isOpen(workingCopy, editor) {
|
|
88
|
+
if (!this.handles(workingCopy)) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
if (workingCopy.resource.authority === 'jupyter-notebook-ipynb' && editor instanceof NotebookEditorInput) {
|
|
92
|
+
try {
|
|
93
|
+
const data = JSON.parse(workingCopy.resource.query);
|
|
94
|
+
const workingCopyResource = ( URI.from(data));
|
|
95
|
+
return isEqual(workingCopyResource, editor.resource);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (!(editor instanceof CustomEditorInput)) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
if (workingCopy.resource.authority !== editor.viewType.replace(/[^a-z0-9\-_]/gi, '-').toLowerCase()) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
try {
|
|
108
|
+
const data = JSON.parse(workingCopy.resource.query);
|
|
109
|
+
const workingCopyResource = ( URI.from(data));
|
|
110
|
+
return isEqual(workingCopyResource, editor.resource);
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async createEditor(workingCopy) {
|
|
117
|
+
const backup = await this._workingCopyBackupService.resolve(workingCopy);
|
|
118
|
+
if (!backup?.meta) {
|
|
119
|
+
throw new Error(`No backup found for custom editor: ${workingCopy.resource}`);
|
|
120
|
+
}
|
|
121
|
+
const backupData = backup.meta;
|
|
122
|
+
const extension = reviveWebviewExtensionDescription(backupData.extension?.id, backupData.extension?.location);
|
|
123
|
+
const webview = reviveWebview(this._webviewService, {
|
|
124
|
+
viewType: backupData.viewType,
|
|
125
|
+
origin: backupData.webview.origin,
|
|
126
|
+
webviewOptions: restoreWebviewOptions(backupData.webview.options),
|
|
127
|
+
contentOptions: restoreWebviewContentOptions(backupData.webview.options),
|
|
128
|
+
state: backupData.webview.state,
|
|
129
|
+
extension,
|
|
130
|
+
});
|
|
131
|
+
const editor = this._instantiationService.createInstance(CustomEditorInput, { resource: URI.revive(backupData.editorResource), viewType: backupData.viewType }, webview, { backupId: backupData.backupId });
|
|
132
|
+
editor.updateGroup(0);
|
|
133
|
+
return editor;
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
ComplexCustomWorkingCopyEditorHandler = ( __decorate([
|
|
137
|
+
( __param(0, IInstantiationService)),
|
|
138
|
+
( __param(1, IWorkingCopyEditorService)),
|
|
139
|
+
( __param(2, IWorkingCopyBackupService)),
|
|
140
|
+
( __param(3, IWebviewService)),
|
|
141
|
+
( __param(4, ICustomEditorService))
|
|
142
|
+
], ComplexCustomWorkingCopyEditorHandler));
|
|
143
|
+
export { ComplexCustomWorkingCopyEditorHandler, CustomEditorInputSerializer };
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import './media/customEditor.css.js';
|
|
3
|
+
import { coalesce } from 'monaco-editor/esm/vs/base/common/arrays.js';
|
|
4
|
+
import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
5
|
+
import { Disposable, DisposableStore, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
6
|
+
import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
|
|
7
|
+
import { extname, isEqual } from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
8
|
+
import { assertIsDefined } from 'monaco-editor/esm/vs/base/common/types.js';
|
|
9
|
+
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
10
|
+
import { UndoCommand, RedoCommand } from 'monaco-editor/esm/vs/editor/browser/editorExtensions.js';
|
|
11
|
+
import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
12
|
+
import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
|
|
13
|
+
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
14
|
+
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
15
|
+
import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
|
|
16
|
+
import { IUriIdentityService } from 'monaco-editor/esm/vs/platform/uriIdentity/common/uriIdentity.js';
|
|
17
|
+
import { EditorExtensions, DEFAULT_EDITOR_ASSOCIATION } from '../../../common/editor.js';
|
|
18
|
+
import { DiffEditorInput } from '../../../common/editor/diffEditorInput.js';
|
|
19
|
+
import { CONTEXT_ACTIVE_CUSTOM_EDITOR_ID, CONTEXT_FOCUSED_CUSTOM_EDITOR_IS_EDITABLE, CustomEditorInfoCollection } from '../common/customEditor.js';
|
|
20
|
+
import { CustomEditorModelManager } from '../common/customEditorModelManager.js';
|
|
21
|
+
import { IEditorGroupsService } from '../../../services/editor/common/editorGroupsService.js';
|
|
22
|
+
import { RegisteredEditorPriority, IEditorResolverService } from '../../../services/editor/common/editorResolverService.js';
|
|
23
|
+
import { IEditorService } from '../../../services/editor/common/editorService.js';
|
|
24
|
+
import { ContributedCustomEditors } from '../common/contributedCustomEditors.js';
|
|
25
|
+
import { CustomEditorInput } from './customEditorInput.js';
|
|
26
|
+
let CustomEditorService = class CustomEditorService extends Disposable {
|
|
27
|
+
constructor(contextKeyService, fileService, storageService, editorService, editorGroupService, instantiationService, uriIdentityService, editorResolverService) {
|
|
28
|
+
super();
|
|
29
|
+
this.editorService = editorService;
|
|
30
|
+
this.editorGroupService = editorGroupService;
|
|
31
|
+
this.instantiationService = instantiationService;
|
|
32
|
+
this.uriIdentityService = uriIdentityService;
|
|
33
|
+
this.editorResolverService = editorResolverService;
|
|
34
|
+
this._untitledCounter = 0;
|
|
35
|
+
this._editorResolverDisposables = this._register(( new DisposableStore()));
|
|
36
|
+
this._editorCapabilities = ( new Map());
|
|
37
|
+
this._models = ( new CustomEditorModelManager());
|
|
38
|
+
this._onDidChangeEditorTypes = this._register(( new Emitter()));
|
|
39
|
+
this.onDidChangeEditorTypes = this._onDidChangeEditorTypes.event;
|
|
40
|
+
this._fileEditorFactory = ( Registry.as(EditorExtensions.EditorFactory)).getFileEditorFactory();
|
|
41
|
+
this._activeCustomEditorId = CONTEXT_ACTIVE_CUSTOM_EDITOR_ID.bindTo(contextKeyService);
|
|
42
|
+
this._focusedCustomEditorIsEditable = CONTEXT_FOCUSED_CUSTOM_EDITOR_IS_EDITABLE.bindTo(contextKeyService);
|
|
43
|
+
this._contributedEditors = this._register(( new ContributedCustomEditors(storageService)));
|
|
44
|
+
this.editorResolverService.bufferChangeEvents(this.registerContributionPoints.bind(this));
|
|
45
|
+
this._register(this._contributedEditors.onChange(() => {
|
|
46
|
+
this.editorResolverService.bufferChangeEvents(this.registerContributionPoints.bind(this));
|
|
47
|
+
this.updateContexts();
|
|
48
|
+
this._onDidChangeEditorTypes.fire();
|
|
49
|
+
}));
|
|
50
|
+
this._register(this.editorService.onDidActiveEditorChange(() => this.updateContexts()));
|
|
51
|
+
this._register(fileService.onDidRunOperation(e => {
|
|
52
|
+
if (e.isOperation(2 )) {
|
|
53
|
+
this.handleMovedFileInOpenedFileEditors(e.resource, this.uriIdentityService.asCanonicalUri(e.target.resource));
|
|
54
|
+
}
|
|
55
|
+
}));
|
|
56
|
+
const PRIORITY = 105;
|
|
57
|
+
this._register(UndoCommand.addImplementation(PRIORITY, 'custom-editor', () => {
|
|
58
|
+
return this.withActiveCustomEditor(editor => editor.undo());
|
|
59
|
+
}));
|
|
60
|
+
this._register(RedoCommand.addImplementation(PRIORITY, 'custom-editor', () => {
|
|
61
|
+
return this.withActiveCustomEditor(editor => editor.redo());
|
|
62
|
+
}));
|
|
63
|
+
this.updateContexts();
|
|
64
|
+
}
|
|
65
|
+
getEditorTypes() {
|
|
66
|
+
return [...this._contributedEditors];
|
|
67
|
+
}
|
|
68
|
+
withActiveCustomEditor(f) {
|
|
69
|
+
const activeEditor = this.editorService.activeEditor;
|
|
70
|
+
if (activeEditor instanceof CustomEditorInput) {
|
|
71
|
+
const result = f(activeEditor);
|
|
72
|
+
if (result) {
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
registerContributionPoints() {
|
|
80
|
+
this._editorResolverDisposables.clear();
|
|
81
|
+
for (const contributedEditor of this._contributedEditors) {
|
|
82
|
+
for (const globPattern of contributedEditor.selector) {
|
|
83
|
+
if (!globPattern.filenamePattern) {
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
this._editorResolverDisposables.add(this.editorResolverService.registerEditor(globPattern.filenamePattern, {
|
|
87
|
+
id: contributedEditor.id,
|
|
88
|
+
label: contributedEditor.displayName,
|
|
89
|
+
detail: contributedEditor.providerDisplayName,
|
|
90
|
+
priority: contributedEditor.priority,
|
|
91
|
+
}, {
|
|
92
|
+
singlePerResource: () => !this.getCustomEditorCapabilities(contributedEditor.id)?.supportsMultipleEditorsPerDocument ?? true
|
|
93
|
+
}, {
|
|
94
|
+
createEditorInput: ({ resource }, group) => {
|
|
95
|
+
return { editor: CustomEditorInput.create(this.instantiationService, resource, contributedEditor.id, group.id) };
|
|
96
|
+
},
|
|
97
|
+
createUntitledEditorInput: ({ resource }, group) => {
|
|
98
|
+
return { editor: CustomEditorInput.create(this.instantiationService, resource ?? ( URI.from(
|
|
99
|
+
{ scheme: Schemas.untitled, authority: `Untitled-${this._untitledCounter++}` }
|
|
100
|
+
)), contributedEditor.id, group.id) };
|
|
101
|
+
},
|
|
102
|
+
createDiffEditorInput: (diffEditorInput, group) => {
|
|
103
|
+
return { editor: this.createDiffEditorInput(diffEditorInput, contributedEditor.id, group) };
|
|
104
|
+
},
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
createDiffEditorInput(editor, editorID, group) {
|
|
110
|
+
const modifiedOverride = CustomEditorInput.create(this.instantiationService, assertIsDefined(editor.modified.resource), editorID, group.id, { customClasses: 'modified' });
|
|
111
|
+
const originalOverride = CustomEditorInput.create(this.instantiationService, assertIsDefined(editor.original.resource), editorID, group.id, { customClasses: 'original' });
|
|
112
|
+
return this.instantiationService.createInstance(DiffEditorInput, editor.label, editor.description, originalOverride, modifiedOverride, true);
|
|
113
|
+
}
|
|
114
|
+
get models() { return this._models; }
|
|
115
|
+
getCustomEditor(viewType) {
|
|
116
|
+
return this._contributedEditors.get(viewType);
|
|
117
|
+
}
|
|
118
|
+
getContributedCustomEditors(resource) {
|
|
119
|
+
return ( new CustomEditorInfoCollection(this._contributedEditors.getContributedEditors(resource)));
|
|
120
|
+
}
|
|
121
|
+
getUserConfiguredCustomEditors(resource) {
|
|
122
|
+
const resourceAssocations = this.editorResolverService.getAssociationsForResource(resource);
|
|
123
|
+
return ( new CustomEditorInfoCollection(coalesce(( resourceAssocations
|
|
124
|
+
.map(association => this._contributedEditors.get(association.viewType))))));
|
|
125
|
+
}
|
|
126
|
+
getAllCustomEditors(resource) {
|
|
127
|
+
return ( new CustomEditorInfoCollection([
|
|
128
|
+
...this.getUserConfiguredCustomEditors(resource).allEditors,
|
|
129
|
+
...this.getContributedCustomEditors(resource).allEditors,
|
|
130
|
+
]));
|
|
131
|
+
}
|
|
132
|
+
registerCustomEditorCapabilities(viewType, options) {
|
|
133
|
+
if (( this._editorCapabilities.has(viewType))) {
|
|
134
|
+
throw new Error(`Capabilities for ${viewType} already set`);
|
|
135
|
+
}
|
|
136
|
+
this._editorCapabilities.set(viewType, options);
|
|
137
|
+
return toDisposable(() => {
|
|
138
|
+
this._editorCapabilities.delete(viewType);
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
getCustomEditorCapabilities(viewType) {
|
|
142
|
+
return this._editorCapabilities.get(viewType);
|
|
143
|
+
}
|
|
144
|
+
updateContexts() {
|
|
145
|
+
const activeEditorPane = this.editorService.activeEditorPane;
|
|
146
|
+
const resource = activeEditorPane?.input?.resource;
|
|
147
|
+
if (!resource) {
|
|
148
|
+
this._activeCustomEditorId.reset();
|
|
149
|
+
this._focusedCustomEditorIsEditable.reset();
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
this._activeCustomEditorId.set(activeEditorPane?.input instanceof CustomEditorInput ? activeEditorPane.input.viewType : '');
|
|
153
|
+
this._focusedCustomEditorIsEditable.set(activeEditorPane?.input instanceof CustomEditorInput);
|
|
154
|
+
}
|
|
155
|
+
async handleMovedFileInOpenedFileEditors(oldResource, newResource) {
|
|
156
|
+
if (extname(oldResource).toLowerCase() === extname(newResource).toLowerCase()) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
const possibleEditors = this.getAllCustomEditors(newResource);
|
|
160
|
+
if (!( possibleEditors.allEditors.some(editor => editor.priority !== RegisteredEditorPriority.option))) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const editorsToReplace = ( new Map());
|
|
164
|
+
for (const group of this.editorGroupService.groups) {
|
|
165
|
+
for (const editor of group.editors) {
|
|
166
|
+
if (this._fileEditorFactory.isFileEditor(editor)
|
|
167
|
+
&& !(editor instanceof CustomEditorInput)
|
|
168
|
+
&& isEqual(editor.resource, newResource)) {
|
|
169
|
+
let entry = editorsToReplace.get(group.id);
|
|
170
|
+
if (!entry) {
|
|
171
|
+
entry = [];
|
|
172
|
+
editorsToReplace.set(group.id, entry);
|
|
173
|
+
}
|
|
174
|
+
entry.push(editor);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
if (!editorsToReplace.size) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
for (const [group, entries] of editorsToReplace) {
|
|
182
|
+
this.editorService.replaceEditors(( entries.map(editor => {
|
|
183
|
+
let replacement;
|
|
184
|
+
if (possibleEditors.defaultEditor) {
|
|
185
|
+
const viewType = possibleEditors.defaultEditor.id;
|
|
186
|
+
replacement = CustomEditorInput.create(this.instantiationService, newResource, viewType, group);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
replacement = { resource: newResource, options: { override: DEFAULT_EDITOR_ASSOCIATION.id } };
|
|
190
|
+
}
|
|
191
|
+
return {
|
|
192
|
+
editor,
|
|
193
|
+
replacement,
|
|
194
|
+
options: {
|
|
195
|
+
preserveFocus: true,
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
})), group);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
CustomEditorService = ( __decorate([
|
|
203
|
+
( __param(0, IContextKeyService)),
|
|
204
|
+
( __param(1, IFileService)),
|
|
205
|
+
( __param(2, IStorageService)),
|
|
206
|
+
( __param(3, IEditorService)),
|
|
207
|
+
( __param(4, IEditorGroupsService)),
|
|
208
|
+
( __param(5, IInstantiationService)),
|
|
209
|
+
( __param(6, IUriIdentityService)),
|
|
210
|
+
( __param(7, IEditorResolverService))
|
|
211
|
+
], CustomEditorService));
|
|
212
|
+
export { CustomEditorService };
|