@codingame/monaco-vscode-api 19.1.3 → 20.0.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/missing-services.js +141 -54
- package/package.json +8 -8
- package/services.d.ts +5 -5
- package/services.js +3 -3
- package/vscode/src/vs/base/browser/dom.d.ts +7 -5
- package/vscode/src/vs/base/browser/dom.js +21 -132
- package/vscode/src/vs/base/browser/domSanitize.d.ts +28 -0
- package/vscode/src/vs/base/browser/domSanitize.js +175 -0
- package/vscode/src/vs/base/browser/formattedTextRenderer.d.ts +2 -5
- package/vscode/src/vs/base/browser/formattedTextRenderer.js +13 -20
- package/vscode/src/vs/base/browser/markdownRenderer.d.ts +23 -13
- package/vscode/src/vs/base/browser/markdownRenderer.js +155 -126
- package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.d.ts +2 -0
- package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +9 -11
- package/vscode/src/vs/base/browser/ui/button/button.d.ts +2 -0
- package/vscode/src/vs/base/browser/ui/button/button.js +24 -15
- package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +5 -10
- package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css +9 -0
- package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +3 -21
- package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +7 -7
- package/vscode/src/vs/base/browser/ui/list/listPaging.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +2 -0
- package/vscode/src/vs/base/browser/ui/list/listWidget.js +3 -0
- package/vscode/src/vs/base/browser/ui/scrollbar/abstractScrollbar.js +9 -5
- package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.d.ts +3 -0
- package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +48 -1
- package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.d.ts +2 -0
- package/vscode/src/vs/base/browser/ui/toggle/toggle.css +0 -3
- package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +22 -12
- package/vscode/src/vs/base/browser/ui/toggle/toggle.js +93 -33
- package/vscode/src/vs/base/browser/ui/tree/abstractTree.d.ts +3 -0
- package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +3 -0
- package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.d.ts +3 -1
- package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +19 -17
- package/vscode/src/vs/base/browser/webWorkerFactory.d.ts +1 -1
- package/vscode/src/vs/base/browser/webWorkerFactory.js +3 -2
- package/vscode/src/vs/base/common/arrays.js +4 -1
- package/vscode/src/vs/base/common/arraysFind.d.ts +1 -0
- package/vscode/src/vs/base/common/async.d.ts +26 -0
- package/vscode/src/vs/base/common/async.js +103 -1
- package/vscode/src/vs/base/common/codicons.d.ts +1 -0
- package/vscode/src/vs/base/common/codiconsLibrary.d.ts +1 -0
- package/vscode/src/vs/base/common/codiconsLibrary.js +1 -0
- package/vscode/src/vs/base/common/lifecycle.js +4 -0
- package/vscode/src/vs/base/common/marshallingIds.d.ts +3 -1
- package/vscode/src/vs/base/common/marshallingIds.js +2 -0
- package/vscode/src/vs/base/common/network.d.ts +2 -1
- package/vscode/src/vs/base/common/network.js +2 -1
- package/vscode/src/vs/base/common/oauth.d.ts +2 -8
- package/vscode/src/vs/base/common/oauth.js +6 -27
- package/vscode/src/vs/base/common/observableInternal/changeTracker.d.ts +10 -0
- package/vscode/src/vs/base/common/observableInternal/changeTracker.js +33 -1
- package/vscode/src/vs/base/common/observableInternal/index.d.ts +2 -2
- package/vscode/src/vs/base/common/observableInternal/logging/debugger/devToolsLogger.js +22 -1
- package/vscode/src/vs/base/common/observableInternal/map.d.ts +24 -0
- package/vscode/src/vs/base/common/observableInternal/map.js +63 -0
- package/vscode/src/vs/base/common/observableInternal/observables/derivedImpl.d.ts +1 -0
- package/vscode/src/vs/base/common/observableInternal/observables/derivedImpl.js +8 -0
- package/vscode/src/vs/base/common/platform.js +1 -1
- package/vscode/src/vs/base/common/product.d.ts +19 -7
- package/vscode/src/vs/base/common/strings.d.ts +1 -0
- package/vscode/src/vs/base/common/strings.js +16 -1
- package/vscode/src/vs/editor/browser/config/editorConfiguration.js +4 -4
- package/vscode/src/vs/editor/browser/config/migrateOptions.js +1 -0
- package/vscode/src/vs/editor/browser/controller/dragScrolling.d.ts +48 -0
- package/vscode/src/vs/editor/browser/controller/dragScrolling.js +182 -0
- package/vscode/src/vs/editor/browser/controller/editContext/clipboardUtils.d.ts +1 -0
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +3 -5
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +30 -73
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentRich.d.ts +35 -0
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentRich.js +329 -0
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentSimple.d.ts +31 -0
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentSimple.js +176 -0
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.d.ts +12 -12
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +50 -88
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderUtils.d.ts +11 -0
- package/vscode/src/vs/editor/browser/controller/editContext/screenReaderUtils.d.ts +9 -12
- package/vscode/src/vs/editor/browser/controller/editContext/screenReaderUtils.js +22 -11
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +5 -21
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +23 -2
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextState.d.ts +2 -2
- package/vscode/src/vs/editor/browser/controller/mouseHandler.d.ts +1 -0
- package/vscode/src/vs/editor/browser/controller/mouseHandler.js +31 -114
- package/vscode/src/vs/editor/browser/controller/mouseTarget.d.ts +1 -0
- package/vscode/src/vs/editor/browser/controller/mouseTarget.js +26 -7
- package/vscode/src/vs/editor/browser/coreCommands.d.ts +3 -3
- package/vscode/src/vs/editor/browser/editorBrowser.d.ts +1 -1
- package/vscode/src/vs/editor/browser/editorExtensions.d.ts +2 -2
- package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.js +1 -1
- package/vscode/src/vs/editor/browser/gpu/taskQueue.d.ts +5 -2
- package/vscode/src/vs/editor/browser/gpu/taskQueue.js +11 -4
- package/vscode/src/vs/editor/browser/gpu/viewGpuContext.js +1 -1
- package/vscode/src/vs/editor/browser/services/bulkEditService.d.ts +2 -2
- package/vscode/src/vs/editor/browser/services/editorWorkerService.d.ts +1 -1
- package/vscode/src/vs/editor/browser/services/hoverService/hoverService.d.ts +1 -1
- package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +33 -1
- package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.d.ts +1 -0
- package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +6 -0
- package/vscode/src/vs/editor/browser/services/inlineCompletionsService.d.ts +4 -1
- package/vscode/src/vs/editor/browser/services/inlineCompletionsService.js +13 -2
- package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.d.ts +1 -1
- package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
- package/vscode/src/vs/editor/browser/view/renderingContext.d.ts +2 -1
- package/vscode/src/vs/editor/browser/view/viewUserInputEvents.d.ts +1 -1
- package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +4 -3
- package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +2 -0
- package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.css +8 -2
- package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.d.ts +3 -2
- package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +44 -13
- package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.d.ts +1 -0
- package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +7 -2
- package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.d.ts +1 -0
- package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +9 -4
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.d.ts +1 -0
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +43 -35
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLineOptions.d.ts +1 -0
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLineOptions.js +2 -0
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.css +1 -0
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.d.ts +1 -0
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +21 -4
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +3 -3
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +3 -3
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +4 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.d.ts +3 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +9 -3
- package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.d.ts +2 -2
- package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.js +4 -4
- package/vscode/src/vs/editor/common/commands/surroundSelectionCommand.js +1 -1
- package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +21 -6
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +178 -162
- package/vscode/src/vs/editor/common/config/editorOptions.js +592 -495
- package/vscode/src/vs/editor/common/coordinatesConverter.d.ts +30 -0
- package/vscode/src/vs/editor/common/coordinatesConverter.js +56 -0
- package/vscode/src/vs/editor/common/core/editorColorRegistry.js +71 -71
- package/vscode/src/vs/editor/common/core/edits/edit.d.ts +3 -3
- package/vscode/src/vs/editor/common/core/edits/lineEdit.d.ts +2 -2
- package/vscode/src/vs/editor/common/core/edits/lineEdit.js +14 -14
- package/vscode/src/vs/editor/common/core/edits/stringEdit.d.ts +11 -4
- package/vscode/src/vs/editor/common/core/edits/stringEdit.js +36 -12
- package/vscode/src/vs/editor/common/core/edits/textEdit.d.ts +3 -0
- package/vscode/src/vs/editor/common/core/edits/textEdit.js +20 -0
- package/vscode/src/vs/editor/common/core/text/abstractText.d.ts +2 -0
- package/vscode/src/vs/editor/common/core/text/abstractText.js +3 -0
- package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.d.ts +1 -1
- package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.js +2 -2
- package/vscode/src/vs/editor/common/cursor/cursor.d.ts +4 -4
- package/vscode/src/vs/editor/common/cursor/cursor.js +9 -9
- package/vscode/src/vs/editor/common/cursor/cursorContext.d.ts +1 -1
- package/vscode/src/vs/editor/common/cursor/cursorDeleteOperations.d.ts +2 -1
- package/vscode/src/vs/editor/common/cursor/cursorDeleteOperations.js +28 -13
- package/vscode/src/vs/editor/common/cursor/cursorMoveCommands.js +15 -6
- package/vscode/src/vs/editor/common/cursorCommon.d.ts +1 -0
- package/vscode/src/vs/editor/common/cursorCommon.js +2 -0
- package/vscode/src/vs/editor/common/editorContextKeys.js +46 -46
- package/vscode/src/vs/editor/common/languages/defaultDocumentColorsComputer.js +3 -3
- package/vscode/src/vs/editor/common/languages/linkComputer.js +1 -4
- package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
- package/vscode/src/vs/editor/common/languages.d.ts +19 -0
- package/vscode/src/vs/editor/common/languages.js +83 -57
- package/vscode/src/vs/editor/common/model/editStack.d.ts +2 -2
- package/vscode/src/vs/editor/common/model/editStack.js +3 -3
- package/vscode/src/vs/editor/common/model/textModel.d.ts +7 -6
- package/vscode/src/vs/editor/common/model/textModel.js +5 -4
- package/vscode/src/vs/editor/common/model.d.ts +6 -1
- package/vscode/src/vs/editor/common/model.js +6 -1
- package/vscode/src/vs/editor/common/modelLineProjectionData.d.ts +1 -1
- package/vscode/src/vs/editor/common/services/editorWebWorker.d.ts +1 -1
- package/vscode/src/vs/editor/common/services/model.service.d.ts +2 -2
- package/vscode/src/vs/editor/common/services/modelService.d.ts +2 -2
- package/vscode/src/vs/editor/common/services/modelService.js +2 -2
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +172 -160
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +174 -161
- package/vscode/src/vs/editor/common/standaloneStrings.js +47 -47
- package/vscode/src/vs/editor/common/textModelEditSource.d.ts +151 -0
- package/vscode/src/vs/editor/common/{textModelEditReason.js → textModelEditSource.js} +44 -23
- package/vscode/src/vs/editor/common/textModelEvents.d.ts +2 -2
- package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +1 -1
- package/vscode/src/vs/editor/common/viewLayout/lineDecorations.d.ts +1 -1
- package/vscode/src/vs/editor/common/viewLayout/lineDecorations.js +1 -1
- package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.d.ts +8 -5
- package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +29 -29
- package/vscode/src/vs/editor/common/viewLayout/viewLinesViewportData.d.ts +2 -1
- package/vscode/src/vs/editor/common/viewModel/inlineDecorations.d.ts +21 -0
- package/vscode/src/vs/editor/common/viewModel/inlineDecorations.js +30 -0
- package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +2 -1
- package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.d.ts +1 -1
- package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +11 -3
- package/vscode/src/vs/editor/common/viewModel/screenReaderSimpleModel.d.ts +10 -0
- package/vscode/src/vs/editor/common/viewModel/viewModelDecoration.d.ts +11 -0
- package/vscode/src/vs/editor/common/viewModel/viewModelDecoration.js +49 -0
- package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.d.ts +7 -11
- package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +5 -43
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +7 -4
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +32 -9
- package/vscode/src/vs/editor/common/viewModel/viewModelLines.d.ts +4 -2
- package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +5 -55
- package/vscode/src/vs/editor/common/viewModel.d.ts +8 -34
- package/vscode/src/vs/editor/common/viewModel.js +3 -35
- package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
- package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
- package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
- package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
- package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +44 -17
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +8 -7
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +5 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
- package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerSaturationBox.d.ts +0 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerSaturationBox.js +0 -3
- package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +4 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
- package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
- package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -19
- package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.d.ts +3 -1
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +54 -29
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
- package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
- package/vscode/src/vs/editor/contrib/find/browser/findController.d.ts +4 -4
- package/vscode/src/vs/editor/contrib/find/browser/findController.js +16 -16
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +26 -26
- package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -20
- package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
- package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
- package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
- package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.d.ts +3 -1
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +31 -3
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.d.ts +3 -1
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +6 -3
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidgetWrapper.js +7 -2
- package/vscode/src/vs/editor/contrib/hover/browser/getHover.d.ts +1 -2
- package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +6 -2
- package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
- package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.d.ts +4 -4
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.d.ts +1 -2
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +18 -19
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
- package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
- package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -20
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +17 -15
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.d.ts +8 -8
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +21 -20
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -11
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +22 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +5 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +107 -83
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +31 -8
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +4 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +27 -16
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +6 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +11 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/typingSpeed.d.ts +32 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/typingSpeed.js +145 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +2 -21
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +14 -9
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +5 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +3 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +42 -20
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
- package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
- package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
- package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.d.ts +5 -0
- package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +105 -33
- package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
- package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
- package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
- package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.d.ts +2 -0
- package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +34 -28
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +18 -18
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
- package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
- package/vscode/src/vs/editor/contrib/rename/browser/rename.js +13 -13
- package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
- package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.d.ts +2 -2
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.d.ts +2 -2
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +2 -2
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +5 -1
- package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +13 -13
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
- package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
- package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
- package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.d.ts +6 -6
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +30 -30
- package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +9 -6
- package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
- package/vscode/src/vs/editor/editor.worker.start.d.ts +1 -1
- package/vscode/src/vs/editor/editor.worker.start.js +26 -18
- package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.d.ts +2 -1
- package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -0
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +1 -0
- package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
- package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
- package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +3 -1
- package/vscode/src/vs/platform/actionWidget/browser/actionList.js +45 -8
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +20 -1
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +7 -7
- package/vscode/src/vs/platform/actions/browser/actionViewItemService.service.d.ts +5 -5
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
- package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +1 -0
- package/vscode/src/vs/platform/actions/browser/toolbar.js +6 -3
- package/vscode/src/vs/platform/actions/common/actions.d.ts +4 -3
- package/vscode/src/vs/platform/actions/common/actions.js +4 -3
- package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
- package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
- package/vscode/src/vs/platform/clipboard/browser/clipboardService.d.ts +1 -1
- package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +12 -2
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +5 -1
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +20 -10
- package/vscode/src/vs/platform/configuration/common/configurations.js +2 -2
- package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
- package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
- package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
- package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
- package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +1 -1
- package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
- package/vscode/src/vs/platform/dnd/browser/dnd.d.ts +1 -0
- package/vscode/src/vs/platform/dnd/browser/dnd.js +2 -1
- package/vscode/src/vs/platform/environment/common/argv.d.ts +2 -0
- package/vscode/src/vs/platform/environment/common/environment.service.d.ts +1 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.d.ts +62 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.js +55 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.service.d.ts +3 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +2 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +19 -19
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
- package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +21 -0
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +21 -0
- package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
- package/vscode/src/vs/platform/files/common/files.js +6 -6
- package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
- package/vscode/src/vs/platform/imageResize/common/imageResizeService.service.d.ts +5 -0
- package/vscode/src/vs/platform/imageResize/common/imageResizeService.service.js +6 -0
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
- package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
- package/vscode/src/vs/platform/list/browser/listService.js +27 -27
- package/vscode/src/vs/platform/log/common/log.js +6 -6
- package/vscode/src/vs/platform/markers/common/markerService.js +2 -2
- package/vscode/src/vs/platform/markers/common/markers.js +6 -6
- package/vscode/src/vs/platform/mcp/common/mcpManagement.service.d.ts +8 -0
- package/vscode/src/vs/platform/mcp/common/mcpManagement.service.js +2 -1
- package/vscode/src/vs/platform/notification/common/notification.js +3 -3
- package/vscode/src/vs/platform/observable/common/platformObservableUtils.d.ts +1 -0
- package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +20 -9
- package/vscode/src/vs/platform/opener/browser/link.js +1 -4
- package/vscode/src/vs/platform/policy/common/policy.d.ts +2 -2
- package/vscode/src/vs/platform/policy/common/policy.service.d.ts +1 -1
- package/vscode/src/vs/platform/product/common/product.js +3 -3
- package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +81 -14
- package/vscode/src/vs/platform/quickinput/browser/quickInput.d.ts +10 -7
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +19 -14
- package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +5 -5
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.d.ts +2 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +38 -11
- package/vscode/src/vs/platform/quickinput/browser/{quickInputTree.d.ts → quickInputList.d.ts} +1 -1
- package/vscode/src/vs/platform/quickinput/browser/{quickInputTree.js → quickInputList.js} +9 -9
- package/vscode/src/vs/platform/quickinput/browser/quickInputService.d.ts +2 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +3 -0
- package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputDelegate.d.ts +6 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputDelegate.js +13 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTree.d.ts +9 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTree.js +35 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.d.ts +13 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +33 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.d.ts +42 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.js +296 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeFilter.d.ts +10 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeFilter.js +39 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.d.ts +33 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +148 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.d.ts +53 -0
- package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +189 -0
- package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +46 -2
- package/vscode/src/vs/platform/quickinput/common/quickInput.js +1 -0
- package/vscode/src/vs/platform/quickinput/common/quickInput.service.d.ts +2 -1
- package/vscode/src/vs/platform/request/common/request.js +18 -18
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
- package/vscode/src/vs/platform/terminal/common/environmentVariableShared.d.ts +1 -1
- package/vscode/src/vs/platform/terminal/common/terminal.d.ts +6 -5
- package/vscode/src/vs/platform/terminal/common/terminal.service.d.ts +2 -4
- package/vscode/src/vs/platform/terminal/common/terminalProcess.d.ts +1 -1
- package/vscode/src/vs/platform/theme/browser/defaultStyles.d.ts +1 -1
- package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
- package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
- package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
- package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -95
- package/vscode/src/vs/platform/theme/common/colors/inputColors.js +47 -47
- package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
- package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
- package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
- package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
- package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
- package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
- package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
- package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.d.ts +12 -2
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +14 -6
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +2 -1
- package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +64 -9
- package/vscode/src/vs/workbench/api/common/extHost.common.services.js +2 -0
- package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +102 -41
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +6 -0
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.d.ts +4 -2
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +98 -27
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +22 -4
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +24 -5
- package/vscode/src/vs/workbench/api/common/extHostChatOutputRenderer.d.ts +14 -0
- package/vscode/src/vs/workbench/api/common/extHostChatOutputRenderer.js +32 -0
- package/vscode/src/vs/workbench/api/common/extHostChatSessions.d.ts +35 -0
- package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +222 -0
- package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostDataChannels.d.ts +15 -0
- package/vscode/src/vs/workbench/api/common/extHostDataChannels.js +44 -0
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +3 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +32 -34
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +12 -15
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +127 -120
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostMcp.js +40 -25
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +1 -2
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +28 -10
- package/vscode/src/vs/workbench/api/common/extHostSecretState.d.ts +1 -0
- package/vscode/src/vs/workbench/api/common/extHostSecretState.js +3 -0
- package/vscode/src/vs/workbench/api/common/extHostSecrets.d.ts +2 -0
- package/vscode/src/vs/workbench/api/common/extHostSecrets.js +6 -0
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTask.d.ts +3 -0
- package/vscode/src/vs/workbench/api/common/extHostTask.js +12 -1
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.d.ts +8 -8
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +203 -198
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +19 -8
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +211 -33
- package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +77 -13
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +69 -11
- package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
- package/vscode/src/vs/workbench/browser/actions/developerActions.js +31 -31
- package/vscode/src/vs/workbench/browser/actions/textInputActions.d.ts +4 -2
- package/vscode/src/vs/workbench/browser/actions/textInputActions.js +24 -10
- package/vscode/src/vs/workbench/browser/contextkeys.js +10 -5
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.service.d.ts +1 -1
- package/vscode/src/vs/workbench/common/configuration.js +9 -9
- package/vscode/src/vs/workbench/common/contextkeys.js +87 -78
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.d.ts +32 -0
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +180 -0
- package/vscode/src/vs/workbench/common/editor/diffEditorModel.d.ts +12 -0
- package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +26 -0
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
- package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +10 -0
- package/vscode/src/vs/workbench/common/editor/editorModel.js +27 -0
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.d.ts +51 -0
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +303 -0
- package/vscode/src/vs/workbench/common/editor/textDiffEditorModel.d.ts +18 -0
- package/vscode/src/vs/workbench/common/editor/textDiffEditorModel.js +45 -0
- package/vscode/src/vs/workbench/common/editor/textEditorModel.d.ts +47 -0
- package/vscode/src/vs/workbench/common/editor/textEditorModel.js +181 -0
- package/vscode/src/vs/workbench/common/editor.d.ts +1 -1
- package/vscode/src/vs/workbench/common/editor.js +4 -4
- package/vscode/src/vs/workbench/common/theme.d.ts +2 -2
- package/vscode/src/vs/workbench/common/theme.js +161 -161
- package/vscode/src/vs/workbench/common/views.js +4 -4
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +164 -156
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts.d.ts +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContextPickService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +59 -48
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatEntitlementService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +81 -11
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +7 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +6 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +48 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.service.d.ts +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/chat/common/constants.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +32 -11
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +8 -5
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +47 -17
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +147 -65
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.d.ts +9 -7
- package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.d.ts +4 -0
- package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/tools/manageTodoListTool.d.ts +17 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/manageTodoListTool.js +203 -0
- package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.js +4 -0
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
- package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -2
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +5 -5
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
- package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.d.ts +7 -2
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service.d.ts +5 -4
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +33 -9
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +28 -10
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +11 -3
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
- package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.service.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +9 -7
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariable.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariable.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService.service.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
- package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +2 -2
- package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.d.ts +2 -0
- package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +8 -10
- package/vscode/src/vs/workbench/services/activity/common/activity.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/assignment/common/assignmentService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/assignment/common/assignmentService.service.js +1 -1
- package/vscode/src/vs/workbench/services/authentication/common/dynamicAuthenticationProviderStorage.service.d.ts +5 -2
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
- package/vscode/src/vs/workbench/services/coreExperimentation/common/coreExperimentationService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/dataChannel/common/dataChannel.d.ts +7 -0
- package/vscode/src/vs/workbench/services/dataChannel/common/dataChannel.service.d.ts +8 -0
- package/vscode/src/vs/workbench/services/dataChannel/common/dataChannel.service.js +6 -0
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
- package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +10 -13
- package/vscode/src/vs/workbench/services/extensions/common/extensions.js +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +2 -5
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +100 -84
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
- package/vscode/src/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.d.ts +61 -0
- package/vscode/src/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js +7 -0
- package/vscode/src/vs/workbench/services/localization/common/locale.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
- package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service.d.ts +11 -8
- package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service.js +3 -2
- package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
- package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +1 -0
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +1 -1
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.service.d.ts +1 -2
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyEditorService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.service.d.ts +1 -1
- package/vscode-dts/vscode.d.ts +5 -5
- package/vscode-dts/vscode.proposed.chatOutputRenderer.d.ts +86 -0
- package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +142 -5
- package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +25 -19
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +2 -103
- package/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts +129 -0
- package/vscode-dts/vscode.proposed.d.ts +7 -0
- package/vscode-dts/vscode.proposed.dataChannels.d.ts +19 -0
- package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +2 -0
- package/vscode-dts/vscode.proposed.languageModelToolResultAudience.d.ts +25 -0
- package/vscode-dts/vscode.proposed.scmProviderOptions.d.ts +39 -0
- package/vscode-dts/vscode.proposed.secretStorageKeys.d.ts +16 -0
- package/vscode-dts/vscode.proposed.taskExecutionTerminal.d.ts +15 -0
- package/workbench.d.ts +1 -1
- package/workers/editor.worker.js +17 -16
- package/vscode/src/vs/base/common/policy.d.ts +0 -8
- package/vscode/src/vs/editor/common/textModelEditReason.d.ts +0 -98
- package/vscode/src/vs/platform/assignment/common/assignment.d.ts +0 -33
|
@@ -3,7 +3,7 @@ import { localize } from '../../../nls.js';
|
|
|
3
3
|
import { basename } from '../../../base/common/resources.js';
|
|
4
4
|
import { URI } from '../../../base/common/uri.js';
|
|
5
5
|
import { Emitter, Event } from '../../../base/common/event.js';
|
|
6
|
-
import { Disposable, DisposableStore } from '../../../base/common/lifecycle.js';
|
|
6
|
+
import { Disposable, DisposableStore, dispose } from '../../../base/common/lifecycle.js';
|
|
7
7
|
import { NoTreeViewError } from '../../common/views.js';
|
|
8
8
|
import { asPromise } from '../../../base/common/async.js';
|
|
9
9
|
import { ViewBadge, DataTransfer as DataTransfer$1, TreeItemCheckboxState, MarkdownString as MarkdownString$1, TreeItem, TreeItemCollapsibleState, ThemeIcon } from './extHostTypes.js';
|
|
@@ -32,25 +32,25 @@ function toTreeItemLabel(label, extension) {
|
|
|
32
32
|
return undefined;
|
|
33
33
|
}
|
|
34
34
|
class ExtHostTreeViews extends Disposable {
|
|
35
|
-
constructor(_proxy,
|
|
35
|
+
constructor(_proxy, _commands, _logService) {
|
|
36
36
|
super();
|
|
37
37
|
this._proxy = _proxy;
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
40
|
-
this.
|
|
41
|
-
this.
|
|
38
|
+
this._commands = _commands;
|
|
39
|
+
this._logService = _logService;
|
|
40
|
+
this._treeViews = ( new Map());
|
|
41
|
+
this._treeDragAndDropService = ( new TreeViewsDnDService());
|
|
42
42
|
function isTreeViewConvertableItem(arg) {
|
|
43
43
|
return arg && arg.$treeViewId && (arg.$treeItemHandle || arg.$selectedTreeItems || arg.$focusedTreeItem);
|
|
44
44
|
}
|
|
45
|
-
|
|
45
|
+
_commands.registerArgumentProcessor({
|
|
46
46
|
processArgument: arg => {
|
|
47
47
|
if (isTreeViewConvertableItem(arg)) {
|
|
48
|
-
return this.
|
|
48
|
+
return this._convertArgument(arg);
|
|
49
49
|
}
|
|
50
50
|
else if (Array.isArray(arg) && (arg.length > 0)) {
|
|
51
51
|
return ( arg.map(item => {
|
|
52
52
|
if (isTreeViewConvertableItem(item)) {
|
|
53
|
-
return this.
|
|
53
|
+
return this._convertArgument(item);
|
|
54
54
|
}
|
|
55
55
|
return item;
|
|
56
56
|
}));
|
|
@@ -71,7 +71,7 @@ class ExtHostTreeViews extends Disposable {
|
|
|
71
71
|
const dragMimeTypes = options.dragAndDropController?.dragMimeTypes ?? [];
|
|
72
72
|
const hasHandleDrag = !!options.dragAndDropController?.handleDrag;
|
|
73
73
|
const hasHandleDrop = !!options.dragAndDropController?.handleDrop;
|
|
74
|
-
const treeView = this.
|
|
74
|
+
const treeView = this._createExtHostTreeView(viewId, options, extension);
|
|
75
75
|
const proxyOptions = { showCollapseAll: !!options.showCollapseAll, canSelectMany: !!options.canSelectMany, dropMimeTypes, dragMimeTypes, hasHandleDrag, hasHandleDrop, manuallyManageCheckboxes: !!options.manageCheckboxStateManually };
|
|
76
76
|
const registerPromise = this._proxy.$registerTreeViewDataProvider(viewId, proxyOptions);
|
|
77
77
|
const view = {
|
|
@@ -128,7 +128,7 @@ class ExtHostTreeViews extends Disposable {
|
|
|
128
128
|
},
|
|
129
129
|
dispose: async () => {
|
|
130
130
|
await registerPromise;
|
|
131
|
-
this.
|
|
131
|
+
this._treeViews.delete(viewId);
|
|
132
132
|
treeView.dispose();
|
|
133
133
|
}
|
|
134
134
|
};
|
|
@@ -136,7 +136,7 @@ class ExtHostTreeViews extends Disposable {
|
|
|
136
136
|
return view;
|
|
137
137
|
}
|
|
138
138
|
async $getChildren(treeViewId, treeItemHandles) {
|
|
139
|
-
const treeView = this.
|
|
139
|
+
const treeView = this._treeViews.get(treeViewId);
|
|
140
140
|
if (!treeView) {
|
|
141
141
|
return Promise.reject(( new NoTreeViewError(treeViewId)));
|
|
142
142
|
}
|
|
@@ -155,7 +155,7 @@ class ExtHostTreeViews extends Disposable {
|
|
|
155
155
|
return result;
|
|
156
156
|
}
|
|
157
157
|
async $handleDrop(destinationViewId, requestId, treeDataTransferDTO, targetItemHandle, token, operationUuid, sourceViewId, sourceTreeItemHandles) {
|
|
158
|
-
const treeView = this.
|
|
158
|
+
const treeView = this._treeViews.get(destinationViewId);
|
|
159
159
|
if (!treeView) {
|
|
160
160
|
return Promise.reject(( new NoTreeViewError(destinationViewId)));
|
|
161
161
|
}
|
|
@@ -163,12 +163,12 @@ class ExtHostTreeViews extends Disposable {
|
|
|
163
163
|
return (await this._proxy.$resolveDropFileData(destinationViewId, requestId, dataItemIndex)).buffer;
|
|
164
164
|
});
|
|
165
165
|
if ((sourceViewId === destinationViewId) && sourceTreeItemHandles) {
|
|
166
|
-
await this.
|
|
166
|
+
await this._addAdditionalTransferItems(treeDataTransfer, treeView, sourceTreeItemHandles, token, operationUuid);
|
|
167
167
|
}
|
|
168
168
|
return treeView.onDrop(treeDataTransfer, targetItemHandle, token);
|
|
169
169
|
}
|
|
170
|
-
async
|
|
171
|
-
const existingTransferOperation = this.
|
|
170
|
+
async _addAdditionalTransferItems(treeDataTransfer, treeView, sourceTreeItemHandles, token, operationUuid) {
|
|
171
|
+
const existingTransferOperation = this._treeDragAndDropService.removeDragOperationTransfer(operationUuid);
|
|
172
172
|
if (existingTransferOperation) {
|
|
173
173
|
(await existingTransferOperation)?.forEach((value, key) => {
|
|
174
174
|
if (value) {
|
|
@@ -178,52 +178,52 @@ class ExtHostTreeViews extends Disposable {
|
|
|
178
178
|
}
|
|
179
179
|
else if (operationUuid && treeView.handleDrag) {
|
|
180
180
|
const willDropPromise = treeView.handleDrag(sourceTreeItemHandles, treeDataTransfer, token);
|
|
181
|
-
this.
|
|
181
|
+
this._treeDragAndDropService.addDragOperationTransfer(operationUuid, willDropPromise);
|
|
182
182
|
await willDropPromise;
|
|
183
183
|
}
|
|
184
184
|
return treeDataTransfer;
|
|
185
185
|
}
|
|
186
186
|
async $handleDrag(sourceViewId, sourceTreeItemHandles, operationUuid, token) {
|
|
187
|
-
const treeView = this.
|
|
187
|
+
const treeView = this._treeViews.get(sourceViewId);
|
|
188
188
|
if (!treeView) {
|
|
189
189
|
return Promise.reject(( new NoTreeViewError(sourceViewId)));
|
|
190
190
|
}
|
|
191
|
-
const treeDataTransfer = await this.
|
|
191
|
+
const treeDataTransfer = await this._addAdditionalTransferItems(new DataTransfer$1(), treeView, sourceTreeItemHandles, token, operationUuid);
|
|
192
192
|
if (!treeDataTransfer || token.isCancellationRequested) {
|
|
193
193
|
return;
|
|
194
194
|
}
|
|
195
195
|
return DataTransfer.from(treeDataTransfer);
|
|
196
196
|
}
|
|
197
197
|
async $hasResolve(treeViewId) {
|
|
198
|
-
const treeView = this.
|
|
198
|
+
const treeView = this._treeViews.get(treeViewId);
|
|
199
199
|
if (!treeView) {
|
|
200
200
|
throw ( new NoTreeViewError(treeViewId));
|
|
201
201
|
}
|
|
202
202
|
return treeView.hasResolve;
|
|
203
203
|
}
|
|
204
204
|
$resolve(treeViewId, treeItemHandle, token) {
|
|
205
|
-
const treeView = this.
|
|
205
|
+
const treeView = this._treeViews.get(treeViewId);
|
|
206
206
|
if (!treeView) {
|
|
207
207
|
throw ( new NoTreeViewError(treeViewId));
|
|
208
208
|
}
|
|
209
209
|
return treeView.resolveTreeItem(treeItemHandle, token);
|
|
210
210
|
}
|
|
211
211
|
$setExpanded(treeViewId, treeItemHandle, expanded) {
|
|
212
|
-
const treeView = this.
|
|
212
|
+
const treeView = this._treeViews.get(treeViewId);
|
|
213
213
|
if (!treeView) {
|
|
214
214
|
throw ( new NoTreeViewError(treeViewId));
|
|
215
215
|
}
|
|
216
216
|
treeView.setExpanded(treeItemHandle, expanded);
|
|
217
217
|
}
|
|
218
218
|
$setSelectionAndFocus(treeViewId, selectedHandles, focusedHandle) {
|
|
219
|
-
const treeView = this.
|
|
219
|
+
const treeView = this._treeViews.get(treeViewId);
|
|
220
220
|
if (!treeView) {
|
|
221
221
|
throw ( new NoTreeViewError(treeViewId));
|
|
222
222
|
}
|
|
223
223
|
treeView.setSelectionAndFocus(selectedHandles, focusedHandle);
|
|
224
224
|
}
|
|
225
225
|
$setVisible(treeViewId, isVisible) {
|
|
226
|
-
const treeView = this.
|
|
226
|
+
const treeView = this._treeViews.get(treeViewId);
|
|
227
227
|
if (!treeView) {
|
|
228
228
|
if (!isVisible) {
|
|
229
229
|
return;
|
|
@@ -233,26 +233,26 @@ class ExtHostTreeViews extends Disposable {
|
|
|
233
233
|
treeView.setVisible(isVisible);
|
|
234
234
|
}
|
|
235
235
|
$changeCheckboxState(treeViewId, checkboxUpdate) {
|
|
236
|
-
const treeView = this.
|
|
236
|
+
const treeView = this._treeViews.get(treeViewId);
|
|
237
237
|
if (!treeView) {
|
|
238
238
|
throw ( new NoTreeViewError(treeViewId));
|
|
239
239
|
}
|
|
240
240
|
treeView.setCheckboxState(checkboxUpdate);
|
|
241
241
|
}
|
|
242
|
-
|
|
242
|
+
_createExtHostTreeView(id, options, extension) {
|
|
243
243
|
const treeView = this._register(( new ExtHostTreeView(
|
|
244
244
|
id,
|
|
245
245
|
options,
|
|
246
246
|
this._proxy,
|
|
247
|
-
this.
|
|
248
|
-
this.
|
|
247
|
+
this._commands.converter,
|
|
248
|
+
this._logService,
|
|
249
249
|
extension
|
|
250
250
|
)));
|
|
251
|
-
this.
|
|
251
|
+
this._treeViews.set(id, treeView);
|
|
252
252
|
return treeView;
|
|
253
253
|
}
|
|
254
|
-
|
|
255
|
-
const treeView = this.
|
|
254
|
+
_convertArgument(arg) {
|
|
255
|
+
const treeView = this._treeViews.get(arg.$treeViewId);
|
|
256
256
|
const asItemHandle = arg;
|
|
257
257
|
if (treeView && asItemHandle.$treeItemHandle) {
|
|
258
258
|
return treeView.getExtensionElement(asItemHandle.$treeItemHandle);
|
|
@@ -270,16 +270,16 @@ class ExtHostTreeView extends Disposable {
|
|
|
270
270
|
get visible() { return this._visible; }
|
|
271
271
|
get selectedElements() { return ( this._selectedHandles.map(handle => this.getExtensionElement(handle))).filter(element => !isUndefinedOrNull(element)); }
|
|
272
272
|
get focusedElement() { return (this._focusedHandle ? this.getExtensionElement(this._focusedHandle) : undefined); }
|
|
273
|
-
constructor(
|
|
273
|
+
constructor(_viewId, options, _proxy, _commands, _logService, _extension) {
|
|
274
274
|
super();
|
|
275
|
-
this.
|
|
276
|
-
this.
|
|
277
|
-
this.
|
|
278
|
-
this.
|
|
279
|
-
this.
|
|
280
|
-
this.
|
|
281
|
-
this.
|
|
282
|
-
this.
|
|
275
|
+
this._viewId = _viewId;
|
|
276
|
+
this._proxy = _proxy;
|
|
277
|
+
this._commands = _commands;
|
|
278
|
+
this._logService = _logService;
|
|
279
|
+
this._extension = _extension;
|
|
280
|
+
this._roots = undefined;
|
|
281
|
+
this._elements = ( new Map());
|
|
282
|
+
this._nodes = ( new Map());
|
|
283
283
|
this._visible = false;
|
|
284
284
|
this._selectedHandles = [];
|
|
285
285
|
this._focusedHandle = undefined;
|
|
@@ -296,24 +296,25 @@ class ExtHostTreeView extends Disposable {
|
|
|
296
296
|
this._onDidChangeCheckboxState = this._register(( new Emitter()));
|
|
297
297
|
this.onDidChangeCheckboxState = this._onDidChangeCheckboxState.event;
|
|
298
298
|
this._onDidChangeData = this._register(( new Emitter()));
|
|
299
|
-
this.
|
|
300
|
-
this.
|
|
299
|
+
this._refreshPromise = Promise.resolve();
|
|
300
|
+
this._refreshQueue = Promise.resolve();
|
|
301
|
+
this._nodesToClear = ( new Set());
|
|
301
302
|
this._message = '';
|
|
302
303
|
this._title = '';
|
|
303
304
|
this._refreshCancellationSource = ( new CancellationTokenSource());
|
|
304
|
-
if (
|
|
305
|
-
for (const location in
|
|
306
|
-
for (const view of
|
|
307
|
-
if (view.id ===
|
|
305
|
+
if (_extension.contributes && _extension.contributes.views) {
|
|
306
|
+
for (const location in _extension.contributes.views) {
|
|
307
|
+
for (const view of _extension.contributes.views[location]) {
|
|
308
|
+
if (view.id === _viewId) {
|
|
308
309
|
this._title = view.name;
|
|
309
310
|
}
|
|
310
311
|
}
|
|
311
312
|
}
|
|
312
313
|
}
|
|
313
|
-
this.
|
|
314
|
-
this.
|
|
315
|
-
if (this.
|
|
316
|
-
this._register(this.
|
|
314
|
+
this._dataProvider = options.treeDataProvider;
|
|
315
|
+
this._dndController = options.dragAndDropController;
|
|
316
|
+
if (this._dataProvider.onDidChangeTreeData) {
|
|
317
|
+
this._register(this._dataProvider.onDidChangeTreeData(elementOrElements => {
|
|
317
318
|
if (Array.isArray(elementOrElements) && elementOrElements.length === 0) {
|
|
318
319
|
return;
|
|
319
320
|
}
|
|
@@ -329,7 +330,7 @@ class ExtHostTreeView extends Disposable {
|
|
|
329
330
|
if (current.element !== false) {
|
|
330
331
|
if (!refreshingPromise) {
|
|
331
332
|
refreshingPromise = ( new Promise(c => promiseCallback = c));
|
|
332
|
-
this.
|
|
333
|
+
this._refreshPromise = this._refreshPromise.then(() => refreshingPromise);
|
|
333
334
|
}
|
|
334
335
|
if (Array.isArray(current.element)) {
|
|
335
336
|
result.elements.push(...current.element);
|
|
@@ -345,50 +346,54 @@ class ExtHostTreeView extends Disposable {
|
|
|
345
346
|
}, 200, true);
|
|
346
347
|
this._register(onDidChangeData(({ message, elements }) => {
|
|
347
348
|
if (elements.length) {
|
|
348
|
-
this.
|
|
349
|
+
this._refreshQueue = this._refreshQueue.then(() => {
|
|
349
350
|
const _promiseCallback = promiseCallback;
|
|
350
351
|
refreshingPromise = null;
|
|
351
|
-
|
|
352
|
+
const childrenToClear = Array.from(this._nodesToClear);
|
|
353
|
+
return this._refresh(elements).then(() => {
|
|
354
|
+
this._clearNodes(childrenToClear);
|
|
355
|
+
return _promiseCallback();
|
|
356
|
+
});
|
|
352
357
|
});
|
|
353
358
|
}
|
|
354
359
|
if (message) {
|
|
355
|
-
this.
|
|
360
|
+
this._proxy.$setMessage(this._viewId, MarkdownString.fromStrict(this._message) ?? '');
|
|
356
361
|
}
|
|
357
362
|
}));
|
|
358
363
|
}
|
|
359
364
|
async getChildren(parentHandle) {
|
|
360
365
|
const parentElement = parentHandle ? this.getExtensionElement(parentHandle) : undefined;
|
|
361
366
|
if (parentHandle && !parentElement) {
|
|
362
|
-
this.
|
|
367
|
+
this._logService.error(`No tree item with id \'${parentHandle}\' found.`);
|
|
363
368
|
return Promise.resolve([]);
|
|
364
369
|
}
|
|
365
|
-
let childrenNodes = this.
|
|
370
|
+
let childrenNodes = this._getChildrenNodes(parentHandle);
|
|
366
371
|
if (!childrenNodes) {
|
|
367
|
-
childrenNodes = await this.
|
|
372
|
+
childrenNodes = await this._fetchChildrenNodes(parentElement);
|
|
368
373
|
}
|
|
369
374
|
return childrenNodes ? ( childrenNodes.map(n => n.item)) : undefined;
|
|
370
375
|
}
|
|
371
376
|
getExtensionElement(treeItemHandle) {
|
|
372
|
-
return this.
|
|
377
|
+
return this._elements.get(treeItemHandle);
|
|
373
378
|
}
|
|
374
379
|
reveal(element, options) {
|
|
375
380
|
options = options ? options : { select: true, focus: false };
|
|
376
381
|
const select = isUndefinedOrNull(options.select) ? true : options.select;
|
|
377
382
|
const focus = isUndefinedOrNull(options.focus) ? false : options.focus;
|
|
378
383
|
const expand = isUndefinedOrNull(options.expand) ? false : options.expand;
|
|
379
|
-
if (typeof this.
|
|
384
|
+
if (typeof this._dataProvider.getParent !== 'function') {
|
|
380
385
|
return Promise.reject(( new Error(
|
|
381
386
|
`Required registered TreeDataProvider to implement 'getParent' method to access 'reveal' method`
|
|
382
387
|
)));
|
|
383
388
|
}
|
|
384
389
|
if (element) {
|
|
385
|
-
return this.
|
|
386
|
-
.then(() => this.
|
|
387
|
-
.then(parentChain => this.
|
|
388
|
-
.then(treeNode => this.
|
|
390
|
+
return this._refreshPromise
|
|
391
|
+
.then(() => this._resolveUnknownParentChain(element))
|
|
392
|
+
.then(parentChain => this._resolveTreeNode(element, parentChain[parentChain.length - 1])
|
|
393
|
+
.then(treeNode => this._proxy.$reveal(this._viewId, { item: treeNode.item, parentChain: ( parentChain.map(p => p.item)) }, { select, focus, expand })), error => this._logService.error(error));
|
|
389
394
|
}
|
|
390
395
|
else {
|
|
391
|
-
return this.
|
|
396
|
+
return this._proxy.$reveal(this._viewId, undefined, { select, focus, expand });
|
|
392
397
|
}
|
|
393
398
|
}
|
|
394
399
|
get message() {
|
|
@@ -403,14 +408,14 @@ class ExtHostTreeView extends Disposable {
|
|
|
403
408
|
}
|
|
404
409
|
set title(title) {
|
|
405
410
|
this._title = title;
|
|
406
|
-
this.
|
|
411
|
+
this._proxy.$setTitle(this._viewId, title, this._description);
|
|
407
412
|
}
|
|
408
413
|
get description() {
|
|
409
414
|
return this._description;
|
|
410
415
|
}
|
|
411
416
|
set description(description) {
|
|
412
417
|
this._description = description;
|
|
413
|
-
this.
|
|
418
|
+
this._proxy.$setTitle(this._viewId, this._title, description);
|
|
414
419
|
}
|
|
415
420
|
get badge() {
|
|
416
421
|
return this._badge;
|
|
@@ -421,7 +426,7 @@ class ExtHostTreeView extends Disposable {
|
|
|
421
426
|
return;
|
|
422
427
|
}
|
|
423
428
|
this._badge = ViewBadge$1.from(badge);
|
|
424
|
-
this.
|
|
429
|
+
this._proxy.$setBadge(this._viewId, badge);
|
|
425
430
|
}
|
|
426
431
|
setExpanded(treeItemHandle, expanded) {
|
|
427
432
|
const element = this.getExtensionElement(treeItemHandle);
|
|
@@ -458,7 +463,7 @@ class ExtHostTreeView extends Disposable {
|
|
|
458
463
|
if (extensionItem) {
|
|
459
464
|
return {
|
|
460
465
|
extensionItem: extensionItem,
|
|
461
|
-
treeItem: await this.
|
|
466
|
+
treeItem: await this._dataProvider.getTreeItem(extensionItem),
|
|
462
467
|
newState: checkboxUpdate.newState ? TreeItemCheckboxState.Checked : TreeItemCheckboxState.Unchecked
|
|
463
468
|
};
|
|
464
469
|
}
|
|
@@ -477,118 +482,118 @@ class ExtHostTreeView extends Disposable {
|
|
|
477
482
|
extensionTreeItems.push(extensionItem);
|
|
478
483
|
}
|
|
479
484
|
}
|
|
480
|
-
if (!this.
|
|
485
|
+
if (!this._dndController?.handleDrag || (extensionTreeItems.length === 0)) {
|
|
481
486
|
return;
|
|
482
487
|
}
|
|
483
|
-
await this.
|
|
488
|
+
await this._dndController.handleDrag(extensionTreeItems, treeDataTransfer, token);
|
|
484
489
|
return treeDataTransfer;
|
|
485
490
|
}
|
|
486
491
|
get hasHandleDrag() {
|
|
487
|
-
return !!this.
|
|
492
|
+
return !!this._dndController?.handleDrag;
|
|
488
493
|
}
|
|
489
494
|
async onDrop(treeDataTransfer, targetHandleOrNode, token) {
|
|
490
495
|
const target = targetHandleOrNode ? this.getExtensionElement(targetHandleOrNode) : undefined;
|
|
491
|
-
if ((!target && targetHandleOrNode) || !this.
|
|
496
|
+
if ((!target && targetHandleOrNode) || !this._dndController?.handleDrop) {
|
|
492
497
|
return;
|
|
493
498
|
}
|
|
494
|
-
return asPromise(() => this.
|
|
495
|
-
? this.
|
|
499
|
+
return asPromise(() => this._dndController?.handleDrop
|
|
500
|
+
? this._dndController.handleDrop(target, treeDataTransfer, token)
|
|
496
501
|
: undefined);
|
|
497
502
|
}
|
|
498
503
|
get hasResolve() {
|
|
499
|
-
return !!this.
|
|
504
|
+
return !!this._dataProvider.resolveTreeItem;
|
|
500
505
|
}
|
|
501
506
|
async resolveTreeItem(treeItemHandle, token) {
|
|
502
|
-
if (!this.
|
|
507
|
+
if (!this._dataProvider.resolveTreeItem) {
|
|
503
508
|
return;
|
|
504
509
|
}
|
|
505
|
-
const element = this.
|
|
510
|
+
const element = this._elements.get(treeItemHandle);
|
|
506
511
|
if (element) {
|
|
507
|
-
const node = this.
|
|
512
|
+
const node = this._nodes.get(element);
|
|
508
513
|
if (node) {
|
|
509
|
-
const resolve = (await this.
|
|
510
|
-
this.
|
|
511
|
-
node.item.tooltip = this.
|
|
512
|
-
node.item.command = this.
|
|
514
|
+
const resolve = (await this._dataProvider.resolveTreeItem(node.extensionItem, element, token)) ?? node.extensionItem;
|
|
515
|
+
this._validateTreeItem(resolve);
|
|
516
|
+
node.item.tooltip = this._getTooltip(resolve.tooltip);
|
|
517
|
+
node.item.command = this._getCommand(node.disposableStore, resolve.command);
|
|
513
518
|
return node.item;
|
|
514
519
|
}
|
|
515
520
|
}
|
|
516
521
|
return;
|
|
517
522
|
}
|
|
518
|
-
|
|
519
|
-
return this.
|
|
523
|
+
_resolveUnknownParentChain(element) {
|
|
524
|
+
return this._resolveParent(element)
|
|
520
525
|
.then((parent) => {
|
|
521
526
|
if (!parent) {
|
|
522
527
|
return Promise.resolve([]);
|
|
523
528
|
}
|
|
524
|
-
return this.
|
|
525
|
-
.then(result => this.
|
|
529
|
+
return this._resolveUnknownParentChain(parent)
|
|
530
|
+
.then(result => this._resolveTreeNode(parent, result[result.length - 1])
|
|
526
531
|
.then(parentNode => {
|
|
527
532
|
result.push(parentNode);
|
|
528
533
|
return result;
|
|
529
534
|
}));
|
|
530
535
|
});
|
|
531
536
|
}
|
|
532
|
-
|
|
533
|
-
const node = this.
|
|
537
|
+
_resolveParent(element) {
|
|
538
|
+
const node = this._nodes.get(element);
|
|
534
539
|
if (node) {
|
|
535
|
-
return Promise.resolve(node.parent ? this.
|
|
540
|
+
return Promise.resolve(node.parent ? this._elements.get(node.parent.item.handle) : undefined);
|
|
536
541
|
}
|
|
537
|
-
return asPromise(() => this.
|
|
542
|
+
return asPromise(() => this._dataProvider.getParent(element));
|
|
538
543
|
}
|
|
539
|
-
|
|
540
|
-
const node = this.
|
|
544
|
+
_resolveTreeNode(element, parent) {
|
|
545
|
+
const node = this._nodes.get(element);
|
|
541
546
|
if (node) {
|
|
542
547
|
return Promise.resolve(node);
|
|
543
548
|
}
|
|
544
|
-
return asPromise(() => this.
|
|
545
|
-
.then(extTreeItem => this.
|
|
549
|
+
return asPromise(() => this._dataProvider.getTreeItem(element))
|
|
550
|
+
.then(extTreeItem => this._createHandle(element, extTreeItem, parent, true))
|
|
546
551
|
.then(handle => this.getChildren(parent ? parent.item.handle : undefined)
|
|
547
552
|
.then(() => {
|
|
548
553
|
const cachedElement = this.getExtensionElement(handle);
|
|
549
554
|
if (cachedElement) {
|
|
550
|
-
const node = this.
|
|
555
|
+
const node = this._nodes.get(cachedElement);
|
|
551
556
|
if (node) {
|
|
552
557
|
return Promise.resolve(node);
|
|
553
558
|
}
|
|
554
559
|
}
|
|
555
560
|
throw ( new Error(
|
|
556
|
-
`Cannot resolve tree item for element ${handle} from extension ${this.
|
|
561
|
+
`Cannot resolve tree item for element ${handle} from extension ${this._extension.identifier.value}`
|
|
557
562
|
));
|
|
558
563
|
}));
|
|
559
564
|
}
|
|
560
|
-
|
|
565
|
+
_getChildrenNodes(parentNodeOrHandle) {
|
|
561
566
|
if (parentNodeOrHandle) {
|
|
562
567
|
let parentNode;
|
|
563
568
|
if (typeof parentNodeOrHandle === 'string') {
|
|
564
569
|
const parentElement = this.getExtensionElement(parentNodeOrHandle);
|
|
565
|
-
parentNode = parentElement ? this.
|
|
570
|
+
parentNode = parentElement ? this._nodes.get(parentElement) : undefined;
|
|
566
571
|
}
|
|
567
572
|
else {
|
|
568
573
|
parentNode = parentNodeOrHandle;
|
|
569
574
|
}
|
|
570
575
|
return parentNode ? parentNode.children || undefined : undefined;
|
|
571
576
|
}
|
|
572
|
-
return this.
|
|
577
|
+
return this._roots;
|
|
573
578
|
}
|
|
574
|
-
async
|
|
575
|
-
this.
|
|
579
|
+
async _fetchChildrenNodes(parentElement) {
|
|
580
|
+
this._addChildrenToClear(parentElement);
|
|
576
581
|
const cts = ( new CancellationTokenSource(this._refreshCancellationSource.token));
|
|
577
582
|
try {
|
|
578
|
-
const parentNode = parentElement ? this.
|
|
579
|
-
const elements = await this.
|
|
583
|
+
const parentNode = parentElement ? this._nodes.get(parentElement) : undefined;
|
|
584
|
+
const elements = await this._dataProvider.getChildren(parentElement);
|
|
580
585
|
if (cts.token.isCancellationRequested) {
|
|
581
586
|
return undefined;
|
|
582
587
|
}
|
|
583
588
|
const coalescedElements = coalesce(elements || []);
|
|
584
589
|
const treeItems = await Promise.all(( coalesce(coalescedElements).map(element => {
|
|
585
|
-
return this.
|
|
590
|
+
return this._dataProvider.getTreeItem(element);
|
|
586
591
|
})));
|
|
587
592
|
if (cts.token.isCancellationRequested) {
|
|
588
593
|
return undefined;
|
|
589
594
|
}
|
|
590
595
|
const items = ( treeItems.map(
|
|
591
|
-
(item, index) => item ? this.
|
|
596
|
+
(item, index) => item ? this._createAndRegisterTreeNode(coalescedElements[index], item, parentNode) : null
|
|
592
597
|
));
|
|
593
598
|
return coalesce(items);
|
|
594
599
|
}
|
|
@@ -596,31 +601,31 @@ class ExtHostTreeView extends Disposable {
|
|
|
596
601
|
cts.dispose();
|
|
597
602
|
}
|
|
598
603
|
}
|
|
599
|
-
|
|
604
|
+
_refresh(elements) {
|
|
600
605
|
const hasRoot = ( elements.some(element => !element));
|
|
601
606
|
if (hasRoot) {
|
|
602
607
|
this._refreshCancellationSource.dispose(true);
|
|
603
608
|
this._refreshCancellationSource = ( new CancellationTokenSource());
|
|
604
|
-
this.
|
|
605
|
-
return this.
|
|
609
|
+
this._addChildrenToClear();
|
|
610
|
+
return this._proxy.$refresh(this._viewId);
|
|
606
611
|
}
|
|
607
612
|
else {
|
|
608
|
-
const handlesToRefresh = this.
|
|
613
|
+
const handlesToRefresh = this._getHandlesToRefresh(elements);
|
|
609
614
|
if (handlesToRefresh.length) {
|
|
610
|
-
return this.
|
|
615
|
+
return this._refreshHandles(handlesToRefresh);
|
|
611
616
|
}
|
|
612
617
|
}
|
|
613
618
|
return Promise.resolve(undefined);
|
|
614
619
|
}
|
|
615
|
-
|
|
620
|
+
_getHandlesToRefresh(elements) {
|
|
616
621
|
const elementsToUpdate = ( new Set());
|
|
617
|
-
const elementNodes = ( elements.map(element => this.
|
|
622
|
+
const elementNodes = ( elements.map(element => this._nodes.get(element)));
|
|
618
623
|
for (const elementNode of elementNodes) {
|
|
619
624
|
if (elementNode && !( elementsToUpdate.has(elementNode.item.handle))) {
|
|
620
625
|
let currentNode = elementNode;
|
|
621
626
|
while (currentNode && currentNode.parent && elementNodes.findIndex(node => currentNode && currentNode.parent && node && node.item.handle === currentNode.parent.item.handle) === -1) {
|
|
622
|
-
const parentElement = this.
|
|
623
|
-
currentNode = parentElement ? this.
|
|
627
|
+
const parentElement = this._elements.get(currentNode.parent.item.handle);
|
|
628
|
+
currentNode = parentElement ? this._nodes.get(parentElement) : undefined;
|
|
624
629
|
}
|
|
625
630
|
if (currentNode && !currentNode.parent) {
|
|
626
631
|
elementsToUpdate.add(elementNode.item.handle);
|
|
@@ -629,9 +634,9 @@ class ExtHostTreeView extends Disposable {
|
|
|
629
634
|
}
|
|
630
635
|
const handlesToUpdate = [];
|
|
631
636
|
elementsToUpdate.forEach((handle) => {
|
|
632
|
-
const element = this.
|
|
637
|
+
const element = this._elements.get(handle);
|
|
633
638
|
if (element) {
|
|
634
|
-
const node = this.
|
|
639
|
+
const node = this._nodes.get(element);
|
|
635
640
|
if (node && (!node.parent || !( elementsToUpdate.has(node.parent.item.handle)))) {
|
|
636
641
|
handlesToUpdate.push(handle);
|
|
637
642
|
}
|
|
@@ -639,27 +644,27 @@ class ExtHostTreeView extends Disposable {
|
|
|
639
644
|
});
|
|
640
645
|
return handlesToUpdate;
|
|
641
646
|
}
|
|
642
|
-
|
|
647
|
+
_refreshHandles(itemHandles) {
|
|
643
648
|
const itemsToRefresh = {};
|
|
644
|
-
return Promise.all(( itemHandles.map(treeItemHandle => this.
|
|
649
|
+
return Promise.all(( itemHandles.map(treeItemHandle => this._refreshNode(treeItemHandle)
|
|
645
650
|
.then(node => {
|
|
646
651
|
if (node) {
|
|
647
652
|
itemsToRefresh[treeItemHandle] = node.item;
|
|
648
653
|
}
|
|
649
654
|
}))))
|
|
650
|
-
.then(() => ( Object.keys(itemsToRefresh)).length ? this.
|
|
655
|
+
.then(() => ( Object.keys(itemsToRefresh)).length ? this._proxy.$refresh(this._viewId, itemsToRefresh) : undefined);
|
|
651
656
|
}
|
|
652
|
-
|
|
657
|
+
_refreshNode(treeItemHandle) {
|
|
653
658
|
const extElement = this.getExtensionElement(treeItemHandle);
|
|
654
659
|
if (extElement) {
|
|
655
|
-
const existing = this.
|
|
660
|
+
const existing = this._nodes.get(extElement);
|
|
656
661
|
if (existing) {
|
|
657
|
-
this.
|
|
658
|
-
return asPromise(() => this.
|
|
662
|
+
this._addChildrenToClear(extElement);
|
|
663
|
+
return asPromise(() => this._dataProvider.getTreeItem(extElement))
|
|
659
664
|
.then(extTreeItem => {
|
|
660
665
|
if (extTreeItem) {
|
|
661
|
-
const newNode = this.
|
|
662
|
-
this.
|
|
666
|
+
const newNode = this._createTreeNode(extElement, extTreeItem, existing.parent);
|
|
667
|
+
this._updateNodeCache(extElement, newNode, existing, existing.parent);
|
|
663
668
|
existing.dispose();
|
|
664
669
|
return newNode;
|
|
665
670
|
}
|
|
@@ -669,25 +674,25 @@ class ExtHostTreeView extends Disposable {
|
|
|
669
674
|
}
|
|
670
675
|
return Promise.resolve(null);
|
|
671
676
|
}
|
|
672
|
-
|
|
673
|
-
const node = this.
|
|
674
|
-
if (extTreeItem.id && ( this.
|
|
675
|
-
throw ( new Error(( localize(
|
|
677
|
+
_createAndRegisterTreeNode(element, extTreeItem, parentNode) {
|
|
678
|
+
const node = this._createTreeNode(element, extTreeItem, parentNode);
|
|
679
|
+
if (extTreeItem.id && ( this._elements.has(node.item.handle))) {
|
|
680
|
+
throw ( new Error(( localize(2637, 'Element with id {0} is already registered', extTreeItem.id))));
|
|
676
681
|
}
|
|
677
|
-
this.
|
|
678
|
-
this.
|
|
682
|
+
this._addNodeToCache(element, node);
|
|
683
|
+
this._addNodeToParentCache(node, parentNode);
|
|
679
684
|
return node;
|
|
680
685
|
}
|
|
681
|
-
|
|
686
|
+
_getTooltip(tooltip) {
|
|
682
687
|
if (MarkdownString$1.isMarkdownString(tooltip)) {
|
|
683
688
|
return MarkdownString.from(tooltip);
|
|
684
689
|
}
|
|
685
690
|
return tooltip;
|
|
686
691
|
}
|
|
687
|
-
|
|
688
|
-
return command ? { ...this.
|
|
692
|
+
_getCommand(disposable, command) {
|
|
693
|
+
return command ? { ...this._commands.toInternal(command, disposable), originalId: command.command } : undefined;
|
|
689
694
|
}
|
|
690
|
-
|
|
695
|
+
_getCheckbox(extensionTreeItem) {
|
|
691
696
|
if (extensionTreeItem.checkboxState === undefined) {
|
|
692
697
|
return undefined;
|
|
693
698
|
}
|
|
@@ -704,33 +709,33 @@ class ExtHostTreeView extends Disposable {
|
|
|
704
709
|
}
|
|
705
710
|
return { isChecked: checkboxState === TreeItemCheckboxState.Checked, tooltip, accessibilityInformation };
|
|
706
711
|
}
|
|
707
|
-
|
|
708
|
-
if (!TreeItem.isTreeItem(extensionTreeItem, this.
|
|
712
|
+
_validateTreeItem(extensionTreeItem) {
|
|
713
|
+
if (!TreeItem.isTreeItem(extensionTreeItem, this._extension)) {
|
|
709
714
|
throw ( new Error(
|
|
710
|
-
`Extension ${this.
|
|
715
|
+
`Extension ${this._extension.identifier.value} has provided an invalid tree item.`
|
|
711
716
|
));
|
|
712
717
|
}
|
|
713
718
|
}
|
|
714
|
-
|
|
715
|
-
this.
|
|
719
|
+
_createTreeNode(element, extensionTreeItem, parent) {
|
|
720
|
+
this._validateTreeItem(extensionTreeItem);
|
|
716
721
|
const disposableStore = this._register(( new DisposableStore()));
|
|
717
|
-
const handle = this.
|
|
718
|
-
const icon = this.
|
|
722
|
+
const handle = this._createHandle(element, extensionTreeItem, parent);
|
|
723
|
+
const icon = this._getLightIconPath(extensionTreeItem);
|
|
719
724
|
const item = {
|
|
720
725
|
handle,
|
|
721
726
|
parentHandle: parent ? parent.item.handle : undefined,
|
|
722
727
|
label: toTreeItemLabel(extensionTreeItem.label),
|
|
723
728
|
description: extensionTreeItem.description,
|
|
724
729
|
resourceUri: extensionTreeItem.resourceUri,
|
|
725
|
-
tooltip: this.
|
|
726
|
-
command: this.
|
|
730
|
+
tooltip: this._getTooltip(extensionTreeItem.tooltip),
|
|
731
|
+
command: this._getCommand(disposableStore, extensionTreeItem.command),
|
|
727
732
|
contextValue: extensionTreeItem.contextValue,
|
|
728
733
|
icon,
|
|
729
|
-
iconDark: this.
|
|
730
|
-
themeIcon: this.
|
|
734
|
+
iconDark: this._getDarkIconPath(extensionTreeItem) || icon,
|
|
735
|
+
themeIcon: this._getThemeIcon(extensionTreeItem),
|
|
731
736
|
collapsibleState: isUndefinedOrNull(extensionTreeItem.collapsibleState) ? TreeItemCollapsibleState.None : extensionTreeItem.collapsibleState,
|
|
732
737
|
accessibilityInformation: extensionTreeItem.accessibilityInformation,
|
|
733
|
-
checkbox: this.
|
|
738
|
+
checkbox: this._getCheckbox(extensionTreeItem),
|
|
734
739
|
};
|
|
735
740
|
return {
|
|
736
741
|
item,
|
|
@@ -741,10 +746,10 @@ class ExtHostTreeView extends Disposable {
|
|
|
741
746
|
dispose() { disposableStore.dispose(); }
|
|
742
747
|
};
|
|
743
748
|
}
|
|
744
|
-
|
|
749
|
+
_getThemeIcon(extensionTreeItem) {
|
|
745
750
|
return extensionTreeItem.iconPath instanceof ThemeIcon ? extensionTreeItem.iconPath : undefined;
|
|
746
751
|
}
|
|
747
|
-
|
|
752
|
+
_createHandle(element, { id, label, resourceUri }, parent, returnFirst) {
|
|
748
753
|
if (id) {
|
|
749
754
|
return `${ExtHostTreeView.ID_HANDLE_PREFIX}/${id}`;
|
|
750
755
|
}
|
|
@@ -752,59 +757,59 @@ class ExtHostTreeView extends Disposable {
|
|
|
752
757
|
const prefix = parent ? parent.item.handle : ExtHostTreeView.LABEL_HANDLE_PREFIX;
|
|
753
758
|
let elementId = treeItemLabel ? treeItemLabel.label : resourceUri ? basename(resourceUri) : '';
|
|
754
759
|
elementId = elementId.indexOf('/') !== -1 ? elementId.replace('/', '//') : elementId;
|
|
755
|
-
const existingHandle = ( this.
|
|
756
|
-
const childrenNodes = (this.
|
|
760
|
+
const existingHandle = ( this._nodes.has(element)) ? this._nodes.get(element).item.handle : undefined;
|
|
761
|
+
const childrenNodes = (this._getChildrenNodes(parent) || []);
|
|
757
762
|
let handle;
|
|
758
763
|
let counter = 0;
|
|
759
764
|
do {
|
|
760
765
|
handle = `${prefix}/${counter}:${elementId}`;
|
|
761
|
-
if (returnFirst || !( this.
|
|
766
|
+
if (returnFirst || !( this._elements.has(handle)) || existingHandle === handle) {
|
|
762
767
|
break;
|
|
763
768
|
}
|
|
764
769
|
counter++;
|
|
765
770
|
} while (counter <= childrenNodes.length);
|
|
766
771
|
return handle;
|
|
767
772
|
}
|
|
768
|
-
|
|
773
|
+
_getLightIconPath(extensionTreeItem) {
|
|
769
774
|
if (extensionTreeItem.iconPath && !(extensionTreeItem.iconPath instanceof ThemeIcon)) {
|
|
770
775
|
if (typeof extensionTreeItem.iconPath === 'string'
|
|
771
776
|
|| URI.isUri(extensionTreeItem.iconPath)) {
|
|
772
|
-
return this.
|
|
777
|
+
return this._getIconPath(extensionTreeItem.iconPath);
|
|
773
778
|
}
|
|
774
|
-
return this.
|
|
779
|
+
return this._getIconPath(extensionTreeItem.iconPath.light);
|
|
775
780
|
}
|
|
776
781
|
return undefined;
|
|
777
782
|
}
|
|
778
|
-
|
|
783
|
+
_getDarkIconPath(extensionTreeItem) {
|
|
779
784
|
if (extensionTreeItem.iconPath && !(extensionTreeItem.iconPath instanceof ThemeIcon) && extensionTreeItem.iconPath.dark) {
|
|
780
|
-
return this.
|
|
785
|
+
return this._getIconPath(extensionTreeItem.iconPath.dark);
|
|
781
786
|
}
|
|
782
787
|
return undefined;
|
|
783
788
|
}
|
|
784
|
-
|
|
789
|
+
_getIconPath(iconPath) {
|
|
785
790
|
if (URI.isUri(iconPath)) {
|
|
786
791
|
return iconPath;
|
|
787
792
|
}
|
|
788
793
|
return URI.file(iconPath);
|
|
789
794
|
}
|
|
790
|
-
|
|
791
|
-
this.
|
|
792
|
-
this.
|
|
795
|
+
_addNodeToCache(element, node) {
|
|
796
|
+
this._elements.set(node.item.handle, element);
|
|
797
|
+
this._nodes.set(element, node);
|
|
793
798
|
}
|
|
794
|
-
|
|
795
|
-
this.
|
|
796
|
-
this.
|
|
799
|
+
_updateNodeCache(element, newNode, existing, parentNode) {
|
|
800
|
+
this._elements.delete(newNode.item.handle);
|
|
801
|
+
this._nodes.delete(element);
|
|
797
802
|
if (newNode.item.handle !== existing.item.handle) {
|
|
798
|
-
this.
|
|
803
|
+
this._elements.delete(existing.item.handle);
|
|
799
804
|
}
|
|
800
|
-
this.
|
|
801
|
-
const childrenNodes = (this.
|
|
805
|
+
this._addNodeToCache(element, newNode);
|
|
806
|
+
const childrenNodes = (this._getChildrenNodes(parentNode) || []);
|
|
802
807
|
const childNode = childrenNodes.filter(c => c.item.handle === existing.item.handle)[0];
|
|
803
808
|
if (childNode) {
|
|
804
809
|
childrenNodes.splice(childrenNodes.indexOf(childNode), 1, newNode);
|
|
805
810
|
}
|
|
806
811
|
}
|
|
807
|
-
|
|
812
|
+
_addNodeToParentCache(node, parentNode) {
|
|
808
813
|
if (parentNode) {
|
|
809
814
|
if (!parentNode.children) {
|
|
810
815
|
parentNode.children = [];
|
|
@@ -812,21 +817,24 @@ class ExtHostTreeView extends Disposable {
|
|
|
812
817
|
parentNode.children.push(node);
|
|
813
818
|
}
|
|
814
819
|
else {
|
|
815
|
-
if (!this.
|
|
816
|
-
this.
|
|
820
|
+
if (!this._roots) {
|
|
821
|
+
this._roots = [];
|
|
817
822
|
}
|
|
818
|
-
this.
|
|
823
|
+
this._roots.push(node);
|
|
819
824
|
}
|
|
820
825
|
}
|
|
821
|
-
|
|
826
|
+
_addChildrenToClear(parentElement) {
|
|
822
827
|
if (parentElement) {
|
|
823
|
-
const node = this.
|
|
828
|
+
const node = this._nodes.get(parentElement);
|
|
824
829
|
if (node) {
|
|
825
830
|
if (node.children) {
|
|
826
831
|
for (const child of node.children) {
|
|
827
|
-
|
|
832
|
+
this._nodesToClear.add(child);
|
|
833
|
+
const childElement = this._elements.get(child.item.handle);
|
|
828
834
|
if (childElement) {
|
|
829
|
-
this.
|
|
835
|
+
this._addChildrenToClear(childElement);
|
|
836
|
+
this._nodes.delete(childElement);
|
|
837
|
+
this._elements.delete(child.item.handle);
|
|
830
838
|
}
|
|
831
839
|
}
|
|
832
840
|
}
|
|
@@ -834,36 +842,33 @@ class ExtHostTreeView extends Disposable {
|
|
|
834
842
|
}
|
|
835
843
|
}
|
|
836
844
|
else {
|
|
837
|
-
this.
|
|
845
|
+
this._addAllToClear();
|
|
838
846
|
}
|
|
839
847
|
}
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
}
|
|
851
|
-
this.nodes.delete(element);
|
|
852
|
-
this.elements.delete(node.item.handle);
|
|
853
|
-
node.dispose();
|
|
854
|
-
}
|
|
848
|
+
_addAllToClear() {
|
|
849
|
+
this._roots = undefined;
|
|
850
|
+
this._nodes.forEach(node => {
|
|
851
|
+
this._nodesToClear.add(node);
|
|
852
|
+
});
|
|
853
|
+
this._nodes.clear();
|
|
854
|
+
this._elements.clear();
|
|
855
|
+
}
|
|
856
|
+
_clearNodes(nodes) {
|
|
857
|
+
dispose(nodes);
|
|
855
858
|
}
|
|
856
|
-
|
|
857
|
-
this.
|
|
858
|
-
this.
|
|
859
|
-
this.
|
|
860
|
-
this.
|
|
859
|
+
_clearAll() {
|
|
860
|
+
this._roots = undefined;
|
|
861
|
+
this._elements.clear();
|
|
862
|
+
dispose(( this._nodes.values()));
|
|
863
|
+
this._nodes.clear();
|
|
864
|
+
dispose(this._nodesToClear);
|
|
865
|
+
this._nodesToClear.clear();
|
|
861
866
|
}
|
|
862
867
|
dispose() {
|
|
863
868
|
super.dispose();
|
|
864
869
|
this._refreshCancellationSource.dispose();
|
|
865
|
-
this.
|
|
866
|
-
this.
|
|
870
|
+
this._clearAll();
|
|
871
|
+
this._proxy.$disposeTree(this._viewId);
|
|
867
872
|
}
|
|
868
873
|
}
|
|
869
874
|
|