@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,6 +1,6 @@
|
|
|
1
1
|
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
2
2
|
import { mixin, equals } from 'monaco-editor/esm/vs/base/common/objects.js';
|
|
3
|
-
import { Range, Selection as Selection$1, CodeActionTriggerKind, Diagnostic, WorkspaceEdit, DocumentSelector, DocumentSymbol as DocumentSymbol$1, SymbolKind, SymbolTag, Position, Hover, EvaluatableExpression, InlineValueContext, InlineValue, DocumentHighlight, location, DataTransfer, TextEdit, WorkspaceSymbol, CompletionContext, CompletionItemKind, CompletionItemTag, MarkdownString, SignatureHelp, InlayHintKind, DocumentLink, Color, ColorPresentation, FoldingRange, SelectionRange, CallHierarchyItem, TypeHierarchyItem, DefinitionLink } from './extHostTypeConverters.js';
|
|
3
|
+
import { Range, Selection as Selection$1, CodeActionTriggerKind, Diagnostic, WorkspaceEdit, DocumentSelector, DocumentSymbol as DocumentSymbol$1, SymbolKind, SymbolTag, Position, Hover, EvaluatableExpression, InlineValueContext, InlineValue, DocumentHighlight, MultiDocumentHighlight, location, DataTransfer, TextEdit, WorkspaceSymbol, CompletionContext, CompletionItemKind, CompletionItemTag, MarkdownString, SignatureHelp, InlayHintKind, DocumentLink, Color, ColorPresentation, FoldingRange, SelectionRange, CallHierarchyItem, TypeHierarchyItem, DefinitionLink } from './extHostTypeConverters.js';
|
|
4
4
|
import { CodeActionKind, Disposable, SyntaxTokenType, DocumentSymbol, Range as Range$2, InternalDataTransferItem, SemanticTokens, SemanticTokensEdits, SemanticTokensEdit, SnippetString, Location, CompletionList, InlineCompletionTriggerKind } from './extHostTypes.js';
|
|
5
5
|
import * as languages from 'monaco-editor/esm/vs/editor/common/languages.js';
|
|
6
6
|
import { MainContext } from './extHost.protocol.js';
|
|
@@ -261,6 +261,22 @@ class DocumentHighlightAdapter {
|
|
|
261
261
|
return undefined;
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
|
+
class MultiDocumentHighlightAdapter {
|
|
265
|
+
constructor(_documents, _provider) {
|
|
266
|
+
this._documents = _documents;
|
|
267
|
+
this._provider = _provider;
|
|
268
|
+
}
|
|
269
|
+
async provideMultiDocumentHighlights(resource, position, otherResources, token) {
|
|
270
|
+
const doc = this._documents.getDocument(resource);
|
|
271
|
+
const otherDocuments = ( otherResources.map(r => this._documents.getDocument(r)));
|
|
272
|
+
const pos = Position.to(position);
|
|
273
|
+
const value = await this._provider.provideMultiDocumentHighlights(doc, pos, otherDocuments, token);
|
|
274
|
+
if (Array.isArray(value)) {
|
|
275
|
+
return ( value.map(MultiDocumentHighlight.from));
|
|
276
|
+
}
|
|
277
|
+
return undefined;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
264
280
|
class LinkedEditingRangeAdapter {
|
|
265
281
|
constructor(_documents, _provider) {
|
|
266
282
|
this._documents = _documents;
|
|
@@ -364,6 +380,7 @@ class CodeActionAdapter {
|
|
|
364
380
|
edit: candidate.edit && WorkspaceEdit.from(candidate.edit, undefined),
|
|
365
381
|
kind: candidate.kind && candidate.kind.value,
|
|
366
382
|
isPreferred: candidate.isPreferred,
|
|
383
|
+
isAI: isProposedApiEnabled(this._extension, 'codeActionAI') ? candidate.isAI : false,
|
|
367
384
|
disabled: candidate.disabled?.reason
|
|
368
385
|
});
|
|
369
386
|
}
|
|
@@ -1096,7 +1113,7 @@ class InlayHintsAdapter {
|
|
|
1096
1113
|
const range = Range.to(ran);
|
|
1097
1114
|
const hints = await this._provider.provideInlayHints(doc, range, token);
|
|
1098
1115
|
if (!Array.isArray(hints) || hints.length === 0) {
|
|
1099
|
-
this._logService.trace(`[InlayHints] NO inlay hints from '${this._extension.identifier.value}' for ${ran}`);
|
|
1116
|
+
this._logService.trace(`[InlayHints] NO inlay hints from '${this._extension.identifier.value}' for range ${JSON.stringify(ran)}`);
|
|
1100
1117
|
return undefined;
|
|
1101
1118
|
}
|
|
1102
1119
|
if (token.isCancellationRequested) {
|
|
@@ -1110,7 +1127,7 @@ class InlayHintsAdapter {
|
|
|
1110
1127
|
result.hints.push(this._convertInlayHint(hints[i], [pid, i]));
|
|
1111
1128
|
}
|
|
1112
1129
|
}
|
|
1113
|
-
this._logService.trace(`[InlayHints] ${result.hints.length} inlay hints from '${this._extension.identifier.value}' for ${ran}`);
|
|
1130
|
+
this._logService.trace(`[InlayHints] ${result.hints.length} inlay hints from '${this._extension.identifier.value}' for range ${JSON.stringify(ran)}`);
|
|
1114
1131
|
return result;
|
|
1115
1132
|
}
|
|
1116
1133
|
async resolveInlayHint(id, token) {
|
|
@@ -1671,9 +1688,17 @@ class ExtHostLanguageFeatures {
|
|
|
1671
1688
|
this._proxy.$registerDocumentHighlightProvider(handle, this._transformDocumentSelector(selector, extension));
|
|
1672
1689
|
return this._createDisposable(handle);
|
|
1673
1690
|
}
|
|
1691
|
+
registerMultiDocumentHighlightProvider(extension, selector, provider) {
|
|
1692
|
+
const handle = this._addNewAdapter(( new MultiDocumentHighlightAdapter(this._documents, provider)), extension);
|
|
1693
|
+
this._proxy.$registerMultiDocumentHighlightProvider(handle, this._transformDocumentSelector(selector, extension));
|
|
1694
|
+
return this._createDisposable(handle);
|
|
1695
|
+
}
|
|
1674
1696
|
$provideDocumentHighlights(handle, resource, position, token) {
|
|
1675
1697
|
return this._withAdapter(handle, DocumentHighlightAdapter, adapter => adapter.provideDocumentHighlights(URI.revive(resource), position, token), undefined, token);
|
|
1676
1698
|
}
|
|
1699
|
+
$provideMultiDocumentHighlights(handle, resource, position, otherModels, token) {
|
|
1700
|
+
return this._withAdapter(handle, MultiDocumentHighlightAdapter, adapter => adapter.provideMultiDocumentHighlights(URI.revive(resource), position, ( otherModels.map(model => URI.revive(model))), token), undefined, token);
|
|
1701
|
+
}
|
|
1677
1702
|
registerLinkedEditingRangeProvider(extension, selector, provider) {
|
|
1678
1703
|
const handle = this._addNewAdapter(( new LinkedEditingRangeAdapter(this._documents, provider)), extension);
|
|
1679
1704
|
this._proxy.$registerLinkedEditingRangeProvider(handle, this._transformDocumentSelector(selector, extension));
|
|
@@ -4,6 +4,7 @@ import { StandardTokenType, Range, LanguageStatusSeverity } from './extHostTypes
|
|
|
4
4
|
import Severity from 'monaco-editor/esm/vs/base/common/severity.js';
|
|
5
5
|
import { disposableTimeout } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
6
6
|
import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
7
|
+
import { checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
|
|
7
8
|
class ExtHostLanguages {
|
|
8
9
|
constructor(mainContext, _documents, _commands, _uriTransformer) {
|
|
9
10
|
this._documents = _documents;
|
|
@@ -125,6 +126,15 @@ class ExtHostLanguages {
|
|
|
125
126
|
data.text = value;
|
|
126
127
|
updateAsync();
|
|
127
128
|
},
|
|
129
|
+
set text2(value) {
|
|
130
|
+
checkProposedApiEnabled(extension, 'languageStatusText');
|
|
131
|
+
data.text = value;
|
|
132
|
+
updateAsync();
|
|
133
|
+
},
|
|
134
|
+
get text2() {
|
|
135
|
+
checkProposedApiEnabled(extension, 'languageStatusText');
|
|
136
|
+
return data.text;
|
|
137
|
+
},
|
|
128
138
|
get detail() {
|
|
129
139
|
return data.detail;
|
|
130
140
|
},
|
|
@@ -2,7 +2,7 @@ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
|
2
2
|
import { VSBuffer } from 'monaco-editor/esm/vs/base/common/buffer.js';
|
|
3
3
|
import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
4
4
|
import { toDisposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
5
|
-
import { ResourceMap } from 'monaco-editor/esm/vs/base/common/map.js';
|
|
5
|
+
import { ResourceMap, ResourceSet } from 'monaco-editor/esm/vs/base/common/map.js';
|
|
6
6
|
import { isFalsyOrWhitespace } from 'monaco-editor/esm/vs/base/common/strings.js';
|
|
7
7
|
import { assertIsDefined } from 'monaco-editor/esm/vs/base/common/types.js';
|
|
8
8
|
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
@@ -18,6 +18,9 @@ import { ExtHostNotebookEditor } from './extHostNotebookEditor.js';
|
|
|
18
18
|
import { onUnexpectedExternalError } from 'monaco-editor/esm/vs/base/common/errors.js';
|
|
19
19
|
import { filter } from 'monaco-editor/esm/vs/base/common/objects.js';
|
|
20
20
|
import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
|
|
21
|
+
import { CellSearchModel } from '../../contrib/search/common/cellSearchModel.js';
|
|
22
|
+
import { genericCellMatchesToTextSearchMatches } from '../../contrib/search/common/searchNotebookHelpers.js';
|
|
23
|
+
import { globMatchesResource } from '../../services/editor/common/editorResolverService.js';
|
|
21
24
|
class ExtHostNotebookController {
|
|
22
25
|
static { this._notebookStatusBarItemProviderHandlePool = 0; }
|
|
23
26
|
get activeNotebookEditor() {
|
|
@@ -26,10 +29,11 @@ class ExtHostNotebookController {
|
|
|
26
29
|
get visibleNotebookEditors() {
|
|
27
30
|
return ( this._visibleNotebookEditors.map(editor => editor.apiEditor));
|
|
28
31
|
}
|
|
29
|
-
constructor(mainContext, commands, _textDocumentsAndEditors, _textDocuments, _extHostFileSystem) {
|
|
32
|
+
constructor(mainContext, commands, _textDocumentsAndEditors, _textDocuments, _extHostFileSystem, _extHostSearch) {
|
|
30
33
|
this._textDocumentsAndEditors = _textDocumentsAndEditors;
|
|
31
34
|
this._textDocuments = _textDocuments;
|
|
32
35
|
this._extHostFileSystem = _extHostFileSystem;
|
|
36
|
+
this._extHostSearch = _extHostSearch;
|
|
33
37
|
this._notebookStatusBarItemProviders = ( new Map());
|
|
34
38
|
this._documents = ( new ResourceMap());
|
|
35
39
|
this._editors = ( new Map());
|
|
@@ -278,6 +282,117 @@ class ExtHostNotebookController {
|
|
|
278
282
|
};
|
|
279
283
|
return fileStats;
|
|
280
284
|
}
|
|
285
|
+
async $searchInNotebooks(handle, textQuery, viewTypeFileTargets, otherViewTypeFileTargets, token) {
|
|
286
|
+
const serializer = this._notebookSerializer.get(handle)?.serializer;
|
|
287
|
+
if (!serializer) {
|
|
288
|
+
return {
|
|
289
|
+
limitHit: false,
|
|
290
|
+
results: []
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
const finalMatchedTargets = ( new ResourceSet());
|
|
294
|
+
const runFileQueries = async (includes, token, textQuery) => {
|
|
295
|
+
await Promise.all(( includes.map(async (include) => await Promise.all(( include.filenamePatterns.map(filePattern => {
|
|
296
|
+
const query = {
|
|
297
|
+
...textQuery,
|
|
298
|
+
...{ type: 1 , filePattern }
|
|
299
|
+
};
|
|
300
|
+
return this._extHostSearch.doInternalFileSearchWithCustomCallback(query, token, (data) => {
|
|
301
|
+
data.forEach(uri => {
|
|
302
|
+
if (( finalMatchedTargets.has(uri))) {
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
const hasOtherMatches = ( otherViewTypeFileTargets.some(target => {
|
|
306
|
+
if (include.isFromSettings && !target.isFromSettings) {
|
|
307
|
+
return false;
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
return ( target.filenamePatterns.some(targetFilePattern => globMatchesResource(targetFilePattern, uri)));
|
|
311
|
+
}
|
|
312
|
+
}));
|
|
313
|
+
if (hasOtherMatches) {
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
finalMatchedTargets.add(uri);
|
|
317
|
+
});
|
|
318
|
+
});
|
|
319
|
+
}))))));
|
|
320
|
+
return;
|
|
321
|
+
};
|
|
322
|
+
await runFileQueries(viewTypeFileTargets, token, textQuery);
|
|
323
|
+
const results = ( new ResourceMap());
|
|
324
|
+
let limitHit = false;
|
|
325
|
+
const promises = ( Array.from(finalMatchedTargets).map(async (uri) => {
|
|
326
|
+
const cellMatches = [];
|
|
327
|
+
try {
|
|
328
|
+
if (token.isCancellationRequested) {
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
if (textQuery.maxResults && [...( results.values())].reduce((acc, value) => acc + value.cellResults.length, 0) > textQuery.maxResults) {
|
|
332
|
+
limitHit = true;
|
|
333
|
+
return;
|
|
334
|
+
}
|
|
335
|
+
const simpleCells = [];
|
|
336
|
+
const notebook = this._documents.get(uri);
|
|
337
|
+
if (notebook) {
|
|
338
|
+
const cells = notebook.apiNotebook.getCells();
|
|
339
|
+
cells.forEach(e => simpleCells.push({
|
|
340
|
+
input: e.document.getText(),
|
|
341
|
+
outputs: e.outputs.flatMap(value => ( value.items.map(output => ( output.data.toString()))))
|
|
342
|
+
}));
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
const fileContent = await this._extHostFileSystem.value.readFile(uri);
|
|
346
|
+
const bytes = VSBuffer.fromString(( fileContent.toString()));
|
|
347
|
+
const notebook = await serializer.deserializeNotebook(bytes.buffer, token);
|
|
348
|
+
if (token.isCancellationRequested) {
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
const data = NotebookData.from(notebook);
|
|
352
|
+
data.cells.forEach(cell => simpleCells.push({
|
|
353
|
+
input: cell.source,
|
|
354
|
+
outputs: cell.outputs.flatMap(value => ( value.items.map(output => ( output.valueBytes.toString()))))
|
|
355
|
+
}));
|
|
356
|
+
}
|
|
357
|
+
if (token.isCancellationRequested) {
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
simpleCells.forEach((cell, index) => {
|
|
361
|
+
const target = textQuery.contentPattern.pattern;
|
|
362
|
+
const cellModel = ( new CellSearchModel(cell.input, undefined, cell.outputs));
|
|
363
|
+
const inputMatches = cellModel.findInInputs(target);
|
|
364
|
+
const outputMatches = cellModel.findInOutputs(target);
|
|
365
|
+
const webviewResults = ( outputMatches
|
|
366
|
+
.flatMap(outputMatch => genericCellMatchesToTextSearchMatches(outputMatch.matches, outputMatch.textBuffer))
|
|
367
|
+
.map((textMatch, index) => {
|
|
368
|
+
textMatch.webviewIndex = index;
|
|
369
|
+
return textMatch;
|
|
370
|
+
}));
|
|
371
|
+
if (inputMatches.length > 0 || outputMatches.length > 0) {
|
|
372
|
+
const cellMatch = {
|
|
373
|
+
index: index,
|
|
374
|
+
contentResults: genericCellMatchesToTextSearchMatches(inputMatches, cellModel.inputTextBuffer),
|
|
375
|
+
webviewResults
|
|
376
|
+
};
|
|
377
|
+
cellMatches.push(cellMatch);
|
|
378
|
+
}
|
|
379
|
+
});
|
|
380
|
+
const fileMatch = {
|
|
381
|
+
resource: uri, cellResults: cellMatches
|
|
382
|
+
};
|
|
383
|
+
results.set(uri, fileMatch);
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
catch (e) {
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
}));
|
|
390
|
+
await Promise.all(promises);
|
|
391
|
+
return {
|
|
392
|
+
limitHit,
|
|
393
|
+
results: [...( results.values())]
|
|
394
|
+
};
|
|
395
|
+
}
|
|
281
396
|
async _validateWriteFile(uri, options) {
|
|
282
397
|
const stat = await this._extHostFileSystem.value.stat(uri);
|
|
283
398
|
if (typeof options?.mtime === 'number' && typeof options.etag === 'string' && options.etag !== files.ETAG_DISABLED &&
|
|
@@ -8,11 +8,10 @@ import { ResourceMap } from 'monaco-editor/esm/vs/base/common/map.js';
|
|
|
8
8
|
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
9
9
|
import { ExtensionIdentifier } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
|
|
10
10
|
import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
|
|
11
|
-
import { Cache } from './cache.js';
|
|
12
11
|
import { MainContext } from './extHost.protocol.js';
|
|
13
12
|
import { ApiCommand, ApiCommandArgument, ApiCommandResult } from './extHostCommands.js';
|
|
14
13
|
import { NotebookCellOutput as NotebookCellOutput$1, NotebookCellOutputItem, NotebookKernelSourceAction, NotebookCellExecutionState, NotebookRendererScript } from './extHostTypeConverters.js';
|
|
15
|
-
import { NotebookCellOutput, NotebookCellExecutionState as NotebookCellExecutionState$1, NotebookControllerAffinity2 } from './extHostTypes.js';
|
|
14
|
+
import { NotebookCellOutput, NotebookCellExecutionState as NotebookCellExecutionState$1, NotebookControllerAffinity2, NotebookVariablesRequestKind } from './extHostTypes.js';
|
|
16
15
|
import { asWebviewUri } from '../../contrib/webview/common/webview.js';
|
|
17
16
|
import { CellExecutionUpdateType } from '../../contrib/notebook/common/notebookExecutionService.js';
|
|
18
17
|
import { checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
|
|
@@ -29,7 +28,6 @@ let ExtHostNotebookKernels = class ExtHostNotebookKernels {
|
|
|
29
28
|
this._kernelDetectionTaskHandlePool = 0;
|
|
30
29
|
this._kernelSourceActionProviders = ( new Map());
|
|
31
30
|
this._kernelSourceActionProviderHandlePool = 0;
|
|
32
|
-
this._kernelSourceActionProviderCache = ( new Cache('NotebookKernelSourceActionProviderCache'));
|
|
33
31
|
this._kernelData = ( new Map());
|
|
34
32
|
this._handlePool = 0;
|
|
35
33
|
this._onDidChangeCellExecutionState = ( new Emitter());
|
|
@@ -84,6 +82,7 @@ let ExtHostNotebookKernels = class ExtHostNotebookKernels {
|
|
|
84
82
|
};
|
|
85
83
|
let _executeHandler = handler ?? _defaultExecutHandler;
|
|
86
84
|
let _interruptHandler;
|
|
85
|
+
let _variableProvider;
|
|
87
86
|
this._proxy.$addKernel(handle, data).catch(err => {
|
|
88
87
|
console.log(err);
|
|
89
88
|
isDisposed = true;
|
|
@@ -157,6 +156,16 @@ let ExtHostNotebookKernels = class ExtHostNotebookKernels {
|
|
|
157
156
|
data.supportsInterrupt = Boolean(value);
|
|
158
157
|
_update();
|
|
159
158
|
},
|
|
159
|
+
set variableProvider(value) {
|
|
160
|
+
checkProposedApiEnabled(extension, 'notebookVariableProvider');
|
|
161
|
+
_variableProvider = value;
|
|
162
|
+
data.hasVariableProvider = !!value;
|
|
163
|
+
value?.onDidChangeVariables(e => that._proxy.$variablesUpdated(e.uri));
|
|
164
|
+
_update();
|
|
165
|
+
},
|
|
166
|
+
get variableProvider() {
|
|
167
|
+
return _variableProvider;
|
|
168
|
+
},
|
|
160
169
|
createNotebookCellExecution(cell) {
|
|
161
170
|
if (isDisposed) {
|
|
162
171
|
throw new Error('notebook controller is DISPOSED');
|
|
@@ -258,7 +267,6 @@ let ExtHostNotebookKernels = class ExtHostNotebookKernels {
|
|
|
258
267
|
const provider = this._kernelSourceActionProviders.get(handle);
|
|
259
268
|
if (provider) {
|
|
260
269
|
const disposables = ( new DisposableStore());
|
|
261
|
-
this._kernelSourceActionProviderCache.add([disposables]);
|
|
262
270
|
const ret = await provider.provideNotebookKernelSourceActions(token);
|
|
263
271
|
return ( (ret ?? []).map(
|
|
264
272
|
item => NotebookKernelSourceAction.from(item, this._commands.converter, disposables)
|
|
@@ -329,6 +337,26 @@ let ExtHostNotebookKernels = class ExtHostNotebookKernels {
|
|
|
329
337
|
}
|
|
330
338
|
}
|
|
331
339
|
}
|
|
340
|
+
async $provideVariables(handle, requestId, notebookUri, parentName, kind, start, token) {
|
|
341
|
+
const obj = this._kernelData.get(handle);
|
|
342
|
+
if (!obj) {
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
const document = this._extHostNotebook.getNotebookDocument(URI.revive(notebookUri));
|
|
346
|
+
const variableProvider = obj.controller.variableProvider;
|
|
347
|
+
if (!variableProvider) {
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
const parent = parentName ? { name: parentName, value: '' } : undefined;
|
|
351
|
+
const requestKind = kind === 'named' ? NotebookVariablesRequestKind.Named : NotebookVariablesRequestKind.Indexed;
|
|
352
|
+
const variables = variableProvider.provideVariables(document.apiNotebook, parent, requestKind, start, token);
|
|
353
|
+
for await (const variable of variables) {
|
|
354
|
+
if (token.isCancellationRequested) {
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
this._proxy.$receiveVariable(requestId, variable);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
332
360
|
$acceptKernelMessageFromRenderer(handle, editorId, message) {
|
|
333
361
|
const obj = this._kernelData.get(handle);
|
|
334
362
|
if (!obj) {
|
|
@@ -2,7 +2,7 @@ import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.
|
|
|
2
2
|
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
3
3
|
import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
4
4
|
import { debounce } from 'monaco-editor/esm/vs/base/common/decorators.js';
|
|
5
|
-
import { DisposableStore, MutableDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
5
|
+
import { DisposableStore, MutableDisposable, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
6
6
|
import { asPromise } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
7
7
|
import { MainContext } from './extHost.protocol.js';
|
|
8
8
|
import { sortedDiff, equals } from 'monaco-editor/esm/vs/base/common/arrays.js';
|
|
@@ -13,7 +13,17 @@ import { ThemeIcon } from 'monaco-editor/esm/vs/base/common/themables.js';
|
|
|
13
13
|
import { MarkdownString } from './extHostTypeConverters.js';
|
|
14
14
|
import { isProposedApiEnabled, checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
|
|
15
15
|
import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
|
|
16
|
+
import { isLinux } from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
16
17
|
var ExtHostSCM_1;
|
|
18
|
+
function isUri(thing) {
|
|
19
|
+
return thing instanceof URI;
|
|
20
|
+
}
|
|
21
|
+
function uriEquals(a, b) {
|
|
22
|
+
if (a.scheme === Schemas.file && b.scheme === Schemas.file && isLinux) {
|
|
23
|
+
return ( a.toString()) === ( b.toString());
|
|
24
|
+
}
|
|
25
|
+
return ( a.toString()).toLowerCase() === ( b.toString()).toLowerCase();
|
|
26
|
+
}
|
|
17
27
|
function getIconResource(decorations) {
|
|
18
28
|
if (!decorations) {
|
|
19
29
|
return undefined;
|
|
@@ -31,6 +41,21 @@ function getIconResource(decorations) {
|
|
|
31
41
|
return undefined;
|
|
32
42
|
}
|
|
33
43
|
}
|
|
44
|
+
function getInputBoxActionButtonIcon(actionButton) {
|
|
45
|
+
if (!actionButton?.icon) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
else if (URI.isUri(actionButton.icon)) {
|
|
49
|
+
return actionButton.icon;
|
|
50
|
+
}
|
|
51
|
+
else if (ThemeIcon.isThemeIcon(actionButton.icon)) {
|
|
52
|
+
return actionButton.icon;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const icon = actionButton.icon;
|
|
56
|
+
return { light: icon.light, dark: icon.dark };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
34
59
|
function getHistoryItemIconDto(historyItem) {
|
|
35
60
|
if (!historyItem.icon) {
|
|
36
61
|
return undefined;
|
|
@@ -46,6 +71,21 @@ function getHistoryItemIconDto(historyItem) {
|
|
|
46
71
|
return { light: icon.light, dark: icon.dark };
|
|
47
72
|
}
|
|
48
73
|
}
|
|
74
|
+
function getSourceControlInputBoxValueProviderIcon(provider) {
|
|
75
|
+
if (!provider.icon) {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
else if (URI.isUri(provider.icon)) {
|
|
79
|
+
return provider.icon;
|
|
80
|
+
}
|
|
81
|
+
else if (ThemeIcon.isThemeIcon(provider.icon)) {
|
|
82
|
+
return provider.icon;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const icon = provider.icon;
|
|
86
|
+
return { light: icon.light, dark: icon.dark };
|
|
87
|
+
}
|
|
88
|
+
}
|
|
49
89
|
function compareResourceThemableDecorations(a, b) {
|
|
50
90
|
if (!a.iconPath && !b.iconPath) {
|
|
51
91
|
return 0;
|
|
@@ -134,6 +174,9 @@ function compareCommands(a, b) {
|
|
|
134
174
|
if (aArg === bArg) {
|
|
135
175
|
continue;
|
|
136
176
|
}
|
|
177
|
+
if (isUri(aArg) && isUri(bArg) && uriEquals(aArg, bArg)) {
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
137
180
|
return aArg < bArg ? -1 : 1;
|
|
138
181
|
}
|
|
139
182
|
return 0;
|
|
@@ -183,15 +226,6 @@ function commandEquals(a, b) {
|
|
|
183
226
|
function commandListEquals(a, b) {
|
|
184
227
|
return equals(a, b, commandEquals);
|
|
185
228
|
}
|
|
186
|
-
function historyItemGroupEquals(a, b) {
|
|
187
|
-
if (a === b) {
|
|
188
|
-
return true;
|
|
189
|
-
}
|
|
190
|
-
if (!a || !b) {
|
|
191
|
-
return false;
|
|
192
|
-
}
|
|
193
|
-
return a.id === b.id && a.label === b.label && a.upstream?.id === b.upstream?.id && a.upstream?.label === b.upstream?.label;
|
|
194
|
-
}
|
|
195
229
|
class ExtHostSCMInputBox {
|
|
196
230
|
#proxy;
|
|
197
231
|
#extHostDocuments;
|
|
@@ -247,12 +281,29 @@ class ExtHostSCMInputBox {
|
|
|
247
281
|
this._visible = visible;
|
|
248
282
|
this.#proxy.$setInputBoxVisibility(this._sourceControlHandle, visible);
|
|
249
283
|
}
|
|
284
|
+
get actionButton() {
|
|
285
|
+
checkProposedApiEnabled(this._extension, 'scmInputBoxActionButton');
|
|
286
|
+
return this._actionButton;
|
|
287
|
+
}
|
|
288
|
+
set actionButton(actionButton) {
|
|
289
|
+
checkProposedApiEnabled(this._extension, 'scmInputBoxActionButton');
|
|
290
|
+
this._actionButtonDisposables.value = ( new DisposableStore());
|
|
291
|
+
this._actionButton = actionButton;
|
|
292
|
+
const internal = actionButton !== undefined ?
|
|
293
|
+
{
|
|
294
|
+
command: this._commands.converter.toInternal(actionButton.command, this._actionButtonDisposables.value),
|
|
295
|
+
icon: getInputBoxActionButtonIcon(actionButton),
|
|
296
|
+
enabled: actionButton.enabled
|
|
297
|
+
} : undefined;
|
|
298
|
+
this.#proxy.$setInputBoxActionButton(this._sourceControlHandle, internal ?? null);
|
|
299
|
+
}
|
|
250
300
|
get document() {
|
|
251
301
|
checkProposedApiEnabled(this._extension, 'scmTextDocument');
|
|
252
302
|
return this.#extHostDocuments.getDocument(this._documentUri);
|
|
253
303
|
}
|
|
254
|
-
constructor(_extension, _extHostDocuments, proxy, _sourceControlHandle, _documentUri) {
|
|
304
|
+
constructor(_extension, _commands, _extHostDocuments, proxy, _sourceControlHandle, _documentUri) {
|
|
255
305
|
this._extension = _extension;
|
|
306
|
+
this._commands = _commands;
|
|
256
307
|
this._sourceControlHandle = _sourceControlHandle;
|
|
257
308
|
this._documentUri = _documentUri;
|
|
258
309
|
this._value = '';
|
|
@@ -260,6 +311,7 @@ class ExtHostSCMInputBox {
|
|
|
260
311
|
this._placeholder = '';
|
|
261
312
|
this._enabled = true;
|
|
262
313
|
this._visible = true;
|
|
314
|
+
this._actionButtonDisposables = ( new MutableDisposable());
|
|
263
315
|
this.#extHostDocuments = _extHostDocuments;
|
|
264
316
|
this.#proxy = proxy;
|
|
265
317
|
}
|
|
@@ -340,7 +392,7 @@ class ExtHostSourceControlResourceGroup {
|
|
|
340
392
|
const sourceUri = r.resourceUri;
|
|
341
393
|
let command;
|
|
342
394
|
if (r.command) {
|
|
343
|
-
if (r.command.command === 'vscode.open' || r.command.command === 'vscode.diff') {
|
|
395
|
+
if (r.command.command === 'vscode.open' || r.command.command === 'vscode.diff' || r.command.command === 'vscode.changes') {
|
|
344
396
|
const disposables = ( new DisposableStore());
|
|
345
397
|
command = this._commands.converter.toInternal(r.command, disposables);
|
|
346
398
|
this._resourceStatesDisposablesMap.set(handle, disposables);
|
|
@@ -428,9 +480,6 @@ class ExtHostSourceControl {
|
|
|
428
480
|
this.#proxy.$updateSourceControl(this.handle, { hasHistoryProvider: !!historyProvider });
|
|
429
481
|
if (historyProvider) {
|
|
430
482
|
this._historyProviderDisposable.value.add(historyProvider.onDidChangeCurrentHistoryItemGroup(() => {
|
|
431
|
-
if (historyItemGroupEquals(this._historyProviderCurrentHistoryItemGroup, historyProvider?.currentHistoryItemGroup)) {
|
|
432
|
-
return;
|
|
433
|
-
}
|
|
434
483
|
this._historyProviderCurrentHistoryItemGroup = historyProvider?.currentHistoryItemGroup;
|
|
435
484
|
this.#proxy.$onDidChangeHistoryProviderCurrentHistoryItemGroup(this.handle, this._historyProviderCurrentHistoryItemGroup);
|
|
436
485
|
}));
|
|
@@ -535,6 +584,7 @@ class ExtHostSourceControl {
|
|
|
535
584
|
}));
|
|
536
585
|
this._inputBox = ( new ExtHostSCMInputBox(
|
|
537
586
|
_extension,
|
|
587
|
+
_commands,
|
|
538
588
|
_extHostDocuments,
|
|
539
589
|
this.#proxy,
|
|
540
590
|
this.handle,
|
|
@@ -612,6 +662,7 @@ ExtHostSourceControl.__decorator = ( __decorate([
|
|
|
612
662
|
let ExtHostSCM = class ExtHostSCM {
|
|
613
663
|
static { ExtHostSCM_1 = this; }
|
|
614
664
|
static { this._handlePool = 0; }
|
|
665
|
+
static { this._inputBoxValueProviderHandlePool = 0; }
|
|
615
666
|
get onDidChangeActiveProvider() { return this._onDidChangeActiveProvider.event; }
|
|
616
667
|
constructor(mainContext, _commands, _extHostDocuments, logService) {
|
|
617
668
|
this._commands = _commands;
|
|
@@ -620,6 +671,7 @@ let ExtHostSCM = class ExtHostSCM {
|
|
|
620
671
|
this._sourceControls = ( new Map());
|
|
621
672
|
this._sourceControlsByExtension = ( new ExtensionIdentifierMap());
|
|
622
673
|
this._onDidChangeActiveProvider = ( new Emitter());
|
|
674
|
+
this._inputBoxValueProviders = ( new Map());
|
|
623
675
|
this._proxy = ( mainContext.getProxy(MainContext.MainThreadSCM));
|
|
624
676
|
this._telemetry = ( mainContext.getProxy(MainContext.MainThreadTelemetry));
|
|
625
677
|
_commands.registerArgumentProcessor({
|
|
@@ -674,6 +726,23 @@ let ExtHostSCM = class ExtHostSCM {
|
|
|
674
726
|
this._sourceControlsByExtension.set(extension.identifier, sourceControls);
|
|
675
727
|
return sourceControl;
|
|
676
728
|
}
|
|
729
|
+
registerSourceControlInputBoxValueProvider(extension, sourceControlId, provider) {
|
|
730
|
+
this.logService.trace('ExtHostSCM#registerSourceControlInputBoxValueProvider', extension.identifier.value, provider.label);
|
|
731
|
+
const handle = ExtHostSCM_1._inputBoxValueProviderHandlePool++;
|
|
732
|
+
this._inputBoxValueProviders.set(handle, provider);
|
|
733
|
+
this._proxy.$registerSourceControlInputBoxValueProvider(handle, sourceControlId, provider.label, getSourceControlInputBoxValueProviderIcon(provider));
|
|
734
|
+
return toDisposable(() => {
|
|
735
|
+
this._proxy.$unregisterSourceControlInputBoxValueProvider(handle);
|
|
736
|
+
this._inputBoxValueProviders.delete(handle);
|
|
737
|
+
});
|
|
738
|
+
}
|
|
739
|
+
async $provideInputBoxValue(inputBoxValueProviderHandle, rootUri, context, token) {
|
|
740
|
+
const provider = this._inputBoxValueProviders.get(inputBoxValueProviderHandle);
|
|
741
|
+
if (!provider) {
|
|
742
|
+
return undefined;
|
|
743
|
+
}
|
|
744
|
+
return (await provider.provideValue(URI.revive(rootUri), context, token)) ?? undefined;
|
|
745
|
+
}
|
|
677
746
|
getLastInputBox(extension) {
|
|
678
747
|
this.logService.trace('ExtHostSCM#getLastInputBox', extension.identifier.value);
|
|
679
748
|
const sourceControls = this._sourceControlsByExtension.get(extension.identifier);
|
|
@@ -753,14 +822,7 @@ let ExtHostSCM = class ExtHostSCM {
|
|
|
753
822
|
async $provideHistoryItems(sourceControlHandle, historyItemGroupId, options, token) {
|
|
754
823
|
const historyProvider = this._sourceControls.get(sourceControlHandle)?.historyProvider;
|
|
755
824
|
const historyItems = await historyProvider?.provideHistoryItems(historyItemGroupId, options, token);
|
|
756
|
-
return historyItems?.map(item => ({
|
|
757
|
-
id: item.id,
|
|
758
|
-
parentIds: item.parentIds,
|
|
759
|
-
label: item.label,
|
|
760
|
-
description: item.description,
|
|
761
|
-
icon: getHistoryItemIconDto(item),
|
|
762
|
-
timestamp: item.timestamp,
|
|
763
|
-
})) ?? undefined;
|
|
825
|
+
return historyItems?.map(item => ({ ...item, icon: getHistoryItemIconDto(item) })) ?? undefined;
|
|
764
826
|
}
|
|
765
827
|
async $provideHistoryItemChanges(sourceControlHandle, historyItemId, token) {
|
|
766
828
|
const historyProvider = this._sourceControls.get(sourceControlHandle)?.historyProvider;
|
|
@@ -65,6 +65,9 @@ let ExtHostSearch = class ExtHostSearch {
|
|
|
65
65
|
throw new Error('unknown provider: ' + handle);
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
+
async doInternalFileSearchWithCustomCallback(query, token, handleFileMatch) {
|
|
69
|
+
return { messages: [] };
|
|
70
|
+
}
|
|
68
71
|
$clearCache(cacheKey) {
|
|
69
72
|
this._fileSearchManager.clearCache(cacheKey);
|
|
70
73
|
return Promise.resolve(undefined);
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { CancellationTokenSource } from 'monaco-editor/esm/vs/base/common/cancellation.js';
|
|
2
|
+
import { toDisposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
3
|
+
import { MainContext } from './extHost.protocol.js';
|
|
4
|
+
class ExtHostSpeech {
|
|
5
|
+
static { this.ID_POOL = 1; }
|
|
6
|
+
constructor(mainContext) {
|
|
7
|
+
this.providers = ( new Map());
|
|
8
|
+
this.sessions = ( new Map());
|
|
9
|
+
this.proxy = ( mainContext.getProxy(MainContext.MainThreadSpeech));
|
|
10
|
+
}
|
|
11
|
+
async $createSpeechToTextSession(handle, session) {
|
|
12
|
+
const provider = this.providers.get(handle);
|
|
13
|
+
if (!provider) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const disposables = ( new DisposableStore());
|
|
17
|
+
const cts = ( new CancellationTokenSource());
|
|
18
|
+
this.sessions.set(session, cts);
|
|
19
|
+
const speechToTextSession = disposables.add(provider.provideSpeechToTextSession(cts.token));
|
|
20
|
+
disposables.add(speechToTextSession.onDidChange(e => {
|
|
21
|
+
if (cts.token.isCancellationRequested) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
this.proxy.$emitSpeechToTextEvent(session, e);
|
|
25
|
+
}));
|
|
26
|
+
disposables.add(cts.token.onCancellationRequested(() => disposables.dispose()));
|
|
27
|
+
}
|
|
28
|
+
async $cancelSpeechToTextSession(session) {
|
|
29
|
+
this.sessions.get(session)?.dispose(true);
|
|
30
|
+
this.sessions.delete(session);
|
|
31
|
+
}
|
|
32
|
+
registerProvider(extension, identifier, provider) {
|
|
33
|
+
const handle = ExtHostSpeech.ID_POOL++;
|
|
34
|
+
this.providers.set(handle, provider);
|
|
35
|
+
this.proxy.$registerProvider(handle, identifier, { extension, displayName: extension.value });
|
|
36
|
+
return toDisposable(() => {
|
|
37
|
+
this.proxy.$unregisterProvider(handle);
|
|
38
|
+
this.providers.delete(handle);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export { ExtHostSpeech };
|
|
@@ -621,7 +621,8 @@ let WorkerExtHostTask = class WorkerExtHostTask extends ExtHostTaskBase {
|
|
|
621
621
|
for (const task of value) {
|
|
622
622
|
this.checkDeprecation(task, handler);
|
|
623
623
|
if (!task.definition || !validTypes[task.definition.type]) {
|
|
624
|
-
|
|
624
|
+
const source = task.source ? task.source : 'No task source';
|
|
625
|
+
this._logService.warn(`The task [${source}, ${task.name}] uses an undefined task type. The task will be ignored in the future.`);
|
|
625
626
|
}
|
|
626
627
|
const taskDTO = TaskDTO.from(task, handler.extension);
|
|
627
628
|
if (taskDTO && CustomExecutionDTO.is(taskDTO.execution)) {
|
|
@@ -80,6 +80,7 @@ let ExtHostTelemetry = class ExtHostTelemetry extends Disposable {
|
|
|
80
80
|
commonProperties['common.extversion'] = extension.version;
|
|
81
81
|
commonProperties['common.vscodemachineid'] = this.initData.telemetryInfo.machineId;
|
|
82
82
|
commonProperties['common.vscodesessionid'] = this.initData.telemetryInfo.sessionId;
|
|
83
|
+
commonProperties['common.sqmid'] = this.initData.telemetryInfo.sqmId;
|
|
83
84
|
commonProperties['common.vscodeversion'] = this.initData.version;
|
|
84
85
|
commonProperties['common.isnewappinstall'] = isNewAppInstall(this.initData.telemetryInfo.firstSessionDate);
|
|
85
86
|
commonProperties['common.product'] = this.initData.environment.appHost;
|
|
@@ -48,9 +48,9 @@ class ExtHostTerminal {
|
|
|
48
48
|
get selection() {
|
|
49
49
|
return that._selection;
|
|
50
50
|
},
|
|
51
|
-
sendText(text,
|
|
51
|
+
sendText(text, shouldExecute = true) {
|
|
52
52
|
that._checkDisposed();
|
|
53
|
-
that._proxy.$sendText(that._id, text,
|
|
53
|
+
that._proxy.$sendText(that._id, text, shouldExecute);
|
|
54
54
|
},
|
|
55
55
|
show(preserveFocus) {
|
|
56
56
|
that._checkDisposed();
|
|
@@ -85,7 +85,7 @@ class ExtHostTerminal {
|
|
|
85
85
|
name: options.name,
|
|
86
86
|
shellPath: options.shellPath ?? undefined,
|
|
87
87
|
shellArgs: options.shellArgs ?? undefined,
|
|
88
|
-
cwd: options.cwd ?? undefined,
|
|
88
|
+
cwd: options.cwd ?? internalOptions?.cwd ?? undefined,
|
|
89
89
|
env: options.env ?? undefined,
|
|
90
90
|
icon: asTerminalIcon(options.iconPath) ?? undefined,
|
|
91
91
|
color: ThemeColor.isThemeColor(options.color) ? options.color.id : undefined,
|