@codingame/monaco-vscode-api 18.4.0 → 19.0.1
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 +1217 -2932
- package/monaco.js +0 -3
- package/package.json +8 -8
- package/services.d.ts +12 -8
- package/services.js +12 -7
- package/vscode/product.json.js +1 -1
- package/vscode/src/vs/base/browser/dom.d.ts +83 -2
- package/vscode/src/vs/base/browser/dom.js +280 -3
- package/vscode/src/vs/base/browser/domStylesheets.d.ts +2 -0
- package/vscode/src/vs/base/browser/domStylesheets.js +11 -1
- package/vscode/src/vs/base/browser/markdownRenderer.d.ts +1 -0
- package/vscode/src/vs/base/browser/markdownRenderer.js +34 -18
- package/vscode/src/vs/base/browser/ui/button/button.js +4 -1
- package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/vscode/src/vs/base/browser/ui/list/list.d.ts +1 -0
- package/vscode/src/vs/base/browser/ui/list/listView.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/list/listView.js +5 -5
- package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/list/listWidget.js +5 -1
- package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +3 -1
- package/vscode/src/vs/base/browser/ui/toggle/toggle.js +21 -4
- package/vscode/src/vs/base/common/arrays.d.ts +0 -1
- package/vscode/src/vs/base/common/arrays.js +1 -6
- package/vscode/src/vs/base/common/async.d.ts +1 -0
- package/vscode/src/vs/base/common/async.js +2 -1
- package/vscode/src/vs/base/common/buffer.d.ts +1 -0
- package/vscode/src/vs/base/common/buffer.js +3 -0
- package/vscode/src/vs/base/common/codicons.d.ts +7 -0
- package/vscode/src/vs/base/common/codiconsLibrary.d.ts +7 -0
- package/vscode/src/vs/base/common/codiconsLibrary.js +7 -0
- package/vscode/src/vs/base/common/collections.d.ts +1 -0
- package/vscode/src/vs/base/common/collections.js +14 -1
- package/vscode/src/vs/base/common/color.js +2 -2
- package/vscode/src/vs/base/common/dataTransfer.d.ts +1 -1
- package/vscode/src/vs/base/common/decorators.d.ts +1 -1
- package/vscode/src/vs/base/common/event.d.ts +1 -1
- package/vscode/src/vs/base/common/glob.d.ts +1 -1
- package/vscode/src/vs/base/common/glob.js +2 -2
- package/vscode/src/vs/base/common/hotReloadHelpers.js +1 -1
- package/vscode/src/vs/base/common/iterator.d.ts +1 -1
- package/vscode/src/vs/base/common/network.d.ts +1 -0
- package/vscode/src/vs/base/common/network.js +1 -0
- package/vscode/src/vs/base/common/oauth.d.ts +34 -4
- package/vscode/src/vs/base/common/oauth.js +77 -6
- package/vscode/src/vs/base/common/observableInternal/index.d.ts +2 -2
- package/vscode/src/vs/base/common/observableInternal/logging/debugger/utils.js +8 -1
- package/vscode/src/vs/base/common/observableInternal/set.js +0 -1
- package/vscode/src/vs/base/common/performance.js +1 -1
- package/vscode/src/vs/base/common/product.d.ts +2 -1
- package/vscode/src/vs/base/common/types.d.ts +4 -8
- package/vscode/src/vs/base/common/types.js +3 -3
- package/vscode/src/vs/base/common/worker/webWorker.js +1 -1
- package/vscode/src/vs/editor/browser/config/migrateOptions.js +8 -0
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +2 -0
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +18 -14
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +5 -3
- package/vscode/src/vs/editor/browser/editorBrowser.d.ts +3 -1
- package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.d.ts +3 -1
- package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.js +5 -4
- package/vscode/src/vs/editor/browser/gpu/raster/glyphRasterizer.d.ts +3 -1
- package/vscode/src/vs/editor/browser/gpu/raster/glyphRasterizer.js +3 -3
- package/vscode/src/vs/editor/browser/gpu/viewGpuContext.js +2 -3
- package/vscode/src/vs/editor/browser/observableCodeEditor.d.ts +6 -0
- package/vscode/src/vs/editor/browser/observableCodeEditor.js +38 -1
- package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +9 -1
- package/vscode/src/vs/editor/browser/services/bulkEditService.d.ts +2 -0
- package/vscode/src/vs/editor/browser/services/editorWorkerService.d.ts +4 -0
- package/vscode/src/vs/editor/browser/services/editorWorkerService.js +18 -2
- package/vscode/src/vs/editor/browser/services/inlineCompletionsService.d.ts +32 -0
- package/vscode/src/vs/editor/browser/services/inlineCompletionsService.js +141 -0
- package/vscode/src/vs/editor/browser/services/inlineCompletionsService.service.d.ts +11 -0
- package/vscode/src/vs/editor/browser/services/inlineCompletionsService.service.js +6 -0
- package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +2 -2
- package/vscode/src/vs/editor/browser/view/viewController.js +5 -1
- package/vscode/src/vs/editor/browser/view.d.ts +1 -1
- package/vscode/src/vs/editor/browser/view.js +5 -5
- package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.d.ts +1 -1
- package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +3 -3
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +14 -6
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLineOptions.d.ts +1 -0
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLineOptions.js +3 -7
- package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +12 -2
- package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +4 -2
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +8 -2
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +39 -9
- package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +12 -12
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css +52 -49
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +15 -15
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +3 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +2 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +7 -7
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +5 -5
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +7 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +7 -7
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +5 -5
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +2 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
- package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +54 -54
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +173 -160
- package/vscode/src/vs/editor/common/config/editorOptions.js +645 -570
- package/vscode/src/vs/editor/common/config/fontInfo.js +1 -1
- package/vscode/src/vs/editor/common/core/2d/point.d.ts +5 -0
- package/vscode/src/vs/editor/common/core/2d/point.js +23 -0
- package/vscode/src/vs/editor/common/core/editorColorRegistry.js +71 -71
- package/vscode/src/vs/editor/common/core/edits/edit.d.ts +6 -0
- package/vscode/src/vs/editor/common/core/edits/edit.js +41 -0
- package/vscode/src/vs/editor/common/core/edits/lineEdit.d.ts +17 -11
- package/vscode/src/vs/editor/common/core/edits/lineEdit.js +36 -9
- package/vscode/src/vs/editor/common/core/edits/stringEdit.d.ts +63 -16
- package/vscode/src/vs/editor/common/core/edits/stringEdit.js +205 -48
- package/vscode/src/vs/editor/common/core/edits/textEdit.d.ts +5 -1
- package/vscode/src/vs/editor/common/core/edits/textEdit.js +18 -2
- package/vscode/src/vs/editor/common/core/text/abstractText.d.ts +3 -1
- package/vscode/src/vs/editor/common/core/text/abstractText.js +10 -1
- package/vscode/src/vs/editor/common/core/text/getPositionOffsetTransformerFromTextModel.js +2 -1
- package/vscode/src/vs/editor/common/core/text/positionToOffset.d.ts +2 -28
- package/vscode/src/vs/editor/common/core/text/positionToOffset.js +11 -92
- package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.d.ts +37 -0
- package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.js +104 -0
- package/vscode/src/vs/editor/common/cursor/cursor.d.ts +3 -2
- package/vscode/src/vs/editor/common/cursor/cursor.js +24 -16
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +3 -1
- package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +1 -0
- package/vscode/src/vs/editor/common/diff/rangeMapping.js +11 -1
- package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
- package/vscode/src/vs/editor/common/editorContextKeys.js +46 -46
- package/vscode/src/vs/editor/common/languages/defaultDocumentColorsComputer.js +1 -1
- package/vscode/src/vs/editor/common/languages/languageConfiguration.d.ts +5 -1
- package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.d.ts +1 -0
- package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +7 -1
- package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
- package/vscode/src/vs/editor/common/languages.d.ts +31 -27
- package/vscode/src/vs/editor/common/languages.js +57 -62
- package/vscode/src/vs/editor/common/model/editStack.d.ts +2 -1
- package/vscode/src/vs/editor/common/model/editStack.js +4 -3
- package/vscode/src/vs/editor/common/model/intervalTree.d.ts +2 -2
- package/vscode/src/vs/editor/common/model/intervalTree.js +24 -7
- package/vscode/src/vs/editor/common/model/textModel.d.ts +24 -10
- package/vscode/src/vs/editor/common/model/textModel.js +114 -53
- package/vscode/src/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +1 -1
- package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.d.ts +0 -3
- package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.js +1 -13
- package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.d.ts +2 -0
- package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.js +13 -2
- package/vscode/src/vs/editor/common/model.d.ts +8 -2
- package/vscode/src/vs/editor/common/services/editorWebWorker.d.ts +4 -0
- package/vscode/src/vs/editor/common/services/editorWebWorker.js +14 -0
- package/vscode/src/vs/editor/common/services/editorWorker.service.d.ts +4 -0
- package/vscode/src/vs/editor/common/services/findSectionHeaders.js +7 -0
- package/vscode/src/vs/editor/common/services/languageFeatures.service.d.ts +1 -2
- package/vscode/src/vs/editor/common/services/languageFeaturesService.d.ts +1 -2
- package/vscode/src/vs/editor/common/services/languageFeaturesService.js +0 -1
- package/vscode/src/vs/editor/common/services/model.service.d.ts +2 -1
- package/vscode/src/vs/editor/common/services/modelService.d.ts +2 -1
- package/vscode/src/vs/editor/common/services/modelService.js +3 -2
- package/vscode/src/vs/editor/common/services/textResourceConfiguration.service.d.ts +1 -1
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +159 -157
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +160 -159
- package/vscode/src/vs/editor/common/standaloneStrings.js +50 -49
- package/vscode/src/vs/editor/common/textModelEditReason.d.ts +94 -12
- package/vscode/src/vs/editor/common/textModelEditReason.js +86 -20
- package/vscode/src/vs/editor/common/textModelEvents.d.ts +24 -0
- package/vscode/src/vs/editor/common/textModelEvents.js +33 -1
- package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +22 -1
- package/vscode/src/vs/editor/common/tokens/lineTokens.js +79 -2
- package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
- package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.d.ts +5 -1
- package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +10 -4
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +3 -1
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +39 -12
- package/vscode/src/vs/editor/common/viewModel/viewModelLines.d.ts +3 -3
- package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +6 -6
- package/vscode/src/vs/editor/common/viewModel.d.ts +3 -1
- package/vscode/src/vs/editor/common/viewModel.js +2 -1
- package/vscode/src/vs/editor/common/viewModelEventDispatcher.d.ts +11 -3
- package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +14 -1
- 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 +20 -20
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -1
- 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/lightBulbWidget.js +9 -9
- package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
- package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.css +2 -7
- 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/defaultDocumentColorProvider.js +3 -3
- package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -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/comment/browser/lineCommentCommand.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +9 -5
- package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
- 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.js +9 -9
- 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.js +16 -16
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +29 -29
- 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 +10 -5
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
- 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/markdownHoverParticipant.js +9 -9
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +10 -6
- package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
- package/vscode/src/vs/editor/contrib/indentation/browser/indentation.d.ts +0 -1
- package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +22 -47
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +19 -19
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +11 -11
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.d.ts +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +11 -12
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +3 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/animation.d.ts +7 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/animation.js +5 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.d.ts +3 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +35 -30
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.js +2 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/graph.d.ts +9 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/graph.js +66 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +12 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +144 -100
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +7 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +100 -49
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.d.ts +3 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +4 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +37 -29
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +39 -13
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +150 -162
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.d.ts +0 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +2 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.d.ts +2 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +12 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +9 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +13 -10
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +2 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.d.ts +5 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.d.ts +5 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +5 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.d.ts +0 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +103 -62
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.d.ts +25 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js +13 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +1 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +4 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +7 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +16 -12
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.d.ts +3 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +34 -34
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +13 -8
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +6 -7
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.d.ts +2 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js +20 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +4 -11
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.css +10 -7
- 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.js +30 -30
- 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/middleScroll/browser/middleScroll.contribution.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScroll.contribution.js +5 -0
- package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScroll.css +20 -0
- package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScrollController.d.ts +9 -0
- package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScrollController.js +132 -0
- package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +9 -9
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +21 -17
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css +0 -1
- package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
- package/vscode/src/vs/editor/contrib/rename/browser/rename.js +14 -12
- 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 -0
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +5 -5
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.d.ts +2 -1
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +3 -2
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css +24 -24
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +13 -13
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +18 -10
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.d.ts +4 -3
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +34 -39
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.d.ts +5 -6
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +65 -70
- package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +13 -11
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +1 -1
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +18 -18
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +4 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +1 -1
- 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.js +24 -24
- 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 +3 -3
- package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +1 -1
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +5 -2
- package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +79 -69
- package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
- package/vscode/src/vs/platform/actionWidget/browser/actionList.js +4 -4
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +7 -7
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
- package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
- package/vscode/src/vs/platform/actions/common/actions.d.ts +0 -1
- package/vscode/src/vs/platform/actions/common/actions.js +0 -1
- 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/configuration/common/configuration.js +4 -1
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +11 -11
- 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/dialogs/common/dialogs.service.d.ts +1 -1
- package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
- package/vscode/src/vs/platform/environment/common/argv.d.ts +11 -0
- package/vscode/src/vs/platform/environment/common/environment.service.d.ts +0 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
- 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/extensionManagementUtil.js +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 +9 -3
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +9 -3
- package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
- package/vscode/src/vs/platform/files/common/files.d.ts +6 -1
- package/vscode/src/vs/platform/files/common/files.js +11 -7
- package/vscode/src/vs/platform/files/common/files.service.d.ts +1 -0
- package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.d.ts +2 -2
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
- package/vscode/src/vs/platform/keybinding/common/keybinding.service.d.ts +2 -1
- package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
- package/vscode/src/vs/platform/list/browser/listService.d.ts +1 -7
- package/vscode/src/vs/platform/list/browser/listService.js +27 -27
- package/vscode/src/vs/platform/log/common/log.d.ts +4 -0
- package/vscode/src/vs/platform/log/common/log.js +15 -7
- package/vscode/src/vs/platform/markers/common/markerService.js +4 -3
- package/vscode/src/vs/platform/markers/common/markers.d.ts +2 -0
- package/vscode/src/vs/platform/markers/common/markers.js +6 -6
- package/vscode/src/vs/platform/mcp/common/mcpManagement.service.d.ts +9 -4
- package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.service.d.ts +10 -0
- package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.service.js +6 -0
- package/vscode/src/vs/platform/notification/common/notification.d.ts +1 -0
- package/vscode/src/vs/platform/notification/common/notification.js +12 -2
- package/vscode/src/vs/platform/product/common/product.js +3 -3
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
- package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +7 -6
- package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +7 -12
- package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
- package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +2 -1
- package/vscode/src/vs/platform/remote/common/remoteAgentEnvironment.d.ts +1 -0
- package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.d.ts +2 -2
- package/vscode/src/vs/platform/request/common/request.d.ts +1 -1
- package/vscode/src/vs/platform/request/common/request.js +18 -18
- package/vscode/src/vs/platform/request/common/request.service.d.ts +1 -1
- package/vscode/src/vs/platform/telemetry/common/commonProperties.d.ts +1 -1
- package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +2 -0
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
- package/vscode/src/vs/platform/terminal/common/terminal.d.ts +2 -1
- package/vscode/src/vs/platform/terminal/common/terminal.service.d.ts +2 -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.d.ts +1 -0
- package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -94
- 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/theme/common/themeService.d.ts +1 -1
- package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +3 -1
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +6 -2
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.d.ts +2 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +7 -6
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +1 -1
- package/vscode/src/vs/platform/window/common/window.d.ts +1 -0
- package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +5 -7
- package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +25 -24
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.d.ts +10 -4
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +109 -77
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +2 -1
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +22 -0
- package/vscode/src/vs/workbench/api/common/extHostCommands.js +3 -0
- package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostDocuments.d.ts +4 -2
- package/vscode/src/vs/workbench/api/common/extHostDocuments.js +35 -5
- package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -4
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.d.ts +1 -5
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +34 -182
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.d.ts +2 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +7 -2
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +2 -3
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +3 -1
- package/vscode/src/vs/workbench/api/common/extHostMcp.js +71 -20
- package/vscode/src/vs/workbench/api/common/extHostNotebook.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +7 -5
- package/vscode/src/vs/workbench/api/common/extHostNotebookEditor.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +2 -1
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -3
- package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.d.ts +4 -3
- package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +5 -2
- package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +3 -0
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +16 -7
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +20 -8
- package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +16 -13
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +11 -12
- package/vscode/src/vs/workbench/api/common/extHostWebviewMessaging.d.ts +2 -2
- 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.js +6 -6
- package/vscode/src/vs/workbench/browser/contextkeys.d.ts +1 -0
- package/vscode/src/vs/workbench/browser/contextkeys.js +6 -1
- 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.d.ts +1 -0
- package/vscode/src/vs/workbench/common/contextkeys.js +73 -72
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
- package/vscode/src/vs/workbench/common/editor.d.ts +2 -1
- package/vscode/src/vs/workbench/common/editor.js +6 -6
- package/vscode/src/vs/workbench/common/theme.js +160 -160
- package/vscode/src/vs/workbench/common/views.js +4 -4
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +157 -160
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service.js +6 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +6 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +9 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +62 -41
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +24 -5
- 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 +29 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.service.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.d.ts +152 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.js +160 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +2 -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 +5 -5
- package/vscode/src/vs/workbench/contrib/chat/common/constants.js +11 -24
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.d.ts +4 -2
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +5 -1
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +22 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tokens.d.ts +20 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +6 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +2 -17
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{types.d.ts → promptsService.d.ts} +14 -7
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{types.service.d.ts → promptsService.service.d.ts} +6 -7
- package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +15 -15
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +6 -6
- 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.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +73 -65
- package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +7 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
- package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +3 -3
- 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/mcpTypes.d.ts +55 -9
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +29 -13
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +16 -6
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.js +2 -1
- package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.d.ts +119 -31
- package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.js +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 +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/preferences/common/preferences.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.service.d.ts +8 -0
- package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.service.js +6 -0
- 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.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +10 -0
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.d.ts +4 -3
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +13 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +6 -2
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService.service.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/testing/common/constants.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/testing/common/constants.js +13 -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 +1 -0
- package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +6 -4
- package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +4 -0
- package/vscode/src/vs/workbench/services/authentication/common/authentication.service.d.ts +1 -0
- package/vscode/src/vs/workbench/services/authentication/common/authenticationQuery.d.ts +132 -0
- package/vscode/src/vs/workbench/services/authentication/common/authenticationQuery.service.d.ts +20 -0
- package/vscode/src/vs/workbench/services/authentication/common/authenticationQuery.service.js +6 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.service.d.ts +2 -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 +6 -0
- package/vscode/src/vs/workbench/services/coreExperimentation/common/coreExperimentationService.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/editor/common/editorService.service.d.ts +2 -2
- package/vscode/src/vs/workbench/services/environment/common/environmentService.service.d.ts +1 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +1 -0
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +84 -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/layout/browser/layoutService.d.ts +2 -2
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +17 -17
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +5 -1
- 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 +16 -0
- package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service.js +6 -0
- 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 +3 -3
- 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 -12
- 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 -1
- 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 +2 -2
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.service.d.ts +1 -1
- package/vscode-dts/vscode.proposed.authProviderSpecific.d.ts +30 -0
- package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +10 -0
- package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +10 -0
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +139 -10
- package/vscode-dts/vscode.proposed.d.ts +3 -1
- package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +5 -0
- package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +21 -4
- package/vscode-dts/vscode.proposed.languageModelDataPart.d.ts +1 -0
- package/vscode-dts/vscode.proposed.remoteCodingAgents.d.ts +8 -0
- package/vscode-dts/vscode.proposed.terminalCompletionProvider.d.ts +2 -0
- package/vscode-dts/vscode.proposed.textDocumentChangeReason.d.ts +30 -0
- package/workbench.d.ts +1 -1
- package/vscode/src/vs/base/browser/domImpl/domObservable.d.ts +0 -3
- package/vscode/src/vs/base/browser/domImpl/domObservable.js +0 -16
- package/vscode/src/vs/base/browser/domImpl/n.d.ts +0 -83
- package/vscode/src/vs/base/browser/domImpl/n.js +0 -283
- package/vscode/src/vs/editor/common/codecs/frontMatterCodec/tokens/index.d.ts +0 -5
- package/vscode/src/vs/editor/common/codecs/simpleCodec/tokens/index.d.ts +0 -20
- package/vscode/src/vs/editor/common/tokens/tokenArray.d.ts +0 -25
- package/vscode/src/vs/editor/common/tokens/tokenArray.js +0 -84
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEditsAdapter.d.ts +0 -16
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEditsAdapter.js +0 -94
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.d.ts +0 -243
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +0 -426
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.d.ts +0 -601
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +0 -1185
- package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.d.ts +0 -130
- package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +0 -235
- package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.d.ts +0 -4
- package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +0 -6
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/index.d.ts +0 -3
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfigPathsService.service.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfigPathsService.service.js +0 -6
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExpService.service.d.ts +0 -6
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExpService.service.js +0 -6
- package/vscode-dts/vscode.proposed.inlineEdit.d.ts +0 -103
- /package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{types.service.js → promptsService.service.js} +0 -0
|
@@ -1,6 +1,37 @@
|
|
|
1
1
|
import { OffsetRange } from "../ranges/offsetRange.js";
|
|
2
|
+
import { StringText } from "../text/abstractText.js";
|
|
2
3
|
import { BaseEdit, BaseReplacement } from "./edit.js";
|
|
3
|
-
export declare class
|
|
4
|
+
export declare abstract class BaseStringEdit<T extends BaseStringReplacement<T> = BaseStringReplacement<any>, TEdit extends BaseStringEdit<T, TEdit> = BaseStringEdit<any, any>> extends BaseEdit<T, TEdit> {
|
|
5
|
+
get TReplacement(): T;
|
|
6
|
+
static composeOrUndefined<T extends BaseStringEdit>(edits: readonly T[]): T | undefined;
|
|
7
|
+
apply(base: string): string;
|
|
8
|
+
inverse(baseStr: string): StringEdit;
|
|
9
|
+
tryRebase(base: StringEdit): StringEdit;
|
|
10
|
+
tryRebase(base: StringEdit, noOverlap: true): StringEdit | undefined;
|
|
11
|
+
toJson(): ISerializedStringEdit;
|
|
12
|
+
isNeutralOn(text: string): boolean;
|
|
13
|
+
removeCommonSuffixPrefix(originalText: string): StringEdit;
|
|
14
|
+
normalizeEOL(eol: "\r\n" | "\n"): StringEdit;
|
|
15
|
+
normalizeOnSource(source: string): StringEdit;
|
|
16
|
+
removeCommonSuffixAndPrefix(source: string): TEdit;
|
|
17
|
+
applyOnText(docContents: StringText): StringText;
|
|
18
|
+
mapData<TData extends IEditData<TData>>(f: (replacement: T) => TData): AnnotatedStringEdit<TData>;
|
|
19
|
+
}
|
|
20
|
+
export declare abstract class BaseStringReplacement<T extends BaseStringReplacement<T> = BaseStringReplacement<any>> extends BaseReplacement<T> {
|
|
21
|
+
readonly newText: string;
|
|
22
|
+
constructor(range: OffsetRange, newText: string);
|
|
23
|
+
getNewLength(): number;
|
|
24
|
+
toString(): string;
|
|
25
|
+
replace(str: string): string;
|
|
26
|
+
isNeutralOn(text: string): boolean;
|
|
27
|
+
removeCommonSuffixPrefix(originalText: string): StringReplacement;
|
|
28
|
+
normalizeEOL(eol: "\r\n" | "\n"): StringReplacement;
|
|
29
|
+
removeCommonSuffixAndPrefix(source: string): T;
|
|
30
|
+
removeCommonPrefix(source: string): T;
|
|
31
|
+
removeCommonSuffix(source: string): T;
|
|
32
|
+
toEdit(): StringEdit;
|
|
33
|
+
}
|
|
34
|
+
export declare class StringEdit extends BaseStringEdit<StringReplacement, StringEdit> {
|
|
4
35
|
static readonly empty: StringEdit;
|
|
5
36
|
static create(replacements: readonly StringReplacement[]): StringEdit;
|
|
6
37
|
static single(replacement: StringReplacement): StringEdit;
|
|
@@ -9,15 +40,9 @@ export declare class StringEdit extends BaseEdit<StringReplacement, StringEdit>
|
|
|
9
40
|
static delete(range: OffsetRange): StringEdit;
|
|
10
41
|
static fromJson(data: ISerializedStringEdit): StringEdit;
|
|
11
42
|
static compose(edits: readonly StringEdit[]): StringEdit;
|
|
43
|
+
static composeSequentialReplacements(replacements: readonly StringReplacement[]): StringEdit;
|
|
12
44
|
constructor(replacements: readonly StringReplacement[]);
|
|
13
45
|
protected _createNew(replacements: readonly StringReplacement[]): StringEdit;
|
|
14
|
-
apply(base: string): string;
|
|
15
|
-
inverse(baseStr: string): StringEdit;
|
|
16
|
-
tryRebase(base: StringEdit): StringEdit;
|
|
17
|
-
tryRebase(base: StringEdit, noOverlap: true): StringEdit | undefined;
|
|
18
|
-
toJson(): ISerializedStringEdit;
|
|
19
|
-
isNeutralOn(text: string): boolean;
|
|
20
|
-
removeCommonSuffixPrefix(originalText: string): StringEdit;
|
|
21
46
|
}
|
|
22
47
|
export type ISerializedStringEdit = ISerializedStringReplacement[];
|
|
23
48
|
export interface ISerializedStringReplacement {
|
|
@@ -25,19 +50,41 @@ export interface ISerializedStringReplacement {
|
|
|
25
50
|
pos: number;
|
|
26
51
|
len: number;
|
|
27
52
|
}
|
|
28
|
-
export declare class StringReplacement extends
|
|
29
|
-
readonly newText: string;
|
|
53
|
+
export declare class StringReplacement extends BaseStringReplacement<StringReplacement> {
|
|
30
54
|
static insert(offset: number, text: string): StringReplacement;
|
|
31
55
|
static replace(range: OffsetRange, text: string): StringReplacement;
|
|
56
|
+
static delete(range: OffsetRange): StringReplacement;
|
|
32
57
|
static fromJson(data: ISerializedStringReplacement): StringReplacement;
|
|
33
|
-
constructor(range: OffsetRange, newText: string);
|
|
34
58
|
equals(other: StringReplacement): boolean;
|
|
35
|
-
getNewLength(): number;
|
|
36
59
|
tryJoinTouching(other: StringReplacement): StringReplacement | undefined;
|
|
37
60
|
slice(range: OffsetRange, rangeInReplacement: OffsetRange): StringReplacement;
|
|
38
|
-
toString(): string;
|
|
39
|
-
replace(str: string): string;
|
|
40
|
-
isNeutralOn(text: string): boolean;
|
|
41
|
-
removeCommonSuffixPrefix(originalText: string): StringReplacement;
|
|
42
61
|
}
|
|
43
62
|
export declare function applyEditsToRanges(sortedRanges: OffsetRange[], edit: StringEdit): OffsetRange[];
|
|
63
|
+
export interface IEditData<T> {
|
|
64
|
+
join(other: T): T | undefined;
|
|
65
|
+
}
|
|
66
|
+
export declare class VoidEditData implements IEditData<VoidEditData> {
|
|
67
|
+
join(other: VoidEditData): VoidEditData | undefined;
|
|
68
|
+
}
|
|
69
|
+
export declare class AnnotatedStringEdit<T extends IEditData<T>> extends BaseStringEdit<AnnotatedStringReplacement<T>, AnnotatedStringEdit<T>> {
|
|
70
|
+
static readonly empty: AnnotatedStringEdit<never>;
|
|
71
|
+
static create<T extends IEditData<T>>(replacements: readonly AnnotatedStringReplacement<T>[]): AnnotatedStringEdit<T>;
|
|
72
|
+
static single<T extends IEditData<T>>(replacement: AnnotatedStringReplacement<T>): AnnotatedStringEdit<T>;
|
|
73
|
+
static replace<T extends IEditData<T>>(range: OffsetRange, replacement: string, data: T): AnnotatedStringEdit<T>;
|
|
74
|
+
static insert<T extends IEditData<T>>(offset: number, replacement: string, data: T): AnnotatedStringEdit<T>;
|
|
75
|
+
static delete<T extends IEditData<T>>(range: OffsetRange, data: T): AnnotatedStringEdit<T>;
|
|
76
|
+
static compose<T extends IEditData<T>>(edits: readonly AnnotatedStringEdit<T>[]): AnnotatedStringEdit<T>;
|
|
77
|
+
constructor(replacements: readonly AnnotatedStringReplacement<T>[]);
|
|
78
|
+
protected _createNew(replacements: readonly AnnotatedStringReplacement<T>[]): AnnotatedStringEdit<T>;
|
|
79
|
+
toStringEdit(): StringEdit;
|
|
80
|
+
}
|
|
81
|
+
export declare class AnnotatedStringReplacement<T extends IEditData<T>> extends BaseStringReplacement<AnnotatedStringReplacement<T>> {
|
|
82
|
+
readonly data: T;
|
|
83
|
+
static insert<T extends IEditData<T>>(offset: number, text: string, data: T): AnnotatedStringReplacement<T>;
|
|
84
|
+
static replace<T extends IEditData<T>>(range: OffsetRange, text: string, data: T): AnnotatedStringReplacement<T>;
|
|
85
|
+
static delete<T extends IEditData<T>>(range: OffsetRange, data: T): AnnotatedStringReplacement<T>;
|
|
86
|
+
constructor(range: OffsetRange, newText: string, data: T);
|
|
87
|
+
equals(other: AnnotatedStringReplacement<T>): boolean;
|
|
88
|
+
tryJoinTouching(other: AnnotatedStringReplacement<T>): AnnotatedStringReplacement<T> | undefined;
|
|
89
|
+
slice(range: OffsetRange, rangeInReplacement?: OffsetRange): AnnotatedStringReplacement<T>;
|
|
90
|
+
}
|
|
@@ -1,31 +1,16 @@
|
|
|
1
1
|
|
|
2
2
|
import { commonPrefixLength, commonSuffixLength } from '../../../../base/common/strings.js';
|
|
3
3
|
import { OffsetRange } from '../ranges/offsetRange.js';
|
|
4
|
+
import { StringText } from '../text/abstractText.js';
|
|
4
5
|
import { BaseEdit, BaseReplacement } from './edit.js';
|
|
5
6
|
|
|
6
|
-
class
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return ( new StringEdit(replacements));
|
|
10
|
-
}
|
|
11
|
-
static single(replacement) {
|
|
12
|
-
return ( new StringEdit([replacement]));
|
|
7
|
+
class BaseStringEdit extends BaseEdit {
|
|
8
|
+
get TReplacement() {
|
|
9
|
+
throw ( new Error('TReplacement is not defined for BaseStringEdit'));
|
|
13
10
|
}
|
|
14
|
-
static
|
|
15
|
-
return ( new StringEdit([( new StringReplacement(range, replacement))]));
|
|
16
|
-
}
|
|
17
|
-
static insert(offset, replacement) {
|
|
18
|
-
return ( new StringEdit([( new StringReplacement(OffsetRange.emptyAt(offset), replacement))]));
|
|
19
|
-
}
|
|
20
|
-
static delete(range) {
|
|
21
|
-
return ( new StringEdit([( new StringReplacement(range, ''))]));
|
|
22
|
-
}
|
|
23
|
-
static fromJson(data) {
|
|
24
|
-
return ( new StringEdit(( data.map(StringReplacement.fromJson))));
|
|
25
|
-
}
|
|
26
|
-
static compose(edits) {
|
|
11
|
+
static composeOrUndefined(edits) {
|
|
27
12
|
if (edits.length === 0) {
|
|
28
|
-
return
|
|
13
|
+
return undefined;
|
|
29
14
|
}
|
|
30
15
|
let result = edits[0];
|
|
31
16
|
for (let i = 1; i < edits.length; i++) {
|
|
@@ -33,12 +18,6 @@ class StringEdit extends BaseEdit {
|
|
|
33
18
|
}
|
|
34
19
|
return result;
|
|
35
20
|
}
|
|
36
|
-
constructor(replacements) {
|
|
37
|
-
super(replacements);
|
|
38
|
-
}
|
|
39
|
-
_createNew(replacements) {
|
|
40
|
-
return ( new StringEdit(replacements));
|
|
41
|
-
}
|
|
42
21
|
apply(base) {
|
|
43
22
|
const resultText = [];
|
|
44
23
|
let pos = 0;
|
|
@@ -114,34 +93,34 @@ class StringEdit extends BaseEdit {
|
|
|
114
93
|
}
|
|
115
94
|
return ( new StringEdit(edits));
|
|
116
95
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
static insert(offset, text) {
|
|
120
|
-
return ( new StringReplacement(OffsetRange.emptyAt(offset), text));
|
|
96
|
+
normalizeEOL(eol) {
|
|
97
|
+
return ( new StringEdit(( this.replacements.map(edit => edit.normalizeEOL(eol)))));
|
|
121
98
|
}
|
|
122
|
-
|
|
123
|
-
|
|
99
|
+
normalizeOnSource(source) {
|
|
100
|
+
const result = this.apply(source);
|
|
101
|
+
const edit = StringReplacement.replace(OffsetRange.ofLength(source.length), result);
|
|
102
|
+
const e = edit.removeCommonSuffixAndPrefix(source);
|
|
103
|
+
if (e.isEmpty) {
|
|
104
|
+
return StringEdit.empty;
|
|
105
|
+
}
|
|
106
|
+
return e.toEdit();
|
|
124
107
|
}
|
|
125
|
-
|
|
126
|
-
return (
|
|
108
|
+
removeCommonSuffixAndPrefix(source) {
|
|
109
|
+
return this._createNew(( this.replacements.map(e => e.removeCommonSuffixAndPrefix(source)))).normalize();
|
|
110
|
+
}
|
|
111
|
+
applyOnText(docContents) {
|
|
112
|
+
return ( new StringText(this.apply(docContents.value)));
|
|
127
113
|
}
|
|
114
|
+
mapData(f) {
|
|
115
|
+
return ( new AnnotatedStringEdit(( this.replacements.map(e => ( new AnnotatedStringReplacement(e.replaceRange, e.newText, f(e)))))));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
class BaseStringReplacement extends BaseReplacement {
|
|
128
119
|
constructor(range, newText) {
|
|
129
120
|
super(range);
|
|
130
121
|
this.newText = newText;
|
|
131
122
|
}
|
|
132
|
-
equals(other) {
|
|
133
|
-
return this.replaceRange.equals(other.replaceRange) && this.newText === other.newText;
|
|
134
|
-
}
|
|
135
123
|
getNewLength() { return this.newText.length; }
|
|
136
|
-
tryJoinTouching(other) {
|
|
137
|
-
return ( new StringReplacement(
|
|
138
|
-
this.replaceRange.joinRightTouching(other.replaceRange),
|
|
139
|
-
this.newText + other.newText
|
|
140
|
-
));
|
|
141
|
-
}
|
|
142
|
-
slice(range, rangeInReplacement) {
|
|
143
|
-
return ( new StringReplacement(range, rangeInReplacement.substring(this.newText)));
|
|
144
|
-
}
|
|
145
124
|
toString() {
|
|
146
125
|
return `${this.replaceRange} -> "${this.newText}"`;
|
|
147
126
|
}
|
|
@@ -162,6 +141,111 @@ class StringReplacement extends BaseReplacement {
|
|
|
162
141
|
const newText = this.newText.substring(prefixLen, this.newText.length - suffixLen);
|
|
163
142
|
return ( new StringReplacement(replaceRange, newText));
|
|
164
143
|
}
|
|
144
|
+
normalizeEOL(eol) {
|
|
145
|
+
const newText = this.newText.replace(/\r\n|\n/g, eol);
|
|
146
|
+
return ( new StringReplacement(this.replaceRange, newText));
|
|
147
|
+
}
|
|
148
|
+
removeCommonSuffixAndPrefix(source) {
|
|
149
|
+
return this.removeCommonSuffix(source).removeCommonPrefix(source);
|
|
150
|
+
}
|
|
151
|
+
removeCommonPrefix(source) {
|
|
152
|
+
const oldText = this.replaceRange.substring(source);
|
|
153
|
+
const prefixLen = commonPrefixLength(oldText, this.newText);
|
|
154
|
+
if (prefixLen === 0) {
|
|
155
|
+
return this;
|
|
156
|
+
}
|
|
157
|
+
return this.slice(this.replaceRange.deltaStart(prefixLen), ( new OffsetRange(prefixLen, this.newText.length)));
|
|
158
|
+
}
|
|
159
|
+
removeCommonSuffix(source) {
|
|
160
|
+
const oldText = this.replaceRange.substring(source);
|
|
161
|
+
const suffixLen = commonSuffixLength(oldText, this.newText);
|
|
162
|
+
if (suffixLen === 0) {
|
|
163
|
+
return this;
|
|
164
|
+
}
|
|
165
|
+
return this.slice(this.replaceRange.deltaEnd(-suffixLen), ( new OffsetRange(0, this.newText.length - suffixLen)));
|
|
166
|
+
}
|
|
167
|
+
toEdit() {
|
|
168
|
+
return ( new StringEdit([this]));
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
class StringEdit extends BaseStringEdit {
|
|
172
|
+
static { this.empty = ( new StringEdit([])); }
|
|
173
|
+
static create(replacements) {
|
|
174
|
+
return ( new StringEdit(replacements));
|
|
175
|
+
}
|
|
176
|
+
static single(replacement) {
|
|
177
|
+
return ( new StringEdit([replacement]));
|
|
178
|
+
}
|
|
179
|
+
static replace(range, replacement) {
|
|
180
|
+
return ( new StringEdit([( new StringReplacement(range, replacement))]));
|
|
181
|
+
}
|
|
182
|
+
static insert(offset, replacement) {
|
|
183
|
+
return ( new StringEdit([( new StringReplacement(OffsetRange.emptyAt(offset), replacement))]));
|
|
184
|
+
}
|
|
185
|
+
static delete(range) {
|
|
186
|
+
return ( new StringEdit([( new StringReplacement(range, ''))]));
|
|
187
|
+
}
|
|
188
|
+
static fromJson(data) {
|
|
189
|
+
return ( new StringEdit(( data.map(StringReplacement.fromJson))));
|
|
190
|
+
}
|
|
191
|
+
static compose(edits) {
|
|
192
|
+
if (edits.length === 0) {
|
|
193
|
+
return StringEdit.empty;
|
|
194
|
+
}
|
|
195
|
+
let result = edits[0];
|
|
196
|
+
for (let i = 1; i < edits.length; i++) {
|
|
197
|
+
result = result.compose(edits[i]);
|
|
198
|
+
}
|
|
199
|
+
return result;
|
|
200
|
+
}
|
|
201
|
+
static composeSequentialReplacements(replacements) {
|
|
202
|
+
let edit = StringEdit.empty;
|
|
203
|
+
let curEditReplacements = [];
|
|
204
|
+
for (const r of replacements) {
|
|
205
|
+
const last = curEditReplacements.at(-1);
|
|
206
|
+
if (!last || r.replaceRange.isBefore(last.replaceRange)) {
|
|
207
|
+
curEditReplacements.push(r);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
edit = edit.compose(StringEdit.create(curEditReplacements.reverse()));
|
|
211
|
+
curEditReplacements = [r];
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
edit = edit.compose(StringEdit.create(curEditReplacements.reverse()));
|
|
215
|
+
return edit;
|
|
216
|
+
}
|
|
217
|
+
constructor(replacements) {
|
|
218
|
+
super(replacements);
|
|
219
|
+
}
|
|
220
|
+
_createNew(replacements) {
|
|
221
|
+
return ( new StringEdit(replacements));
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
class StringReplacement extends BaseStringReplacement {
|
|
225
|
+
static insert(offset, text) {
|
|
226
|
+
return ( new StringReplacement(OffsetRange.emptyAt(offset), text));
|
|
227
|
+
}
|
|
228
|
+
static replace(range, text) {
|
|
229
|
+
return ( new StringReplacement(range, text));
|
|
230
|
+
}
|
|
231
|
+
static delete(range) {
|
|
232
|
+
return ( new StringReplacement(range, ''));
|
|
233
|
+
}
|
|
234
|
+
static fromJson(data) {
|
|
235
|
+
return ( new StringReplacement(OffsetRange.ofStartAndLength(data.pos, data.len), data.txt));
|
|
236
|
+
}
|
|
237
|
+
equals(other) {
|
|
238
|
+
return this.replaceRange.equals(other.replaceRange) && this.newText === other.newText;
|
|
239
|
+
}
|
|
240
|
+
tryJoinTouching(other) {
|
|
241
|
+
return ( new StringReplacement(
|
|
242
|
+
this.replaceRange.joinRightTouching(other.replaceRange),
|
|
243
|
+
this.newText + other.newText
|
|
244
|
+
));
|
|
245
|
+
}
|
|
246
|
+
slice(range, rangeInReplacement) {
|
|
247
|
+
return ( new StringReplacement(range, rangeInReplacement.substring(this.newText)));
|
|
248
|
+
}
|
|
165
249
|
}
|
|
166
250
|
function applyEditsToRanges(sortedRanges, edit) {
|
|
167
251
|
sortedRanges = sortedRanges.slice();
|
|
@@ -211,5 +295,78 @@ function applyEditsToRanges(sortedRanges, edit) {
|
|
|
211
295
|
}
|
|
212
296
|
return result;
|
|
213
297
|
}
|
|
298
|
+
class AnnotatedStringEdit extends BaseStringEdit {
|
|
299
|
+
static { this.empty = ( new AnnotatedStringEdit([])); }
|
|
300
|
+
static create(replacements) {
|
|
301
|
+
return ( new AnnotatedStringEdit(replacements));
|
|
302
|
+
}
|
|
303
|
+
static single(replacement) {
|
|
304
|
+
return ( new AnnotatedStringEdit([replacement]));
|
|
305
|
+
}
|
|
306
|
+
static replace(range, replacement, data) {
|
|
307
|
+
return ( new AnnotatedStringEdit([( new AnnotatedStringReplacement(range, replacement, data))]));
|
|
308
|
+
}
|
|
309
|
+
static insert(offset, replacement, data) {
|
|
310
|
+
return ( new AnnotatedStringEdit([( new AnnotatedStringReplacement(OffsetRange.emptyAt(offset), replacement, data))]));
|
|
311
|
+
}
|
|
312
|
+
static delete(range, data) {
|
|
313
|
+
return ( new AnnotatedStringEdit([( new AnnotatedStringReplacement(range, '', data))]));
|
|
314
|
+
}
|
|
315
|
+
static compose(edits) {
|
|
316
|
+
if (edits.length === 0) {
|
|
317
|
+
return AnnotatedStringEdit.empty;
|
|
318
|
+
}
|
|
319
|
+
let result = edits[0];
|
|
320
|
+
for (let i = 1; i < edits.length; i++) {
|
|
321
|
+
result = result.compose(edits[i]);
|
|
322
|
+
}
|
|
323
|
+
return result;
|
|
324
|
+
}
|
|
325
|
+
constructor(replacements) {
|
|
326
|
+
super(replacements);
|
|
327
|
+
}
|
|
328
|
+
_createNew(replacements) {
|
|
329
|
+
return ( new AnnotatedStringEdit(replacements));
|
|
330
|
+
}
|
|
331
|
+
toStringEdit() {
|
|
332
|
+
return ( new StringEdit(( this.replacements.map(e => ( new StringReplacement(e.replaceRange, e.newText))))));
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
class AnnotatedStringReplacement extends BaseStringReplacement {
|
|
336
|
+
static insert(offset, text, data) {
|
|
337
|
+
return ( new AnnotatedStringReplacement(OffsetRange.emptyAt(offset), text, data));
|
|
338
|
+
}
|
|
339
|
+
static replace(range, text, data) {
|
|
340
|
+
return ( new AnnotatedStringReplacement(range, text, data));
|
|
341
|
+
}
|
|
342
|
+
static delete(range, data) {
|
|
343
|
+
return ( new AnnotatedStringReplacement(range, '', data));
|
|
344
|
+
}
|
|
345
|
+
constructor(range, newText, data) {
|
|
346
|
+
super(range, newText);
|
|
347
|
+
this.data = data;
|
|
348
|
+
}
|
|
349
|
+
equals(other) {
|
|
350
|
+
return this.replaceRange.equals(other.replaceRange) && this.newText === other.newText && this.data === other.data;
|
|
351
|
+
}
|
|
352
|
+
tryJoinTouching(other) {
|
|
353
|
+
const joined = this.data.join(other.data);
|
|
354
|
+
if (joined === undefined) {
|
|
355
|
+
return undefined;
|
|
356
|
+
}
|
|
357
|
+
return ( new AnnotatedStringReplacement(
|
|
358
|
+
this.replaceRange.joinRightTouching(other.replaceRange),
|
|
359
|
+
this.newText + other.newText,
|
|
360
|
+
joined
|
|
361
|
+
));
|
|
362
|
+
}
|
|
363
|
+
slice(range, rangeInReplacement) {
|
|
364
|
+
return ( new AnnotatedStringReplacement(
|
|
365
|
+
range,
|
|
366
|
+
rangeInReplacement ? rangeInReplacement.substring(this.newText) : this.newText,
|
|
367
|
+
this.data
|
|
368
|
+
));
|
|
369
|
+
}
|
|
370
|
+
}
|
|
214
371
|
|
|
215
|
-
export { StringEdit, StringReplacement, applyEditsToRanges };
|
|
372
|
+
export { AnnotatedStringEdit, AnnotatedStringReplacement, BaseStringEdit, BaseStringReplacement, StringEdit, StringReplacement, applyEditsToRanges };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ISingleEditOperation } from "../editOperation.js";
|
|
2
|
-
import { StringEdit } from "./stringEdit.js";
|
|
2
|
+
import { StringEdit, StringReplacement } from "./stringEdit.js";
|
|
3
3
|
import { Position } from "../position.js";
|
|
4
4
|
import { Range } from "../range.js";
|
|
5
5
|
import { AbstractText } from "../text/abstractText.js";
|
|
@@ -7,7 +7,9 @@ export declare class TextEdit {
|
|
|
7
7
|
readonly replacements: readonly TextReplacement[];
|
|
8
8
|
static fromStringEdit(edit: StringEdit, initialState: AbstractText): TextEdit;
|
|
9
9
|
static replace(originalRange: Range, newText: string): TextEdit;
|
|
10
|
+
static delete(range: Range): TextEdit;
|
|
10
11
|
static insert(position: Position, newText: string): TextEdit;
|
|
12
|
+
static fromParallelReplacementsUnsorted(replacements: readonly TextReplacement[]): TextEdit;
|
|
11
13
|
constructor(replacements: readonly TextReplacement[]);
|
|
12
14
|
normalize(): TextEdit;
|
|
13
15
|
mapPosition(position: Position): Position | Range;
|
|
@@ -26,6 +28,8 @@ export declare class TextReplacement {
|
|
|
26
28
|
readonly range: Range;
|
|
27
29
|
readonly text: string;
|
|
28
30
|
static joinReplacements(replacements: TextReplacement[], initialValue: AbstractText): TextReplacement;
|
|
31
|
+
static fromStringReplacement(replacement: StringReplacement, initialState: AbstractText): TextReplacement;
|
|
32
|
+
static delete(range: Range): TextReplacement;
|
|
29
33
|
constructor(range: Range, text: string);
|
|
30
34
|
get isEmpty(): boolean;
|
|
31
35
|
static equals(first: TextReplacement, second: TextReplacement): boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { equals } from '../../../../base/common/arrays.js';
|
|
2
|
+
import { compareBy, equals } from '../../../../base/common/arrays.js';
|
|
3
3
|
import { assertFn, checkAdjacentItems } from '../../../../base/common/assert.js';
|
|
4
4
|
import { BugIndicatingError } from '../../../../base/common/errors.js';
|
|
5
5
|
import { commonPrefixLength, commonSuffixLength } from '../../../../base/common/strings.js';
|
|
@@ -10,15 +10,22 @@ import { StringText } from '../text/abstractText.js';
|
|
|
10
10
|
|
|
11
11
|
class TextEdit {
|
|
12
12
|
static fromStringEdit(edit, initialState) {
|
|
13
|
-
const edits = ( edit.replacements.map(e =>
|
|
13
|
+
const edits = ( edit.replacements.map(e => TextReplacement.fromStringReplacement(e, initialState)));
|
|
14
14
|
return ( new TextEdit(edits));
|
|
15
15
|
}
|
|
16
16
|
static replace(originalRange, newText) {
|
|
17
17
|
return ( new TextEdit([( new TextReplacement(originalRange, newText))]));
|
|
18
18
|
}
|
|
19
|
+
static delete(range) {
|
|
20
|
+
return ( new TextEdit([( new TextReplacement(range, ''))]));
|
|
21
|
+
}
|
|
19
22
|
static insert(position, newText) {
|
|
20
23
|
return ( new TextEdit([( new TextReplacement(Range.fromPositions(position, position), newText))]));
|
|
21
24
|
}
|
|
25
|
+
static fromParallelReplacementsUnsorted(replacements) {
|
|
26
|
+
const r = replacements.slice().sort(compareBy(i => i.range, Range.compareRangesUsingStarts));
|
|
27
|
+
return ( new TextEdit(r));
|
|
28
|
+
}
|
|
22
29
|
constructor(replacements) {
|
|
23
30
|
this.replacements = replacements;
|
|
24
31
|
assertFn(() => checkAdjacentItems(replacements, (a, b) => a.range.getEndPosition().isBeforeOrEqual(b.range.getStartPosition())));
|
|
@@ -233,6 +240,15 @@ class TextReplacement {
|
|
|
233
240
|
}
|
|
234
241
|
return ( new TextReplacement(Range.fromPositions(startPos, endPos), newText));
|
|
235
242
|
}
|
|
243
|
+
static fromStringReplacement(replacement, initialState) {
|
|
244
|
+
return ( new TextReplacement(
|
|
245
|
+
initialState.getTransformer().getRange(replacement.replaceRange),
|
|
246
|
+
replacement.newText
|
|
247
|
+
));
|
|
248
|
+
}
|
|
249
|
+
static delete(range) {
|
|
250
|
+
return ( new TextReplacement(range, ''));
|
|
251
|
+
}
|
|
236
252
|
constructor(range, text) {
|
|
237
253
|
this.range = range;
|
|
238
254
|
this.text = text;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Position } from "../position.js";
|
|
2
|
-
import { PositionOffsetTransformer } from "./
|
|
2
|
+
import { PositionOffsetTransformer } from "./positionToOffsetImpl.js";
|
|
3
3
|
import { Range } from "../range.js";
|
|
4
4
|
import { LineRange } from "../ranges/lineRange.js";
|
|
5
5
|
import { TextLength } from "./textLength.js";
|
|
@@ -14,6 +14,8 @@ export declare abstract class AbstractText {
|
|
|
14
14
|
getTransformer(): PositionOffsetTransformer;
|
|
15
15
|
getLineAt(lineNumber: number): string;
|
|
16
16
|
getLines(): string[];
|
|
17
|
+
getLinesOfRange(range: LineRange): string[];
|
|
18
|
+
equals(other: AbstractText): boolean;
|
|
17
19
|
}
|
|
18
20
|
export declare class LineBasedText extends AbstractText {
|
|
19
21
|
private readonly _getLineContent;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { assert } from '../../../../base/common/assert.js';
|
|
3
3
|
import { splitLines } from '../../../../base/common/strings.js';
|
|
4
4
|
import { Position } from '../position.js';
|
|
5
|
-
import { PositionOffsetTransformer } from './
|
|
5
|
+
import { PositionOffsetTransformer } from './positionToOffsetImpl.js';
|
|
6
6
|
import { Range } from '../range.js';
|
|
7
7
|
import { TextLength } from './textLength.js';
|
|
8
8
|
|
|
@@ -35,6 +35,15 @@ class AbstractText {
|
|
|
35
35
|
const value = this.getValue();
|
|
36
36
|
return splitLines(value);
|
|
37
37
|
}
|
|
38
|
+
getLinesOfRange(range) {
|
|
39
|
+
return range.mapToLineArray(lineNumber => this.getLineAt(lineNumber));
|
|
40
|
+
}
|
|
41
|
+
equals(other) {
|
|
42
|
+
if (this === other) {
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
return this.getValue() === other.getValue();
|
|
46
|
+
}
|
|
38
47
|
}
|
|
39
48
|
class LineBasedText extends AbstractText {
|
|
40
49
|
constructor(_getLineContent, _lineCount) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
|
|
2
|
-
import
|
|
2
|
+
import './positionToOffset.js';
|
|
3
|
+
import { PositionOffsetTransformerBase } from './positionToOffsetImpl.js';
|
|
3
4
|
|
|
4
5
|
function getPositionOffsetTransformerFromTextModel(textModel) {
|
|
5
6
|
return ( new PositionOffsetTransformerWithTextModel(textModel));
|
|
@@ -1,28 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { Position } from "../position.js";
|
|
4
|
-
import { Range } from "../range.js";
|
|
5
|
-
import { TextReplacement, TextEdit } from "../edits/textEdit.js";
|
|
6
|
-
import { TextLength } from "./textLength.js";
|
|
7
|
-
export declare abstract class PositionOffsetTransformerBase {
|
|
8
|
-
abstract getOffset(position: Position): number;
|
|
9
|
-
getOffsetRange(range: Range): OffsetRange;
|
|
10
|
-
abstract getPosition(offset: number): Position;
|
|
11
|
-
getRange(offsetRange: OffsetRange): Range;
|
|
12
|
-
getStringEdit(edit: TextEdit): StringEdit;
|
|
13
|
-
getStringReplacement(edit: TextReplacement): StringReplacement;
|
|
14
|
-
getSingleTextEdit(edit: StringReplacement): TextReplacement;
|
|
15
|
-
getTextEdit(edit: StringEdit): TextEdit;
|
|
16
|
-
}
|
|
17
|
-
export declare class PositionOffsetTransformer extends PositionOffsetTransformerBase {
|
|
18
|
-
readonly text: string;
|
|
19
|
-
private readonly lineStartOffsetByLineIdx;
|
|
20
|
-
private readonly lineEndOffsetByLineIdx;
|
|
21
|
-
constructor(text: string);
|
|
22
|
-
getOffset(position: Position): number;
|
|
23
|
-
private _validatePosition;
|
|
24
|
-
getPosition(offset: number): Position;
|
|
25
|
-
getTextLength(offsetRange: OffsetRange): TextLength;
|
|
26
|
-
get textLength(): TextLength;
|
|
27
|
-
getLineLength(lineNumber: number): number;
|
|
28
|
-
}
|
|
1
|
+
export { PositionOffsetTransformerBase, PositionOffsetTransformer } from "./positionToOffsetImpl.js";
|
|
2
|
+
export declare function ensureDependenciesAreSet(): void;
|
|
@@ -1,95 +1,14 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
import { Range } from '../range.js';
|
|
7
|
-
import { TextReplacement, TextEdit } from '../edits/textEdit.js';
|
|
2
|
+
import { StringReplacement, StringEdit } from '../edits/stringEdit.js';
|
|
3
|
+
import { TextEdit, TextReplacement } from '../edits/textEdit.js';
|
|
4
|
+
import { _setPositionOffsetTransformerDependencies } from './positionToOffsetImpl.js';
|
|
5
|
+
export { PositionOffsetTransformer, PositionOffsetTransformerBase } from './positionToOffsetImpl.js';
|
|
8
6
|
import { TextLength } from './textLength.js';
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
getRange(offsetRange) {
|
|
18
|
-
return Range.fromPositions(this.getPosition(offsetRange.start), this.getPosition(offsetRange.endExclusive));
|
|
19
|
-
}
|
|
20
|
-
getStringEdit(edit) {
|
|
21
|
-
const edits = ( edit.replacements.map(e => this.getStringReplacement(e)));
|
|
22
|
-
return ( new StringEdit(edits));
|
|
23
|
-
}
|
|
24
|
-
getStringReplacement(edit) {
|
|
25
|
-
return ( new StringReplacement(this.getOffsetRange(edit.range), edit.text));
|
|
26
|
-
}
|
|
27
|
-
getSingleTextEdit(edit) {
|
|
28
|
-
return ( new TextReplacement(this.getRange(edit.replaceRange), edit.newText));
|
|
29
|
-
}
|
|
30
|
-
getTextEdit(edit) {
|
|
31
|
-
const edits = ( edit.replacements.map(e => this.getSingleTextEdit(e)));
|
|
32
|
-
return ( new TextEdit(edits));
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
class PositionOffsetTransformer extends PositionOffsetTransformerBase {
|
|
36
|
-
constructor(text) {
|
|
37
|
-
super();
|
|
38
|
-
this.text = text;
|
|
39
|
-
this.lineStartOffsetByLineIdx = [];
|
|
40
|
-
this.lineEndOffsetByLineIdx = [];
|
|
41
|
-
this.lineStartOffsetByLineIdx.push(0);
|
|
42
|
-
for (let i = 0; i < text.length; i++) {
|
|
43
|
-
if (text.charAt(i) === '\n') {
|
|
44
|
-
this.lineStartOffsetByLineIdx.push(i + 1);
|
|
45
|
-
if (i > 0 && text.charAt(i - 1) === '\r') {
|
|
46
|
-
this.lineEndOffsetByLineIdx.push(i - 1);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
this.lineEndOffsetByLineIdx.push(i);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
this.lineEndOffsetByLineIdx.push(text.length);
|
|
54
|
-
}
|
|
55
|
-
getOffset(position) {
|
|
56
|
-
const valPos = this._validatePosition(position);
|
|
57
|
-
return this.lineStartOffsetByLineIdx[valPos.lineNumber - 1] + valPos.column - 1;
|
|
58
|
-
}
|
|
59
|
-
_validatePosition(position) {
|
|
60
|
-
if (position.lineNumber < 1) {
|
|
61
|
-
return ( new Position(1, 1));
|
|
62
|
-
}
|
|
63
|
-
const lineCount = this.textLength.lineCount + 1;
|
|
64
|
-
if (position.lineNumber > lineCount) {
|
|
65
|
-
const lineLength = this.getLineLength(lineCount);
|
|
66
|
-
return ( new Position(lineCount, lineLength + 1));
|
|
67
|
-
}
|
|
68
|
-
if (position.column < 1) {
|
|
69
|
-
return ( new Position(position.lineNumber, 1));
|
|
70
|
-
}
|
|
71
|
-
const lineLength = this.getLineLength(position.lineNumber);
|
|
72
|
-
if (position.column - 1 > lineLength) {
|
|
73
|
-
return ( new Position(position.lineNumber, lineLength + 1));
|
|
74
|
-
}
|
|
75
|
-
return position;
|
|
76
|
-
}
|
|
77
|
-
getPosition(offset) {
|
|
78
|
-
const idx = findLastIdxMonotonous(this.lineStartOffsetByLineIdx, i => i <= offset);
|
|
79
|
-
const lineNumber = idx + 1;
|
|
80
|
-
const column = offset - this.lineStartOffsetByLineIdx[idx] + 1;
|
|
81
|
-
return ( new Position(lineNumber, column));
|
|
82
|
-
}
|
|
83
|
-
getTextLength(offsetRange) {
|
|
84
|
-
return TextLength.ofRange(this.getRange(offsetRange));
|
|
85
|
-
}
|
|
86
|
-
get textLength() {
|
|
87
|
-
const lineIdx = this.lineStartOffsetByLineIdx.length - 1;
|
|
88
|
-
return ( new TextLength(lineIdx, this.text.length - this.lineStartOffsetByLineIdx[lineIdx]));
|
|
89
|
-
}
|
|
90
|
-
getLineLength(lineNumber) {
|
|
91
|
-
return this.lineEndOffsetByLineIdx[lineNumber - 1] - this.lineStartOffsetByLineIdx[lineNumber - 1];
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export { PositionOffsetTransformer, PositionOffsetTransformerBase };
|
|
8
|
+
_setPositionOffsetTransformerDependencies({
|
|
9
|
+
StringEdit: StringEdit,
|
|
10
|
+
StringReplacement: StringReplacement,
|
|
11
|
+
TextReplacement: TextReplacement,
|
|
12
|
+
TextEdit: TextEdit,
|
|
13
|
+
TextLength: TextLength,
|
|
14
|
+
});
|