monaco-editor-core 0.55.1 → 0.56.0-dev-20251121
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 +27 -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/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.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/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/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/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 +415 -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 +253 -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/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.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/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 +11 -32
- 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 +71 -40
- 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
|
@@ -39,7 +39,7 @@ let AbstractGotoSymbolQuickAccessProvider = class AbstractGotoSymbolQuickAccessP
|
|
|
39
39
|
this.options.canAcceptInBackground = true;
|
|
40
40
|
}
|
|
41
41
|
provideWithoutTextEditor(picker) {
|
|
42
|
-
this.provideLabelPick(picker, localize(
|
|
42
|
+
this.provideLabelPick(picker, localize(1352, "To go to a symbol, first open a text editor with symbol information."));
|
|
43
43
|
return Disposable.None;
|
|
44
44
|
}
|
|
45
45
|
provideWithTextEditor(context, picker, token, runOptions) {
|
|
@@ -60,7 +60,7 @@ let AbstractGotoSymbolQuickAccessProvider = class AbstractGotoSymbolQuickAccessP
|
|
|
60
60
|
doProvideWithoutEditorSymbols(context, model, picker, token) {
|
|
61
61
|
const disposables = new DisposableStore();
|
|
62
62
|
// Generic pick for not having any symbol information
|
|
63
|
-
this.provideLabelPick(picker, localize(
|
|
63
|
+
this.provideLabelPick(picker, localize(1353, "The active text editor does not provide symbol information."));
|
|
64
64
|
// Wait for changes to the registry and see if eventually
|
|
65
65
|
// we do get symbols. This can happen if the picker is opened
|
|
66
66
|
// very early after the model has loaded but before the
|
|
@@ -146,10 +146,10 @@ let AbstractGotoSymbolQuickAccessProvider = class AbstractGotoSymbolQuickAccessP
|
|
|
146
146
|
}
|
|
147
147
|
else {
|
|
148
148
|
if (query.original.length > 0) {
|
|
149
|
-
this.provideLabelPick(picker, localize(
|
|
149
|
+
this.provideLabelPick(picker, localize(1354, "No matching editor symbols"));
|
|
150
150
|
}
|
|
151
151
|
else {
|
|
152
|
-
this.provideLabelPick(picker, localize(
|
|
152
|
+
this.provideLabelPick(picker, localize(1355, "No editor symbols"));
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
}
|
|
@@ -196,7 +196,7 @@ let AbstractGotoSymbolQuickAccessProvider = class AbstractGotoSymbolQuickAccessP
|
|
|
196
196
|
if (openSideBySideDirection) {
|
|
197
197
|
buttons = [{
|
|
198
198
|
iconClass: openSideBySideDirection === 'right' ? ThemeIcon.asClassName(Codicon.splitHorizontal) : ThemeIcon.asClassName(Codicon.splitVertical),
|
|
199
|
-
tooltip: openSideBySideDirection === 'right' ? localize(
|
|
199
|
+
tooltip: openSideBySideDirection === 'right' ? localize(1356, "Open to the Side") : localize(1357, "Open to the Bottom")
|
|
200
200
|
}];
|
|
201
201
|
}
|
|
202
202
|
const filteredSymbolPicks = [];
|
|
@@ -312,7 +312,7 @@ let AbstractGotoSymbolQuickAccessProvider = class AbstractGotoSymbolQuickAccessP
|
|
|
312
312
|
}
|
|
313
313
|
else if (sortedFilteredSymbolPicks.length > 0) {
|
|
314
314
|
symbolPicks = [
|
|
315
|
-
{ label: localize(
|
|
315
|
+
{ label: localize(1358, "symbols ({0})", filteredSymbolPicks.length), type: 'separator' },
|
|
316
316
|
...sortedFilteredSymbolPicks
|
|
317
317
|
];
|
|
318
318
|
}
|
|
@@ -362,33 +362,33 @@ AbstractGotoSymbolQuickAccessProvider = AbstractGotoSymbolQuickAccessProvider_1
|
|
|
362
362
|
], AbstractGotoSymbolQuickAccessProvider);
|
|
363
363
|
export { AbstractGotoSymbolQuickAccessProvider };
|
|
364
364
|
// #region NLS Helpers
|
|
365
|
-
const FALLBACK_NLS_SYMBOL_KIND = localize(
|
|
365
|
+
const FALLBACK_NLS_SYMBOL_KIND = localize(1359, "properties ({0})");
|
|
366
366
|
const NLS_SYMBOL_KIND_CACHE = {
|
|
367
|
-
[5 /* SymbolKind.Method */]: localize(
|
|
368
|
-
[11 /* SymbolKind.Function */]: localize(
|
|
369
|
-
[8 /* SymbolKind.Constructor */]: localize(
|
|
370
|
-
[12 /* SymbolKind.Variable */]: localize(
|
|
371
|
-
[4 /* SymbolKind.Class */]: localize(
|
|
372
|
-
[22 /* SymbolKind.Struct */]: localize(
|
|
373
|
-
[23 /* SymbolKind.Event */]: localize(
|
|
374
|
-
[24 /* SymbolKind.Operator */]: localize(
|
|
375
|
-
[10 /* SymbolKind.Interface */]: localize(
|
|
376
|
-
[2 /* SymbolKind.Namespace */]: localize(
|
|
377
|
-
[3 /* SymbolKind.Package */]: localize(
|
|
378
|
-
[25 /* SymbolKind.TypeParameter */]: localize(
|
|
379
|
-
[1 /* SymbolKind.Module */]: localize(
|
|
380
|
-
[6 /* SymbolKind.Property */]: localize(
|
|
381
|
-
[9 /* SymbolKind.Enum */]: localize(
|
|
382
|
-
[21 /* SymbolKind.EnumMember */]: localize(
|
|
383
|
-
[14 /* SymbolKind.String */]: localize(
|
|
384
|
-
[0 /* SymbolKind.File */]: localize(
|
|
385
|
-
[17 /* SymbolKind.Array */]: localize(
|
|
386
|
-
[15 /* SymbolKind.Number */]: localize(
|
|
387
|
-
[16 /* SymbolKind.Boolean */]: localize(
|
|
388
|
-
[18 /* SymbolKind.Object */]: localize(
|
|
389
|
-
[19 /* SymbolKind.Key */]: localize(
|
|
390
|
-
[7 /* SymbolKind.Field */]: localize(
|
|
391
|
-
[13 /* SymbolKind.Constant */]: localize(
|
|
367
|
+
[5 /* SymbolKind.Method */]: localize(1360, "methods ({0})"),
|
|
368
|
+
[11 /* SymbolKind.Function */]: localize(1361, "functions ({0})"),
|
|
369
|
+
[8 /* SymbolKind.Constructor */]: localize(1362, "constructors ({0})"),
|
|
370
|
+
[12 /* SymbolKind.Variable */]: localize(1363, "variables ({0})"),
|
|
371
|
+
[4 /* SymbolKind.Class */]: localize(1364, "classes ({0})"),
|
|
372
|
+
[22 /* SymbolKind.Struct */]: localize(1365, "structs ({0})"),
|
|
373
|
+
[23 /* SymbolKind.Event */]: localize(1366, "events ({0})"),
|
|
374
|
+
[24 /* SymbolKind.Operator */]: localize(1367, "operators ({0})"),
|
|
375
|
+
[10 /* SymbolKind.Interface */]: localize(1368, "interfaces ({0})"),
|
|
376
|
+
[2 /* SymbolKind.Namespace */]: localize(1369, "namespaces ({0})"),
|
|
377
|
+
[3 /* SymbolKind.Package */]: localize(1370, "packages ({0})"),
|
|
378
|
+
[25 /* SymbolKind.TypeParameter */]: localize(1371, "type parameters ({0})"),
|
|
379
|
+
[1 /* SymbolKind.Module */]: localize(1372, "modules ({0})"),
|
|
380
|
+
[6 /* SymbolKind.Property */]: localize(1373, "properties ({0})"),
|
|
381
|
+
[9 /* SymbolKind.Enum */]: localize(1374, "enumerations ({0})"),
|
|
382
|
+
[21 /* SymbolKind.EnumMember */]: localize(1375, "enumeration members ({0})"),
|
|
383
|
+
[14 /* SymbolKind.String */]: localize(1376, "strings ({0})"),
|
|
384
|
+
[0 /* SymbolKind.File */]: localize(1377, "files ({0})"),
|
|
385
|
+
[17 /* SymbolKind.Array */]: localize(1378, "arrays ({0})"),
|
|
386
|
+
[15 /* SymbolKind.Number */]: localize(1379, "numbers ({0})"),
|
|
387
|
+
[16 /* SymbolKind.Boolean */]: localize(1380, "booleans ({0})"),
|
|
388
|
+
[18 /* SymbolKind.Object */]: localize(1381, "objects ({0})"),
|
|
389
|
+
[19 /* SymbolKind.Key */]: localize(1382, "keys ({0})"),
|
|
390
|
+
[7 /* SymbolKind.Field */]: localize(1383, "fields ({0})"),
|
|
391
|
+
[13 /* SymbolKind.Constant */]: localize(1384, "constants ({0})")
|
|
392
392
|
};
|
|
393
393
|
//#endregion
|
|
394
394
|
//# sourceMappingURL=gotoSymbolQuickAccess.js.map
|
|
@@ -20,10 +20,10 @@ export class ReadOnlyMessageController extends Disposable {
|
|
|
20
20
|
let message = this.editor.getOptions().get(105 /* EditorOption.readOnlyMessage */);
|
|
21
21
|
if (!message) {
|
|
22
22
|
if (this.editor.isSimpleWidget) {
|
|
23
|
-
message = new MarkdownString(nls.localize(
|
|
23
|
+
message = new MarkdownString(nls.localize(1385, "Cannot edit in read-only input"));
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
|
-
message = new MarkdownString(nls.localize(
|
|
26
|
+
message = new MarkdownString(nls.localize(1386, "Cannot edit in read-only editor"));
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
messageController.showMessage(message, this.editor.getPosition());
|
|
@@ -99,7 +99,7 @@ class RenameSkeleton {
|
|
|
99
99
|
}
|
|
100
100
|
const result = await provider.provideRenameEdits(this.model, this.position, newName, token);
|
|
101
101
|
if (!result) {
|
|
102
|
-
return this._provideRenameEdits(newName, i + 1, rejects.concat(nls.localize(
|
|
102
|
+
return this._provideRenameEdits(newName, i + 1, rejects.concat(nls.localize(1387, "No result.")), token);
|
|
103
103
|
}
|
|
104
104
|
else if (result.rejectReason) {
|
|
105
105
|
return this._provideRenameEdits(newName, i + 1, rejects.concat(result.rejectReason), token);
|
|
@@ -172,7 +172,7 @@ let RenameController = class RenameController {
|
|
|
172
172
|
else {
|
|
173
173
|
trace('resolve rename location failed', e instanceof Error ? e : JSON.stringify(e, null, '\t'));
|
|
174
174
|
if (typeof e === 'string' || isMarkdownString(e)) {
|
|
175
|
-
MessageController.get(this.editor)?.showMessage(e || nls.localize(
|
|
175
|
+
MessageController.get(this.editor)?.showMessage(e || nls.localize(1388, "An unknown error occurred while resolving rename location"), position);
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
return undefined;
|
|
@@ -240,24 +240,24 @@ let RenameController = class RenameController {
|
|
|
240
240
|
this._bulkEditService.apply(renameResult, {
|
|
241
241
|
editor: this.editor,
|
|
242
242
|
showPreview: inputFieldResult.wantsPreview,
|
|
243
|
-
label: nls.localize(
|
|
243
|
+
label: nls.localize(1389, "Renaming '{0}' to '{1}'", loc?.text, inputFieldResult.newName),
|
|
244
244
|
code: 'undoredo.rename',
|
|
245
|
-
quotableLabel: nls.localize(
|
|
245
|
+
quotableLabel: nls.localize(1390, "Renaming {0} to {1}", loc?.text, inputFieldResult.newName),
|
|
246
246
|
respectAutoSaveConfig: true,
|
|
247
|
-
reason: EditSources.rename(),
|
|
247
|
+
reason: EditSources.rename(loc?.text, inputFieldResult.newName),
|
|
248
248
|
}).then(result => {
|
|
249
249
|
trace('edits applied');
|
|
250
250
|
if (result.ariaSummary) {
|
|
251
|
-
alert(nls.localize(
|
|
251
|
+
alert(nls.localize(1391, "Successfully renamed '{0}' to '{1}'. Summary: {2}", loc.text, inputFieldResult.newName, result.ariaSummary));
|
|
252
252
|
}
|
|
253
253
|
}).catch(err => {
|
|
254
254
|
trace(`error when applying edits ${JSON.stringify(err, null, '\t')}`);
|
|
255
|
-
this._notificationService.error(nls.localize(
|
|
255
|
+
this._notificationService.error(nls.localize(1392, "Rename failed to apply edits"));
|
|
256
256
|
this._logService.error(err);
|
|
257
257
|
});
|
|
258
258
|
}, err => {
|
|
259
259
|
trace('error when providing rename edits', JSON.stringify(err, null, '\t'));
|
|
260
|
-
this._notificationService.error(nls.localize(
|
|
260
|
+
this._notificationService.error(nls.localize(1393, "Rename failed to compute edits"));
|
|
261
261
|
this._logService.error(err);
|
|
262
262
|
}).finally(() => {
|
|
263
263
|
cts2.dispose();
|
|
@@ -293,7 +293,7 @@ export class RenameAction extends EditorAction {
|
|
|
293
293
|
constructor() {
|
|
294
294
|
super({
|
|
295
295
|
id: 'editor.action.rename',
|
|
296
|
-
label: nls.localize2(
|
|
296
|
+
label: nls.localize2(1395, "Rename Symbol"),
|
|
297
297
|
precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasRenameProvider),
|
|
298
298
|
kbOpts: {
|
|
299
299
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -374,7 +374,7 @@ registerAction2(class FocusNextRenameSuggestion extends Action2 {
|
|
|
374
374
|
super({
|
|
375
375
|
id: 'focusNextRenameSuggestion',
|
|
376
376
|
title: {
|
|
377
|
-
...nls.localize2(
|
|
377
|
+
...nls.localize2(1396, "Focus Next Rename Suggestion"),
|
|
378
378
|
},
|
|
379
379
|
precondition: CONTEXT_RENAME_INPUT_VISIBLE,
|
|
380
380
|
keybinding: [
|
|
@@ -402,7 +402,7 @@ registerAction2(class FocusPreviousRenameSuggestion extends Action2 {
|
|
|
402
402
|
super({
|
|
403
403
|
id: 'focusPreviousRenameSuggestion',
|
|
404
404
|
title: {
|
|
405
|
-
...nls.localize2(
|
|
405
|
+
...nls.localize2(1397, "Focus Previous Rename Suggestion"),
|
|
406
406
|
},
|
|
407
407
|
precondition: CONTEXT_RENAME_INPUT_VISIBLE,
|
|
408
408
|
keybinding: [
|
|
@@ -447,7 +447,7 @@ Registry.as(Extensions.Configuration).registerConfiguration({
|
|
|
447
447
|
properties: {
|
|
448
448
|
'editor.rename.enablePreview': {
|
|
449
449
|
scope: 6 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */,
|
|
450
|
-
description: nls.localize(
|
|
450
|
+
description: nls.localize(1394, "Enable/disable the ability to preview changes before renaming"),
|
|
451
451
|
default: true,
|
|
452
452
|
type: 'boolean'
|
|
453
453
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vs/editor/contrib/rename/browser/rename.ts"],"names":[],"mappings":"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","file":"rename.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 { alert } from '../../../../base/browser/ui/aria/aria.js';\nimport { raceCancellation } from '../../../../base/common/async.js';\nimport { CancellationToken, CancellationTokenSource } from '../../../../base/common/cancellation.js';\nimport { CancellationError, onUnexpectedError } from '../../../../base/common/errors.js';\nimport { isMarkdownString } from '../../../../base/common/htmlContent.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { DisposableStore } from '../../../../base/common/lifecycle.js';\nimport { assertType } from '../../../../base/common/types.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport * as nls from '../../../../nls.js';\nimport { Action2, registerAction2 } from '../../../../platform/actions/common/actions.js';\nimport { ConfigurationScope, Extensions, IConfigurationRegistry } from '../../../../platform/configuration/common/configurationRegistry.js';\nimport { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { ILogService } from '../../../../platform/log/common/log.js';\nimport { INotificationService } from '../../../../platform/notification/common/notification.js';\nimport { IEditorProgressService } from '../../../../platform/progress/common/progress.js';\nimport { Registry } from '../../../../platform/registry/common/platform.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorCommand, EditorContributionInstantiation, ServicesAccessor, registerEditorAction, registerEditorCommand, registerEditorContribution, registerModelAndPositionCommand } from '../../../browser/editorExtensions.js';\nimport { IBulkEditService } from '../../../browser/services/bulkEditService.js';\nimport { ICodeEditorService } from '../../../browser/services/codeEditorService.js';\nimport { IPosition, Position } from '../../../common/core/position.js';\nimport { Range } from '../../../common/core/range.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { NewSymbolNameTriggerKind, Rejection, RenameLocation, RenameProvider, WorkspaceEdit } from '../../../common/languages.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\nimport { ITextResourceConfigurationService } from '../../../common/services/textResourceConfiguration.js';\nimport { EditSources } from '../../../common/textModelEditSource.js';\nimport { CodeEditorStateFlag, EditorStateCancellationTokenSource } from '../../editorState/browser/editorState.js';\nimport { MessageController } from '../../message/browser/messageController.js';\nimport { CONTEXT_RENAME_INPUT_VISIBLE, RenameWidget } from './renameWidget.js';\n\nclass RenameSkeleton {\n\n\tprivate readonly _providers: RenameProvider[];\n\tprivate _providerRenameIdx: number = 0;\n\n\tconstructor(\n\t\tprivate readonly model: ITextModel,\n\t\tprivate readonly position: Position,\n\t\tregistry: LanguageFeatureRegistry<RenameProvider>\n\t) {\n\t\tthis._providers = registry.ordered(model);\n\t}\n\n\thasProvider() {\n\t\treturn this._providers.length > 0;\n\t}\n\n\tasync resolveRenameLocation(token: CancellationToken): Promise<RenameLocation & Rejection | undefined> {\n\n\t\tconst rejects: string[] = [];\n\n\t\tfor (this._providerRenameIdx = 0; this._providerRenameIdx < this._providers.length; this._providerRenameIdx++) {\n\t\t\tconst provider = this._providers[this._providerRenameIdx];\n\t\t\tif (!provider.resolveRenameLocation) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst res = await provider.resolveRenameLocation(this.model, this.position, token);\n\t\t\tif (!res) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (res.rejectReason) {\n\t\t\t\trejects.push(res.rejectReason);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\t// we are here when no provider prepared a location which means we can\n\t\t// just rely on the word under cursor and start with the first provider\n\t\tthis._providerRenameIdx = 0;\n\n\t\tconst word = this.model.getWordAtPosition(this.position);\n\t\tif (!word) {\n\t\t\treturn {\n\t\t\t\trange: Range.fromPositions(this.position),\n\t\t\t\ttext: '',\n\t\t\t\trejectReason: rejects.length > 0 ? rejects.join('\\n') : undefined\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\trange: new Range(this.position.lineNumber, word.startColumn, this.position.lineNumber, word.endColumn),\n\t\t\ttext: word.word,\n\t\t\trejectReason: rejects.length > 0 ? rejects.join('\\n') : undefined\n\t\t};\n\t}\n\n\tasync provideRenameEdits(newName: string, token: CancellationToken): Promise<WorkspaceEdit & Rejection> {\n\t\treturn this._provideRenameEdits(newName, this._providerRenameIdx, [], token);\n\t}\n\n\tprivate async _provideRenameEdits(newName: string, i: number, rejects: string[], token: CancellationToken): Promise<WorkspaceEdit & Rejection> {\n\t\tconst provider = this._providers[i];\n\t\tif (!provider) {\n\t\t\treturn {\n\t\t\t\tedits: [],\n\t\t\t\trejectReason: rejects.join('\\n')\n\t\t\t};\n\t\t}\n\n\t\tconst result = await provider.provideRenameEdits(this.model, this.position, newName, token);\n\t\tif (!result) {\n\t\t\treturn this._provideRenameEdits(newName, i + 1, rejects.concat(nls.localize('no result', \"No result.\")), token);\n\t\t} else if (result.rejectReason) {\n\t\t\treturn this._provideRenameEdits(newName, i + 1, rejects.concat(result.rejectReason), token);\n\t\t}\n\t\treturn result;\n\t}\n}\n\nexport async function rename(registry: LanguageFeatureRegistry<RenameProvider>, model: ITextModel, position: Position, newName: string): Promise<WorkspaceEdit & Rejection> {\n\tconst skeleton = new RenameSkeleton(model, position, registry);\n\tconst loc = await skeleton.resolveRenameLocation(CancellationToken.None);\n\tif (loc?.rejectReason) {\n\t\treturn { edits: [], rejectReason: loc.rejectReason };\n\t}\n\treturn skeleton.provideRenameEdits(newName, CancellationToken.None);\n}\n\n// --- register actions and commands\n\nclass RenameController implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.renameController';\n\n\tstatic get(editor: ICodeEditor): RenameController | null {\n\t\treturn editor.getContribution<RenameController>(RenameController.ID);\n\t}\n\n\tprivate readonly _renameWidget: RenameWidget;\n\tprivate readonly _disposableStore = new DisposableStore();\n\tprivate _cts: CancellationTokenSource = new CancellationTokenSource();\n\n\tconstructor(\n\t\tprivate readonly editor: ICodeEditor,\n\t\t@IInstantiationService private readonly _instaService: IInstantiationService,\n\t\t@INotificationService private readonly _notificationService: INotificationService,\n\t\t@IBulkEditService private readonly _bulkEditService: IBulkEditService,\n\t\t@IEditorProgressService private readonly _progressService: IEditorProgressService,\n\t\t@ILogService private readonly _logService: ILogService,\n\t\t@ITextResourceConfigurationService private readonly _configService: ITextResourceConfigurationService,\n\t\t@ILanguageFeaturesService private readonly _languageFeaturesService: ILanguageFeaturesService,\n\t) {\n\t\tthis._renameWidget = this._disposableStore.add(this._instaService.createInstance(RenameWidget, this.editor, ['acceptRenameInput', 'acceptRenameInputWithPreview']));\n\t}\n\n\tdispose(): void {\n\t\tthis._disposableStore.dispose();\n\t\tthis._cts.dispose(true);\n\t}\n\n\tasync run(): Promise<void> {\n\n\t\tconst trace = this._logService.trace.bind(this._logService, '[rename]');\n\n\t\t// set up cancellation token to prevent reentrant rename, this\n\t\t// is the parent to the resolve- and rename-tokens\n\t\tthis._cts.dispose(true);\n\t\tthis._cts = new CancellationTokenSource();\n\n\t\tif (!this.editor.hasModel()) {\n\t\t\ttrace('editor has no model');\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst position = this.editor.getPosition();\n\t\tconst skeleton = new RenameSkeleton(this.editor.getModel(), position, this._languageFeaturesService.renameProvider);\n\n\t\tif (!skeleton.hasProvider()) {\n\t\t\ttrace('skeleton has no provider');\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// part 1 - resolve rename location\n\t\tconst cts1 = new EditorStateCancellationTokenSource(this.editor, CodeEditorStateFlag.Position | CodeEditorStateFlag.Value, undefined, this._cts.token);\n\n\t\tlet loc: RenameLocation & Rejection | undefined;\n\t\ttry {\n\t\t\ttrace('resolving rename location');\n\t\t\tconst resolveLocationOperation = skeleton.resolveRenameLocation(cts1.token);\n\t\t\tthis._progressService.showWhile(resolveLocationOperation, 250);\n\t\t\tloc = await resolveLocationOperation;\n\t\t\ttrace('resolved rename location');\n\t\t} catch (e: unknown) {\n\t\t\tif (e instanceof CancellationError) {\n\t\t\t\ttrace('resolve rename location cancelled', JSON.stringify(e, null, '\\t'));\n\t\t\t} else {\n\t\t\t\ttrace('resolve rename location failed', e instanceof Error ? e : JSON.stringify(e, null, '\\t'));\n\t\t\t\tif (typeof e === 'string' || isMarkdownString(e)) {\n\t\t\t\t\tMessageController.get(this.editor)?.showMessage(e || nls.localize('resolveRenameLocationFailed', \"An unknown error occurred while resolving rename location\"), position);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn undefined;\n\n\t\t} finally {\n\t\t\tcts1.dispose();\n\t\t}\n\n\t\tif (!loc) {\n\t\t\ttrace('returning early - no loc');\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (loc.rejectReason) {\n\t\t\ttrace(`returning early - rejected with reason: ${loc.rejectReason}`, loc.rejectReason);\n\t\t\tMessageController.get(this.editor)?.showMessage(loc.rejectReason, position);\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (cts1.token.isCancellationRequested) {\n\t\t\ttrace('returning early - cts1 cancelled');\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// part 2 - do rename at location\n\t\tconst cts2 = new EditorStateCancellationTokenSource(this.editor, CodeEditorStateFlag.Position | CodeEditorStateFlag.Value, loc.range, this._cts.token);\n\n\t\tconst model = this.editor.getModel(); // @ulugbekna: assumes editor still has a model, otherwise, cts1 should've been cancelled\n\n\t\tconst newSymbolNamesProviders = this._languageFeaturesService.newSymbolNamesProvider.all(model);\n\n\t\tconst resolvedNewSymbolnamesProviders = await Promise.all(newSymbolNamesProviders.map(async p => [p, await p.supportsAutomaticNewSymbolNamesTriggerKind ?? false] as const));\n\n\t\tconst requestRenameSuggestions = (triggerKind: NewSymbolNameTriggerKind, cts: CancellationToken) => {\n\t\t\tlet providers = resolvedNewSymbolnamesProviders.slice();\n\n\t\t\tif (triggerKind === NewSymbolNameTriggerKind.Automatic) {\n\t\t\t\tproviders = providers.filter(([_, supportsAutomatic]) => supportsAutomatic);\n\t\t\t}\n\n\t\t\treturn providers.map(([p,]) => p.provideNewSymbolNames(model, loc.range, triggerKind, cts));\n\t\t};\n\n\t\ttrace('creating rename input field and awaiting its result');\n\t\tconst supportPreview = this._bulkEditService.hasPreviewHandler() && this._configService.getValue<boolean>(this.editor.getModel().uri, 'editor.rename.enablePreview');\n\t\tconst inputFieldResult = await this._renameWidget.getInput(\n\t\t\tloc.range,\n\t\t\tloc.text,\n\t\t\tsupportPreview,\n\t\t\tnewSymbolNamesProviders.length > 0 ? requestRenameSuggestions : undefined,\n\t\t\tcts2\n\t\t);\n\t\ttrace('received response from rename input field');\n\n\t\t// no result, only hint to focus the editor or not\n\t\tif (typeof inputFieldResult === 'boolean') {\n\t\t\ttrace(`returning early - rename input field response - ${inputFieldResult}`);\n\t\t\tif (inputFieldResult) {\n\t\t\t\tthis.editor.focus();\n\t\t\t}\n\t\t\tcts2.dispose();\n\t\t\treturn undefined;\n\t\t}\n\n\t\tthis.editor.focus();\n\n\t\ttrace('requesting rename edits');\n\t\tconst renameOperation = raceCancellation(skeleton.provideRenameEdits(inputFieldResult.newName, cts2.token), cts2.token).then(async renameResult => {\n\n\t\t\tif (!renameResult) {\n\t\t\t\ttrace('returning early - no rename edits result');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this.editor.hasModel()) {\n\t\t\t\ttrace('returning early - no model after rename edits are provided');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (renameResult.rejectReason) {\n\t\t\t\ttrace(`returning early - rejected with reason: ${renameResult.rejectReason}`);\n\t\t\t\tthis._notificationService.info(renameResult.rejectReason);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// collapse selection to active end\n\t\t\tthis.editor.setSelection(Range.fromPositions(this.editor.getSelection().getPosition()));\n\n\t\t\ttrace('applying edits');\n\n\t\t\tthis._bulkEditService.apply(renameResult, {\n\t\t\t\teditor: this.editor,\n\t\t\t\tshowPreview: inputFieldResult.wantsPreview,\n\t\t\t\tlabel: nls.localize('label', \"Renaming '{0}' to '{1}'\", loc?.text, inputFieldResult.newName),\n\t\t\t\tcode: 'undoredo.rename',\n\t\t\t\tquotableLabel: nls.localize('quotableLabel', \"Renaming {0} to {1}\", loc?.text, inputFieldResult.newName),\n\t\t\t\trespectAutoSaveConfig: true,\n\t\t\t\treason: EditSources.rename(),\n\t\t\t}).then(result => {\n\t\t\t\ttrace('edits applied');\n\t\t\t\tif (result.ariaSummary) {\n\t\t\t\t\talert(nls.localize('aria', \"Successfully renamed '{0}' to '{1}'. Summary: {2}\", loc.text, inputFieldResult.newName, result.ariaSummary));\n\t\t\t\t}\n\t\t\t}).catch(err => {\n\t\t\t\ttrace(`error when applying edits ${JSON.stringify(err, null, '\\t')}`);\n\t\t\t\tthis._notificationService.error(nls.localize('rename.failedApply', \"Rename failed to apply edits\"));\n\t\t\t\tthis._logService.error(err);\n\t\t\t});\n\n\t\t}, err => {\n\t\t\ttrace('error when providing rename edits', JSON.stringify(err, null, '\\t'));\n\n\t\t\tthis._notificationService.error(nls.localize('rename.failed', \"Rename failed to compute edits\"));\n\t\t\tthis._logService.error(err);\n\n\t\t}).finally(() => {\n\t\t\tcts2.dispose();\n\t\t});\n\n\t\ttrace('returning rename operation');\n\n\t\tthis._progressService.showWhile(renameOperation, 250);\n\t\treturn renameOperation;\n\n\t}\n\n\tacceptRenameInput(wantsPreview: boolean): void {\n\t\tthis._renameWidget.acceptInput(wantsPreview);\n\t}\n\n\tcancelRenameInput(): void {\n\t\tthis._renameWidget.cancelInput(true, 'cancelRenameInput command');\n\t}\n\n\tfocusNextRenameSuggestion(): void {\n\t\tthis._renameWidget.focusNextRenameSuggestion();\n\t}\n\n\tfocusPreviousRenameSuggestion(): void {\n\t\tthis._renameWidget.focusPreviousRenameSuggestion();\n\t}\n}\n\n// ---- action implementation\n\nexport class RenameAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.rename',\n\t\t\tlabel: nls.localize2('rename.label', \"Rename Symbol\"),\n\t\t\tprecondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasRenameProvider),\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.editorTextFocus,\n\t\t\t\tprimary: KeyCode.F2,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t},\n\t\t\tcontextMenuOpts: {\n\t\t\t\tgroup: '1_modification',\n\t\t\t\torder: 1.1\n\t\t\t},\n\t\t\tcanTriggerInlineEdits: true,\n\t\t});\n\t}\n\n\toverride runCommand(accessor: ServicesAccessor, args: [URI, IPosition]): void | Promise<void> {\n\t\tconst editorService = accessor.get(ICodeEditorService);\n\t\tconst [uri, pos] = Array.isArray(args) && args || [undefined, undefined];\n\n\t\tif (URI.isUri(uri) && Position.isIPosition(pos)) {\n\t\t\treturn editorService.openCodeEditor({ resource: uri }, editorService.getActiveCodeEditor()).then(editor => {\n\t\t\t\tif (!editor) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\teditor.setPosition(pos);\n\t\t\t\teditor.invokeWithinContext(accessor => {\n\t\t\t\t\tthis.reportTelemetry(accessor, editor);\n\t\t\t\t\treturn this.run(accessor, editor);\n\t\t\t\t});\n\t\t\t}, onUnexpectedError);\n\t\t}\n\n\t\treturn super.runCommand(accessor, args);\n\t}\n\n\trun(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst logService = accessor.get(ILogService);\n\n\t\tconst controller = RenameController.get(editor);\n\n\t\tif (controller) {\n\t\t\tlogService.trace('[RenameAction] got controller, running...');\n\t\t\treturn controller.run();\n\t\t}\n\t\tlogService.trace('[RenameAction] returning early - controller missing');\n\t\treturn Promise.resolve();\n\t}\n}\n\nregisterEditorContribution(RenameController.ID, RenameController, EditorContributionInstantiation.Lazy);\nregisterEditorAction(RenameAction);\n\nconst RenameCommand = EditorCommand.bindToContribution<RenameController>(RenameController.get);\n\nregisterEditorCommand(new RenameCommand({\n\tid: 'acceptRenameInput',\n\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\thandler: x => x.acceptRenameInput(false),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, ContextKeyExpr.not('isComposing')),\n\t\tprimary: KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new RenameCommand({\n\tid: 'acceptRenameInputWithPreview',\n\tprecondition: ContextKeyExpr.and(CONTEXT_RENAME_INPUT_VISIBLE, ContextKeyExpr.has('config.editor.rename.enablePreview')),\n\thandler: x => x.acceptRenameInput(true),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, ContextKeyExpr.not('isComposing')),\n\t\tprimary: KeyMod.CtrlCmd + KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new RenameCommand({\n\tid: 'cancelRenameInput',\n\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\thandler: x => x.cancelRenameInput(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyCode.Escape,\n\t\tsecondary: [KeyMod.Shift | KeyCode.Escape]\n\t}\n}));\n\nregisterAction2(class FocusNextRenameSuggestion extends Action2 {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'focusNextRenameSuggestion',\n\t\t\ttitle: {\n\t\t\t\t...nls.localize2('focusNextRenameSuggestion', \"Focus Next Rename Suggestion\"),\n\t\t\t},\n\t\t\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\t\t\tkeybinding: [\n\t\t\t\t{\n\t\t\t\t\tprimary: KeyCode.DownArrow,\n\t\t\t\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t}\n\n\toverride run(accessor: ServicesAccessor): void {\n\t\tconst currentEditor = accessor.get(ICodeEditorService).getFocusedCodeEditor();\n\t\tif (!currentEditor) { return; }\n\n\t\tconst controller = RenameController.get(currentEditor);\n\t\tif (!controller) { return; }\n\n\t\tcontroller.focusNextRenameSuggestion();\n\t}\n});\n\nregisterAction2(class FocusPreviousRenameSuggestion extends Action2 {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'focusPreviousRenameSuggestion',\n\t\t\ttitle: {\n\t\t\t\t...nls.localize2('focusPreviousRenameSuggestion', \"Focus Previous Rename Suggestion\"),\n\t\t\t},\n\t\t\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\t\t\tkeybinding: [\n\t\t\t\t{\n\t\t\t\t\tprimary: KeyCode.UpArrow,\n\t\t\t\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t}\n\n\toverride run(accessor: ServicesAccessor): void {\n\t\tconst currentEditor = accessor.get(ICodeEditorService).getFocusedCodeEditor();\n\t\tif (!currentEditor) { return; }\n\n\t\tconst controller = RenameController.get(currentEditor);\n\t\tif (!controller) { return; }\n\n\t\tcontroller.focusPreviousRenameSuggestion();\n\t}\n});\n\n// ---- api bridge command\n\nregisterModelAndPositionCommand('_executeDocumentRenameProvider', function (accessor, model, position, ...args) {\n\tconst [newName] = args;\n\tassertType(typeof newName === 'string');\n\tconst { renameProvider } = accessor.get(ILanguageFeaturesService);\n\treturn rename(renameProvider, model, position, newName);\n});\n\nregisterModelAndPositionCommand('_executePrepareRename', async function (accessor, model, position) {\n\tconst { renameProvider } = accessor.get(ILanguageFeaturesService);\n\tconst skeleton = new RenameSkeleton(model, position, renameProvider);\n\tconst loc = await skeleton.resolveRenameLocation(CancellationToken.None);\n\tif (loc?.rejectReason) {\n\t\tthrow new Error(loc.rejectReason);\n\t}\n\treturn loc;\n});\n\n\n//todo@jrieken use editor options world\nRegistry.as<IConfigurationRegistry>(Extensions.Configuration).registerConfiguration({\n\tid: 'editor',\n\tproperties: {\n\t\t'editor.rename.enablePreview': {\n\t\t\tscope: ConfigurationScope.LANGUAGE_OVERRIDABLE,\n\t\t\tdescription: nls.localize('enablePreview', \"Enable/disable the ability to preview changes before renaming\"),\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean'\n\t\t}\n\t}\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["vs/editor/contrib/rename/browser/rename.ts"],"names":[],"mappings":"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","file":"rename.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 { alert } from '../../../../base/browser/ui/aria/aria.js';\nimport { raceCancellation } from '../../../../base/common/async.js';\nimport { CancellationToken, CancellationTokenSource } from '../../../../base/common/cancellation.js';\nimport { CancellationError, onUnexpectedError } from '../../../../base/common/errors.js';\nimport { isMarkdownString } from '../../../../base/common/htmlContent.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { DisposableStore } from '../../../../base/common/lifecycle.js';\nimport { assertType } from '../../../../base/common/types.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport * as nls from '../../../../nls.js';\nimport { Action2, registerAction2 } from '../../../../platform/actions/common/actions.js';\nimport { ConfigurationScope, Extensions, IConfigurationRegistry } from '../../../../platform/configuration/common/configurationRegistry.js';\nimport { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { ILogService } from '../../../../platform/log/common/log.js';\nimport { INotificationService } from '../../../../platform/notification/common/notification.js';\nimport { IEditorProgressService } from '../../../../platform/progress/common/progress.js';\nimport { Registry } from '../../../../platform/registry/common/platform.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorCommand, EditorContributionInstantiation, ServicesAccessor, registerEditorAction, registerEditorCommand, registerEditorContribution, registerModelAndPositionCommand } from '../../../browser/editorExtensions.js';\nimport { IBulkEditService } from '../../../browser/services/bulkEditService.js';\nimport { ICodeEditorService } from '../../../browser/services/codeEditorService.js';\nimport { IPosition, Position } from '../../../common/core/position.js';\nimport { Range } from '../../../common/core/range.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { NewSymbolNameTriggerKind, Rejection, RenameLocation, RenameProvider, WorkspaceEdit } from '../../../common/languages.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\nimport { ITextResourceConfigurationService } from '../../../common/services/textResourceConfiguration.js';\nimport { EditSources } from '../../../common/textModelEditSource.js';\nimport { CodeEditorStateFlag, EditorStateCancellationTokenSource } from '../../editorState/browser/editorState.js';\nimport { MessageController } from '../../message/browser/messageController.js';\nimport { CONTEXT_RENAME_INPUT_VISIBLE, RenameWidget } from './renameWidget.js';\n\nclass RenameSkeleton {\n\n\tprivate readonly _providers: RenameProvider[];\n\tprivate _providerRenameIdx: number = 0;\n\n\tconstructor(\n\t\tprivate readonly model: ITextModel,\n\t\tprivate readonly position: Position,\n\t\tregistry: LanguageFeatureRegistry<RenameProvider>\n\t) {\n\t\tthis._providers = registry.ordered(model);\n\t}\n\n\thasProvider() {\n\t\treturn this._providers.length > 0;\n\t}\n\n\tasync resolveRenameLocation(token: CancellationToken): Promise<RenameLocation & Rejection | undefined> {\n\n\t\tconst rejects: string[] = [];\n\n\t\tfor (this._providerRenameIdx = 0; this._providerRenameIdx < this._providers.length; this._providerRenameIdx++) {\n\t\t\tconst provider = this._providers[this._providerRenameIdx];\n\t\t\tif (!provider.resolveRenameLocation) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst res = await provider.resolveRenameLocation(this.model, this.position, token);\n\t\t\tif (!res) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (res.rejectReason) {\n\t\t\t\trejects.push(res.rejectReason);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\t// we are here when no provider prepared a location which means we can\n\t\t// just rely on the word under cursor and start with the first provider\n\t\tthis._providerRenameIdx = 0;\n\n\t\tconst word = this.model.getWordAtPosition(this.position);\n\t\tif (!word) {\n\t\t\treturn {\n\t\t\t\trange: Range.fromPositions(this.position),\n\t\t\t\ttext: '',\n\t\t\t\trejectReason: rejects.length > 0 ? rejects.join('\\n') : undefined\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\trange: new Range(this.position.lineNumber, word.startColumn, this.position.lineNumber, word.endColumn),\n\t\t\ttext: word.word,\n\t\t\trejectReason: rejects.length > 0 ? rejects.join('\\n') : undefined\n\t\t};\n\t}\n\n\tasync provideRenameEdits(newName: string, token: CancellationToken): Promise<WorkspaceEdit & Rejection> {\n\t\treturn this._provideRenameEdits(newName, this._providerRenameIdx, [], token);\n\t}\n\n\tprivate async _provideRenameEdits(newName: string, i: number, rejects: string[], token: CancellationToken): Promise<WorkspaceEdit & Rejection> {\n\t\tconst provider = this._providers[i];\n\t\tif (!provider) {\n\t\t\treturn {\n\t\t\t\tedits: [],\n\t\t\t\trejectReason: rejects.join('\\n')\n\t\t\t};\n\t\t}\n\n\t\tconst result = await provider.provideRenameEdits(this.model, this.position, newName, token);\n\t\tif (!result) {\n\t\t\treturn this._provideRenameEdits(newName, i + 1, rejects.concat(nls.localize('no result', \"No result.\")), token);\n\t\t} else if (result.rejectReason) {\n\t\t\treturn this._provideRenameEdits(newName, i + 1, rejects.concat(result.rejectReason), token);\n\t\t}\n\t\treturn result;\n\t}\n}\n\nexport async function rename(registry: LanguageFeatureRegistry<RenameProvider>, model: ITextModel, position: Position, newName: string): Promise<WorkspaceEdit & Rejection> {\n\tconst skeleton = new RenameSkeleton(model, position, registry);\n\tconst loc = await skeleton.resolveRenameLocation(CancellationToken.None);\n\tif (loc?.rejectReason) {\n\t\treturn { edits: [], rejectReason: loc.rejectReason };\n\t}\n\treturn skeleton.provideRenameEdits(newName, CancellationToken.None);\n}\n\n// --- register actions and commands\n\nclass RenameController implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.renameController';\n\n\tstatic get(editor: ICodeEditor): RenameController | null {\n\t\treturn editor.getContribution<RenameController>(RenameController.ID);\n\t}\n\n\tprivate readonly _renameWidget: RenameWidget;\n\tprivate readonly _disposableStore = new DisposableStore();\n\tprivate _cts: CancellationTokenSource = new CancellationTokenSource();\n\n\tconstructor(\n\t\tprivate readonly editor: ICodeEditor,\n\t\t@IInstantiationService private readonly _instaService: IInstantiationService,\n\t\t@INotificationService private readonly _notificationService: INotificationService,\n\t\t@IBulkEditService private readonly _bulkEditService: IBulkEditService,\n\t\t@IEditorProgressService private readonly _progressService: IEditorProgressService,\n\t\t@ILogService private readonly _logService: ILogService,\n\t\t@ITextResourceConfigurationService private readonly _configService: ITextResourceConfigurationService,\n\t\t@ILanguageFeaturesService private readonly _languageFeaturesService: ILanguageFeaturesService,\n\t) {\n\t\tthis._renameWidget = this._disposableStore.add(this._instaService.createInstance(RenameWidget, this.editor, ['acceptRenameInput', 'acceptRenameInputWithPreview']));\n\t}\n\n\tdispose(): void {\n\t\tthis._disposableStore.dispose();\n\t\tthis._cts.dispose(true);\n\t}\n\n\tasync run(): Promise<void> {\n\n\t\tconst trace = this._logService.trace.bind(this._logService, '[rename]');\n\n\t\t// set up cancellation token to prevent reentrant rename, this\n\t\t// is the parent to the resolve- and rename-tokens\n\t\tthis._cts.dispose(true);\n\t\tthis._cts = new CancellationTokenSource();\n\n\t\tif (!this.editor.hasModel()) {\n\t\t\ttrace('editor has no model');\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst position = this.editor.getPosition();\n\t\tconst skeleton = new RenameSkeleton(this.editor.getModel(), position, this._languageFeaturesService.renameProvider);\n\n\t\tif (!skeleton.hasProvider()) {\n\t\t\ttrace('skeleton has no provider');\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// part 1 - resolve rename location\n\t\tconst cts1 = new EditorStateCancellationTokenSource(this.editor, CodeEditorStateFlag.Position | CodeEditorStateFlag.Value, undefined, this._cts.token);\n\n\t\tlet loc: RenameLocation & Rejection | undefined;\n\t\ttry {\n\t\t\ttrace('resolving rename location');\n\t\t\tconst resolveLocationOperation = skeleton.resolveRenameLocation(cts1.token);\n\t\t\tthis._progressService.showWhile(resolveLocationOperation, 250);\n\t\t\tloc = await resolveLocationOperation;\n\t\t\ttrace('resolved rename location');\n\t\t} catch (e: unknown) {\n\t\t\tif (e instanceof CancellationError) {\n\t\t\t\ttrace('resolve rename location cancelled', JSON.stringify(e, null, '\\t'));\n\t\t\t} else {\n\t\t\t\ttrace('resolve rename location failed', e instanceof Error ? e : JSON.stringify(e, null, '\\t'));\n\t\t\t\tif (typeof e === 'string' || isMarkdownString(e)) {\n\t\t\t\t\tMessageController.get(this.editor)?.showMessage(e || nls.localize('resolveRenameLocationFailed', \"An unknown error occurred while resolving rename location\"), position);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn undefined;\n\n\t\t} finally {\n\t\t\tcts1.dispose();\n\t\t}\n\n\t\tif (!loc) {\n\t\t\ttrace('returning early - no loc');\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (loc.rejectReason) {\n\t\t\ttrace(`returning early - rejected with reason: ${loc.rejectReason}`, loc.rejectReason);\n\t\t\tMessageController.get(this.editor)?.showMessage(loc.rejectReason, position);\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (cts1.token.isCancellationRequested) {\n\t\t\ttrace('returning early - cts1 cancelled');\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// part 2 - do rename at location\n\t\tconst cts2 = new EditorStateCancellationTokenSource(this.editor, CodeEditorStateFlag.Position | CodeEditorStateFlag.Value, loc.range, this._cts.token);\n\n\t\tconst model = this.editor.getModel(); // @ulugbekna: assumes editor still has a model, otherwise, cts1 should've been cancelled\n\n\t\tconst newSymbolNamesProviders = this._languageFeaturesService.newSymbolNamesProvider.all(model);\n\n\t\tconst resolvedNewSymbolnamesProviders = await Promise.all(newSymbolNamesProviders.map(async p => [p, await p.supportsAutomaticNewSymbolNamesTriggerKind ?? false] as const));\n\n\t\tconst requestRenameSuggestions = (triggerKind: NewSymbolNameTriggerKind, cts: CancellationToken) => {\n\t\t\tlet providers = resolvedNewSymbolnamesProviders.slice();\n\n\t\t\tif (triggerKind === NewSymbolNameTriggerKind.Automatic) {\n\t\t\t\tproviders = providers.filter(([_, supportsAutomatic]) => supportsAutomatic);\n\t\t\t}\n\n\t\t\treturn providers.map(([p,]) => p.provideNewSymbolNames(model, loc.range, triggerKind, cts));\n\t\t};\n\n\t\ttrace('creating rename input field and awaiting its result');\n\t\tconst supportPreview = this._bulkEditService.hasPreviewHandler() && this._configService.getValue<boolean>(this.editor.getModel().uri, 'editor.rename.enablePreview');\n\t\tconst inputFieldResult = await this._renameWidget.getInput(\n\t\t\tloc.range,\n\t\t\tloc.text,\n\t\t\tsupportPreview,\n\t\t\tnewSymbolNamesProviders.length > 0 ? requestRenameSuggestions : undefined,\n\t\t\tcts2\n\t\t);\n\t\ttrace('received response from rename input field');\n\n\t\t// no result, only hint to focus the editor or not\n\t\tif (typeof inputFieldResult === 'boolean') {\n\t\t\ttrace(`returning early - rename input field response - ${inputFieldResult}`);\n\t\t\tif (inputFieldResult) {\n\t\t\t\tthis.editor.focus();\n\t\t\t}\n\t\t\tcts2.dispose();\n\t\t\treturn undefined;\n\t\t}\n\n\t\tthis.editor.focus();\n\n\t\ttrace('requesting rename edits');\n\t\tconst renameOperation = raceCancellation(skeleton.provideRenameEdits(inputFieldResult.newName, cts2.token), cts2.token).then(async renameResult => {\n\n\t\t\tif (!renameResult) {\n\t\t\t\ttrace('returning early - no rename edits result');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this.editor.hasModel()) {\n\t\t\t\ttrace('returning early - no model after rename edits are provided');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (renameResult.rejectReason) {\n\t\t\t\ttrace(`returning early - rejected with reason: ${renameResult.rejectReason}`);\n\t\t\t\tthis._notificationService.info(renameResult.rejectReason);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// collapse selection to active end\n\t\t\tthis.editor.setSelection(Range.fromPositions(this.editor.getSelection().getPosition()));\n\n\t\t\ttrace('applying edits');\n\n\t\t\tthis._bulkEditService.apply(renameResult, {\n\t\t\t\teditor: this.editor,\n\t\t\t\tshowPreview: inputFieldResult.wantsPreview,\n\t\t\t\tlabel: nls.localize('label', \"Renaming '{0}' to '{1}'\", loc?.text, inputFieldResult.newName),\n\t\t\t\tcode: 'undoredo.rename',\n\t\t\t\tquotableLabel: nls.localize('quotableLabel', \"Renaming {0} to {1}\", loc?.text, inputFieldResult.newName),\n\t\t\t\trespectAutoSaveConfig: true,\n\t\t\t\treason: EditSources.rename(loc?.text, inputFieldResult.newName),\n\t\t\t}).then(result => {\n\t\t\t\ttrace('edits applied');\n\t\t\t\tif (result.ariaSummary) {\n\t\t\t\t\talert(nls.localize('aria', \"Successfully renamed '{0}' to '{1}'. Summary: {2}\", loc.text, inputFieldResult.newName, result.ariaSummary));\n\t\t\t\t}\n\t\t\t}).catch(err => {\n\t\t\t\ttrace(`error when applying edits ${JSON.stringify(err, null, '\\t')}`);\n\t\t\t\tthis._notificationService.error(nls.localize('rename.failedApply', \"Rename failed to apply edits\"));\n\t\t\t\tthis._logService.error(err);\n\t\t\t});\n\n\t\t}, err => {\n\t\t\ttrace('error when providing rename edits', JSON.stringify(err, null, '\\t'));\n\n\t\t\tthis._notificationService.error(nls.localize('rename.failed', \"Rename failed to compute edits\"));\n\t\t\tthis._logService.error(err);\n\n\t\t}).finally(() => {\n\t\t\tcts2.dispose();\n\t\t});\n\n\t\ttrace('returning rename operation');\n\n\t\tthis._progressService.showWhile(renameOperation, 250);\n\t\treturn renameOperation;\n\n\t}\n\n\tacceptRenameInput(wantsPreview: boolean): void {\n\t\tthis._renameWidget.acceptInput(wantsPreview);\n\t}\n\n\tcancelRenameInput(): void {\n\t\tthis._renameWidget.cancelInput(true, 'cancelRenameInput command');\n\t}\n\n\tfocusNextRenameSuggestion(): void {\n\t\tthis._renameWidget.focusNextRenameSuggestion();\n\t}\n\n\tfocusPreviousRenameSuggestion(): void {\n\t\tthis._renameWidget.focusPreviousRenameSuggestion();\n\t}\n}\n\n// ---- action implementation\n\nexport class RenameAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.rename',\n\t\t\tlabel: nls.localize2('rename.label', \"Rename Symbol\"),\n\t\t\tprecondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasRenameProvider),\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.editorTextFocus,\n\t\t\t\tprimary: KeyCode.F2,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t},\n\t\t\tcontextMenuOpts: {\n\t\t\t\tgroup: '1_modification',\n\t\t\t\torder: 1.1\n\t\t\t},\n\t\t\tcanTriggerInlineEdits: true,\n\t\t});\n\t}\n\n\toverride runCommand(accessor: ServicesAccessor, args: [URI, IPosition]): void | Promise<void> {\n\t\tconst editorService = accessor.get(ICodeEditorService);\n\t\tconst [uri, pos] = Array.isArray(args) && args || [undefined, undefined];\n\n\t\tif (URI.isUri(uri) && Position.isIPosition(pos)) {\n\t\t\treturn editorService.openCodeEditor({ resource: uri }, editorService.getActiveCodeEditor()).then(editor => {\n\t\t\t\tif (!editor) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\teditor.setPosition(pos);\n\t\t\t\teditor.invokeWithinContext(accessor => {\n\t\t\t\t\tthis.reportTelemetry(accessor, editor);\n\t\t\t\t\treturn this.run(accessor, editor);\n\t\t\t\t});\n\t\t\t}, onUnexpectedError);\n\t\t}\n\n\t\treturn super.runCommand(accessor, args);\n\t}\n\n\trun(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst logService = accessor.get(ILogService);\n\n\t\tconst controller = RenameController.get(editor);\n\n\t\tif (controller) {\n\t\t\tlogService.trace('[RenameAction] got controller, running...');\n\t\t\treturn controller.run();\n\t\t}\n\t\tlogService.trace('[RenameAction] returning early - controller missing');\n\t\treturn Promise.resolve();\n\t}\n}\n\nregisterEditorContribution(RenameController.ID, RenameController, EditorContributionInstantiation.Lazy);\nregisterEditorAction(RenameAction);\n\nconst RenameCommand = EditorCommand.bindToContribution<RenameController>(RenameController.get);\n\nregisterEditorCommand(new RenameCommand({\n\tid: 'acceptRenameInput',\n\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\thandler: x => x.acceptRenameInput(false),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, ContextKeyExpr.not('isComposing')),\n\t\tprimary: KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new RenameCommand({\n\tid: 'acceptRenameInputWithPreview',\n\tprecondition: ContextKeyExpr.and(CONTEXT_RENAME_INPUT_VISIBLE, ContextKeyExpr.has('config.editor.rename.enablePreview')),\n\thandler: x => x.acceptRenameInput(true),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, ContextKeyExpr.not('isComposing')),\n\t\tprimary: KeyMod.CtrlCmd + KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new RenameCommand({\n\tid: 'cancelRenameInput',\n\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\thandler: x => x.cancelRenameInput(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyCode.Escape,\n\t\tsecondary: [KeyMod.Shift | KeyCode.Escape]\n\t}\n}));\n\nregisterAction2(class FocusNextRenameSuggestion extends Action2 {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'focusNextRenameSuggestion',\n\t\t\ttitle: {\n\t\t\t\t...nls.localize2('focusNextRenameSuggestion', \"Focus Next Rename Suggestion\"),\n\t\t\t},\n\t\t\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\t\t\tkeybinding: [\n\t\t\t\t{\n\t\t\t\t\tprimary: KeyCode.DownArrow,\n\t\t\t\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t}\n\n\toverride run(accessor: ServicesAccessor): void {\n\t\tconst currentEditor = accessor.get(ICodeEditorService).getFocusedCodeEditor();\n\t\tif (!currentEditor) { return; }\n\n\t\tconst controller = RenameController.get(currentEditor);\n\t\tif (!controller) { return; }\n\n\t\tcontroller.focusNextRenameSuggestion();\n\t}\n});\n\nregisterAction2(class FocusPreviousRenameSuggestion extends Action2 {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'focusPreviousRenameSuggestion',\n\t\t\ttitle: {\n\t\t\t\t...nls.localize2('focusPreviousRenameSuggestion', \"Focus Previous Rename Suggestion\"),\n\t\t\t},\n\t\t\tprecondition: CONTEXT_RENAME_INPUT_VISIBLE,\n\t\t\tkeybinding: [\n\t\t\t\t{\n\t\t\t\t\tprimary: KeyCode.UpArrow,\n\t\t\t\t\tweight: KeybindingWeight.EditorContrib + 99,\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t}\n\n\toverride run(accessor: ServicesAccessor): void {\n\t\tconst currentEditor = accessor.get(ICodeEditorService).getFocusedCodeEditor();\n\t\tif (!currentEditor) { return; }\n\n\t\tconst controller = RenameController.get(currentEditor);\n\t\tif (!controller) { return; }\n\n\t\tcontroller.focusPreviousRenameSuggestion();\n\t}\n});\n\n// ---- api bridge command\n\nregisterModelAndPositionCommand('_executeDocumentRenameProvider', function (accessor, model, position, ...args) {\n\tconst [newName] = args;\n\tassertType(typeof newName === 'string');\n\tconst { renameProvider } = accessor.get(ILanguageFeaturesService);\n\treturn rename(renameProvider, model, position, newName);\n});\n\nregisterModelAndPositionCommand('_executePrepareRename', async function (accessor, model, position) {\n\tconst { renameProvider } = accessor.get(ILanguageFeaturesService);\n\tconst skeleton = new RenameSkeleton(model, position, renameProvider);\n\tconst loc = await skeleton.resolveRenameLocation(CancellationToken.None);\n\tif (loc?.rejectReason) {\n\t\tthrow new Error(loc.rejectReason);\n\t}\n\treturn loc;\n});\n\n\n//todo@jrieken use editor options world\nRegistry.as<IConfigurationRegistry>(Extensions.Configuration).registerConfiguration({\n\tid: 'editor',\n\tproperties: {\n\t\t'editor.rename.enablePreview': {\n\t\t\tscope: ConfigurationScope.LANGUAGE_OVERRIDABLE,\n\t\t\tdescription: nls.localize('enablePreview', \"Enable/disable the ability to preview changes before renaming\"),\n\t\t\tdefault: true,\n\t\t\ttype: 'boolean'\n\t\t}\n\t}\n});\n"]}
|
|
@@ -39,8 +39,8 @@ import { editorWidgetBackground, inputBackground, inputBorder, inputForeground,
|
|
|
39
39
|
import { IThemeService } from '../../../../platform/theme/common/themeService.js';
|
|
40
40
|
/** for debugging */
|
|
41
41
|
const _sticky = false;
|
|
42
|
-
export const CONTEXT_RENAME_INPUT_VISIBLE = new RawContextKey('renameInputVisible', false, nls.localize(
|
|
43
|
-
export const CONTEXT_RENAME_INPUT_FOCUSED = new RawContextKey('renameInputFocused', false, nls.localize(
|
|
42
|
+
export const CONTEXT_RENAME_INPUT_VISIBLE = new RawContextKey('renameInputVisible', false, nls.localize(1398, "Whether the rename input widget is visible"));
|
|
43
|
+
export const CONTEXT_RENAME_INPUT_FOCUSED = new RawContextKey('renameInputFocused', false, nls.localize(1399, "Whether the rename input widget is focused"));
|
|
44
44
|
let RenameWidget = class RenameWidget {
|
|
45
45
|
constructor(_editor, _acceptKeybindings, _themeService, _keybindingService, contextKeyService, _logService) {
|
|
46
46
|
this._editor = _editor;
|
|
@@ -163,7 +163,7 @@ let RenameWidget = class RenameWidget {
|
|
|
163
163
|
}
|
|
164
164
|
beforeRender() {
|
|
165
165
|
const [accept, preview] = this._acceptKeybindings;
|
|
166
|
-
this._label.innerText = nls.localize(
|
|
166
|
+
this._label.innerText = nls.localize(1400, "{0} to Rename, {1} to Preview", this._keybindingService.lookupKeybinding(accept)?.getLabel(), this._keybindingService.lookupKeybinding(preview)?.getLabel());
|
|
167
167
|
this._domNode.style.minWidth = `200px`; // to prevent from widening when candidates come in
|
|
168
168
|
return null;
|
|
169
169
|
}
|
|
@@ -477,7 +477,7 @@ class RenameCandidateListView {
|
|
|
477
477
|
// adjust list container layout
|
|
478
478
|
this._listContainer.style.height = `${height}px`;
|
|
479
479
|
this._listContainer.style.width = `${width}px`;
|
|
480
|
-
aria.status(nls.localize(
|
|
480
|
+
aria.status(nls.localize(1401, "Received {0} rename suggestions", candidates.length));
|
|
481
481
|
}
|
|
482
482
|
clearCandidates() {
|
|
483
483
|
this._listContainer.style.height = '0px';
|
|
@@ -619,13 +619,13 @@ class InputWithButton {
|
|
|
619
619
|
this._inputNode.className = 'rename-input';
|
|
620
620
|
this._inputNode.type = 'text';
|
|
621
621
|
this._inputNode.style.border = 'none';
|
|
622
|
-
this._inputNode.setAttribute('aria-label', nls.localize(
|
|
622
|
+
this._inputNode.setAttribute('aria-label', nls.localize(1402, "Rename input. Type new name and press Enter to commit."));
|
|
623
623
|
this._domNode.appendChild(this._inputNode);
|
|
624
624
|
this._buttonNode = document.createElement('div');
|
|
625
625
|
this._buttonNode.className = 'rename-suggestions-button';
|
|
626
626
|
this._buttonNode.setAttribute('tabindex', '0');
|
|
627
|
-
this._buttonGenHoverText = nls.localize(
|
|
628
|
-
this._buttonCancelHoverText = nls.localize(
|
|
627
|
+
this._buttonGenHoverText = nls.localize(1403, "Generate New Name Suggestions");
|
|
628
|
+
this._buttonCancelHoverText = nls.localize(1404, "Cancel");
|
|
629
629
|
this._buttonHoverContent = this._buttonGenHoverText;
|
|
630
630
|
this._disposables.add(getBaseLayerHoverDelegate().setupDelayedHover(this._buttonNode, () => ({
|
|
631
631
|
content: this._buttonHoverContent,
|
|
@@ -131,7 +131,7 @@ class GrowSelectionAction extends AbstractSmartSelect {
|
|
|
131
131
|
constructor() {
|
|
132
132
|
super(true, {
|
|
133
133
|
id: 'editor.action.smartSelect.expand',
|
|
134
|
-
label: nls.localize2(
|
|
134
|
+
label: nls.localize2(1407, "Expand Selection"),
|
|
135
135
|
precondition: undefined,
|
|
136
136
|
kbOpts: {
|
|
137
137
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -145,7 +145,7 @@ class GrowSelectionAction extends AbstractSmartSelect {
|
|
|
145
145
|
menuOpts: {
|
|
146
146
|
menuId: MenuId.MenubarSelectionMenu,
|
|
147
147
|
group: '1_basic',
|
|
148
|
-
title: nls.localize(
|
|
148
|
+
title: nls.localize(1405, "&&Expand Selection"),
|
|
149
149
|
order: 2
|
|
150
150
|
}
|
|
151
151
|
});
|
|
@@ -157,7 +157,7 @@ class ShrinkSelectionAction extends AbstractSmartSelect {
|
|
|
157
157
|
constructor() {
|
|
158
158
|
super(false, {
|
|
159
159
|
id: 'editor.action.smartSelect.shrink',
|
|
160
|
-
label: nls.localize2(
|
|
160
|
+
label: nls.localize2(1408, "Shrink Selection"),
|
|
161
161
|
precondition: undefined,
|
|
162
162
|
kbOpts: {
|
|
163
163
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -171,7 +171,7 @@ class ShrinkSelectionAction extends AbstractSmartSelect {
|
|
|
171
171
|
menuOpts: {
|
|
172
172
|
menuId: MenuId.MenubarSelectionMenu,
|
|
173
173
|
group: '1_basic',
|
|
174
|
-
title: nls.localize(
|
|
174
|
+
title: nls.localize(1406, "&&Shrink Selection"),
|
|
175
175
|
order: 3
|
|
176
176
|
}
|
|
177
177
|
});
|
|
@@ -40,9 +40,9 @@ let SnippetController2 = class SnippetController2 {
|
|
|
40
40
|
static get(editor) {
|
|
41
41
|
return editor.getContribution(SnippetController2_1.ID);
|
|
42
42
|
}
|
|
43
|
-
static { this.InSnippetMode = new RawContextKey('inSnippetMode', false, localize(
|
|
44
|
-
static { this.HasNextTabstop = new RawContextKey('hasNextTabstop', false, localize(
|
|
45
|
-
static { this.HasPrevTabstop = new RawContextKey('hasPrevTabstop', false, localize(
|
|
43
|
+
static { this.InSnippetMode = new RawContextKey('inSnippetMode', false, localize(1409, "Whether the editor in current in snippet mode")); }
|
|
44
|
+
static { this.HasNextTabstop = new RawContextKey('hasNextTabstop', false, localize(1410, "Whether there is a next tab stop when in snippet mode")); }
|
|
45
|
+
static { this.HasPrevTabstop = new RawContextKey('hasPrevTabstop', false, localize(1411, "Whether there is a previous tab stop when in snippet mode")); }
|
|
46
46
|
constructor(_editor, _logService, _languageFeaturesService, contextKeyService, _languageConfigurationService) {
|
|
47
47
|
this._editor = _editor;
|
|
48
48
|
this._logService = _logService;
|
|
@@ -128,7 +128,7 @@ let SnippetController2 = class SnippetController2 {
|
|
|
128
128
|
sortText: 'a'.repeat(i + 1),
|
|
129
129
|
range: activeChoice.range,
|
|
130
130
|
filterText: isAnyOfOptions ? `${word}_${option.value}` : undefined,
|
|
131
|
-
command: { id: 'jumpToNextSnippetPlaceholder', title: localize(
|
|
131
|
+
command: { id: 'jumpToNextSnippetPlaceholder', title: localize(1412, 'Go to next placeholder...') }
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
return { suggestions };
|
|
@@ -245,10 +245,10 @@ export class TimeBasedVariableResolver {
|
|
|
245
245
|
constructor() {
|
|
246
246
|
this._date = new Date();
|
|
247
247
|
}
|
|
248
|
-
static { this.dayNames = [nls.localize(
|
|
249
|
-
static { this.dayNamesShort = [nls.localize(
|
|
250
|
-
static { this.monthNames = [nls.localize(
|
|
251
|
-
static { this.monthNamesShort = [nls.localize(
|
|
248
|
+
static { this.dayNames = [nls.localize(1413, "Sunday"), nls.localize(1414, "Monday"), nls.localize(1415, "Tuesday"), nls.localize(1416, "Wednesday"), nls.localize(1417, "Thursday"), nls.localize(1418, "Friday"), nls.localize(1419, "Saturday")]; }
|
|
249
|
+
static { this.dayNamesShort = [nls.localize(1420, "Sun"), nls.localize(1421, "Mon"), nls.localize(1422, "Tue"), nls.localize(1423, "Wed"), nls.localize(1424, "Thu"), nls.localize(1425, "Fri"), nls.localize(1426, "Sat")]; }
|
|
250
|
+
static { this.monthNames = [nls.localize(1427, "January"), nls.localize(1428, "February"), nls.localize(1429, "March"), nls.localize(1430, "April"), nls.localize(1431, "May"), nls.localize(1432, "June"), nls.localize(1433, "July"), nls.localize(1434, "August"), nls.localize(1435, "September"), nls.localize(1436, "October"), nls.localize(1437, "November"), nls.localize(1438, "December")]; }
|
|
251
|
+
static { this.monthNamesShort = [nls.localize(1439, "Jan"), nls.localize(1440, "Feb"), nls.localize(1441, "Mar"), nls.localize(1442, "Apr"), nls.localize(1443, "May"), nls.localize(1444, "Jun"), nls.localize(1445, "Jul"), nls.localize(1446, "Aug"), nls.localize(1447, "Sep"), nls.localize(1448, "Oct"), nls.localize(1449, "Nov"), nls.localize(1450, "Dec")]; }
|
|
252
252
|
resolve(variable) {
|
|
253
253
|
const { name } = variable;
|
|
254
254
|
if (name === 'CURRENT_YEAR') {
|
|
@@ -15,17 +15,17 @@ export class ToggleStickyScroll extends EditorAction2 {
|
|
|
15
15
|
super({
|
|
16
16
|
id: 'editor.action.toggleStickyScroll',
|
|
17
17
|
title: {
|
|
18
|
-
...localize2(
|
|
19
|
-
mnemonicTitle: localize(
|
|
18
|
+
...localize2(1455, "Toggle Editor Sticky Scroll"),
|
|
19
|
+
mnemonicTitle: localize(1451, "&&Toggle Editor Sticky Scroll"),
|
|
20
20
|
},
|
|
21
21
|
metadata: {
|
|
22
|
-
description: localize2(
|
|
22
|
+
description: localize2(1456, "Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport"),
|
|
23
23
|
},
|
|
24
24
|
category: Categories.View,
|
|
25
25
|
toggled: {
|
|
26
26
|
condition: ContextKeyExpr.equals('config.editor.stickyScroll.enabled', true),
|
|
27
|
-
title: localize(
|
|
28
|
-
mnemonicTitle: localize(
|
|
27
|
+
title: localize(1452, "Sticky Scroll"),
|
|
28
|
+
mnemonicTitle: localize(1453, "&&Sticky Scroll"),
|
|
29
29
|
},
|
|
30
30
|
menu: [
|
|
31
31
|
{ id: MenuId.CommandPalette },
|
|
@@ -50,8 +50,8 @@ export class FocusStickyScroll extends EditorAction2 {
|
|
|
50
50
|
super({
|
|
51
51
|
id: 'editor.action.focusStickyScroll',
|
|
52
52
|
title: {
|
|
53
|
-
...localize2(
|
|
54
|
-
mnemonicTitle: localize(
|
|
53
|
+
...localize2(1457, "Focus Editor Sticky Scroll"),
|
|
54
|
+
mnemonicTitle: localize(1454, "&&Focus Editor Sticky Scroll"),
|
|
55
55
|
},
|
|
56
56
|
precondition: ContextKeyExpr.and(ContextKeyExpr.has('config.editor.stickyScroll.enabled'), EditorContextKeys.stickyScrollVisible),
|
|
57
57
|
menu: [
|
|
@@ -67,7 +67,7 @@ export class SelectNextStickyScrollLine extends EditorAction2 {
|
|
|
67
67
|
constructor() {
|
|
68
68
|
super({
|
|
69
69
|
id: 'editor.action.selectNextStickyScrollLine',
|
|
70
|
-
title: localize2(
|
|
70
|
+
title: localize2(1458, "Select the next editor sticky scroll line"),
|
|
71
71
|
precondition: EditorContextKeys.stickyScrollFocused.isEqualTo(true),
|
|
72
72
|
keybinding: {
|
|
73
73
|
weight,
|
|
@@ -83,7 +83,7 @@ export class SelectPreviousStickyScrollLine extends EditorAction2 {
|
|
|
83
83
|
constructor() {
|
|
84
84
|
super({
|
|
85
85
|
id: 'editor.action.selectPreviousStickyScrollLine',
|
|
86
|
-
title: localize2(
|
|
86
|
+
title: localize2(1459, "Select the previous sticky scroll line"),
|
|
87
87
|
precondition: EditorContextKeys.stickyScrollFocused.isEqualTo(true),
|
|
88
88
|
keybinding: {
|
|
89
89
|
weight,
|
|
@@ -99,7 +99,7 @@ export class GoToStickyScrollLine extends EditorAction2 {
|
|
|
99
99
|
constructor() {
|
|
100
100
|
super({
|
|
101
101
|
id: 'editor.action.goToFocusedStickyScrollLine',
|
|
102
|
-
title: localize2(
|
|
102
|
+
title: localize2(1460, "Go to the focused sticky scroll line"),
|
|
103
103
|
precondition: EditorContextKeys.stickyScrollFocused.isEqualTo(true),
|
|
104
104
|
keybinding: {
|
|
105
105
|
weight,
|
|
@@ -115,7 +115,7 @@ export class SelectEditor extends EditorAction2 {
|
|
|
115
115
|
constructor() {
|
|
116
116
|
super({
|
|
117
117
|
id: 'editor.action.selectEditor',
|
|
118
|
-
title: localize2(
|
|
118
|
+
title: localize2(1461, "Select Editor"),
|
|
119
119
|
precondition: EditorContextKeys.stickyScrollFocused.isEqualTo(true),
|
|
120
120
|
keybinding: {
|
|
121
121
|
weight,
|