@codingame/monaco-vscode-api 1.83.16 → 1.85.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api.js +13 -7
- package/assets/clear.mp3 +0 -0
- package/assets/format.mp3 +0 -0
- package/assets/save.mp3 +0 -0
- package/extensions.d.ts +13 -3
- package/external/{xterm-addon-image/typings/xterm-addon-image.d.ts → @xterm/addon-image/typings/addon-image.d.ts} +1 -1
- package/external/{xterm → @xterm/xterm}/typings/xterm.d.ts +13 -1
- package/lifecycle.js +2 -2
- package/localExtensionHost.js +3 -1
- package/missing-services.js +115 -23
- package/monaco-editor-treemending.patch +6884 -18018
- package/monaco-treemending.js +2 -2
- package/package.json +7 -7
- package/service-override/tools/editor.d.ts +8 -8
- package/service-override/tools/editor.js +44 -19
- package/services.d.ts +2 -2
- package/services.js +3 -3
- package/vscode/src/vs/base/browser/broadcast.js +6 -5
- package/vscode/src/vs/base/browser/dnd.d.ts +6 -0
- package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
- package/vscode/src/vs/base/browser/touch.d.ts +10 -0
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
- package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +22 -15
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +4 -3
- package/vscode/src/vs/base/browser/ui/splitview/paneview.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +3 -0
- package/vscode/src/vs/base/browser/ui/splitview/paneview.js +34 -11
- package/vscode/src/vs/base/common/actions.d.ts +1 -15
- package/vscode/src/vs/base/common/async.d.ts +1 -31
- package/vscode/src/vs/base/common/event.d.ts +2 -1
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +23 -10
- package/vscode/src/vs/base/common/prefixTree.js +21 -11
- package/vscode/src/vs/base/common/product.d.ts +16 -2
- package/vscode/src/vs/base/common/resourceTree.js +135 -0
- package/vscode/src/vs/base/common/skipList.js +1 -0
- package/vscode/src/vs/base/common/tfIdf.js +137 -0
- package/vscode/src/vs/base/common/types.d.ts +13 -1
- package/vscode/src/vs/base/common/verifier.js +62 -0
- package/vscode/src/vs/editor/browser/editorBrowser.d.ts +4 -2
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -4
- package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
- package/vscode/src/vs/editor/common/core/offsetRange.d.ts +3 -0
- package/vscode/src/vs/editor/common/core/position.d.ts +1 -0
- package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
- package/vscode/src/vs/editor/common/languages.d.ts +23 -1
- package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
- package/vscode/src/vs/editor/common/services/resolverService.d.ts +11 -2
- package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +16 -1
- package/vscode/src/vs/platform/action/common/action.d.ts +8 -0
- package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +4 -0
- package/vscode/src/vs/platform/actions/common/actions.d.ts +8 -0
- package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +6 -0
- package/vscode/src/vs/platform/commands/common/commands.d.ts +13 -5
- package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +9 -3
- package/vscode/src/vs/platform/dialogs/common/dialogs.js +5 -2
- package/vscode/src/vs/platform/editor/common/editor.d.ts +3 -15
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -15
- package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +5 -0
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +0 -1
- package/vscode/src/vs/platform/files/common/files.d.ts +72 -8
- package/vscode/src/vs/platform/files/common/watcher.js +77 -0
- package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +2 -2
- package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +52 -21
- package/vscode/src/vs/platform/request/browser/requestService.js +3 -0
- package/vscode/src/vs/platform/request/common/requestIpc.js +17 -0
- package/vscode/src/vs/platform/storage/common/storage.js +2 -2
- package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +12 -7
- package/vscode/src/vs/platform/terminal/common/capabilities/{commandDetectionCapability.d.ts → commandDetection/terminalCommand.d.ts} +3 -2
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +257 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +439 -354
- package/vscode/src/vs/platform/window/common/window.d.ts +9 -2
- package/vscode/src/vs/platform/window/common/window.js +6 -1
- package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +2 -43
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +113 -81
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +5 -4
- package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +25 -3
- package/vscode/src/vs/workbench/api/common/extHostChat.js +13 -163
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +412 -0
- package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +79 -11
- package/vscode/src/vs/workbench/api/common/extHostCommands.js +13 -12
- package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +8 -6
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +36 -19
- package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +52 -31
- package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +38 -0
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +28 -3
- package/vscode/src/vs/workbench/api/common/extHostLanguages.js +10 -0
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +117 -2
- package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +32 -4
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +85 -23
- package/vscode/src/vs/workbench/api/common/extHostSearch.js +3 -0
- package/vscode/src/vs/workbench/api/common/extHostSpeech.js +42 -0
- package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostTesting.js +97 -47
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +115 -16
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +66 -36
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +6 -1
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +182 -75
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +176 -4
- package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +143 -2
- package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +237 -0
- package/vscode/src/vs/workbench/browser/composite.d.ts +0 -4
- package/vscode/src/vs/workbench/browser/composite.js +5 -4
- package/vscode/src/vs/workbench/browser/dnd.js +72 -23
- package/vscode/src/vs/workbench/browser/labels.js +7 -3
- package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
- package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -2
- package/vscode/src/vs/workbench/browser/panecomposite.js +2 -0
- package/vscode/src/vs/workbench/browser/part.js +33 -2
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +99 -117
- package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +173 -33
- package/vscode/src/vs/workbench/browser/parts/editor/editor.js +102 -6
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +256 -17
- package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +68 -35
- package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -5
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +35 -16
- package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +348 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +43 -31
- package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -0
- package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -0
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +14 -2
- package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +277 -0
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +5 -2
- package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +3 -38
- package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +54 -52
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +2 -1
- package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +25 -0
- package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +258 -0
- package/vscode/src/vs/workbench/browser/parts/views/media/paneviewlet.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -5
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +157 -117
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +50 -23
- package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +26 -11
- package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +10 -6
- package/vscode/src/vs/workbench/browser/style.js +2 -1
- package/vscode/src/vs/workbench/browser/web.api.d.ts +39 -2
- package/vscode/src/vs/workbench/browser/window.js +55 -0
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +220 -40
- package/vscode/src/vs/workbench/common/activity.js +3 -0
- package/vscode/src/vs/workbench/common/contextkeys.js +35 -5
- package/vscode/src/vs/workbench/common/contributions.js +4 -3
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +14 -4
- package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +1 -1
- package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +22 -19
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +4 -3
- package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +1 -2
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +22 -4
- package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +3 -3
- package/vscode/src/vs/workbench/common/editor.d.ts +60 -30
- package/vscode/src/vs/workbench/common/editor.js +11 -3
- package/vscode/src/vs/workbench/common/theme.js +2 -2
- package/vscode/src/vs/workbench/common/views.d.ts +4 -4
- package/vscode/src/vs/workbench/common/views.js +3 -1
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +97 -8
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +17 -99
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +103 -37
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +2 -3
- package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +127 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +71 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +33 -110
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +64 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +94 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +1 -88
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -16
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +3 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -3
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +1 -0
- package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +10 -1
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +114 -22
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -1
- package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +19 -0
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +10 -8
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +62 -10
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +2 -1
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +9 -8
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +10 -1
- package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/files/browser/files.js +7 -3
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +64 -36
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +42 -17
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +145 -25
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +1 -1
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +36 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
- package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +24 -3
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +11 -6
- package/vscode/src/vs/workbench/contrib/scm/common/scm.js +1 -2
- package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +31 -0
- package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +61 -41
- package/vscode/src/vs/workbench/contrib/search/{browser/searchNotebookHelpers.js → common/cellSearchModel.js} +4 -63
- package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +40 -0
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +2 -2
- package/vscode/src/vs/workbench/{services/editor/browser/editorDropService.js → contrib/speech/common/speechService.js} +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +29 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +100 -79
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +3 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +5 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +143 -41
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +17 -11
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +41 -26
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -8
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +115 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +74 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +3 -3
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +64 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +9 -0
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -3
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +8 -9
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -2
- package/vscode/src/vs/workbench/services/activity/browser/activityService.d.ts +16 -10
- package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +14 -1
- package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -7
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +9 -28
- package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +273 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +2 -0
- package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -3
- package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +7 -5
- package/vscode/src/vs/workbench/services/editor/browser/editorService.js +59 -37
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +193 -94
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +8 -2
- package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -1
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +62 -16
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +5 -3
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -2
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -9
- package/vscode/src/vs/workbench/services/extensions/common/{extensionHostManager.d.ts → extensionHostManagers.d.ts} +2 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +9 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensions.js +22 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +14 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -3
- package/vscode/src/vs/workbench/services/history/common/history.d.ts +2 -2
- package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +49 -18
- package/vscode/src/vs/workbench/services/host/browser/host.d.ts +29 -7
- package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +51 -28
- package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +5 -2
- package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -2
- package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +4 -1
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +40 -36
- package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.d.ts +0 -6
- package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +3 -0
- package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +2 -2
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +16 -1
- package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
- package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +4 -4
- package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +10 -51
- package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +2 -2
- package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +32 -1
- package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -5
- package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +4 -3
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +9 -3
- package/vscode/src/vs/workbench/services/title/browser/titleService.d.ts +18 -0
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +18 -3
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +16 -7
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +6 -0
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +13 -0
- package/vscode/src/vs/workbench/services/url/browser/urlService.js +2 -1
- package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +2 -2
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +9 -0
- package/vscode-dts/vscode.proposed.chatAgents2.d.ts +375 -0
- package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +80 -0
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +5 -1
- package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +68 -10
- package/vscode-dts/vscode.proposed.chatTab.d.ts +21 -0
- package/vscode-dts/vscode.proposed.chatVariables.d.ts +5 -1
- package/vscode-dts/vscode.proposed.codeActionAI.d.ts +16 -0
- package/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +7 -0
- package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +51 -0
- package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +30 -0
- package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +26 -0
- package/vscode-dts/vscode.proposed.interactive.d.ts +26 -100
- package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +14 -7
- package/vscode-dts/vscode.proposed.languageStatusText.d.ts +12 -0
- package/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts +63 -0
- package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +43 -0
- package/vscode-dts/vscode.proposed.resolvers.d.ts +100 -1
- package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +9 -1
- package/vscode-dts/vscode.proposed.scmInputBoxActionButton.d.ts +19 -0
- package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +25 -0
- package/vscode-dts/vscode.proposed.speech.d.ts +35 -0
- package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +11 -7
- package/vscode-dts/vscode.proposed.testCoverage.d.ts +6 -1
- package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +21 -0
- package/external/xterm-headless/typings/xterm-headless.d.ts +0 -49
- package/vscode/src/vs/platform/backup/common/backup.d.ts +0 -14
- package/vscode/src/vs/platform/update/common/update.d.ts +0 -112
- package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +0 -62
- package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +0 -62
- package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +0 -56
- package/vscode/src/vs/workbench/services/files/common/files.js +0 -4
- package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +0 -41
- package/vscode/src/vs/workbench/services/title/common/titleService.d.ts +0 -31
- package/vscode-dts/vscode.proposed.chatAgents.d.ts +0 -39
- package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +0 -47
- package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +0 -45
- /package/external/{xterm-addon-canvas/typings/xterm-addon-canvas.d.ts → @xterm/addon-canvas/typings/addon-canvas.d.ts} +0 -0
- /package/external/{xterm-addon-search/typings/xterm-addon-search.d.ts → @xterm/addon-search/typings/addon-search.d.ts} +0 -0
- /package/external/{xterm-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +0 -0
- /package/external/{xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts → @xterm/addon-unicode11/typings/addon-unicode11.d.ts} +0 -0
- /package/external/{xterm-addon-webgl/typings/xterm-addon-webgl.d.ts → @xterm/addon-webgl/typings/addon-webgl.d.ts} +0 -0
- /package/vscode/src/vs/workbench/services/title/{common → browser}/titleService.js +0 -0
|
@@ -4,8 +4,8 @@ import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
|
4
4
|
import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
5
5
|
import { asCssVariable, foreground } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
|
|
6
6
|
import { SIDE_BAR_BACKGROUND, PANEL_BACKGROUND } from '../../../common/theme.js';
|
|
7
|
-
import { trackFocus, append, $, addDisposableListener, EventType, asCssValueWithDefault, createCSSRule, asCSSUrl, after, Dimension, reset } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
8
|
-
import {
|
|
7
|
+
import { trackFocus, append, $, addDisposableListener, EventType, asCssValueWithDefault, createCSSRule, asCSSUrl, after, focusWindow, Dimension, reset } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
8
|
+
import { DisposableStore, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
9
9
|
import { Action } from 'monaco-editor/esm/vs/base/common/actions.js';
|
|
10
10
|
import { prepareActions } from 'monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js';
|
|
11
11
|
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
@@ -58,26 +58,68 @@ const viewPaneContainerCollapsedIcon = registerIcon('view-pane-container-collaps
|
|
|
58
58
|
)));
|
|
59
59
|
const viewsRegistry = ( Registry.as(Extensions.ViewsRegistry));
|
|
60
60
|
let ViewWelcomeController = class ViewWelcomeController {
|
|
61
|
-
get
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
constructor(id, contextKeyService) {
|
|
69
|
-
this.id = id;
|
|
61
|
+
get enabled() { return this._enabled; }
|
|
62
|
+
constructor(container, delegate, instantiationService, openerService, telemetryService, contextKeyService) {
|
|
63
|
+
this.container = container;
|
|
64
|
+
this.delegate = delegate;
|
|
65
|
+
this.instantiationService = instantiationService;
|
|
66
|
+
this.openerService = openerService;
|
|
67
|
+
this.telemetryService = telemetryService;
|
|
70
68
|
this.contextKeyService = contextKeyService;
|
|
71
|
-
this._onDidChange = ( new Emitter());
|
|
72
|
-
this.onDidChange = this._onDidChange.event;
|
|
73
69
|
this.items = [];
|
|
70
|
+
this._enabled = false;
|
|
74
71
|
this.disposables = ( new DisposableStore());
|
|
75
|
-
|
|
76
|
-
this.disposables.add(
|
|
72
|
+
this.enabledDisposables = this.disposables.add(( new DisposableStore()));
|
|
73
|
+
this.renderDisposables = this.disposables.add(( new DisposableStore()));
|
|
74
|
+
this.delegate.onDidChangeViewWelcomeState(this.onDidChangeViewWelcomeState, this, this.disposables);
|
|
75
|
+
this.onDidChangeViewWelcomeState();
|
|
76
|
+
}
|
|
77
|
+
layout(height, width) {
|
|
78
|
+
if (!this._enabled) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
this.element.style.height = `${height}px`;
|
|
82
|
+
this.element.style.width = `${width}px`;
|
|
83
|
+
this.element.classList.toggle('wide', width > 640);
|
|
84
|
+
this.scrollableElement.scanDomNode();
|
|
85
|
+
}
|
|
86
|
+
focus() {
|
|
87
|
+
if (!this._enabled) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
this.element.focus();
|
|
91
|
+
}
|
|
92
|
+
onDidChangeViewWelcomeState() {
|
|
93
|
+
const enabled = this.delegate.shouldShowWelcome();
|
|
94
|
+
if (this._enabled === enabled) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
this._enabled = enabled;
|
|
98
|
+
if (!enabled) {
|
|
99
|
+
this.enabledDisposables.clear();
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
this.container.classList.add('welcome');
|
|
103
|
+
const viewWelcomeContainer = append(this.container, $('.welcome-view'));
|
|
104
|
+
this.element = $('.welcome-view-content', { tabIndex: 0 });
|
|
105
|
+
this.scrollableElement = ( new DomScrollableElement(
|
|
106
|
+
this.element,
|
|
107
|
+
{ alwaysConsumeMouseWheel: true, horizontal: 2 , vertical: 3 , }
|
|
108
|
+
));
|
|
109
|
+
append(viewWelcomeContainer, this.scrollableElement.getDomNode());
|
|
110
|
+
this.enabledDisposables.add(toDisposable(() => {
|
|
111
|
+
this.container.classList.remove('welcome');
|
|
112
|
+
this.scrollableElement.dispose();
|
|
113
|
+
viewWelcomeContainer.remove();
|
|
114
|
+
this.scrollableElement = undefined;
|
|
115
|
+
this.element = undefined;
|
|
116
|
+
}));
|
|
117
|
+
this.contextKeyService.onDidChangeContext(this.onDidChangeContext, this, this.enabledDisposables);
|
|
118
|
+
Event.chain(viewsRegistry.onDidChangeViewWelcomeContent, $ => $.filter(id => id === this.delegate.id))(this.onDidChangeViewWelcomeContent, this, this.enabledDisposables);
|
|
77
119
|
this.onDidChangeViewWelcomeContent();
|
|
78
120
|
}
|
|
79
121
|
onDidChangeViewWelcomeContent() {
|
|
80
|
-
const descriptors = viewsRegistry.getViewWelcomeContent(this.id);
|
|
122
|
+
const descriptors = viewsRegistry.getViewWelcomeContent(this.delegate.id);
|
|
81
123
|
this.items = [];
|
|
82
124
|
for (const descriptor of descriptors) {
|
|
83
125
|
if (descriptor.when === 'default') {
|
|
@@ -88,7 +130,7 @@ let ViewWelcomeController = class ViewWelcomeController {
|
|
|
88
130
|
this.items.push({ descriptor, visible });
|
|
89
131
|
}
|
|
90
132
|
}
|
|
91
|
-
this.
|
|
133
|
+
this.render();
|
|
92
134
|
}
|
|
93
135
|
onDidChangeContext() {
|
|
94
136
|
let didChange = false;
|
|
@@ -104,15 +146,86 @@ let ViewWelcomeController = class ViewWelcomeController {
|
|
|
104
146
|
didChange = true;
|
|
105
147
|
}
|
|
106
148
|
if (didChange) {
|
|
107
|
-
this.
|
|
149
|
+
this.render();
|
|
108
150
|
}
|
|
109
151
|
}
|
|
152
|
+
render() {
|
|
153
|
+
this.renderDisposables.clear();
|
|
154
|
+
this.element.innerText = '';
|
|
155
|
+
const contents = this.getContentDescriptors();
|
|
156
|
+
if (contents.length === 0) {
|
|
157
|
+
this.container.classList.remove('welcome');
|
|
158
|
+
this.scrollableElement.scanDomNode();
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
for (const { content, precondition } of contents) {
|
|
162
|
+
const lines = content.split('\n');
|
|
163
|
+
for (let line of lines) {
|
|
164
|
+
line = line.trim();
|
|
165
|
+
if (!line) {
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
const linkedText = parseLinkedText(line);
|
|
169
|
+
if (linkedText.nodes.length === 1 && typeof linkedText.nodes[0] !== 'string') {
|
|
170
|
+
const node = linkedText.nodes[0];
|
|
171
|
+
const buttonContainer = append(this.element, $('.button-container'));
|
|
172
|
+
const button = ( new Button(
|
|
173
|
+
buttonContainer,
|
|
174
|
+
{ title: node.title, supportIcons: true, ...defaultButtonStyles }
|
|
175
|
+
));
|
|
176
|
+
button.label = node.label;
|
|
177
|
+
button.onDidClick(_ => {
|
|
178
|
+
this.telemetryService.publicLog2('views.welcomeAction', { viewId: this.delegate.id, uri: node.href });
|
|
179
|
+
this.openerService.open(node.href, { allowCommands: true });
|
|
180
|
+
}, null, this.renderDisposables);
|
|
181
|
+
this.renderDisposables.add(button);
|
|
182
|
+
if (precondition) {
|
|
183
|
+
const updateEnablement = () => button.enabled = this.contextKeyService.contextMatchesRules(precondition);
|
|
184
|
+
updateEnablement();
|
|
185
|
+
const keys = ( new Set(( precondition.keys())));
|
|
186
|
+
const onDidChangeContext = Event.filter(this.contextKeyService.onDidChangeContext, e => e.affectsSome(keys));
|
|
187
|
+
onDidChangeContext(updateEnablement, null, this.renderDisposables);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
const p = append(this.element, $('p'));
|
|
192
|
+
for (const node of linkedText.nodes) {
|
|
193
|
+
if (typeof node === 'string') {
|
|
194
|
+
append(p, document.createTextNode(node));
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
const link = this.renderDisposables.add(this.instantiationService.createInstance(Link, p, node, {}));
|
|
198
|
+
if (precondition && node.href.startsWith('command:')) {
|
|
199
|
+
const updateEnablement = () => link.enabled = this.contextKeyService.contextMatchesRules(precondition);
|
|
200
|
+
updateEnablement();
|
|
201
|
+
const keys = ( new Set(( precondition.keys())));
|
|
202
|
+
const onDidChangeContext = Event.filter(this.contextKeyService.onDidChangeContext, e => e.affectsSome(keys));
|
|
203
|
+
onDidChangeContext(updateEnablement, null, this.renderDisposables);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
this.container.classList.add('welcome');
|
|
211
|
+
this.scrollableElement.scanDomNode();
|
|
212
|
+
}
|
|
213
|
+
getContentDescriptors() {
|
|
214
|
+
const visibleItems = this.items.filter(v => v.visible);
|
|
215
|
+
if (visibleItems.length === 0 && this.defaultItem) {
|
|
216
|
+
return [this.defaultItem.descriptor];
|
|
217
|
+
}
|
|
218
|
+
return ( visibleItems.map(v => v.descriptor));
|
|
219
|
+
}
|
|
110
220
|
dispose() {
|
|
111
221
|
this.disposables.dispose();
|
|
112
222
|
}
|
|
113
223
|
};
|
|
114
224
|
ViewWelcomeController = ( __decorate([
|
|
115
|
-
( __param(
|
|
225
|
+
( __param(2, IInstantiationService)),
|
|
226
|
+
( __param(3, IOpenerService)),
|
|
227
|
+
( __param(4, ITelemetryService)),
|
|
228
|
+
( __param(5, IContextKeyService))
|
|
116
229
|
], ViewWelcomeController));
|
|
117
230
|
let ViewPane = class ViewPane extends Pane {
|
|
118
231
|
static { ViewPane_1 = this; }
|
|
@@ -145,7 +258,6 @@ let ViewPane = class ViewPane extends Pane {
|
|
|
145
258
|
this._onDidChangeViewWelcomeState = this._register(( new Emitter()));
|
|
146
259
|
this.onDidChangeViewWelcomeState = this._onDidChangeViewWelcomeState.event;
|
|
147
260
|
this._isVisible = false;
|
|
148
|
-
this.viewWelcomeDisposable = Disposable.None;
|
|
149
261
|
this.id = options.id;
|
|
150
262
|
this._title = options.title;
|
|
151
263
|
this._titleDescription = options.titleDescription;
|
|
@@ -154,9 +266,8 @@ let ViewPane = class ViewPane extends Pane {
|
|
|
154
266
|
this.scopedContextKeyService.createKey('view', this.id);
|
|
155
267
|
const viewLocationKey = this.scopedContextKeyService.createKey('viewLocation', ViewContainerLocationToString(viewDescriptorService.getViewLocationById(this.id)));
|
|
156
268
|
this._register(Event.filter(viewDescriptorService.onDidChangeLocation, e => ( e.views.some(view => view.id === this.id)))(() => viewLocationKey.set(ViewContainerLocationToString(viewDescriptorService.getViewLocationById(this.id)))));
|
|
157
|
-
this.menuActions = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, this.scopedContextKeyService]))).createInstance(CompositeMenuActions, options.titleMenuId ?? MenuId.ViewTitle, MenuId.ViewTitleContext, { shouldForwardArgs: !options.donotForwardArgs }));
|
|
269
|
+
this.menuActions = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, this.scopedContextKeyService]))).createInstance(CompositeMenuActions, options.titleMenuId ?? MenuId.ViewTitle, MenuId.ViewTitleContext, { shouldForwardArgs: !options.donotForwardArgs, renderShortTitle: true }));
|
|
158
270
|
this._register(this.menuActions.onDidChange(() => this.updateActions()));
|
|
159
|
-
this.viewWelcomeController = this._register(( new ViewWelcomeController(this.id, contextKeyService)));
|
|
160
271
|
}
|
|
161
272
|
get headerVisible() {
|
|
162
273
|
return super.headerVisible;
|
|
@@ -184,10 +295,7 @@ let ViewPane = class ViewPane extends Pane {
|
|
|
184
295
|
if (changed) {
|
|
185
296
|
this._onDidChangeBodyVisibility.fire(expanded);
|
|
186
297
|
}
|
|
187
|
-
|
|
188
|
-
this.twistiesContainer.classList.remove(...ThemeIcon.asClassNameArray(this.getTwistyIcon(!expanded)));
|
|
189
|
-
this.twistiesContainer.classList.add(...ThemeIcon.asClassNameArray(this.getTwistyIcon(expanded)));
|
|
190
|
-
}
|
|
298
|
+
this.updateTwistyIcon();
|
|
191
299
|
return changed;
|
|
192
300
|
}
|
|
193
301
|
render() {
|
|
@@ -199,7 +307,7 @@ let ViewPane = class ViewPane extends Pane {
|
|
|
199
307
|
}
|
|
200
308
|
renderHeader(container) {
|
|
201
309
|
this.headerContainer = container;
|
|
202
|
-
this.twistiesContainer = append(container, $(ThemeIcon.asCSSSelector(this.getTwistyIcon(this.isExpanded()))));
|
|
310
|
+
this.twistiesContainer = append(container, $(`.twisty-container${ThemeIcon.asCSSSelector(this.getTwistyIcon(this.isExpanded()))}`));
|
|
203
311
|
this.renderHeaderTitle(container, this.title);
|
|
204
312
|
const actions = append(container, $('.actions'));
|
|
205
313
|
actions.classList.toggle('show-always', this.showActions === ViewPaneShowActions.Always);
|
|
@@ -232,6 +340,16 @@ let ViewPane = class ViewPane extends Pane {
|
|
|
232
340
|
this._register(onDidRelevantConfigurationChange(this.updateActionsVisibility, this));
|
|
233
341
|
this.updateActionsVisibility();
|
|
234
342
|
}
|
|
343
|
+
updateHeader() {
|
|
344
|
+
super.updateHeader();
|
|
345
|
+
this.updateTwistyIcon();
|
|
346
|
+
}
|
|
347
|
+
updateTwistyIcon() {
|
|
348
|
+
if (this.twistiesContainer) {
|
|
349
|
+
this.twistiesContainer.classList.remove(...ThemeIcon.asClassNameArray(this.getTwistyIcon(!this._expanded)));
|
|
350
|
+
this.twistiesContainer.classList.add(...ThemeIcon.asClassNameArray(this.getTwistyIcon(this._expanded)));
|
|
351
|
+
}
|
|
352
|
+
}
|
|
235
353
|
getTwistyIcon(expanded) {
|
|
236
354
|
return expanded ? viewPaneContainerExpandedIcon : viewPaneContainerCollapsedIcon;
|
|
237
355
|
}
|
|
@@ -319,24 +437,17 @@ let ViewPane = class ViewPane extends Pane {
|
|
|
319
437
|
return title;
|
|
320
438
|
}
|
|
321
439
|
renderBody(container) {
|
|
322
|
-
this.
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
append(viewWelcomeContainer, this.scrollableElement.getDomNode());
|
|
331
|
-
const onViewWelcomeChange = Event.any(this.viewWelcomeController.onDidChange, this.onDidChangeViewWelcomeState);
|
|
332
|
-
this._register(onViewWelcomeChange(this.updateViewWelcome, this));
|
|
333
|
-
this.updateViewWelcome();
|
|
440
|
+
this.viewWelcomeController = this._register(( new ViewWelcomeController(
|
|
441
|
+
container,
|
|
442
|
+
this,
|
|
443
|
+
this.instantiationService,
|
|
444
|
+
this.openerService,
|
|
445
|
+
this.telemetryService,
|
|
446
|
+
this.contextKeyService
|
|
447
|
+
)));
|
|
334
448
|
}
|
|
335
449
|
layoutBody(height, width) {
|
|
336
|
-
this.
|
|
337
|
-
this.viewWelcomeContainer.style.width = `${width}px`;
|
|
338
|
-
this.viewWelcomeContainer.classList.toggle('wide', width > 640);
|
|
339
|
-
this.scrollableElement.scanDomNode();
|
|
450
|
+
this.viewWelcomeController.layout(height, width);
|
|
340
451
|
}
|
|
341
452
|
onDidScrollRoot() {
|
|
342
453
|
}
|
|
@@ -373,8 +484,9 @@ let ViewPane = class ViewPane extends Pane {
|
|
|
373
484
|
return SIDE_BAR_BACKGROUND;
|
|
374
485
|
}
|
|
375
486
|
focus() {
|
|
376
|
-
|
|
377
|
-
|
|
487
|
+
focusWindow(this.element);
|
|
488
|
+
if (this.viewWelcomeController.enabled) {
|
|
489
|
+
this.viewWelcomeController.focus();
|
|
378
490
|
}
|
|
379
491
|
else if (this.element) {
|
|
380
492
|
this.element.focus();
|
|
@@ -428,78 +540,6 @@ let ViewPane = class ViewPane extends Pane {
|
|
|
428
540
|
}
|
|
429
541
|
saveState() {
|
|
430
542
|
}
|
|
431
|
-
updateViewWelcome() {
|
|
432
|
-
this.viewWelcomeDisposable.dispose();
|
|
433
|
-
if (!this.shouldShowWelcome()) {
|
|
434
|
-
this.bodyContainer.classList.remove('welcome');
|
|
435
|
-
this.viewWelcomeContainer.innerText = '';
|
|
436
|
-
this.scrollableElement.scanDomNode();
|
|
437
|
-
return;
|
|
438
|
-
}
|
|
439
|
-
const contents = this.viewWelcomeController.contents;
|
|
440
|
-
if (contents.length === 0) {
|
|
441
|
-
this.bodyContainer.classList.remove('welcome');
|
|
442
|
-
this.viewWelcomeContainer.innerText = '';
|
|
443
|
-
this.scrollableElement.scanDomNode();
|
|
444
|
-
return;
|
|
445
|
-
}
|
|
446
|
-
const disposables = ( new DisposableStore());
|
|
447
|
-
this.bodyContainer.classList.add('welcome');
|
|
448
|
-
this.viewWelcomeContainer.innerText = '';
|
|
449
|
-
for (const { content, precondition } of contents) {
|
|
450
|
-
const lines = content.split('\n');
|
|
451
|
-
for (let line of lines) {
|
|
452
|
-
line = line.trim();
|
|
453
|
-
if (!line) {
|
|
454
|
-
continue;
|
|
455
|
-
}
|
|
456
|
-
const linkedText = parseLinkedText(line);
|
|
457
|
-
if (linkedText.nodes.length === 1 && typeof linkedText.nodes[0] !== 'string') {
|
|
458
|
-
const node = linkedText.nodes[0];
|
|
459
|
-
const buttonContainer = append(this.viewWelcomeContainer, $('.button-container'));
|
|
460
|
-
const button = ( new Button(
|
|
461
|
-
buttonContainer,
|
|
462
|
-
{ title: node.title, supportIcons: true, ...defaultButtonStyles }
|
|
463
|
-
));
|
|
464
|
-
button.label = node.label;
|
|
465
|
-
button.onDidClick(_ => {
|
|
466
|
-
this.telemetryService.publicLog2('views.welcomeAction', { viewId: this.id, uri: node.href });
|
|
467
|
-
this.openerService.open(node.href, { allowCommands: true });
|
|
468
|
-
}, null, disposables);
|
|
469
|
-
disposables.add(button);
|
|
470
|
-
if (precondition) {
|
|
471
|
-
const updateEnablement = () => button.enabled = this.contextKeyService.contextMatchesRules(precondition);
|
|
472
|
-
updateEnablement();
|
|
473
|
-
const keys = ( new Set());
|
|
474
|
-
( precondition.keys()).forEach(key => keys.add(key));
|
|
475
|
-
const onDidChangeContext = Event.filter(this.contextKeyService.onDidChangeContext, e => e.affectsSome(keys));
|
|
476
|
-
onDidChangeContext(updateEnablement, null, disposables);
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
else {
|
|
480
|
-
const p = append(this.viewWelcomeContainer, $('p'));
|
|
481
|
-
for (const node of linkedText.nodes) {
|
|
482
|
-
if (typeof node === 'string') {
|
|
483
|
-
append(p, document.createTextNode(node));
|
|
484
|
-
}
|
|
485
|
-
else {
|
|
486
|
-
const link = disposables.add(this.instantiationService.createInstance(Link, p, node, {}));
|
|
487
|
-
if (precondition && node.href.startsWith('command:')) {
|
|
488
|
-
const updateEnablement = () => link.enabled = this.contextKeyService.contextMatchesRules(precondition);
|
|
489
|
-
updateEnablement();
|
|
490
|
-
const keys = ( new Set());
|
|
491
|
-
( precondition.keys()).forEach(key => keys.add(key));
|
|
492
|
-
const onDidChangeContext = Event.filter(this.contextKeyService.onDidChangeContext, e => e.affectsSome(keys));
|
|
493
|
-
onDidChangeContext(updateEnablement, null, disposables);
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
this.scrollableElement.scanDomNode();
|
|
501
|
-
this.viewWelcomeDisposable = disposables;
|
|
502
|
-
}
|
|
503
543
|
shouldShowWelcome() {
|
|
504
544
|
return false;
|
|
505
545
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
-
import { DragAndDropObserver, addDisposableListener, EventType, isAncestor } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
2
|
+
import { DragAndDropObserver, addDisposableListener, EventType, getWindow, isAncestor, focusWindow } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
3
3
|
import { StandardMouseEvent } from 'monaco-editor/esm/vs/base/browser/mouseEvent.js';
|
|
4
4
|
import { Gesture, EventType as EventType$1 } from 'monaco-editor/esm/vs/base/browser/touch.js';
|
|
5
5
|
import { PaneView } from '../../../../base/browser/ui/splitview/paneview.js';
|
|
@@ -34,10 +34,13 @@ MenuRegistry.appendMenuItem(MenuId.ViewContainerTitle, {
|
|
|
34
34
|
submenu: ViewsSubMenu,
|
|
35
35
|
title: ( nls.localizeWithPath('vs/workbench/browser/parts/views/viewPaneContainer', 'views', "Views")),
|
|
36
36
|
order: 1,
|
|
37
|
-
when: ( ContextKeyExpr.equals(
|
|
37
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals(
|
|
38
38
|
'viewContainerLocation',
|
|
39
39
|
ViewContainerLocationToString(0 )
|
|
40
|
-
)),
|
|
40
|
+
)), ( ContextKeyExpr.notEquals(
|
|
41
|
+
`config.${"workbench.activityBar.location" }`,
|
|
42
|
+
"top"
|
|
43
|
+
)))),
|
|
41
44
|
});
|
|
42
45
|
class ViewPaneDropOverlay extends Themable {
|
|
43
46
|
static { this.OVERLAY_ID = 'monaco-pane-drop-overlay'; }
|
|
@@ -80,12 +83,11 @@ class ViewPaneDropOverlay extends Themable {
|
|
|
80
83
|
this.overlay.style.outlineStyle = activeContrastBorderColor ? 'dashed' : '';
|
|
81
84
|
this.overlay.style.outlineWidth = activeContrastBorderColor ? '2px' : '';
|
|
82
85
|
this.overlay.style.borderColor = activeContrastBorderColor || '';
|
|
83
|
-
this.overlay.style.borderStyle = 'solid'
|
|
86
|
+
this.overlay.style.borderStyle = 'solid';
|
|
84
87
|
this.overlay.style.borderWidth = '0px';
|
|
85
88
|
}
|
|
86
89
|
registerListeners() {
|
|
87
90
|
this._register(( new DragAndDropObserver(this.container, {
|
|
88
|
-
onDragEnter: e => undefined,
|
|
89
91
|
onDragOver: e => {
|
|
90
92
|
this.positionOverlay(e.offsetX, e.offsetY);
|
|
91
93
|
if (this.cleanupOverlayScheduler.isScheduled()) {
|
|
@@ -193,7 +195,7 @@ let ViewContainerMenuActions = class ViewContainerMenuActions extends CompositeM
|
|
|
193
195
|
const scopedContextKeyService = contextKeyService.createScoped(element);
|
|
194
196
|
scopedContextKeyService.createKey('viewContainer', viewContainer.id);
|
|
195
197
|
const viewContainerLocationKey = scopedContextKeyService.createKey('viewContainerLocation', ViewContainerLocationToString(viewDescriptorService.getViewContainerLocation(viewContainer)));
|
|
196
|
-
super(MenuId.ViewContainerTitle, MenuId.ViewContainerTitleContext, { shouldForwardArgs: true }, scopedContextKeyService, menuService);
|
|
198
|
+
super(MenuId.ViewContainerTitle, MenuId.ViewContainerTitleContext, { shouldForwardArgs: true, renderShortTitle: true }, scopedContextKeyService, menuService);
|
|
197
199
|
this._register(scopedContextKeyService);
|
|
198
200
|
this._register(Event.filter(viewDescriptorService.onDidChangeContainerLocation, e => e.viewContainer === viewContainer)(() => viewContainerLocationKey.set(ViewContainerLocationToString(viewDescriptorService.getViewContainerLocation(viewContainer)))));
|
|
199
201
|
}
|
|
@@ -270,9 +272,9 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
|
|
|
270
272
|
this._register(this.paneview.onDidDrop(({ from, to }) => this.movePane(from, to)));
|
|
271
273
|
this._register(this.paneview.onDidScroll(_ => this.onDidScrollPane()));
|
|
272
274
|
this._register(this.paneview.onDidSashReset((index) => this.onDidSashReset(index)));
|
|
273
|
-
this._register(addDisposableListener(parent, EventType.CONTEXT_MENU, (e) => this.showContextMenu(( new StandardMouseEvent(e)))));
|
|
275
|
+
this._register(addDisposableListener(parent, EventType.CONTEXT_MENU, (e) => this.showContextMenu(( new StandardMouseEvent(getWindow(parent), e)))));
|
|
274
276
|
this._register(Gesture.addTarget(parent));
|
|
275
|
-
this._register(addDisposableListener(parent, EventType$1.Contextmenu, (e) => this.showContextMenu(( new StandardMouseEvent(e)))));
|
|
277
|
+
this._register(addDisposableListener(parent, EventType$1.Contextmenu, (e) => this.showContextMenu(( new StandardMouseEvent(getWindow(parent), e)))));
|
|
276
278
|
this._menuActions = this._register(this.instantiationService.createInstance(ViewContainerMenuActions, this.paneview.element, this.viewContainer));
|
|
277
279
|
this._register(this._menuActions.onDidChange(() => this.updateTitleArea()));
|
|
278
280
|
let overlay;
|
|
@@ -360,12 +362,12 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
|
|
|
360
362
|
const oldViewContainer = this.viewDescriptorService.getViewContainerByViewId(dropData.id);
|
|
361
363
|
const viewDescriptor = this.viewDescriptorService.getViewDescriptorById(dropData.id);
|
|
362
364
|
if (oldViewContainer !== this.viewContainer && viewDescriptor && viewDescriptor.canMoveView) {
|
|
363
|
-
this.viewDescriptorService.moveViewsToContainer([viewDescriptor], this.viewContainer);
|
|
365
|
+
this.viewDescriptorService.moveViewsToContainer([viewDescriptor], this.viewContainer, undefined, 'dnd');
|
|
364
366
|
}
|
|
365
367
|
}
|
|
366
368
|
const paneCount = this.panes.length;
|
|
367
369
|
if (viewsToMove.length > 0) {
|
|
368
|
-
this.viewDescriptorService.moveViewsToContainer(viewsToMove, this.viewContainer);
|
|
370
|
+
this.viewDescriptorService.moveViewsToContainer(viewsToMove, this.viewContainer, undefined, 'dnd');
|
|
369
371
|
}
|
|
370
372
|
if (paneCount > 0) {
|
|
371
373
|
for (const view of viewsToMove) {
|
|
@@ -397,6 +399,11 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
|
|
|
397
399
|
this.updateTitleArea();
|
|
398
400
|
this.updateViewHeaders();
|
|
399
401
|
}
|
|
402
|
+
this._register(this.configurationService.onDidChangeConfiguration(e => {
|
|
403
|
+
if (e.affectsConfiguration("workbench.activityBar.location" )) {
|
|
404
|
+
this.updateViewHeaders();
|
|
405
|
+
}
|
|
406
|
+
}));
|
|
400
407
|
});
|
|
401
408
|
this._register(this.viewContainerModel.onDidChangeActiveViewDescriptors(() => this._onTitleAreaUpdate.fire()));
|
|
402
409
|
}
|
|
@@ -434,17 +441,22 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
|
|
|
434
441
|
return createActionViewItem(this.instantiationService, action);
|
|
435
442
|
}
|
|
436
443
|
focus() {
|
|
444
|
+
let paneToFocus = undefined;
|
|
437
445
|
if (this.lastFocusedPane) {
|
|
438
|
-
this.lastFocusedPane
|
|
446
|
+
paneToFocus = this.lastFocusedPane;
|
|
439
447
|
}
|
|
440
448
|
else if (this.paneItems.length > 0) {
|
|
441
|
-
for (const { pane
|
|
449
|
+
for (const { pane } of this.paneItems) {
|
|
442
450
|
if (pane.isExpanded()) {
|
|
443
|
-
pane
|
|
444
|
-
|
|
451
|
+
paneToFocus = pane;
|
|
452
|
+
break;
|
|
445
453
|
}
|
|
446
454
|
}
|
|
447
455
|
}
|
|
456
|
+
if (paneToFocus) {
|
|
457
|
+
focusWindow(paneToFocus.element);
|
|
458
|
+
paneToFocus.focus();
|
|
459
|
+
}
|
|
448
460
|
}
|
|
449
461
|
get orientation() {
|
|
450
462
|
switch (this.viewDescriptorService.getViewContainerLocation(this.viewContainer)) {
|
|
@@ -581,7 +593,7 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
|
|
|
581
593
|
for (const { viewDescriptor, collapsed, index, size } of added) {
|
|
582
594
|
const pane = this.createView(viewDescriptor, {
|
|
583
595
|
id: viewDescriptor.id,
|
|
584
|
-
title: viewDescriptor.name,
|
|
596
|
+
title: viewDescriptor.name.value,
|
|
585
597
|
fromExtensionId: viewDescriptor.extensionId,
|
|
586
598
|
expanded: !collapsed
|
|
587
599
|
});
|
|
@@ -589,7 +601,7 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
|
|
|
589
601
|
const contextMenuDisposable = addDisposableListener(pane.draggableElement, 'contextmenu', e => {
|
|
590
602
|
e.stopPropagation();
|
|
591
603
|
e.preventDefault();
|
|
592
|
-
this.onContextMenu(( new StandardMouseEvent(e)), pane);
|
|
604
|
+
this.onContextMenu(( new StandardMouseEvent(getWindow(pane.draggableElement), e)), pane);
|
|
593
605
|
});
|
|
594
606
|
const collapseDisposable = Event.latch(( Event.map(pane.onDidChange, () => !pane.isExpanded())))(collapsed => {
|
|
595
607
|
this.viewContainerModel.setCollapsed(viewDescriptor.id, collapsed);
|
|
@@ -721,7 +733,7 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
|
|
|
721
733
|
}
|
|
722
734
|
}
|
|
723
735
|
if (viewsToMove) {
|
|
724
|
-
this.viewDescriptorService.moveViewsToContainer(viewsToMove, this.viewContainer);
|
|
736
|
+
this.viewDescriptorService.moveViewsToContainer(viewsToMove, this.viewContainer, undefined, 'dnd');
|
|
725
737
|
}
|
|
726
738
|
if (anchorView) {
|
|
727
739
|
if (overlay.currentDropOperation === 1 ||
|
|
@@ -826,18 +838,33 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
|
|
|
826
838
|
this.paneItems[0].pane.setExpanded(true);
|
|
827
839
|
}
|
|
828
840
|
this.paneItems[0].pane.headerVisible = false;
|
|
841
|
+
this.paneItems[0].pane.collapsible = true;
|
|
829
842
|
}
|
|
830
843
|
else {
|
|
831
|
-
this.paneItems.
|
|
832
|
-
|
|
833
|
-
if (
|
|
834
|
-
|
|
844
|
+
if (this.paneItems.length === 1) {
|
|
845
|
+
this.paneItems[0].pane.headerVisible = true;
|
|
846
|
+
if (this.paneItems[0].pane === this.lastMergedCollapsedPane) {
|
|
847
|
+
this.paneItems[0].pane.setExpanded(false);
|
|
835
848
|
}
|
|
836
|
-
|
|
849
|
+
this.paneItems[0].pane.collapsible = false;
|
|
850
|
+
}
|
|
851
|
+
else {
|
|
852
|
+
this.paneItems.forEach(i => {
|
|
853
|
+
i.pane.headerVisible = true;
|
|
854
|
+
i.pane.collapsible = true;
|
|
855
|
+
if (i.pane === this.lastMergedCollapsedPane) {
|
|
856
|
+
i.pane.setExpanded(false);
|
|
857
|
+
}
|
|
858
|
+
});
|
|
859
|
+
}
|
|
837
860
|
this.lastMergedCollapsedPane = undefined;
|
|
838
861
|
}
|
|
839
862
|
}
|
|
840
863
|
isViewMergedWithContainer() {
|
|
864
|
+
const location = this.viewDescriptorService.getViewContainerLocation(this.viewContainer);
|
|
865
|
+
if (location === 0 && !this.layoutService.isVisible("workbench.parts.activitybar" ) && this.configurationService.getValue("workbench.activityBar.location" ) === "top" ) {
|
|
866
|
+
return false;
|
|
867
|
+
}
|
|
841
868
|
if (!(this.options.mergeViewWithContainerWhenSingleView && this.paneItems.length === 1)) {
|
|
842
869
|
return false;
|
|
843
870
|
}
|
|
@@ -1030,7 +1057,7 @@ registerAction2(class MoveViews extends Action2 {
|
|
|
1030
1057
|
for (const viewId of options.viewIds) {
|
|
1031
1058
|
const viewDescriptor = viewDescriptorService.getViewDescriptorById(viewId);
|
|
1032
1059
|
if (viewDescriptor?.canMoveView) {
|
|
1033
|
-
viewDescriptorService.moveViewsToContainer([viewDescriptor], destination, ViewVisibilityState.Default);
|
|
1060
|
+
viewDescriptorService.moveViewsToContainer([viewDescriptor], destination, ViewVisibilityState.Default, this.desc.id);
|
|
1034
1061
|
}
|
|
1035
1062
|
}
|
|
1036
1063
|
await accessor.get(IViewsService).openViewContainer(destination.id, true);
|