@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
|
@@ -198,10 +198,25 @@ interface IFileService {
|
|
|
198
198
|
/**
|
|
199
199
|
* Allows to start a watcher that reports file/folder change events on the provided resource.
|
|
200
200
|
*
|
|
201
|
-
*
|
|
202
|
-
*
|
|
201
|
+
* The watcher runs correlated and thus, file events will be reported on the returned
|
|
202
|
+
* `IFileSystemWatcher` and not on the generic `IFileService.onDidFilesChange` event.
|
|
203
203
|
*/
|
|
204
|
-
|
|
204
|
+
createWatcher(resource: URI, options: IWatchOptionsWithoutCorrelation): IFileSystemWatcher;
|
|
205
|
+
/**
|
|
206
|
+
* Allows to start a watcher that reports file/folder change events on the provided resource.
|
|
207
|
+
*
|
|
208
|
+
* The watcher runs correlated and thus, file events will be reported on the returned
|
|
209
|
+
* `IFileSystemWatcher` and not on the generic `IFileService.onDidFilesChange` event.
|
|
210
|
+
*/
|
|
211
|
+
watch(resource: URI, options: IWatchOptionsWithCorrelation): IFileSystemWatcher;
|
|
212
|
+
/**
|
|
213
|
+
* Allows to start a watcher that reports file/folder change events on the provided resource.
|
|
214
|
+
*
|
|
215
|
+
* The watcher runs uncorrelated and thus will report all events from `IFileService.onDidFilesChange`.
|
|
216
|
+
* This means, most listeners in the application will receive your events. It is encouraged to
|
|
217
|
+
* use correlated watchers (via `IWatchOptionsWithCorrelation`) to limit events to your listener.
|
|
218
|
+
*/
|
|
219
|
+
watch(resource: URI, options?: IWatchOptionsWithoutCorrelation): IDisposable;
|
|
205
220
|
/**
|
|
206
221
|
* Frees up any resources occupied by this service.
|
|
207
222
|
*/
|
|
@@ -396,12 +411,12 @@ interface IStat {
|
|
|
396
411
|
*/
|
|
397
412
|
readonly permissions?: FilePermission;
|
|
398
413
|
}
|
|
399
|
-
interface
|
|
414
|
+
interface IWatchOptionsWithoutCorrelation {
|
|
400
415
|
/**
|
|
401
416
|
* Set to `true` to watch for changes recursively in a folder
|
|
402
417
|
* and all of its children.
|
|
403
418
|
*/
|
|
404
|
-
|
|
419
|
+
recursive: boolean;
|
|
405
420
|
/**
|
|
406
421
|
* A set of glob patterns or paths to exclude from watching.
|
|
407
422
|
* Paths can be relative or absolute and when relative are
|
|
@@ -419,6 +434,25 @@ interface IWatchOptions {
|
|
|
419
434
|
*/
|
|
420
435
|
includes?: Array<string | IRelativePattern>;
|
|
421
436
|
}
|
|
437
|
+
interface IWatchOptions extends IWatchOptionsWithoutCorrelation {
|
|
438
|
+
/**
|
|
439
|
+
* If provided, file change events from the watcher that
|
|
440
|
+
* are a result of this watch request will carry the same
|
|
441
|
+
* id.
|
|
442
|
+
*/
|
|
443
|
+
readonly correlationId?: number;
|
|
444
|
+
}
|
|
445
|
+
interface IWatchOptionsWithCorrelation extends IWatchOptions {
|
|
446
|
+
readonly correlationId: number;
|
|
447
|
+
}
|
|
448
|
+
interface IFileSystemWatcher extends IDisposable {
|
|
449
|
+
/**
|
|
450
|
+
* An event which fires on file/folder change only for changes
|
|
451
|
+
* that correlate to the watch request with matching correlation
|
|
452
|
+
* identifier.
|
|
453
|
+
*/
|
|
454
|
+
readonly onDidChange: Event<FileChangesEvent>;
|
|
455
|
+
}
|
|
422
456
|
declare const enum FileSystemProviderCapabilities {
|
|
423
457
|
/**
|
|
424
458
|
* No capabilities.
|
|
@@ -595,17 +629,27 @@ interface IFileChange {
|
|
|
595
629
|
/**
|
|
596
630
|
* The type of change that occurred to the file.
|
|
597
631
|
*/
|
|
598
|
-
|
|
632
|
+
type: FileChangeType;
|
|
599
633
|
/**
|
|
600
634
|
* The unified resource identifier of the file that changed.
|
|
601
635
|
*/
|
|
602
636
|
readonly resource: URI;
|
|
637
|
+
/**
|
|
638
|
+
* If provided when starting the file watcher, the correlation
|
|
639
|
+
* identifier will match the original file watching request as
|
|
640
|
+
* a way to identify the original component that is interested
|
|
641
|
+
* in the change.
|
|
642
|
+
*/
|
|
643
|
+
readonly cId?: number;
|
|
603
644
|
}
|
|
604
645
|
declare class FileChangesEvent {
|
|
646
|
+
private readonly ignorePathCasing;
|
|
647
|
+
private static readonly MIXED_CORRELATION;
|
|
648
|
+
private readonly correlationId;
|
|
649
|
+
constructor(changes: readonly IFileChange[], ignorePathCasing: boolean);
|
|
605
650
|
private readonly added;
|
|
606
651
|
private readonly updated;
|
|
607
652
|
private readonly deleted;
|
|
608
|
-
constructor(changes: readonly IFileChange[], ignorePathCasing: boolean);
|
|
609
653
|
/**
|
|
610
654
|
* Find out if the file change events match the provided resource.
|
|
611
655
|
*
|
|
@@ -631,6 +675,26 @@ declare class FileChangesEvent {
|
|
|
631
675
|
* Returns if this event contains updated files.
|
|
632
676
|
*/
|
|
633
677
|
gotUpdated(): boolean;
|
|
678
|
+
/**
|
|
679
|
+
* Returns if this event contains changes that correlate to the
|
|
680
|
+
* provided `correlationId`.
|
|
681
|
+
*
|
|
682
|
+
* File change event correlation is an advanced watch feature that
|
|
683
|
+
* allows to identify from which watch request the events originate
|
|
684
|
+
* from. This correlation allows to route events specifically
|
|
685
|
+
* only to the requestor and not emit them to all listeners.
|
|
686
|
+
*/
|
|
687
|
+
correlates(correlationId: number): boolean;
|
|
688
|
+
/**
|
|
689
|
+
* Figure out if the event contains changes that correlate to one
|
|
690
|
+
* correlation identifier.
|
|
691
|
+
*
|
|
692
|
+
* File change event correlation is an advanced watch feature that
|
|
693
|
+
* allows to identify from which watch request the events originate
|
|
694
|
+
* from. This correlation allows to route events specifically
|
|
695
|
+
* only to the requestor and not emit them to all listeners.
|
|
696
|
+
*/
|
|
697
|
+
hasCorrelation(): boolean;
|
|
634
698
|
/**
|
|
635
699
|
* @deprecated use the `contains` or `affects` method to efficiently find
|
|
636
700
|
* out if the event relates to a given resource. these methods ensure:
|
|
@@ -834,4 +898,4 @@ interface ICreateFileOptions {
|
|
|
834
898
|
readonly overwrite?: boolean;
|
|
835
899
|
}
|
|
836
900
|
|
|
837
|
-
export { FileChangeType, FileChangesEvent, FileOperation, FileOperationEvent, FilePermission, FileSystemProviderCapabilities, FileSystemProviderError, FileSystemProviderErrorCode, FileType, type IBaseFileStat, type IBaseFileStatWithMetadata, type IBaseReadFileOptions, type ICreateFileOptions, type IFileAtomicDeleteOptions, type IFileAtomicOptions, type IFileAtomicReadOptions, type IFileAtomicWriteOptions, type IFileChange, type IFileContent, type IFileDeleteOptions, type IFileOpenForReadOptions, type IFileOpenForWriteOptions, type IFileOpenOptions, type IFileOperationEvent, type IFileOperationEventWithMetadata, type IFileOverwriteOptions, type IFileReadLimits, type IFileReadStreamOptions, IFileService, type IFileStat, type IFileStatResult, type IFileStatWithMetadata, type IFileStatWithPartialMetadata, type IFileStreamContent, type IFileSystemProvider, type IFileSystemProviderActivationEvent, type IFileSystemProviderCapabilitiesChangeEvent, type IFileSystemProviderError, type IFileSystemProviderRegistrationEvent, type IFileSystemProviderWithFileAtomicDeleteCapability, type IFileSystemProviderWithFileAtomicReadCapability, type IFileSystemProviderWithFileAtomicWriteCapability, type IFileSystemProviderWithFileReadStreamCapability, type IFileSystemProviderWithFileReadWriteCapability, type IFileSystemProviderWithOpenReadWriteCloseCapability, type IFileUnlockOptions, type IFileWriteOptions, type IReadFileOptions, type IReadFileStreamOptions, type IResolveFileOptions, type IResolveMetadataFileOptions, type IStat, type IWatchOptions, type IWriteFileOptions };
|
|
901
|
+
export { FileChangeType, FileChangesEvent, FileOperation, FileOperationEvent, FilePermission, FileSystemProviderCapabilities, FileSystemProviderError, FileSystemProviderErrorCode, FileType, type IBaseFileStat, type IBaseFileStatWithMetadata, type IBaseReadFileOptions, type ICreateFileOptions, type IFileAtomicDeleteOptions, type IFileAtomicOptions, type IFileAtomicReadOptions, type IFileAtomicWriteOptions, type IFileChange, type IFileContent, type IFileDeleteOptions, type IFileOpenForReadOptions, type IFileOpenForWriteOptions, type IFileOpenOptions, type IFileOperationEvent, type IFileOperationEventWithMetadata, type IFileOverwriteOptions, type IFileReadLimits, type IFileReadStreamOptions, IFileService, type IFileStat, type IFileStatResult, type IFileStatWithMetadata, type IFileStatWithPartialMetadata, type IFileStreamContent, type IFileSystemProvider, type IFileSystemProviderActivationEvent, type IFileSystemProviderCapabilitiesChangeEvent, type IFileSystemProviderError, type IFileSystemProviderRegistrationEvent, type IFileSystemProviderWithFileAtomicDeleteCapability, type IFileSystemProviderWithFileAtomicReadCapability, type IFileSystemProviderWithFileAtomicWriteCapability, type IFileSystemProviderWithFileReadStreamCapability, type IFileSystemProviderWithFileReadWriteCapability, type IFileSystemProviderWithOpenReadWriteCloseCapability, type IFileSystemWatcher, type IFileUnlockOptions, type IFileWriteOptions, type IReadFileOptions, type IReadFileStreamOptions, type IResolveFileOptions, type IResolveMetadataFileOptions, type IStat, type IWatchOptions, type IWatchOptionsWithCorrelation, type IWatchOptionsWithoutCorrelation, type IWriteFileOptions };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { GLOBSTAR } from 'monaco-editor/esm/vs/base/common/glob.js';
|
|
2
|
+
import { Disposable, MutableDisposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
3
|
+
import { isAbsolute } from 'monaco-editor/esm/vs/base/common/path.js';
|
|
4
|
+
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
5
|
+
class AbstractWatcherClient extends Disposable {
|
|
6
|
+
static { this.MAX_RESTARTS = 5; }
|
|
7
|
+
constructor(onFileChanges, onLogMessage, verboseLogging, options) {
|
|
8
|
+
super();
|
|
9
|
+
this.onFileChanges = onFileChanges;
|
|
10
|
+
this.onLogMessage = onLogMessage;
|
|
11
|
+
this.verboseLogging = verboseLogging;
|
|
12
|
+
this.options = options;
|
|
13
|
+
this.watcherDisposables = this._register(( new MutableDisposable()));
|
|
14
|
+
this.requests = undefined;
|
|
15
|
+
this.restartCounter = 0;
|
|
16
|
+
}
|
|
17
|
+
init() {
|
|
18
|
+
const disposables = ( new DisposableStore());
|
|
19
|
+
this.watcherDisposables.value = disposables;
|
|
20
|
+
this.watcher = this.createWatcher(disposables);
|
|
21
|
+
this.watcher.setVerboseLogging(this.verboseLogging);
|
|
22
|
+
disposables.add(this.watcher.onDidChangeFile(changes => this.onFileChanges(changes)));
|
|
23
|
+
disposables.add(this.watcher.onDidLogMessage(msg => this.onLogMessage(msg)));
|
|
24
|
+
disposables.add(this.watcher.onDidError(error => this.onError(error)));
|
|
25
|
+
}
|
|
26
|
+
onError(error) {
|
|
27
|
+
if (this.options.restartOnError) {
|
|
28
|
+
if (this.restartCounter < AbstractWatcherClient.MAX_RESTARTS && this.requests) {
|
|
29
|
+
this.error(`restarting watcher after error: ${error}`);
|
|
30
|
+
this.restart(this.requests);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.error(`gave up attempting to restart watcher after error: ${error}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
this.error(error);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
restart(requests) {
|
|
41
|
+
this.restartCounter++;
|
|
42
|
+
this.init();
|
|
43
|
+
this.watch(requests);
|
|
44
|
+
}
|
|
45
|
+
async watch(requests) {
|
|
46
|
+
this.requests = requests;
|
|
47
|
+
await this.watcher?.watch(requests);
|
|
48
|
+
}
|
|
49
|
+
async setVerboseLogging(verboseLogging) {
|
|
50
|
+
this.verboseLogging = verboseLogging;
|
|
51
|
+
await this.watcher?.setVerboseLogging(verboseLogging);
|
|
52
|
+
}
|
|
53
|
+
error(message) {
|
|
54
|
+
this.onLogMessage({ type: 'error', message: `[File Watcher (${this.options.type})] ${message}` });
|
|
55
|
+
}
|
|
56
|
+
trace(message) {
|
|
57
|
+
this.onLogMessage({ type: 'trace', message: `[File Watcher (${this.options.type})] ${message}` });
|
|
58
|
+
}
|
|
59
|
+
dispose() {
|
|
60
|
+
this.watcher = undefined;
|
|
61
|
+
return super.dispose();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function reviveFileChanges(changes) {
|
|
65
|
+
return ( changes.map(change => ({
|
|
66
|
+
type: change.type,
|
|
67
|
+
resource: URI.revive(change.resource),
|
|
68
|
+
cId: change.cId
|
|
69
|
+
})));
|
|
70
|
+
}
|
|
71
|
+
function normalizeWatcherPattern(path, pattern) {
|
|
72
|
+
if (typeof pattern === 'string' && !pattern.startsWith(GLOBSTAR) && !isAbsolute(pattern)) {
|
|
73
|
+
return { base: path, pattern };
|
|
74
|
+
}
|
|
75
|
+
return pattern;
|
|
76
|
+
}
|
|
77
|
+
export { AbstractWatcherClient, normalizeWatcherPattern, reviveFileChanges };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Keybinding } from '../../../base/common/keybindings.js';
|
|
2
|
-
import { ICommandHandler,
|
|
2
|
+
import { ICommandHandler, ICommandMetadata } from '../../commands/common/commands.js';
|
|
3
3
|
import { ContextKeyExpression } from '../../contextkey/common/contextkey.js';
|
|
4
4
|
import { IDisposable } from '../../../base/common/lifecycle.js';
|
|
5
5
|
|
|
@@ -46,7 +46,7 @@ interface IExtensionKeybindingRule {
|
|
|
46
46
|
}
|
|
47
47
|
interface ICommandAndKeybindingRule extends IKeybindingRule {
|
|
48
48
|
handler: ICommandHandler;
|
|
49
|
-
|
|
49
|
+
metadata?: ICommandMetadata | null;
|
|
50
50
|
}
|
|
51
51
|
interface IKeybindingsRegistry {
|
|
52
52
|
registerKeybindingRule(rule: IKeybindingRule): IDisposable;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ServiceIdentifier } from '../../instantiation/common/instantiation.js';
|
|
2
2
|
import { IDimension } from '../../../base/browser/dom.js';
|
|
3
3
|
import { Event } from '../../../base/common/event.js';
|
|
4
|
+
import { DisposableStore } from '../../../base/common/lifecycle.js';
|
|
4
5
|
|
|
5
6
|
interface ILayoutOffsetInfo {
|
|
6
7
|
/**
|
|
@@ -17,37 +18,67 @@ declare const ILayoutService: ServiceIdentifier<ILayoutService>;
|
|
|
17
18
|
interface ILayoutService {
|
|
18
19
|
readonly _serviceBrand: undefined;
|
|
19
20
|
/**
|
|
20
|
-
*
|
|
21
|
+
* An event that is emitted when the main container is layed out.
|
|
21
22
|
*/
|
|
22
|
-
readonly
|
|
23
|
+
readonly onDidLayoutMainContainer: Event<IDimension>;
|
|
23
24
|
/**
|
|
24
|
-
*
|
|
25
|
+
* An event that is emitted when any container is layed out.
|
|
25
26
|
*/
|
|
26
|
-
readonly
|
|
27
|
+
readonly onDidLayoutContainer: Event<{
|
|
28
|
+
readonly container: HTMLElement;
|
|
29
|
+
readonly dimension: IDimension;
|
|
30
|
+
}>;
|
|
27
31
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* **NOTE**: In the standalone editor case, multiple editors can be created on a page.
|
|
31
|
-
* Therefore, in the standalone editor case, there are multiple containers, not just
|
|
32
|
-
* a single one. If you ship code that needs a "container" for the standalone editor,
|
|
33
|
-
* please use `ICodeEditorService` to get the current focused code editor and use its
|
|
34
|
-
* container if necessary. You can also instantiate `EditorScopedLayoutService`
|
|
35
|
-
* which implements `ILayoutService` but is not a part of the service collection because
|
|
36
|
-
* it is code editor instance specific.
|
|
37
|
-
*
|
|
32
|
+
* An event that is emitted when the active container is layed out.
|
|
38
33
|
*/
|
|
39
|
-
readonly
|
|
34
|
+
readonly onDidLayoutActiveContainer: Event<IDimension>;
|
|
40
35
|
/**
|
|
41
|
-
* An
|
|
36
|
+
* An event that is emitted when a new container is added. This
|
|
37
|
+
* can happen in multi-window environments.
|
|
38
|
+
*/
|
|
39
|
+
readonly onDidAddContainer: Event<{
|
|
40
|
+
readonly container: HTMLElement;
|
|
41
|
+
readonly disposables: DisposableStore;
|
|
42
|
+
}>;
|
|
43
|
+
/**
|
|
44
|
+
* An event that is emitted when the active container changes.
|
|
45
|
+
*/
|
|
46
|
+
readonly onDidChangeActiveContainer: Event<void>;
|
|
47
|
+
/**
|
|
48
|
+
* The dimensions of the main container.
|
|
49
|
+
*/
|
|
50
|
+
readonly mainContainerDimension: IDimension;
|
|
51
|
+
/**
|
|
52
|
+
* The dimensions of the active container.
|
|
53
|
+
*/
|
|
54
|
+
readonly activeContainerDimension: IDimension;
|
|
55
|
+
/**
|
|
56
|
+
* Main container of the application.
|
|
42
57
|
*/
|
|
43
|
-
readonly
|
|
58
|
+
readonly mainContainer: HTMLElement;
|
|
44
59
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
60
|
+
* Active container of the application. When multiple windows are opened, will return
|
|
61
|
+
* the container of the active, focused window.
|
|
62
|
+
*/
|
|
63
|
+
readonly activeContainer: HTMLElement;
|
|
64
|
+
/**
|
|
65
|
+
* All the containers of the application. There can be one container per window.
|
|
66
|
+
*/
|
|
67
|
+
readonly containers: Iterable<HTMLElement>;
|
|
68
|
+
/**
|
|
69
|
+
* Get the container for the given window.
|
|
70
|
+
*/
|
|
71
|
+
getContainer(window: Window): HTMLElement;
|
|
72
|
+
/**
|
|
73
|
+
* An offset to use for positioning elements inside the main container.
|
|
74
|
+
*/
|
|
75
|
+
readonly mainContainerOffset: ILayoutOffsetInfo;
|
|
76
|
+
/**
|
|
77
|
+
* An offset to use for positioning elements inside the container.
|
|
47
78
|
*/
|
|
48
|
-
readonly
|
|
79
|
+
readonly activeContainerOffset: ILayoutOffsetInfo;
|
|
49
80
|
/**
|
|
50
|
-
* Focus the primary component of the container.
|
|
81
|
+
* Focus the primary component of the active container.
|
|
51
82
|
*/
|
|
52
83
|
focus(): void;
|
|
53
84
|
}
|
|
@@ -17,6 +17,9 @@ let RequestService = class RequestService extends AbstractRequestService {
|
|
|
17
17
|
async resolveProxy(url) {
|
|
18
18
|
return undefined;
|
|
19
19
|
}
|
|
20
|
+
async loadCertificates() {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
20
23
|
};
|
|
21
24
|
RequestService = ( __decorate([
|
|
22
25
|
( __param(0, IConfigurationService)),
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { bufferToStream } from 'monaco-editor/esm/vs/base/common/buffer.js';
|
|
2
|
+
class RequestChannelClient {
|
|
3
|
+
constructor(channel) {
|
|
4
|
+
this.channel = channel;
|
|
5
|
+
}
|
|
6
|
+
async request(options, token) {
|
|
7
|
+
const [res, buffer] = await this.channel.call('request', [options], token);
|
|
8
|
+
return { res, stream: bufferToStream(buffer) };
|
|
9
|
+
}
|
|
10
|
+
async resolveProxy(url) {
|
|
11
|
+
return this.channel.call('resolveProxy', [url]);
|
|
12
|
+
}
|
|
13
|
+
async loadCertificates() {
|
|
14
|
+
return this.channel.call('loadCertificates');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export { RequestChannelClient };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RunOnceScheduler,
|
|
1
|
+
import { RunOnceScheduler, runWhenGlobalIdle, Promises } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
2
2
|
import { PauseableEmitter, Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
3
3
|
import { Disposable, MutableDisposable, dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
4
4
|
import { mark } from 'monaco-editor/esm/vs/base/common/performance.js';
|
|
@@ -53,7 +53,7 @@ class AbstractStorageService extends Disposable {
|
|
|
53
53
|
return Event.filter(this._onDidChangeValue.event, e => e.scope === scope && (key === undefined || e.key === key), disposable);
|
|
54
54
|
}
|
|
55
55
|
doFlushWhenIdle() {
|
|
56
|
-
this.runFlushWhenIdle.value =
|
|
56
|
+
this.runFlushWhenIdle.value = runWhenGlobalIdle(() => {
|
|
57
57
|
if (this.shouldFlushWhenIdle()) {
|
|
58
58
|
this.flush();
|
|
59
59
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
2
|
+
import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
3
|
+
class BufferMarkCapability extends Disposable {
|
|
4
|
+
constructor(_terminal) {
|
|
5
|
+
super();
|
|
6
|
+
this._terminal = _terminal;
|
|
7
|
+
this.type = 4 ;
|
|
8
|
+
this._idToMarkerMap = ( new Map());
|
|
9
|
+
this._anonymousMarkers = ( new Map());
|
|
10
|
+
this._onMarkAdded = this._register(( new Emitter()));
|
|
11
|
+
this.onMarkAdded = this._onMarkAdded.event;
|
|
12
|
+
}
|
|
13
|
+
*markers() {
|
|
14
|
+
for (const m of ( this._idToMarkerMap.values())) {
|
|
15
|
+
yield m;
|
|
16
|
+
}
|
|
17
|
+
for (const m of ( this._anonymousMarkers.values())) {
|
|
18
|
+
yield m;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
addMark(properties) {
|
|
22
|
+
const marker = properties?.marker || this._terminal.registerMarker();
|
|
23
|
+
const id = properties?.id;
|
|
24
|
+
if (!marker) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (id) {
|
|
28
|
+
this._idToMarkerMap.set(id, marker);
|
|
29
|
+
marker.onDispose(() => this._idToMarkerMap.delete(id));
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this._anonymousMarkers.set(marker.id, marker);
|
|
33
|
+
marker.onDispose(() => this._anonymousMarkers.delete(marker.id));
|
|
34
|
+
}
|
|
35
|
+
this._onMarkAdded.fire({ marker, id, hidden: properties?.hidden, hoverMessage: properties?.hoverMessage });
|
|
36
|
+
}
|
|
37
|
+
getMark(id) {
|
|
38
|
+
return this._idToMarkerMap.get(id);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export { BufferMarkCapability };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Event } from '../../../../base/common/event.js';
|
|
2
2
|
import { IDisposable } from '../../../../base/common/lifecycle.js';
|
|
3
|
-
import { ICurrentPartialCommand } from './
|
|
3
|
+
import { ICurrentPartialCommand } from './commandDetection/terminalCommand.js';
|
|
4
4
|
import { ITerminalOutputMatcher, ITerminalOutputMatch } from '../terminal.js';
|
|
5
5
|
|
|
6
6
|
interface IEvent<T, U = void> {
|
|
@@ -159,6 +159,7 @@ interface ICommandDetectionCapability {
|
|
|
159
159
|
* case the terminal's initial cwd should be used.
|
|
160
160
|
*/
|
|
161
161
|
getCwdForLine(line: number): string | undefined;
|
|
162
|
+
getCommandForLine(line: number): ITerminalCommand | ICurrentPartialCommand | undefined;
|
|
162
163
|
handlePromptStart(options?: IHandleCommandOptions): void;
|
|
163
164
|
handleContinuationStart(): void;
|
|
164
165
|
handleContinuationEnd(): void;
|
|
@@ -167,7 +168,6 @@ interface ICommandDetectionCapability {
|
|
|
167
168
|
handleCommandStart(options?: IHandleCommandOptions): void;
|
|
168
169
|
handleCommandExecuted(options?: IHandleCommandOptions): void;
|
|
169
170
|
handleCommandFinished(exitCode?: number, options?: IHandleCommandOptions): void;
|
|
170
|
-
invalidateCurrentCommand(request: ICommandInvalidationRequest): void;
|
|
171
171
|
/**
|
|
172
172
|
* Set the command line explicitly.
|
|
173
173
|
* @param commandLine The command line being set.
|
|
@@ -213,20 +213,25 @@ interface IBaseTerminalCommand {
|
|
|
213
213
|
exitCode: number | undefined;
|
|
214
214
|
commandStartLineContent: string | undefined;
|
|
215
215
|
markProperties: IMarkProperties | undefined;
|
|
216
|
+
executedX: number | undefined;
|
|
217
|
+
startX: number | undefined;
|
|
216
218
|
}
|
|
217
219
|
interface ITerminalCommand extends IBaseTerminalCommand {
|
|
218
|
-
|
|
220
|
+
readonly promptStartMarker?: IMarker;
|
|
221
|
+
readonly marker?: IXtermMarker;
|
|
219
222
|
endMarker?: IXtermMarker;
|
|
220
|
-
executedMarker?: IXtermMarker;
|
|
221
|
-
aliases?: string[][];
|
|
222
|
-
wasReplayed?: boolean;
|
|
223
|
+
readonly executedMarker?: IXtermMarker;
|
|
224
|
+
readonly aliases?: string[][];
|
|
225
|
+
readonly wasReplayed?: boolean;
|
|
223
226
|
getOutput(): string | undefined;
|
|
224
227
|
getOutputMatch(outputMatcher: ITerminalOutputMatcher): ITerminalOutputMatch | undefined;
|
|
225
228
|
hasOutput(): boolean;
|
|
229
|
+
getPromptRowCount(): number;
|
|
230
|
+
getCommandRowCount(): number;
|
|
226
231
|
}
|
|
227
232
|
interface ISerializedTerminalCommand extends IBaseTerminalCommand {
|
|
228
233
|
startLine: number | undefined;
|
|
229
|
-
|
|
234
|
+
promptStartLine: number | undefined;
|
|
230
235
|
endLine: number | undefined;
|
|
231
236
|
executedLine: number | undefined;
|
|
232
237
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { IMarker } from '
|
|
1
|
+
import { IMarker } from '../capabilities.js';
|
|
2
2
|
|
|
3
3
|
interface ICurrentPartialCommand {
|
|
4
|
-
previousCommandMarker?: IMarker;
|
|
5
4
|
promptStartMarker?: IMarker;
|
|
6
5
|
commandStartMarker?: IMarker;
|
|
7
6
|
commandStartX?: number;
|
|
@@ -27,6 +26,8 @@ interface ICurrentPartialCommand {
|
|
|
27
26
|
* event from firing.
|
|
28
27
|
*/
|
|
29
28
|
isInvalid?: boolean;
|
|
29
|
+
getPromptRowCount(): number;
|
|
30
|
+
getCommandRowCount(): number;
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
export type { ICurrentPartialCommand };
|