@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
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '../../../../../../../../external/tslib/tslib.es6.js';
|
|
3
|
+
import { getActiveWindow, addDisposableListener, createElement, isHTMLElement } from '../../../../../base/browser/dom.js';
|
|
4
|
+
import { createTrustedTypesPolicy } from '../../../../../base/browser/trustedTypes.js';
|
|
5
|
+
import { IAccessibilityService } from '../../../../../platform/accessibility/common/accessibility.service.js';
|
|
6
|
+
import { EditorOption, EditorFontLigatures } from '../../../../common/config/editorOptions.js';
|
|
7
|
+
import { Range } from '../../../../common/core/range.js';
|
|
8
|
+
import { Selection } from '../../../../common/core/selection.js';
|
|
9
|
+
import { StringBuilder } from '../../../../common/core/stringBuilder.js';
|
|
10
|
+
import { LineDecoration } from '../../../../common/viewLayout/lineDecorations.js';
|
|
11
|
+
import { RenderLineInput, renderViewLine } from '../../../../common/viewLayout/viewLineRenderer.js';
|
|
12
|
+
import { Disposable, MutableDisposable } from '../../../../../base/common/lifecycle.js';
|
|
13
|
+
import { IME } from '../../../../../base/common/ime.js';
|
|
14
|
+
import { getColumnOfNodeOffset } from '../../../viewParts/viewLines/viewLine.js';
|
|
15
|
+
|
|
16
|
+
const ttPolicy = createTrustedTypesPolicy('richScreenReaderContent', { createHTML: value => value });
|
|
17
|
+
const LINE_NUMBER_ATTRIBUTE = 'data-line-number';
|
|
18
|
+
let RichScreenReaderContent = class RichScreenReaderContent extends Disposable {
|
|
19
|
+
constructor(_domNode, _context, _viewController, _accessibilityService) {
|
|
20
|
+
super();
|
|
21
|
+
this._domNode = _domNode;
|
|
22
|
+
this._context = _context;
|
|
23
|
+
this._viewController = _viewController;
|
|
24
|
+
this._accessibilityService = _accessibilityService;
|
|
25
|
+
this._selectionChangeListener = this._register(( new MutableDisposable()));
|
|
26
|
+
this._accessibilityPageSize = 1;
|
|
27
|
+
this._ignoreSelectionChangeTime = 0;
|
|
28
|
+
this._state = ( new RichScreenReaderState([]));
|
|
29
|
+
this._strategy = ( new RichPagedScreenReaderStrategy());
|
|
30
|
+
this._renderedLines = ( new Map());
|
|
31
|
+
this._renderedSelection = ( new Selection(1, 1, 1, 1));
|
|
32
|
+
this.onConfigurationChanged(this._context.configuration.options);
|
|
33
|
+
}
|
|
34
|
+
updateScreenReaderContent(primarySelection) {
|
|
35
|
+
const focusedElement = getActiveWindow().document.activeElement;
|
|
36
|
+
if (!focusedElement || focusedElement !== this._domNode.domNode) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const isScreenReaderOptimized = this._accessibilityService.isScreenReaderOptimized();
|
|
40
|
+
if (isScreenReaderOptimized) {
|
|
41
|
+
const state = this._getScreenReaderContentLineIntervals(primarySelection);
|
|
42
|
+
if (!this._state.equals(state)) {
|
|
43
|
+
this._state = state;
|
|
44
|
+
this._renderedLines = this._renderScreenReaderContent(state);
|
|
45
|
+
}
|
|
46
|
+
if (!this._renderedSelection.equalsSelection(primarySelection)) {
|
|
47
|
+
this._renderedSelection = primarySelection;
|
|
48
|
+
this._setSelectionOnScreenReaderContent(this._context, this._renderedLines, primarySelection);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this._state = ( new RichScreenReaderState([]));
|
|
53
|
+
this._setIgnoreSelectionChangeTime('setValue');
|
|
54
|
+
this._domNode.domNode.textContent = '';
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
updateScrollTop(primarySelection) {
|
|
58
|
+
const intervals = this._state.intervals;
|
|
59
|
+
if (!intervals.length) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const viewLayout = this._context.viewModel.viewLayout;
|
|
63
|
+
const stateStartLineNumber = intervals[0].startLine;
|
|
64
|
+
const verticalOffsetOfStateStartLineNumber = viewLayout.getVerticalOffsetForLineNumber(stateStartLineNumber);
|
|
65
|
+
const verticalOffsetOfPositionLineNumber = viewLayout.getVerticalOffsetForLineNumber(primarySelection.positionLineNumber);
|
|
66
|
+
this._domNode.domNode.scrollTop = verticalOffsetOfPositionLineNumber - verticalOffsetOfStateStartLineNumber;
|
|
67
|
+
}
|
|
68
|
+
onFocusChange(newFocusValue) {
|
|
69
|
+
if (newFocusValue) {
|
|
70
|
+
this._selectionChangeListener.value = this._setSelectionChangeListener();
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this._selectionChangeListener.value = undefined;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
onConfigurationChanged(options) {
|
|
77
|
+
this._accessibilityPageSize = options.get(EditorOption.accessibilityPageSize);
|
|
78
|
+
}
|
|
79
|
+
onWillCut() {
|
|
80
|
+
this._setIgnoreSelectionChangeTime('onCut');
|
|
81
|
+
}
|
|
82
|
+
onWillPaste() {
|
|
83
|
+
this._setIgnoreSelectionChangeTime('onWillPaste');
|
|
84
|
+
}
|
|
85
|
+
_setIgnoreSelectionChangeTime(reason) {
|
|
86
|
+
this._ignoreSelectionChangeTime = Date.now();
|
|
87
|
+
}
|
|
88
|
+
_setSelectionChangeListener() {
|
|
89
|
+
let previousSelectionChangeEventTime = 0;
|
|
90
|
+
return addDisposableListener(this._domNode.domNode.ownerDocument, 'selectionchange', () => {
|
|
91
|
+
const activeElement = getActiveWindow().document.activeElement;
|
|
92
|
+
const isFocused = activeElement === this._domNode.domNode;
|
|
93
|
+
if (!isFocused) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const isScreenReaderOptimized = this._accessibilityService.isScreenReaderOptimized();
|
|
97
|
+
if (!isScreenReaderOptimized || !IME.enabled) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const now = Date.now();
|
|
101
|
+
const delta1 = now - previousSelectionChangeEventTime;
|
|
102
|
+
previousSelectionChangeEventTime = now;
|
|
103
|
+
if (delta1 < 5) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const delta2 = now - this._ignoreSelectionChangeTime;
|
|
107
|
+
this._ignoreSelectionChangeTime = 0;
|
|
108
|
+
if (delta2 < 100) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const selection = this._getEditorSelectionFromDomRange();
|
|
112
|
+
if (!selection) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
this._viewController.setSelection(selection);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
_renderScreenReaderContent(state) {
|
|
119
|
+
const nodes = [];
|
|
120
|
+
const renderedLines = ( new Map());
|
|
121
|
+
for (const interval of state.intervals) {
|
|
122
|
+
for (let lineNumber = interval.startLine; lineNumber <= interval.endLine; lineNumber++) {
|
|
123
|
+
const renderedLine = this._renderLine(lineNumber);
|
|
124
|
+
renderedLines.set(lineNumber, renderedLine);
|
|
125
|
+
nodes.push(renderedLine.domNode);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
this._setIgnoreSelectionChangeTime('setValue');
|
|
129
|
+
this._domNode.domNode.replaceChildren(...nodes);
|
|
130
|
+
return renderedLines;
|
|
131
|
+
}
|
|
132
|
+
_renderLine(viewLineNumber) {
|
|
133
|
+
const viewModel = this._context.viewModel;
|
|
134
|
+
const positionLineData = viewModel.getViewLineRenderingData(viewLineNumber);
|
|
135
|
+
const options = this._context.configuration.options;
|
|
136
|
+
const fontInfo = options.get(EditorOption.fontInfo);
|
|
137
|
+
const stopRenderingLineAfter = options.get(EditorOption.stopRenderingLineAfter);
|
|
138
|
+
const renderControlCharacters = options.get(EditorOption.renderControlCharacters);
|
|
139
|
+
const fontLigatures = options.get(EditorOption.fontLigatures);
|
|
140
|
+
const disableMonospaceOptimizations = options.get(EditorOption.disableMonospaceOptimizations);
|
|
141
|
+
const lineDecorations = LineDecoration.filter(positionLineData.inlineDecorations, viewLineNumber, positionLineData.minColumn, positionLineData.maxColumn);
|
|
142
|
+
const useMonospaceOptimizations = fontInfo.isMonospace && !disableMonospaceOptimizations;
|
|
143
|
+
const useFontLigatures = fontLigatures !== EditorFontLigatures.OFF;
|
|
144
|
+
let renderWhitespace;
|
|
145
|
+
const experimentalWhitespaceRendering = options.get(EditorOption.experimentalWhitespaceRendering);
|
|
146
|
+
if (experimentalWhitespaceRendering === 'off') {
|
|
147
|
+
renderWhitespace = options.get(EditorOption.renderWhitespace);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
renderWhitespace = 'none';
|
|
151
|
+
}
|
|
152
|
+
const renderLineInput = ( new RenderLineInput(
|
|
153
|
+
useMonospaceOptimizations,
|
|
154
|
+
fontInfo.canUseHalfwidthRightwardsArrow,
|
|
155
|
+
positionLineData.content,
|
|
156
|
+
positionLineData.continuesWithWrappedLine,
|
|
157
|
+
positionLineData.isBasicASCII,
|
|
158
|
+
positionLineData.containsRTL,
|
|
159
|
+
positionLineData.minColumn - 1,
|
|
160
|
+
positionLineData.tokens,
|
|
161
|
+
lineDecorations,
|
|
162
|
+
positionLineData.tabSize,
|
|
163
|
+
positionLineData.startVisibleColumn,
|
|
164
|
+
fontInfo.spaceWidth,
|
|
165
|
+
fontInfo.middotWidth,
|
|
166
|
+
fontInfo.wsmiddotWidth,
|
|
167
|
+
stopRenderingLineAfter,
|
|
168
|
+
renderWhitespace,
|
|
169
|
+
renderControlCharacters,
|
|
170
|
+
useFontLigatures,
|
|
171
|
+
null,
|
|
172
|
+
null,
|
|
173
|
+
0,
|
|
174
|
+
true
|
|
175
|
+
));
|
|
176
|
+
const htmlBuilder = ( new StringBuilder(10000));
|
|
177
|
+
const renderOutput = renderViewLine(renderLineInput, htmlBuilder);
|
|
178
|
+
const html = htmlBuilder.build();
|
|
179
|
+
const trustedhtml = ttPolicy?.createHTML(html) ?? html;
|
|
180
|
+
const lineHeight = viewModel.viewLayout.getLineHeightForLineNumber(viewLineNumber) + 'px';
|
|
181
|
+
const domNode = createElement('div');
|
|
182
|
+
domNode.innerHTML = trustedhtml;
|
|
183
|
+
domNode.style.lineHeight = lineHeight;
|
|
184
|
+
domNode.style.height = lineHeight;
|
|
185
|
+
domNode.setAttribute(LINE_NUMBER_ATTRIBUTE, ( viewLineNumber.toString()));
|
|
186
|
+
return ( new RichRenderedScreenReaderLine(domNode, renderOutput.characterMapping));
|
|
187
|
+
}
|
|
188
|
+
_setSelectionOnScreenReaderContent(context, renderedLines, viewSelection) {
|
|
189
|
+
const activeDocument = getActiveWindow().document;
|
|
190
|
+
const activeDocumentSelection = activeDocument.getSelection();
|
|
191
|
+
if (!activeDocumentSelection) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
const startLineNumber = viewSelection.startLineNumber;
|
|
195
|
+
const endLineNumber = viewSelection.endLineNumber;
|
|
196
|
+
const startRenderedLine = renderedLines.get(startLineNumber);
|
|
197
|
+
const endRenderedLine = renderedLines.get(endLineNumber);
|
|
198
|
+
if (!startRenderedLine || !endRenderedLine) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
const viewModel = context.viewModel;
|
|
202
|
+
const model = viewModel.model;
|
|
203
|
+
const coordinatesConverter = viewModel.coordinatesConverter;
|
|
204
|
+
const startRange = ( new Range(startLineNumber, 1, startLineNumber, viewSelection.selectionStartColumn));
|
|
205
|
+
const modelStartRange = coordinatesConverter.convertViewRangeToModelRange(startRange);
|
|
206
|
+
const characterCountForStart = model.getCharacterCountInRange(modelStartRange);
|
|
207
|
+
const endRange = ( new Range(endLineNumber, 1, endLineNumber, viewSelection.positionColumn));
|
|
208
|
+
const modelEndRange = coordinatesConverter.convertViewRangeToModelRange(endRange);
|
|
209
|
+
const characterCountForEnd = model.getCharacterCountInRange(modelEndRange);
|
|
210
|
+
const startDomPosition = startRenderedLine.characterMapping.getDomPosition(characterCountForStart);
|
|
211
|
+
const endDomPosition = endRenderedLine.characterMapping.getDomPosition(characterCountForEnd);
|
|
212
|
+
const startDomNode = startRenderedLine.domNode.firstChild;
|
|
213
|
+
const endDomNode = endRenderedLine.domNode.firstChild;
|
|
214
|
+
const startChildren = startDomNode.childNodes;
|
|
215
|
+
const endChildren = endDomNode.childNodes;
|
|
216
|
+
const startNode = startChildren.item(startDomPosition.partIndex);
|
|
217
|
+
const endNode = endChildren.item(endDomPosition.partIndex);
|
|
218
|
+
if (!startNode.firstChild || !endNode.firstChild) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
this._setIgnoreSelectionChangeTime('setRange');
|
|
222
|
+
activeDocumentSelection.setBaseAndExtent(startNode.firstChild, viewSelection.startColumn === 1 ? 0 : startDomPosition.charIndex + 1, endNode.firstChild, viewSelection.endColumn === 1 ? 0 : endDomPosition.charIndex + 1);
|
|
223
|
+
}
|
|
224
|
+
_getScreenReaderContentLineIntervals(primarySelection) {
|
|
225
|
+
return this._strategy.fromEditorSelection(this._context.viewModel, primarySelection, this._accessibilityPageSize);
|
|
226
|
+
}
|
|
227
|
+
_getEditorSelectionFromDomRange() {
|
|
228
|
+
if (!this._renderedLines) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
const selection = getActiveWindow().document.getSelection();
|
|
232
|
+
if (!selection) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
const rangeCount = selection.rangeCount;
|
|
236
|
+
if (rangeCount === 0) {
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
const range = selection.getRangeAt(0);
|
|
240
|
+
const startContainer = range.startContainer;
|
|
241
|
+
const endContainer = range.endContainer;
|
|
242
|
+
const startSpanElement = startContainer.parentElement;
|
|
243
|
+
const endSpanElement = endContainer.parentElement;
|
|
244
|
+
if (!startSpanElement || !isHTMLElement(startSpanElement) || !endSpanElement || !isHTMLElement(endSpanElement)) {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
const startLineDomNode = startSpanElement.parentElement?.parentElement;
|
|
248
|
+
const endLineDomNode = endSpanElement.parentElement?.parentElement;
|
|
249
|
+
if (!startLineDomNode || !endLineDomNode) {
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
const startLineNumberAttribute = startLineDomNode.getAttribute(LINE_NUMBER_ATTRIBUTE);
|
|
253
|
+
const endLineNumberAttribute = endLineDomNode.getAttribute(LINE_NUMBER_ATTRIBUTE);
|
|
254
|
+
if (!startLineNumberAttribute || !endLineNumberAttribute) {
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
const startLineNumber = parseInt(startLineNumberAttribute);
|
|
258
|
+
const endLineNumber = parseInt(endLineNumberAttribute);
|
|
259
|
+
const startMapping = this._renderedLines.get(startLineNumber)?.characterMapping;
|
|
260
|
+
const endMapping = this._renderedLines.get(endLineNumber)?.characterMapping;
|
|
261
|
+
if (!startMapping || !endMapping) {
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
const startColumn = getColumnOfNodeOffset(startMapping, startSpanElement, range.startOffset);
|
|
265
|
+
const endColumn = getColumnOfNodeOffset(endMapping, endSpanElement, range.endOffset);
|
|
266
|
+
if (selection.direction === 'forward') {
|
|
267
|
+
return ( new Selection(startLineNumber, startColumn, endLineNumber, endColumn));
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
return ( new Selection(endLineNumber, endColumn, startLineNumber, startColumn));
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
RichScreenReaderContent = ( __decorate([
|
|
275
|
+
( __param(3, IAccessibilityService))
|
|
276
|
+
], RichScreenReaderContent));
|
|
277
|
+
class RichRenderedScreenReaderLine {
|
|
278
|
+
constructor(domNode, characterMapping) {
|
|
279
|
+
this.domNode = domNode;
|
|
280
|
+
this.characterMapping = characterMapping;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
class LineInterval {
|
|
284
|
+
constructor(startLine, endLine) {
|
|
285
|
+
this.startLine = startLine;
|
|
286
|
+
this.endLine = endLine;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
class RichScreenReaderState {
|
|
290
|
+
constructor(intervals) {
|
|
291
|
+
this.intervals = intervals;
|
|
292
|
+
}
|
|
293
|
+
equals(other) {
|
|
294
|
+
if (this.intervals.length !== other.intervals.length) {
|
|
295
|
+
return false;
|
|
296
|
+
}
|
|
297
|
+
for (let i = 0; i < this.intervals.length; i++) {
|
|
298
|
+
if (this.intervals[i].startLine !== other.intervals[i].startLine || this.intervals[i].endLine !== other.intervals[i].endLine) {
|
|
299
|
+
return false;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
class RichPagedScreenReaderStrategy {
|
|
306
|
+
constructor() { }
|
|
307
|
+
_getPageOfLine(lineNumber, linesPerPage) {
|
|
308
|
+
return Math.floor((lineNumber - 1) / linesPerPage);
|
|
309
|
+
}
|
|
310
|
+
_getRangeForPage(context, page, linesPerPage) {
|
|
311
|
+
const offset = page * linesPerPage;
|
|
312
|
+
const startLineNumber = offset + 1;
|
|
313
|
+
const endLineNumber = Math.min(offset + linesPerPage, context.getLineCount());
|
|
314
|
+
return ( new LineInterval(startLineNumber, endLineNumber));
|
|
315
|
+
}
|
|
316
|
+
fromEditorSelection(context, viewSelection, linesPerPage) {
|
|
317
|
+
const selectionStartPage = this._getPageOfLine(viewSelection.startLineNumber, linesPerPage);
|
|
318
|
+
const selectionStartPageRange = this._getRangeForPage(context, selectionStartPage, linesPerPage);
|
|
319
|
+
const selectionEndPage = this._getPageOfLine(viewSelection.endLineNumber, linesPerPage);
|
|
320
|
+
const selectionEndPageRange = this._getRangeForPage(context, selectionEndPage, linesPerPage);
|
|
321
|
+
const lineIntervals = [{ startLine: selectionStartPageRange.startLine, endLine: selectionStartPageRange.endLine }];
|
|
322
|
+
if (selectionStartPage + 1 < selectionEndPage) {
|
|
323
|
+
lineIntervals.push({ startLine: selectionEndPageRange.startLine, endLine: selectionEndPageRange.endLine });
|
|
324
|
+
}
|
|
325
|
+
return ( new RichScreenReaderState(lineIntervals));
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
export { RichScreenReaderContent };
|
package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentSimple.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { FastDomNode } from "../../../../../base/browser/fastDomNode.js";
|
|
2
|
+
import { IAccessibilityService } from "../../../../../platform/accessibility/common/accessibility.service.js";
|
|
3
|
+
import { IComputedEditorOptions } from "../../../../common/config/editorOptions.js";
|
|
4
|
+
import { ViewContext } from "../../../../common/viewModel/viewContext.js";
|
|
5
|
+
import { Selection } from "../../../../common/core/selection.js";
|
|
6
|
+
import { Disposable } from "../../../../../base/common/lifecycle.js";
|
|
7
|
+
import { ViewController } from "../../../view/viewController.js";
|
|
8
|
+
import { IScreenReaderContent } from "./screenReaderUtils.js";
|
|
9
|
+
export declare class SimpleScreenReaderContent extends Disposable implements IScreenReaderContent {
|
|
10
|
+
private readonly _domNode;
|
|
11
|
+
private readonly _context;
|
|
12
|
+
private readonly _viewController;
|
|
13
|
+
private readonly _accessibilityService;
|
|
14
|
+
private readonly _selectionChangeListener;
|
|
15
|
+
private _accessibilityPageSize;
|
|
16
|
+
private _ignoreSelectionChangeTime;
|
|
17
|
+
private _state;
|
|
18
|
+
private _strategy;
|
|
19
|
+
constructor(_domNode: FastDomNode<HTMLElement>, _context: ViewContext, _viewController: ViewController, _accessibilityService: IAccessibilityService);
|
|
20
|
+
updateScreenReaderContent(primarySelection: Selection): void;
|
|
21
|
+
updateScrollTop(primarySelection: Selection): void;
|
|
22
|
+
onFocusChange(newFocusValue: boolean): void;
|
|
23
|
+
onConfigurationChanged(options: IComputedEditorOptions): void;
|
|
24
|
+
onWillCut(): void;
|
|
25
|
+
onWillPaste(): void;
|
|
26
|
+
_setIgnoreSelectionChangeTime(reason: string): void;
|
|
27
|
+
private _setSelectionChangeListener;
|
|
28
|
+
private _getScreenReaderContentState;
|
|
29
|
+
private _getScreenReaderRange;
|
|
30
|
+
private _getEditorSelectionFromDomRange;
|
|
31
|
+
}
|
package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentSimple.js
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '../../../../../../../../external/tslib/tslib.es6.js';
|
|
3
|
+
import { getActiveWindow, addDisposableListener } from '../../../../../base/browser/dom.js';
|
|
4
|
+
import { AccessibilitySupport } from '../../../../../platform/accessibility/common/accessibility.js';
|
|
5
|
+
import { IAccessibilityService } from '../../../../../platform/accessibility/common/accessibility.service.js';
|
|
6
|
+
import { EditorOption } from '../../../../common/config/editorOptions.js';
|
|
7
|
+
import { EndOfLineSequence } from '../../../../common/model.js';
|
|
8
|
+
import { Selection } from '../../../../common/core/selection.js';
|
|
9
|
+
import { SimplePagedScreenReaderStrategy } from '../screenReaderUtils.js';
|
|
10
|
+
import '../../../../common/core/text/positionToOffset.js';
|
|
11
|
+
import { Disposable, MutableDisposable } from '../../../../../base/common/lifecycle.js';
|
|
12
|
+
import { IME } from '../../../../../base/common/ime.js';
|
|
13
|
+
import { PositionOffsetTransformer } from '../../../../common/core/text/positionToOffsetImpl.js';
|
|
14
|
+
|
|
15
|
+
let SimpleScreenReaderContent = class SimpleScreenReaderContent extends Disposable {
|
|
16
|
+
constructor(_domNode, _context, _viewController, _accessibilityService) {
|
|
17
|
+
super();
|
|
18
|
+
this._domNode = _domNode;
|
|
19
|
+
this._context = _context;
|
|
20
|
+
this._viewController = _viewController;
|
|
21
|
+
this._accessibilityService = _accessibilityService;
|
|
22
|
+
this._selectionChangeListener = this._register(( new MutableDisposable()));
|
|
23
|
+
this._accessibilityPageSize = 1;
|
|
24
|
+
this._ignoreSelectionChangeTime = 0;
|
|
25
|
+
this._strategy = ( new SimplePagedScreenReaderStrategy());
|
|
26
|
+
this.onConfigurationChanged(this._context.configuration.options);
|
|
27
|
+
}
|
|
28
|
+
updateScreenReaderContent(primarySelection) {
|
|
29
|
+
const domNode = this._domNode.domNode;
|
|
30
|
+
const focusedElement = getActiveWindow().document.activeElement;
|
|
31
|
+
if (!focusedElement || focusedElement !== domNode) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const isScreenReaderOptimized = this._accessibilityService.isScreenReaderOptimized();
|
|
35
|
+
if (isScreenReaderOptimized) {
|
|
36
|
+
this._state = this._getScreenReaderContentState(primarySelection);
|
|
37
|
+
if (domNode.textContent !== this._state.value) {
|
|
38
|
+
this._setIgnoreSelectionChangeTime('setValue');
|
|
39
|
+
domNode.textContent = this._state.value;
|
|
40
|
+
}
|
|
41
|
+
const selection = getActiveWindow().document.getSelection();
|
|
42
|
+
if (!selection) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const data = this._getScreenReaderRange(this._state.selectionStart, this._state.selectionEnd);
|
|
46
|
+
if (!data) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
this._setIgnoreSelectionChangeTime('setRange');
|
|
50
|
+
selection.setBaseAndExtent(data.anchorNode, data.anchorOffset, data.focusNode, data.focusOffset);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this._state = undefined;
|
|
54
|
+
this._setIgnoreSelectionChangeTime('setValue');
|
|
55
|
+
this._domNode.domNode.textContent = '';
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
updateScrollTop(primarySelection) {
|
|
59
|
+
if (!this._state) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const viewLayout = this._context.viewModel.viewLayout;
|
|
63
|
+
const stateStartLineNumber = this._state.startPositionWithinEditor.lineNumber;
|
|
64
|
+
const verticalOffsetOfStateStartLineNumber = viewLayout.getVerticalOffsetForLineNumber(stateStartLineNumber);
|
|
65
|
+
const verticalOffsetOfPositionLineNumber = viewLayout.getVerticalOffsetForLineNumber(primarySelection.positionLineNumber);
|
|
66
|
+
this._domNode.domNode.scrollTop = verticalOffsetOfPositionLineNumber - verticalOffsetOfStateStartLineNumber;
|
|
67
|
+
}
|
|
68
|
+
onFocusChange(newFocusValue) {
|
|
69
|
+
if (newFocusValue) {
|
|
70
|
+
this._selectionChangeListener.value = this._setSelectionChangeListener();
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this._selectionChangeListener.value = undefined;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
onConfigurationChanged(options) {
|
|
77
|
+
this._accessibilityPageSize = options.get(EditorOption.accessibilityPageSize);
|
|
78
|
+
}
|
|
79
|
+
onWillCut() {
|
|
80
|
+
this._setIgnoreSelectionChangeTime('onCut');
|
|
81
|
+
}
|
|
82
|
+
onWillPaste() {
|
|
83
|
+
this._setIgnoreSelectionChangeTime('onWillPaste');
|
|
84
|
+
}
|
|
85
|
+
_setIgnoreSelectionChangeTime(reason) {
|
|
86
|
+
this._ignoreSelectionChangeTime = Date.now();
|
|
87
|
+
}
|
|
88
|
+
_setSelectionChangeListener() {
|
|
89
|
+
let previousSelectionChangeEventTime = 0;
|
|
90
|
+
return addDisposableListener(this._domNode.domNode.ownerDocument, 'selectionchange', () => {
|
|
91
|
+
const isScreenReaderOptimized = this._accessibilityService.isScreenReaderOptimized();
|
|
92
|
+
if (!this._state || !isScreenReaderOptimized || !IME.enabled) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const activeElement = getActiveWindow().document.activeElement;
|
|
96
|
+
const isFocused = activeElement === this._domNode.domNode;
|
|
97
|
+
if (!isFocused) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const selection = getActiveWindow().document.getSelection();
|
|
101
|
+
if (!selection) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const rangeCount = selection.rangeCount;
|
|
105
|
+
if (rangeCount === 0) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const range = selection.getRangeAt(0);
|
|
109
|
+
const now = Date.now();
|
|
110
|
+
const delta1 = now - previousSelectionChangeEventTime;
|
|
111
|
+
previousSelectionChangeEventTime = now;
|
|
112
|
+
if (delta1 < 5) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const delta2 = now - this._ignoreSelectionChangeTime;
|
|
116
|
+
this._ignoreSelectionChangeTime = 0;
|
|
117
|
+
if (delta2 < 100) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
this._viewController.setSelection(this._getEditorSelectionFromDomRange(this._context, this._state, selection.direction, range));
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
_getScreenReaderContentState(primarySelection) {
|
|
124
|
+
const state = this._strategy.fromEditorSelection(this._context.viewModel, primarySelection, this._accessibilityPageSize, this._accessibilityService.getAccessibilitySupport() === AccessibilitySupport.Unknown);
|
|
125
|
+
const endPosition = this._context.viewModel.model.getPositionAt(Infinity);
|
|
126
|
+
let value = state.value;
|
|
127
|
+
if (endPosition.column === 1 && primarySelection.getEndPosition().equals(endPosition)) {
|
|
128
|
+
value += '\n';
|
|
129
|
+
}
|
|
130
|
+
state.value = value;
|
|
131
|
+
return state;
|
|
132
|
+
}
|
|
133
|
+
_getScreenReaderRange(selectionOffsetStart, selectionOffsetEnd) {
|
|
134
|
+
const textContent = this._domNode.domNode.firstChild;
|
|
135
|
+
if (!textContent) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
const range = new globalThis.Range();
|
|
139
|
+
range.setStart(textContent, selectionOffsetStart);
|
|
140
|
+
range.setEnd(textContent, selectionOffsetEnd);
|
|
141
|
+
return {
|
|
142
|
+
anchorNode: textContent,
|
|
143
|
+
anchorOffset: selectionOffsetStart,
|
|
144
|
+
focusNode: textContent,
|
|
145
|
+
focusOffset: selectionOffsetEnd
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
_getEditorSelectionFromDomRange(context, state, direction, range) {
|
|
149
|
+
const viewModel = context.viewModel;
|
|
150
|
+
const model = viewModel.model;
|
|
151
|
+
const coordinatesConverter = viewModel.coordinatesConverter;
|
|
152
|
+
const modelScreenReaderContentStartPositionWithinEditor = coordinatesConverter.convertViewPositionToModelPosition(state.startPositionWithinEditor);
|
|
153
|
+
const offsetOfStartOfScreenReaderContent = model.getOffsetAt(modelScreenReaderContentStartPositionWithinEditor);
|
|
154
|
+
let offsetOfSelectionStart = range.startOffset + offsetOfStartOfScreenReaderContent;
|
|
155
|
+
let offsetOfSelectionEnd = range.endOffset + offsetOfStartOfScreenReaderContent;
|
|
156
|
+
const modelUsesCRLF = model.getEndOfLineSequence() === EndOfLineSequence.CRLF;
|
|
157
|
+
if (modelUsesCRLF) {
|
|
158
|
+
const screenReaderContentText = state.value;
|
|
159
|
+
const offsetTransformer = ( new PositionOffsetTransformer(screenReaderContentText));
|
|
160
|
+
const positionOfStartWithinText = offsetTransformer.getPosition(range.startOffset);
|
|
161
|
+
const positionOfEndWithinText = offsetTransformer.getPosition(range.endOffset);
|
|
162
|
+
offsetOfSelectionStart += positionOfStartWithinText.lineNumber - 1;
|
|
163
|
+
offsetOfSelectionEnd += positionOfEndWithinText.lineNumber - 1;
|
|
164
|
+
}
|
|
165
|
+
const positionOfSelectionStart = model.getPositionAt(offsetOfSelectionStart);
|
|
166
|
+
const positionOfSelectionEnd = model.getPositionAt(offsetOfSelectionEnd);
|
|
167
|
+
const selectionStart = direction === 'forward' ? positionOfSelectionStart : positionOfSelectionEnd;
|
|
168
|
+
const selectionEnd = direction === 'forward' ? positionOfSelectionEnd : positionOfSelectionStart;
|
|
169
|
+
return Selection.fromPositions(selectionStart, selectionEnd);
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
SimpleScreenReaderContent = ( __decorate([
|
|
173
|
+
( __param(3, IAccessibilityService))
|
|
174
|
+
], SimpleScreenReaderContent));
|
|
175
|
+
|
|
176
|
+
export { SimpleScreenReaderContent };
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { FastDomNode } from "../../../../../base/browser/fastDomNode.js";
|
|
2
|
+
import { Disposable } from "../../../../../base/common/lifecycle.js";
|
|
2
3
|
import { IAccessibilityService } from "../../../../../platform/accessibility/common/accessibility.service.js";
|
|
3
4
|
import { IKeybindingService } from "../../../../../platform/keybinding/common/keybinding.service.js";
|
|
4
5
|
import { ViewConfigurationChangedEvent, ViewCursorStateChangedEvent } from "../../../../common/viewEvents.js";
|
|
5
6
|
import { ViewContext } from "../../../../common/viewModel/viewContext.js";
|
|
6
7
|
import { IEditorAriaOptions } from "../../../editorBrowser.js";
|
|
7
8
|
import { RestrictedRenderingContext, RenderingContext } from "../../../view/renderingContext.js";
|
|
8
|
-
import {
|
|
9
|
-
export declare class ScreenReaderSupport {
|
|
9
|
+
import { ViewController } from "../../../view/viewController.js";
|
|
10
|
+
export declare class ScreenReaderSupport extends Disposable {
|
|
10
11
|
private readonly _domNode;
|
|
11
12
|
private readonly _context;
|
|
13
|
+
private readonly _viewController;
|
|
12
14
|
private readonly _keybindingService;
|
|
13
15
|
private readonly _accessibilityService;
|
|
14
16
|
private _contentLeft;
|
|
@@ -16,16 +18,17 @@ export declare class ScreenReaderSupport {
|
|
|
16
18
|
private _contentHeight;
|
|
17
19
|
private _divWidth;
|
|
18
20
|
private _fontInfo;
|
|
19
|
-
private
|
|
20
|
-
private _ignoreSelectionChangeTime;
|
|
21
|
+
private _renderRichContent;
|
|
21
22
|
private _primarySelection;
|
|
22
23
|
private _primaryCursorVisibleRange;
|
|
23
|
-
private
|
|
24
|
-
constructor(_domNode: FastDomNode<HTMLElement>, _context: ViewContext, _keybindingService: IKeybindingService, _accessibilityService: IAccessibilityService);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
private readonly _state;
|
|
25
|
+
constructor(_domNode: FastDomNode<HTMLElement>, _context: ViewContext, _viewController: ViewController, _keybindingService: IKeybindingService, _accessibilityService: IAccessibilityService);
|
|
26
|
+
onWillPaste(): void;
|
|
27
|
+
onWillCut(): void;
|
|
28
|
+
handleFocusChange(newFocusValue: boolean): void;
|
|
28
29
|
onConfigurationChanged(e: ViewConfigurationChangedEvent): void;
|
|
30
|
+
private _instantiateScreenReaderContent;
|
|
31
|
+
private _createScreenReaderContent;
|
|
29
32
|
private _updateConfigurationSettings;
|
|
30
33
|
private _updateDomAttributes;
|
|
31
34
|
onCursorStateChanged(e: ViewCursorStateChangedEvent): void;
|
|
@@ -35,7 +38,4 @@ export declare class ScreenReaderSupport {
|
|
|
35
38
|
private _doRender;
|
|
36
39
|
setAriaOptions(options: IEditorAriaOptions): void;
|
|
37
40
|
writeScreenReaderContent(): void;
|
|
38
|
-
get screenReaderContentState(): ScreenReaderContentState | undefined;
|
|
39
|
-
private _getScreenReaderContentState;
|
|
40
|
-
private _setSelectionOfScreenReaderContent;
|
|
41
41
|
}
|