@codingame/monaco-vscode-api 1.83.15 → 1.85.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +430 -0
- package/api.js +13 -7
- package/assets/clear.mp3 +0 -0
- package/assets/format.mp3 +0 -0
- package/assets/save.mp3 +0 -0
- package/contributions.js +3 -0
- package/extensions.d.ts +13 -3
- package/external/{xterm-addon-image/typings/xterm-addon-image.d.ts → @xterm/addon-image/typings/addon-image.d.ts} +1 -1
- package/external/{xterm → @xterm/xterm}/typings/xterm.d.ts +13 -1
- package/lifecycle.js +2 -2
- package/localExtensionHost.js +6 -3
- package/missing-services.js +170 -22
- 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 +140 -0
- 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/browser/floatingMenu.js +26 -2
- 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/bufferMarkCapability.js +41 -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 +651 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +29 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/partialCommandDetectionCapability.js +48 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +94 -0
- package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +37 -0
- package/vscode/src/vs/platform/terminal/common/terminalStrings.js +16 -0
- package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +319 -0
- 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/suggestEnabledInput/suggestEnabledInput.js +91 -1
- 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 +423 -0
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +82 -0
- 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/contrib/speech/common/speechService.js +3 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +92 -0
- 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/terminalExtensions.js +25 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +64 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/widgetManager.js +36 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +540 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +104 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +518 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +390 -0
- 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 +814 -0
- 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/getComputedState.js +101 -0
- package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +30 -0
- package/vscode/src/vs/workbench/contrib/testing/common/storedValue.js +36 -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/testExplorerFilterState.js +116 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.js +172 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +384 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testResultService.js +156 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js +156 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testService.js +75 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +72 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +188 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +102 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testingDecorations.js +29 -0
- package/vscode/src/vs/workbench/{services/editor/browser/editorDropService.js → contrib/testing/common/testingPeekOpener.js} +2 -2
- package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +47 -0
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -3
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +8 -9
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -2
- package/vscode/src/vs/workbench/services/activity/browser/activityService.d.ts +16 -10
- package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +14 -1
- package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -7
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +9 -28
- package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +273 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +2 -0
- package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -3
- package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +7 -5
- package/vscode/src/vs/workbench/services/editor/browser/editorService.js +59 -37
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +193 -94
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +8 -2
- package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -1
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +62 -16
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +5 -3
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -2
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -9
- package/vscode/src/vs/workbench/services/extensions/common/{extensionHostManager.d.ts → extensionHostManagers.d.ts} +2 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +9 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensions.js +22 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +14 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -3
- package/vscode/src/vs/workbench/services/history/common/history.d.ts +2 -2
- package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +49 -18
- package/vscode/src/vs/workbench/services/host/browser/host.d.ts +29 -7
- package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +51 -28
- package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +5 -2
- package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -2
- package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +4 -1
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +40 -36
- package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.d.ts +0 -6
- package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +3 -0
- package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +2 -2
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +16 -1
- package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
- package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +4 -4
- package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +10 -51
- package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +4 -0
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +10 -0
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +98 -0
- package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +428 -0
- package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +83 -0
- package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +32 -1
- package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -5
- package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +4 -3
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +9 -3
- package/vscode/src/vs/workbench/services/title/browser/titleService.d.ts +18 -0
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +18 -3
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +16 -7
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +6 -0
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +13 -0
- package/vscode/src/vs/workbench/services/url/browser/urlService.js +2 -1
- package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +2 -2
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +9 -0
- package/vscode-dts/vscode.proposed.chatAgents2.d.ts +375 -0
- package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +80 -0
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +5 -1
- package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +68 -10
- package/vscode-dts/vscode.proposed.chatTab.d.ts +21 -0
- package/vscode-dts/vscode.proposed.chatVariables.d.ts +5 -1
- package/vscode-dts/vscode.proposed.codeActionAI.d.ts +16 -0
- package/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +7 -0
- package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +51 -0
- package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +30 -0
- package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +26 -0
- package/vscode-dts/vscode.proposed.interactive.d.ts +26 -100
- package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +14 -7
- package/vscode-dts/vscode.proposed.languageStatusText.d.ts +12 -0
- package/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts +63 -0
- package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +43 -0
- package/vscode-dts/vscode.proposed.resolvers.d.ts +100 -1
- package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +9 -1
- package/vscode-dts/vscode.proposed.scmInputBoxActionButton.d.ts +19 -0
- package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +25 -0
- package/vscode-dts/vscode.proposed.speech.d.ts +35 -0
- package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +11 -7
- package/vscode-dts/vscode.proposed.testCoverage.d.ts +6 -1
- package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +21 -0
- package/external/xterm-headless/typings/xterm-headless.d.ts +0 -49
- package/vscode/src/vs/platform/backup/common/backup.d.ts +0 -14
- package/vscode/src/vs/platform/update/common/update.d.ts +0 -112
- package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +0 -62
- package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +0 -62
- package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +0 -56
- package/vscode/src/vs/workbench/services/files/common/files.js +0 -4
- package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +0 -41
- package/vscode/src/vs/workbench/services/title/common/titleService.d.ts +0 -31
- package/vscode-dts/vscode.proposed.chatAgents.d.ts +0 -39
- package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +0 -47
- package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +0 -45
- /package/external/{xterm-addon-canvas/typings/xterm-addon-canvas.d.ts → @xterm/addon-canvas/typings/addon-canvas.d.ts} +0 -0
- /package/external/{xterm-addon-search/typings/xterm-addon-search.d.ts → @xterm/addon-search/typings/addon-search.d.ts} +0 -0
- /package/external/{xterm-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +0 -0
- /package/external/{xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts → @xterm/addon-unicode11/typings/addon-unicode11.d.ts} +0 -0
- /package/external/{xterm-addon-webgl/typings/xterm-addon-webgl.d.ts → @xterm/addon-webgl/typings/addon-webgl.d.ts} +0 -0
- /package/vscode/src/vs/workbench/services/title/{common → browser}/titleService.js +0 -0
|
@@ -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) {
|