@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
|
@@ -6,19 +6,19 @@ import { Event, IDynamicListEventMultiplexer } from '../../../../base/common/eve
|
|
|
6
6
|
import { IDisposable } from '../../../../base/common/lifecycle.js';
|
|
7
7
|
import { OperatingSystem } from '../../../../base/common/platform.js';
|
|
8
8
|
import { URI } from '../../../../base/common/uri.js';
|
|
9
|
-
import { TerminalCapability, ITerminalCapabilityImplMap,
|
|
9
|
+
import { TerminalCapability, ITerminalCapabilityImplMap, IMarkProperties, ITerminalCommand, ITerminalCapabilityStore } from '../../../../platform/terminal/common/capabilities/capabilities.js';
|
|
10
10
|
import { IMergedEnvironmentVariableCollection } from '../../../../platform/terminal/common/environmentVariable.js';
|
|
11
|
-
import { IShellLaunchConfig, ITerminalProfile, TerminalLocation, ITerminalBackend, ITerminalLaunchError, IExtensionTerminalProfile, TerminalIcon, IReconnectionProperties, WaitOnExitValue, TerminalExitReason, TitleEventSource, TerminalShellType, ITerminalDimensions,
|
|
11
|
+
import { IShellLaunchConfig, ITerminalProfile, TerminalLocation, ITerminalBackend, ITerminalLaunchError, IExtensionTerminalProfile, TerminalIcon, IReconnectionProperties, WaitOnExitValue, TerminalExitReason, TitleEventSource, TerminalShellType, ITerminalDimensions, ITerminalTabLayoutInfoById, IShellIntegration } from '../../../../platform/terminal/common/terminal.js';
|
|
12
12
|
import { IColorTheme } from '../../../../platform/theme/common/themeService.js';
|
|
13
13
|
import { IWorkspaceFolder } from '../../../../platform/workspace/common/workspace.js';
|
|
14
14
|
import { IEditableData } from '../../../common/views.js';
|
|
15
15
|
import { ITerminalStatusList } from './terminalStatusList.js';
|
|
16
|
-
import { ScrollPosition } from './xterm/markNavigationAddon.js';
|
|
17
16
|
import { XtermTerminal } from './xterm/xtermTerminal.js';
|
|
18
|
-
import {
|
|
17
|
+
import { IStartExtensionTerminalRequest, ITerminalProcessExtHostProxy, IRemoteTerminalAttachTarget, ITerminalConfiguration, ITerminalFont, ITerminalProcessInfo } from '../common/terminal.js';
|
|
19
18
|
import { EditorGroupColumn } from '../../../services/editor/common/editorGroupColumn.js';
|
|
20
19
|
import { ISimpleSelectedSuggestion } from '../../../services/suggest/browser/simpleSuggestWidget.js';
|
|
21
|
-
import { IMarker, Terminal } from '../../../../../../../external/xterm/typings/xterm.js';
|
|
20
|
+
import { IMarker, ITheme, Terminal } from '../../../../../../../external/@xterm/xterm/typings/xterm.js';
|
|
21
|
+
import { ScrollPosition } from './xterm/markNavigationAddon.js';
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* A terminal contribution that gets created whenever a terminal is created. A contribution has
|
|
@@ -29,6 +29,9 @@ interface ITerminalContribution extends IDisposable {
|
|
|
29
29
|
layout?(xterm: IXtermTerminal & {
|
|
30
30
|
raw: Terminal;
|
|
31
31
|
}, dimension: IDimension): void;
|
|
32
|
+
xtermOpen?(xterm: IXtermTerminal & {
|
|
33
|
+
raw: Terminal;
|
|
34
|
+
}): void;
|
|
32
35
|
xtermReady?(xterm: IXtermTerminal & {
|
|
33
36
|
raw: Terminal;
|
|
34
37
|
}): void;
|
|
@@ -68,8 +71,12 @@ interface ITerminalInstanceService {
|
|
|
68
71
|
getRegisteredBackends(): IterableIterator<ITerminalBackend>;
|
|
69
72
|
didRegisterBackend(remoteAuthority?: string): void;
|
|
70
73
|
}
|
|
71
|
-
interface
|
|
74
|
+
interface ITerminalConfigHelper {
|
|
75
|
+
config: ITerminalConfiguration;
|
|
72
76
|
panelContainer: HTMLElement | undefined;
|
|
77
|
+
configFontIsMonospace(): boolean;
|
|
78
|
+
getFont(w: Window): ITerminalFont;
|
|
79
|
+
showRecommendations(shellLaunchConfig: IShellLaunchConfig): void;
|
|
73
80
|
}
|
|
74
81
|
declare const enum Direction {
|
|
75
82
|
Left = 0,
|
|
@@ -86,6 +93,10 @@ interface IMarkTracker {
|
|
|
86
93
|
selectToNextLine(): void;
|
|
87
94
|
clearMarker(): void;
|
|
88
95
|
scrollToClosestMarker(startMarkerId: string, endMarkerId?: string, highlight?: boolean | undefined): void;
|
|
96
|
+
scrollToLine(line: number, position: ScrollPosition): void;
|
|
97
|
+
revealCommand(command: ITerminalCommand, position?: ScrollPosition): void;
|
|
98
|
+
registerTemporaryDecoration(marker: IMarker, endMarker: IMarker | undefined, showOutline: boolean): void;
|
|
99
|
+
showCommandGuide(command: ITerminalCommand | undefined): void;
|
|
89
100
|
}
|
|
90
101
|
interface ITerminalGroup {
|
|
91
102
|
activeInstance: ITerminalInstance | undefined;
|
|
@@ -122,15 +133,57 @@ interface IDetachedXTermOptions {
|
|
|
122
133
|
readonly?: boolean;
|
|
123
134
|
processInfo: ITerminalProcessInfo;
|
|
124
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* A generic interface implemented in both the {@link ITerminalInstance} (an
|
|
138
|
+
* interface used for terminals attached to the terminal panel or editor) and
|
|
139
|
+
* {@link IDetachedTerminalInstance} (a terminal used elsewhere in VS Code UI).
|
|
140
|
+
*/
|
|
141
|
+
interface IBaseTerminalInstance {
|
|
142
|
+
readonly capabilities: ITerminalCapabilityStore;
|
|
143
|
+
/**
|
|
144
|
+
* DOM element the terminal is mounted in.
|
|
145
|
+
*/
|
|
146
|
+
readonly domElement?: HTMLElement;
|
|
147
|
+
/**
|
|
148
|
+
* Current selection in the terminal.
|
|
149
|
+
*/
|
|
150
|
+
readonly selection: string | undefined;
|
|
151
|
+
/**
|
|
152
|
+
* Check if anything is selected in terminal.
|
|
153
|
+
*/
|
|
154
|
+
hasSelection(): boolean;
|
|
155
|
+
/**
|
|
156
|
+
* Clear current selection.
|
|
157
|
+
*/
|
|
158
|
+
clearSelection(): void;
|
|
159
|
+
/**
|
|
160
|
+
* Focuses the terminal instance if it's able to (the xterm.js instance must exist).
|
|
161
|
+
*
|
|
162
|
+
* @param force Force focus even if there is a selection.
|
|
163
|
+
*/
|
|
164
|
+
focus(force?: boolean): void;
|
|
165
|
+
/**
|
|
166
|
+
* Force the scroll bar to be visible until {@link resetScrollbarVisibility} is called.
|
|
167
|
+
*/
|
|
168
|
+
forceScrollbarVisibility(): void;
|
|
169
|
+
/**
|
|
170
|
+
* Resets the scroll bar to only be visible when needed, this does nothing unless
|
|
171
|
+
* {@link forceScrollbarVisibility} was called.
|
|
172
|
+
*/
|
|
173
|
+
resetScrollbarVisibility(): void;
|
|
174
|
+
/**
|
|
175
|
+
* Gets a terminal contribution by its ID.
|
|
176
|
+
*/
|
|
177
|
+
getContribution<T extends ITerminalContribution>(id: string): T | null;
|
|
178
|
+
}
|
|
125
179
|
/**
|
|
126
180
|
* A {@link ITerminalInstance}-like object that emulates a subset of
|
|
127
181
|
* capabilities. This instance is returned from {@link ITerminalService.createDetachedTerminal}
|
|
128
182
|
* to represent terminals that appear in other parts of the VS Code UI outside
|
|
129
183
|
* of the "Terminal" view or editors.
|
|
130
184
|
*/
|
|
131
|
-
interface IDetachedTerminalInstance extends IDisposable {
|
|
185
|
+
interface IDetachedTerminalInstance extends IDisposable, IBaseTerminalInstance {
|
|
132
186
|
readonly xterm: IDetachedXtermTerminal;
|
|
133
|
-
readonly capabilities: ITerminalCapabilityStore;
|
|
134
187
|
/**
|
|
135
188
|
* Attached the terminal to the given element. This should be preferred over
|
|
136
189
|
* calling {@link IXtermTerminal.attachToElement} so that extra DOM elements
|
|
@@ -148,7 +201,7 @@ interface ITerminalService extends ITerminalInstanceHost {
|
|
|
148
201
|
/** Gets all terminal instances, including editor and terminal view (group) instances. */
|
|
149
202
|
readonly instances: readonly ITerminalInstance[];
|
|
150
203
|
/** Gets detached terminal instances created via {@link createDetachedXterm}. */
|
|
151
|
-
readonly
|
|
204
|
+
readonly detachedInstances: Iterable<IDetachedTerminalInstance>;
|
|
152
205
|
readonly configHelper: ITerminalConfigHelper;
|
|
153
206
|
readonly defaultLocation: TerminalLocation;
|
|
154
207
|
readonly isProcessSupportRegistered: boolean;
|
|
@@ -156,27 +209,22 @@ interface ITerminalService extends ITerminalInstanceHost {
|
|
|
156
209
|
readonly whenConnected: Promise<void>;
|
|
157
210
|
/** The number of restored terminal groups on startup. */
|
|
158
211
|
readonly restoredGroupCount: number;
|
|
159
|
-
readonly onDidChangeActiveGroup: Event<ITerminalGroup | undefined>;
|
|
160
|
-
readonly onDidDisposeGroup: Event<ITerminalGroup>;
|
|
161
212
|
readonly onDidCreateInstance: Event<ITerminalInstance>;
|
|
162
|
-
readonly onDidReceiveProcessId: Event<ITerminalInstance>;
|
|
163
213
|
readonly onDidChangeInstanceDimensions: Event<ITerminalInstance>;
|
|
164
|
-
readonly onDidMaximumDimensionsChange: Event<ITerminalInstance>;
|
|
165
214
|
readonly onDidRequestStartExtensionTerminal: Event<IStartExtensionTerminalRequest>;
|
|
166
|
-
readonly
|
|
167
|
-
readonly
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
readonly onDidChangeInstanceColor: Event<{
|
|
215
|
+
readonly onDidRegisterProcessSupport: Event<void>;
|
|
216
|
+
readonly onDidChangeConnectionState: Event<void>;
|
|
217
|
+
readonly onDidChangeActiveGroup: Event<ITerminalGroup | undefined>;
|
|
218
|
+
readonly onAnyInstanceDataInput: Event<ITerminalInstance>;
|
|
219
|
+
readonly onAnyInstanceIconChange: Event<{
|
|
172
220
|
instance: ITerminalInstance;
|
|
173
221
|
userInitiated: boolean;
|
|
174
222
|
}>;
|
|
175
|
-
readonly
|
|
176
|
-
readonly
|
|
177
|
-
readonly
|
|
178
|
-
readonly
|
|
179
|
-
readonly
|
|
223
|
+
readonly onAnyInstanceMaximumDimensionsChange: Event<ITerminalInstance>;
|
|
224
|
+
readonly onAnyInstancePrimaryStatusChange: Event<ITerminalInstance>;
|
|
225
|
+
readonly onAnyInstanceProcessIdReady: Event<ITerminalInstance>;
|
|
226
|
+
readonly onAnyInstanceSelectionChange: Event<ITerminalInstance>;
|
|
227
|
+
readonly onAnyInstanceTitleChange: Event<ITerminalInstance>;
|
|
180
228
|
/**
|
|
181
229
|
* Creates a terminal.
|
|
182
230
|
* @param options The options to create the terminal with, when not specified the default
|
|
@@ -202,7 +250,7 @@ interface ITerminalService extends ITerminalInstanceHost {
|
|
|
202
250
|
getActiveOrCreateInstance(options?: {
|
|
203
251
|
acceptsInput?: boolean;
|
|
204
252
|
}): Promise<ITerminalInstance>;
|
|
205
|
-
revealActiveTerminal(): Promise<void>;
|
|
253
|
+
revealActiveTerminal(preserveFocus?: boolean): Promise<void>;
|
|
206
254
|
moveToEditor(source: ITerminalInstance): void;
|
|
207
255
|
moveToTerminalView(source: ITerminalInstance | URI): Promise<void>;
|
|
208
256
|
getPrimaryBackend(): ITerminalBackend | undefined;
|
|
@@ -231,14 +279,14 @@ interface ITerminalService extends ITerminalInstanceHost {
|
|
|
231
279
|
* instances and removing old instances as needed.
|
|
232
280
|
* @param getEvent Maps the instance to the event.
|
|
233
281
|
*/
|
|
234
|
-
|
|
282
|
+
createOnInstanceEvent<T>(getEvent: (instance: ITerminalInstance) => Event<T>): Event<T>;
|
|
235
283
|
/**
|
|
236
284
|
* Creates a capability event listener that listens to capabilities on all instances,
|
|
237
285
|
* dynamically adding and removing instances and capabilities as needed.
|
|
238
286
|
* @param capabilityId The capability type to listen to an event on.
|
|
239
287
|
* @param getEvent Maps the capability to the event.
|
|
240
288
|
*/
|
|
241
|
-
|
|
289
|
+
createOnInstanceCapabilityEvent<T extends TerminalCapability, K>(capabilityId: T, getEvent: (capability: ITerminalCapabilityImplMap[T]) => Event<K>): IDynamicListEventMultiplexer<{
|
|
242
290
|
instance: ITerminalInstance;
|
|
243
291
|
data: K;
|
|
244
292
|
}>;
|
|
@@ -308,7 +356,7 @@ interface ISearchOptions {
|
|
|
308
356
|
/** Whether the search should start at the current search position (not the next row). */
|
|
309
357
|
incremental?: boolean;
|
|
310
358
|
}
|
|
311
|
-
interface ITerminalInstance {
|
|
359
|
+
interface ITerminalInstance extends IBaseTerminalInstance {
|
|
312
360
|
/**
|
|
313
361
|
* The ID of the terminal instance, this is an arbitrary number only used to uniquely identify
|
|
314
362
|
* terminal instances within a window.
|
|
@@ -339,7 +387,6 @@ interface ITerminalInstance {
|
|
|
339
387
|
readonly cwd?: string;
|
|
340
388
|
readonly initialCwd?: string;
|
|
341
389
|
readonly os?: OperatingSystem;
|
|
342
|
-
readonly capabilities: ITerminalCapabilityStore;
|
|
343
390
|
readonly usedShellIntegrationInjection: boolean;
|
|
344
391
|
readonly injectedArgs: string[] | undefined;
|
|
345
392
|
readonly extEnvironmentVariableCollection: IMergedEnvironmentVariableCollection | undefined;
|
|
@@ -407,6 +454,7 @@ interface ITerminalInstance {
|
|
|
407
454
|
onDidInputData: Event<ITerminalInstance>;
|
|
408
455
|
onDidChangeSelection: Event<ITerminalInstance>;
|
|
409
456
|
onDidRunText: Event<void>;
|
|
457
|
+
onDidChangeTarget: Event<TerminalLocation | undefined>;
|
|
410
458
|
/**
|
|
411
459
|
* An event that fires when a terminal is dropped on this instance via drag and drop.
|
|
412
460
|
*/
|
|
@@ -536,33 +584,15 @@ interface ITerminalInstance {
|
|
|
536
584
|
* @param reason The reason why the terminal is being disposed
|
|
537
585
|
*/
|
|
538
586
|
detachProcessAndDispose(reason: TerminalExitReason): Promise<void>;
|
|
539
|
-
/**
|
|
540
|
-
* Check if anything is selected in terminal.
|
|
541
|
-
*/
|
|
542
|
-
hasSelection(): boolean;
|
|
543
587
|
/**
|
|
544
588
|
* Copies the terminal selection to the clipboard.
|
|
545
589
|
*/
|
|
546
590
|
copySelection(asHtml?: boolean, command?: ITerminalCommand): Promise<void>;
|
|
547
|
-
/**
|
|
548
|
-
* Current selection in the terminal.
|
|
549
|
-
*/
|
|
550
|
-
readonly selection: string | undefined;
|
|
551
|
-
/**
|
|
552
|
-
* Clear current selection.
|
|
553
|
-
*/
|
|
554
|
-
clearSelection(): void;
|
|
555
591
|
/**
|
|
556
592
|
* When the panel is hidden or a terminal in the editor area becomes inactive, reset the focus context key
|
|
557
593
|
* to avoid issues like #147180.
|
|
558
594
|
*/
|
|
559
595
|
resetFocusContextKey(): void;
|
|
560
|
-
/**
|
|
561
|
-
* Focuses the terminal instance if it's able to (the xterm.js instance must exist).
|
|
562
|
-
*
|
|
563
|
-
* @param force Force focus even if there is a selection.
|
|
564
|
-
*/
|
|
565
|
-
focus(force?: boolean): void;
|
|
566
596
|
/**
|
|
567
597
|
* Focuses the terminal instance when it's ready (the xterm.js instance much exist). This is the
|
|
568
598
|
* best focus call when the terminal is being shown for example.
|
|
@@ -584,27 +614,25 @@ interface ITerminalInstance {
|
|
|
584
614
|
* process (shell) of the terminal instance.
|
|
585
615
|
*
|
|
586
616
|
* @param text The text to send.
|
|
587
|
-
* @param
|
|
588
|
-
*
|
|
589
|
-
* platform. This defaults to `true`.
|
|
617
|
+
* @param shouldExecute Indicates that the text being sent should be executed rather than just inserted in the terminal.
|
|
618
|
+
* The character(s) added are \n or \r\n, depending on the platform. This defaults to `true`.
|
|
590
619
|
* @param bracketedPasteMode Whether to wrap the text in the bracketed paste mode sequence when
|
|
591
620
|
* it's enabled. When true, the shell will treat the text as if it were pasted into the shell,
|
|
592
621
|
* this may for example select the text and it will also ensure that the text will not be
|
|
593
622
|
* interpreted as a shell keybinding.
|
|
594
623
|
*/
|
|
595
|
-
sendText(text: string,
|
|
624
|
+
sendText(text: string, shouldExecute: boolean, bracketedPasteMode?: boolean): Promise<void>;
|
|
596
625
|
/**
|
|
597
626
|
* Sends a path to the terminal instance, preparing it as needed based on the detected shell
|
|
598
627
|
* running within the terminal. The text is written to the stdin of the underlying pty process
|
|
599
628
|
* (shell) of the terminal instance.
|
|
600
629
|
*
|
|
601
630
|
* @param originalPath The path to send.
|
|
602
|
-
* @param
|
|
603
|
-
*
|
|
604
|
-
* platform. This defaults to `true`.
|
|
631
|
+
* @param shouldExecute Indicates that the text being sent should be executed rather than just inserted in the terminal.
|
|
632
|
+
* The character(s) added are \n or \r\n, depending on the platform. This defaults to `true`.
|
|
605
633
|
*/
|
|
606
|
-
sendPath(originalPath: string | URI,
|
|
607
|
-
runCommand(command: string,
|
|
634
|
+
sendPath(originalPath: string | URI, shouldExecute: boolean): Promise<void>;
|
|
635
|
+
runCommand(command: string, shouldExecute?: boolean): void;
|
|
608
636
|
/**
|
|
609
637
|
* Takes a path and returns the properly escaped path to send to a given shell. On Windows, this
|
|
610
638
|
* includes trying to prepare the path for WSL if needed.
|
|
@@ -690,13 +718,13 @@ interface ITerminalInstance {
|
|
|
690
718
|
*/
|
|
691
719
|
rename(title?: string): Promise<void>;
|
|
692
720
|
/**
|
|
693
|
-
*
|
|
721
|
+
* Sets or triggers a quick pick to change the icon of this terminal.
|
|
694
722
|
*/
|
|
695
|
-
changeIcon(): Promise<
|
|
723
|
+
changeIcon(icon?: TerminalIcon): Promise<TerminalIcon | undefined>;
|
|
696
724
|
/**
|
|
697
|
-
*
|
|
725
|
+
* Sets or triggers a quick pick to change the color of the associated terminal tab icon.
|
|
698
726
|
*/
|
|
699
|
-
changeColor(): Promise<
|
|
727
|
+
changeColor(color?: string): Promise<string | undefined>;
|
|
700
728
|
/**
|
|
701
729
|
* Triggers a quick pick that displays recent commands or cwds. Selecting one will
|
|
702
730
|
* rerun it in the active terminal.
|
|
@@ -731,19 +759,6 @@ interface ITerminalInstance {
|
|
|
731
759
|
* Hides the suggest widget.
|
|
732
760
|
*/
|
|
733
761
|
hideSuggestWidget(): void;
|
|
734
|
-
/**
|
|
735
|
-
* Force the scroll bar to be visible until {@link resetScrollbarVisibility} is called.
|
|
736
|
-
*/
|
|
737
|
-
forceScrollbarVisibility(): void;
|
|
738
|
-
/**
|
|
739
|
-
* Resets the scroll bar to only be visible when needed, this does nothing unless
|
|
740
|
-
* {@link forceScrollbarVisibility} was called.
|
|
741
|
-
*/
|
|
742
|
-
resetScrollbarVisibility(): void;
|
|
743
|
-
/**
|
|
744
|
-
* Gets a terminal contribution by its ID.
|
|
745
|
-
*/
|
|
746
|
-
getContribution<T extends ITerminalContribution>(id: string): T | null;
|
|
747
762
|
}
|
|
748
763
|
interface IXtermAttachToElementOptions {
|
|
749
764
|
/**
|
|
@@ -782,6 +797,10 @@ interface IXtermTerminal extends IDisposable {
|
|
|
782
797
|
* Whether the terminal is currently focused.
|
|
783
798
|
*/
|
|
784
799
|
readonly isFocused: boolean;
|
|
800
|
+
/**
|
|
801
|
+
* Whether a canvas-based renderer is being used.
|
|
802
|
+
*/
|
|
803
|
+
readonly isGpuAccelerated: boolean;
|
|
785
804
|
/**
|
|
786
805
|
* Attached the terminal to the given element
|
|
787
806
|
* @param container Container the terminal will be rendered in
|
|
@@ -841,12 +860,13 @@ interface IXtermTerminal extends IDisposable {
|
|
|
841
860
|
* accessibility triggers.
|
|
842
861
|
*/
|
|
843
862
|
focus(): void;
|
|
844
|
-
/** Scroll the terminal buffer down 1 line.
|
|
845
|
-
/** Scroll the terminal buffer down 1 page.
|
|
863
|
+
/** Scroll the terminal buffer down 1 line. */ scrollDownLine(): void;
|
|
864
|
+
/** Scroll the terminal buffer down 1 page. */ scrollDownPage(): void;
|
|
846
865
|
/** Scroll the terminal buffer to the bottom. */ scrollToBottom(): void;
|
|
847
|
-
/** Scroll the terminal buffer up 1 line.
|
|
848
|
-
/** Scroll the terminal buffer up 1 page.
|
|
849
|
-
/** Scroll the terminal buffer to the top.
|
|
866
|
+
/** Scroll the terminal buffer up 1 line. */ scrollUpLine(): void;
|
|
867
|
+
/** Scroll the terminal buffer up 1 page. */ scrollUpPage(): void;
|
|
868
|
+
/** Scroll the terminal buffer to the top. */ scrollToTop(): void;
|
|
869
|
+
/** Scroll the terminal buffer to a set line */ scrollToLine(line: number, position?: ScrollPosition): void;
|
|
850
870
|
/**
|
|
851
871
|
* Clears the terminal buffer, leaving only the prompt line and moving it to the top of the
|
|
852
872
|
* viewport.
|
|
@@ -872,6 +892,7 @@ interface IXtermTerminal extends IDisposable {
|
|
|
872
892
|
* Refreshes the terminal after it has been moved.
|
|
873
893
|
*/
|
|
874
894
|
refresh(): void;
|
|
895
|
+
getXtermTheme(theme?: IColorTheme): ITheme;
|
|
875
896
|
}
|
|
876
897
|
interface IDetachedXtermTerminal extends IXtermTerminal {
|
|
877
898
|
/**
|
|
@@ -921,4 +942,4 @@ interface ISuggestController {
|
|
|
921
942
|
handleNonXtermData(data: string): void;
|
|
922
943
|
}
|
|
923
944
|
|
|
924
|
-
export { Direction, type
|
|
945
|
+
export { Direction, type IBaseTerminalInstance, type ICreateTerminalOptions, type IDetachedTerminalInstance, type IDetachedXTermOptions, type IDetachedXtermTerminal, type IInternalXtermTerminal, type IMarkTracker, type IRequestAddInstanceToGroupEvent, type ISearchOptions, type ISuggestController, type ITerminalConfigHelper, type ITerminalContribution, type ITerminalGroup, type ITerminalInstance, type ITerminalInstanceHost, ITerminalInstanceService, type ITerminalLocationOptions, ITerminalService, type ITerminalServiceNativeDelegate, type IXtermAttachToElementOptions, type IXtermColorProvider, type IXtermTerminal, LinuxDistro, TerminalConnectionState, type TerminalEditorLocation };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
|
|
2
2
|
import { ITerminalConfiguration, ITerminalFont } from '../common/terminal.js';
|
|
3
3
|
import { INotificationService } from '../../../../platform/notification/common/notification.js';
|
|
4
|
-
import {
|
|
4
|
+
import { ITerminalConfigHelper, LinuxDistro } from './terminal.js';
|
|
5
5
|
import { Event } from '../../../../base/common/event.js';
|
|
6
6
|
import { IExtensionManagementService } from '../../../../platform/extensionManagement/common/extensionManagement.js';
|
|
7
7
|
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
|
|
@@ -14,7 +14,7 @@ import { Disposable } from '../../../../base/common/lifecycle.js';
|
|
|
14
14
|
* Encapsulates terminal configuration logic, the primary purpose of this file is so that platform
|
|
15
15
|
* specific test cases can be written.
|
|
16
16
|
*/
|
|
17
|
-
declare class TerminalConfigHelper extends Disposable implements
|
|
17
|
+
declare class TerminalConfigHelper extends Disposable implements ITerminalConfigHelper {
|
|
18
18
|
private readonly _configurationService;
|
|
19
19
|
private readonly _extensionManagementService;
|
|
20
20
|
private readonly _notificationService;
|
|
@@ -37,7 +37,7 @@ declare class TerminalConfigHelper extends Disposable implements IBrowserTermina
|
|
|
37
37
|
* Gets the font information based on the terminal.integrated.fontFamily
|
|
38
38
|
* terminal.integrated.fontSize, terminal.integrated.lineHeight configuration properties
|
|
39
39
|
*/
|
|
40
|
-
getFont(xtermCore?: IXtermCore, excludeDimensions?: boolean): ITerminalFont;
|
|
40
|
+
getFont(w: Window, xtermCore?: IXtermCore, excludeDimensions?: boolean): ITerminalFont;
|
|
41
41
|
private _clampInt;
|
|
42
42
|
private _recommendationsShown;
|
|
43
43
|
showRecommendations(shellLaunchConfig: IShellLaunchConfig): Promise<void>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
2
|
+
function registerTerminalContribution(id, ctor, canRunInDetachedTerminals = false) {
|
|
3
|
+
TerminalContributionRegistry.INSTANCE.registerTerminalContribution({ id, ctor, canRunInDetachedTerminals });
|
|
4
|
+
}
|
|
5
|
+
var TerminalExtensionsRegistry;
|
|
6
|
+
( (function(TerminalExtensionsRegistry) {
|
|
7
|
+
function getTerminalContributions() {
|
|
8
|
+
return TerminalContributionRegistry.INSTANCE.getTerminalContributions();
|
|
9
|
+
}
|
|
10
|
+
TerminalExtensionsRegistry.getTerminalContributions = getTerminalContributions;
|
|
11
|
+
})(TerminalExtensionsRegistry || (TerminalExtensionsRegistry = {})));
|
|
12
|
+
class TerminalContributionRegistry {
|
|
13
|
+
static { this.INSTANCE = ( new TerminalContributionRegistry()); }
|
|
14
|
+
constructor() {
|
|
15
|
+
this._terminalContributions = [];
|
|
16
|
+
}
|
|
17
|
+
registerTerminalContribution(description) {
|
|
18
|
+
this._terminalContributions.push(description);
|
|
19
|
+
}
|
|
20
|
+
getTerminalContributions() {
|
|
21
|
+
return this._terminalContributions.slice(0);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
Registry.add("terminal.contributions" , TerminalContributionRegistry.INSTANCE);
|
|
25
|
+
export { TerminalExtensionsRegistry, registerTerminalContribution };
|
|
@@ -5,6 +5,8 @@ import { ColorScheme } from 'monaco-editor/esm/vs/platform/theme/common/theme.js
|
|
|
5
5
|
import { ThemeIcon } from 'monaco-editor/esm/vs/base/common/themables.js';
|
|
6
6
|
import { ITerminalProfileResolverService } from '../common/terminal.js';
|
|
7
7
|
import { ansiColorMap } from '../common/terminalColorRegistry.js';
|
|
8
|
+
import { createStyleSheet } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
9
|
+
import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
8
10
|
function getColorClass(terminalOrColorKey) {
|
|
9
11
|
let color = undefined;
|
|
10
12
|
if (typeof terminalOrColorKey === 'string') {
|
|
@@ -31,9 +33,10 @@ function getStandardColors(colorTheme) {
|
|
|
31
33
|
}
|
|
32
34
|
return standardColors;
|
|
33
35
|
}
|
|
34
|
-
function
|
|
36
|
+
function createColorStyleElement(colorTheme) {
|
|
37
|
+
const disposable = ( new DisposableStore());
|
|
35
38
|
const standardColors = getStandardColors(colorTheme);
|
|
36
|
-
const styleElement =
|
|
39
|
+
const styleElement = createStyleSheet(undefined, undefined, disposable);
|
|
37
40
|
let css = '';
|
|
38
41
|
for (const colorKey of standardColors) {
|
|
39
42
|
const colorClass = getColorClass(colorKey);
|
|
@@ -44,7 +47,7 @@ function getColorStyleElement(colorTheme) {
|
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
49
|
styleElement.textContent = css;
|
|
47
|
-
return
|
|
50
|
+
return disposable;
|
|
48
51
|
}
|
|
49
52
|
function getColorStyleContent(colorTheme, editor) {
|
|
50
53
|
const standardColors = getStandardColors(colorTheme);
|
|
@@ -100,4 +103,4 @@ function getIconId(accessor, terminal) {
|
|
|
100
103
|
}
|
|
101
104
|
return typeof terminal.icon === 'string' ? terminal.icon : terminal.icon.id;
|
|
102
105
|
}
|
|
103
|
-
export { getColorClass, getColorStyleContent,
|
|
106
|
+
export { createColorStyleElement, getColorClass, getColorStyleContent, getIconId, getStandardColors, getUriClasses };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
|
|
2
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
3
|
+
import { registerIcon } from 'monaco-editor/esm/vs/platform/theme/common/iconRegistry.js';
|
|
4
|
+
const terminalViewIcon = registerIcon('terminal-view-icon', Codicon.terminal, ( localizeWithPath(
|
|
5
|
+
'vs/workbench/contrib/terminal/browser/terminalIcons',
|
|
6
|
+
'terminalViewIcon',
|
|
7
|
+
'View icon of the terminal view.'
|
|
8
|
+
)));
|
|
9
|
+
const renameTerminalIcon = registerIcon('terminal-rename', Codicon.gear, ( localizeWithPath(
|
|
10
|
+
'vs/workbench/contrib/terminal/browser/terminalIcons',
|
|
11
|
+
'renameTerminalIcon',
|
|
12
|
+
'Icon for rename in the terminal quick menu.'
|
|
13
|
+
)));
|
|
14
|
+
const killTerminalIcon = registerIcon('terminal-kill', Codicon.trash, ( localizeWithPath(
|
|
15
|
+
'vs/workbench/contrib/terminal/browser/terminalIcons',
|
|
16
|
+
'killTerminalIcon',
|
|
17
|
+
'Icon for killing a terminal instance.'
|
|
18
|
+
)));
|
|
19
|
+
const newTerminalIcon = registerIcon('terminal-new', Codicon.add, ( localizeWithPath(
|
|
20
|
+
'vs/workbench/contrib/terminal/browser/terminalIcons',
|
|
21
|
+
'newTerminalIcon',
|
|
22
|
+
'Icon for creating a new terminal instance.'
|
|
23
|
+
)));
|
|
24
|
+
const configureTerminalProfileIcon = registerIcon('terminal-configure-profile', Codicon.gear, ( localizeWithPath(
|
|
25
|
+
'vs/workbench/contrib/terminal/browser/terminalIcons',
|
|
26
|
+
'configureTerminalProfileIcon',
|
|
27
|
+
'Icon for creating a new terminal profile.'
|
|
28
|
+
)));
|
|
29
|
+
const terminalDecorationMark = registerIcon('terminal-decoration-mark', Codicon.circleSmallFilled, ( localizeWithPath(
|
|
30
|
+
'vs/workbench/contrib/terminal/browser/terminalIcons',
|
|
31
|
+
'terminalDecorationMark',
|
|
32
|
+
'Icon for a terminal decoration mark.'
|
|
33
|
+
)));
|
|
34
|
+
const terminalDecorationIncomplete = registerIcon('terminal-decoration-incomplete', Codicon.circle, ( localizeWithPath(
|
|
35
|
+
'vs/workbench/contrib/terminal/browser/terminalIcons',
|
|
36
|
+
'terminalDecorationIncomplete',
|
|
37
|
+
'Icon for a terminal decoration of a command that was incomplete.'
|
|
38
|
+
)));
|
|
39
|
+
const terminalDecorationError = registerIcon('terminal-decoration-error', Codicon.errorSmall, ( localizeWithPath(
|
|
40
|
+
'vs/workbench/contrib/terminal/browser/terminalIcons',
|
|
41
|
+
'terminalDecorationError',
|
|
42
|
+
'Icon for a terminal decoration of a command that errored.'
|
|
43
|
+
)));
|
|
44
|
+
const terminalDecorationSuccess = registerIcon('terminal-decoration-success', Codicon.circleFilled, ( localizeWithPath(
|
|
45
|
+
'vs/workbench/contrib/terminal/browser/terminalIcons',
|
|
46
|
+
'terminalDecorationSuccess',
|
|
47
|
+
'Icon for a terminal decoration of a command that was successful.'
|
|
48
|
+
)));
|
|
49
|
+
const commandHistoryRemoveIcon = registerIcon('terminal-command-history-remove', Codicon.close, ( localizeWithPath(
|
|
50
|
+
'vs/workbench/contrib/terminal/browser/terminalIcons',
|
|
51
|
+
'terminalCommandHistoryRemove',
|
|
52
|
+
'Icon for removing a terminal command from command history.'
|
|
53
|
+
)));
|
|
54
|
+
const commandHistoryOutputIcon = registerIcon('terminal-command-history-output', Codicon.output, ( localizeWithPath(
|
|
55
|
+
'vs/workbench/contrib/terminal/browser/terminalIcons',
|
|
56
|
+
'terminalCommandHistoryOutput',
|
|
57
|
+
'Icon for viewing output of a terminal command.'
|
|
58
|
+
)));
|
|
59
|
+
const commandHistoryFuzzySearchIcon = registerIcon('terminal-command-history-fuzzy-search', Codicon.searchFuzzy, ( localizeWithPath(
|
|
60
|
+
'vs/workbench/contrib/terminal/browser/terminalIcons',
|
|
61
|
+
'terminalCommandHistoryFuzzySearch',
|
|
62
|
+
'Icon for toggling fuzzy search of command history.'
|
|
63
|
+
)));
|
|
64
|
+
export { commandHistoryFuzzySearchIcon, commandHistoryOutputIcon, commandHistoryRemoveIcon, configureTerminalProfileIcon, killTerminalIcon, newTerminalIcon, renameTerminalIcon, terminalDecorationError, terminalDecorationIncomplete, terminalDecorationMark, terminalDecorationSuccess, terminalViewIcon };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
class TerminalWidgetManager {
|
|
2
|
+
constructor() {
|
|
3
|
+
this._attached = ( new Map());
|
|
4
|
+
}
|
|
5
|
+
attachToElement(terminalWrapper) {
|
|
6
|
+
if (!this._container) {
|
|
7
|
+
this._container = document.createElement('div');
|
|
8
|
+
this._container.classList.add('terminal-widget-container');
|
|
9
|
+
terminalWrapper.appendChild(this._container);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
dispose() {
|
|
13
|
+
if (this._container && this._container.parentElement) {
|
|
14
|
+
this._container.parentElement.removeChild(this._container);
|
|
15
|
+
this._container = undefined;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
attachWidget(widget) {
|
|
19
|
+
if (!this._container) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
this._attached.get(widget.id)?.dispose();
|
|
23
|
+
widget.attach(this._container);
|
|
24
|
+
this._attached.set(widget.id, widget);
|
|
25
|
+
return {
|
|
26
|
+
dispose: () => {
|
|
27
|
+
const current = this._attached.get(widget.id);
|
|
28
|
+
if (current === widget) {
|
|
29
|
+
this._attached.delete(widget.id);
|
|
30
|
+
widget.dispose();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export { TerminalWidgetManager };
|