@codingame/monaco-vscode-api 16.1.1 → 17.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/missing-services.js +105 -0
- package/monaco.d.ts +2 -2
- package/package.json +10 -9
- package/services.d.ts +4 -4
- package/services.js +3 -3
- package/vscode/product.json.js +3 -0
- package/vscode/src/vs/base/browser/dom.d.ts +1 -0
- package/vscode/src/vs/base/browser/dom.js +6 -1
- package/vscode/src/vs/base/browser/mouseEvent.d.ts +2 -0
- package/vscode/src/vs/base/browser/mouseEvent.js +1 -0
- package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/vscode/src/vs/base/browser/ui/dropdown/dropdown.d.ts +2 -3
- package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
- package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +1 -0
- package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +6 -1
- package/vscode/src/vs/base/browser/ui/list/listPaging.d.ts +2 -1
- package/vscode/src/vs/base/browser/ui/severityIcon/media/severityIcon.css +1 -3
- package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +5 -1
- package/vscode/src/vs/base/browser/ui/toggle/toggle.js +17 -4
- package/vscode/src/vs/base/common/arrays.d.ts +1 -0
- package/vscode/src/vs/base/common/arrays.js +5 -2
- package/vscode/src/vs/base/common/async.js +9 -2
- package/vscode/src/vs/base/common/codicons.d.ts +5 -0
- package/vscode/src/vs/base/common/codiconsLibrary.d.ts +5 -0
- package/vscode/src/vs/base/common/codiconsLibrary.js +5 -0
- package/vscode/src/vs/base/common/color.d.ts +1 -0
- package/vscode/src/vs/base/common/color.js +10 -0
- package/vscode/src/vs/base/common/comparers.d.ts +2 -2
- package/vscode/src/vs/base/common/decorators.d.ts +1 -1
- package/vscode/src/vs/base/common/glob.d.ts +3 -0
- package/vscode/src/vs/base/common/glob.js +10 -1
- package/vscode/src/vs/base/common/marshallingIds.d.ts +2 -1
- package/vscode/src/vs/base/common/marshallingIds.js +1 -0
- package/vscode/src/vs/base/common/observableInternal/autorun.d.ts +6 -8
- package/vscode/src/vs/base/common/observableInternal/autorun.js +15 -11
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +0 -10
- package/vscode/src/vs/base/common/observableInternal/changeTracker.d.ts +23 -0
- package/vscode/src/vs/base/common/observableInternal/changeTracker.js +30 -0
- package/vscode/src/vs/base/common/observableInternal/derived.d.ts +18 -13
- package/vscode/src/vs/base/common/observableInternal/derived.js +47 -18
- package/vscode/src/vs/base/common/observableInternal/index.d.ts +6 -5
- package/vscode/src/vs/base/common/observableInternal/index.js +2 -2
- package/vscode/src/vs/base/common/observableInternal/logging/logging.d.ts +2 -2
- package/vscode/src/vs/base/common/observableInternal/promise.d.ts +28 -0
- package/vscode/src/vs/base/common/observableInternal/promise.js +65 -0
- package/vscode/src/vs/base/common/observableInternal/reducer.d.ts +16 -0
- package/vscode/src/vs/base/common/observableInternal/reducer.js +36 -0
- package/vscode/src/vs/base/common/observableInternal/utils.d.ts +2 -0
- package/vscode/src/vs/base/common/observableInternal/utils.js +19 -11
- package/vscode/src/vs/base/common/product.d.ts +5 -0
- package/vscode/src/vs/base/common/sseParser.d.ts +26 -0
- package/vscode/src/vs/base/common/sseParser.js +134 -0
- package/vscode/src/vs/base/common/stopwatch.js +2 -2
- package/vscode/src/vs/base/common/strings.d.ts +1 -0
- package/vscode/src/vs/base/common/strings.js +8 -19
- package/vscode/src/vs/base/common/ternarySearchTree.d.ts +1 -0
- package/vscode/src/vs/base/common/ternarySearchTree.js +55 -13
- package/vscode/src/vs/editor/browser/config/editorConfiguration.d.ts +1 -0
- package/vscode/src/vs/editor/browser/config/editorConfiguration.js +3 -1
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.css +1 -1
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +6 -3
- package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +86 -54
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.d.ts +0 -1
- package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +12 -8
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.d.ts +0 -1
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +9 -6
- package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +3 -3
- package/vscode/src/vs/editor/browser/controller/mouseTarget.js +2 -2
- package/vscode/src/vs/editor/browser/editorBrowser.d.ts +1 -1
- package/vscode/src/vs/editor/browser/gpu/objectCollectionBuffer.d.ts +1 -1
- package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +2 -0
- package/vscode/src/vs/editor/browser/services/hoverService/hover.css +8 -0
- package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.d.ts +1 -0
- package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +6 -1
- package/vscode/src/vs/editor/browser/view/renderingContext.d.ts +1 -0
- package/vscode/src/vs/editor/browser/view/renderingContext.js +3 -0
- package/vscode/src/vs/editor/browser/view/viewLayer.d.ts +3 -1
- package/vscode/src/vs/editor/browser/view/viewLayer.js +13 -6
- package/vscode/src/vs/editor/browser/view/viewOverlays.js +4 -1
- package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +4 -5
- package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +4 -2
- package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.d.ts +0 -1
- package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +6 -6
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +3 -0
- package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +2 -2
- package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +1 -1
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +5 -2
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +7 -5
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.d.ts +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +10 -8
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +19 -15
- package/vscode/src/vs/editor/common/codecs/frontMatterCodec/tokens/index.d.ts +5 -0
- package/vscode/src/vs/editor/common/codecs/simpleCodec/tokens/index.d.ts +20 -0
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +24 -23
- package/vscode/src/vs/editor/common/config/editorOptions.js +1 -2
- package/vscode/src/vs/editor/common/core/columnRange.d.ts +11 -0
- package/vscode/src/vs/editor/common/core/columnRange.js +32 -0
- package/vscode/src/vs/editor/common/core/offsetEdit.d.ts +1 -0
- package/vscode/src/vs/editor/common/core/offsetEdit.js +10 -0
- package/vscode/src/vs/editor/common/core/offsetRange.d.ts +1 -0
- package/vscode/src/vs/editor/common/core/offsetRange.js +3 -0
- package/vscode/src/vs/editor/common/core/positionToOffset.d.ts +15 -3
- package/vscode/src/vs/editor/common/core/positionToOffset.js +45 -11
- package/vscode/src/vs/editor/common/core/rangeSingleLine.d.ts +9 -0
- package/vscode/src/vs/editor/common/core/rangeSingleLine.js +27 -0
- package/vscode/src/vs/editor/common/core/textEdit.d.ts +1 -0
- package/vscode/src/vs/editor/common/core/textEdit.js +41 -0
- package/vscode/src/vs/editor/common/editorCommon.d.ts +1 -0
- package/vscode/src/vs/editor/common/languages/modesRegistry.d.ts +2 -2
- package/vscode/src/vs/editor/common/languages/modesRegistry.js +4 -2
- package/vscode/src/vs/editor/common/languages.d.ts +22 -1
- package/vscode/src/vs/editor/common/languages.js +7 -1
- package/vscode/src/vs/editor/common/model/textModel.d.ts +5 -1
- package/vscode/src/vs/editor/common/model/textModel.js +80 -18
- package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +1 -1
- package/vscode/src/vs/editor/common/model.d.ts +2 -1
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +5 -0
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +7 -1
- package/vscode/src/vs/editor/common/textModelEvents.d.ts +11 -0
- package/vscode/src/vs/editor/common/textModelEvents.js +14 -1
- package/vscode/src/vs/editor/common/tokens/common.d.ts +7 -0
- package/vscode/src/vs/editor/common/tokens/common.js +18 -0
- package/vscode/src/vs/editor/common/tokens/contiguousTokensEditing.d.ts +1 -1
- package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +1 -0
- package/vscode/src/vs/editor/common/tokens/lineTokens.js +3 -0
- package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.d.ts +2 -0
- package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +20 -0
- package/vscode/src/vs/editor/common/tokens/sparseTokensStore.d.ts +2 -1
- package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +9 -4
- package/vscode/src/vs/editor/common/tokens/tokenArray.d.ts +1 -0
- package/vscode/src/vs/editor/common/tokens/tokenArray.js +4 -0
- package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.d.ts +25 -0
- package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.js +73 -0
- package/vscode/src/vs/editor/common/viewLayout/lineHeights.d.ts +35 -0
- package/vscode/src/vs/editor/common/viewLayout/lineHeights.js +339 -0
- package/vscode/src/vs/editor/common/viewLayout/linesLayout.d.ts +8 -6
- package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +42 -49
- package/vscode/src/vs/editor/common/viewLayout/viewLayout.d.ts +6 -3
- package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +16 -5
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +1 -0
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +44 -7
- package/vscode/src/vs/editor/common/viewModel.d.ts +5 -0
- 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/clipboard/browser/clipboard.js +20 -14
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +3 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +4 -3
- package/vscode/src/vs/editor/contrib/find/browser/findController.d.ts +1 -3
- package/vscode/src/vs/editor/contrib/find/browser/findController.js +5 -11
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.d.ts +1 -7
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -15
- package/vscode/src/vs/editor/contrib/folding/browser/folding.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/folding/browser/folding.js +24 -23
- 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 +5 -5
- package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
- 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 +14 -12
- 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 +21 -21
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.d.ts +0 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +29 -41
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +11 -11
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +11 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +6 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +1 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.d.ts +4 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +1 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.d.ts +10 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +31 -2
- 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 +16 -16
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +156 -202
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +21 -49
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +135 -431
- 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 +98 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +487 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +34 -32
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +141 -132
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.d.ts +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.d.ts +26 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.d.ts +2 -7
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +21 -20
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +19 -7
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +17 -9
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.d.ts +5 -13
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +139 -188
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.d.ts +8 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +9 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.d.ts +4 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +6 -6
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.d.ts +23 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +157 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.d.ts +2 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +37 -20
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.d.ts +3 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +3 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.d.ts +6 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +28 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.d.ts +21 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +215 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +0 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +0 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.d.ts +1 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +3 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +22 -21
- 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/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 +4 -4
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +17 -17
- 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 +23 -49
- 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.js +4 -4
- 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/stickyScrollController.js +8 -0
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +1 -1
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.d.ts +1 -0
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +24 -14
- package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +19 -18
- 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 +5 -10
- 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/contrib/zoneWidget/browser/zoneWidget.js +1 -1
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +2 -2
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +2 -2
- package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +3 -0
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +23 -14
- package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +2 -0
- package/vscode/src/vs/platform/actionWidget/browser/actionList.js +17 -3
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +6 -1
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.d.ts +2 -1
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.service.d.ts +2 -1
- 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 +3 -1
- package/vscode/src/vs/platform/actions/common/actions.js +2 -0
- 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 -0
- package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +3 -0
- package/vscode/src/vs/platform/clipboard/common/clipboardService.service.d.ts +1 -0
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +15 -13
- package/vscode/src/vs/platform/configuration/common/configurations.js +1 -1
- 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.d.ts +5 -0
- package/vscode/src/vs/platform/dnd/browser/dnd.js +6 -2
- package/vscode/src/vs/platform/editor/common/editor.d.ts +1 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +8 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +94 -4
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.d.ts +3 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +10 -7
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.d.ts +0 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +10 -11
- package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -0
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +7 -6
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +9 -8
- 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/jsonschemas/common/jsonContributionRegistry.js +5 -4
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
- package/vscode/src/vs/platform/label/common/label.service.d.ts +1 -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 -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.d.ts +2 -7
- package/vscode/src/vs/platform/markers/common/markerService.js +5 -5
- package/vscode/src/vs/platform/markers/common/markers.d.ts +7 -0
- package/vscode/src/vs/platform/markers/common/markers.js +6 -6
- package/vscode/src/vs/platform/markers/common/markers.service.d.ts +2 -7
- package/vscode/src/vs/platform/native/common/native.d.ts +168 -0
- package/vscode/src/vs/platform/notification/common/notification.d.ts +6 -2
- package/vscode/src/vs/platform/notification/common/notification.js +3 -2
- package/vscode/src/vs/platform/notification/common/notification.service.d.ts +2 -3
- package/vscode/src/vs/platform/product/common/product.js +7 -90
- package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +4 -19
- package/vscode/src/vs/platform/quickinput/browser/quickInput.d.ts +6 -3
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +33 -10
- package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
- package/vscode/src/vs/platform/quickinput/browser/quickInputBox.d.ts +2 -0
- package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +6 -0
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +25 -18
- package/vscode/src/vs/platform/quickinput/browser/quickInputTree.d.ts +5 -5
- package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +58 -43
- package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
- package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +1 -1
- package/vscode/src/vs/platform/registry/common/platform.js +9 -1
- 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/telemetryUtils.js +1 -1
- package/vscode/src/vs/platform/terminal/common/terminal.d.ts +14 -1
- package/vscode/src/vs/platform/terminal/common/terminal.js +14 -1
- package/vscode/src/vs/platform/theme/browser/defaultStyles.d.ts +1 -2
- package/vscode/src/vs/platform/theme/browser/defaultStyles.js +4 -2
- package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +7 -1
- package/vscode/src/vs/platform/theme/common/colorUtils.js +12 -4
- 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 +94 -94
- package/vscode/src/vs/platform/theme/common/colors/inputColors.d.ts +2 -0
- package/vscode/src/vs/platform/theme/common/colors/inputColors.js +49 -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 +10 -8
- package/vscode/src/vs/platform/theme/common/themeService.d.ts +0 -8
- package/vscode/src/vs/platform/theme/common/themeService.js +4 -3
- 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 +1 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +2 -2
- package/vscode/src/vs/platform/window/common/window.d.ts +4 -0
- package/vscode/src/vs/platform/window/common/window.js +2 -1
- package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
- package/vscode/src/vs/platform/workspaces/common/workspaces.service.d.ts +2 -2
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +27 -20
- package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +54 -19
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
- package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.d.ts +14 -0
- package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.js +38 -0
- package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +1 -0
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +2 -1
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +30 -17
- package/vscode/src/vs/workbench/api/common/extHostCodeMapper.js +2 -0
- package/vscode/src/vs/workbench/api/common/extHostCommands.d.ts +0 -1
- package/vscode/src/vs/workbench/api/common/extHostCommands.js +4 -2
- 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/extHostExtensionService.d.ts +2 -0
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +15 -4
- package/vscode/src/vs/workbench/api/common/extHostLabelService.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.d.ts +4 -0
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +31 -6
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.d.ts +2 -3
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +60 -14
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +15 -9
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +4 -3
- package/vscode/src/vs/workbench/api/common/extHostMcp.js +279 -82
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +3 -0
- package/vscode/src/vs/workbench/api/common/extHostQuickDiff.d.ts +2 -1
- package/vscode/src/vs/workbench/api/common/extHostQuickDiff.js +4 -2
- package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +1 -0
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +21 -0
- package/vscode/src/vs/workbench/api/common/extHostSearch.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
- 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 +27 -9
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +201 -29
- package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +67 -27
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +79 -28
- package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.d.ts +1 -1
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +7 -4
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +34 -9
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
- package/vscode/src/vs/workbench/api/worker/extHostExtensionService.d.ts +1 -0
- package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +3 -0
- 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/parts/editor/breadcrumbs.service.d.ts +1 -1
- package/vscode/src/vs/workbench/common/configuration.js +10 -16
- package/vscode/src/vs/workbench/common/contextkeys.d.ts +3 -0
- package/vscode/src/vs/workbench/common/contextkeys.js +73 -71
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
- package/vscode/src/vs/workbench/common/editor.d.ts +13 -9
- package/vscode/src/vs/workbench/common/editor.js +4 -4
- 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 +164 -147
- 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/chatContentParts/chatContentParts.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +15 -14
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.d.ts +245 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +435 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +6 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +51 -49
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +19 -26
- package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +16 -23
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.d.ts +585 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +1179 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.d.ts +116 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +211 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +19 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/chat/common/chatTransferService.service.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +1 -2
- package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.service.d.ts +2 -7
- 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 +2 -3
- package/vscode/src/vs/workbench/contrib/chat/common/constants.js +12 -4
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +33 -5
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +14 -3
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +18 -3
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +6 -6
- 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 +3 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/index.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +14 -4
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.d.ts +28 -1
- package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.service.d.ts +10 -4
- package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.d.ts +8 -25
- package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.js +11 -97
- package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.d.ts +0 -3
- 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.d.ts +1 -1
- 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 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +64 -64
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.d.ts +171 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +85 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +2 -3
- package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +127 -0
- 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 +3 -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.service.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +19 -8
- package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +12 -10
- 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 +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +8 -4
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +16 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.service.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +2 -2
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.service.d.ts +4 -1
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.d.ts +11 -3
- package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +77 -16
- 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/taskDefinitionRegistry.js +5 -5
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +3 -2
- 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.js +1 -1
- package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.d.ts +17 -0
- package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.js +10 -0
- package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.d.ts +13 -0
- package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.js +6 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.d.ts +2 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.js +61 -12
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.d.ts +3 -2
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +25 -29
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +4 -1
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +1 -0
- 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/extensionRecommendations/common/extensionRecommendations.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +3 -2
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +84 -84
- package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +4 -1
- package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +2 -4
- 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/notebook/common/notebookDocumentService.d.ts +1 -0
- package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +2 -0
- package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
- package/vscode/src/vs/workbench/services/output/common/output.js +6 -4
- 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/search/common/search.d.ts +2 -1
- package/vscode/src/vs/workbench/services/search/common/searchExtTypes.d.ts +5 -0
- package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +6 -1
- package/vscode/src/vs/workbench/services/search/common/textSearchManager.d.ts +2 -2
- package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +31 -23
- package/vscode/src/vs/workbench/services/textfile/common/encoding.d.ts +64 -0
- package/vscode/src/vs/workbench/services/textfile/common/encoding.js +560 -0
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +165 -0
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +74 -0
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.service.d.ts +12 -2
- 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 +12 -12
- package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.service.d.ts +1 -1
- package/vscode-dts/vscode.d.ts +204 -9
- package/vscode-dts/vscode.proposed.aiSettingsSearch.d.ts +30 -0
- package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +18 -16
- package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +84 -5
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +18 -16
- package/vscode-dts/vscode.proposed.chatStatusItem.d.ts +1 -1
- package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +1 -1
- package/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts +1 -1
- package/vscode-dts/vscode.proposed.d.ts +2 -2
- package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +2 -2
- package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +46 -8
- package/vscode-dts/vscode.proposed.languageModelDataPart.d.ts +106 -16
- package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +2 -0
- package/vscode-dts/vscode.proposed.mcpConfigurationProvider.d.ts +115 -21
- package/vscode-dts/vscode.proposed.quickDiffProvider.d.ts +7 -3
- package/vscode-dts/vscode.proposed.textSearchProvider2.d.ts +23 -1
- package/vscode-dts/vscode.proposed.toolProgress.d.ts +25 -0
- package/vscode-dts/vscode.proposed.tunnelFactory.d.ts +1 -1
- package/workbench.d.ts +1 -1
- package/vscode-dts/vscode.proposed.languageModelToolsForAgent.d.ts +0 -8
- package/vscode-dts/vscode.proposed.textDocumentEncoding.d.ts +0 -170
|
@@ -29,9 +29,10 @@ import { PieceTreeTextBufferBuilder } from './pieceTreeTextBuffer/pieceTreeTextB
|
|
|
29
29
|
import { SearchParams, TextModelSearch } from './textModelSearch.js';
|
|
30
30
|
import { TokenizationTextModelPart } from './tokenizationTextModelPart.js';
|
|
31
31
|
import { AttachedViews } from './tokens.js';
|
|
32
|
-
import { InternalModelContentChangeEvent, ModelRawContentChangedEvent, ModelRawFlush, ModelRawEOLChanged, LineInjectedText, ModelRawLineChanged, ModelRawLinesDeleted, ModelRawLinesInserted, ModelInjectedTextChangedEvent } from '../textModelEvents.js';
|
|
32
|
+
import { InternalModelContentChangeEvent, ModelRawContentChangedEvent, ModelRawFlush, ModelRawEOLChanged, LineInjectedText, ModelRawLineChanged, ModelRawLinesDeleted, ModelRawLinesInserted, ModelInjectedTextChangedEvent, ModelLineHeightChanged, ModelLineHeightChangedEvent } from '../textModelEvents.js';
|
|
33
33
|
import { IInstantiationService } from '../../../platform/instantiation/common/instantiation.js';
|
|
34
34
|
import { IUndoRedoService } from '../../../platform/undoRedo/common/undoRedo.service.js';
|
|
35
|
+
import { SetWithKey } from '../../../base/common/collections.js';
|
|
35
36
|
|
|
36
37
|
var TextModel_1;
|
|
37
38
|
function createTextBufferFactory(text) {
|
|
@@ -178,7 +179,7 @@ let TextModel = class TextModel extends Disposable {
|
|
|
178
179
|
this._onWillDispose = this._register(( new Emitter()));
|
|
179
180
|
this.onWillDispose = this._onWillDispose.event;
|
|
180
181
|
this._onDidChangeDecorations = this._register(( new DidChangeDecorationsEmitter(
|
|
181
|
-
affectedInjectedTextLines => this.handleBeforeFireDecorationsChangedEvent(affectedInjectedTextLines)
|
|
182
|
+
(affectedInjectedTextLines, affectedLineHeights) => this.handleBeforeFireDecorationsChangedEvent(affectedInjectedTextLines, affectedLineHeights)
|
|
182
183
|
)));
|
|
183
184
|
this.onDidChangeDecorations = this._onDidChangeDecorations.event;
|
|
184
185
|
this._onDidChangeOptions = this._register(( new Emitter()));
|
|
@@ -186,6 +187,8 @@ let TextModel = class TextModel extends Disposable {
|
|
|
186
187
|
this._onDidChangeAttached = this._register(( new Emitter()));
|
|
187
188
|
this.onDidChangeAttached = this._onDidChangeAttached.event;
|
|
188
189
|
this._onDidChangeInjectedText = this._register(( new Emitter()));
|
|
190
|
+
this._onDidChangeLineHeight = this._register(( new Emitter()));
|
|
191
|
+
this.onDidChangeLineHeight = this._onDidChangeLineHeight.event;
|
|
189
192
|
this._eventEmitter = this._register(( new DidChangeContentEmitter()));
|
|
190
193
|
this._languageSelectionListener = this._register(( new MutableDisposable()));
|
|
191
194
|
this._deltaDecorationCallCnt = 0;
|
|
@@ -268,6 +271,7 @@ let TextModel = class TextModel extends Disposable {
|
|
|
268
271
|
|| this._onDidChangeOptions.hasListeners()
|
|
269
272
|
|| this._onDidChangeAttached.hasListeners()
|
|
270
273
|
|| this._onDidChangeInjectedText.hasListeners()
|
|
274
|
+
|| this._onDidChangeLineHeight.hasListeners()
|
|
271
275
|
|| this._eventEmitter.hasListeners());
|
|
272
276
|
}
|
|
273
277
|
_assertNotDisposed() {
|
|
@@ -1158,17 +1162,26 @@ let TextModel = class TextModel extends Disposable {
|
|
|
1158
1162
|
canRedo() {
|
|
1159
1163
|
return this._undoRedoService.canRedo(this.uri);
|
|
1160
1164
|
}
|
|
1161
|
-
handleBeforeFireDecorationsChangedEvent(affectedInjectedTextLines) {
|
|
1162
|
-
if (affectedInjectedTextLines
|
|
1163
|
-
|
|
1165
|
+
handleBeforeFireDecorationsChangedEvent(affectedInjectedTextLines, affectedLineHeights) {
|
|
1166
|
+
if (affectedInjectedTextLines && affectedInjectedTextLines.size > 0) {
|
|
1167
|
+
const affectedLines = Array.from(affectedInjectedTextLines);
|
|
1168
|
+
const lineChangeEvents = ( affectedLines.map(lineNumber => ( new ModelRawLineChanged(
|
|
1169
|
+
lineNumber,
|
|
1170
|
+
this.getLineContent(lineNumber),
|
|
1171
|
+
this._getInjectedTextInLine(lineNumber)
|
|
1172
|
+
))));
|
|
1173
|
+
this._onDidChangeInjectedText.fire(( new ModelInjectedTextChangedEvent(lineChangeEvents)));
|
|
1174
|
+
}
|
|
1175
|
+
if (affectedLineHeights && affectedLineHeights.size > 0) {
|
|
1176
|
+
const affectedLines = Array.from(affectedLineHeights);
|
|
1177
|
+
const lineHeightChangeEvent = ( affectedLines.map(specialLineHeightChange => ( new ModelLineHeightChanged(
|
|
1178
|
+
specialLineHeightChange.ownerId,
|
|
1179
|
+
specialLineHeightChange.decorationId,
|
|
1180
|
+
specialLineHeightChange.lineNumber,
|
|
1181
|
+
specialLineHeightChange.lineHeight
|
|
1182
|
+
))));
|
|
1183
|
+
this._onDidChangeLineHeight.fire(( new ModelLineHeightChangedEvent(lineHeightChangeEvent)));
|
|
1164
1184
|
}
|
|
1165
|
-
const affectedLines = Array.from(affectedInjectedTextLines);
|
|
1166
|
-
const lineChangeEvents = ( affectedLines.map(lineNumber => ( new ModelRawLineChanged(
|
|
1167
|
-
lineNumber,
|
|
1168
|
-
this.getLineContent(lineNumber),
|
|
1169
|
-
this._getInjectedTextInLine(lineNumber)
|
|
1170
|
-
))));
|
|
1171
|
-
this._onDidChangeInjectedText.fire(( new ModelInjectedTextChangedEvent(lineChangeEvents)));
|
|
1172
1185
|
}
|
|
1173
1186
|
changeDecorations(callback, ownerId = 0) {
|
|
1174
1187
|
this._assertNotDisposed();
|
|
@@ -1186,10 +1199,10 @@ let TextModel = class TextModel extends Disposable {
|
|
|
1186
1199
|
return this._deltaDecorationsImpl(ownerId, [], [{ range: range, options: options }])[0];
|
|
1187
1200
|
},
|
|
1188
1201
|
changeDecoration: (id, newRange) => {
|
|
1189
|
-
this._changeDecorationImpl(id, newRange);
|
|
1202
|
+
this._changeDecorationImpl(ownerId, id, newRange);
|
|
1190
1203
|
},
|
|
1191
1204
|
changeDecorationOptions: (id, options) => {
|
|
1192
|
-
this._changeDecorationOptionsImpl(id, _normalizeOptions(options));
|
|
1205
|
+
this._changeDecorationOptionsImpl(ownerId, id, _normalizeOptions(options));
|
|
1193
1206
|
},
|
|
1194
1207
|
removeDecoration: (id) => {
|
|
1195
1208
|
this._deltaDecorationsImpl(ownerId, [id], []);
|
|
@@ -1315,6 +1328,9 @@ let TextModel = class TextModel extends Disposable {
|
|
|
1315
1328
|
getInjectedTextDecorations(ownerId = 0) {
|
|
1316
1329
|
return this._decorationsTree.getAllInjectedText(this, ownerId);
|
|
1317
1330
|
}
|
|
1331
|
+
getCustomLineHeightsDecorations(ownerId = 0) {
|
|
1332
|
+
return this._decorationsTree.getAllCustomLineHeights(this, ownerId);
|
|
1333
|
+
}
|
|
1318
1334
|
_getInjectedTextInLine(lineNumber) {
|
|
1319
1335
|
const startOffset = this._buffer.getOffsetAt(lineNumber, 1);
|
|
1320
1336
|
const endOffset = startOffset + this._buffer.getLineLength(lineNumber);
|
|
@@ -1337,7 +1353,7 @@ let TextModel = class TextModel extends Disposable {
|
|
|
1337
1353
|
getRangeAt(start, end) {
|
|
1338
1354
|
return this._buffer.getRangeAt(start, end - start);
|
|
1339
1355
|
}
|
|
1340
|
-
_changeDecorationImpl(decorationId, _range) {
|
|
1356
|
+
_changeDecorationImpl(ownerId, decorationId, _range) {
|
|
1341
1357
|
const node = this._decorations[decorationId];
|
|
1342
1358
|
if (!node) {
|
|
1343
1359
|
return;
|
|
@@ -1350,6 +1366,10 @@ let TextModel = class TextModel extends Disposable {
|
|
|
1350
1366
|
const oldRange = this.getDecorationRange(decorationId);
|
|
1351
1367
|
this._onDidChangeDecorations.recordLineAffectedByInjectedText(oldRange.startLineNumber);
|
|
1352
1368
|
}
|
|
1369
|
+
if (node.options.lineHeight !== null) {
|
|
1370
|
+
const oldRange = this.getDecorationRange(decorationId);
|
|
1371
|
+
this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(ownerId, decorationId, oldRange.startLineNumber, null);
|
|
1372
|
+
}
|
|
1353
1373
|
const range = this._validateRangeRelaxedNoAllocations(_range);
|
|
1354
1374
|
const startOffset = this._buffer.getOffsetAt(range.startLineNumber, range.startColumn);
|
|
1355
1375
|
const endOffset = this._buffer.getOffsetAt(range.endLineNumber, range.endColumn);
|
|
@@ -1363,8 +1383,11 @@ let TextModel = class TextModel extends Disposable {
|
|
|
1363
1383
|
if (node.options.before) {
|
|
1364
1384
|
this._onDidChangeDecorations.recordLineAffectedByInjectedText(range.startLineNumber);
|
|
1365
1385
|
}
|
|
1386
|
+
if (node.options.lineHeight !== null) {
|
|
1387
|
+
this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(ownerId, decorationId, range.startLineNumber, node.options.lineHeight);
|
|
1388
|
+
}
|
|
1366
1389
|
}
|
|
1367
|
-
_changeDecorationOptionsImpl(decorationId, options) {
|
|
1390
|
+
_changeDecorationOptionsImpl(ownerId, decorationId, options) {
|
|
1368
1391
|
const node = this._decorations[decorationId];
|
|
1369
1392
|
if (!node) {
|
|
1370
1393
|
return;
|
|
@@ -1381,6 +1404,10 @@ let TextModel = class TextModel extends Disposable {
|
|
|
1381
1404
|
const nodeRange = this._decorationsTree.getNodeRange(this, node);
|
|
1382
1405
|
this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.startLineNumber);
|
|
1383
1406
|
}
|
|
1407
|
+
if (node.options.lineHeight !== null || options.lineHeight !== null) {
|
|
1408
|
+
const nodeRange = this._decorationsTree.getNodeRange(this, node);
|
|
1409
|
+
this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(ownerId, decorationId, nodeRange.startLineNumber, options.lineHeight);
|
|
1410
|
+
}
|
|
1384
1411
|
const movedInOverviewRuler = nodeWasInOverviewRuler !== nodeIsInOverviewRuler;
|
|
1385
1412
|
const changedWhetherInjectedText = isOptionsInjectedText(options) !== isNodeInjectedText(node);
|
|
1386
1413
|
if (movedInOverviewRuler || changedWhetherInjectedText) {
|
|
@@ -1404,8 +1431,10 @@ let TextModel = class TextModel extends Disposable {
|
|
|
1404
1431
|
while (oldDecorationIndex < oldDecorationsLen || newDecorationIndex < newDecorationsLen) {
|
|
1405
1432
|
let node = null;
|
|
1406
1433
|
if (oldDecorationIndex < oldDecorationsLen) {
|
|
1434
|
+
let decorationId;
|
|
1407
1435
|
do {
|
|
1408
|
-
|
|
1436
|
+
decorationId = oldDecorationsIds[oldDecorationIndex++];
|
|
1437
|
+
node = this._decorations[decorationId];
|
|
1409
1438
|
} while (!node && oldDecorationIndex < oldDecorationsLen);
|
|
1410
1439
|
if (node) {
|
|
1411
1440
|
if (node.options.after) {
|
|
@@ -1416,6 +1445,10 @@ let TextModel = class TextModel extends Disposable {
|
|
|
1416
1445
|
const nodeRange = this._decorationsTree.getNodeRange(this, node);
|
|
1417
1446
|
this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.startLineNumber);
|
|
1418
1447
|
}
|
|
1448
|
+
if (node.options.lineHeight !== null) {
|
|
1449
|
+
const nodeRange = this._decorationsTree.getNodeRange(this, node);
|
|
1450
|
+
this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(ownerId, decorationId, nodeRange.startLineNumber, null);
|
|
1451
|
+
}
|
|
1419
1452
|
this._decorationsTree.delete(node);
|
|
1420
1453
|
if (!suppressEvents) {
|
|
1421
1454
|
this._onDidChangeDecorations.checkAffectedAndFire(node.options);
|
|
@@ -1443,6 +1476,9 @@ let TextModel = class TextModel extends Disposable {
|
|
|
1443
1476
|
if (node.options.before) {
|
|
1444
1477
|
this._onDidChangeDecorations.recordLineAffectedByInjectedText(range.startLineNumber);
|
|
1445
1478
|
}
|
|
1479
|
+
if (node.options.lineHeight !== null) {
|
|
1480
|
+
this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(ownerId, node.id, range.startLineNumber, node.options.lineHeight);
|
|
1481
|
+
}
|
|
1446
1482
|
if (!suppressEvents) {
|
|
1447
1483
|
this._onDidChangeDecorations.checkAffectedAndFire(options);
|
|
1448
1484
|
}
|
|
@@ -1563,6 +1599,11 @@ class DecorationsTrees {
|
|
|
1563
1599
|
const result = this._injectedTextDecorationsTree.search(filterOwnerId, false, versionId, false);
|
|
1564
1600
|
return this._ensureNodesHaveRanges(host, result).filter((i) => i.options.showIfCollapsed || !i.range.isEmpty());
|
|
1565
1601
|
}
|
|
1602
|
+
getAllCustomLineHeights(host, filterOwnerId) {
|
|
1603
|
+
const versionId = host.getVersionId();
|
|
1604
|
+
const result = this._search(filterOwnerId, false, false, versionId, false);
|
|
1605
|
+
return this._ensureNodesHaveRanges(host, result).filter((i) => typeof i.options.lineHeight === 'number');
|
|
1606
|
+
}
|
|
1566
1607
|
getAll(host, filterOwnerId, filterOutValidation, overviewRulerOnly, onlyMarginDecorations) {
|
|
1567
1608
|
const versionId = host.getVersionId();
|
|
1568
1609
|
const result = this._search(filterOwnerId, filterOutValidation, overviewRulerOnly, versionId, onlyMarginDecorations);
|
|
@@ -1751,6 +1792,7 @@ class ModelDecorationOptions {
|
|
|
1751
1792
|
this.glyphMarginHoverMessage = options.glyphMarginHoverMessage || null;
|
|
1752
1793
|
this.lineNumberHoverMessage = options.lineNumberHoverMessage || null;
|
|
1753
1794
|
this.isWholeLine = options.isWholeLine || false;
|
|
1795
|
+
this.lineHeight = options.lineHeight ?? null;
|
|
1754
1796
|
this.showIfCollapsed = options.showIfCollapsed || false;
|
|
1755
1797
|
this.collapseOnReplaceEdit = options.collapseOnReplaceEdit || false;
|
|
1756
1798
|
this.overviewRuler = options.overviewRuler ? ( new ModelDecorationOverviewRulerOptions(options.overviewRuler)) : null;
|
|
@@ -1785,6 +1827,17 @@ function _normalizeOptions(options) {
|
|
|
1785
1827
|
}
|
|
1786
1828
|
return ModelDecorationOptions.createDynamic(options);
|
|
1787
1829
|
}
|
|
1830
|
+
class LineHeightChangingDecoration {
|
|
1831
|
+
static toKey(obj) {
|
|
1832
|
+
return `${obj.ownerId};${obj.decorationId};${obj.lineNumber}`;
|
|
1833
|
+
}
|
|
1834
|
+
constructor(ownerId, decorationId, lineNumber, lineHeight) {
|
|
1835
|
+
this.ownerId = ownerId;
|
|
1836
|
+
this.decorationId = decorationId;
|
|
1837
|
+
this.lineNumber = lineNumber;
|
|
1838
|
+
this.lineHeight = lineHeight;
|
|
1839
|
+
}
|
|
1840
|
+
}
|
|
1788
1841
|
class DidChangeDecorationsEmitter extends Disposable {
|
|
1789
1842
|
constructor(handleBeforeFire) {
|
|
1790
1843
|
super();
|
|
@@ -1792,6 +1845,7 @@ class DidChangeDecorationsEmitter extends Disposable {
|
|
|
1792
1845
|
this._actual = this._register(( new Emitter()));
|
|
1793
1846
|
this.event = this._actual.event;
|
|
1794
1847
|
this._affectedInjectedTextLines = null;
|
|
1848
|
+
this._affectedLineHeights = null;
|
|
1795
1849
|
this._deferredCnt = 0;
|
|
1796
1850
|
this._shouldFireDeferred = false;
|
|
1797
1851
|
this._affectsMinimap = false;
|
|
@@ -1813,6 +1867,8 @@ class DidChangeDecorationsEmitter extends Disposable {
|
|
|
1813
1867
|
}
|
|
1814
1868
|
this._affectedInjectedTextLines?.clear();
|
|
1815
1869
|
this._affectedInjectedTextLines = null;
|
|
1870
|
+
this._affectedLineHeights?.clear();
|
|
1871
|
+
this._affectedLineHeights = null;
|
|
1816
1872
|
}
|
|
1817
1873
|
}
|
|
1818
1874
|
recordLineAffectedByInjectedText(lineNumber) {
|
|
@@ -1821,6 +1877,12 @@ class DidChangeDecorationsEmitter extends Disposable {
|
|
|
1821
1877
|
}
|
|
1822
1878
|
this._affectedInjectedTextLines.add(lineNumber);
|
|
1823
1879
|
}
|
|
1880
|
+
recordLineAffectedByLineHeightChange(ownerId, decorationId, lineNumber, lineHeight) {
|
|
1881
|
+
if (!this._affectedLineHeights) {
|
|
1882
|
+
this._affectedLineHeights = ( new SetWithKey([], LineHeightChangingDecoration.toKey));
|
|
1883
|
+
}
|
|
1884
|
+
this._affectedLineHeights.add(( new LineHeightChangingDecoration(ownerId, decorationId, lineNumber, lineHeight)));
|
|
1885
|
+
}
|
|
1824
1886
|
checkAffectedAndFire(options) {
|
|
1825
1887
|
this._affectsMinimap ||= !!options.minimap?.position;
|
|
1826
1888
|
this._affectsOverviewRuler ||= !!options.overviewRuler?.color;
|
|
@@ -1843,7 +1905,7 @@ class DidChangeDecorationsEmitter extends Disposable {
|
|
|
1843
1905
|
}
|
|
1844
1906
|
}
|
|
1845
1907
|
doFire() {
|
|
1846
|
-
this.handleBeforeFire(this._affectedInjectedTextLines);
|
|
1908
|
+
this.handleBeforeFire(this._affectedInjectedTextLines, this._affectedLineHeights);
|
|
1847
1909
|
const event = {
|
|
1848
1910
|
affectsMinimap: this._affectsMinimap,
|
|
1849
1911
|
affectsOverviewRuler: this._affectsOverviewRuler,
|
|
@@ -157,7 +157,7 @@ let TokenizationTextModelPart = TokenizationTextModelPart_1 = class Tokenization
|
|
|
157
157
|
return this._tokens.tokenizeLinesAt(lineNumber, lines);
|
|
158
158
|
}
|
|
159
159
|
setSemanticTokens(tokens, isComplete) {
|
|
160
|
-
this._semanticTokens.set(tokens, isComplete);
|
|
160
|
+
this._semanticTokens.set(tokens, isComplete, this._textModel);
|
|
161
161
|
this._emitModelTokensChangedEvent({
|
|
162
162
|
semanticTokensApplied: tokens !== null,
|
|
163
163
|
ranges: [{ fromLineNumber: 1, toLineNumber: this._textModel.getLineCount() }],
|
|
@@ -13,7 +13,7 @@ import { IWordAtPosition } from "./core/wordHelper.js";
|
|
|
13
13
|
import { FormattingOptions } from "./languages.js";
|
|
14
14
|
import { ILanguageSelection } from "./languages/language.js";
|
|
15
15
|
import { IBracketPairsTextModelPart } from "./textModelBracketPairs.js";
|
|
16
|
-
import { IModelContentChange, IModelContentChangedEvent, IModelDecorationsChangedEvent, IModelLanguageChangedEvent, IModelLanguageConfigurationChangedEvent, IModelOptionsChangedEvent, IModelTokensChangedEvent, InternalModelContentChangeEvent, ModelInjectedTextChangedEvent } from "./textModelEvents.js";
|
|
16
|
+
import { IModelContentChange, IModelContentChangedEvent, IModelDecorationsChangedEvent, IModelLanguageChangedEvent, IModelLanguageConfigurationChangedEvent, IModelOptionsChangedEvent, IModelTokensChangedEvent, InternalModelContentChangeEvent, ModelInjectedTextChangedEvent, ModelLineHeightChangedEvent } from "./textModelEvents.js";
|
|
17
17
|
import { IGuidesTextModelPart } from "./textModelGuides.js";
|
|
18
18
|
import { ITokenizationTextModelPart } from "./tokenizationTextModelPart.js";
|
|
19
19
|
import { UndoRedoGroup } from "../../platform/undoRedo/common/undoRedo.js";
|
|
@@ -85,6 +85,7 @@ export interface IModelDecorationOptions {
|
|
|
85
85
|
minimap?: IModelDecorationMinimapOptions | null;
|
|
86
86
|
glyphMarginClassName?: string | null;
|
|
87
87
|
glyphMargin?: IModelDecorationGlyphMarginOptions | null;
|
|
88
|
+
lineHeight?: number | null;
|
|
88
89
|
linesDecorationsClassName?: string | null;
|
|
89
90
|
linesDecorationsTooltip?: string | null;
|
|
90
91
|
lineNumberClassName?: string | null;
|
|
@@ -273,6 +273,11 @@ export declare enum InlayHintKind {
|
|
|
273
273
|
Type = 1,
|
|
274
274
|
Parameter = 2
|
|
275
275
|
}
|
|
276
|
+
export declare enum InlineCompletionEndOfLifeReasonKind {
|
|
277
|
+
Accepted = 0,
|
|
278
|
+
Rejected = 1,
|
|
279
|
+
Ignored = 2
|
|
280
|
+
}
|
|
276
281
|
export declare enum InlineCompletionTriggerKind {
|
|
277
282
|
Automatic = 0,
|
|
278
283
|
Explicit = 1
|
|
@@ -294,6 +294,12 @@ var InlayHintKind;
|
|
|
294
294
|
InlayHintKind[InlayHintKind["Type"] = 1] = "Type";
|
|
295
295
|
InlayHintKind[InlayHintKind["Parameter"] = 2] = "Parameter";
|
|
296
296
|
})(InlayHintKind || (InlayHintKind = {}));
|
|
297
|
+
var InlineCompletionEndOfLifeReasonKind;
|
|
298
|
+
(function (InlineCompletionEndOfLifeReasonKind) {
|
|
299
|
+
InlineCompletionEndOfLifeReasonKind[InlineCompletionEndOfLifeReasonKind["Accepted"] = 0] = "Accepted";
|
|
300
|
+
InlineCompletionEndOfLifeReasonKind[InlineCompletionEndOfLifeReasonKind["Rejected"] = 1] = "Rejected";
|
|
301
|
+
InlineCompletionEndOfLifeReasonKind[InlineCompletionEndOfLifeReasonKind["Ignored"] = 2] = "Ignored";
|
|
302
|
+
})(InlineCompletionEndOfLifeReasonKind || (InlineCompletionEndOfLifeReasonKind = {}));
|
|
297
303
|
var InlineCompletionTriggerKind;
|
|
298
304
|
(function (InlineCompletionTriggerKind) {
|
|
299
305
|
InlineCompletionTriggerKind[InlineCompletionTriggerKind["Automatic"] = 0] = "Automatic";
|
|
@@ -624,4 +630,4 @@ var WrappingIndent;
|
|
|
624
630
|
WrappingIndent[WrappingIndent["DeepIndent"] = 3] = "DeepIndent";
|
|
625
631
|
})(WrappingIndent || (WrappingIndent = {}));
|
|
626
632
|
|
|
627
|
-
export { AccessibilitySupport, CodeActionTriggerType, CompletionItemInsertTextRule, CompletionItemKind, CompletionItemTag, CompletionTriggerKind, ContentWidgetPositionPreference, CursorChangeReason, DefaultEndOfLine, DocumentHighlightKind, EditorAutoIndentStrategy, EditorOption, EndOfLinePreference, EndOfLineSequence, GlyphMarginLane, HoverVerbosityAction, IndentAction, InjectedTextCursorStops, InlayHintKind, InlineCompletionTriggerKind, InlineEditTriggerKind, KeyCode, MarkerSeverity, MarkerTag, MinimapPosition, MinimapSectionHeaderStyle, MouseTargetType, NewSymbolNameTag, NewSymbolNameTriggerKind, OverlayWidgetPositionPreference, OverviewRulerLane, PartialAcceptTriggerKind, PositionAffinity, RenderLineNumbersType, RenderMinimap, ScrollType, ScrollbarVisibility, SelectionDirection, ShowLightbulbIconMode, SignatureHelpTriggerKind, SymbolKind, SymbolTag, TextEditorCursorBlinkingStyle, TextEditorCursorStyle, TrackedRangeStickiness, WrappingIndent };
|
|
633
|
+
export { AccessibilitySupport, CodeActionTriggerType, CompletionItemInsertTextRule, CompletionItemKind, CompletionItemTag, CompletionTriggerKind, ContentWidgetPositionPreference, CursorChangeReason, DefaultEndOfLine, DocumentHighlightKind, EditorAutoIndentStrategy, EditorOption, EndOfLinePreference, EndOfLineSequence, GlyphMarginLane, HoverVerbosityAction, IndentAction, InjectedTextCursorStops, InlayHintKind, InlineCompletionEndOfLifeReasonKind, InlineCompletionTriggerKind, InlineEditTriggerKind, KeyCode, MarkerSeverity, MarkerTag, MinimapPosition, MinimapSectionHeaderStyle, MouseTargetType, NewSymbolNameTag, NewSymbolNameTriggerKind, OverlayWidgetPositionPreference, OverviewRulerLane, PartialAcceptTriggerKind, PositionAffinity, RenderLineNumbersType, RenderMinimap, ScrollType, ScrollbarVisibility, SelectionDirection, ShowLightbulbIconMode, SignatureHelpTriggerKind, SymbolKind, SymbolTag, TextEditorCursorBlinkingStyle, TextEditorCursorStyle, TrackedRangeStickiness, WrappingIndent };
|
|
@@ -70,6 +70,13 @@ export declare class ModelRawLineChanged {
|
|
|
70
70
|
readonly injectedText: LineInjectedText[] | null;
|
|
71
71
|
constructor(lineNumber: number, detail: string, injectedText: LineInjectedText[] | null);
|
|
72
72
|
}
|
|
73
|
+
export declare class ModelLineHeightChanged {
|
|
74
|
+
readonly ownerId: number;
|
|
75
|
+
readonly decorationId: string;
|
|
76
|
+
readonly lineNumber: number;
|
|
77
|
+
readonly lineHeight: number | null;
|
|
78
|
+
constructor(ownerId: number, decorationId: string, lineNumber: number, lineHeight: number | null);
|
|
79
|
+
}
|
|
73
80
|
export declare class ModelRawLinesDeleted {
|
|
74
81
|
readonly changeType = RawContentChangedType.LinesDeleted;
|
|
75
82
|
readonly fromLineNumber: number;
|
|
@@ -102,6 +109,10 @@ export declare class ModelInjectedTextChangedEvent {
|
|
|
102
109
|
readonly changes: ModelRawLineChanged[];
|
|
103
110
|
constructor(changes: ModelRawLineChanged[]);
|
|
104
111
|
}
|
|
112
|
+
export declare class ModelLineHeightChangedEvent {
|
|
113
|
+
readonly changes: ModelLineHeightChanged[];
|
|
114
|
+
constructor(changes: ModelLineHeightChanged[]);
|
|
115
|
+
}
|
|
105
116
|
export declare class InternalModelContentChangeEvent {
|
|
106
117
|
readonly rawContentChangedEvent: ModelRawContentChangedEvent;
|
|
107
118
|
readonly contentChangedEvent: IModelContentChangedEvent;
|
|
@@ -86,6 +86,14 @@ class ModelRawLineChanged {
|
|
|
86
86
|
this.injectedText = injectedText;
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
+
class ModelLineHeightChanged {
|
|
90
|
+
constructor(ownerId, decorationId, lineNumber, lineHeight) {
|
|
91
|
+
this.ownerId = ownerId;
|
|
92
|
+
this.decorationId = decorationId;
|
|
93
|
+
this.lineNumber = lineNumber;
|
|
94
|
+
this.lineHeight = lineHeight;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
89
97
|
class ModelRawLinesDeleted {
|
|
90
98
|
constructor(fromLineNumber, toLineNumber) {
|
|
91
99
|
this.changeType = RawContentChangedType.LinesDeleted;
|
|
@@ -137,6 +145,11 @@ class ModelInjectedTextChangedEvent {
|
|
|
137
145
|
this.changes = changes;
|
|
138
146
|
}
|
|
139
147
|
}
|
|
148
|
+
class ModelLineHeightChangedEvent {
|
|
149
|
+
constructor(changes) {
|
|
150
|
+
this.changes = changes;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
140
153
|
class InternalModelContentChangeEvent {
|
|
141
154
|
constructor(rawContentChangedEvent, contentChangedEvent) {
|
|
142
155
|
this.rawContentChangedEvent = rawContentChangedEvent;
|
|
@@ -167,4 +180,4 @@ class InternalModelContentChangeEvent {
|
|
|
167
180
|
}
|
|
168
181
|
}
|
|
169
182
|
|
|
170
|
-
export { InternalModelContentChangeEvent, LineInjectedText, ModelInjectedTextChangedEvent, ModelRawContentChangedEvent, ModelRawEOLChanged, ModelRawFlush, ModelRawLineChanged, ModelRawLinesDeleted, ModelRawLinesInserted, RawContentChangedType };
|
|
183
|
+
export { InternalModelContentChangeEvent, LineInjectedText, ModelInjectedTextChangedEvent, ModelLineHeightChanged, ModelLineHeightChangedEvent, ModelRawContentChangedEvent, ModelRawEOLChanged, ModelRawFlush, ModelRawLineChanged, ModelRawLinesDeleted, ModelRawLinesInserted, RawContentChangedType };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
class RateLimiter {
|
|
4
|
+
constructor(timesPerSecond = 5) {
|
|
5
|
+
this.timesPerSecond = timesPerSecond;
|
|
6
|
+
this._lastRun = 0;
|
|
7
|
+
this._minimumTimeBetweenRuns = 1000 / timesPerSecond;
|
|
8
|
+
}
|
|
9
|
+
runIfNotLimited(callback) {
|
|
10
|
+
const now = Date.now();
|
|
11
|
+
if (now - this._lastRun >= this._minimumTimeBetweenRuns) {
|
|
12
|
+
this._lastRun = now;
|
|
13
|
+
callback();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { RateLimiter };
|
|
@@ -6,4 +6,4 @@ export declare class ContiguousTokensEditing {
|
|
|
6
6
|
static append(lineTokens: Uint32Array | ArrayBuffer | null, _otherTokens: Uint32Array | ArrayBuffer | null): Uint32Array | ArrayBuffer | null;
|
|
7
7
|
static insert(lineTokens: Uint32Array | ArrayBuffer | null, chIndex: number, textLength: number): Uint32Array | ArrayBuffer | null;
|
|
8
8
|
}
|
|
9
|
-
export declare function toUint32Array(arr: Uint32Array | ArrayBuffer): Uint32Array
|
|
9
|
+
export declare function toUint32Array(arr: Uint32Array | ArrayBuffer): Uint32Array<ArrayBuffer>;
|
|
@@ -36,6 +36,7 @@ export declare class LineTokens implements IViewLineTokens {
|
|
|
36
36
|
readonly languageIdCodec: ILanguageIdCodec;
|
|
37
37
|
static defaultTokenMetadata: number;
|
|
38
38
|
constructor(tokens: Uint32Array, text: string, decoder: ILanguageIdCodec);
|
|
39
|
+
getTextLength(): number;
|
|
39
40
|
equals(other: IViewLineTokens): boolean;
|
|
40
41
|
slicedEquals(other: LineTokens, sliceFromTokenIndex: number, sliceTokenCount: number): boolean;
|
|
41
42
|
getLineContent(): string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IRange, Range } from "../core/range.js";
|
|
2
|
+
import { ITextModel } from "../model.js";
|
|
2
3
|
export declare class SparseMultilineTokens {
|
|
3
4
|
static create(startLineNumber: number, tokens: Uint32Array): SparseMultilineTokens;
|
|
4
5
|
private _startLineNumber;
|
|
@@ -21,6 +22,7 @@ export declare class SparseMultilineTokens {
|
|
|
21
22
|
acceptEdit(range: IRange, eolCount: number, firstLineLength: number, lastLineLength: number, firstCharCode: number): void;
|
|
22
23
|
private _acceptDeleteRange;
|
|
23
24
|
private _acceptInsertText;
|
|
25
|
+
reportIfInvalid(model: ITextModel): void;
|
|
24
26
|
}
|
|
25
27
|
export declare class SparseLineTokens {
|
|
26
28
|
private readonly _tokens;
|
|
@@ -3,6 +3,7 @@ import { CharCode } from '../../../base/common/charCode.js';
|
|
|
3
3
|
import { Position } from '../core/position.js';
|
|
4
4
|
import { Range } from '../core/range.js';
|
|
5
5
|
import { countEOL } from '../core/eolCounter.js';
|
|
6
|
+
import { RateLimiter } from './common.js';
|
|
6
7
|
|
|
7
8
|
class SparseMultilineTokens {
|
|
8
9
|
static create(startLineNumber, tokens) {
|
|
@@ -111,6 +112,9 @@ class SparseMultilineTokens {
|
|
|
111
112
|
}
|
|
112
113
|
this._tokens.acceptInsertText(lineIndex, position.column - 1, eolCount, firstLineLength, lastLineLength, firstCharCode);
|
|
113
114
|
}
|
|
115
|
+
reportIfInvalid(model) {
|
|
116
|
+
this._tokens.reportIfInvalid(model, this._startLineNumber);
|
|
117
|
+
}
|
|
114
118
|
}
|
|
115
119
|
class SparseMultilineTokensStorage {
|
|
116
120
|
constructor(tokens) {
|
|
@@ -385,6 +389,22 @@ class SparseMultilineTokensStorage {
|
|
|
385
389
|
tokens[offset + 2] = tokenEndCharacter;
|
|
386
390
|
}
|
|
387
391
|
}
|
|
392
|
+
static { this._rateLimiter = ( new RateLimiter(10 / 60)); }
|
|
393
|
+
reportIfInvalid(model, startLineNumber) {
|
|
394
|
+
for (let i = 0; i < this._tokenCount; i++) {
|
|
395
|
+
const lineNumber = this._getDeltaLine(i) + startLineNumber;
|
|
396
|
+
if (lineNumber > model.getLineCount()) {
|
|
397
|
+
SparseMultilineTokensStorage._rateLimiter.runIfNotLimited(() => {
|
|
398
|
+
console.error('Invalid Semantic Tokens Data From Extension: lineNumber > model.getLineCount()');
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
if (this._getEndCharacter(i) > model.getLineLength(lineNumber)) {
|
|
402
|
+
SparseMultilineTokensStorage._rateLimiter.runIfNotLimited(() => {
|
|
403
|
+
console.error('Invalid Semantic Tokens Data From Extension: end character > model.getLineLength(lineNumber)');
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
388
408
|
}
|
|
389
409
|
class SparseLineTokens {
|
|
390
410
|
constructor(tokens) {
|
|
@@ -2,6 +2,7 @@ import { IRange, Range } from "../core/range.js";
|
|
|
2
2
|
import { LineTokens } from "./lineTokens.js";
|
|
3
3
|
import { SparseMultilineTokens } from "./sparseMultilineTokens.js";
|
|
4
4
|
import { ILanguageIdCodec } from "../languages.js";
|
|
5
|
+
import { ITextModel } from "../model.js";
|
|
5
6
|
export declare class SparseTokensStore {
|
|
6
7
|
private _pieces;
|
|
7
8
|
private _isComplete;
|
|
@@ -9,7 +10,7 @@ export declare class SparseTokensStore {
|
|
|
9
10
|
constructor(languageIdCodec: ILanguageIdCodec);
|
|
10
11
|
flush(): void;
|
|
11
12
|
isEmpty(): boolean;
|
|
12
|
-
set(pieces: SparseMultilineTokens[] | null, isComplete: boolean): void;
|
|
13
|
+
set(pieces: SparseMultilineTokens[] | null, isComplete: boolean, textModel?: ITextModel | undefined): void;
|
|
13
14
|
setPartial(_range: Range, pieces: SparseMultilineTokens[]): Range;
|
|
14
15
|
isComplete(): boolean;
|
|
15
16
|
addSparseTokens(lineNumber: number, aTokens: LineTokens): LineTokens;
|
|
@@ -16,9 +16,14 @@ class SparseTokensStore {
|
|
|
16
16
|
isEmpty() {
|
|
17
17
|
return (this._pieces.length === 0);
|
|
18
18
|
}
|
|
19
|
-
set(pieces, isComplete) {
|
|
19
|
+
set(pieces, isComplete, textModel = undefined) {
|
|
20
20
|
this._pieces = pieces || [];
|
|
21
21
|
this._isComplete = isComplete;
|
|
22
|
+
if (textModel) {
|
|
23
|
+
for (const p of this._pieces) {
|
|
24
|
+
p.reportIfInvalid(textModel);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
22
27
|
}
|
|
23
28
|
setPartial(_range, pieces) {
|
|
24
29
|
let range = _range;
|
|
@@ -77,7 +82,7 @@ class SparseTokensStore {
|
|
|
77
82
|
return this._isComplete;
|
|
78
83
|
}
|
|
79
84
|
addSparseTokens(lineNumber, aTokens) {
|
|
80
|
-
if (aTokens.
|
|
85
|
+
if (aTokens.getTextLength() === 0) {
|
|
81
86
|
return aTokens;
|
|
82
87
|
}
|
|
83
88
|
const pieces = this._pieces;
|
|
@@ -104,8 +109,8 @@ class SparseTokensStore {
|
|
|
104
109
|
result[resultLen++] = metadata;
|
|
105
110
|
};
|
|
106
111
|
for (let bIndex = 0; bIndex < bLen; bIndex++) {
|
|
107
|
-
const bStartCharacter = bTokens.getStartCharacter(bIndex);
|
|
108
|
-
const bEndCharacter = bTokens.getEndCharacter(bIndex);
|
|
112
|
+
const bStartCharacter = Math.min(bTokens.getStartCharacter(bIndex), aTokens.getTextLength());
|
|
113
|
+
const bEndCharacter = Math.min(bTokens.getEndCharacter(bIndex), aTokens.getTextLength());
|
|
109
114
|
const bMetadata = bTokens.getMetadata(bIndex);
|
|
110
115
|
const bMask = (((bMetadata & MetadataConsts.SEMANTIC_USE_ITALIC) ? MetadataConsts.ITALIC_MASK : 0)
|
|
111
116
|
| ((bMetadata & MetadataConsts.SEMANTIC_USE_BOLD) ? MetadataConsts.BOLD_MASK : 0)
|
|
@@ -10,6 +10,7 @@ export declare class TokenArray {
|
|
|
10
10
|
forEach(cb: (range: OffsetRange, tokenInfo: TokenInfo) => void): void;
|
|
11
11
|
map<T>(cb: (range: OffsetRange, tokenInfo: TokenInfo) => T): T[];
|
|
12
12
|
slice(range: OffsetRange): TokenArray;
|
|
13
|
+
append(other: TokenArray): TokenArray;
|
|
13
14
|
}
|
|
14
15
|
export type TokenMetadata = number;
|
|
15
16
|
export declare class TokenInfo {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { OffsetRange } from "../core/offsetRange.js";
|
|
2
|
+
import { ILanguageIdCodec } from "../languages.js";
|
|
3
|
+
import { LineTokens } from "./lineTokens.js";
|
|
4
|
+
export declare class TokenWithTextArray {
|
|
5
|
+
private readonly _tokenInfo;
|
|
6
|
+
static fromLineTokens(lineTokens: LineTokens): TokenWithTextArray;
|
|
7
|
+
static create(tokenInfo: TokenWithTextInfo[]): TokenWithTextArray;
|
|
8
|
+
private constructor();
|
|
9
|
+
toLineTokens(decoder: ILanguageIdCodec): LineTokens;
|
|
10
|
+
forEach(cb: (range: OffsetRange, tokenInfo: TokenWithTextInfo) => void): void;
|
|
11
|
+
map<T>(cb: (range: OffsetRange, tokenInfo: TokenWithTextInfo) => T): T[];
|
|
12
|
+
slice(range: OffsetRange): TokenWithTextArray;
|
|
13
|
+
append(other: TokenWithTextArray): TokenWithTextArray;
|
|
14
|
+
}
|
|
15
|
+
export type TokenMetadata = number;
|
|
16
|
+
export declare class TokenWithTextInfo {
|
|
17
|
+
readonly text: string;
|
|
18
|
+
readonly metadata: TokenMetadata;
|
|
19
|
+
constructor(text: string, metadata: TokenMetadata);
|
|
20
|
+
}
|
|
21
|
+
export declare class TokenWithTextArrayBuilder {
|
|
22
|
+
private readonly _tokens;
|
|
23
|
+
add(text: string, metadata: TokenMetadata): void;
|
|
24
|
+
build(): TokenWithTextArray;
|
|
25
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
|
|
2
|
+
import { OffsetRange } from '../core/offsetRange.js';
|
|
3
|
+
import { LineTokens } from './lineTokens.js';
|
|
4
|
+
|
|
5
|
+
class TokenWithTextArray {
|
|
6
|
+
static fromLineTokens(lineTokens) {
|
|
7
|
+
const tokenInfo = [];
|
|
8
|
+
for (let i = 0; i < lineTokens.getCount(); i++) {
|
|
9
|
+
tokenInfo.push(( new TokenWithTextInfo(lineTokens.getTokenText(i), lineTokens.getMetadata(i))));
|
|
10
|
+
}
|
|
11
|
+
return TokenWithTextArray.create(tokenInfo);
|
|
12
|
+
}
|
|
13
|
+
static create(tokenInfo) {
|
|
14
|
+
return ( new TokenWithTextArray(tokenInfo));
|
|
15
|
+
}
|
|
16
|
+
constructor(_tokenInfo) {
|
|
17
|
+
this._tokenInfo = _tokenInfo;
|
|
18
|
+
}
|
|
19
|
+
toLineTokens(decoder) {
|
|
20
|
+
return LineTokens.createFromTextAndMetadata(( this.map((_r, t) => ({ text: t.text, metadata: t.metadata }))), decoder);
|
|
21
|
+
}
|
|
22
|
+
forEach(cb) {
|
|
23
|
+
let lengthSum = 0;
|
|
24
|
+
for (const tokenInfo of this._tokenInfo) {
|
|
25
|
+
const range = ( new OffsetRange(lengthSum, lengthSum + tokenInfo.text.length));
|
|
26
|
+
cb(range, tokenInfo);
|
|
27
|
+
lengthSum += tokenInfo.text.length;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
map(cb) {
|
|
31
|
+
const result = [];
|
|
32
|
+
let lengthSum = 0;
|
|
33
|
+
for (const tokenInfo of this._tokenInfo) {
|
|
34
|
+
const range = ( new OffsetRange(lengthSum, lengthSum + tokenInfo.text.length));
|
|
35
|
+
result.push(cb(range, tokenInfo));
|
|
36
|
+
lengthSum += tokenInfo.text.length;
|
|
37
|
+
}
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
slice(range) {
|
|
41
|
+
const result = [];
|
|
42
|
+
let lengthSum = 0;
|
|
43
|
+
for (const tokenInfo of this._tokenInfo) {
|
|
44
|
+
const tokenStart = lengthSum;
|
|
45
|
+
const tokenEndEx = tokenStart + tokenInfo.text.length;
|
|
46
|
+
if (tokenEndEx > range.start) {
|
|
47
|
+
if (tokenStart >= range.endExclusive) {
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
const deltaBefore = Math.max(0, range.start - tokenStart);
|
|
51
|
+
const deltaAfter = Math.max(0, tokenEndEx - range.endExclusive);
|
|
52
|
+
result.push(( new TokenWithTextInfo(
|
|
53
|
+
tokenInfo.text.slice(deltaBefore, tokenInfo.text.length - deltaAfter),
|
|
54
|
+
tokenInfo.metadata
|
|
55
|
+
)));
|
|
56
|
+
}
|
|
57
|
+
lengthSum += tokenInfo.text.length;
|
|
58
|
+
}
|
|
59
|
+
return TokenWithTextArray.create(result);
|
|
60
|
+
}
|
|
61
|
+
append(other) {
|
|
62
|
+
const result = this._tokenInfo.concat(other._tokenInfo);
|
|
63
|
+
return TokenWithTextArray.create(result);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
class TokenWithTextInfo {
|
|
67
|
+
constructor(text, metadata) {
|
|
68
|
+
this.text = text;
|
|
69
|
+
this.metadata = metadata;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export { TokenWithTextArray, TokenWithTextInfo };
|