@codingame/monaco-vscode-api 2.0.3 → 2.1.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/api.js +15 -12
- package/extensions.d.ts +4 -7
- package/external/@xterm/xterm/typings/xterm.d.ts +22 -0
- package/missing-services.js +62 -6
- package/package.json +8 -8
- package/service-override/tools/editor.js +14 -0
- package/services.d.ts +3 -2
- package/services.js +6 -4
- package/vscode/src/vs/base/browser/browser.js +45 -30
- package/vscode/src/vs/base/browser/canIUse.js +1 -1
- package/vscode/src/vs/base/browser/defaultWorkerFactory.js +12 -5
- package/vscode/src/vs/base/browser/dom.js +104 -14
- package/vscode/src/vs/base/browser/indexedDB.js +3 -3
- package/vscode/src/vs/base/browser/markdownRenderer.js +29 -1
- package/vscode/src/vs/base/browser/mouseEvent.js +17 -3
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +3 -3
- package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.css.js +4 -0
- package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +287 -0
- package/vscode/src/vs/base/browser/ui/button/button.js +9 -0
- package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/dialog/dialog.js +1 -1
- package/vscode/src/vs/base/browser/ui/iconLabel/iconLabelHover.js +16 -5
- package/vscode/src/vs/base/browser/ui/list/listView.js +31 -11
- package/vscode/src/vs/base/browser/ui/list/listWidget.js +35 -21
- package/vscode/src/vs/base/browser/ui/menu/menu.js +10 -1
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +8 -4
- package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +6 -5
- package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +469 -95
- package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +22 -7
- package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +0 -5
- package/vscode/src/vs/base/browser/ui/tree/media/tree.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/tree/objectTree.js +70 -4
- package/vscode/src/vs/base/common/assert.js +6 -1
- package/vscode/src/vs/base/common/async.js +31 -6
- package/vscode/src/vs/base/common/codicons.js +5 -0
- package/vscode/src/vs/base/common/event.d.ts +0 -5
- package/vscode/src/vs/base/common/event.js +0 -15
- package/vscode/src/vs/base/common/filters.d.ts +1 -18
- package/vscode/src/vs/base/common/htmlContent.js +12 -6
- package/vscode/src/vs/base/common/iterator.js +8 -0
- package/vscode/src/vs/base/common/labels.js +2 -1
- package/vscode/src/vs/base/common/map.js +20 -1
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +4 -0
- package/vscode/src/vs/base/common/observableInternal/base.js +16 -8
- package/vscode/src/vs/base/common/observableInternal/derived.js +4 -6
- package/vscode/src/vs/base/common/observableInternal/utils.js +60 -5
- package/vscode/src/vs/base/common/platform.js +20 -20
- package/vscode/src/vs/base/common/prefixTree.js +4 -3
- package/vscode/src/vs/base/common/product.d.ts +5 -2
- package/vscode/src/vs/base/common/strings.js +23 -7
- package/vscode/src/vs/base/common/themables.js +4 -1
- package/vscode/src/vs/base/common/uri.js +11 -1
- package/vscode/src/vs/base/common/worker/simpleWorker.js +1 -1
- package/vscode/src/vs/editor/browser/config/migrateOptions.js +5 -0
- package/vscode/src/vs/editor/browser/controller/mouseHandler.js +1 -0
- package/vscode/src/vs/editor/browser/controller/mouseTarget.js +14 -8
- package/vscode/src/vs/editor/browser/controller/pointerHandler.js +18 -11
- package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
- package/vscode/src/vs/editor/browser/controller/textAreaInput.js +3 -3
- package/vscode/src/vs/{workbench/services/hover/browser → editor/browser/services}/hoverService.d.ts +7 -6
- package/vscode/src/vs/editor/browser/services/hoverService.js +195 -0
- package/vscode/src/vs/editor/browser/view.js +29 -39
- package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +41 -19
- package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +30 -23
- package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +23 -8
- package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +8 -1
- package/vscode/src/vs/editor/browser/viewParts/marginDecorations/marginDecorations.js +7 -1
- package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +30 -3
- package/vscode/src/vs/editor/browser/widget/codeEditorWidget.js +39 -15
- package/vscode/src/vs/editor/browser/widget/diffEditor/{accessibleDiffViewer.css.js → components/accessibleDiffViewer.css.js} +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/{accessibleDiffViewer.js → components/accessibleDiffViewer.js} +43 -43
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +89 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/{diffEditorEditors.js → components/diffEditorEditors.js} +14 -14
- package/vscode/src/vs/editor/browser/widget/diffEditor/{diffEditorSash.js → components/diffEditorSash.js} +5 -5
- package/vscode/src/vs/editor/browser/widget/diffEditor/{lineAlignment.js → components/diffEditorViewZones/diffEditorViewZones.js} +38 -28
- package/vscode/src/vs/editor/browser/widget/diffEditor/{inlineDiffDeletedCodeMargin.js → components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js} +14 -14
- package/vscode/src/vs/editor/browser/widget/diffEditor/{renderLines.js → components/diffEditorViewZones/renderLines.js} +7 -7
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +29 -38
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +150 -38
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +17 -16
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +104 -6
- package/vscode/src/vs/editor/browser/widget/diffEditor/{hideUnchangedRegionsFeature.js → features/hideUnchangedRegionsFeature.js} +51 -78
- package/vscode/src/vs/editor/browser/widget/diffEditor/{movedBlocksLines.js → features/movedBlocksLinesFeature.js} +23 -23
- package/vscode/src/vs/editor/browser/widget/diffEditor/{overviewRulerPart.js → features/overviewRulerFeature.js} +28 -28
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +145 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/{decorations.js → registrations.contribution.js} +18 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +10 -2
- package/vscode/src/vs/editor/browser/widget/hoverWidget/hover.css.js +4 -0
- package/vscode/src/vs/editor/browser/widget/hoverWidget/hoverWidget.js +527 -0
- package/vscode/src/vs/editor/{contrib → browser/widget}/markdownRenderer/browser/markdownRenderer.js +11 -11
- package/vscode/src/vs/editor/{contrib → browser/widget}/markdownRenderer/browser/renderedMarkdown.css.js +1 -1
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +11 -10
- package/vscode/src/vs/editor/common/config/editorOptions.js +46 -42
- package/vscode/src/vs/editor/common/core/editorColorRegistry.js +3 -3
- package/vscode/src/vs/editor/common/core/offsetRange.d.ts +2 -0
- package/vscode/src/vs/editor/common/core/offsetRange.js +8 -0
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +9 -0
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +50 -47
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +4 -1
- package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +2 -1
- package/vscode/src/vs/editor/common/diff/rangeMapping.js +13 -2
- package/vscode/src/vs/editor/common/languages.d.ts +10 -2
- package/vscode/src/vs/editor/common/model/textModel.js +19 -13
- package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +1 -1
- package/vscode/src/vs/editor/common/model.d.ts +19 -1
- package/vscode/src/vs/editor/common/model.js +2 -1
- package/vscode/src/vs/editor/common/services/editorSimpleWorker.js +2 -1
- package/vscode/src/vs/editor/common/services/getIconClasses.js +4 -1
- package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +3 -3
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +9 -8
- package/vscode/src/vs/editor/common/standaloneStrings.js +18 -18
- package/vscode/src/vs/editor/common/viewEvents.js +2 -0
- package/vscode/src/vs/editor/common/viewModel/glyphLanesModel.js +55 -0
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +4 -1
- package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +5 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +1 -0
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +46 -20
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +1 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +38 -11
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +56 -101
- package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.js +3 -2
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +2 -2
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +10 -29
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +4 -4
- package/vscode/src/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +51 -0
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +19 -1
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +38 -10
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +29 -1
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/edit.js +10 -3
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +3 -17
- package/vscode/src/vs/editor/contrib/find/browser/findController.js +3 -35
- package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +26 -6
- package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +6 -6
- package/vscode/src/vs/editor/contrib/format/browser/format.js +9 -9
- package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +5 -5
- package/vscode/src/vs/editor/contrib/gotoError/browser/media/gotoErrorWidget.css.js +1 -1
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +2 -2
- package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +85 -76
- package/vscode/src/vs/editor/contrib/hover/browser/hover.js +120 -90
- package/vscode/src/vs/editor/contrib/hover/browser/marginHover.js +18 -6
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +1 -1
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +2 -2
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHints.js +4 -2
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +56 -38
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +12 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +4 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +2 -2
- package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +50 -53
- package/vscode/src/vs/editor/contrib/message/browser/messageController.js +5 -2
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +5 -1
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +4 -4
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +8 -5
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +58 -46
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +34 -7
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +30 -38
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +11 -3
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +18 -7
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +8 -10
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +7 -6
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -0
- package/vscode/src/vs/editor/editor.api.d.ts +82 -11
- package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +8 -3
- package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +4 -3
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +22 -11
- package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +1 -1
- package/vscode/src/vs/nls.d.ts +6 -0
- package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +4 -1
- package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +2 -16
- package/vscode/src/vs/platform/accessibility/common/accessibility.js +1 -2
- package/vscode/src/vs/platform/action/common/actionCommonCategories.d.ts +7 -20
- package/vscode/src/vs/platform/action/common/actionCommonCategories.js +8 -8
- package/vscode/src/vs/platform/actionWidget/browser/actionList.js +0 -1
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css.js +1 -1
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -0
- package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +5 -0
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +2 -2
- package/vscode/src/vs/platform/actions/common/actions.d.ts +9 -1
- package/vscode/src/vs/platform/actions/common/actions.js +12 -1
- package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +11 -1
- package/vscode/src/vs/platform/audioCues/browser/audioCueService.js +174 -28
- package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +38 -5
- package/vscode/src/vs/platform/configuration/common/configuration.d.ts +0 -1
- package/vscode/src/vs/platform/environment/common/environmentService.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +5 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +24 -5
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +6 -1
- package/vscode/src/vs/{workbench/services → platform}/hover/browser/hover.d.ts +6 -8
- package/vscode/src/vs/platform/hover/browser/hover.js +3 -0
- package/vscode/src/vs/platform/instantiation/common/instantiationService.js +14 -4
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +11 -4
- package/vscode/src/vs/platform/keybinding/common/keybinding.d.ts +7 -0
- package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +6 -0
- package/vscode/src/vs/platform/list/browser/listService.js +7 -5
- package/vscode/src/vs/platform/log/common/bufferLog.js +1 -0
- package/vscode/src/vs/platform/log/common/log.d.ts +0 -1
- package/vscode/src/vs/platform/log/common/log.js +1 -2
- package/vscode/src/vs/platform/notification/common/notification.d.ts +36 -19
- package/vscode/src/vs/platform/notification/common/notification.js +9 -3
- package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +4 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +50 -48
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +3 -5
- package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +49 -66
- package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +11 -3
- package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +16 -2
- package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +230 -26
- package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.d.ts +1 -0
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -0
- package/vscode/src/vs/platform/theme/browser/defaultStyles.js +5 -3
- package/vscode/src/vs/platform/theme/common/colorRegistry.js +28 -9
- package/vscode/src/vs/platform/tunnel/common/tunnel.d.ts +2 -0
- package/vscode/src/vs/platform/window/common/window.js +14 -8
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +97 -78
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +1 -22
- package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -6
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +31 -36
- package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostComments.js +6 -1
- package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.js +1 -0
- package/vscode/src/vs/workbench/api/common/extHostDebugService.js +130 -6
- package/vscode/src/vs/workbench/api/common/extHostDocumentContentProviders.js +28 -15
- package/vscode/src/vs/workbench/api/common/extHostDocuments.js +4 -5
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +5 -1
- package/vscode/src/vs/workbench/api/common/extHostFileSystem.js +1 -2
- package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +35 -33
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +40 -13
- package/vscode/src/vs/workbench/api/common/extHostMessageService.js +10 -1
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +11 -7
- package/vscode/src/vs/workbench/api/common/extHostNotebookEditors.js +2 -3
- package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +29 -4
- package/vscode/src/vs/workbench/api/common/extHostProfileContentHandler.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostProgress.js +1 -7
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +49 -93
- package/vscode/src/vs/workbench/api/common/extHostSpeech.js +21 -0
- package/vscode/src/vs/workbench/api/common/extHostTask.js +18 -22
- 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 +55 -36
- package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +5 -2
- package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +6 -7
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +6 -3
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +4 -2
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +74 -12
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +27 -8
- package/vscode/src/vs/workbench/api/worker/extHostConsoleForwarder.js +1 -1
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +172 -103
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +13 -17
- package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +34 -34
- package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
- package/vscode/src/vs/workbench/browser/dnd.js +2 -2
- package/vscode/src/vs/workbench/browser/labels.js +34 -4
- package/vscode/src/vs/workbench/browser/part.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +801 -0
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +140 -0
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +410 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editor.js +1 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +304 -303
- package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +101 -47
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +114 -47
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +1313 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +190 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +344 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +10 -10
- package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +27 -42
- package/vscode/src/vs/workbench/browser/parts/editor/editorTitleControl.js +152 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +8 -8
- package/vscode/src/vs/workbench/browser/parts/editor/media/breadcrumbscontrol.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/media/editorgroupview.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/media/editortitlecontrol.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/media/singleeditortabscontrol.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +1626 -0
- package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +150 -0
- package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.js +52 -0
- package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +260 -0
- package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +39 -36
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +68 -28
- package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +15 -14
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +18 -17
- package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +7 -10
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +2 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.d.ts +2 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +18 -17
- package/vscode/src/vs/workbench/browser/quickaccess.js +33 -1
- package/vscode/src/vs/workbench/browser/web.api.d.ts +6 -0
- package/vscode/src/vs/workbench/browser/window.js +92 -9
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +114 -65
- package/vscode/src/vs/workbench/common/component.d.ts +5 -1
- package/vscode/src/vs/workbench/common/component.js +6 -0
- package/vscode/src/vs/workbench/common/configuration.js +11 -1
- package/vscode/src/vs/workbench/common/contextkeys.js +8 -4
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +6 -0
- package/vscode/src/vs/workbench/common/editor/editorInput.js +3 -0
- package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +107 -0
- package/vscode/src/vs/workbench/common/editor/resourceEditorInput.d.ts +6 -3
- package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +21 -3
- package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +9 -6
- package/vscode/src/vs/workbench/common/editor.d.ts +16 -4
- package/vscode/src/vs/workbench/common/editor.js +7 -1
- package/vscode/src/vs/workbench/common/memento.js +33 -12
- package/vscode/src/vs/workbench/common/notifications.js +30 -7
- package/vscode/src/vs/workbench/common/theme.js +61 -1
- package/vscode/src/vs/workbench/common/views.d.ts +1 -28
- package/vscode/src/vs/workbench/common/views.js +1 -2
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +232 -19
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +9 -9
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +1 -0
- package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +19 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +8 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +57 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +31 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +93 -49
- package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +30 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +24 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +9 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +21 -43
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +0 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/{comments.contribution.js → commentsAccessibility.js} +36 -128
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +41 -18
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +202 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +27 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +165 -52
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +48 -31
- package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +6 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +40 -10
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +28 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debugContext.js +14 -0
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +52 -23
- package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +164 -0
- package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +10 -0
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +285 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +123 -78
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +10 -0
- package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +3 -19
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +1 -2
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +8 -9
- package/vscode/src/vs/workbench/contrib/files/browser/files.configuration.contribution.js +70 -2
- package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +34 -17
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +5 -4
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +48 -14
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +16 -8
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +317 -321
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +17 -24
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingService.js +3 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +306 -130
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +3 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +385 -613
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +69 -64
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +71 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -44
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +5 -3
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookEditorStickyScroll.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +38 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +36 -8
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +32 -12
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +24 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbarStickyScroll.js +1 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +264 -12
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +60 -27
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +12 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +12 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +6 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +1 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +188 -155
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +10 -3
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +16 -33
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +9 -7
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +6 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookKernelService.js +2 -1
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +29 -14
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +15 -3
- package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +2 -2
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +22 -6
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +16 -17
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +78 -50
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +15 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +25 -45
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +12 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +2 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +33 -36
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +3 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +5 -8
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +15 -27
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +3 -3
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +38 -22
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +5 -2
- package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.js +60 -40
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
- package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js +15 -11
- package/vscode/src/vs/workbench/contrib/testing/common/testService.js +26 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +24 -23
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +1 -1
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +124 -26
- package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +68 -0
- package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +76 -36
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +1 -0
- package/vscode/src/vs/workbench/services/editor/browser/editorService.js +15 -3
- package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.js +10 -1
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +51 -43
- package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +13 -8
- package/vscode/src/vs/workbench/services/editor/common/editorService.js +2 -1
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +10 -10
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +7 -7
- package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -0
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.d.ts +29 -9
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +160 -63
- package/vscode/src/vs/workbench/services/host/browser/host.d.ts +8 -0
- package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +60 -72
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +0 -4
- package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +56 -0
- package/vscode/src/vs/workbench/services/output/common/output.js +2 -2
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +10 -0
- package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +10 -0
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +2 -1
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +5 -4
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +21 -8
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +4 -0
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +3 -0
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +4 -4
- package/vscode/src/vs/workbench/{browser/parts/views → services/views/browser}/viewsService.js +20 -15
- package/vscode/src/vs/workbench/services/views/common/viewsService.d.ts +34 -0
- package/vscode/src/vs/workbench/services/{hover/browser/hover.js → views/common/viewsService.js} +2 -2
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +6 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +5 -2
- package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +1 -0
- package/vscode-dts/vscode.proposed.chatAgents2.d.ts +112 -47
- package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +68 -9
- package/vscode-dts/{vscode.proposed.scmInputBoxActionButton.d.ts → vscode.proposed.codeActionRanges.d.ts} +8 -10
- package/vscode-dts/{vscode.proposed.readonlyMessage.d.ts → vscode.proposed.commentReactor.d.ts} +3 -4
- package/vscode-dts/vscode.proposed.contribMultiDiffEditorMenus.d.ts +6 -0
- package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemGroupMenu.d.ts +8 -0
- package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemMenu.d.ts +8 -0
- package/vscode-dts/vscode.proposed.debugVisualization.d.ts +100 -0
- package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +1 -1
- package/vscode-dts/vscode.proposed.interactive.d.ts +13 -16
- package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +4 -1
- package/vscode-dts/vscode.proposed.resolvers.d.ts +4 -0
- package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +4 -10
- package/vscode-dts/vscode.proposed.scmMultiDiffEditor.d.ts +34 -0
- package/vscode-dts/vscode.proposed.speech.d.ts +17 -3
- package/vscode-dts/vscode.proposed.testCoverage.d.ts +7 -1
- package/vscode-dts/vscode.proposed.tunnelFactory.d.ts +4 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/colors.js +0 -17
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorDecorations.js +0 -231
- package/vscode/src/vs/editor/browser/widget/diffEditor/outlineModel.js +0 -299
- package/vscode/src/vs/editor/browser/widget/diffEditor/workerBasedDocumentDiffProvider.js +0 -101
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +0 -390
- package/vscode/src/vs/workbench/services/editor/common/editorGroupColumn.d.ts +0 -10
- package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +0 -4
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.d.ts +0 -28
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +0 -10
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.d.ts +0 -30
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +0 -98
- package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.d.ts +0 -10
- package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +0 -428
- package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +0 -83
- package/vscode-dts/vscode.proposed.chatVariables.d.ts +0 -39
- package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +0 -77
- package/vscode-dts/vscode.proposed.saveEditor.d.ts +0 -35
- package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +0 -25
- package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +0 -21
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
2
|
import { MarkdownString } from '../../../../base/common/htmlContent.js';
|
|
3
|
-
import { compare,
|
|
3
|
+
import { compare, compareSubstring } from '../../../../base/common/strings.js';
|
|
4
|
+
import { Position } from '../../../../editor/common/core/position.js';
|
|
4
5
|
import { Range } from '../../../../editor/common/core/range.js';
|
|
5
6
|
import { ILanguageService } from '../../../../editor/common/languages/language.js';
|
|
6
7
|
import { SnippetParser } from '../../../../editor/contrib/snippet/browser/snippetParser.js';
|
|
@@ -10,7 +11,6 @@ import { Snippet } from './snippetsFile.js';
|
|
|
10
11
|
import { isPatternInWord } from '../../../../base/common/filters.js';
|
|
11
12
|
import { StopWatch } from '../../../../base/common/stopwatch.js';
|
|
12
13
|
import { ILanguageConfigurationService } from '../../../../editor/common/languages/languageConfigurationRegistry.js';
|
|
13
|
-
import { getWordAtText } from '../../../../editor/common/core/wordHelper.js';
|
|
14
14
|
import { CommandsRegistry } from '../../../../platform/commands/common/commands.js';
|
|
15
15
|
const markSnippetAsUsed = '_snippet.markAsUsed';
|
|
16
16
|
CommandsRegistry.registerCommand(markSnippetAsUsed, (accessor, ...args) => {
|
|
@@ -56,63 +56,68 @@ let SnippetCompletionProvider = class SnippetCompletionProvider {
|
|
|
56
56
|
}
|
|
57
57
|
async provideCompletionItems(model, position, context) {
|
|
58
58
|
const sw = ( new StopWatch());
|
|
59
|
+
const line = position.lineNumber;
|
|
60
|
+
const word = model.getWordAtPosition(position) ?? { startColumn: position.column, endColumn: position.column, word: '' };
|
|
61
|
+
const lineContentLow = model.getLineContent(position.lineNumber).toLowerCase();
|
|
62
|
+
const lineContentWithWordLow = lineContentLow.substring(0, word.startColumn + word.word.length - 1);
|
|
63
|
+
const anchors = this._computeSnippetPositions(model, line, word, lineContentWithWordLow);
|
|
64
|
+
const columnOffset = position.column - 1;
|
|
65
|
+
const triggerCharacterLow = context.triggerCharacter?.toLowerCase() ?? '';
|
|
59
66
|
const languageId = this._getLanguageIdAtPosition(model, position);
|
|
60
67
|
const languageConfig = this._languageConfigurationService.getLanguageConfiguration(languageId);
|
|
61
68
|
const snippets = ( new Set(await this._snippets.getSnippets(languageId)));
|
|
62
|
-
const lineContentLow = model.getLineContent(position.lineNumber).toLowerCase();
|
|
63
|
-
const wordUntil = model.getWordUntilPosition(position).word.toLowerCase();
|
|
64
69
|
const suggestions = [];
|
|
65
|
-
const
|
|
66
|
-
const triggerCharacterLow = context.triggerCharacter?.toLowerCase() ?? '';
|
|
67
|
-
snippet: for (const snippet of snippets) {
|
|
70
|
+
for (const snippet of snippets) {
|
|
68
71
|
if (context.triggerKind === 1 && !snippet.prefixLow.startsWith(triggerCharacterLow)) {
|
|
69
|
-
continue
|
|
70
|
-
}
|
|
71
|
-
const word = getWordAtText(1, languageConfig.getWordDefinition(), snippet.prefixLow, 0);
|
|
72
|
-
if (wordUntil && word && !isPatternInWord(wordUntil, 0, wordUntil.length, snippet.prefixLow, 0, snippet.prefixLow.length)) {
|
|
73
|
-
continue snippet;
|
|
72
|
+
continue;
|
|
74
73
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if (!isPatternInWord(lineContentLow, pos, columnOffset, snippet.prefixLow, 0, snippet.prefixLow.length)) {
|
|
80
|
-
continue column;
|
|
74
|
+
let candidate;
|
|
75
|
+
for (const anchor of anchors) {
|
|
76
|
+
if (anchor.prefixLow.match(/^\s/) && !snippet.prefixLow.match(/^\s/)) {
|
|
77
|
+
continue;
|
|
81
78
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
if (wordUntil && position.equals(startPosition)) {
|
|
86
|
-
continue snippet;
|
|
79
|
+
if (isPatternInWord(anchor.prefixLow, 0, anchor.prefixLow.length, snippet.prefixLow, 0, snippet.prefixLow.length)) {
|
|
80
|
+
candidate = anchor;
|
|
81
|
+
break;
|
|
87
82
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
83
|
+
}
|
|
84
|
+
if (!candidate) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
const pos = candidate.startColumn - 1;
|
|
88
|
+
const prefixRestLen = snippet.prefixLow.length - (columnOffset - pos);
|
|
89
|
+
const endsWithPrefixRest = compareSubstring(lineContentLow, snippet.prefixLow, columnOffset, columnOffset + prefixRestLen, columnOffset - pos);
|
|
90
|
+
const startPosition = position.with(undefined, pos + 1);
|
|
91
|
+
let endColumn = endsWithPrefixRest === 0 ? position.column + prefixRestLen : position.column;
|
|
92
|
+
if (columnOffset < lineContentLow.length) {
|
|
93
|
+
const autoClosingPairs = languageConfig.getAutoClosingPairs();
|
|
94
|
+
const standardAutoClosingPairConditionals = autoClosingPairs.autoClosingPairsCloseSingleChar.get(lineContentLow[columnOffset]);
|
|
95
|
+
if (standardAutoClosingPairConditionals?.some(p =>
|
|
96
|
+
p.open === lineContentLow[startPosition.column - 1] &&
|
|
97
|
+
snippet.prefix.startsWith(p.open) &&
|
|
98
|
+
snippet.prefix[snippet.prefix.length - 1] === p.close)) {
|
|
99
|
+
endColumn++;
|
|
98
100
|
}
|
|
99
|
-
const replace = Range.fromPositions(startPosition, { lineNumber: position.lineNumber, column: endColumn });
|
|
100
|
-
const insert = replace.setEndPosition(position.lineNumber, position.column);
|
|
101
|
-
suggestions.push(( new SnippetCompletion(snippet, { replace, insert })));
|
|
102
|
-
snippets.delete(snippet);
|
|
103
|
-
break;
|
|
104
101
|
}
|
|
102
|
+
const replace = Range.fromPositions({ lineNumber: line, column: candidate.startColumn }, { lineNumber: line, column: endColumn });
|
|
103
|
+
const insert = replace.setEndPosition(line, position.column);
|
|
104
|
+
suggestions.push(( new SnippetCompletion(snippet, { replace, insert })));
|
|
105
|
+
snippets.delete(snippet);
|
|
105
106
|
}
|
|
106
|
-
if (!triggerCharacterLow) {
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
const replace = lineContentLow.indexOf(snippet.prefixLow, columnOffset) === columnOffset ? insert.setEndPosition(position.lineNumber, position.column + snippet.prefixLow.length) : insert;
|
|
112
|
-
suggestions.push(( new SnippetCompletion(snippet, { replace, insert })));
|
|
113
|
-
}
|
|
107
|
+
if (!triggerCharacterLow && ((/\s/.test(lineContentLow[position.column - 2]) || !lineContentLow) )) {
|
|
108
|
+
for (const snippet of snippets) {
|
|
109
|
+
const insert = Range.fromPositions(position);
|
|
110
|
+
const replace = lineContentLow.indexOf(snippet.prefixLow, columnOffset) === columnOffset ? insert.setEndPosition(position.lineNumber, position.column + snippet.prefixLow.length) : insert;
|
|
111
|
+
suggestions.push(( new SnippetCompletion(snippet, { replace, insert })));
|
|
114
112
|
}
|
|
115
113
|
}
|
|
114
|
+
this._disambiguateSnippets(suggestions);
|
|
115
|
+
return {
|
|
116
|
+
suggestions,
|
|
117
|
+
duration: sw.elapsed()
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
_disambiguateSnippets(suggestions) {
|
|
116
121
|
suggestions.sort(SnippetCompletion.compareByLabel);
|
|
117
122
|
for (let i = 0; i < suggestions.length; i++) {
|
|
118
123
|
const item = suggestions[i];
|
|
@@ -137,14 +142,37 @@ let SnippetCompletionProvider = class SnippetCompletionProvider {
|
|
|
137
142
|
i = to;
|
|
138
143
|
}
|
|
139
144
|
}
|
|
140
|
-
return {
|
|
141
|
-
suggestions,
|
|
142
|
-
duration: sw.elapsed()
|
|
143
|
-
};
|
|
144
145
|
}
|
|
145
146
|
resolveCompletionItem(item) {
|
|
146
147
|
return (item instanceof SnippetCompletion) ? item.resolve() : item;
|
|
147
148
|
}
|
|
149
|
+
_computeSnippetPositions(model, line, word, lineContentWithWordLow) {
|
|
150
|
+
const result = [];
|
|
151
|
+
for (let column = 1; column < word.startColumn; column++) {
|
|
152
|
+
const wordInfo = model.getWordAtPosition(( new Position(line, column)));
|
|
153
|
+
result.push({
|
|
154
|
+
startColumn: column,
|
|
155
|
+
prefixLow: lineContentWithWordLow.substring(column - 1),
|
|
156
|
+
isWord: Boolean(wordInfo)
|
|
157
|
+
});
|
|
158
|
+
if (wordInfo) {
|
|
159
|
+
column = wordInfo.endColumn;
|
|
160
|
+
result.push({
|
|
161
|
+
startColumn: wordInfo.endColumn,
|
|
162
|
+
prefixLow: lineContentWithWordLow.substring(wordInfo.endColumn - 1),
|
|
163
|
+
isWord: false
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (word.word.length > 0 || result.length === 0) {
|
|
168
|
+
result.push({
|
|
169
|
+
startColumn: word.startColumn,
|
|
170
|
+
prefixLow: lineContentWithWordLow.substring(word.startColumn - 1),
|
|
171
|
+
isWord: true
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
return result;
|
|
175
|
+
}
|
|
148
176
|
_getLanguageIdAtPosition(model, position) {
|
|
149
177
|
model.tokenization.tokenizeIfCheap(position.lineNumber);
|
|
150
178
|
let languageId = model.getLanguageIdAtPosition(position.lineNumber, position.column);
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
import { localizeWithPath } from '../../../../nls.js';
|
|
2
|
+
import { RawContextKey } from '../../../../platform/contextkey/common/contextkey.js';
|
|
1
3
|
import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js';
|
|
2
4
|
const ISpeechService = ( createDecorator('speechService'));
|
|
3
|
-
|
|
5
|
+
const HasSpeechProvider = ( new RawContextKey('hasSpeechProvider', false, { type: 'string', description: ( localizeWithPath(
|
|
6
|
+
'vs/workbench/contrib/speech/common/speechService',
|
|
7
|
+
'hasSpeechProvider',
|
|
8
|
+
"A speech provider is registered to the speech service."
|
|
9
|
+
)) }));
|
|
10
|
+
var SpeechToTextStatus;
|
|
11
|
+
( (function(SpeechToTextStatus) {
|
|
12
|
+
SpeechToTextStatus[SpeechToTextStatus["Started"] = 1] = "Started";
|
|
13
|
+
SpeechToTextStatus[SpeechToTextStatus["Recognizing"] = 2] = "Recognizing";
|
|
14
|
+
SpeechToTextStatus[SpeechToTextStatus["Recognized"] = 3] = "Recognized";
|
|
15
|
+
SpeechToTextStatus[SpeechToTextStatus["Stopped"] = 4] = "Stopped";
|
|
16
|
+
})(SpeechToTextStatus || (SpeechToTextStatus = {})));
|
|
17
|
+
export { HasSpeechProvider, ISpeechService, SpeechToTextStatus };
|
|
@@ -3,7 +3,7 @@ import { IDimension } from '../../../../base/browser/dom.js';
|
|
|
3
3
|
import { Orientation } from '../../../../base/browser/ui/sash/sash.js';
|
|
4
4
|
import { Color } from '../../../../base/common/color.js';
|
|
5
5
|
import { Event, IDynamicListEventMultiplexer } from '../../../../base/common/event.js';
|
|
6
|
-
import { IDisposable } from '../../../../base/common/lifecycle.js';
|
|
6
|
+
import { DisposableStore, 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
9
|
import { TerminalCapability, ITerminalCapabilityImplMap, IMarkProperties, ITerminalCommand, ITerminalCapabilityStore } from '../../../../platform/terminal/common/capabilities/capabilities.js';
|
|
@@ -11,15 +11,15 @@ import { IMergedEnvironmentVariableCollection } from '../../../../platform/termi
|
|
|
11
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
|
-
import '
|
|
14
|
+
import { GroupIdentifier } from '../../../common/editor.js';
|
|
15
15
|
import { IEditableData } from '../../../common/views.js';
|
|
16
16
|
import { ITerminalStatusList } from './terminalStatusList.js';
|
|
17
17
|
import { XtermTerminal } from './xterm/xtermTerminal.js';
|
|
18
18
|
import { IStartExtensionTerminalRequest, ITerminalProcessExtHostProxy, IRemoteTerminalAttachTarget, ITerminalConfiguration, ITerminalFont, ITerminalProcessInfo } from '../common/terminal.js';
|
|
19
|
-
import {
|
|
20
|
-
import { ISimpleSelectedSuggestion } from '../../../services/suggest/browser/simpleSuggestWidget.js';
|
|
19
|
+
import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';
|
|
21
20
|
import { IMarker, ITheme, Terminal } from '../../../../../../../external/@xterm/xterm/typings/xterm.js';
|
|
22
21
|
import { ScrollPosition } from './xterm/markNavigationAddon.js';
|
|
22
|
+
import { SIDE_GROUP_TYPE, ACTIVE_GROUP_TYPE, AUX_WINDOW_GROUP_TYPE } from '../../../services/editor/common/editorService.js';
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* A terminal contribution that gets created whenever a terminal is created. A contribution has
|
|
@@ -252,7 +252,8 @@ interface ITerminalService extends ITerminalInstanceHost {
|
|
|
252
252
|
acceptsInput?: boolean;
|
|
253
253
|
}): Promise<ITerminalInstance>;
|
|
254
254
|
revealActiveTerminal(preserveFocus?: boolean): Promise<void>;
|
|
255
|
-
moveToEditor(source: ITerminalInstance): void;
|
|
255
|
+
moveToEditor(source: ITerminalInstance, group?: GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE | AUX_WINDOW_GROUP_TYPE): void;
|
|
256
|
+
moveIntoNewEditor(source: ITerminalInstance): void;
|
|
256
257
|
moveToTerminalView(source: ITerminalInstance | URI): Promise<void>;
|
|
257
258
|
getPrimaryBackend(): ITerminalBackend | undefined;
|
|
258
259
|
/**
|
|
@@ -321,7 +322,7 @@ interface ICreateTerminalOptions {
|
|
|
321
322
|
location?: ITerminalLocationOptions;
|
|
322
323
|
}
|
|
323
324
|
interface TerminalEditorLocation {
|
|
324
|
-
viewColumn:
|
|
325
|
+
viewColumn: GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE | AUX_WINDOW_GROUP_TYPE;
|
|
325
326
|
preserveFocus?: boolean;
|
|
326
327
|
}
|
|
327
328
|
/**
|
|
@@ -391,6 +392,11 @@ interface ITerminalInstance extends IBaseTerminalInstance {
|
|
|
391
392
|
readonly usedShellIntegrationInjection: boolean;
|
|
392
393
|
readonly injectedArgs: string[] | undefined;
|
|
393
394
|
readonly extEnvironmentVariableCollection: IMergedEnvironmentVariableCollection | undefined;
|
|
395
|
+
/**
|
|
396
|
+
* The underlying disposable store, allowing objects who share the same lifecycle as the
|
|
397
|
+
* terminal instance but are created externally to be managed by the instance.
|
|
398
|
+
*/
|
|
399
|
+
readonly store: DisposableStore;
|
|
394
400
|
readonly statusList: ITerminalStatusList;
|
|
395
401
|
/**
|
|
396
402
|
* The process ID of the shell process, this is undefined when there is no process associated
|
|
@@ -454,8 +460,9 @@ interface ITerminalInstance extends IBaseTerminalInstance {
|
|
|
454
460
|
onDidBlur: Event<ITerminalInstance>;
|
|
455
461
|
onDidInputData: Event<ITerminalInstance>;
|
|
456
462
|
onDidChangeSelection: Event<ITerminalInstance>;
|
|
457
|
-
|
|
463
|
+
onDidExecuteText: Event<void>;
|
|
458
464
|
onDidChangeTarget: Event<TerminalLocation | undefined>;
|
|
465
|
+
onDidSendText: Event<string>;
|
|
459
466
|
/**
|
|
460
467
|
* An event that fires when a terminal is dropped on this instance via drag and drop.
|
|
461
468
|
*/
|
|
@@ -558,8 +565,9 @@ interface ITerminalInstance extends IBaseTerminalInstance {
|
|
|
558
565
|
shellIntegrationNonce: string;
|
|
559
566
|
/**
|
|
560
567
|
* Registers and returns a marker
|
|
568
|
+
* @param the y offset from the cursor
|
|
561
569
|
*/
|
|
562
|
-
registerMarker(): IMarker | undefined;
|
|
570
|
+
registerMarker(offset?: number): IMarker | undefined;
|
|
563
571
|
/**
|
|
564
572
|
* Adds a marker to the buffer, mapping it to an ID if provided.
|
|
565
573
|
*/
|
|
@@ -610,6 +618,11 @@ interface ITerminalInstance extends IBaseTerminalInstance {
|
|
|
610
618
|
* Focuses and pastes the contents of the selection clipboard into the terminal instance.
|
|
611
619
|
*/
|
|
612
620
|
pasteSelection(): Promise<void>;
|
|
621
|
+
/**
|
|
622
|
+
* Override the copy on selection feature with a custom value.
|
|
623
|
+
* @param value Whether to enable copySelection.
|
|
624
|
+
*/
|
|
625
|
+
overrideCopyOnSelection(value: boolean): IDisposable;
|
|
613
626
|
/**
|
|
614
627
|
* Send text to the terminal instance. The text is written to the stdin of the underlying pty
|
|
615
628
|
* process (shell) of the terminal instance.
|
|
@@ -725,7 +738,7 @@ interface ITerminalInstance extends IBaseTerminalInstance {
|
|
|
725
738
|
/**
|
|
726
739
|
* Sets or triggers a quick pick to change the color of the associated terminal tab icon.
|
|
727
740
|
*/
|
|
728
|
-
changeColor(color?: string): Promise<string | undefined>;
|
|
741
|
+
changeColor(color?: string, skipQuickPick?: boolean): Promise<string | undefined>;
|
|
729
742
|
/**
|
|
730
743
|
* Triggers a quick pick that displays recent commands or cwds. Selecting one will
|
|
731
744
|
* rerun it in the active terminal.
|
|
@@ -737,29 +750,9 @@ interface ITerminalInstance extends IBaseTerminalInstance {
|
|
|
737
750
|
*/
|
|
738
751
|
freePortKillProcess(port: string, commandToRun: string): Promise<void>;
|
|
739
752
|
/**
|
|
740
|
-
*
|
|
741
|
-
*/
|
|
742
|
-
selectPreviousSuggestion(): void;
|
|
743
|
-
/**
|
|
744
|
-
* Selects the previous page suggestion if the suggest widget is visible.
|
|
745
|
-
*/
|
|
746
|
-
selectPreviousPageSuggestion(): void;
|
|
747
|
-
/**
|
|
748
|
-
* Selects the next suggestion if the suggest widget is visible.
|
|
753
|
+
* Update the parent context key service to use for this terminal instance.
|
|
749
754
|
*/
|
|
750
|
-
|
|
751
|
-
/**
|
|
752
|
-
* Selects the next page suggestion if the suggest widget is visible.
|
|
753
|
-
*/
|
|
754
|
-
selectNextPageSuggestion(): void;
|
|
755
|
-
/**
|
|
756
|
-
* Accepts the current suggestion if the suggest widget is visible.
|
|
757
|
-
*/
|
|
758
|
-
acceptSelectedSuggestion(): Promise<void>;
|
|
759
|
-
/**
|
|
760
|
-
* Hides the suggest widget.
|
|
761
|
-
*/
|
|
762
|
-
hideSuggestWidget(): void;
|
|
755
|
+
setParentContextKeyService(parentContextKeyService: IContextKeyService): void;
|
|
763
756
|
}
|
|
764
757
|
interface IXtermAttachToElementOptions {
|
|
765
758
|
/**
|
|
@@ -929,18 +922,5 @@ declare const enum LinuxDistro {
|
|
|
929
922
|
Fedora = 2,
|
|
930
923
|
Ubuntu = 3
|
|
931
924
|
}
|
|
932
|
-
interface ISuggestController {
|
|
933
|
-
selectPreviousSuggestion(): void;
|
|
934
|
-
selectPreviousPageSuggestion(): void;
|
|
935
|
-
selectNextSuggestion(): void;
|
|
936
|
-
selectNextPageSuggestion(): void;
|
|
937
|
-
acceptSelectedSuggestion(suggestion?: Pick<ISimpleSelectedSuggestion, 'item' | 'model'>): void;
|
|
938
|
-
hideSuggestWidget(): void;
|
|
939
|
-
/**
|
|
940
|
-
* Handle data written to the terminal outside of xterm.js which has no corresponding
|
|
941
|
-
* `Terminal.onData` event.
|
|
942
|
-
*/
|
|
943
|
-
handleNonXtermData(data: string): void;
|
|
944
|
-
}
|
|
945
925
|
|
|
946
|
-
export { Direction, type IBaseTerminalInstance, type ICreateTerminalOptions, type IDetachedTerminalInstance, type IDetachedXTermOptions, type IDetachedXtermTerminal, type IInternalXtermTerminal, type IMarkTracker, type IRequestAddInstanceToGroupEvent, type ISearchOptions, type
|
|
926
|
+
export { Direction, type IBaseTerminalInstance, type ICreateTerminalOptions, type IDetachedTerminalInstance, type IDetachedXTermOptions, type IDetachedXtermTerminal, type IInternalXtermTerminal, type IMarkTracker, type IRequestAddInstanceToGroupEvent, type ISearchOptions, 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 };
|
|
@@ -22,6 +22,9 @@ let TerminalEditorInput = class TerminalEditorInput extends EditorInput {
|
|
|
22
22
|
static { this.ID = 'workbench.editors.terminal'; }
|
|
23
23
|
setGroup(group) {
|
|
24
24
|
this._group = group;
|
|
25
|
+
if (group?.scopedContextKeyService) {
|
|
26
|
+
this._terminalInstance?.setParentContextKeyService(group.scopedContextKeyService);
|
|
27
|
+
}
|
|
25
28
|
}
|
|
26
29
|
get group() {
|
|
27
30
|
return this._group;
|
|
@@ -103,6 +106,7 @@ let TerminalEditorInput = class TerminalEditorInput extends EditorInput {
|
|
|
103
106
|
this._instantiationService = _instantiationService;
|
|
104
107
|
this._configurationService = _configurationService;
|
|
105
108
|
this._lifecycleService = _lifecycleService;
|
|
109
|
+
this._contextKeyService = _contextKeyService;
|
|
106
110
|
this._dialogService = _dialogService;
|
|
107
111
|
this.closeHandler = this;
|
|
108
112
|
this._isDetached = false;
|
|
@@ -156,11 +160,17 @@ let TerminalEditorInput = class TerminalEditorInput extends EditorInput {
|
|
|
156
160
|
getName() {
|
|
157
161
|
return this._terminalInstance?.title || this.resource.fragment;
|
|
158
162
|
}
|
|
163
|
+
getIcon() {
|
|
164
|
+
if (!this._terminalInstance || !ThemeIcon.isThemeIcon(this._terminalInstance.icon)) {
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
return this._terminalInstance.icon;
|
|
168
|
+
}
|
|
159
169
|
getLabelExtraClasses() {
|
|
160
170
|
if (!this._terminalInstance) {
|
|
161
171
|
return [];
|
|
162
172
|
}
|
|
163
|
-
const extraClasses = ['terminal-tab'];
|
|
173
|
+
const extraClasses = ['terminal-tab', 'predefined-file-icon'];
|
|
164
174
|
const colorClass = getColorClass(this._terminalInstance);
|
|
165
175
|
if (colorClass) {
|
|
166
176
|
extraClasses.push(colorClass);
|
|
@@ -169,14 +179,12 @@ let TerminalEditorInput = class TerminalEditorInput extends EditorInput {
|
|
|
169
179
|
if (uriClasses) {
|
|
170
180
|
extraClasses.push(...uriClasses);
|
|
171
181
|
}
|
|
172
|
-
if (ThemeIcon.isThemeIcon(this._terminalInstance.icon)) {
|
|
173
|
-
extraClasses.push(`codicon-${this._terminalInstance.icon.id}`);
|
|
174
|
-
}
|
|
175
182
|
return extraClasses;
|
|
176
183
|
}
|
|
177
184
|
detachInstance() {
|
|
178
185
|
if (!this._isShuttingDown) {
|
|
179
186
|
this._terminalInstance?.detachFromElement();
|
|
187
|
+
this._terminalInstance?.setParentContextKeyService(this._contextKeyService);
|
|
180
188
|
this._isDetached = true;
|
|
181
189
|
}
|
|
182
190
|
}
|
|
@@ -57,7 +57,8 @@ function getColorStyleContent(colorTheme, editor) {
|
|
|
57
57
|
const color = colorTheme.getColor(colorKey);
|
|
58
58
|
if (color) {
|
|
59
59
|
if (editor) {
|
|
60
|
-
css += (`.monaco-workbench .show-file-icons .file-icon.terminal-tab.${colorClass}::before
|
|
60
|
+
css += (`.monaco-workbench .show-file-icons .predefined-file-icon.terminal-tab.${colorClass}::before,` +
|
|
61
|
+
`.monaco-workbench .show-file-icons .file-icon.terminal-tab.${colorClass}::before` +
|
|
61
62
|
`{ color: ${color} !important; }`);
|
|
62
63
|
}
|
|
63
64
|
else {
|
|
@@ -266,7 +266,7 @@ let DecorationAddon = class DecorationAddon extends Disposable {
|
|
|
266
266
|
else if (command?.markProperties || markProperties) {
|
|
267
267
|
return [this._terminalDecorationHoverService.createHover(element, command || markProperties, markProperties?.hoverMessage)];
|
|
268
268
|
}
|
|
269
|
-
return [this._createContextMenu(element, command), this._terminalDecorationHoverService.createHover(element, command)];
|
|
269
|
+
return [...this._createContextMenu(element, command), this._terminalDecorationHoverService.createHover(element, command)];
|
|
270
270
|
}
|
|
271
271
|
_updateClasses(element, exitCode, markProperties) {
|
|
272
272
|
if (!element) {
|
|
@@ -298,11 +298,38 @@ let DecorationAddon = class DecorationAddon extends Disposable {
|
|
|
298
298
|
}
|
|
299
299
|
}
|
|
300
300
|
_createContextMenu(element, command) {
|
|
301
|
-
return
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
301
|
+
return [
|
|
302
|
+
addDisposableListener(element, EventType.MOUSE_DOWN, async (e) => {
|
|
303
|
+
e.stopImmediatePropagation();
|
|
304
|
+
}),
|
|
305
|
+
addDisposableListener(element, EventType.CLICK, async (e) => {
|
|
306
|
+
e.stopImmediatePropagation();
|
|
307
|
+
this._terminalDecorationHoverService.hideHover();
|
|
308
|
+
const actions = await this._getCommandActions(command);
|
|
309
|
+
this._contextMenuService.showContextMenu({ getAnchor: () => element, getActions: () => actions });
|
|
310
|
+
}),
|
|
311
|
+
addDisposableListener(element, EventType.CONTEXT_MENU, async (e) => {
|
|
312
|
+
e.stopImmediatePropagation();
|
|
313
|
+
this._terminalDecorationHoverService.hideHover();
|
|
314
|
+
const actions = this._getContextMenuActions();
|
|
315
|
+
this._contextMenuService.showContextMenu({ getAnchor: () => element, getActions: () => actions });
|
|
316
|
+
}),
|
|
317
|
+
];
|
|
318
|
+
}
|
|
319
|
+
_getContextMenuActions() {
|
|
320
|
+
const label = ( localizeWithPath(
|
|
321
|
+
'vs/workbench/contrib/terminal/browser/xterm/decorationAddon',
|
|
322
|
+
'workbench.action.terminal.toggleVisibility',
|
|
323
|
+
"Toggle Visibility"
|
|
324
|
+
));
|
|
325
|
+
return [
|
|
326
|
+
{
|
|
327
|
+
class: undefined, tooltip: label, id: 'terminal.toggleVisibility', label, enabled: true,
|
|
328
|
+
run: async () => {
|
|
329
|
+
this._showToggleVisibilityQuickPick();
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
];
|
|
306
333
|
}
|
|
307
334
|
async _getCommandActions(command) {
|
|
308
335
|
const actions = [];
|
|
@@ -416,15 +443,6 @@ let DecorationAddon = class DecorationAddon extends Disposable {
|
|
|
416
443
|
run: () => this._commandService.executeCommand('workbench.action.terminal.goToRecentDirectory')
|
|
417
444
|
});
|
|
418
445
|
actions.push(( new Separator()));
|
|
419
|
-
const labelConfigure = ( localizeWithPath(
|
|
420
|
-
'vs/workbench/contrib/terminal/browser/xterm/decorationAddon',
|
|
421
|
-
"terminal.configureCommandDecorations",
|
|
422
|
-
'Configure Command Decorations'
|
|
423
|
-
));
|
|
424
|
-
actions.push({
|
|
425
|
-
class: undefined, tooltip: labelConfigure, id: 'terminal.configureCommandDecorations', label: labelConfigure, enabled: true,
|
|
426
|
-
run: () => this._showConfigureCommandDecorationsQuickPick()
|
|
427
|
-
});
|
|
428
446
|
const labelAbout = ( localizeWithPath(
|
|
429
447
|
'vs/workbench/contrib/terminal/browser/xterm/decorationAddon',
|
|
430
448
|
"terminal.learnShellIntegration",
|
|
@@ -436,27 +454,6 @@ let DecorationAddon = class DecorationAddon extends Disposable {
|
|
|
436
454
|
});
|
|
437
455
|
return actions;
|
|
438
456
|
}
|
|
439
|
-
async _showConfigureCommandDecorationsQuickPick() {
|
|
440
|
-
const quickPick = this._quickInputService.createQuickPick();
|
|
441
|
-
quickPick.items = [
|
|
442
|
-
{ id: 'a', label: ( localizeWithPath(
|
|
443
|
-
'vs/workbench/contrib/terminal/browser/xterm/decorationAddon',
|
|
444
|
-
'toggleVisibility',
|
|
445
|
-
'Toggle visibility'
|
|
446
|
-
)) },
|
|
447
|
-
];
|
|
448
|
-
quickPick.canSelectMany = false;
|
|
449
|
-
quickPick.onDidAccept(async (e) => {
|
|
450
|
-
quickPick.hide();
|
|
451
|
-
const result = quickPick.activeItems[0];
|
|
452
|
-
switch (result.id) {
|
|
453
|
-
case 'a':
|
|
454
|
-
this._showToggleVisibilityQuickPick();
|
|
455
|
-
break;
|
|
456
|
-
}
|
|
457
|
-
});
|
|
458
|
-
quickPick.show();
|
|
459
|
-
}
|
|
460
457
|
_showToggleVisibilityQuickPick() {
|
|
461
458
|
const quickPick = this._quickInputService.createQuickPick();
|
|
462
459
|
quickPick.hideInput = true;
|
|
@@ -7,7 +7,7 @@ import { Disposable, combinedDisposable } from '../../../../../base/common/lifec
|
|
|
7
7
|
import { localizeWithPath } from '../../../../../nls.js';
|
|
8
8
|
import { IConfigurationService } from '../../../../../platform/configuration/common/configuration.js';
|
|
9
9
|
import { IContextMenuService } from '../../../../../platform/contextview/browser/contextView.js';
|
|
10
|
-
import { IHoverService } from '
|
|
10
|
+
import { IHoverService } from '../../../../../platform/hover/browser/hover.js';
|
|
11
11
|
let TerminalDecorationHoverManager = class TerminalDecorationHoverManager extends Disposable {
|
|
12
12
|
constructor(_hoverService, configurationService, contextMenuService) {
|
|
13
13
|
super();
|
|
@@ -237,6 +237,9 @@ let MarkNavigationAddon = class MarkNavigationAddon extends Disposable {
|
|
|
237
237
|
}
|
|
238
238
|
const startLine = command.marker.line - (command.getPromptRowCount() - 1);
|
|
239
239
|
const decorationCount = toLineIndex(command.endMarker) - startLine;
|
|
240
|
+
if (decorationCount > 200) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
240
243
|
for (let i = 0; i < decorationCount; i++) {
|
|
241
244
|
const decoration = this._terminal.registerDecoration({
|
|
242
245
|
marker: this._createMarkerForOffset(startLine, i)
|
|
@@ -11,7 +11,7 @@ import { TerminalConfigHelper } from '../terminalConfigHelper.js';
|
|
|
11
11
|
import { Disposable } from '../../../../../base/common/lifecycle.js';
|
|
12
12
|
import { IShellIntegration, ITerminalLogService } from '../../../../../platform/terminal/common/terminal.js';
|
|
13
13
|
import { ITerminalFont } from '../../common/terminal.js';
|
|
14
|
-
import { IXtermTerminal, IDetachedXtermTerminal, IInternalXtermTerminal, IMarkTracker,
|
|
14
|
+
import { IXtermTerminal, IDetachedXtermTerminal, IInternalXtermTerminal, IMarkTracker, IXtermColorProvider, IXtermAttachToElementOptions } from '../terminal.js';
|
|
15
15
|
import { IStorageService } from '../../../../../platform/storage/common/storage.js';
|
|
16
16
|
import { INotificationService } from '../../../../../platform/notification/common/notification.js';
|
|
17
17
|
import { ScrollPosition } from './markNavigationAddon.js';
|
|
@@ -19,10 +19,10 @@ import { IThemeService, IColorTheme } from '../../../../../platform/theme/common
|
|
|
19
19
|
import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
|
|
20
20
|
import { ITerminalCommand, ITerminalCapabilityStore } from '../../../../../platform/terminal/common/capabilities/capabilities.js';
|
|
21
21
|
import { ITelemetryService } from '../../../../../platform/telemetry/common/telemetry.js';
|
|
22
|
-
import {
|
|
22
|
+
import { IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.js';
|
|
23
23
|
import { IClipboardService } from '../../../../../platform/clipboard/common/clipboardService.js';
|
|
24
|
-
import { IAccessibleNotificationService } from '../../../../../platform/accessibility/common/accessibility.js';
|
|
25
24
|
import { ILayoutService } from '../../../../../platform/layout/browser/layoutService.js';
|
|
25
|
+
import { IAudioCueService } from '../../../../../platform/audioCues/browser/audioCueService.js';
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Wraps the xterm object with additional functionality. Interaction with the backing process is out
|
|
@@ -32,7 +32,6 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
|
|
|
32
32
|
private readonly _configHelper;
|
|
33
33
|
private readonly _xtermColorProvider;
|
|
34
34
|
private readonly _capabilities;
|
|
35
|
-
private readonly _terminalSuggestWidgetVisibleContextKey;
|
|
36
35
|
private readonly _configurationService;
|
|
37
36
|
private readonly _instantiationService;
|
|
38
37
|
private readonly _logService;
|
|
@@ -41,7 +40,7 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
|
|
|
41
40
|
private readonly _themeService;
|
|
42
41
|
private readonly _telemetryService;
|
|
43
42
|
private readonly _clipboardService;
|
|
44
|
-
private readonly
|
|
43
|
+
private readonly _audioCueService;
|
|
45
44
|
/** The raw xterm.js instance */
|
|
46
45
|
readonly raw: Terminal;
|
|
47
46
|
private _core;
|
|
@@ -52,7 +51,6 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
|
|
|
52
51
|
private _markNavigationAddon;
|
|
53
52
|
private _shellIntegrationAddon;
|
|
54
53
|
private _decorationAddon;
|
|
55
|
-
private _suggestAddon?;
|
|
56
54
|
private _canvasAddon?;
|
|
57
55
|
private _searchAddon?;
|
|
58
56
|
private _unicode11Addon?;
|
|
@@ -94,14 +92,13 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
|
|
|
94
92
|
readonly onDidDispose: Event<void>;
|
|
95
93
|
get markTracker(): IMarkTracker;
|
|
96
94
|
get shellIntegration(): IShellIntegration;
|
|
97
|
-
get suggestController(): ISuggestController | undefined;
|
|
98
95
|
get textureAtlas(): Promise<ImageBitmap> | undefined;
|
|
99
96
|
get isFocused(): boolean;
|
|
100
97
|
/**
|
|
101
98
|
* @param xtermCtor The xterm.js constructor, this is passed in so it can be fetched lazily
|
|
102
99
|
* outside of this class such that {@link raw} is not nullable.
|
|
103
100
|
*/
|
|
104
|
-
constructor(xtermCtor: typeof Terminal, _configHelper: TerminalConfigHelper, cols: number, rows: number, _xtermColorProvider: IXtermColorProvider, _capabilities: ITerminalCapabilityStore, shellIntegrationNonce: string,
|
|
101
|
+
constructor(xtermCtor: typeof Terminal, _configHelper: TerminalConfigHelper, cols: number, rows: number, _xtermColorProvider: IXtermColorProvider, _capabilities: ITerminalCapabilityStore, shellIntegrationNonce: string, disableShellIntegrationReporting: boolean, _configurationService: IConfigurationService, _instantiationService: IInstantiationService, _logService: ITerminalLogService, _notificationService: INotificationService, _storageService: IStorageService, _themeService: IThemeService, _telemetryService: ITelemetryService, _clipboardService: IClipboardService, contextKeyService: IContextKeyService, _audioCueService: IAudioCueService, layoutService: ILayoutService);
|
|
105
102
|
getBufferReverseIterator(): IterableIterator<string>;
|
|
106
103
|
getContentsAsHtml(): Promise<string>;
|
|
107
104
|
getSelectionAsHtml(command?: ITerminalCommand): Promise<string>;
|