monaco-editor-core 0.55.1 → 0.56.0-dev-20251122
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/esm/nls.keys.json +1 -1
- package/esm/nls.messages.cs.js +2 -2
- package/esm/nls.messages.de.js +2 -2
- package/esm/nls.messages.es.js +2 -2
- package/esm/nls.messages.fr.js +2 -2
- package/esm/nls.messages.it.js +2 -2
- package/esm/nls.messages.ja.js +2 -2
- package/esm/nls.messages.js +1 -1
- package/esm/nls.messages.json +1 -1
- package/esm/nls.messages.ko.js +2 -2
- package/esm/nls.messages.pl.js +2 -2
- package/esm/nls.messages.pt-br.js +2 -2
- package/esm/nls.messages.ru.js +2 -2
- package/esm/nls.messages.tr.js +2 -2
- package/esm/nls.messages.zh-cn.js +2 -2
- package/esm/nls.messages.zh-tw.js +2 -2
- package/esm/nls.metadata.json +29 -8
- package/esm/vs/base/browser/dom.js +31 -34
- package/esm/vs/base/browser/dom.js.map +1 -1
- package/esm/vs/base/browser/dompurify/dompurify.js +0 -1
- package/esm/vs/base/browser/keyboardEvent.js +3 -3
- package/esm/vs/base/browser/keyboardEvent.js.map +1 -1
- package/esm/vs/base/browser/markdownRenderer.js +5 -2
- package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
- package/esm/vs/base/browser/pixelRatio.js +5 -5
- package/esm/vs/base/browser/pixelRatio.js.map +1 -1
- package/esm/vs/base/browser/trustedTypes.js +1 -1
- package/esm/vs/base/browser/trustedTypes.js.map +1 -1
- package/esm/vs/base/browser/ui/actionbar/actionbar.js +3 -0
- package/esm/vs/base/browser/ui/actionbar/actionbar.js.map +1 -1
- package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +7 -0
- package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js.map +1 -1
- package/esm/vs/base/browser/ui/hover/hoverWidget.css +0 -13
- package/esm/vs/base/browser/ui/inputbox/inputBox.js +7 -0
- package/esm/vs/base/browser/ui/inputbox/inputBox.js.map +1 -1
- package/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css +4 -2
- package/esm/vs/base/browser/ui/list/listView.js +7 -2
- package/esm/vs/base/browser/ui/list/listView.js.map +1 -1
- package/esm/vs/base/browser/ui/list/rowCache.js +1 -4
- package/esm/vs/base/browser/ui/list/rowCache.js.map +1 -1
- package/esm/vs/base/browser/ui/menu/menu.js +14 -12
- package/esm/vs/base/browser/ui/menu/menu.js.map +1 -1
- package/esm/vs/base/browser/ui/selectBox/selectBox.js +4 -0
- package/esm/vs/base/browser/ui/selectBox/selectBox.js.map +1 -1
- package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.css +12 -32
- package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js +8 -18
- package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js.map +1 -1
- package/esm/vs/base/browser/ui/toolbar/toolbar.js +41 -14
- package/esm/vs/base/browser/ui/toolbar/toolbar.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/abstractTree.js +11 -0
- package/esm/vs/base/browser/ui/tree/abstractTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/asyncDataTree.js +1 -0
- package/esm/vs/base/browser/ui/tree/asyncDataTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/dataTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/indexTreeModel.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/objectTree.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/objectTreeModel.js.map +1 -1
- package/esm/vs/base/browser/ui/tree/tree.js.map +1 -1
- package/esm/vs/base/common/arrays.js +10 -0
- package/esm/vs/base/common/arrays.js.map +1 -1
- package/esm/vs/base/common/async.js +34 -0
- package/esm/vs/base/common/async.js.map +1 -1
- package/esm/vs/base/common/buffer.js +1 -1
- package/esm/vs/base/common/buffer.js.map +1 -1
- package/esm/vs/base/common/cancellation.js.map +1 -1
- package/esm/vs/base/common/codiconsLibrary.js +3 -0
- package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
- package/esm/vs/base/common/collections.js.map +1 -1
- package/esm/vs/base/common/equals.js.map +1 -1
- package/esm/vs/base/common/event.js +32 -15
- package/esm/vs/base/common/event.js.map +1 -1
- package/esm/vs/base/common/filters.js +22 -3
- package/esm/vs/base/common/filters.js.map +1 -1
- package/esm/vs/base/common/hotReload.js +2 -2
- package/esm/vs/base/common/hotReload.js.map +1 -1
- package/esm/vs/base/common/iterator.js +1 -1
- package/esm/vs/base/common/iterator.js.map +1 -1
- package/esm/vs/base/common/keyCodes.js +7 -6
- package/esm/vs/base/common/keyCodes.js.map +1 -1
- package/esm/vs/base/common/linkedList.js.map +1 -1
- package/esm/vs/base/common/map.js +8 -5
- package/esm/vs/base/common/map.js.map +1 -1
- package/esm/vs/base/common/marked/marked.js +0 -1
- package/esm/vs/base/common/network.js +26 -1
- package/esm/vs/base/common/network.js.map +1 -1
- package/esm/vs/base/common/normalization.js +19 -6
- package/esm/vs/base/common/normalization.js.map +1 -1
- package/esm/vs/base/common/observableInternal/debugLocation.js +1 -2
- package/esm/vs/base/common/observableInternal/debugLocation.js.map +1 -1
- package/esm/vs/base/common/observableInternal/debugName.js +0 -1
- package/esm/vs/base/common/observableInternal/debugName.js.map +1 -1
- package/esm/vs/base/common/observableInternal/index.js +4 -4
- package/esm/vs/base/common/observableInternal/index.js.map +1 -1
- package/esm/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js +38 -10
- package/esm/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js.map +1 -1
- package/esm/vs/base/common/observableInternal/observables/baseObservable.js +3 -3
- package/esm/vs/base/common/observableInternal/observables/baseObservable.js.map +1 -1
- package/esm/vs/base/common/observableInternal/observables/derivedImpl.js +1 -4
- package/esm/vs/base/common/observableInternal/observables/derivedImpl.js.map +1 -1
- package/esm/vs/base/common/observableInternal/utils/utils.js +46 -5
- package/esm/vs/base/common/observableInternal/utils/utils.js.map +1 -1
- package/esm/vs/base/common/path.js +1 -0
- package/esm/vs/base/common/path.js.map +1 -1
- package/esm/vs/base/common/strings.js +27 -19
- package/esm/vs/base/common/strings.js.map +1 -1
- package/esm/vs/base/common/worker/webWorker.js +10 -7
- package/esm/vs/base/common/worker/webWorker.js.map +1 -1
- package/esm/vs/editor/browser/config/elementSizeObserver.js +5 -5
- package/esm/vs/editor/browser/config/elementSizeObserver.js.map +1 -1
- package/esm/vs/editor/browser/config/fontMeasurements.js.map +1 -1
- package/esm/vs/editor/browser/config/migrateOptions.js +6 -0
- package/esm/vs/editor/browser/config/migrateOptions.js.map +1 -1
- package/esm/vs/editor/browser/config/tabFocus.js +4 -2
- package/esm/vs/editor/browser/config/tabFocus.js.map +1 -1
- package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js +8 -0
- package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js.map +1 -1
- package/esm/vs/editor/browser/coreCommands.js +1 -2
- package/esm/vs/editor/browser/coreCommands.js.map +1 -1
- package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
- package/esm/vs/editor/browser/observableCodeEditor.js +32 -1
- package/esm/vs/editor/browser/observableCodeEditor.js.map +1 -1
- package/esm/vs/editor/browser/services/contribution.js +9 -0
- package/esm/vs/editor/browser/services/contribution.js.map +1 -0
- package/esm/vs/editor/browser/services/editorWorkerService.js +27 -14
- package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
- package/esm/vs/editor/browser/services/openerService.js +5 -1
- package/esm/vs/editor/browser/services/openerService.js.map +1 -1
- package/esm/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
- package/esm/vs/editor/browser/view/domLineBreaksComputer.js.map +1 -1
- package/esm/vs/editor/browser/view/renderingContext.js +1 -1
- package/esm/vs/editor/browser/view/renderingContext.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +10 -3
- package/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +3 -4
- package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/minimap/minimap.js +1 -1
- package/esm/vs/editor/browser/viewParts/minimap/minimap.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +1 -1
- package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +4 -2
- package/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/rulers/rulers.js +1 -3
- package/esm/vs/editor/browser/viewParts/rulers/rulers.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +1 -1
- package/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/viewLines/domReadingContext.js +2 -1
- package/esm/vs/editor/browser/viewParts/viewLines/domReadingContext.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js +6 -18
- package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/whitespace/whitespace.js +0 -7
- package/esm/vs/editor/browser/viewParts/whitespace/whitespace.js.map +1 -1
- package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +7 -2
- package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
- package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +1 -0
- package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js.map +1 -1
- package/esm/vs/editor/common/commands/replaceCommand.js +2 -2
- package/esm/vs/editor/common/commands/replaceCommand.js.map +1 -1
- package/esm/vs/editor/common/config/editorOptions.js +374 -360
- package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
- package/esm/vs/editor/common/core/2d/rect.js +7 -0
- package/esm/vs/editor/common/core/2d/rect.js.map +1 -1
- package/esm/vs/editor/common/core/2d/size.js +20 -0
- package/esm/vs/editor/common/core/2d/size.js.map +1 -0
- package/esm/vs/editor/common/core/editorColorRegistry.js +69 -68
- package/esm/vs/editor/common/core/editorColorRegistry.js.map +1 -1
- package/esm/vs/editor/common/core/ranges/offsetRange.js +9 -0
- package/esm/vs/editor/common/core/ranges/offsetRange.js.map +1 -1
- package/esm/vs/editor/common/cursor/cursorMoveCommands.js +4 -4
- package/esm/vs/editor/common/cursor/cursorMoveCommands.js.map +1 -1
- package/esm/vs/editor/common/editorContextKeys.js +47 -47
- package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
- package/esm/vs/editor/common/languages.js +56 -56
- package/esm/vs/editor/common/languages.js.map +1 -1
- package/esm/vs/editor/common/model/editStack.js +1 -1
- package/esm/vs/editor/common/services/languagesAssociations.js +6 -8
- package/esm/vs/editor/common/services/languagesAssociations.js.map +1 -1
- package/esm/vs/editor/common/standaloneStrings.js +11 -10
- package/esm/vs/editor/common/standaloneStrings.js.map +1 -1
- package/esm/vs/editor/common/textModelEditSource.js +1 -1
- package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
- package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
- package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
- package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
- package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
- package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
- package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
- package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
- package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
- package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
- package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
- package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
- package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
- package/esm/vs/editor/contrib/codelens/browser/codelens.js.map +1 -1
- package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
- package/esm/vs/editor/contrib/codelens/browser/codelensController.js.map +1 -1
- package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
- package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
- package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
- package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
- package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
- package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
- package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
- package/esm/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +14 -0
- package/esm/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js.map +1 -1
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
- package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
- package/esm/vs/editor/contrib/find/browser/findController.js +17 -17
- package/esm/vs/editor/contrib/find/browser/findController.js.map +1 -1
- package/esm/vs/editor/contrib/find/browser/findWidget.js +26 -26
- package/esm/vs/editor/contrib/find/browser/findWidgetSearchHistory.js.map +1 -1
- package/esm/vs/editor/contrib/find/browser/replaceWidgetHistory.js.map +1 -1
- package/esm/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +1 -1
- package/esm/vs/editor/contrib/folding/browser/folding.js +20 -20
- package/esm/vs/editor/contrib/folding/browser/folding.js.map +1 -1
- package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
- package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
- package/esm/vs/editor/contrib/format/browser/format.js +21 -6
- package/esm/vs/editor/contrib/format/browser/format.js.map +1 -1
- package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
- package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
- package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
- package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
- package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
- package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
- package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
- package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
- package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
- package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
- package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
- package/esm/vs/editor/contrib/hover/browser/contentHoverController.js +5 -10
- package/esm/vs/editor/contrib/hover/browser/contentHoverController.js.map +1 -1
- package/esm/vs/editor/contrib/hover/browser/glyphHoverController.js +11 -6
- package/esm/vs/editor/contrib/hover/browser/glyphHoverController.js.map +1 -1
- package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
- package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
- package/esm/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
- package/esm/vs/editor/contrib/hover/browser/hoverUtils.js +24 -0
- package/esm/vs/editor/contrib/hover/browser/hoverUtils.js.map +1 -1
- package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
- package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
- package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
- package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
- package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +20 -20
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -12
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +18 -16
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
- package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +42 -37
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js +3 -3
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +8 -8
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +54 -43
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +12 -12
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +74 -48
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +8 -36
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +10 -11
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +105 -119
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +8 -36
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/debugVisualization.js +95 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/debugVisualization.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +17 -9
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +428 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js +290 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/flexBoxLayout.js +103 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/flexBoxLayout.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/towersLayout.js +32 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/towersLayout.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +44 -11
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.css +10 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js +181 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js.map +1 -0
- package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
- package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
- package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +32 -31
- package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js.map +1 -1
- package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
- package/esm/vs/editor/contrib/links/browser/links.js +10 -10
- package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
- package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
- package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
- package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
- package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
- package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
- package/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +2 -2
- package/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js.map +1 -1
- package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +18 -13
- package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js.map +1 -1
- package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
- package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
- package/esm/vs/editor/contrib/rename/browser/rename.js +12 -12
- package/esm/vs/editor/contrib/rename/browser/rename.js.map +1 -1
- package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
- package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
- package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
- package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +1 -1
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js.map +1 -1
- package/esm/vs/editor/contrib/suggest/browser/suggest.js +8 -8
- package/esm/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
- package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
- package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
- package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
- package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
- package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
- package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
- package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +29 -29
- package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js.map +1 -1
- package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
- package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
- package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +4 -4
- package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js.map +1 -1
- package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
- package/esm/vs/editor/editor.all.js +1 -0
- package/esm/vs/editor/editor.all.js.map +1 -1
- package/esm/vs/editor/editor.api.d.ts +9 -5
- package/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js +22 -2
- package/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js.map +1 -1
- package/esm/vs/editor/standalone/browser/services/standaloneWebWorkerService.js +39 -0
- package/esm/vs/editor/standalone/browser/services/standaloneWebWorkerService.js.map +1 -0
- package/esm/vs/editor/standalone/browser/standaloneEditor.js +2 -1
- package/esm/vs/editor/standalone/browser/standaloneEditor.js.map +1 -1
- package/esm/vs/editor/standalone/browser/standaloneServices.js +3 -21
- package/esm/vs/editor/standalone/browser/standaloneServices.js.map +1 -1
- package/esm/vs/editor/standalone/browser/standaloneWebWorker.js +4 -4
- package/esm/vs/editor/standalone/browser/standaloneWebWorker.js.map +1 -1
- package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
- package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
- package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
- package/esm/vs/platform/actionWidget/browser/actionWidget.css +7 -0
- package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
- package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +7 -9
- package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js.map +1 -1
- package/esm/vs/platform/actions/browser/toolbar.js +2 -2
- package/esm/vs/platform/actions/common/actions.js +2 -0
- package/esm/vs/platform/actions/common/actions.js.map +1 -1
- package/esm/vs/platform/actions/common/menuService.js +2 -2
- package/esm/vs/platform/configuration/common/configuration.js +5 -4
- package/esm/vs/platform/configuration/common/configuration.js.map +1 -1
- package/esm/vs/platform/configuration/common/configurationModels.js +21 -10
- package/esm/vs/platform/configuration/common/configurationModels.js.map +1 -1
- package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
- package/esm/vs/platform/configuration/common/configurationRegistry.js.map +1 -1
- package/esm/vs/platform/configuration/common/configurations.js.map +1 -1
- package/esm/vs/platform/contextkey/browser/contextKeyService.js +3 -3
- package/esm/vs/platform/contextkey/browser/contextKeyService.js.map +1 -1
- package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
- package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
- package/esm/vs/platform/contextkey/common/scanner.js +5 -5
- package/esm/vs/platform/contextview/browser/contextViewService.js.map +1 -1
- package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
- package/esm/vs/platform/hover/browser/hoverService.js +17 -8
- package/esm/vs/platform/hover/browser/hoverService.js.map +1 -1
- package/esm/vs/platform/hover/browser/hoverWidget.js +1 -1
- package/esm/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
- package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
- package/esm/vs/platform/list/browser/listService.js +27 -27
- package/esm/vs/platform/list/browser/listService.js.map +1 -1
- package/esm/vs/platform/markers/common/markerService.js +2 -2
- package/esm/vs/platform/markers/common/markers.js +6 -6
- package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +51 -39
- package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
- package/esm/vs/platform/quickinput/browser/media/quickInput.css +9 -3
- package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
- package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
- package/esm/vs/platform/quickinput/browser/quickInputController.js +35 -14
- package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/quickInputList.js +4 -1
- package/esm/vs/platform/quickinput/browser/quickInputList.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js +78 -39
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +21 -8
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js.map +1 -1
- package/esm/vs/platform/telemetry/common/gdprTypings.js.map +1 -1
- package/esm/vs/platform/telemetry/common/telemetry.js.map +1 -1
- package/esm/vs/platform/theme/common/colorUtils.js +2 -2
- package/esm/vs/platform/theme/common/colors/baseColors.js +17 -17
- package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
- package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
- package/esm/vs/platform/theme/common/colors/editorColors.js.map +1 -1
- package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
- package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
- package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
- package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
- package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
- package/esm/vs/platform/theme/common/colors/miscColors.js.map +1 -1
- package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
- package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
- package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
- package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
- package/esm/vs/platform/webWorker/browser/webWorkerDescriptor.js +12 -0
- package/esm/vs/platform/webWorker/browser/webWorkerDescriptor.js.map +1 -0
- package/esm/vs/platform/webWorker/browser/webWorkerService.js +7 -0
- package/esm/vs/platform/webWorker/browser/webWorkerService.js.map +1 -0
- package/esm/vs/{base/browser/webWorkerFactory.js → platform/webWorker/browser/webWorkerServiceImpl.js} +47 -66
- package/esm/vs/platform/webWorker/browser/webWorkerServiceImpl.js.map +1 -0
- package/esm/vs/platform/workspace/common/workspace.js +1 -1
- package/monaco.d.ts +9 -5
- package/package.json +2 -2
- package/esm/vs/base/browser/webWorkerFactory.js.map +0 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +0 -82
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js.map +0 -1
|
@@ -21,23 +21,23 @@ const argsSchema = {
|
|
|
21
21
|
properties: {
|
|
22
22
|
'kind': {
|
|
23
23
|
type: 'string',
|
|
24
|
-
description: nls.localize(
|
|
24
|
+
description: nls.localize(837, "Kind of the code action to run."),
|
|
25
25
|
},
|
|
26
26
|
'apply': {
|
|
27
27
|
type: 'string',
|
|
28
|
-
description: nls.localize(
|
|
28
|
+
description: nls.localize(838, "Controls when the returned actions are applied."),
|
|
29
29
|
default: "ifSingle" /* CodeActionAutoApply.IfSingle */,
|
|
30
30
|
enum: ["first" /* CodeActionAutoApply.First */, "ifSingle" /* CodeActionAutoApply.IfSingle */, "never" /* CodeActionAutoApply.Never */],
|
|
31
31
|
enumDescriptions: [
|
|
32
|
-
nls.localize(
|
|
33
|
-
nls.localize(
|
|
34
|
-
nls.localize(
|
|
32
|
+
nls.localize(839, "Always apply the first returned code action."),
|
|
33
|
+
nls.localize(840, "Apply the first returned code action if it is the only one."),
|
|
34
|
+
nls.localize(841, "Do not apply the returned code actions."),
|
|
35
35
|
]
|
|
36
36
|
},
|
|
37
37
|
'preferred': {
|
|
38
38
|
type: 'boolean',
|
|
39
39
|
default: false,
|
|
40
|
-
description: nls.localize(
|
|
40
|
+
description: nls.localize(842, "Controls if only preferred code actions should be returned."),
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
};
|
|
@@ -51,7 +51,7 @@ export class QuickFixAction extends EditorAction {
|
|
|
51
51
|
constructor() {
|
|
52
52
|
super({
|
|
53
53
|
id: quickFixCommandId,
|
|
54
|
-
label: nls.localize2(
|
|
54
|
+
label: nls.localize2(859, "Quick Fix..."),
|
|
55
55
|
precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasCodeActionsProvider),
|
|
56
56
|
kbOpts: {
|
|
57
57
|
kbExpr: EditorContextKeys.textInputFocus,
|
|
@@ -61,7 +61,7 @@ export class QuickFixAction extends EditorAction {
|
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
run(_accessor, editor) {
|
|
64
|
-
return triggerCodeActionsForEditorSelection(editor, nls.localize(
|
|
64
|
+
return triggerCodeActionsForEditorSelection(editor, nls.localize(843, "No code actions available"), undefined, undefined, CodeActionTriggerSource.QuickFix);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
export class CodeActionCommand extends EditorCommand {
|
|
@@ -82,11 +82,11 @@ export class CodeActionCommand extends EditorCommand {
|
|
|
82
82
|
});
|
|
83
83
|
return triggerCodeActionsForEditorSelection(editor, typeof userArgs?.kind === 'string'
|
|
84
84
|
? args.preferred
|
|
85
|
-
? nls.localize(
|
|
86
|
-
: nls.localize(
|
|
85
|
+
? nls.localize(844, "No preferred code actions for '{0}' available", userArgs.kind)
|
|
86
|
+
: nls.localize(845, "No code actions for '{0}' available", userArgs.kind)
|
|
87
87
|
: args.preferred
|
|
88
|
-
? nls.localize(
|
|
89
|
-
: nls.localize(
|
|
88
|
+
? nls.localize(846, "No preferred code actions available")
|
|
89
|
+
: nls.localize(847, "No code actions available"), {
|
|
90
90
|
include: args.kind,
|
|
91
91
|
includeSourceActions: true,
|
|
92
92
|
onlyIncludePreferredActions: args.preferred,
|
|
@@ -97,7 +97,7 @@ export class RefactorAction extends EditorAction {
|
|
|
97
97
|
constructor() {
|
|
98
98
|
super({
|
|
99
99
|
id: refactorCommandId,
|
|
100
|
-
label: nls.localize2(
|
|
100
|
+
label: nls.localize2(860, "Refactor..."),
|
|
101
101
|
precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasCodeActionsProvider),
|
|
102
102
|
kbOpts: {
|
|
103
103
|
kbExpr: EditorContextKeys.textInputFocus,
|
|
@@ -125,11 +125,11 @@ export class RefactorAction extends EditorAction {
|
|
|
125
125
|
});
|
|
126
126
|
return triggerCodeActionsForEditorSelection(editor, typeof userArgs?.kind === 'string'
|
|
127
127
|
? args.preferred
|
|
128
|
-
? nls.localize(
|
|
129
|
-
: nls.localize(
|
|
128
|
+
? nls.localize(848, "No preferred refactorings for '{0}' available", userArgs.kind)
|
|
129
|
+
: nls.localize(849, "No refactorings for '{0}' available", userArgs.kind)
|
|
130
130
|
: args.preferred
|
|
131
|
-
? nls.localize(
|
|
132
|
-
: nls.localize(
|
|
131
|
+
? nls.localize(850, "No preferred refactorings available")
|
|
132
|
+
: nls.localize(851, "No refactorings available"), {
|
|
133
133
|
include: CodeActionKind.Refactor.contains(args.kind) ? args.kind : HierarchicalKind.None,
|
|
134
134
|
onlyIncludePreferredActions: args.preferred
|
|
135
135
|
}, args.apply, CodeActionTriggerSource.Refactor);
|
|
@@ -139,7 +139,7 @@ export class SourceAction extends EditorAction {
|
|
|
139
139
|
constructor() {
|
|
140
140
|
super({
|
|
141
141
|
id: sourceActionCommandId,
|
|
142
|
-
label: nls.localize2(
|
|
142
|
+
label: nls.localize2(861, "Source Action..."),
|
|
143
143
|
precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasCodeActionsProvider),
|
|
144
144
|
contextMenuOpts: {
|
|
145
145
|
group: '1_modification',
|
|
@@ -159,11 +159,11 @@ export class SourceAction extends EditorAction {
|
|
|
159
159
|
});
|
|
160
160
|
return triggerCodeActionsForEditorSelection(editor, typeof userArgs?.kind === 'string'
|
|
161
161
|
? args.preferred
|
|
162
|
-
? nls.localize(
|
|
163
|
-
: nls.localize(
|
|
162
|
+
? nls.localize(852, "No preferred source actions for '{0}' available", userArgs.kind)
|
|
163
|
+
: nls.localize(853, "No source actions for '{0}' available", userArgs.kind)
|
|
164
164
|
: args.preferred
|
|
165
|
-
? nls.localize(
|
|
166
|
-
: nls.localize(
|
|
165
|
+
? nls.localize(854, "No preferred source actions available")
|
|
166
|
+
: nls.localize(855, "No source actions available"), {
|
|
167
167
|
include: CodeActionKind.Source.contains(args.kind) ? args.kind : HierarchicalKind.None,
|
|
168
168
|
includeSourceActions: true,
|
|
169
169
|
onlyIncludePreferredActions: args.preferred,
|
|
@@ -174,7 +174,7 @@ export class OrganizeImportsAction extends EditorAction {
|
|
|
174
174
|
constructor() {
|
|
175
175
|
super({
|
|
176
176
|
id: organizeImportsCommandId,
|
|
177
|
-
label: nls.localize2(
|
|
177
|
+
label: nls.localize2(862, "Organize Imports"),
|
|
178
178
|
precondition: ContextKeyExpr.and(EditorContextKeys.writable, contextKeyForSupportedActions(CodeActionKind.SourceOrganizeImports)),
|
|
179
179
|
kbOpts: {
|
|
180
180
|
kbExpr: EditorContextKeys.textInputFocus,
|
|
@@ -182,31 +182,31 @@ export class OrganizeImportsAction extends EditorAction {
|
|
|
182
182
|
weight: 100 /* KeybindingWeight.EditorContrib */
|
|
183
183
|
},
|
|
184
184
|
metadata: {
|
|
185
|
-
description: nls.localize2(
|
|
185
|
+
description: nls.localize2(863, "Organize imports in the current file. Also called 'Optimize Imports' by some tools")
|
|
186
186
|
}
|
|
187
187
|
});
|
|
188
188
|
}
|
|
189
189
|
run(_accessor, editor) {
|
|
190
|
-
return triggerCodeActionsForEditorSelection(editor, nls.localize(
|
|
190
|
+
return triggerCodeActionsForEditorSelection(editor, nls.localize(856, "No organize imports action available"), { include: CodeActionKind.SourceOrganizeImports, includeSourceActions: true }, "ifSingle" /* CodeActionAutoApply.IfSingle */, CodeActionTriggerSource.OrganizeImports);
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
193
|
export class FixAllAction extends EditorAction {
|
|
194
194
|
constructor() {
|
|
195
195
|
super({
|
|
196
196
|
id: fixAllCommandId,
|
|
197
|
-
label: nls.localize2(
|
|
197
|
+
label: nls.localize2(864, "Fix All"),
|
|
198
198
|
precondition: ContextKeyExpr.and(EditorContextKeys.writable, contextKeyForSupportedActions(CodeActionKind.SourceFixAll))
|
|
199
199
|
});
|
|
200
200
|
}
|
|
201
201
|
run(_accessor, editor) {
|
|
202
|
-
return triggerCodeActionsForEditorSelection(editor, nls.localize(
|
|
202
|
+
return triggerCodeActionsForEditorSelection(editor, nls.localize(857, "No fix all action available"), { include: CodeActionKind.SourceFixAll, includeSourceActions: true }, "ifSingle" /* CodeActionAutoApply.IfSingle */, CodeActionTriggerSource.FixAll);
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
export class AutoFixAction extends EditorAction {
|
|
206
206
|
constructor() {
|
|
207
207
|
super({
|
|
208
208
|
id: autoFixCommandId,
|
|
209
|
-
label: nls.localize2(
|
|
209
|
+
label: nls.localize2(865, "Auto Fix..."),
|
|
210
210
|
precondition: ContextKeyExpr.and(EditorContextKeys.writable, contextKeyForSupportedActions(CodeActionKind.QuickFix)),
|
|
211
211
|
kbOpts: {
|
|
212
212
|
kbExpr: EditorContextKeys.textInputFocus,
|
|
@@ -219,7 +219,7 @@ export class AutoFixAction extends EditorAction {
|
|
|
219
219
|
});
|
|
220
220
|
}
|
|
221
221
|
run(_accessor, editor) {
|
|
222
|
-
return triggerCodeActionsForEditorSelection(editor, nls.localize(
|
|
222
|
+
return triggerCodeActionsForEditorSelection(editor, nls.localize(858, "No auto fixes available"), {
|
|
223
223
|
include: CodeActionKind.QuickFix,
|
|
224
224
|
onlyIncludePreferredActions: true
|
|
225
225
|
}, "ifSingle" /* CodeActionAutoApply.IfSingle */, CodeActionTriggerSource.AutoFix);
|
|
@@ -25,7 +25,7 @@ Registry.as(Extensions.Configuration).registerConfiguration({
|
|
|
25
25
|
'editor.codeActionWidget.showHeaders': {
|
|
26
26
|
type: 'boolean',
|
|
27
27
|
scope: 6 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */,
|
|
28
|
-
description: nls.localize(
|
|
28
|
+
description: nls.localize(866, "Enable/disable showing group headers in the Code Action menu."),
|
|
29
29
|
default: true,
|
|
30
30
|
},
|
|
31
31
|
}
|
|
@@ -36,7 +36,7 @@ Registry.as(Extensions.Configuration).registerConfiguration({
|
|
|
36
36
|
'editor.codeActionWidget.includeNearbyQuickFixes': {
|
|
37
37
|
type: 'boolean',
|
|
38
38
|
scope: 6 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */,
|
|
39
|
-
description: nls.localize(
|
|
39
|
+
description: nls.localize(867, "Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),
|
|
40
40
|
default: true,
|
|
41
41
|
},
|
|
42
42
|
}
|
|
@@ -47,7 +47,7 @@ Registry.as(Extensions.Configuration).registerConfiguration({
|
|
|
47
47
|
'editor.codeActions.triggerOnFocusChange': {
|
|
48
48
|
type: 'boolean',
|
|
49
49
|
scope: 6 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */,
|
|
50
|
-
markdownDescription: nls.localize(
|
|
50
|
+
markdownDescription: nls.localize(868, 'Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.', '`#editor.codeActionsOnSave#`', '`#files.autoSave#`', '`afterDelay`', '`always`'),
|
|
51
51
|
default: false,
|
|
52
52
|
},
|
|
53
53
|
}
|
|
@@ -267,7 +267,7 @@ let CodeActionController = class CodeActionController extends Disposable {
|
|
|
267
267
|
const diagnostic = diagnostics[0];
|
|
268
268
|
if (diagnostic.startLineNumber && diagnostic.startColumn) {
|
|
269
269
|
const selectionText = this._editor.getModel()?.getWordAtPosition({ lineNumber: diagnostic.startLineNumber, column: diagnostic.startColumn })?.word;
|
|
270
|
-
aria.status(localize(
|
|
270
|
+
aria.status(localize(869, "Context: {0} at line {1} and column {2}.", selectionText, diagnostic.startLineNumber, diagnostic.startColumn));
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
273
|
}
|
|
@@ -310,7 +310,7 @@ let CodeActionController = class CodeActionController extends Disposable {
|
|
|
310
310
|
if (options.includeDisabledActions && actions.validActions.length > 0 && actions.allActions.length !== actions.validActions.length) {
|
|
311
311
|
resultActions.push(this._showDisabled ? {
|
|
312
312
|
id: 'hideMoreActions',
|
|
313
|
-
label: localize(
|
|
313
|
+
label: localize(870, 'Hide Disabled'),
|
|
314
314
|
enabled: true,
|
|
315
315
|
tooltip: '',
|
|
316
316
|
class: undefined,
|
|
@@ -320,7 +320,7 @@ let CodeActionController = class CodeActionController extends Disposable {
|
|
|
320
320
|
}
|
|
321
321
|
} : {
|
|
322
322
|
id: 'showMoreActions',
|
|
323
|
-
label: localize(
|
|
323
|
+
label: localize(871, 'Show Disabled'),
|
|
324
324
|
enabled: true,
|
|
325
325
|
tooltip: '',
|
|
326
326
|
class: undefined,
|
|
@@ -8,15 +8,15 @@ import { CodeActionKind } from '../common/types.js';
|
|
|
8
8
|
import '../../symbolIcons/browser/symbolIcons.js'; // The codicon symbol colors are defined here and must be loaded to get colors
|
|
9
9
|
import { localize } from '../../../../nls.js';
|
|
10
10
|
import { HierarchicalKind } from '../../../../base/common/hierarchicalKind.js';
|
|
11
|
-
const uncategorizedCodeActionGroup = Object.freeze({ kind: HierarchicalKind.Empty, title: localize(
|
|
11
|
+
const uncategorizedCodeActionGroup = Object.freeze({ kind: HierarchicalKind.Empty, title: localize(872, 'More Actions...') });
|
|
12
12
|
const codeActionGroups = Object.freeze([
|
|
13
|
-
{ kind: CodeActionKind.QuickFix, title: localize(
|
|
14
|
-
{ kind: CodeActionKind.RefactorExtract, title: localize(
|
|
15
|
-
{ kind: CodeActionKind.RefactorInline, title: localize(
|
|
16
|
-
{ kind: CodeActionKind.RefactorRewrite, title: localize(
|
|
17
|
-
{ kind: CodeActionKind.RefactorMove, title: localize(
|
|
18
|
-
{ kind: CodeActionKind.SurroundWith, title: localize(
|
|
19
|
-
{ kind: CodeActionKind.Source, title: localize(
|
|
13
|
+
{ kind: CodeActionKind.QuickFix, title: localize(873, 'Quick Fix') },
|
|
14
|
+
{ kind: CodeActionKind.RefactorExtract, title: localize(874, 'Extract'), icon: Codicon.wrench },
|
|
15
|
+
{ kind: CodeActionKind.RefactorInline, title: localize(875, 'Inline'), icon: Codicon.wrench },
|
|
16
|
+
{ kind: CodeActionKind.RefactorRewrite, title: localize(876, 'Rewrite'), icon: Codicon.wrench },
|
|
17
|
+
{ kind: CodeActionKind.RefactorMove, title: localize(877, 'Move'), icon: Codicon.wrench },
|
|
18
|
+
{ kind: CodeActionKind.SurroundWith, title: localize(878, 'Surround With'), icon: Codicon.surroundWith },
|
|
19
|
+
{ kind: CodeActionKind.Source, title: localize(879, 'Source Action'), icon: Codicon.symbolFile },
|
|
20
20
|
uncategorizedCodeActionGroup,
|
|
21
21
|
]);
|
|
22
22
|
export function toMenuItems(inputCodeActions, showHeaders, keybindingResolver) {
|
|
@@ -27,11 +27,11 @@ import * as nls from '../../../../nls.js';
|
|
|
27
27
|
import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';
|
|
28
28
|
import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
|
|
29
29
|
import { Range } from '../../../common/core/range.js';
|
|
30
|
-
const GUTTER_LIGHTBULB_ICON = registerIcon('gutter-lightbulb', Codicon.lightBulb, nls.localize(
|
|
31
|
-
const GUTTER_LIGHTBULB_AUTO_FIX_ICON = registerIcon('gutter-lightbulb-auto-fix', Codicon.lightbulbAutofix, nls.localize(
|
|
32
|
-
const GUTTER_LIGHTBULB_AIFIX_ICON = registerIcon('gutter-lightbulb-sparkle', Codicon.lightbulbSparkle, nls.localize(
|
|
33
|
-
const GUTTER_LIGHTBULB_AIFIX_AUTO_FIX_ICON = registerIcon('gutter-lightbulb-aifix-auto-fix', Codicon.lightbulbSparkleAutofix, nls.localize(
|
|
34
|
-
const GUTTER_SPARKLE_FILLED_ICON = registerIcon('gutter-lightbulb-sparkle-filled', Codicon.sparkleFilled, nls.localize(
|
|
30
|
+
const GUTTER_LIGHTBULB_ICON = registerIcon('gutter-lightbulb', Codicon.lightBulb, nls.localize(880, 'Icon which spawns code actions menu from the gutter when there is no space in the editor.'));
|
|
31
|
+
const GUTTER_LIGHTBULB_AUTO_FIX_ICON = registerIcon('gutter-lightbulb-auto-fix', Codicon.lightbulbAutofix, nls.localize(881, 'Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.'));
|
|
32
|
+
const GUTTER_LIGHTBULB_AIFIX_ICON = registerIcon('gutter-lightbulb-sparkle', Codicon.lightbulbSparkle, nls.localize(882, 'Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.'));
|
|
33
|
+
const GUTTER_LIGHTBULB_AIFIX_AUTO_FIX_ICON = registerIcon('gutter-lightbulb-aifix-auto-fix', Codicon.lightbulbSparkleAutofix, nls.localize(883, 'Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.'));
|
|
34
|
+
const GUTTER_SPARKLE_FILLED_ICON = registerIcon('gutter-lightbulb-sparkle-filled', Codicon.sparkleFilled, nls.localize(884, 'Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.'));
|
|
35
35
|
var LightBulbState;
|
|
36
36
|
(function (LightBulbState) {
|
|
37
37
|
LightBulbState.Hidden = { type: 0 /* Type.Hidden */ };
|
|
@@ -403,16 +403,16 @@ let LightBulbWidget = class LightBulbWidget extends Disposable {
|
|
|
403
403
|
return;
|
|
404
404
|
}
|
|
405
405
|
if (autoRun) {
|
|
406
|
-
this.title = nls.localize(
|
|
406
|
+
this.title = nls.localize(885, "Run: {0}", this.state.actions.validActions[0].action.title);
|
|
407
407
|
}
|
|
408
408
|
else if (autoFix && this._preferredKbLabel) {
|
|
409
|
-
this.title = nls.localize(
|
|
409
|
+
this.title = nls.localize(886, "Show Code Actions. Preferred Quick Fix Available ({0})", this._preferredKbLabel);
|
|
410
410
|
}
|
|
411
411
|
else if (!autoFix && this._quickFixKbLabel) {
|
|
412
|
-
this.title = nls.localize(
|
|
412
|
+
this.title = nls.localize(887, "Show Code Actions ({0})", this._quickFixKbLabel);
|
|
413
413
|
}
|
|
414
414
|
else if (!autoFix) {
|
|
415
|
-
this.title = nls.localize(
|
|
415
|
+
this.title = nls.localize(888, "Show Code Actions");
|
|
416
416
|
}
|
|
417
417
|
}
|
|
418
418
|
set title(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/contrib/codelens/browser/codelens.ts","vs/editor/contrib/codelens/browser/codelens.ts"],"names":[],"mappings":"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","file":"codelens.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { CancellationToken } from '../../../../base/common/cancellation.js';\nimport { illegalArgument, onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { DisposableStore, isDisposable } from '../../../../base/common/lifecycle.js';\nimport { assertType } from '../../../../base/common/types.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { CodeLens, CodeLensList, CodeLensProvider } from '../../../common/languages.js';\nimport { IModelService } from '../../../common/services/model.js';\nimport { CommandsRegistry } from '../../../../platform/commands/common/commands.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\n\nexport interface CodeLensItem {\n\treadonly symbol: CodeLens;\n\treadonly provider: CodeLensProvider;\n}\n\nexport class CodeLensModel {\n\n\tstatic readonly Empty = new CodeLensModel();\n\n\tlenses: CodeLensItem[] = [];\n\n\tprivate _store: DisposableStore | undefined;\n\n\tdispose(): void {\n\t\tthis._store?.dispose();\n\t}\n\n\tget isDisposed(): boolean {\n\t\treturn this._store?.isDisposed ?? false;\n\t}\n\n\tadd(list: CodeLensList, provider: CodeLensProvider): void {\n\t\tif (isDisposable(list)) {\n\t\t\tthis._store ??= new DisposableStore();\n\t\t\tthis._store.add(list);\n\t\t}\n\t\tfor (const symbol of list.lenses) {\n\t\t\tthis.lenses.push({ symbol, provider });\n\t\t}\n\t}\n}\n\nexport async function getCodeLensModel(registry: LanguageFeatureRegistry<CodeLensProvider>, model: ITextModel, token: CancellationToken): Promise<CodeLensModel> {\n\n\tconst provider = registry.ordered(model);\n\tconst providerRanks = new Map<CodeLensProvider, number>();\n\tconst result = new CodeLensModel();\n\n\tconst promises = provider.map(async (provider, i) => {\n\n\t\tproviderRanks.set(provider, i);\n\n\t\ttry {\n\t\t\tconst list = await Promise.resolve(provider.provideCodeLenses(model, token));\n\t\t\tif (list) {\n\t\t\t\tresult.add(list, provider);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tonUnexpectedExternalError(err);\n\t\t}\n\t});\n\n\tawait Promise.all(promises);\n\n\tif (token.isCancellationRequested) {\n\t\tresult.dispose();\n\t\treturn CodeLensModel.Empty;\n\t}\n\n\tresult.lenses = result.lenses.sort((a, b) => {\n\t\t// sort by lineNumber, provider-rank, and column\n\t\tif (a.symbol.range.startLineNumber < b.symbol.range.startLineNumber) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startLineNumber > b.symbol.range.startLineNumber) {\n\t\t\treturn 1;\n\t\t} else if ((providerRanks.get(a.provider)!) < (providerRanks.get(b.provider)!)) {\n\t\t\treturn -1;\n\t\t} else if ((providerRanks.get(a.provider)!) > (providerRanks.get(b.provider)!)) {\n\t\t\treturn 1;\n\t\t} else if (a.symbol.range.startColumn < b.symbol.range.startColumn) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startColumn > b.symbol.range.startColumn) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t});\n\treturn result;\n}\n\nCommandsRegistry.registerCommand('_executeCodeLensProvider', function (accessor, ...args: [URI, number | undefined | null]) {\n\tlet [uri, itemResolveCount] = args;\n\tassertType(URI.isUri(uri));\n\tassertType(typeof itemResolveCount === 'number' || !itemResolveCount);\n\n\tconst { codeLensProvider } = accessor.get(ILanguageFeaturesService);\n\n\tconst model = accessor.get(IModelService).getModel(uri);\n\tif (!model) {\n\t\tthrow illegalArgument();\n\t}\n\n\tconst result: CodeLens[] = [];\n\tconst disposables = new DisposableStore();\n\treturn getCodeLensModel(codeLensProvider, model, CancellationToken.None).then(value => {\n\n\t\tdisposables.add(value);\n\t\tconst resolve: Promise<any>[] = [];\n\n\t\tfor (const item of value.lenses) {\n\t\t\tif (itemResolveCount === undefined || itemResolveCount === null || Boolean(item.symbol.command)) {\n\t\t\t\tresult.push(item.symbol);\n\t\t\t} else if (itemResolveCount-- > 0 && item.provider.resolveCodeLens) {\n\t\t\t\tresolve.push(Promise.resolve(item.provider.resolveCodeLens(model, item.symbol, CancellationToken.None)).then(symbol => result.push(symbol || item.symbol)));\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.all(resolve);\n\n\t}).then(() => {\n\t\treturn result;\n\t}).finally(() => {\n\t\t// make sure to return results, then (on next tick)\n\t\t// dispose the results\n\t\tsetTimeout(() => disposables.dispose(), 100);\n\t});\n});\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { CancellationToken } from '../../../../base/common/cancellation.js';\nimport { illegalArgument, onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { DisposableStore, isDisposable } from '../../../../base/common/lifecycle.js';\nimport { assertType } from '../../../../base/common/types.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { CodeLens, CodeLensList, CodeLensProvider } from '../../../common/languages.js';\nimport { IModelService } from '../../../common/services/model.js';\nimport { CommandsRegistry } from '../../../../platform/commands/common/commands.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\n\nexport interface CodeLensItem {\n\treadonly symbol: CodeLens;\n\treadonly provider: CodeLensProvider;\n}\n\nexport class CodeLensModel {\n\n\tstatic readonly Empty = new CodeLensModel();\n\n\tlenses: CodeLensItem[] = [];\n\n\tprivate _store: DisposableStore | undefined;\n\n\tdispose(): void {\n\t\tthis._store?.dispose();\n\t}\n\n\tget isDisposed(): boolean {\n\t\treturn this._store?.isDisposed ?? false;\n\t}\n\n\tadd(list: CodeLensList, provider: CodeLensProvider): void {\n\t\tif (isDisposable(list)) {\n\t\t\tthis._store ??= new DisposableStore();\n\t\t\tthis._store.add(list);\n\t\t}\n\t\tfor (const symbol of list.lenses) {\n\t\t\tthis.lenses.push({ symbol, provider });\n\t\t}\n\t}\n}\n\nexport async function getCodeLensModel(registry: LanguageFeatureRegistry<CodeLensProvider>, model: ITextModel, token: CancellationToken): Promise<CodeLensModel> {\n\n\tconst provider = registry.ordered(model);\n\tconst providerRanks = new Map<CodeLensProvider, number>();\n\tconst result = new CodeLensModel();\n\n\tconst promises = provider.map(async (provider, i) => {\n\n\t\tproviderRanks.set(provider, i);\n\n\t\ttry {\n\t\t\tconst list = await Promise.resolve(provider.provideCodeLenses(model, token));\n\t\t\tif (list) {\n\t\t\t\tresult.add(list, provider);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tonUnexpectedExternalError(err);\n\t\t}\n\t});\n\n\tawait Promise.all(promises);\n\n\tif (token.isCancellationRequested) {\n\t\tresult.dispose();\n\t\treturn CodeLensModel.Empty;\n\t}\n\n\tresult.lenses = result.lenses.sort((a, b) => {\n\t\t// sort by lineNumber, provider-rank, and column\n\t\tif (a.symbol.range.startLineNumber < b.symbol.range.startLineNumber) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startLineNumber > b.symbol.range.startLineNumber) {\n\t\t\treturn 1;\n\t\t} else if ((providerRanks.get(a.provider)!) < (providerRanks.get(b.provider)!)) {\n\t\t\treturn -1;\n\t\t} else if ((providerRanks.get(a.provider)!) > (providerRanks.get(b.provider)!)) {\n\t\t\treturn 1;\n\t\t} else if (a.symbol.range.startColumn < b.symbol.range.startColumn) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startColumn > b.symbol.range.startColumn) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t});\n\treturn result;\n}\n\nCommandsRegistry.registerCommand('_executeCodeLensProvider', function (accessor, ...args: [URI, number | undefined | null]) {\n\tlet [uri, itemResolveCount] = args;\n\tassertType(URI.isUri(uri));\n\tassertType(typeof itemResolveCount === 'number' || !itemResolveCount);\n\n\tconst { codeLensProvider } = accessor.get(ILanguageFeaturesService);\n\n\tconst model = accessor.get(IModelService).getModel(uri);\n\tif (!model) {\n\t\tthrow illegalArgument();\n\t}\n\n\tconst result: CodeLens[] = [];\n\tconst disposables = new DisposableStore();\n\treturn getCodeLensModel(codeLensProvider, model, CancellationToken.None).then(value => {\n\n\t\tdisposables.add(value);\n\t\tconst resolve: Promise<any>[] = [];\n\n\t\tfor (const item of value.lenses) {\n\t\t\tif (itemResolveCount === undefined || itemResolveCount === null || Boolean(item.symbol.command)) {\n\t\t\t\tresult.push(item.symbol);\n\t\t\t} else if (itemResolveCount-- > 0 && item.provider.resolveCodeLens) {\n\t\t\t\tresolve.push(Promise.resolve(item.provider.resolveCodeLens(model, item.symbol, CancellationToken.None)).then(symbol => result.push(symbol || item.symbol)));\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.all(resolve);\n\n\t}).then(() => {\n\t\treturn result;\n\t}).finally(() => {\n\t\t// make sure to return results, then (on next tick)\n\t\t// dispose the results\n\t\tsetTimeout(() => disposables.dispose(), 100);\n\t});\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/contrib/codelens/browser/codelens.ts","vs/editor/contrib/codelens/browser/codelens.ts"],"names":[],"mappings":"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","file":"codelens.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { CancellationToken } from '../../../../base/common/cancellation.js';\nimport { illegalArgument, onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { DisposableStore, isDisposable } from '../../../../base/common/lifecycle.js';\nimport { assertType } from '../../../../base/common/types.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { CodeLens, CodeLensList, CodeLensProvider } from '../../../common/languages.js';\nimport { IModelService } from '../../../common/services/model.js';\nimport { CommandsRegistry } from '../../../../platform/commands/common/commands.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\n\nexport interface CodeLensItem {\n\treadonly symbol: CodeLens;\n\treadonly provider: CodeLensProvider;\n}\n\nexport class CodeLensModel {\n\n\tstatic readonly Empty = new CodeLensModel();\n\n\tlenses: CodeLensItem[] = [];\n\n\tprivate _store: DisposableStore | undefined;\n\n\tdispose(): void {\n\t\tthis._store?.dispose();\n\t}\n\n\tget isDisposed(): boolean {\n\t\treturn this._store?.isDisposed ?? false;\n\t}\n\n\tadd(list: CodeLensList, provider: CodeLensProvider): void {\n\t\tif (isDisposable(list)) {\n\t\t\tthis._store ??= new DisposableStore();\n\t\t\tthis._store.add(list);\n\t\t}\n\t\tfor (const symbol of list.lenses) {\n\t\t\tthis.lenses.push({ symbol, provider });\n\t\t}\n\t}\n}\n\nexport async function getCodeLensModel(registry: LanguageFeatureRegistry<CodeLensProvider>, model: ITextModel, token: CancellationToken): Promise<CodeLensModel> {\n\n\tconst provider = registry.ordered(model);\n\tconst providerRanks = new Map<CodeLensProvider, number>();\n\tconst result = new CodeLensModel();\n\n\tconst promises = provider.map(async (provider, i) => {\n\n\t\tproviderRanks.set(provider, i);\n\n\t\ttry {\n\t\t\tconst list = await Promise.resolve(provider.provideCodeLenses(model, token));\n\t\t\tif (list) {\n\t\t\t\tresult.add(list, provider);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tonUnexpectedExternalError(err);\n\t\t}\n\t});\n\n\tawait Promise.all(promises);\n\n\tif (token.isCancellationRequested) {\n\t\tresult.dispose();\n\t\treturn CodeLensModel.Empty;\n\t}\n\n\tresult.lenses = result.lenses.sort((a, b) => {\n\t\t// sort by lineNumber, provider-rank, and column\n\t\tif (a.symbol.range.startLineNumber < b.symbol.range.startLineNumber) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startLineNumber > b.symbol.range.startLineNumber) {\n\t\t\treturn 1;\n\t\t} else if ((providerRanks.get(a.provider)!) < (providerRanks.get(b.provider)!)) {\n\t\t\treturn -1;\n\t\t} else if ((providerRanks.get(a.provider)!) > (providerRanks.get(b.provider)!)) {\n\t\t\treturn 1;\n\t\t} else if (a.symbol.range.startColumn < b.symbol.range.startColumn) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startColumn > b.symbol.range.startColumn) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t});\n\treturn result;\n}\n\nCommandsRegistry.registerCommand('_executeCodeLensProvider', function (accessor, ...args: [URI, number | undefined | null]) {\n\tlet [uri, itemResolveCount] = args;\n\tassertType(URI.isUri(uri));\n\tassertType(typeof itemResolveCount === 'number' || !itemResolveCount);\n\n\tconst { codeLensProvider } = accessor.get(ILanguageFeaturesService);\n\n\tconst model = accessor.get(IModelService).getModel(uri);\n\tif (!model) {\n\t\tthrow illegalArgument();\n\t}\n\n\tconst result: CodeLens[] = [];\n\tconst disposables = new DisposableStore();\n\treturn getCodeLensModel(codeLensProvider, model, CancellationToken.None).then(value => {\n\n\t\tdisposables.add(value);\n\t\tconst resolve: Promise<unknown>[] = [];\n\n\t\tfor (const item of value.lenses) {\n\t\t\tif (itemResolveCount === undefined || itemResolveCount === null || Boolean(item.symbol.command)) {\n\t\t\t\tresult.push(item.symbol);\n\t\t\t} else if (itemResolveCount-- > 0 && item.provider.resolveCodeLens) {\n\t\t\t\tresolve.push(Promise.resolve(item.provider.resolveCodeLens(model, item.symbol, CancellationToken.None)).then(symbol => result.push(symbol || item.symbol)));\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.all(resolve);\n\n\t}).then(() => {\n\t\treturn result;\n\t}).finally(() => {\n\t\t// make sure to return results, then (on next tick)\n\t\t// dispose the results\n\t\tsetTimeout(() => disposables.dispose(), 100);\n\t});\n});\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { CancellationToken } from '../../../../base/common/cancellation.js';\nimport { illegalArgument, onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { DisposableStore, isDisposable } from '../../../../base/common/lifecycle.js';\nimport { assertType } from '../../../../base/common/types.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { CodeLens, CodeLensList, CodeLensProvider } from '../../../common/languages.js';\nimport { IModelService } from '../../../common/services/model.js';\nimport { CommandsRegistry } from '../../../../platform/commands/common/commands.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\n\nexport interface CodeLensItem {\n\treadonly symbol: CodeLens;\n\treadonly provider: CodeLensProvider;\n}\n\nexport class CodeLensModel {\n\n\tstatic readonly Empty = new CodeLensModel();\n\n\tlenses: CodeLensItem[] = [];\n\n\tprivate _store: DisposableStore | undefined;\n\n\tdispose(): void {\n\t\tthis._store?.dispose();\n\t}\n\n\tget isDisposed(): boolean {\n\t\treturn this._store?.isDisposed ?? false;\n\t}\n\n\tadd(list: CodeLensList, provider: CodeLensProvider): void {\n\t\tif (isDisposable(list)) {\n\t\t\tthis._store ??= new DisposableStore();\n\t\t\tthis._store.add(list);\n\t\t}\n\t\tfor (const symbol of list.lenses) {\n\t\t\tthis.lenses.push({ symbol, provider });\n\t\t}\n\t}\n}\n\nexport async function getCodeLensModel(registry: LanguageFeatureRegistry<CodeLensProvider>, model: ITextModel, token: CancellationToken): Promise<CodeLensModel> {\n\n\tconst provider = registry.ordered(model);\n\tconst providerRanks = new Map<CodeLensProvider, number>();\n\tconst result = new CodeLensModel();\n\n\tconst promises = provider.map(async (provider, i) => {\n\n\t\tproviderRanks.set(provider, i);\n\n\t\ttry {\n\t\t\tconst list = await Promise.resolve(provider.provideCodeLenses(model, token));\n\t\t\tif (list) {\n\t\t\t\tresult.add(list, provider);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tonUnexpectedExternalError(err);\n\t\t}\n\t});\n\n\tawait Promise.all(promises);\n\n\tif (token.isCancellationRequested) {\n\t\tresult.dispose();\n\t\treturn CodeLensModel.Empty;\n\t}\n\n\tresult.lenses = result.lenses.sort((a, b) => {\n\t\t// sort by lineNumber, provider-rank, and column\n\t\tif (a.symbol.range.startLineNumber < b.symbol.range.startLineNumber) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startLineNumber > b.symbol.range.startLineNumber) {\n\t\t\treturn 1;\n\t\t} else if ((providerRanks.get(a.provider)!) < (providerRanks.get(b.provider)!)) {\n\t\t\treturn -1;\n\t\t} else if ((providerRanks.get(a.provider)!) > (providerRanks.get(b.provider)!)) {\n\t\t\treturn 1;\n\t\t} else if (a.symbol.range.startColumn < b.symbol.range.startColumn) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startColumn > b.symbol.range.startColumn) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t});\n\treturn result;\n}\n\nCommandsRegistry.registerCommand('_executeCodeLensProvider', function (accessor, ...args: [URI, number | undefined | null]) {\n\tlet [uri, itemResolveCount] = args;\n\tassertType(URI.isUri(uri));\n\tassertType(typeof itemResolveCount === 'number' || !itemResolveCount);\n\n\tconst { codeLensProvider } = accessor.get(ILanguageFeaturesService);\n\n\tconst model = accessor.get(IModelService).getModel(uri);\n\tif (!model) {\n\t\tthrow illegalArgument();\n\t}\n\n\tconst result: CodeLens[] = [];\n\tconst disposables = new DisposableStore();\n\treturn getCodeLensModel(codeLensProvider, model, CancellationToken.None).then(value => {\n\n\t\tdisposables.add(value);\n\t\tconst resolve: Promise<unknown>[] = [];\n\n\t\tfor (const item of value.lenses) {\n\t\t\tif (itemResolveCount === undefined || itemResolveCount === null || Boolean(item.symbol.command)) {\n\t\t\t\tresult.push(item.symbol);\n\t\t\t} else if (itemResolveCount-- > 0 && item.provider.resolveCodeLens) {\n\t\t\t\tresolve.push(Promise.resolve(item.provider.resolveCodeLens(model, item.symbol, CancellationToken.None)).then(symbol => result.push(symbol || item.symbol)));\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.all(resolve);\n\n\t}).then(() => {\n\t\treturn result;\n\t}).finally(() => {\n\t\t// make sure to return results, then (on next tick)\n\t\t// dispose the results\n\t\tsetTimeout(() => disposables.dispose(), 100);\n\t});\n});\n"]}
|
|
@@ -404,7 +404,7 @@ registerEditorAction(class ShowLensesInCurrentLine extends EditorAction {
|
|
|
404
404
|
super({
|
|
405
405
|
id: 'codelens.showLensesInCurrentLine',
|
|
406
406
|
precondition: EditorContextKeys.hasCodeLensProvider,
|
|
407
|
-
label: localize2(
|
|
407
|
+
label: localize2(890, "Show CodeLens Commands for Current Line"),
|
|
408
408
|
});
|
|
409
409
|
}
|
|
410
410
|
async run(accessor, editor) {
|
|
@@ -439,7 +439,7 @@ registerEditorAction(class ShowLensesInCurrentLine extends EditorAction {
|
|
|
439
439
|
}
|
|
440
440
|
const item = await quickInputService.pick(items, {
|
|
441
441
|
canPickMany: false,
|
|
442
|
-
placeHolder: localize(
|
|
442
|
+
placeHolder: localize(889, "Select a command")
|
|
443
443
|
});
|
|
444
444
|
if (!item) {
|
|
445
445
|
// Nothing picked
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vs/editor/contrib/codelens/browser/codelensController.ts"],"names":[],"mappings":"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","file":"codelensController.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\nimport { CancelablePromise, createCancelablePromise, disposableTimeout, RunOnceScheduler } from '../../../../base/common/async.js';\nimport { onUnexpectedError, onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { DisposableStore, toDisposable } from '../../../../base/common/lifecycle.js';\nimport { StableEditorScrollState } from '../../../browser/stableEditorScroll.js';\nimport { IActiveCodeEditor, ICodeEditor, IViewZoneChangeAccessor, MouseTargetType } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorContributionInstantiation, registerEditorAction, registerEditorContribution, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { EDITOR_FONT_DEFAULTS } from '../../../common/config/fontInfo.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { IModelDecorationsChangeAccessor } from '../../../common/model.js';\nimport { CodeLens, Command } from '../../../common/languages.js';\nimport { CodeLensItem, CodeLensModel, getCodeLensModel } from './codelens.js';\nimport { ICodeLensCache } from './codeLensCache.js';\nimport { CodeLensHelper, CodeLensWidget } from './codelensWidget.js';\nimport { localize, localize2 } from '../../../../nls.js';\nimport { ICommandService } from '../../../../platform/commands/common/commands.js';\nimport { INotificationService } from '../../../../platform/notification/common/notification.js';\nimport { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';\nimport { IFeatureDebounceInformation, ILanguageFeatureDebounceService } from '../../../common/services/languageFeatureDebounce.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\n\nexport class CodeLensContribution implements IEditorContribution {\n\n\tstatic readonly ID: string = 'css.editor.codeLens';\n\n\tprivate readonly _disposables = new DisposableStore();\n\tprivate readonly _localToDispose = new DisposableStore();\n\n\tprivate readonly _lenses: CodeLensWidget[] = [];\n\n\tprivate readonly _provideCodeLensDebounce: IFeatureDebounceInformation;\n\tprivate readonly _resolveCodeLensesDebounce: IFeatureDebounceInformation;\n\tprivate readonly _resolveCodeLensesScheduler: RunOnceScheduler;\n\n\tprivate _getCodeLensModelPromise: CancelablePromise<CodeLensModel> | undefined;\n\tprivate readonly _oldCodeLensModels = new DisposableStore();\n\tprivate _currentCodeLensModel: CodeLensModel | undefined;\n\tprivate _resolveCodeLensesPromise: CancelablePromise<any> | undefined;\n\n\tconstructor(\n\t\tprivate readonly _editor: ICodeEditor,\n\t\t@ILanguageFeaturesService private readonly _languageFeaturesService: ILanguageFeaturesService,\n\t\t@ILanguageFeatureDebounceService debounceService: ILanguageFeatureDebounceService,\n\t\t@ICommandService private readonly _commandService: ICommandService,\n\t\t@INotificationService private readonly _notificationService: INotificationService,\n\t\t@ICodeLensCache private readonly _codeLensCache: ICodeLensCache\n\t) {\n\t\tthis._provideCodeLensDebounce = debounceService.for(_languageFeaturesService.codeLensProvider, 'CodeLensProvide', { min: 250 });\n\t\tthis._resolveCodeLensesDebounce = debounceService.for(_languageFeaturesService.codeLensProvider, 'CodeLensResolve', { min: 250, salt: 'resolve' });\n\t\tthis._resolveCodeLensesScheduler = new RunOnceScheduler(() => this._resolveCodeLensesInViewport(), this._resolveCodeLensesDebounce.default());\n\n\t\tthis._disposables.add(this._editor.onDidChangeModel(() => this._onModelChange()));\n\t\tthis._disposables.add(this._editor.onDidChangeModelLanguage(() => this._onModelChange()));\n\t\tthis._disposables.add(this._editor.onDidChangeConfiguration((e) => {\n\t\t\tif (e.hasChanged(EditorOption.fontInfo) || e.hasChanged(EditorOption.codeLensFontSize) || e.hasChanged(EditorOption.codeLensFontFamily)) {\n\t\t\t\tthis._updateLensStyle();\n\t\t\t}\n\t\t\tif (e.hasChanged(EditorOption.codeLens)) {\n\t\t\t\tthis._onModelChange();\n\t\t\t}\n\t\t}));\n\t\tthis._disposables.add(_languageFeaturesService.codeLensProvider.onDidChange(this._onModelChange, this));\n\t\tthis._onModelChange();\n\n\t\tthis._updateLensStyle();\n\t}\n\n\tdispose(): void {\n\t\tthis._localDispose();\n\t\tthis._localToDispose.dispose();\n\t\tthis._disposables.dispose();\n\t\tthis._oldCodeLensModels.dispose();\n\t\tthis._currentCodeLensModel?.dispose();\n\t}\n\n\tprivate _getLayoutInfo() {\n\t\tconst lineHeightFactor = Math.max(1.3, this._editor.getOption(EditorOption.lineHeight) / this._editor.getOption(EditorOption.fontSize));\n\t\tlet fontSize = this._editor.getOption(EditorOption.codeLensFontSize);\n\t\tif (!fontSize || fontSize < 5) {\n\t\t\tfontSize = (this._editor.getOption(EditorOption.fontSize) * .9) | 0;\n\t\t}\n\t\treturn {\n\t\t\tfontSize,\n\t\t\tcodeLensHeight: (fontSize * lineHeightFactor) | 0,\n\t\t};\n\t}\n\n\tprivate _updateLensStyle(): void {\n\n\t\tconst { codeLensHeight, fontSize } = this._getLayoutInfo();\n\t\tconst fontFamily = this._editor.getOption(EditorOption.codeLensFontFamily);\n\t\tconst editorFontInfo = this._editor.getOption(EditorOption.fontInfo);\n\n\t\tconst { style } = this._editor.getContainerDomNode();\n\n\t\tstyle.setProperty('--vscode-editorCodeLens-lineHeight', `${codeLensHeight}px`);\n\t\tstyle.setProperty('--vscode-editorCodeLens-fontSize', `${fontSize}px`);\n\t\tstyle.setProperty('--vscode-editorCodeLens-fontFeatureSettings', editorFontInfo.fontFeatureSettings);\n\n\t\tif (fontFamily) {\n\t\t\tstyle.setProperty('--vscode-editorCodeLens-fontFamily', fontFamily);\n\t\t\tstyle.setProperty('--vscode-editorCodeLens-fontFamilyDefault', EDITOR_FONT_DEFAULTS.fontFamily);\n\t\t}\n\n\t\t//\n\t\tthis._editor.changeViewZones(accessor => {\n\t\t\tfor (const lens of this._lenses) {\n\t\t\t\tlens.updateHeight(codeLensHeight, accessor);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _localDispose(): void {\n\t\tthis._getCodeLensModelPromise?.cancel();\n\t\tthis._getCodeLensModelPromise = undefined;\n\t\tthis._resolveCodeLensesPromise?.cancel();\n\t\tthis._resolveCodeLensesPromise = undefined;\n\t\tthis._localToDispose.clear();\n\t\tthis._oldCodeLensModels.clear();\n\t\tthis._currentCodeLensModel?.dispose();\n\t}\n\n\tprivate _onModelChange(): void {\n\n\t\tthis._localDispose();\n\n\t\tconst model = this._editor.getModel();\n\t\tif (!model) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._editor.getOption(EditorOption.codeLens) || model.isTooLargeForTokenization()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst cachedLenses = this._codeLensCache.get(model);\n\t\tif (cachedLenses) {\n\t\t\tthis._renderCodeLensSymbols(cachedLenses);\n\t\t}\n\n\t\tif (!this._languageFeaturesService.codeLensProvider.has(model)) {\n\t\t\t// no provider -> return but check with\n\t\t\t// cached lenses. they expire after 30 seconds\n\t\t\tif (cachedLenses) {\n\t\t\t\tdisposableTimeout(() => {\n\t\t\t\t\tconst cachedLensesNow = this._codeLensCache.get(model);\n\t\t\t\t\tif (cachedLenses === cachedLensesNow) {\n\t\t\t\t\t\tthis._codeLensCache.delete(model);\n\t\t\t\t\t\tthis._onModelChange();\n\t\t\t\t\t}\n\t\t\t\t}, 30 * 1000, this._localToDispose);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const provider of this._languageFeaturesService.codeLensProvider.all(model)) {\n\t\t\tif (typeof provider.onDidChange === 'function') {\n\t\t\t\tconst registration = provider.onDidChange(() => scheduler.schedule());\n\t\t\t\tthis._localToDispose.add(registration);\n\t\t\t}\n\t\t}\n\n\t\tconst scheduler = new RunOnceScheduler(() => {\n\t\t\tconst t1 = Date.now();\n\n\t\t\tthis._getCodeLensModelPromise?.cancel();\n\t\t\tthis._getCodeLensModelPromise = createCancelablePromise(token => getCodeLensModel(this._languageFeaturesService.codeLensProvider, model, token));\n\n\t\t\tthis._getCodeLensModelPromise.then(result => {\n\t\t\t\tif (this._currentCodeLensModel) {\n\t\t\t\t\tthis._oldCodeLensModels.add(this._currentCodeLensModel);\n\t\t\t\t}\n\t\t\t\tthis._currentCodeLensModel = result;\n\n\t\t\t\t// cache model to reduce flicker\n\t\t\t\tthis._codeLensCache.put(model, result);\n\n\t\t\t\t// update moving average\n\t\t\t\tconst newDelay = this._provideCodeLensDebounce.update(model, Date.now() - t1);\n\t\t\t\tscheduler.delay = newDelay;\n\n\t\t\t\t// render lenses\n\t\t\t\tthis._renderCodeLensSymbols(result);\n\t\t\t\t// dom.scheduleAtNextAnimationFrame(() => this._resolveCodeLensesInViewport());\n\t\t\t\tthis._resolveCodeLensesInViewportSoon();\n\t\t\t}, onUnexpectedError);\n\n\t\t}, this._provideCodeLensDebounce.get(model));\n\n\t\tthis._localToDispose.add(scheduler);\n\t\tthis._localToDispose.add(toDisposable(() => this._resolveCodeLensesScheduler.cancel()));\n\t\tthis._localToDispose.add(this._editor.onDidChangeModelContent(() => {\n\t\t\tthis._editor.changeDecorations(decorationsAccessor => {\n\t\t\t\tthis._editor.changeViewZones(viewZonesAccessor => {\n\t\t\t\t\tconst toDispose: CodeLensWidget[] = [];\n\t\t\t\t\tlet lastLensLineNumber: number = -1;\n\n\t\t\t\t\tthis._lenses.forEach((lens) => {\n\t\t\t\t\t\tif (!lens.isValid() || lastLensLineNumber === lens.getLineNumber()) {\n\t\t\t\t\t\t\t// invalid -> lens collapsed, attach range doesn't exist anymore\n\t\t\t\t\t\t\t// line_number -> lenses should never be on the same line\n\t\t\t\t\t\t\ttoDispose.push(lens);\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlens.update(viewZonesAccessor);\n\t\t\t\t\t\t\tlastLensLineNumber = lens.getLineNumber();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tconst helper = new CodeLensHelper();\n\t\t\t\t\ttoDispose.forEach((l) => {\n\t\t\t\t\t\tl.dispose(helper, viewZonesAccessor);\n\t\t\t\t\t\tthis._lenses.splice(this._lenses.indexOf(l), 1);\n\t\t\t\t\t});\n\t\t\t\t\thelper.commit(decorationsAccessor);\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t// Ask for all references again\n\t\t\tscheduler.schedule();\n\n\t\t\t// Cancel pending and active resolve requests\n\t\t\tthis._resolveCodeLensesScheduler.cancel();\n\t\t\tthis._resolveCodeLensesPromise?.cancel();\n\t\t\tthis._resolveCodeLensesPromise = undefined;\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidFocusEditorText(() => {\n\t\t\tscheduler.schedule();\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidBlurEditorText(() => {\n\t\t\tscheduler.cancel();\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidScrollChange(e => {\n\t\t\tif (e.scrollTopChanged && this._lenses.length > 0) {\n\t\t\t\tthis._resolveCodeLensesInViewportSoon();\n\t\t\t}\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidLayoutChange(() => {\n\t\t\tthis._resolveCodeLensesInViewportSoon();\n\t\t}));\n\t\tthis._localToDispose.add(toDisposable(() => {\n\t\t\tif (this._editor.getModel()) {\n\t\t\t\tconst scrollState = StableEditorScrollState.capture(this._editor);\n\t\t\t\tthis._editor.changeDecorations(decorationsAccessor => {\n\t\t\t\t\tthis._editor.changeViewZones(viewZonesAccessor => {\n\t\t\t\t\t\tthis._disposeAllLenses(decorationsAccessor, viewZonesAccessor);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tscrollState.restore(this._editor);\n\t\t\t} else {\n\t\t\t\t// No accessors available\n\t\t\t\tthis._disposeAllLenses(undefined, undefined);\n\t\t\t}\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onMouseDown(e => {\n\t\t\tif (e.target.type !== MouseTargetType.CONTENT_WIDGET) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet target = e.target.element;\n\t\t\tif (target?.tagName === 'SPAN') {\n\t\t\t\ttarget = target.parentElement;\n\t\t\t}\n\t\t\tif (target?.tagName === 'A') {\n\t\t\t\tfor (const lens of this._lenses) {\n\t\t\t\t\tconst command = lens.getCommand(target as HTMLLinkElement);\n\t\t\t\t\tif (command) {\n\t\t\t\t\t\tthis._commandService.executeCommand(command.id, ...(command.arguments || [])).catch(err => this._notificationService.error(err));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\t\tscheduler.schedule();\n\t}\n\n\tprivate _disposeAllLenses(decChangeAccessor: IModelDecorationsChangeAccessor | undefined, viewZoneChangeAccessor: IViewZoneChangeAccessor | undefined): void {\n\t\tconst helper = new CodeLensHelper();\n\t\tfor (const lens of this._lenses) {\n\t\t\tlens.dispose(helper, viewZoneChangeAccessor);\n\t\t}\n\t\tif (decChangeAccessor) {\n\t\t\thelper.commit(decChangeAccessor);\n\t\t}\n\t\tthis._lenses.length = 0;\n\t}\n\n\tprivate _renderCodeLensSymbols(symbols: CodeLensModel): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxLineNumber = this._editor.getModel().getLineCount();\n\t\tconst groups: CodeLensItem[][] = [];\n\t\tlet lastGroup: CodeLensItem[] | undefined;\n\n\t\tfor (const symbol of symbols.lenses) {\n\t\t\tconst line = symbol.symbol.range.startLineNumber;\n\t\t\tif (line < 1 || line > maxLineNumber) {\n\t\t\t\t// invalid code lens\n\t\t\t\tcontinue;\n\t\t\t} else if (lastGroup && lastGroup[lastGroup.length - 1].symbol.range.startLineNumber === line) {\n\t\t\t\t// on same line as previous\n\t\t\t\tlastGroup.push(symbol);\n\t\t\t} else {\n\t\t\t\t// on later line as previous\n\t\t\t\tlastGroup = [symbol];\n\t\t\t\tgroups.push(lastGroup);\n\t\t\t}\n\t\t}\n\n\t\tif (!groups.length && !this._lenses.length) {\n\t\t\t// Nothing to change\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollState = StableEditorScrollState.capture(this._editor);\n\t\tconst layoutInfo = this._getLayoutInfo();\n\n\t\tthis._editor.changeDecorations(decorationsAccessor => {\n\t\t\tthis._editor.changeViewZones(viewZoneAccessor => {\n\n\t\t\t\tconst helper = new CodeLensHelper();\n\t\t\t\tlet codeLensIndex = 0;\n\t\t\t\tlet groupsIndex = 0;\n\n\t\t\t\twhile (groupsIndex < groups.length && codeLensIndex < this._lenses.length) {\n\n\t\t\t\t\tconst symbolsLineNumber = groups[groupsIndex][0].symbol.range.startLineNumber;\n\t\t\t\t\tconst codeLensLineNumber = this._lenses[codeLensIndex].getLineNumber();\n\n\t\t\t\t\tif (codeLensLineNumber < symbolsLineNumber) {\n\t\t\t\t\t\tthis._lenses[codeLensIndex].dispose(helper, viewZoneAccessor);\n\t\t\t\t\t\tthis._lenses.splice(codeLensIndex, 1);\n\t\t\t\t\t} else if (codeLensLineNumber === symbolsLineNumber) {\n\t\t\t\t\t\tthis._lenses[codeLensIndex].updateCodeLensSymbols(groups[groupsIndex], helper);\n\t\t\t\t\t\tgroupsIndex++;\n\t\t\t\t\t\tcodeLensIndex++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._lenses.splice(codeLensIndex, 0, new CodeLensWidget(groups[groupsIndex], <IActiveCodeEditor>this._editor, helper, viewZoneAccessor, layoutInfo.codeLensHeight, () => this._resolveCodeLensesInViewportSoon()));\n\t\t\t\t\t\tcodeLensIndex++;\n\t\t\t\t\t\tgroupsIndex++;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Delete extra code lenses\n\t\t\t\twhile (codeLensIndex < this._lenses.length) {\n\t\t\t\t\tthis._lenses[codeLensIndex].dispose(helper, viewZoneAccessor);\n\t\t\t\t\tthis._lenses.splice(codeLensIndex, 1);\n\t\t\t\t}\n\n\t\t\t\t// Create extra symbols\n\t\t\t\twhile (groupsIndex < groups.length) {\n\t\t\t\t\tthis._lenses.push(new CodeLensWidget(groups[groupsIndex], <IActiveCodeEditor>this._editor, helper, viewZoneAccessor, layoutInfo.codeLensHeight, () => this._resolveCodeLensesInViewportSoon()));\n\t\t\t\t\tgroupsIndex++;\n\t\t\t\t}\n\n\t\t\t\thelper.commit(decorationsAccessor);\n\t\t\t});\n\t\t});\n\n\t\tscrollState.restore(this._editor);\n\t}\n\n\tprivate _resolveCodeLensesInViewportSoon(): void {\n\t\tconst model = this._editor.getModel();\n\t\tif (model) {\n\t\t\tthis._resolveCodeLensesScheduler.schedule();\n\t\t}\n\t}\n\n\tprivate _resolveCodeLensesInViewport(): void {\n\n\t\tthis._resolveCodeLensesPromise?.cancel();\n\t\tthis._resolveCodeLensesPromise = undefined;\n\n\t\tconst model = this._editor.getModel();\n\t\tif (!model) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst toResolve: Array<ReadonlyArray<CodeLensItem>> = [];\n\t\tconst lenses: CodeLensWidget[] = [];\n\t\tthis._lenses.forEach((lens) => {\n\t\t\tconst request = lens.computeIfNecessary(model);\n\t\t\tif (request) {\n\t\t\t\ttoResolve.push(request);\n\t\t\t\tlenses.push(lens);\n\t\t\t}\n\t\t});\n\n\t\tif (toResolve.length === 0) {\n\t\t\tthis._oldCodeLensModels.clear();\n\t\t\treturn;\n\t\t}\n\n\t\tconst t1 = Date.now();\n\n\t\tconst resolvePromise = createCancelablePromise(token => {\n\n\t\t\tconst promises = toResolve.map((request, i) => {\n\n\t\t\t\tconst resolvedSymbols = new Array<CodeLens | undefined | null>(request.length);\n\t\t\t\tconst promises = request.map((request, i) => {\n\t\t\t\t\tif (!request.symbol.command && typeof request.provider.resolveCodeLens === 'function') {\n\t\t\t\t\t\treturn Promise.resolve(request.provider.resolveCodeLens(model, request.symbol, token)).then(symbol => {\n\t\t\t\t\t\t\tresolvedSymbols[i] = symbol;\n\t\t\t\t\t\t}, onUnexpectedExternalError);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolvedSymbols[i] = request.symbol;\n\t\t\t\t\t\treturn Promise.resolve(undefined);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn Promise.all(promises).then(() => {\n\t\t\t\t\tif (!token.isCancellationRequested && !lenses[i].isDisposed()) {\n\t\t\t\t\t\tlenses[i].updateCommands(resolvedSymbols);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\t\treturn Promise.all(promises);\n\t\t});\n\t\tthis._resolveCodeLensesPromise = resolvePromise;\n\n\t\tthis._resolveCodeLensesPromise.then(() => {\n\n\t\t\t// update moving average\n\t\t\tconst newDelay = this._resolveCodeLensesDebounce.update(model, Date.now() - t1);\n\t\t\tthis._resolveCodeLensesScheduler.delay = newDelay;\n\n\t\t\tif (this._currentCodeLensModel) { // update the cached state with new resolved items\n\t\t\t\tthis._codeLensCache.put(model, this._currentCodeLensModel);\n\t\t\t}\n\t\t\tthis._oldCodeLensModels.clear(); // dispose old models once we have updated the UI with the current model\n\t\t\tif (resolvePromise === this._resolveCodeLensesPromise) {\n\t\t\t\tthis._resolveCodeLensesPromise = undefined;\n\t\t\t}\n\t\t}, err => {\n\t\t\tonUnexpectedError(err); // can also be cancellation!\n\t\t\tif (resolvePromise === this._resolveCodeLensesPromise) {\n\t\t\t\tthis._resolveCodeLensesPromise = undefined;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync getModel(): Promise<CodeLensModel | undefined> {\n\t\tawait this._getCodeLensModelPromise;\n\t\tawait this._resolveCodeLensesPromise;\n\t\treturn !this._currentCodeLensModel?.isDisposed\n\t\t\t? this._currentCodeLensModel\n\t\t\t: undefined;\n\t}\n}\n\nregisterEditorContribution(CodeLensContribution.ID, CodeLensContribution, EditorContributionInstantiation.AfterFirstRender);\n\nregisterEditorAction(class ShowLensesInCurrentLine extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'codelens.showLensesInCurrentLine',\n\t\t\tprecondition: EditorContextKeys.hasCodeLensProvider,\n\t\t\tlabel: localize2('showLensOnLine', \"Show CodeLens Commands for Current Line\"),\n\t\t});\n\t}\n\n\tasync run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\n\t\tif (!editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst quickInputService = accessor.get(IQuickInputService);\n\t\tconst commandService = accessor.get(ICommandService);\n\t\tconst notificationService = accessor.get(INotificationService);\n\n\t\tconst lineNumber = editor.getSelection().positionLineNumber;\n\t\tconst codelensController = editor.getContribution<CodeLensContribution>(CodeLensContribution.ID);\n\t\tif (!codelensController) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = await codelensController.getModel();\n\t\tif (!model) {\n\t\t\t// nothing\n\t\t\treturn;\n\t\t}\n\n\t\tconst items: { label: string; command: Command }[] = [];\n\t\tfor (const lens of model.lenses) {\n\t\t\tif (lens.symbol.command && lens.symbol.range.startLineNumber === lineNumber) {\n\t\t\t\titems.push({\n\t\t\t\t\tlabel: lens.symbol.command.title,\n\t\t\t\t\tcommand: lens.symbol.command\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (items.length === 0) {\n\t\t\t// We dont want an empty picker\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = await quickInputService.pick(items, {\n\t\t\tcanPickMany: false,\n\t\t\tplaceHolder: localize('placeHolder', \"Select a command\")\n\t\t});\n\t\tif (!item) {\n\t\t\t// Nothing picked\n\t\t\treturn;\n\t\t}\n\n\t\tlet command = item.command;\n\n\t\tif (model.isDisposed) {\n\t\t\t// try to find the same command again in-case the model has been re-created in the meantime\n\t\t\t// this is a best attempt approach which shouldn't be needed because eager model re-creates\n\t\t\t// shouldn't happen due to focus in/out anymore\n\t\t\tconst newModel = await codelensController.getModel();\n\t\t\tconst newLens = newModel?.lenses.find(lens => lens.symbol.range.startLineNumber === lineNumber && lens.symbol.command?.title === command.title);\n\t\t\tif (!newLens || !newLens.symbol.command) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcommand = newLens.symbol.command;\n\t\t}\n\n\t\ttry {\n\t\t\tawait commandService.executeCommand(command.id, ...(command.arguments || []));\n\t\t} catch (err) {\n\t\t\tnotificationService.error(err);\n\t\t}\n\t}\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["vs/editor/contrib/codelens/browser/codelensController.ts"],"names":[],"mappings":"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","file":"codelensController.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\n\nimport { CancelablePromise, createCancelablePromise, disposableTimeout, RunOnceScheduler } from '../../../../base/common/async.js';\nimport { onUnexpectedError, onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { DisposableStore, toDisposable } from '../../../../base/common/lifecycle.js';\nimport { StableEditorScrollState } from '../../../browser/stableEditorScroll.js';\nimport { IActiveCodeEditor, ICodeEditor, IViewZoneChangeAccessor, MouseTargetType } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorContributionInstantiation, registerEditorAction, registerEditorContribution, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { EDITOR_FONT_DEFAULTS } from '../../../common/config/fontInfo.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { IModelDecorationsChangeAccessor } from '../../../common/model.js';\nimport { CodeLens, Command } from '../../../common/languages.js';\nimport { CodeLensItem, CodeLensModel, getCodeLensModel } from './codelens.js';\nimport { ICodeLensCache } from './codeLensCache.js';\nimport { CodeLensHelper, CodeLensWidget } from './codelensWidget.js';\nimport { localize, localize2 } from '../../../../nls.js';\nimport { ICommandService } from '../../../../platform/commands/common/commands.js';\nimport { INotificationService } from '../../../../platform/notification/common/notification.js';\nimport { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';\nimport { IFeatureDebounceInformation, ILanguageFeatureDebounceService } from '../../../common/services/languageFeatureDebounce.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\n\nexport class CodeLensContribution implements IEditorContribution {\n\n\tstatic readonly ID: string = 'css.editor.codeLens';\n\n\tprivate readonly _disposables = new DisposableStore();\n\tprivate readonly _localToDispose = new DisposableStore();\n\n\tprivate readonly _lenses: CodeLensWidget[] = [];\n\n\tprivate readonly _provideCodeLensDebounce: IFeatureDebounceInformation;\n\tprivate readonly _resolveCodeLensesDebounce: IFeatureDebounceInformation;\n\tprivate readonly _resolveCodeLensesScheduler: RunOnceScheduler;\n\n\tprivate _getCodeLensModelPromise: CancelablePromise<CodeLensModel> | undefined;\n\tprivate readonly _oldCodeLensModels = new DisposableStore();\n\tprivate _currentCodeLensModel: CodeLensModel | undefined;\n\tprivate _resolveCodeLensesPromise: CancelablePromise<void[]> | undefined;\n\n\tconstructor(\n\t\tprivate readonly _editor: ICodeEditor,\n\t\t@ILanguageFeaturesService private readonly _languageFeaturesService: ILanguageFeaturesService,\n\t\t@ILanguageFeatureDebounceService debounceService: ILanguageFeatureDebounceService,\n\t\t@ICommandService private readonly _commandService: ICommandService,\n\t\t@INotificationService private readonly _notificationService: INotificationService,\n\t\t@ICodeLensCache private readonly _codeLensCache: ICodeLensCache\n\t) {\n\t\tthis._provideCodeLensDebounce = debounceService.for(_languageFeaturesService.codeLensProvider, 'CodeLensProvide', { min: 250 });\n\t\tthis._resolveCodeLensesDebounce = debounceService.for(_languageFeaturesService.codeLensProvider, 'CodeLensResolve', { min: 250, salt: 'resolve' });\n\t\tthis._resolveCodeLensesScheduler = new RunOnceScheduler(() => this._resolveCodeLensesInViewport(), this._resolveCodeLensesDebounce.default());\n\n\t\tthis._disposables.add(this._editor.onDidChangeModel(() => this._onModelChange()));\n\t\tthis._disposables.add(this._editor.onDidChangeModelLanguage(() => this._onModelChange()));\n\t\tthis._disposables.add(this._editor.onDidChangeConfiguration((e) => {\n\t\t\tif (e.hasChanged(EditorOption.fontInfo) || e.hasChanged(EditorOption.codeLensFontSize) || e.hasChanged(EditorOption.codeLensFontFamily)) {\n\t\t\t\tthis._updateLensStyle();\n\t\t\t}\n\t\t\tif (e.hasChanged(EditorOption.codeLens)) {\n\t\t\t\tthis._onModelChange();\n\t\t\t}\n\t\t}));\n\t\tthis._disposables.add(_languageFeaturesService.codeLensProvider.onDidChange(this._onModelChange, this));\n\t\tthis._onModelChange();\n\n\t\tthis._updateLensStyle();\n\t}\n\n\tdispose(): void {\n\t\tthis._localDispose();\n\t\tthis._localToDispose.dispose();\n\t\tthis._disposables.dispose();\n\t\tthis._oldCodeLensModels.dispose();\n\t\tthis._currentCodeLensModel?.dispose();\n\t}\n\n\tprivate _getLayoutInfo() {\n\t\tconst lineHeightFactor = Math.max(1.3, this._editor.getOption(EditorOption.lineHeight) / this._editor.getOption(EditorOption.fontSize));\n\t\tlet fontSize = this._editor.getOption(EditorOption.codeLensFontSize);\n\t\tif (!fontSize || fontSize < 5) {\n\t\t\tfontSize = (this._editor.getOption(EditorOption.fontSize) * .9) | 0;\n\t\t}\n\t\treturn {\n\t\t\tfontSize,\n\t\t\tcodeLensHeight: (fontSize * lineHeightFactor) | 0,\n\t\t};\n\t}\n\n\tprivate _updateLensStyle(): void {\n\n\t\tconst { codeLensHeight, fontSize } = this._getLayoutInfo();\n\t\tconst fontFamily = this._editor.getOption(EditorOption.codeLensFontFamily);\n\t\tconst editorFontInfo = this._editor.getOption(EditorOption.fontInfo);\n\n\t\tconst { style } = this._editor.getContainerDomNode();\n\n\t\tstyle.setProperty('--vscode-editorCodeLens-lineHeight', `${codeLensHeight}px`);\n\t\tstyle.setProperty('--vscode-editorCodeLens-fontSize', `${fontSize}px`);\n\t\tstyle.setProperty('--vscode-editorCodeLens-fontFeatureSettings', editorFontInfo.fontFeatureSettings);\n\n\t\tif (fontFamily) {\n\t\t\tstyle.setProperty('--vscode-editorCodeLens-fontFamily', fontFamily);\n\t\t\tstyle.setProperty('--vscode-editorCodeLens-fontFamilyDefault', EDITOR_FONT_DEFAULTS.fontFamily);\n\t\t}\n\n\t\t//\n\t\tthis._editor.changeViewZones(accessor => {\n\t\t\tfor (const lens of this._lenses) {\n\t\t\t\tlens.updateHeight(codeLensHeight, accessor);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _localDispose(): void {\n\t\tthis._getCodeLensModelPromise?.cancel();\n\t\tthis._getCodeLensModelPromise = undefined;\n\t\tthis._resolveCodeLensesPromise?.cancel();\n\t\tthis._resolveCodeLensesPromise = undefined;\n\t\tthis._localToDispose.clear();\n\t\tthis._oldCodeLensModels.clear();\n\t\tthis._currentCodeLensModel?.dispose();\n\t}\n\n\tprivate _onModelChange(): void {\n\n\t\tthis._localDispose();\n\n\t\tconst model = this._editor.getModel();\n\t\tif (!model) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._editor.getOption(EditorOption.codeLens) || model.isTooLargeForTokenization()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst cachedLenses = this._codeLensCache.get(model);\n\t\tif (cachedLenses) {\n\t\t\tthis._renderCodeLensSymbols(cachedLenses);\n\t\t}\n\n\t\tif (!this._languageFeaturesService.codeLensProvider.has(model)) {\n\t\t\t// no provider -> return but check with\n\t\t\t// cached lenses. they expire after 30 seconds\n\t\t\tif (cachedLenses) {\n\t\t\t\tdisposableTimeout(() => {\n\t\t\t\t\tconst cachedLensesNow = this._codeLensCache.get(model);\n\t\t\t\t\tif (cachedLenses === cachedLensesNow) {\n\t\t\t\t\t\tthis._codeLensCache.delete(model);\n\t\t\t\t\t\tthis._onModelChange();\n\t\t\t\t\t}\n\t\t\t\t}, 30 * 1000, this._localToDispose);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const provider of this._languageFeaturesService.codeLensProvider.all(model)) {\n\t\t\tif (typeof provider.onDidChange === 'function') {\n\t\t\t\tconst registration = provider.onDidChange(() => scheduler.schedule());\n\t\t\t\tthis._localToDispose.add(registration);\n\t\t\t}\n\t\t}\n\n\t\tconst scheduler = new RunOnceScheduler(() => {\n\t\t\tconst t1 = Date.now();\n\n\t\t\tthis._getCodeLensModelPromise?.cancel();\n\t\t\tthis._getCodeLensModelPromise = createCancelablePromise(token => getCodeLensModel(this._languageFeaturesService.codeLensProvider, model, token));\n\n\t\t\tthis._getCodeLensModelPromise.then(result => {\n\t\t\t\tif (this._currentCodeLensModel) {\n\t\t\t\t\tthis._oldCodeLensModels.add(this._currentCodeLensModel);\n\t\t\t\t}\n\t\t\t\tthis._currentCodeLensModel = result;\n\n\t\t\t\t// cache model to reduce flicker\n\t\t\t\tthis._codeLensCache.put(model, result);\n\n\t\t\t\t// update moving average\n\t\t\t\tconst newDelay = this._provideCodeLensDebounce.update(model, Date.now() - t1);\n\t\t\t\tscheduler.delay = newDelay;\n\n\t\t\t\t// render lenses\n\t\t\t\tthis._renderCodeLensSymbols(result);\n\t\t\t\t// dom.scheduleAtNextAnimationFrame(() => this._resolveCodeLensesInViewport());\n\t\t\t\tthis._resolveCodeLensesInViewportSoon();\n\t\t\t}, onUnexpectedError);\n\n\t\t}, this._provideCodeLensDebounce.get(model));\n\n\t\tthis._localToDispose.add(scheduler);\n\t\tthis._localToDispose.add(toDisposable(() => this._resolveCodeLensesScheduler.cancel()));\n\t\tthis._localToDispose.add(this._editor.onDidChangeModelContent(() => {\n\t\t\tthis._editor.changeDecorations(decorationsAccessor => {\n\t\t\t\tthis._editor.changeViewZones(viewZonesAccessor => {\n\t\t\t\t\tconst toDispose: CodeLensWidget[] = [];\n\t\t\t\t\tlet lastLensLineNumber: number = -1;\n\n\t\t\t\t\tthis._lenses.forEach((lens) => {\n\t\t\t\t\t\tif (!lens.isValid() || lastLensLineNumber === lens.getLineNumber()) {\n\t\t\t\t\t\t\t// invalid -> lens collapsed, attach range doesn't exist anymore\n\t\t\t\t\t\t\t// line_number -> lenses should never be on the same line\n\t\t\t\t\t\t\ttoDispose.push(lens);\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlens.update(viewZonesAccessor);\n\t\t\t\t\t\t\tlastLensLineNumber = lens.getLineNumber();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tconst helper = new CodeLensHelper();\n\t\t\t\t\ttoDispose.forEach((l) => {\n\t\t\t\t\t\tl.dispose(helper, viewZonesAccessor);\n\t\t\t\t\t\tthis._lenses.splice(this._lenses.indexOf(l), 1);\n\t\t\t\t\t});\n\t\t\t\t\thelper.commit(decorationsAccessor);\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t// Ask for all references again\n\t\t\tscheduler.schedule();\n\n\t\t\t// Cancel pending and active resolve requests\n\t\t\tthis._resolveCodeLensesScheduler.cancel();\n\t\t\tthis._resolveCodeLensesPromise?.cancel();\n\t\t\tthis._resolveCodeLensesPromise = undefined;\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidFocusEditorText(() => {\n\t\t\tscheduler.schedule();\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidBlurEditorText(() => {\n\t\t\tscheduler.cancel();\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidScrollChange(e => {\n\t\t\tif (e.scrollTopChanged && this._lenses.length > 0) {\n\t\t\t\tthis._resolveCodeLensesInViewportSoon();\n\t\t\t}\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidLayoutChange(() => {\n\t\t\tthis._resolveCodeLensesInViewportSoon();\n\t\t}));\n\t\tthis._localToDispose.add(toDisposable(() => {\n\t\t\tif (this._editor.getModel()) {\n\t\t\t\tconst scrollState = StableEditorScrollState.capture(this._editor);\n\t\t\t\tthis._editor.changeDecorations(decorationsAccessor => {\n\t\t\t\t\tthis._editor.changeViewZones(viewZonesAccessor => {\n\t\t\t\t\t\tthis._disposeAllLenses(decorationsAccessor, viewZonesAccessor);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tscrollState.restore(this._editor);\n\t\t\t} else {\n\t\t\t\t// No accessors available\n\t\t\t\tthis._disposeAllLenses(undefined, undefined);\n\t\t\t}\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onMouseDown(e => {\n\t\t\tif (e.target.type !== MouseTargetType.CONTENT_WIDGET) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet target = e.target.element;\n\t\t\tif (target?.tagName === 'SPAN') {\n\t\t\t\ttarget = target.parentElement;\n\t\t\t}\n\t\t\tif (target?.tagName === 'A') {\n\t\t\t\tfor (const lens of this._lenses) {\n\t\t\t\t\tconst command = lens.getCommand(target as HTMLLinkElement);\n\t\t\t\t\tif (command) {\n\t\t\t\t\t\tthis._commandService.executeCommand(command.id, ...(command.arguments || [])).catch(err => this._notificationService.error(err));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\t\tscheduler.schedule();\n\t}\n\n\tprivate _disposeAllLenses(decChangeAccessor: IModelDecorationsChangeAccessor | undefined, viewZoneChangeAccessor: IViewZoneChangeAccessor | undefined): void {\n\t\tconst helper = new CodeLensHelper();\n\t\tfor (const lens of this._lenses) {\n\t\t\tlens.dispose(helper, viewZoneChangeAccessor);\n\t\t}\n\t\tif (decChangeAccessor) {\n\t\t\thelper.commit(decChangeAccessor);\n\t\t}\n\t\tthis._lenses.length = 0;\n\t}\n\n\tprivate _renderCodeLensSymbols(symbols: CodeLensModel): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxLineNumber = this._editor.getModel().getLineCount();\n\t\tconst groups: CodeLensItem[][] = [];\n\t\tlet lastGroup: CodeLensItem[] | undefined;\n\n\t\tfor (const symbol of symbols.lenses) {\n\t\t\tconst line = symbol.symbol.range.startLineNumber;\n\t\t\tif (line < 1 || line > maxLineNumber) {\n\t\t\t\t// invalid code lens\n\t\t\t\tcontinue;\n\t\t\t} else if (lastGroup && lastGroup[lastGroup.length - 1].symbol.range.startLineNumber === line) {\n\t\t\t\t// on same line as previous\n\t\t\t\tlastGroup.push(symbol);\n\t\t\t} else {\n\t\t\t\t// on later line as previous\n\t\t\t\tlastGroup = [symbol];\n\t\t\t\tgroups.push(lastGroup);\n\t\t\t}\n\t\t}\n\n\t\tif (!groups.length && !this._lenses.length) {\n\t\t\t// Nothing to change\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollState = StableEditorScrollState.capture(this._editor);\n\t\tconst layoutInfo = this._getLayoutInfo();\n\n\t\tthis._editor.changeDecorations(decorationsAccessor => {\n\t\t\tthis._editor.changeViewZones(viewZoneAccessor => {\n\n\t\t\t\tconst helper = new CodeLensHelper();\n\t\t\t\tlet codeLensIndex = 0;\n\t\t\t\tlet groupsIndex = 0;\n\n\t\t\t\twhile (groupsIndex < groups.length && codeLensIndex < this._lenses.length) {\n\n\t\t\t\t\tconst symbolsLineNumber = groups[groupsIndex][0].symbol.range.startLineNumber;\n\t\t\t\t\tconst codeLensLineNumber = this._lenses[codeLensIndex].getLineNumber();\n\n\t\t\t\t\tif (codeLensLineNumber < symbolsLineNumber) {\n\t\t\t\t\t\tthis._lenses[codeLensIndex].dispose(helper, viewZoneAccessor);\n\t\t\t\t\t\tthis._lenses.splice(codeLensIndex, 1);\n\t\t\t\t\t} else if (codeLensLineNumber === symbolsLineNumber) {\n\t\t\t\t\t\tthis._lenses[codeLensIndex].updateCodeLensSymbols(groups[groupsIndex], helper);\n\t\t\t\t\t\tgroupsIndex++;\n\t\t\t\t\t\tcodeLensIndex++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._lenses.splice(codeLensIndex, 0, new CodeLensWidget(groups[groupsIndex], <IActiveCodeEditor>this._editor, helper, viewZoneAccessor, layoutInfo.codeLensHeight, () => this._resolveCodeLensesInViewportSoon()));\n\t\t\t\t\t\tcodeLensIndex++;\n\t\t\t\t\t\tgroupsIndex++;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Delete extra code lenses\n\t\t\t\twhile (codeLensIndex < this._lenses.length) {\n\t\t\t\t\tthis._lenses[codeLensIndex].dispose(helper, viewZoneAccessor);\n\t\t\t\t\tthis._lenses.splice(codeLensIndex, 1);\n\t\t\t\t}\n\n\t\t\t\t// Create extra symbols\n\t\t\t\twhile (groupsIndex < groups.length) {\n\t\t\t\t\tthis._lenses.push(new CodeLensWidget(groups[groupsIndex], <IActiveCodeEditor>this._editor, helper, viewZoneAccessor, layoutInfo.codeLensHeight, () => this._resolveCodeLensesInViewportSoon()));\n\t\t\t\t\tgroupsIndex++;\n\t\t\t\t}\n\n\t\t\t\thelper.commit(decorationsAccessor);\n\t\t\t});\n\t\t});\n\n\t\tscrollState.restore(this._editor);\n\t}\n\n\tprivate _resolveCodeLensesInViewportSoon(): void {\n\t\tconst model = this._editor.getModel();\n\t\tif (model) {\n\t\t\tthis._resolveCodeLensesScheduler.schedule();\n\t\t}\n\t}\n\n\tprivate _resolveCodeLensesInViewport(): void {\n\n\t\tthis._resolveCodeLensesPromise?.cancel();\n\t\tthis._resolveCodeLensesPromise = undefined;\n\n\t\tconst model = this._editor.getModel();\n\t\tif (!model) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst toResolve: Array<ReadonlyArray<CodeLensItem>> = [];\n\t\tconst lenses: CodeLensWidget[] = [];\n\t\tthis._lenses.forEach((lens) => {\n\t\t\tconst request = lens.computeIfNecessary(model);\n\t\t\tif (request) {\n\t\t\t\ttoResolve.push(request);\n\t\t\t\tlenses.push(lens);\n\t\t\t}\n\t\t});\n\n\t\tif (toResolve.length === 0) {\n\t\t\tthis._oldCodeLensModels.clear();\n\t\t\treturn;\n\t\t}\n\n\t\tconst t1 = Date.now();\n\n\t\tconst resolvePromise = createCancelablePromise(token => {\n\n\t\t\tconst promises = toResolve.map((request, i) => {\n\n\t\t\t\tconst resolvedSymbols = new Array<CodeLens | undefined | null>(request.length);\n\t\t\t\tconst promises = request.map((request, i) => {\n\t\t\t\t\tif (!request.symbol.command && typeof request.provider.resolveCodeLens === 'function') {\n\t\t\t\t\t\treturn Promise.resolve(request.provider.resolveCodeLens(model, request.symbol, token)).then(symbol => {\n\t\t\t\t\t\t\tresolvedSymbols[i] = symbol;\n\t\t\t\t\t\t}, onUnexpectedExternalError);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolvedSymbols[i] = request.symbol;\n\t\t\t\t\t\treturn Promise.resolve(undefined);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn Promise.all(promises).then(() => {\n\t\t\t\t\tif (!token.isCancellationRequested && !lenses[i].isDisposed()) {\n\t\t\t\t\t\tlenses[i].updateCommands(resolvedSymbols);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\t\treturn Promise.all(promises);\n\t\t});\n\t\tthis._resolveCodeLensesPromise = resolvePromise;\n\n\t\tthis._resolveCodeLensesPromise.then(() => {\n\n\t\t\t// update moving average\n\t\t\tconst newDelay = this._resolveCodeLensesDebounce.update(model, Date.now() - t1);\n\t\t\tthis._resolveCodeLensesScheduler.delay = newDelay;\n\n\t\t\tif (this._currentCodeLensModel) { // update the cached state with new resolved items\n\t\t\t\tthis._codeLensCache.put(model, this._currentCodeLensModel);\n\t\t\t}\n\t\t\tthis._oldCodeLensModels.clear(); // dispose old models once we have updated the UI with the current model\n\t\t\tif (resolvePromise === this._resolveCodeLensesPromise) {\n\t\t\t\tthis._resolveCodeLensesPromise = undefined;\n\t\t\t}\n\t\t}, err => {\n\t\t\tonUnexpectedError(err); // can also be cancellation!\n\t\t\tif (resolvePromise === this._resolveCodeLensesPromise) {\n\t\t\t\tthis._resolveCodeLensesPromise = undefined;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync getModel(): Promise<CodeLensModel | undefined> {\n\t\tawait this._getCodeLensModelPromise;\n\t\tawait this._resolveCodeLensesPromise;\n\t\treturn !this._currentCodeLensModel?.isDisposed\n\t\t\t? this._currentCodeLensModel\n\t\t\t: undefined;\n\t}\n}\n\nregisterEditorContribution(CodeLensContribution.ID, CodeLensContribution, EditorContributionInstantiation.AfterFirstRender);\n\nregisterEditorAction(class ShowLensesInCurrentLine extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'codelens.showLensesInCurrentLine',\n\t\t\tprecondition: EditorContextKeys.hasCodeLensProvider,\n\t\t\tlabel: localize2('showLensOnLine', \"Show CodeLens Commands for Current Line\"),\n\t\t});\n\t}\n\n\tasync run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\n\t\tif (!editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst quickInputService = accessor.get(IQuickInputService);\n\t\tconst commandService = accessor.get(ICommandService);\n\t\tconst notificationService = accessor.get(INotificationService);\n\n\t\tconst lineNumber = editor.getSelection().positionLineNumber;\n\t\tconst codelensController = editor.getContribution<CodeLensContribution>(CodeLensContribution.ID);\n\t\tif (!codelensController) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = await codelensController.getModel();\n\t\tif (!model) {\n\t\t\t// nothing\n\t\t\treturn;\n\t\t}\n\n\t\tconst items: { label: string; command: Command }[] = [];\n\t\tfor (const lens of model.lenses) {\n\t\t\tif (lens.symbol.command && lens.symbol.range.startLineNumber === lineNumber) {\n\t\t\t\titems.push({\n\t\t\t\t\tlabel: lens.symbol.command.title,\n\t\t\t\t\tcommand: lens.symbol.command\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (items.length === 0) {\n\t\t\t// We dont want an empty picker\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = await quickInputService.pick(items, {\n\t\t\tcanPickMany: false,\n\t\t\tplaceHolder: localize('placeHolder', \"Select a command\")\n\t\t});\n\t\tif (!item) {\n\t\t\t// Nothing picked\n\t\t\treturn;\n\t\t}\n\n\t\tlet command = item.command;\n\n\t\tif (model.isDisposed) {\n\t\t\t// try to find the same command again in-case the model has been re-created in the meantime\n\t\t\t// this is a best attempt approach which shouldn't be needed because eager model re-creates\n\t\t\t// shouldn't happen due to focus in/out anymore\n\t\t\tconst newModel = await codelensController.getModel();\n\t\t\tconst newLens = newModel?.lenses.find(lens => lens.symbol.range.startLineNumber === lineNumber && lens.symbol.command?.title === command.title);\n\t\t\tif (!newLens || !newLens.symbol.command) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcommand = newLens.symbol.command;\n\t\t}\n\n\t\ttry {\n\t\t\tawait commandService.executeCommand(command.id, ...(command.arguments || []));\n\t\t} catch (err) {\n\t\t\tnotificationService.error(err);\n\t\t}\n\t}\n});\n"]}
|
package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js
CHANGED
|
@@ -22,7 +22,7 @@ export class CloseButton extends Disposable {
|
|
|
22
22
|
const innerDiv = document.createElement('div');
|
|
23
23
|
innerDiv.classList.add('close-button-inner-div');
|
|
24
24
|
dom.append(this._button, innerDiv);
|
|
25
|
-
const closeButton = dom.append(innerDiv, $('.button' + ThemeIcon.asCSSSelector(registerIcon('color-picker-close', Codicon.close, localize(
|
|
25
|
+
const closeButton = dom.append(innerDiv, $('.button' + ThemeIcon.asCSSSelector(registerIcon('color-picker-close', Codicon.close, localize(891, 'Icon to close the color picker')))));
|
|
26
26
|
closeButton.classList.add('close-icon');
|
|
27
27
|
this._register(dom.addDisposableListener(this._button, dom.EventType.CLICK, () => {
|
|
28
28
|
this._onClicked.fire();
|
|
@@ -22,7 +22,7 @@ export class ColorPickerHeader extends Disposable {
|
|
|
22
22
|
dom.append(this._pickedColorNode, $('span.codicon.codicon-color-mode'));
|
|
23
23
|
this._pickedColorPresentation = dom.append(this._pickedColorNode, document.createElement('span'));
|
|
24
24
|
this._pickedColorPresentation.classList.add('picked-color-presentation');
|
|
25
|
-
const tooltip = localize(
|
|
25
|
+
const tooltip = localize(892, "Click to toggle color options (rgb/hsl/hex)");
|
|
26
26
|
this._pickedColorNode.setAttribute('title', tooltip);
|
|
27
27
|
this._originalColorNode = dom.append(this._domNode, $('.original-color'));
|
|
28
28
|
this._originalColorNode.style.backgroundColor = Color.Format.CSS.format(this.model.originalColor) || '';
|
package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js
CHANGED
|
@@ -127,7 +127,7 @@ let HoverColorPickerParticipant = class HoverColorPickerParticipant {
|
|
|
127
127
|
return new RenderedHoverParts([renderedHoverPart]);
|
|
128
128
|
}
|
|
129
129
|
getAccessibleContent(hoverPart) {
|
|
130
|
-
return nls.localize(
|
|
130
|
+
return nls.localize(893, 'There is a color picker here.');
|
|
131
131
|
}
|
|
132
132
|
handleResize() {
|
|
133
133
|
this._colorPicker?.layout();
|