@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
|
@@ -1,149 +1,72 @@
|
|
|
1
|
-
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
1
|
import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
3
2
|
import { Iterable } from 'monaco-editor/esm/vs/base/common/iterator.js';
|
|
4
|
-
import { Disposable, toDisposable
|
|
5
|
-
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
3
|
+
import { Disposable, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
6
4
|
import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
7
|
-
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
8
|
-
import { Extensions } from '../../../common/contributions.js';
|
|
9
|
-
import { isProposedApiEnabled } from '../../../services/extensions/common/extensions.js';
|
|
10
|
-
import { ExtensionsRegistry } from '../../../services/extensions/common/extensionsRegistry.js';
|
|
11
|
-
const agentItem = {
|
|
12
|
-
type: 'object',
|
|
13
|
-
required: ['agent', 'detail'],
|
|
14
|
-
properties: {
|
|
15
|
-
agent: {
|
|
16
|
-
type: 'string',
|
|
17
|
-
markdownDescription: ( localizeWithPath(
|
|
18
|
-
'vs/workbench/contrib/chat/common/chatAgents',
|
|
19
|
-
'agent',
|
|
20
|
-
"The name of the agent which will be used as prefix."
|
|
21
|
-
))
|
|
22
|
-
},
|
|
23
|
-
detail: {
|
|
24
|
-
type: 'string',
|
|
25
|
-
markdownDescription: ( localizeWithPath(
|
|
26
|
-
'vs/workbench/contrib/chat/common/chatAgents',
|
|
27
|
-
'details',
|
|
28
|
-
"The details of the agent."
|
|
29
|
-
))
|
|
30
|
-
},
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
const agentItems = {
|
|
34
|
-
description: ( localizeWithPath(
|
|
35
|
-
'vs/workbench/contrib/chat/common/chatAgents',
|
|
36
|
-
'vscode.extension.contributes.slashes',
|
|
37
|
-
"Contributes agents to chat"
|
|
38
|
-
)),
|
|
39
|
-
oneOf: [
|
|
40
|
-
agentItem,
|
|
41
|
-
{
|
|
42
|
-
type: 'array',
|
|
43
|
-
items: agentItem
|
|
44
|
-
}
|
|
45
|
-
]
|
|
46
|
-
};
|
|
47
|
-
const agentsExtPoint = ( ExtensionsRegistry.registerExtensionPoint({
|
|
48
|
-
extensionPoint: 'agents',
|
|
49
|
-
jsonSchema: agentItems
|
|
50
|
-
}));
|
|
51
|
-
function isAgentData(data) {
|
|
52
|
-
return typeof data === 'object' && data &&
|
|
53
|
-
typeof data.id === 'string' &&
|
|
54
|
-
typeof data.detail === 'string';
|
|
55
|
-
}
|
|
56
5
|
const IChatAgentService = ( createDecorator('chatAgentService'));
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
super();
|
|
61
|
-
this._extensionService = _extensionService;
|
|
6
|
+
class ChatAgentService extends Disposable {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
62
9
|
this._agents = ( new Map());
|
|
63
10
|
this._onDidChangeAgents = this._register(( new Emitter()));
|
|
64
11
|
this.onDidChangeAgents = this._onDidChangeAgents.event;
|
|
65
12
|
}
|
|
13
|
+
static { this.AGENT_LEADER = '@'; }
|
|
66
14
|
dispose() {
|
|
67
15
|
super.dispose();
|
|
68
16
|
this._agents.clear();
|
|
69
17
|
}
|
|
70
|
-
|
|
71
|
-
if (( this._agents.has(
|
|
72
|
-
throw new Error(`Already registered an agent with id ${
|
|
18
|
+
registerAgent(agent) {
|
|
19
|
+
if (( this._agents.has(agent.id))) {
|
|
20
|
+
throw new Error(`Already registered an agent with id ${agent.id}`);
|
|
73
21
|
}
|
|
74
|
-
this._agents.set(
|
|
22
|
+
this._agents.set(agent.id, { agent });
|
|
75
23
|
this._onDidChangeAgents.fire();
|
|
76
24
|
return toDisposable(() => {
|
|
77
|
-
if (this._agents.delete(
|
|
25
|
+
if (this._agents.delete(agent.id)) {
|
|
78
26
|
this._onDidChangeAgents.fire();
|
|
79
27
|
}
|
|
80
28
|
});
|
|
81
29
|
}
|
|
82
|
-
|
|
30
|
+
updateAgent(id, updateMetadata) {
|
|
83
31
|
const data = this._agents.get(id);
|
|
84
32
|
if (!data) {
|
|
85
33
|
throw new Error(`No agent with id ${id} registered`);
|
|
86
34
|
}
|
|
87
|
-
data.
|
|
88
|
-
|
|
35
|
+
data.agent.metadata = { ...data.agent.metadata, ...updateMetadata };
|
|
36
|
+
this._onDidChangeAgents.fire();
|
|
37
|
+
}
|
|
38
|
+
getDefaultAgent() {
|
|
39
|
+
return Iterable.find(( this._agents.values()), a => !!a.agent.metadata.isDefault)?.agent;
|
|
89
40
|
}
|
|
90
|
-
|
|
91
|
-
return
|
|
41
|
+
getSecondaryAgent() {
|
|
42
|
+
return Iterable.find(( this._agents.values()), a => !!a.agent.metadata.isSecondary)?.agent;
|
|
92
43
|
}
|
|
93
44
|
getAgents() {
|
|
94
|
-
return Array.from(( this._agents.values()), v => v.
|
|
45
|
+
return Array.from(( this._agents.values()), v => v.agent);
|
|
95
46
|
}
|
|
96
47
|
hasAgent(id) {
|
|
97
48
|
return ( this._agents.has(id));
|
|
98
49
|
}
|
|
99
50
|
getAgent(id) {
|
|
100
51
|
const data = this._agents.get(id);
|
|
101
|
-
return data?.
|
|
52
|
+
return data?.agent;
|
|
102
53
|
}
|
|
103
|
-
async invokeAgent(id,
|
|
54
|
+
async invokeAgent(id, request, progress, history, token) {
|
|
104
55
|
const data = this._agents.get(id);
|
|
105
56
|
if (!data) {
|
|
106
|
-
throw new Error(
|
|
57
|
+
throw new Error(`No agent with id ${id}`);
|
|
107
58
|
}
|
|
108
|
-
|
|
109
|
-
|
|
59
|
+
return await data.agent.invoke(request, progress, history, token);
|
|
60
|
+
}
|
|
61
|
+
async getFollowups(id, sessionId, token) {
|
|
62
|
+
const data = this._agents.get(id);
|
|
63
|
+
if (!data) {
|
|
64
|
+
throw new Error(`No agent with id ${id}`);
|
|
110
65
|
}
|
|
111
|
-
if (!data.
|
|
112
|
-
|
|
66
|
+
if (!data.agent.provideFollowups) {
|
|
67
|
+
return [];
|
|
113
68
|
}
|
|
114
|
-
return
|
|
69
|
+
return data.agent.provideFollowups(sessionId, token);
|
|
115
70
|
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
constructor(chatAgentService) {
|
|
119
|
-
const contributions = ( new DisposableStore());
|
|
120
|
-
agentsExtPoint.setHandler(extensions => {
|
|
121
|
-
contributions.clear();
|
|
122
|
-
for (const entry of extensions) {
|
|
123
|
-
if (!isProposedApiEnabled(entry.description, 'chatAgents')) {
|
|
124
|
-
entry.collector.error(`The ${agentsExtPoint.name} is proposed API`);
|
|
125
|
-
continue;
|
|
126
|
-
}
|
|
127
|
-
const { value } = entry;
|
|
128
|
-
for (const candidate of Iterable.wrap(value)) {
|
|
129
|
-
if (!isAgentData(candidate)) {
|
|
130
|
-
entry.collector.error(( localizeWithPath(
|
|
131
|
-
'vs/workbench/contrib/chat/common/chatAgents',
|
|
132
|
-
'invalid',
|
|
133
|
-
"Invalid {0}: {1}",
|
|
134
|
-
agentsExtPoint.name,
|
|
135
|
-
JSON.stringify(candidate)
|
|
136
|
-
)));
|
|
137
|
-
continue;
|
|
138
|
-
}
|
|
139
|
-
contributions.add(chatAgentService.registerAgentData({ ...candidate }));
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
ChatAgentContribution = ( __decorate([
|
|
146
|
-
( __param(0, IChatAgentService))
|
|
147
|
-
], ChatAgentContribution));
|
|
148
|
-
( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(ChatAgentContribution, 3 );
|
|
149
|
-
export { IChatAgentService, agentsExtPoint };
|
|
71
|
+
}
|
|
72
|
+
export { ChatAgentService, IChatAgentService };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
2
|
+
import { RawContextKey } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
3
|
+
const CONTEXT_RESPONSE_VOTE = ( new RawContextKey(
|
|
4
|
+
'chatSessionResponseVote',
|
|
5
|
+
'',
|
|
6
|
+
{ type: 'string', description: ( localizeWithPath(
|
|
7
|
+
'vs/workbench/contrib/chat/common/chatContextKeys',
|
|
8
|
+
'interactiveSessionResponseVote',
|
|
9
|
+
"When the response has been voted up, is set to 'up'. When voted down, is set to 'down'. Otherwise an empty string."
|
|
10
|
+
)) }
|
|
11
|
+
));
|
|
12
|
+
const CONTEXT_CHAT_RESPONSE_SUPPORT_ISSUE_REPORTING = ( new RawContextKey(
|
|
13
|
+
'chatResponseSupportsIssueReporting',
|
|
14
|
+
false,
|
|
15
|
+
{ type: 'boolean', description: ( localizeWithPath(
|
|
16
|
+
'vs/workbench/contrib/chat/common/chatContextKeys',
|
|
17
|
+
'chatResponseSupportsIssueReporting',
|
|
18
|
+
"True when the current chat response supports issue reporting."
|
|
19
|
+
)) }
|
|
20
|
+
));
|
|
21
|
+
const CONTEXT_RESPONSE_FILTERED = ( new RawContextKey(
|
|
22
|
+
'chatSessionResponseFiltered',
|
|
23
|
+
false,
|
|
24
|
+
{ type: 'boolean', description: ( localizeWithPath(
|
|
25
|
+
'vs/workbench/contrib/chat/common/chatContextKeys',
|
|
26
|
+
'chatResponseFiltered',
|
|
27
|
+
"True when the chat response was filtered out by the server."
|
|
28
|
+
)) }
|
|
29
|
+
));
|
|
30
|
+
const CONTEXT_CHAT_REQUEST_IN_PROGRESS = ( new RawContextKey(
|
|
31
|
+
'chatSessionRequestInProgress',
|
|
32
|
+
false,
|
|
33
|
+
{ type: 'boolean', description: ( localizeWithPath(
|
|
34
|
+
'vs/workbench/contrib/chat/common/chatContextKeys',
|
|
35
|
+
'interactiveSessionRequestInProgress',
|
|
36
|
+
"True when the current request is still in progress."
|
|
37
|
+
)) }
|
|
38
|
+
));
|
|
39
|
+
const CONTEXT_RESPONSE = ( new RawContextKey('chatResponse', false, { type: 'boolean', description: ( localizeWithPath(
|
|
40
|
+
'vs/workbench/contrib/chat/common/chatContextKeys',
|
|
41
|
+
'chatResponse',
|
|
42
|
+
"The chat item is a response."
|
|
43
|
+
)) }));
|
|
44
|
+
const CONTEXT_REQUEST = ( new RawContextKey('chatRequest', false, { type: 'boolean', description: ( localizeWithPath(
|
|
45
|
+
'vs/workbench/contrib/chat/common/chatContextKeys',
|
|
46
|
+
'chatRequest',
|
|
47
|
+
"The chat item is a request"
|
|
48
|
+
)) }));
|
|
49
|
+
const CONTEXT_CHAT_INPUT_HAS_TEXT = ( new RawContextKey('chatInputHasText', false, { type: 'boolean', description: ( localizeWithPath(
|
|
50
|
+
'vs/workbench/contrib/chat/common/chatContextKeys',
|
|
51
|
+
'interactiveInputHasText',
|
|
52
|
+
"True when the chat input has text."
|
|
53
|
+
)) }));
|
|
54
|
+
const CONTEXT_IN_CHAT_INPUT = ( new RawContextKey('inChatInput', false, { type: 'boolean', description: ( localizeWithPath(
|
|
55
|
+
'vs/workbench/contrib/chat/common/chatContextKeys',
|
|
56
|
+
'inInteractiveInput',
|
|
57
|
+
"True when focus is in the chat input, false otherwise."
|
|
58
|
+
)) }));
|
|
59
|
+
const CONTEXT_IN_CHAT_SESSION = ( new RawContextKey('inChat', false, { type: 'boolean', description: ( localizeWithPath(
|
|
60
|
+
'vs/workbench/contrib/chat/common/chatContextKeys',
|
|
61
|
+
'inChat',
|
|
62
|
+
"True when focus is in the chat widget, false otherwise."
|
|
63
|
+
)) }));
|
|
64
|
+
export { CONTEXT_CHAT_INPUT_HAS_TEXT, CONTEXT_CHAT_REQUEST_IN_PROGRESS, CONTEXT_CHAT_RESPONSE_SUPPORT_ISSUE_REPORTING, CONTEXT_IN_CHAT_INPUT, CONTEXT_IN_CHAT_SESSION, CONTEXT_REQUEST, CONTEXT_RESPONSE, CONTEXT_RESPONSE_FILTERED, CONTEXT_RESPONSE_VOTE };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
class ChatRequestTextPart {
|
|
2
|
+
static { this.Kind = 'text'; }
|
|
3
|
+
constructor(range, editorRange, text) {
|
|
4
|
+
this.range = range;
|
|
5
|
+
this.editorRange = editorRange;
|
|
6
|
+
this.text = text;
|
|
7
|
+
this.kind = ChatRequestTextPart.Kind;
|
|
8
|
+
}
|
|
9
|
+
get promptText() {
|
|
10
|
+
return this.text;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
const chatVariableLeader = '#';
|
|
14
|
+
const chatAgentLeader = '@';
|
|
15
|
+
const chatSubcommandLeader = '/';
|
|
16
|
+
class ChatRequestVariablePart {
|
|
17
|
+
static { this.Kind = 'var'; }
|
|
18
|
+
constructor(range, editorRange, variableName, variableArg) {
|
|
19
|
+
this.range = range;
|
|
20
|
+
this.editorRange = editorRange;
|
|
21
|
+
this.variableName = variableName;
|
|
22
|
+
this.variableArg = variableArg;
|
|
23
|
+
this.kind = ChatRequestVariablePart.Kind;
|
|
24
|
+
}
|
|
25
|
+
get text() {
|
|
26
|
+
const argPart = this.variableArg ? `:${this.variableArg}` : '';
|
|
27
|
+
return `${chatVariableLeader}${this.variableName}${argPart}`;
|
|
28
|
+
}
|
|
29
|
+
get promptText() {
|
|
30
|
+
return this.text;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
class ChatRequestAgentPart {
|
|
34
|
+
static { this.Kind = 'agent'; }
|
|
35
|
+
constructor(range, editorRange, agent) {
|
|
36
|
+
this.range = range;
|
|
37
|
+
this.editorRange = editorRange;
|
|
38
|
+
this.agent = agent;
|
|
39
|
+
this.kind = ChatRequestAgentPart.Kind;
|
|
40
|
+
}
|
|
41
|
+
get text() {
|
|
42
|
+
return `${chatAgentLeader}${this.agent.id}`;
|
|
43
|
+
}
|
|
44
|
+
get promptText() {
|
|
45
|
+
return '';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
class ChatRequestAgentSubcommandPart {
|
|
49
|
+
static { this.Kind = 'subcommand'; }
|
|
50
|
+
constructor(range, editorRange, command) {
|
|
51
|
+
this.range = range;
|
|
52
|
+
this.editorRange = editorRange;
|
|
53
|
+
this.command = command;
|
|
54
|
+
this.kind = ChatRequestAgentSubcommandPart.Kind;
|
|
55
|
+
}
|
|
56
|
+
get text() {
|
|
57
|
+
return `${chatSubcommandLeader}${this.command.name}`;
|
|
58
|
+
}
|
|
59
|
+
get promptText() {
|
|
60
|
+
return '';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
class ChatRequestSlashCommandPart {
|
|
64
|
+
static { this.Kind = 'slash'; }
|
|
65
|
+
constructor(range, editorRange, slashCommand) {
|
|
66
|
+
this.range = range;
|
|
67
|
+
this.editorRange = editorRange;
|
|
68
|
+
this.slashCommand = slashCommand;
|
|
69
|
+
this.kind = ChatRequestSlashCommandPart.Kind;
|
|
70
|
+
}
|
|
71
|
+
get text() {
|
|
72
|
+
return `${chatSubcommandLeader}${this.slashCommand.command}`;
|
|
73
|
+
}
|
|
74
|
+
get promptText() {
|
|
75
|
+
return `${chatSubcommandLeader}${this.slashCommand.command}`;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
class ChatRequestDynamicVariablePart {
|
|
79
|
+
static { this.Kind = 'dynamic'; }
|
|
80
|
+
constructor(range, editorRange, text, data) {
|
|
81
|
+
this.range = range;
|
|
82
|
+
this.editorRange = editorRange;
|
|
83
|
+
this.text = text;
|
|
84
|
+
this.data = data;
|
|
85
|
+
this.kind = ChatRequestDynamicVariablePart.Kind;
|
|
86
|
+
}
|
|
87
|
+
get referenceText() {
|
|
88
|
+
return this.text;
|
|
89
|
+
}
|
|
90
|
+
get promptText() {
|
|
91
|
+
return ``;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
export { ChatRequestAgentPart, ChatRequestAgentSubcommandPart, ChatRequestDynamicVariablePart, ChatRequestSlashCommandPart, ChatRequestTextPart, ChatRequestVariablePart, chatAgentLeader, chatSubcommandLeader, chatVariableLeader };
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
2
|
+
var InteractiveSessionVoteDirection;
|
|
3
|
+
( (function(InteractiveSessionVoteDirection) {
|
|
4
|
+
InteractiveSessionVoteDirection[InteractiveSessionVoteDirection["Down"] = 0] = "Down";
|
|
5
|
+
InteractiveSessionVoteDirection[InteractiveSessionVoteDirection["Up"] = 1] = "Up";
|
|
6
|
+
})(InteractiveSessionVoteDirection || (InteractiveSessionVoteDirection = {})));
|
|
2
7
|
const IChatService = ( createDecorator('IChatService'));
|
|
3
|
-
export { IChatService };
|
|
8
|
+
export { IChatService, InteractiveSessionVoteDirection };
|
|
@@ -1,90 +1,3 @@
|
|
|
1
|
-
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
-
import { Iterable } from 'monaco-editor/esm/vs/base/common/iterator.js';
|
|
3
|
-
import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
4
|
-
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
5
1
|
import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
6
|
-
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
7
|
-
import { Extensions } from '../../../common/contributions.js';
|
|
8
|
-
import { isProposedApiEnabled } from '../../../services/extensions/common/extensions.js';
|
|
9
|
-
import { ExtensionsRegistry } from '../../../services/extensions/common/extensionsRegistry.js';
|
|
10
|
-
const slashItem = {
|
|
11
|
-
type: 'object',
|
|
12
|
-
required: ['command', 'detail'],
|
|
13
|
-
properties: {
|
|
14
|
-
command: {
|
|
15
|
-
type: 'string',
|
|
16
|
-
markdownDescription: ( localizeWithPath(
|
|
17
|
-
'vs/workbench/contrib/chat/common/chatSlashCommands',
|
|
18
|
-
'command',
|
|
19
|
-
"The name of the slash command which will be used as prefix."
|
|
20
|
-
))
|
|
21
|
-
},
|
|
22
|
-
detail: {
|
|
23
|
-
type: 'string',
|
|
24
|
-
markdownDescription: ( localizeWithPath(
|
|
25
|
-
'vs/workbench/contrib/chat/common/chatSlashCommands',
|
|
26
|
-
'details',
|
|
27
|
-
"The details of the slash command."
|
|
28
|
-
))
|
|
29
|
-
},
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
const slashItems = {
|
|
33
|
-
description: ( localizeWithPath(
|
|
34
|
-
'vs/workbench/contrib/chat/common/chatSlashCommands',
|
|
35
|
-
'vscode.extension.contributes.slashes',
|
|
36
|
-
"Contributes slash commands to chat"
|
|
37
|
-
)),
|
|
38
|
-
oneOf: [
|
|
39
|
-
slashItem,
|
|
40
|
-
{
|
|
41
|
-
type: 'array',
|
|
42
|
-
items: slashItem
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
};
|
|
46
|
-
const slashesExtPoint = ( ExtensionsRegistry.registerExtensionPoint({
|
|
47
|
-
extensionPoint: 'slashes',
|
|
48
|
-
jsonSchema: slashItems
|
|
49
|
-
}));
|
|
50
|
-
function isChatSlashData(data) {
|
|
51
|
-
return typeof data === 'object' && data &&
|
|
52
|
-
typeof data.command === 'string' &&
|
|
53
|
-
typeof data.detail === 'string' &&
|
|
54
|
-
(typeof data.sortText === 'undefined' || typeof data.sortText === 'string') &&
|
|
55
|
-
(typeof data.executeImmediately === 'undefined' || typeof data.executeImmediately === 'boolean');
|
|
56
|
-
}
|
|
57
2
|
const IChatSlashCommandService = ( createDecorator('chatSlashCommandService'));
|
|
58
|
-
|
|
59
|
-
constructor(slashCommandService) {
|
|
60
|
-
const contributions = ( new DisposableStore());
|
|
61
|
-
slashesExtPoint.setHandler(extensions => {
|
|
62
|
-
contributions.clear();
|
|
63
|
-
for (const entry of extensions) {
|
|
64
|
-
if (!isProposedApiEnabled(entry.description, 'chatSlashCommands')) {
|
|
65
|
-
entry.collector.error(`The ${slashesExtPoint.name} is proposed API`);
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
const { value } = entry;
|
|
69
|
-
for (const candidate of Iterable.wrap(value)) {
|
|
70
|
-
if (!isChatSlashData(candidate)) {
|
|
71
|
-
entry.collector.error(( localizeWithPath(
|
|
72
|
-
'vs/workbench/contrib/chat/common/chatSlashCommands',
|
|
73
|
-
'invalid',
|
|
74
|
-
"Invalid {0}: {1}",
|
|
75
|
-
slashesExtPoint.name,
|
|
76
|
-
JSON.stringify(candidate)
|
|
77
|
-
)));
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
contributions.add(slashCommandService.registerSlashData({ ...candidate }));
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
ChatSlashCommandContribution = ( __decorate([
|
|
87
|
-
( __param(0, IChatSlashCommandService))
|
|
88
|
-
], ChatSlashCommandContribution));
|
|
89
|
-
( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(ChatSlashCommandContribution, 3 );
|
|
90
|
-
export { IChatSlashCommandService, slashesExtPoint };
|
|
3
|
+
export { IChatSlashCommandService };
|
|
@@ -67,9 +67,9 @@ const codeActionsOnSaveSchema = {
|
|
|
67
67
|
markdownDescription: ( nls.localizeWithPath(
|
|
68
68
|
'vs/workbench/contrib/codeActions/browser/codeActionsContribution',
|
|
69
69
|
'editor.codeActionsOnSave',
|
|
70
|
-
'Run
|
|
70
|
+
'Run Code Actions for the editor on save. Code Actions must be specified and the editor must not be shutting down. Example: `"source.organizeImports": "explicit" `'
|
|
71
71
|
)),
|
|
72
|
-
type: 'object',
|
|
72
|
+
type: ['object', 'array'],
|
|
73
73
|
additionalProperties: {
|
|
74
74
|
type: ['string', 'boolean'],
|
|
75
75
|
enum: ['always', 'explicit', 'never', true, false],
|
|
@@ -89,7 +89,7 @@ let CodeActionsContribution = class CodeActionsContribution extends Disposable {
|
|
|
89
89
|
this._contributedCodeActions = [];
|
|
90
90
|
this._onDidChangeContributions = this._register(( new Emitter()));
|
|
91
91
|
codeActionsExtensionPoint.setHandler(extensionPoints => {
|
|
92
|
-
this._contributedCodeActions =
|
|
92
|
+
this._contributedCodeActions = extensionPoints.flatMap(x => x.value).filter(x => Array.isArray(x.actions));
|
|
93
93
|
this.updateConfigurationSchema(this._contributedCodeActions);
|
|
94
94
|
this._onDidChangeContributions.fire();
|
|
95
95
|
});
|
|
@@ -156,7 +156,7 @@ let CodeActionsContribution = class CodeActionsContribution extends Disposable {
|
|
|
156
156
|
};
|
|
157
157
|
};
|
|
158
158
|
const getActions = (ofKind) => {
|
|
159
|
-
const allActions =
|
|
159
|
+
const allActions = this._contributedCodeActions.flatMap(desc => desc.actions);
|
|
160
160
|
const out = ( new Map());
|
|
161
161
|
for (const action of allActions) {
|
|
162
162
|
if (!( out.has(action.kind)) && ofKind.contains(( new CodeActionKind(action.kind)))) {
|
|
@@ -15,9 +15,9 @@ import { Severity, INotificationService } from 'monaco-editor/esm/vs/platform/no
|
|
|
15
15
|
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
16
16
|
import { FloatingEditorClickWidget } from '../../../browser/codeeditor.js';
|
|
17
17
|
import { Extensions } from '../../../common/configuration.js';
|
|
18
|
-
import { getCommentCommandInfo } from '../../accessibility/browser/accessibilityContributions.js';
|
|
19
18
|
import { IAccessibleViewService } from '../../accessibility/browser/accessibleView.js';
|
|
20
19
|
import { AccessibilityHelpAction } from '../../accessibility/browser/accessibleViewActions.js';
|
|
20
|
+
import { getCommentCommandInfo } from '../../accessibility/browser/editorAccessibilityHelp.js';
|
|
21
21
|
import { IEditorService } from '../../../services/editor/common/editorService.js';
|
|
22
22
|
let DiffEditorHelperContribution = class DiffEditorHelperContribution extends Disposable {
|
|
23
23
|
static { this.ID = 'editor.contrib.diffEditorHelper'; }
|
|
@@ -30,7 +30,7 @@ let DiffEditorHelperContribution = class DiffEditorHelperContribution extends Di
|
|
|
30
30
|
this._register(createScreenReaderHelp());
|
|
31
31
|
const isEmbeddedDiffEditor = this._diffEditor instanceof EmbeddedDiffEditorWidget;
|
|
32
32
|
if (!isEmbeddedDiffEditor) {
|
|
33
|
-
const computationResult = observableFromEvent(e => this._diffEditor.onDidUpdateDiff(e), () =>
|
|
33
|
+
const computationResult = observableFromEvent(e => this._diffEditor.onDidUpdateDiff(e), () => this._diffEditor.getDiffComputationResult());
|
|
34
34
|
const onlyWhiteSpaceChange = ( computationResult.map(r => r && !r.identical && r.changes2.length === 0));
|
|
35
35
|
this._register(autorunWithStore((reader, store) => {
|
|
36
36
|
if (onlyWhiteSpaceChange.read(reader)) {
|
|
@@ -115,6 +115,7 @@ function createScreenReaderHelp() {
|
|
|
115
115
|
content.push(commentCommandInfo);
|
|
116
116
|
}
|
|
117
117
|
accessibleViewService.show({
|
|
118
|
+
id: "diffEditor" ,
|
|
118
119
|
verbositySettingKey: "accessibility.verbosity.diffEditor" ,
|
|
119
120
|
provideContent: () => content.join('\n\n'),
|
|
120
121
|
onClose: () => {
|
package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js
CHANGED
|
@@ -18,6 +18,8 @@ import { isCompositeEditor } from 'monaco-editor/esm/vs/editor/browser/editorBro
|
|
|
18
18
|
import { IEditorGroupsService } from '../../../../services/editor/common/editorGroupsService.js';
|
|
19
19
|
import { IOutlineModelService } from 'monaco-editor/esm/vs/editor/contrib/documentSymbols/browser/outlineModel.js';
|
|
20
20
|
import { ILanguageFeaturesService } from 'monaco-editor/esm/vs/editor/common/services/languageFeatures.js';
|
|
21
|
+
import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
22
|
+
import { accessibleViewIsShown, accessibilityHelpIsShown } from '../../../accessibility/browser/accessibilityConfiguration.js';
|
|
21
23
|
var GotoSymbolQuickAccessProvider_1;
|
|
22
24
|
let GotoSymbolQuickAccessProvider = class GotoSymbolQuickAccessProvider extends AbstractGotoSymbolQuickAccessProvider {
|
|
23
25
|
static { GotoSymbolQuickAccessProvider_1 = this; }
|
|
@@ -199,7 +201,7 @@ class GotoSymbolAction extends Action2 {
|
|
|
199
201
|
},
|
|
200
202
|
f1: true,
|
|
201
203
|
keybinding: {
|
|
202
|
-
when:
|
|
204
|
+
when: ( ContextKeyExpr.and(( accessibleViewIsShown.negate()), ( accessibilityHelpIsShown.negate()))),
|
|
203
205
|
weight: 200 ,
|
|
204
206
|
primary: 2048 | 1024 | 45
|
|
205
207
|
},
|
|
@@ -123,8 +123,8 @@ let TrimFinalNewLinesParticipant = class TrimFinalNewLinesParticipant {
|
|
|
123
123
|
}
|
|
124
124
|
findLastNonEmptyLine(model) {
|
|
125
125
|
for (let lineNumber = model.getLineCount(); lineNumber >= 1; lineNumber--) {
|
|
126
|
-
const
|
|
127
|
-
if (
|
|
126
|
+
const lineLength = model.getLineLength(lineNumber);
|
|
127
|
+
if (lineLength > 0) {
|
|
128
128
|
return lineNumber;
|
|
129
129
|
}
|
|
130
130
|
}
|
|
@@ -204,7 +204,7 @@ let FormatOnSaveParticipant = class FormatOnSaveParticipant {
|
|
|
204
204
|
await this.instantiationService.invokeFunction(formatDocumentWithSelectedProvider, editorOrModel, 2 , nestedProgress, token);
|
|
205
205
|
}
|
|
206
206
|
else if (ranges) {
|
|
207
|
-
await this.instantiationService.invokeFunction(formatDocumentRangesWithSelectedProvider, editorOrModel, ranges, 2 , nestedProgress, token);
|
|
207
|
+
await this.instantiationService.invokeFunction(formatDocumentRangesWithSelectedProvider, editorOrModel, ranges, 2 , nestedProgress, token, false);
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
210
|
}
|
|
@@ -233,16 +233,13 @@ let CodeActionOnSaveParticipant = class CodeActionOnSaveParticipant {
|
|
|
233
233
|
if (env.reason === 2 ) {
|
|
234
234
|
return undefined;
|
|
235
235
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
if (typeof setting[key] === 'boolean') {
|
|
239
|
-
convertedSetting[key] = setting[key] ? 'explicit' : 'never';
|
|
240
|
-
}
|
|
241
|
-
else if (typeof setting[key] === 'string') {
|
|
242
|
-
convertedSetting[key] = setting[key];
|
|
243
|
-
}
|
|
236
|
+
if (env.reason !== 1 && Array.isArray(setting)) {
|
|
237
|
+
return undefined;
|
|
244
238
|
}
|
|
245
|
-
const
|
|
239
|
+
const settingItems = Array.isArray(setting)
|
|
240
|
+
? setting
|
|
241
|
+
: ( Object.keys(setting)).filter(x => setting[x] && setting[x] !== 'never');
|
|
242
|
+
const codeActionsOnSave = this.createCodeActionsOnSave(settingItems);
|
|
246
243
|
if (!Array.isArray(setting)) {
|
|
247
244
|
codeActionsOnSave.sort((a, b) => {
|
|
248
245
|
if (CodeActionKind.SourceFixAll.contains(a)) {
|
|
@@ -260,15 +257,17 @@ let CodeActionOnSaveParticipant = class CodeActionOnSaveParticipant {
|
|
|
260
257
|
if (!codeActionsOnSave.length) {
|
|
261
258
|
return undefined;
|
|
262
259
|
}
|
|
263
|
-
const excludedActions =
|
|
264
|
-
|
|
265
|
-
|
|
260
|
+
const excludedActions = Array.isArray(setting)
|
|
261
|
+
? []
|
|
262
|
+
: ( ( Object.keys(setting))
|
|
263
|
+
.filter(x => setting[x] === 'never' || false)
|
|
264
|
+
.map(x => ( new CodeActionKind(x))));
|
|
266
265
|
progress.report({ message: ( localizeWithPath(
|
|
267
266
|
'vs/workbench/contrib/codeEditor/browser/saveParticipants',
|
|
268
267
|
'codeaction',
|
|
269
268
|
"Quick Fixes"
|
|
270
269
|
)) });
|
|
271
|
-
const filteredSaveList = codeActionsOnSave.filter(x =>
|
|
270
|
+
const filteredSaveList = Array.isArray(setting) ? codeActionsOnSave : codeActionsOnSave.filter(x => setting[x.value] === 'always' || (((setting[x.value] === 'explicit' || setting[x.value] === true) && env.reason === 1) ));
|
|
272
271
|
await this.applyOnSaveActions(textEditorModel, filteredSaveList, excludedActions, progress, token);
|
|
273
272
|
}
|
|
274
273
|
createCodeActionsOnSave(settingItems) {
|
|
@@ -10,6 +10,9 @@ import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
|
|
|
10
10
|
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
11
11
|
import { Extensions } from '../../../common/contributions.js';
|
|
12
12
|
import { IEditorService } from '../../../services/editor/common/editorService.js';
|
|
13
|
+
import { Event } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
14
|
+
import { onDidRegisterWindow, addDisposableListener } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
15
|
+
import { mainWindow } from 'monaco-editor/esm/vs/base/browser/window.js';
|
|
13
16
|
const transientWordWrapState = 'transientWordWrapState';
|
|
14
17
|
const isWordWrapMinifiedKey = 'isWordWrapMinified';
|
|
15
18
|
const isDominatedByLongLinesKey = 'isDominatedByLongLines';
|
|
@@ -195,13 +198,16 @@ function canToggleWordWrap(codeEditorService, editor) {
|
|
|
195
198
|
}
|
|
196
199
|
return true;
|
|
197
200
|
}
|
|
198
|
-
let EditorWordWrapContextKeyTracker = class EditorWordWrapContextKeyTracker {
|
|
201
|
+
let EditorWordWrapContextKeyTracker = class EditorWordWrapContextKeyTracker extends Disposable {
|
|
199
202
|
constructor(_editorService, _codeEditorService, _contextService) {
|
|
203
|
+
super();
|
|
200
204
|
this._editorService = _editorService;
|
|
201
205
|
this._codeEditorService = _codeEditorService;
|
|
202
206
|
this._contextService = _contextService;
|
|
203
|
-
|
|
204
|
-
|
|
207
|
+
this._register(Event.runAndSubscribe(onDidRegisterWindow, ({ window, disposables }) => {
|
|
208
|
+
disposables.add(addDisposableListener(window, 'focus', () => this._update(), true));
|
|
209
|
+
disposables.add(addDisposableListener(window, 'blur', () => this._update(), true));
|
|
210
|
+
}, { window: mainWindow, disposables: this._store }));
|
|
205
211
|
this._editorService.onDidActiveEditorChange(() => this._update());
|
|
206
212
|
this._canToggleWordWrap = CAN_TOGGLE_WORD_WRAP.bindTo(this._contextService);
|
|
207
213
|
this._editorWordWrap = EDITOR_WORD_WRAP.bindTo(this._contextService);
|
|
@@ -12,6 +12,7 @@ import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
|
12
12
|
import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
13
13
|
import { CommentContextKeys } from '../common/commentContextKeys.js';
|
|
14
14
|
import { ToggleTabFocusModeAction } from 'monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';
|
|
15
|
+
import { getActiveElement } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
15
16
|
( Registry.as(Extensions.Configuration)).registerConfiguration({
|
|
16
17
|
id: 'comments',
|
|
17
18
|
order: 20,
|
|
@@ -204,6 +205,7 @@ class CommentsAccessibilityHelpContribution extends Disposable {
|
|
|
204
205
|
let CommentsAccessibilityHelpProvider = class CommentsAccessibilityHelpProvider {
|
|
205
206
|
constructor(_keybindingService) {
|
|
206
207
|
this._keybindingService = _keybindingService;
|
|
208
|
+
this.id = "comments" ;
|
|
207
209
|
this.verbositySettingKey = "accessibility.verbosity.comments" ;
|
|
208
210
|
this.options = { type: "help" };
|
|
209
211
|
}
|
|
@@ -215,7 +217,7 @@ let CommentsAccessibilityHelpProvider = class CommentsAccessibilityHelpProvider
|
|
|
215
217
|
return strings.format(noKbMsg, commandId);
|
|
216
218
|
}
|
|
217
219
|
provideContent() {
|
|
218
|
-
this._element =
|
|
220
|
+
this._element = getActiveElement();
|
|
219
221
|
const content = [];
|
|
220
222
|
content.push(this._descriptionForCommand(ToggleTabFocusModeAction.ID, CommentAccessibilityHelpNLS.introWidget, CommentAccessibilityHelpNLS.introWidgetNoKb) + '\n');
|
|
221
223
|
content.push(CommentAccessibilityHelpNLS.commentCommands);
|