@codingame/monaco-vscode-api 1.83.16 → 1.85.0-next.1
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-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +20 -3
- 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 +160 -25
- 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 +18 -3
- 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-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
|
@@ -23,7 +23,7 @@ interface IHoverService {
|
|
|
23
23
|
* });
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
|
-
showHover(options:
|
|
26
|
+
showHover(options: IHoverOptions, focus?: boolean): IHoverWidget | undefined;
|
|
27
27
|
/**
|
|
28
28
|
* Hides the hover if it was visible. This call will be ignored if the the hover is currently
|
|
29
29
|
* "locked" via the alt/option key.
|
|
@@ -51,6 +51,7 @@ interface IHoverOptions {
|
|
|
51
51
|
* dispose method is required.
|
|
52
52
|
*/
|
|
53
53
|
target: IHoverTarget | HTMLElement;
|
|
54
|
+
container?: HTMLElement;
|
|
54
55
|
/**
|
|
55
56
|
* An ID to associate with the hover to be used as an equality check. Normally when calling
|
|
56
57
|
* {@link IHoverService.showHover} the options object itself is used to determine if the hover
|
|
@@ -71,27 +72,26 @@ interface IHoverOptions {
|
|
|
71
72
|
*/
|
|
72
73
|
linkHandler?(url: string): void;
|
|
73
74
|
/**
|
|
74
|
-
* Whether to
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* In general hiding on hover is desired for:
|
|
80
|
-
* - Regular text where selection is not important
|
|
81
|
-
* - Markdown that contains no links where selection is not important
|
|
75
|
+
* Whether to trap focus in the following ways:
|
|
76
|
+
* - When the hover closes, focus goes to the element that had focus before the hover opened
|
|
77
|
+
* - If there are elements in the hover to focus, focus stays inside of the hover when tabbing
|
|
78
|
+
* Note that this is overridden to true when in screen reader optimized mode.
|
|
82
79
|
*/
|
|
83
|
-
|
|
80
|
+
trapFocus?: boolean;
|
|
84
81
|
/**
|
|
85
|
-
*
|
|
86
|
-
* hide, show a hint at the bottom of the hover explaining how to mouse over the widget. This
|
|
87
|
-
* should be used in the cases where despite the hover having no interactive content, it's
|
|
88
|
-
* likely the user may want to interact with it somehow.
|
|
82
|
+
* Options that defines where the hover is positioned.
|
|
89
83
|
*/
|
|
90
|
-
|
|
84
|
+
position?: IHoverPositionOptions;
|
|
91
85
|
/**
|
|
92
|
-
*
|
|
86
|
+
* Options that defines how long the hover is shown and when it hides.
|
|
93
87
|
*/
|
|
94
|
-
|
|
88
|
+
persistence?: IHoverPersistenceOptions;
|
|
89
|
+
/**
|
|
90
|
+
* Options that define how the hover looks.
|
|
91
|
+
*/
|
|
92
|
+
appearance?: IHoverAppearanceOptions;
|
|
93
|
+
}
|
|
94
|
+
interface IHoverPositionOptions {
|
|
95
95
|
/**
|
|
96
96
|
* Position of the hover. The default is to show above the target. This option will be ignored
|
|
97
97
|
* if there is not enough room to layout the hover in the specified position, unless the
|
|
@@ -103,27 +103,50 @@ interface IHoverOptions {
|
|
|
103
103
|
* position.
|
|
104
104
|
*/
|
|
105
105
|
forcePosition?: boolean;
|
|
106
|
+
}
|
|
107
|
+
interface IHoverPersistenceOptions {
|
|
106
108
|
/**
|
|
107
|
-
* Whether to
|
|
109
|
+
* Whether to hide the hover when the mouse leaves the `target` and enters the actual hover.
|
|
110
|
+
* This is false by default when text is an `IMarkdownString` and true when `text` is a
|
|
111
|
+
* `string`. Note that this will be ignored if any `actions` are provided as hovering is
|
|
112
|
+
* required to make them accessible.
|
|
113
|
+
*
|
|
114
|
+
* In general hiding on hover is desired for:
|
|
115
|
+
* - Regular text where selection is not important
|
|
116
|
+
* - Markdown that contains no links where selection is not important
|
|
117
|
+
*/
|
|
118
|
+
hideOnHover?: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Whether to hide the hover when a key is pressed.
|
|
121
|
+
*/
|
|
122
|
+
hideOnKeyDown?: boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Whether to make the hover sticky, this means it will not be hidden when the mouse leaves the
|
|
125
|
+
* hover.
|
|
126
|
+
*/
|
|
127
|
+
sticky?: boolean;
|
|
128
|
+
}
|
|
129
|
+
interface IHoverAppearanceOptions {
|
|
130
|
+
/**
|
|
131
|
+
* Whether to show the hover pointer, a little arrow that connects the target and the hover.
|
|
108
132
|
*/
|
|
109
133
|
showPointer?: boolean;
|
|
110
134
|
/**
|
|
111
|
-
* Whether to show a compact hover
|
|
135
|
+
* Whether to show a compact hover, reducing the font size and padding of the hover.
|
|
112
136
|
*/
|
|
113
137
|
compact?: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* When {@link hideOnHover} is explicitly true or undefined and its auto value is detected to
|
|
140
|
+
* hide, show a hint at the bottom of the hover explaining how to mouse over the widget. This
|
|
141
|
+
* should be used in the cases where despite the hover having no interactive content, it's
|
|
142
|
+
* likely the user may want to interact with it somehow.
|
|
143
|
+
*/
|
|
144
|
+
showHoverHint?: boolean;
|
|
114
145
|
/**
|
|
115
146
|
* Whether to skip the fade in animation, this should be used when hovering from one hover to
|
|
116
147
|
* another in the same group so it looks like the hover is moving from one element to the other.
|
|
117
148
|
*/
|
|
118
149
|
skipFadeInAnimation?: boolean;
|
|
119
|
-
/**
|
|
120
|
-
* Whether to trap focus in the following ways:
|
|
121
|
-
* - When the hover closes, focus goes to the element that had focus before the hover opened
|
|
122
|
-
* - If there are elements in the hover to focus, focus stays inside of the hover when tabbing
|
|
123
|
-
* Note that this is overridden to true when in screen reader optimized mode.
|
|
124
|
-
*/
|
|
125
|
-
trapFocus?: boolean;
|
|
126
|
-
container?: HTMLElement;
|
|
127
150
|
}
|
|
128
151
|
interface IHoverAction {
|
|
129
152
|
/**
|
|
@@ -167,4 +190,4 @@ interface IHoverTarget extends IDisposable {
|
|
|
167
190
|
y?: number;
|
|
168
191
|
}
|
|
169
192
|
|
|
170
|
-
export { type IHoverAction, type IHoverOptions, IHoverService, type IHoverTarget, type IHoverWidget };
|
|
193
|
+
export { type IHoverAction, type IHoverAppearanceOptions, type IHoverOptions, type IHoverPersistenceOptions, type IHoverPositionOptions, IHoverService, type IHoverTarget, type IHoverWidget };
|
|
@@ -3,20 +3,23 @@ import { IContextViewService, IContextMenuService } from '../../../../platform/c
|
|
|
3
3
|
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
|
|
4
4
|
import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';
|
|
5
5
|
import { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.js';
|
|
6
|
+
import { ILayoutService } from '../../../../platform/layout/browser/layoutService.js';
|
|
6
7
|
|
|
7
8
|
declare class HoverService implements IHoverService {
|
|
8
9
|
private readonly _instantiationService;
|
|
9
10
|
private readonly _contextViewService;
|
|
10
11
|
private readonly _keybindingService;
|
|
12
|
+
private readonly _layoutService;
|
|
11
13
|
private readonly _accessibilityService;
|
|
12
14
|
readonly _serviceBrand: undefined;
|
|
13
15
|
private _currentHoverOptions;
|
|
14
16
|
private _currentHover;
|
|
15
17
|
private _lastHoverOptions;
|
|
16
18
|
private _lastFocusedElementBeforeOpen;
|
|
17
|
-
constructor(_instantiationService: IInstantiationService, _contextViewService: IContextViewService, contextMenuService: IContextMenuService, _keybindingService: IKeybindingService, _accessibilityService: IAccessibilityService);
|
|
18
|
-
showHover(options:
|
|
19
|
+
constructor(_instantiationService: IInstantiationService, _contextViewService: IContextViewService, contextMenuService: IContextMenuService, _keybindingService: IKeybindingService, _layoutService: ILayoutService, _accessibilityService: IAccessibilityService);
|
|
20
|
+
showHover(options: IHoverOptions, focus?: boolean, skipLastFocusedUpdate?: boolean): IHoverWidget | undefined;
|
|
19
21
|
hideHover(): void;
|
|
22
|
+
private doHideHover;
|
|
20
23
|
private _intersectionChange;
|
|
21
24
|
showAndFocusLastHover(): void;
|
|
22
25
|
private _keyDown;
|
|
@@ -18,8 +18,8 @@ function getAllUnboundCommands(boundCommands) {
|
|
|
18
18
|
}
|
|
19
19
|
if (!includeCommandWithArgs) {
|
|
20
20
|
const command = CommandsRegistry.getCommand(id);
|
|
21
|
-
if (command && typeof command.
|
|
22
|
-
&& isNonEmptyArray(command.
|
|
21
|
+
if (command && typeof command.metadata === 'object'
|
|
22
|
+
&& isNonEmptyArray(command.metadata.args)) {
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -12,7 +12,10 @@ interface ILanguageStatus {
|
|
|
12
12
|
readonly name: string;
|
|
13
13
|
readonly selector: LanguageSelector;
|
|
14
14
|
readonly severity: Severity;
|
|
15
|
-
readonly label: string
|
|
15
|
+
readonly label: string | {
|
|
16
|
+
value: string;
|
|
17
|
+
shortValue: string;
|
|
18
|
+
};
|
|
16
19
|
readonly detail: string;
|
|
17
20
|
readonly busy: boolean;
|
|
18
21
|
readonly source: string;
|
|
@@ -2,7 +2,7 @@ import { ServiceIdentifier } from '../../../../platform/instantiation/common/ins
|
|
|
2
2
|
import { Event } from '../../../../base/common/event.js';
|
|
3
3
|
import { ILayoutService } from '../../../../platform/layout/browser/layoutService.js';
|
|
4
4
|
import { Part } from '../../../browser/part.js';
|
|
5
|
-
import {
|
|
5
|
+
import { IDimension } from '../../../../base/browser/dom.js';
|
|
6
6
|
import { Direction } from '../../../../base/browser/ui/grid/grid.js';
|
|
7
7
|
|
|
8
8
|
declare const enum Parts {
|
|
@@ -21,6 +21,8 @@ declare const enum Position {
|
|
|
21
21
|
BOTTOM = 2
|
|
22
22
|
}
|
|
23
23
|
type PanelAlignment = 'left' | 'center' | 'right' | 'justify';
|
|
24
|
+
type MULTI_WINDOW_PARTS = Parts.EDITOR_PART | Parts.STATUSBAR_PART | Parts.TITLEBAR_PART;
|
|
25
|
+
type SINGLE_WINDOW_PARTS = Exclude<Parts, MULTI_WINDOW_PARTS>;
|
|
24
26
|
|
|
25
27
|
declare const IWorkbenchLayoutService: ServiceIdentifier<IWorkbenchLayoutService>;
|
|
26
28
|
interface IWorkbenchLayoutService extends ILayoutService {
|
|
@@ -34,9 +36,12 @@ interface IWorkbenchLayoutService extends ILayoutService {
|
|
|
34
36
|
*/
|
|
35
37
|
readonly onDidChangeFullscreen: Event<boolean>;
|
|
36
38
|
/**
|
|
37
|
-
* Emits when the window is maximized or unmaximized.
|
|
39
|
+
* Emits when the target window is maximized or unmaximized.
|
|
38
40
|
*/
|
|
39
|
-
readonly onDidChangeWindowMaximized: Event<
|
|
41
|
+
readonly onDidChangeWindowMaximized: Event<{
|
|
42
|
+
readonly windowId: number;
|
|
43
|
+
readonly maximized: boolean;
|
|
44
|
+
}>;
|
|
40
45
|
/**
|
|
41
46
|
* Emits when centered layout is enabled or disabled.
|
|
42
47
|
*/
|
|
@@ -76,42 +81,41 @@ interface IWorkbenchLayoutService extends ILayoutService {
|
|
|
76
81
|
*/
|
|
77
82
|
hasFocus(part: Parts): boolean;
|
|
78
83
|
/**
|
|
79
|
-
* Focuses the part. If the part is not visible this is a noop.
|
|
84
|
+
* Focuses the part in the target window. If the part is not visible this is a noop.
|
|
80
85
|
*/
|
|
81
|
-
focusPart(part:
|
|
86
|
+
focusPart(part: SINGLE_WINDOW_PARTS): void;
|
|
87
|
+
focusPart(part: MULTI_WINDOW_PARTS, targetWindow: Window): void;
|
|
88
|
+
focusPart(part: Parts, targetWindow: Window): void;
|
|
82
89
|
/**
|
|
83
|
-
* Returns the parts HTML element, if there is one.
|
|
90
|
+
* Returns the target window container or parts HTML element within, if there is one.
|
|
84
91
|
*/
|
|
85
|
-
getContainer(
|
|
92
|
+
getContainer(targetWindow: Window): HTMLElement;
|
|
93
|
+
getContainer(targetWindow: Window, part: Parts): HTMLElement | undefined;
|
|
86
94
|
/**
|
|
87
|
-
* Returns if the part is visible.
|
|
95
|
+
* Returns if the part is visible in the target window.
|
|
88
96
|
*/
|
|
89
|
-
isVisible(part:
|
|
97
|
+
isVisible(part: SINGLE_WINDOW_PARTS): boolean;
|
|
98
|
+
isVisible(part: MULTI_WINDOW_PARTS, targetWindow: Window): boolean;
|
|
99
|
+
isVisible(part: Parts, targetWindow: Window): boolean;
|
|
90
100
|
/**
|
|
91
|
-
*
|
|
101
|
+
* Set part hidden or not in the target window.
|
|
92
102
|
*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
*/
|
|
97
|
-
setPartHidden(hidden: boolean, part: Exclude<Parts, Parts.STATUSBAR_PART | Parts.TITLEBAR_PART>): void;
|
|
103
|
+
setPartHidden(hidden: boolean, part: Exclude<SINGLE_WINDOW_PARTS, Parts.STATUSBAR_PART | Parts.TITLEBAR_PART>): void;
|
|
104
|
+
setPartHidden(hidden: boolean, part: Exclude<MULTI_WINDOW_PARTS, Parts.STATUSBAR_PART | Parts.TITLEBAR_PART>, targetWindow: Window): void;
|
|
105
|
+
setPartHidden(hidden: boolean, part: Exclude<Parts, Parts.STATUSBAR_PART | Parts.TITLEBAR_PART>, targetWindow: Window): void;
|
|
98
106
|
/**
|
|
99
107
|
* Maximizes the panel height if the panel is not already maximized.
|
|
100
108
|
* Shrinks the panel to the default starting size if the panel is maximized.
|
|
101
109
|
*/
|
|
102
110
|
toggleMaximizedPanel(): void;
|
|
103
111
|
/**
|
|
104
|
-
* Returns true if the window has a border.
|
|
105
|
-
*/
|
|
106
|
-
hasWindowBorder(): boolean;
|
|
107
|
-
/**
|
|
108
|
-
* Returns the window border width.
|
|
112
|
+
* Returns true if the main window has a border.
|
|
109
113
|
*/
|
|
110
|
-
|
|
114
|
+
hasMainWindowBorder(): boolean;
|
|
111
115
|
/**
|
|
112
|
-
* Returns the window border radius if any.
|
|
116
|
+
* Returns the main window border radius if any.
|
|
113
117
|
*/
|
|
114
|
-
|
|
118
|
+
getMainWindowBorderRadius(): string | undefined;
|
|
115
119
|
/**
|
|
116
120
|
* Returns true if the panel is maximized.
|
|
117
121
|
*/
|
|
@@ -138,23 +142,23 @@ interface IWorkbenchLayoutService extends ILayoutService {
|
|
|
138
142
|
*/
|
|
139
143
|
setPanelAlignment(alignment: PanelAlignment): void;
|
|
140
144
|
/**
|
|
141
|
-
* Gets the maximum possible size for editor.
|
|
145
|
+
* Gets the maximum possible size for editor in the given container.
|
|
142
146
|
*/
|
|
143
|
-
getMaximumEditorDimensions():
|
|
147
|
+
getMaximumEditorDimensions(container: HTMLElement): IDimension;
|
|
144
148
|
/**
|
|
145
149
|
* Toggles the workbench in and out of zen mode - parts get hidden and window goes fullscreen.
|
|
146
150
|
*/
|
|
147
151
|
toggleZenMode(): void;
|
|
148
152
|
/**
|
|
149
|
-
* Returns whether the centered editor layout is active.
|
|
153
|
+
* Returns whether the centered editor layout is active on the main editor part.
|
|
150
154
|
*/
|
|
151
|
-
|
|
155
|
+
isMainEditorLayoutCentered(): boolean;
|
|
152
156
|
/**
|
|
153
|
-
* Sets the
|
|
157
|
+
* Sets the main editor part in and out of centered layout.
|
|
154
158
|
*/
|
|
155
|
-
|
|
159
|
+
centerMainEditorLayout(active: boolean): void;
|
|
156
160
|
/**
|
|
157
|
-
*
|
|
161
|
+
* Resize the provided part in the main window.
|
|
158
162
|
*/
|
|
159
163
|
resizePart(part: Parts, sizeChangeWidth: number, sizeChangeHeight: number): void;
|
|
160
164
|
/**
|
|
@@ -162,17 +166,17 @@ interface IWorkbenchLayoutService extends ILayoutService {
|
|
|
162
166
|
*/
|
|
163
167
|
registerPart(part: Part): void;
|
|
164
168
|
/**
|
|
165
|
-
* Returns whether the window is maximized.
|
|
169
|
+
* Returns whether the target window is maximized.
|
|
166
170
|
*/
|
|
167
|
-
isWindowMaximized(): boolean;
|
|
171
|
+
isWindowMaximized(targetWindow: Window): boolean;
|
|
168
172
|
/**
|
|
169
|
-
* Updates the maximized state of the window.
|
|
173
|
+
* Updates the maximized state of the target window.
|
|
170
174
|
*/
|
|
171
|
-
updateWindowMaximizedState(maximized: boolean): void;
|
|
175
|
+
updateWindowMaximizedState(targetWindow: Window, maximized: boolean): void;
|
|
172
176
|
/**
|
|
173
|
-
* Returns the next visible view part in a given direction
|
|
177
|
+
* Returns the next visible view part in a given direction in the main window.
|
|
174
178
|
*/
|
|
175
179
|
getVisibleNeighborPart(part: Parts, direction: Direction): Parts | undefined;
|
|
176
180
|
}
|
|
177
181
|
|
|
178
|
-
export { IWorkbenchLayoutService, type PanelAlignment, Parts, Position };
|
|
182
|
+
export { IWorkbenchLayoutService, type MULTI_WINDOW_PARTS, type PanelAlignment, Parts, Position, type SINGLE_WINDOW_PARTS };
|
|
@@ -4,8 +4,6 @@ import { PaneCompositeDescriptor } from '../../../browser/panecomposite.js';
|
|
|
4
4
|
import { IProgressIndicator } from '../../../../platform/progress/common/progress.js';
|
|
5
5
|
import { IPaneComposite } from '../../../common/panecomposite.js';
|
|
6
6
|
import { ViewContainerLocation } from '../../../common/views.js';
|
|
7
|
-
import { IDisposable } from '../../../../base/common/lifecycle.js';
|
|
8
|
-
import { IBadge } from '../../activity/common/activity.js';
|
|
9
7
|
|
|
10
8
|
declare const IPaneCompositePartService: ServiceIdentifier<IPaneCompositePartService>;
|
|
11
9
|
interface IPaneCompositePartService {
|
|
@@ -54,10 +52,6 @@ interface IPaneCompositePartService {
|
|
|
54
52
|
* Return the last active viewlet id.
|
|
55
53
|
*/
|
|
56
54
|
getLastActivePaneCompositeId(viewContainerLocation: ViewContainerLocation): string;
|
|
57
|
-
/**
|
|
58
|
-
* Show an activity in a viewlet.
|
|
59
|
-
*/
|
|
60
|
-
showActivity(id: string, viewContainerLocation: ViewContainerLocation, badge: IBadge, clazz?: string, priority?: number): IDisposable;
|
|
61
55
|
}
|
|
62
56
|
|
|
63
57
|
export { IPaneCompositePartService };
|
|
@@ -150,6 +150,9 @@ interface ISettingsEditorOptions extends IEditorOptions {
|
|
|
150
150
|
target?: ConfigurationTarget;
|
|
151
151
|
folderUri?: URI;
|
|
152
152
|
query?: string;
|
|
153
|
+
/**
|
|
154
|
+
* Only works when opening the json settings file. Use `query` for settings editor.
|
|
155
|
+
*/
|
|
153
156
|
revealSetting?: {
|
|
154
157
|
key: string;
|
|
155
158
|
edit?: boolean;
|
|
@@ -10,8 +10,8 @@ class EditorProgressIndicator extends Disposable {
|
|
|
10
10
|
}
|
|
11
11
|
registerListeners() {
|
|
12
12
|
this._register(this.group.onDidModelChange(e => {
|
|
13
|
-
if (e.kind ===
|
|
14
|
-
(e.kind ===
|
|
13
|
+
if (e.kind === 7 ||
|
|
14
|
+
(e.kind === 5 && this.group.isEmpty)) {
|
|
15
15
|
this.progressBar.stop().hide();
|
|
16
16
|
}
|
|
17
17
|
}));
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { ServiceIdentifier } from '../../../../platform/instantiation/common/instantiation.js';
|
|
2
2
|
import { Event } from '../../../../base/common/event.js';
|
|
3
|
-
import { RemoteTunnel, TunnelProtocol } from '../../../../platform/tunnel/common/tunnel.js';
|
|
4
3
|
import { IDisposable } from '../../../../base/common/lifecycle.js';
|
|
4
|
+
import { URI } from '../../../../base/common/uri.js';
|
|
5
|
+
import { RemoteTunnel, TunnelProtocol } from '../../../../platform/tunnel/common/tunnel.js';
|
|
5
6
|
import { IEditableData } from '../../../common/views.js';
|
|
6
7
|
import { TunnelInformation, TunnelPrivacy } from '../../../../platform/remote/common/remoteAuthorityResolver.js';
|
|
7
|
-
import { URI } from '../../../../base/common/uri.js';
|
|
8
8
|
import { TunnelModel, TunnelProperties, Attributes, TunnelCloseReason, CandidatePort, TunnelSource } from './tunnelModel.js';
|
|
9
|
+
import { IExtensionPointUser } from '../../extensions/common/extensionsRegistry.js';
|
|
10
|
+
import { IExtensionDescription } from '../../../../platform/extensions/common/extensions.js';
|
|
9
11
|
|
|
10
12
|
declare enum TunnelType {
|
|
11
13
|
Candidate = "Candidate",
|
|
@@ -37,12 +39,25 @@ declare enum TunnelEditId {
|
|
|
37
39
|
Label = 2,
|
|
38
40
|
LocalPort = 3
|
|
39
41
|
}
|
|
42
|
+
interface HelpInformation {
|
|
43
|
+
extensionDescription: IExtensionDescription;
|
|
44
|
+
getStarted?: string | {
|
|
45
|
+
id: string;
|
|
46
|
+
};
|
|
47
|
+
documentation?: string;
|
|
48
|
+
issues?: string;
|
|
49
|
+
reportIssue?: string;
|
|
50
|
+
remoteName?: string[] | string;
|
|
51
|
+
virtualWorkspace?: string;
|
|
52
|
+
}
|
|
40
53
|
|
|
41
54
|
declare const IRemoteExplorerService: ServiceIdentifier<IRemoteExplorerService>;
|
|
42
55
|
interface IRemoteExplorerService {
|
|
43
56
|
readonly _serviceBrand: undefined;
|
|
44
57
|
onDidChangeTargetType: Event<string[]>;
|
|
45
58
|
targetType: string[];
|
|
59
|
+
onDidChangeHelpInformation: Event<readonly IExtensionPointUser<HelpInformation>[]>;
|
|
60
|
+
helpInformation: IExtensionPointUser<HelpInformation>[];
|
|
46
61
|
readonly tunnelModel: TunnelModel;
|
|
47
62
|
onDidChangeEditable: Event<{
|
|
48
63
|
tunnel: ITunnelItem;
|
|
@@ -65,4 +80,4 @@ interface IRemoteExplorerService {
|
|
|
65
80
|
readonly namedProcesses: Map<number, string>;
|
|
66
81
|
}
|
|
67
82
|
|
|
68
|
-
export { IRemoteExplorerService, type ITunnelItem, TunnelEditId, TunnelType };
|
|
83
|
+
export { type HelpInformation, IRemoteExplorerService, type ITunnelItem, TunnelEditId, TunnelType };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
3
|
+
import { ILoggerService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
|
|
4
|
+
import { RequestChannelClient } from '../../../../platform/request/common/requestIpc.js';
|
|
5
|
+
import { IRemoteAgentService } from '../../remote/common/remoteAgentService.js';
|
|
6
|
+
import { RequestService } from '../../../../platform/request/browser/requestService.js';
|
|
7
|
+
import { CommandsRegistry } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
|
|
8
|
+
let BrowserRequestService = class BrowserRequestService extends RequestService {
|
|
9
|
+
constructor(remoteAgentService, configurationService, loggerService) {
|
|
10
|
+
super(configurationService, loggerService);
|
|
11
|
+
this.remoteAgentService = remoteAgentService;
|
|
12
|
+
}
|
|
13
|
+
async request(options, token) {
|
|
14
|
+
try {
|
|
15
|
+
const context = await super.request(options, token);
|
|
16
|
+
const connection = this.remoteAgentService.getConnection();
|
|
17
|
+
if (connection && context.res.statusCode === 405) {
|
|
18
|
+
return this._makeRemoteRequest(connection, options, token);
|
|
19
|
+
}
|
|
20
|
+
return context;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
const connection = this.remoteAgentService.getConnection();
|
|
24
|
+
if (connection) {
|
|
25
|
+
return this._makeRemoteRequest(connection, options, token);
|
|
26
|
+
}
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
_makeRemoteRequest(connection, options, token) {
|
|
31
|
+
return connection.withChannel('request', channel => ( new RequestChannelClient(channel)).request(options, token));
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
BrowserRequestService = ( __decorate([
|
|
35
|
+
( __param(0, IRemoteAgentService)),
|
|
36
|
+
( __param(1, IConfigurationService)),
|
|
37
|
+
( __param(2, ILoggerService))
|
|
38
|
+
], BrowserRequestService));
|
|
39
|
+
CommandsRegistry.registerCommand('_workbench.fetchJSON', async function (accessor, url, method) {
|
|
40
|
+
const result = await fetch(url, { method, headers: { Accept: 'application/json' } });
|
|
41
|
+
if (result.ok) {
|
|
42
|
+
return result.json();
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
throw new Error(result.statusText);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
export { BrowserRequestService };
|
|
@@ -30,7 +30,7 @@ function editorMatchesToTextSearchResults(matches, model, previewOptions) {
|
|
|
30
30
|
return editorMatchToTextSearchResult(sameLineMatches, model, previewOptions);
|
|
31
31
|
}));
|
|
32
32
|
}
|
|
33
|
-
function
|
|
33
|
+
function getTextSearchMatchWithModelContext(matches, model, query) {
|
|
34
34
|
const results = [];
|
|
35
35
|
let prevLine = -1;
|
|
36
36
|
for (let i = 0; i < matches.length; i++) {
|
|
@@ -40,7 +40,7 @@ function addContextToEditorMatches(matches, model, query) {
|
|
|
40
40
|
for (let b = beforeContextStartLine; b < matchStartLine; b++) {
|
|
41
41
|
results.push({
|
|
42
42
|
text: model.getLineContent(b + 1),
|
|
43
|
-
lineNumber: b
|
|
43
|
+
lineNumber: b + 1
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -52,7 +52,7 @@ function addContextToEditorMatches(matches, model, query) {
|
|
|
52
52
|
for (let a = matchEndLine + 1; a <= afterContextToLine; a++) {
|
|
53
53
|
results.push({
|
|
54
54
|
text: model.getLineContent(a + 1),
|
|
55
|
-
lineNumber: a
|
|
55
|
+
lineNumber: a + 1
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
}
|
|
@@ -69,4 +69,4 @@ function getMatchStartEnd(match) {
|
|
|
69
69
|
end: matchEndLine
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
|
-
export {
|
|
72
|
+
export { editorMatchesToTextSearchResults, getTextSearchMatchWithModelContext };
|
|
@@ -1,68 +1,27 @@
|
|
|
1
1
|
import { ServiceIdentifier } from '../../../../platform/instantiation/common/instantiation.js';
|
|
2
|
-
import { IDisposable } from '../../../../base/common/lifecycle.js';
|
|
2
|
+
import { DisposableStore, IDisposable } from '../../../../base/common/lifecycle.js';
|
|
3
3
|
import { ThemeColor } from '../../../../base/common/themables.js';
|
|
4
|
-
import { Event } from '../../../../base/common/event.js';
|
|
5
4
|
import { Command } from '../../../../editor/common/languages.js';
|
|
6
5
|
import { IMarkdownString } from '../../../../base/common/htmlContent.js';
|
|
7
6
|
import { ColorIdentifier } from '../../../../platform/theme/common/colorRegistry.js';
|
|
7
|
+
import { IStatusbarEntryContainer, IAuxiliaryStatusbarPart } from '../../../browser/parts/statusbar/statusbarPart.js';
|
|
8
8
|
|
|
9
9
|
declare const IStatusbarService: ServiceIdentifier<IStatusbarService>;
|
|
10
|
-
interface IStatusbarService {
|
|
10
|
+
interface IStatusbarService extends IStatusbarEntryContainer {
|
|
11
11
|
readonly _serviceBrand: undefined;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Get the status bar part that is rooted in the provided container.
|
|
14
14
|
*/
|
|
15
|
-
|
|
16
|
-
id: string;
|
|
17
|
-
visible: boolean;
|
|
18
|
-
}>;
|
|
15
|
+
getPart(container: HTMLElement): IStatusbarEntryContainer;
|
|
19
16
|
/**
|
|
20
|
-
*
|
|
21
|
-
* to update or remove the statusbar entry.
|
|
22
|
-
*
|
|
23
|
-
* @param id identifier of the entry is needed to allow users to hide entries via settings
|
|
24
|
-
* @param alignment either LEFT or RIGHT side in the status bar
|
|
25
|
-
* @param priority items get arranged from highest priority to lowest priority from left to right
|
|
26
|
-
* in their respective alignment slot
|
|
27
|
-
*/
|
|
28
|
-
addEntry(entry: IStatusbarEntry, id: string, alignment: StatusbarAlignment, priority?: number | IStatusbarEntryPriority): IStatusbarEntryAccessor;
|
|
29
|
-
/**
|
|
30
|
-
* Adds an entry to the statusbar with the given alignment relative to another entry. Use the returned
|
|
31
|
-
* accessor to update or remove the statusbar entry.
|
|
32
|
-
*
|
|
33
|
-
* @param id identifier of the entry is needed to allow users to hide entries via settings
|
|
34
|
-
* @param alignment either LEFT or RIGHT side in the status bar
|
|
35
|
-
* @param location a reference to another entry to position relative to
|
|
36
|
-
*/
|
|
37
|
-
addEntry(entry: IStatusbarEntry, id: string, alignment: StatusbarAlignment, location?: IStatusbarEntryLocation): IStatusbarEntryAccessor;
|
|
38
|
-
/**
|
|
39
|
-
* Return if an entry is visible or not.
|
|
40
|
-
*/
|
|
41
|
-
isEntryVisible(id: string): boolean;
|
|
42
|
-
/**
|
|
43
|
-
* Allows to update an entry's visibility with the provided ID.
|
|
44
|
-
*/
|
|
45
|
-
updateEntryVisibility(id: string, visible: boolean): void;
|
|
46
|
-
/**
|
|
47
|
-
* Focused the status bar. If one of the status bar entries was focused, focuses it directly.
|
|
48
|
-
*/
|
|
49
|
-
focus(preserveEntryFocus?: boolean): void;
|
|
50
|
-
/**
|
|
51
|
-
* Focuses the next status bar entry. If none focused, focuses the first.
|
|
52
|
-
*/
|
|
53
|
-
focusNextEntry(): void;
|
|
54
|
-
/**
|
|
55
|
-
* Focuses the previous status bar entry. If none focused, focuses the last.
|
|
56
|
-
*/
|
|
57
|
-
focusPreviousEntry(): void;
|
|
58
|
-
/**
|
|
59
|
-
* Returns true if a status bar entry is focused.
|
|
17
|
+
* Creates a new auxililary status bar part in the provided container.
|
|
60
18
|
*/
|
|
61
|
-
|
|
19
|
+
createAuxiliaryStatusbarPart(container: HTMLElement): IAuxiliaryStatusbarPart;
|
|
62
20
|
/**
|
|
63
|
-
*
|
|
21
|
+
* Create a scoped status bar service that only operates on the provided
|
|
22
|
+
* status entry container.
|
|
64
23
|
*/
|
|
65
|
-
|
|
24
|
+
createScoped(statusbarEntryContainer: IStatusbarEntryContainer, disposables: DisposableStore): IStatusbarService;
|
|
66
25
|
}
|
|
67
26
|
declare const enum StatusbarAlignment {
|
|
68
27
|
LEFT = 0,
|
|
@@ -166,7 +166,7 @@ let SimpleSuggestWidget = class SimpleSuggestWidget {
|
|
|
166
166
|
}
|
|
167
167
|
finally {
|
|
168
168
|
}
|
|
169
|
-
this._pendingLayout.value = dom.runAtThisOrScheduleAtNextAnimationFrame(() => {
|
|
169
|
+
this._pendingLayout.value = dom.runAtThisOrScheduleAtNextAnimationFrame(dom.getWindow(this.element.domNode), () => {
|
|
170
170
|
this._pendingLayout.clear();
|
|
171
171
|
this._layout(this.element.size);
|
|
172
172
|
});
|
|
@@ -259,7 +259,7 @@ let SimpleSuggestWidget = class SimpleSuggestWidget {
|
|
|
259
259
|
if (!this._cursorPosition) {
|
|
260
260
|
return;
|
|
261
261
|
}
|
|
262
|
-
const bodyBox = dom.getClientArea(
|
|
262
|
+
const bodyBox = dom.getClientArea(this._container.ownerDocument.body);
|
|
263
263
|
const info = this._getLayoutInfo();
|
|
264
264
|
if (!size) {
|
|
265
265
|
size = info.defaultSize;
|
|
@@ -269,6 +269,15 @@ let AbstractTextFileService = class AbstractTextFileService extends Disposable {
|
|
|
269
269
|
if (!target) {
|
|
270
270
|
return;
|
|
271
271
|
}
|
|
272
|
+
if (this.filesConfigurationService.isReadonly(target)) {
|
|
273
|
+
const confirmed = await this.confirmMakeWriteable(target);
|
|
274
|
+
if (!confirmed) {
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
this.filesConfigurationService.updateReadonly(target, false);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
272
281
|
if (isEqual(source, target)) {
|
|
273
282
|
return this.save(source, { ...options, force: true });
|
|
274
283
|
}
|
|
@@ -396,7 +405,7 @@ let AbstractTextFileService = class AbstractTextFileService extends Disposable {
|
|
|
396
405
|
)),
|
|
397
406
|
detail: ( localizeWithPath(
|
|
398
407
|
'vs/workbench/services/textfile/browser/textFileService',
|
|
399
|
-
'
|
|
408
|
+
'overwriteIrreversible',
|
|
400
409
|
"A file or folder with the name '{0}' already exists in the folder '{1}'. Replacing it will overwrite its current contents.",
|
|
401
410
|
basename(resource),
|
|
402
411
|
basename(dirname(resource))
|
|
@@ -409,6 +418,28 @@ let AbstractTextFileService = class AbstractTextFileService extends Disposable {
|
|
|
409
418
|
});
|
|
410
419
|
return confirmed;
|
|
411
420
|
}
|
|
421
|
+
async confirmMakeWriteable(resource) {
|
|
422
|
+
const { confirmed } = await this.dialogService.confirm({
|
|
423
|
+
type: 'warning',
|
|
424
|
+
message: ( localizeWithPath(
|
|
425
|
+
'vs/workbench/services/textfile/browser/textFileService',
|
|
426
|
+
'confirmMakeWriteable',
|
|
427
|
+
"'{0}' is marked as read-only. Do you want to save anyway?",
|
|
428
|
+
basename(resource)
|
|
429
|
+
)),
|
|
430
|
+
detail: ( localizeWithPath(
|
|
431
|
+
'vs/workbench/services/textfile/browser/textFileService',
|
|
432
|
+
'confirmMakeWriteableDetail',
|
|
433
|
+
"Paths can be configured as read-only via settings."
|
|
434
|
+
)),
|
|
435
|
+
primaryButton: ( localizeWithPath(
|
|
436
|
+
'vs/workbench/services/textfile/browser/textFileService',
|
|
437
|
+
{ key: 'makeWriteableButtonLabel', comment: ['&& denotes a mnemonic'] },
|
|
438
|
+
"&&Save Anyway"
|
|
439
|
+
))
|
|
440
|
+
});
|
|
441
|
+
return confirmed;
|
|
442
|
+
}
|
|
412
443
|
async suggestSavePath(resource) {
|
|
413
444
|
if (this.fileService.hasProvider(resource)) {
|
|
414
445
|
return resource;
|