monaco-editor-core 0.56.0-dev-20251125 → 0.56.0-dev-20251218
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 +34 -6
- package/esm/vs/base/browser/dom.js +1 -4
- package/esm/vs/base/browser/dom.js.map +1 -1
- package/esm/vs/base/browser/markdownRenderer.js +25 -11
- package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
- package/esm/vs/base/browser/ui/actionbar/actionViewItems.js.map +1 -1
- package/esm/vs/base/browser/ui/button/button.js +15 -8
- package/esm/vs/base/browser/ui/button/button.js.map +1 -1
- package/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css +3 -8
- package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/esm/vs/base/browser/ui/findinput/findInput.js +6 -1
- package/esm/vs/base/browser/ui/findinput/findInput.js.map +1 -1
- package/esm/vs/base/browser/ui/inputbox/inputBox.js +17 -1
- package/esm/vs/base/browser/ui/inputbox/inputBox.js.map +1 -1
- package/esm/vs/base/browser/ui/list/list.css +1 -0
- package/esm/vs/base/browser/ui/toggle/toggle.js +78 -6
- package/esm/vs/base/browser/ui/toggle/toggle.js.map +1 -1
- package/esm/vs/base/browser/ui/toolbar/toolbar.js +3 -0
- package/esm/vs/base/browser/ui/toolbar/toolbar.js.map +1 -1
- package/esm/vs/base/common/codiconsLibrary.js +11 -2
- package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
- package/esm/vs/base/common/defaultAccount.js +6 -0
- package/esm/vs/base/common/defaultAccount.js.map +1 -0
- package/esm/vs/base/common/equals.js +73 -24
- package/esm/vs/base/common/equals.js.map +1 -1
- package/esm/vs/base/common/event.js +14 -4
- package/esm/vs/base/common/event.js.map +1 -1
- package/esm/vs/base/common/iterator.js.map +1 -1
- package/esm/vs/base/common/keybindings.js +0 -8
- package/esm/vs/base/common/keybindings.js.map +1 -1
- package/esm/vs/base/common/lifecycle.js +2 -2
- package/esm/vs/base/common/lifecycle.js.map +1 -1
- package/esm/vs/base/common/marshallingIds.js.map +1 -1
- package/esm/vs/base/common/observableInternal/index.js +1 -1
- package/esm/vs/base/common/observableInternal/index.js.map +1 -1
- package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js +1 -1
- package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js.map +1 -1
- package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js +16 -0
- package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js.map +1 -1
- package/esm/vs/base/common/observableInternal/utils/utils.js +11 -0
- package/esm/vs/base/common/observableInternal/utils/utils.js.map +1 -1
- package/esm/vs/base/common/product.js.map +1 -1
- package/esm/vs/base/common/strings.js +3 -1
- package/esm/vs/base/common/strings.js.map +1 -1
- package/esm/vs/editor/browser/controller/dragScrolling.js +2 -1
- package/esm/vs/editor/browser/controller/dragScrolling.js.map +1 -1
- package/esm/vs/editor/browser/controller/editContext/clipboardUtils.js +73 -2
- package/esm/vs/editor/browser/controller/editContext/clipboardUtils.js.map +1 -1
- package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js +7 -51
- package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js.map +1 -1
- package/esm/vs/editor/browser/controller/editContext/screenReaderUtils.js.map +1 -1
- package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +7 -20
- package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js.map +1 -1
- package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +14 -44
- package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js.map +1 -1
- package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextRegistry.js +19 -0
- package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextRegistry.js.map +1 -0
- package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextState.js +14 -1
- package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextState.js.map +1 -1
- package/esm/vs/editor/browser/controller/mouseHandler.js +5 -2
- package/esm/vs/editor/browser/controller/mouseHandler.js.map +1 -1
- package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
- package/esm/vs/editor/browser/observableCodeEditor.js +32 -15
- package/esm/vs/editor/browser/observableCodeEditor.js.map +1 -1
- package/esm/vs/editor/browser/services/editorWorkerService.js +6 -2
- package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
- package/esm/vs/editor/browser/view.js +11 -2
- package/esm/vs/editor/browser/view.js.map +1 -1
- package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +5 -2
- package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js.map +1 -1
- package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +10 -0
- package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
- package/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js.map +1 -1
- package/esm/vs/editor/browser/widget/multiDiffEditor/style.css +48 -0
- package/esm/vs/editor/common/config/editorConfigurationSchema.js +49 -47
- package/esm/vs/editor/common/config/editorConfigurationSchema.js.map +1 -1
- package/esm/vs/editor/common/config/editorOptions.js +410 -410
- package/esm/vs/editor/common/config/fontInfo.js +1 -1
- package/esm/vs/editor/common/config/fontInfo.js.map +1 -1
- package/esm/vs/editor/common/core/editorColorRegistry.js +69 -69
- package/esm/vs/editor/common/core/edits/edit.js +19 -0
- package/esm/vs/editor/common/core/edits/edit.js.map +1 -1
- package/esm/vs/editor/common/core/edits/stringEdit.js +13 -0
- package/esm/vs/editor/common/core/edits/stringEdit.js.map +1 -1
- package/esm/vs/editor/common/core/edits/textEdit.js +0 -3
- package/esm/vs/editor/common/core/edits/textEdit.js.map +1 -1
- package/esm/vs/editor/common/core/text/positionToOffsetImpl.js +24 -10
- package/esm/vs/editor/common/core/text/positionToOffsetImpl.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/cursor/cursorWordOperations.js +6 -3
- package/esm/vs/editor/common/cursor/cursorWordOperations.js.map +1 -1
- package/esm/vs/editor/common/editorContextKeys.js +47 -47
- package/esm/vs/editor/common/languages/defaultDocumentColorsComputer.js +2 -2
- package/esm/vs/editor/common/languages/defaultDocumentColorsComputer.js.map +1 -1
- package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
- package/esm/vs/editor/common/languages/nullTokenize.js +1 -1
- package/esm/vs/editor/common/languages/nullTokenize.js.map +1 -1
- package/esm/vs/editor/common/languages/supports/tokenization.js +3 -0
- package/esm/vs/editor/common/languages/supports/tokenization.js.map +1 -1
- package/esm/vs/editor/common/languages.js +58 -57
- package/esm/vs/editor/common/languages.js.map +1 -1
- package/esm/vs/editor/common/model/decorationProvider.js +21 -1
- package/esm/vs/editor/common/model/decorationProvider.js.map +1 -1
- package/esm/vs/editor/common/model/editStack.js +1 -1
- package/esm/vs/editor/common/model/textModel.js +49 -30
- package/esm/vs/editor/common/model/textModel.js.map +1 -1
- package/esm/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +6 -3
- package/esm/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js.map +1 -1
- package/esm/vs/editor/common/model/tokens/annotations.js +177 -0
- package/esm/vs/editor/common/model/tokens/annotations.js.map +1 -0
- package/esm/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.js +131 -0
- package/esm/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.js.map +1 -0
- package/esm/vs/editor/common/model/tokens/tokenizationTextModelPart.js +9 -0
- package/esm/vs/editor/common/model/tokens/tokenizationTextModelPart.js.map +1 -1
- package/esm/vs/editor/common/model/tokens/tokenizerSyntaxTokenBackend.js +9 -0
- package/esm/vs/editor/common/model/tokens/tokenizerSyntaxTokenBackend.js.map +1 -1
- package/esm/vs/editor/common/standaloneStrings.js +11 -11
- package/esm/vs/editor/common/textModelEditSource.js +2 -0
- package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
- package/esm/vs/editor/common/textModelEvents.js.map +1 -1
- package/esm/vs/editor/common/viewLayout/lineDecorations.js.map +1 -1
- package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +3 -3
- package/esm/vs/editor/common/viewLayout/viewLineRenderer.js.map +1 -1
- 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 +71 -53
- package/esm/vs/editor/contrib/clipboard/browser/clipboard.js.map +1 -1
- 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/codelensController.js +2 -2
- 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/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +23 -10
- package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js.map +1 -1
- 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 +16 -16
- 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/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/hover.css +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/markdownHoverParticipant.js +10 -10
- package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js.map +1 -1
- 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/inlayHintsController.js +1 -0
- package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js.map +1 -1
- package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commandIds.js +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commandIds.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +50 -21
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -12
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +7 -1
- 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/inlineCompletions.contribution.js +2 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/InlineSuggestAlternativeAction.js +8 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/InlineSuggestAlternativeAction.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/editKind.js +198 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/editKind.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionIsVisible.js +40 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionIsVisible.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +128 -70
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +59 -11
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +152 -95
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +113 -54
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +317 -75
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/telemetry.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/utils.js +20 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/utils.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +59 -42
- 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 +29 -8
- 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 +78 -46
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +9 -4
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +11 -4
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +81 -41
- 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 +48 -0
- 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 +18 -15
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +3 -4
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +6 -7
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +4 -5
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +4 -3
- 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/inlineEditsLineReplacementView.js +8 -8
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +9 -7
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +203 -41
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/jumpToView.js +189 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/jumpToView.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +85 -102
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js +75 -32
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistnaceWidgetPlacement.js +121 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistnaceWidgetPlacement.js.map +1 -0
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js +2 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +22 -20
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +15 -5
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js.map +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.css +39 -6
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js +10 -5
- package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js.map +1 -1
- 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 -32
- 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/gotoLineQuickAccess.js +25 -27
- 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 +19 -15
- 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/sectionHeaders/browser/sectionHeaders.js +3 -2
- package/esm/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js.map +1 -1
- 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/snippetParser.js +33 -0
- package/esm/vs/editor/contrib/snippet/browser/snippetParser.js.map +1 -1
- 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/stickyScrollController.js +12 -4
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js.map +1 -1
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +1 -0
- package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js.map +1 -1
- package/esm/vs/editor/contrib/suggest/browser/suggest.js +9 -8
- package/esm/vs/editor/contrib/suggest/browser/suggest.js.map +1 -1
- package/esm/vs/editor/contrib/suggest/browser/suggestController.js +39 -28
- package/esm/vs/editor/contrib/suggest/browser/suggestController.js.map +1 -1
- package/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +1 -0
- package/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js.map +1 -1
- package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +22 -18
- package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js.map +1 -1
- package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +28 -6
- package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js.map +1 -1
- 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 +24 -24
- 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 +3 -3
- package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +19 -2
- package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js.map +1 -1
- package/esm/vs/editor/editor.api.d.ts +34 -3
- package/esm/vs/editor/standalone/browser/standaloneLanguages.js +2 -2
- package/esm/vs/editor/standalone/browser/standaloneLanguages.js.map +1 -1
- package/esm/vs/editor/standalone/browser/standaloneServices.js +11 -1
- package/esm/vs/editor/standalone/browser/standaloneServices.js.map +1 -1
- package/esm/vs/editor/standalone/common/monarch/monarchLexer.js +1 -1
- package/esm/vs/editor/standalone/common/monarch/monarchLexer.js.map +1 -1
- package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
- package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
- package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
- package/esm/vs/platform/actionWidget/browser/actionWidget.css +11 -8
- package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
- package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
- package/esm/vs/platform/actions/browser/toolbar.js +2 -2
- package/esm/vs/platform/actions/common/actions.js +11 -5
- 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/configurationRegistry.js +10 -10
- package/esm/vs/platform/contextkey/browser/contextKeyService.js +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/{product/common/productService.js → defaultAccount/common/defaultAccount.js} +2 -2
- package/esm/vs/platform/defaultAccount/common/defaultAccount.js.map +1 -0
- 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/instantiation/common/instantiation.js.map +1 -1
- package/esm/vs/platform/instantiation/common/instantiationService.js +1 -8
- package/esm/vs/platform/instantiation/common/instantiationService.js.map +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/log/common/log.js +1 -1
- package/esm/vs/platform/log/common/log.js.map +1 -1
- package/esm/vs/platform/markers/common/markerService.js +6 -6
- package/esm/vs/platform/markers/common/markerService.js.map +1 -1
- package/esm/vs/platform/markers/common/markers.js +6 -6
- package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +8 -8
- package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
- package/esm/vs/platform/quickinput/browser/media/quickInput.css +45 -7
- package/esm/vs/platform/quickinput/browser/quickInput.js +51 -15
- package/esm/vs/platform/quickinput/browser/quickInput.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
- package/esm/vs/platform/quickinput/browser/quickInputBox.js +13 -1
- package/esm/vs/platform/quickinput/browser/quickInputBox.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/quickInputController.js +22 -12
- package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/quickInputList.js +17 -12
- package/esm/vs/platform/quickinput/browser/quickInputList.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/quickInputUtils.js +36 -8
- package/esm/vs/platform/quickinput/browser/quickInputUtils.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js +3 -3
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js.map +1 -1
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +8 -4
- package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js.map +1 -1
- package/esm/vs/platform/quickinput/common/quickInput.js.map +1 -1
- package/esm/vs/platform/theme/common/colorUtils.js +2 -2
- package/esm/vs/platform/theme/common/colors/baseColors.js +18 -17
- package/esm/vs/platform/theme/common/colors/baseColors.js.map +1 -1
- 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/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 +13 -13
- package/esm/vs/platform/theme/common/colors/minimapColors.js.map +1 -1
- package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
- 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 +21 -21
- package/esm/vs/platform/undoRedo/common/undoRedoService.js.map +1 -1
- package/esm/vs/platform/window/common/window.js +1 -1
- package/esm/vs/platform/window/common/window.js.map +1 -1
- package/esm/vs/platform/workspace/common/workspace.js +1 -1
- package/monaco.d.ts +34 -3
- package/package.json +2 -2
- package/version.txt +1 -1
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js +0 -16
- package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js.map +0 -1
- package/esm/vs/platform/product/common/productService.js.map +0 -1
|
@@ -32,7 +32,7 @@ function announceCursorChange(previousCursorState, cursorState) {
|
|
|
32
32
|
const cursorDiff = cursorState.filter(cs => !previousCursorState.find(pcs => pcs.equals(cs)));
|
|
33
33
|
if (cursorDiff.length >= 1) {
|
|
34
34
|
const cursorPositions = cursorDiff.map(cs => `line ${cs.viewState.position.lineNumber} column ${cs.viewState.position.column}`).join(', ');
|
|
35
|
-
const msg = cursorDiff.length === 1 ? nls.localize(
|
|
35
|
+
const msg = cursorDiff.length === 1 ? nls.localize(1302, "Cursor added: {0}", cursorPositions) : nls.localize(1303, "Cursors added: {0}", cursorPositions);
|
|
36
36
|
status(msg);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -40,7 +40,7 @@ export class InsertCursorAbove extends EditorAction {
|
|
|
40
40
|
constructor() {
|
|
41
41
|
super({
|
|
42
42
|
id: 'editor.action.insertCursorAbove',
|
|
43
|
-
label: nls.localize2(
|
|
43
|
+
label: nls.localize2(1312, "Add Cursor Above"),
|
|
44
44
|
precondition: undefined,
|
|
45
45
|
kbOpts: {
|
|
46
46
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -54,7 +54,7 @@ export class InsertCursorAbove extends EditorAction {
|
|
|
54
54
|
menuOpts: {
|
|
55
55
|
menuId: MenuId.MenubarSelectionMenu,
|
|
56
56
|
group: '3_multi',
|
|
57
|
-
title: nls.localize(
|
|
57
|
+
title: nls.localize(1304, "&&Add Cursor Above"),
|
|
58
58
|
order: 2
|
|
59
59
|
}
|
|
60
60
|
});
|
|
@@ -82,7 +82,7 @@ export class InsertCursorBelow extends EditorAction {
|
|
|
82
82
|
constructor() {
|
|
83
83
|
super({
|
|
84
84
|
id: 'editor.action.insertCursorBelow',
|
|
85
|
-
label: nls.localize2(
|
|
85
|
+
label: nls.localize2(1313, "Add Cursor Below"),
|
|
86
86
|
precondition: undefined,
|
|
87
87
|
kbOpts: {
|
|
88
88
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -96,7 +96,7 @@ export class InsertCursorBelow extends EditorAction {
|
|
|
96
96
|
menuOpts: {
|
|
97
97
|
menuId: MenuId.MenubarSelectionMenu,
|
|
98
98
|
group: '3_multi',
|
|
99
|
-
title: nls.localize(
|
|
99
|
+
title: nls.localize(1305, "A&&dd Cursor Below"),
|
|
100
100
|
order: 3
|
|
101
101
|
}
|
|
102
102
|
});
|
|
@@ -124,7 +124,7 @@ class InsertCursorAtEndOfEachLineSelected extends EditorAction {
|
|
|
124
124
|
constructor() {
|
|
125
125
|
super({
|
|
126
126
|
id: 'editor.action.insertCursorAtEndOfEachLineSelected',
|
|
127
|
-
label: nls.localize2(
|
|
127
|
+
label: nls.localize2(1314, "Add Cursors to Line Ends"),
|
|
128
128
|
precondition: undefined,
|
|
129
129
|
kbOpts: {
|
|
130
130
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -134,7 +134,7 @@ class InsertCursorAtEndOfEachLineSelected extends EditorAction {
|
|
|
134
134
|
menuOpts: {
|
|
135
135
|
menuId: MenuId.MenubarSelectionMenu,
|
|
136
136
|
group: '3_multi',
|
|
137
|
-
title: nls.localize(
|
|
137
|
+
title: nls.localize(1306, "Add C&&ursors to Line Ends"),
|
|
138
138
|
order: 4
|
|
139
139
|
}
|
|
140
140
|
});
|
|
@@ -171,7 +171,7 @@ class InsertCursorAtEndOfLineSelected extends EditorAction {
|
|
|
171
171
|
constructor() {
|
|
172
172
|
super({
|
|
173
173
|
id: 'editor.action.addCursorsToBottom',
|
|
174
|
-
label: nls.localize2(
|
|
174
|
+
label: nls.localize2(1315, "Add Cursors to Bottom"),
|
|
175
175
|
precondition: undefined
|
|
176
176
|
});
|
|
177
177
|
}
|
|
@@ -197,7 +197,7 @@ class InsertCursorAtTopOfLineSelected extends EditorAction {
|
|
|
197
197
|
constructor() {
|
|
198
198
|
super({
|
|
199
199
|
id: 'editor.action.addCursorsToTop',
|
|
200
|
-
label: nls.localize2(
|
|
200
|
+
label: nls.localize2(1316, "Add Cursors to Top"),
|
|
201
201
|
precondition: undefined
|
|
202
202
|
});
|
|
203
203
|
}
|
|
@@ -574,7 +574,7 @@ export class AddSelectionToNextFindMatchAction extends MultiCursorSelectionContr
|
|
|
574
574
|
constructor() {
|
|
575
575
|
super({
|
|
576
576
|
id: 'editor.action.addSelectionToNextFindMatch',
|
|
577
|
-
label: nls.localize2(
|
|
577
|
+
label: nls.localize2(1317, "Add Selection to Next Find Match"),
|
|
578
578
|
precondition: undefined,
|
|
579
579
|
kbOpts: {
|
|
580
580
|
kbExpr: EditorContextKeys.focus,
|
|
@@ -584,7 +584,7 @@ export class AddSelectionToNextFindMatchAction extends MultiCursorSelectionContr
|
|
|
584
584
|
menuOpts: {
|
|
585
585
|
menuId: MenuId.MenubarSelectionMenu,
|
|
586
586
|
group: '3_multi',
|
|
587
|
-
title: nls.localize(
|
|
587
|
+
title: nls.localize(1307, "Add &&Next Occurrence"),
|
|
588
588
|
order: 5
|
|
589
589
|
}
|
|
590
590
|
});
|
|
@@ -597,12 +597,12 @@ export class AddSelectionToPreviousFindMatchAction extends MultiCursorSelectionC
|
|
|
597
597
|
constructor() {
|
|
598
598
|
super({
|
|
599
599
|
id: 'editor.action.addSelectionToPreviousFindMatch',
|
|
600
|
-
label: nls.localize2(
|
|
600
|
+
label: nls.localize2(1318, "Add Selection to Previous Find Match"),
|
|
601
601
|
precondition: undefined,
|
|
602
602
|
menuOpts: {
|
|
603
603
|
menuId: MenuId.MenubarSelectionMenu,
|
|
604
604
|
group: '3_multi',
|
|
605
|
-
title: nls.localize(
|
|
605
|
+
title: nls.localize(1308, "Add P&&revious Occurrence"),
|
|
606
606
|
order: 6
|
|
607
607
|
}
|
|
608
608
|
});
|
|
@@ -615,7 +615,7 @@ export class MoveSelectionToNextFindMatchAction extends MultiCursorSelectionCont
|
|
|
615
615
|
constructor() {
|
|
616
616
|
super({
|
|
617
617
|
id: 'editor.action.moveSelectionToNextFindMatch',
|
|
618
|
-
label: nls.localize2(
|
|
618
|
+
label: nls.localize2(1319, "Move Last Selection to Next Find Match"),
|
|
619
619
|
precondition: undefined,
|
|
620
620
|
kbOpts: {
|
|
621
621
|
kbExpr: EditorContextKeys.focus,
|
|
@@ -632,7 +632,7 @@ export class MoveSelectionToPreviousFindMatchAction extends MultiCursorSelection
|
|
|
632
632
|
constructor() {
|
|
633
633
|
super({
|
|
634
634
|
id: 'editor.action.moveSelectionToPreviousFindMatch',
|
|
635
|
-
label: nls.localize2(
|
|
635
|
+
label: nls.localize2(1320, "Move Last Selection to Previous Find Match"),
|
|
636
636
|
precondition: undefined
|
|
637
637
|
});
|
|
638
638
|
}
|
|
@@ -644,7 +644,7 @@ export class SelectHighlightsAction extends MultiCursorSelectionControllerAction
|
|
|
644
644
|
constructor() {
|
|
645
645
|
super({
|
|
646
646
|
id: 'editor.action.selectHighlights',
|
|
647
|
-
label: nls.localize2(
|
|
647
|
+
label: nls.localize2(1321, "Select All Occurrences of Find Match"),
|
|
648
648
|
precondition: undefined,
|
|
649
649
|
kbOpts: {
|
|
650
650
|
kbExpr: EditorContextKeys.focus,
|
|
@@ -654,7 +654,7 @@ export class SelectHighlightsAction extends MultiCursorSelectionControllerAction
|
|
|
654
654
|
menuOpts: {
|
|
655
655
|
menuId: MenuId.MenubarSelectionMenu,
|
|
656
656
|
group: '3_multi',
|
|
657
|
-
title: nls.localize(
|
|
657
|
+
title: nls.localize(1309, "Select All &&Occurrences"),
|
|
658
658
|
order: 7
|
|
659
659
|
}
|
|
660
660
|
});
|
|
@@ -667,7 +667,7 @@ export class CompatChangeAll extends MultiCursorSelectionControllerAction {
|
|
|
667
667
|
constructor() {
|
|
668
668
|
super({
|
|
669
669
|
id: 'editor.action.changeAll',
|
|
670
|
-
label: nls.localize2(
|
|
670
|
+
label: nls.localize2(1322, "Change All Occurrences"),
|
|
671
671
|
precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.editorTextFocus),
|
|
672
672
|
kbOpts: {
|
|
673
673
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -925,9 +925,9 @@ export class FocusNextCursor extends EditorAction {
|
|
|
925
925
|
constructor() {
|
|
926
926
|
super({
|
|
927
927
|
id: 'editor.action.focusNextCursor',
|
|
928
|
-
label: nls.localize2(
|
|
928
|
+
label: nls.localize2(1323, "Focus Next Cursor"),
|
|
929
929
|
metadata: {
|
|
930
|
-
description: nls.localize(
|
|
930
|
+
description: nls.localize(1310, "Focuses the next cursor"),
|
|
931
931
|
args: [],
|
|
932
932
|
},
|
|
933
933
|
precondition: undefined
|
|
@@ -957,9 +957,9 @@ export class FocusPreviousCursor extends EditorAction {
|
|
|
957
957
|
constructor() {
|
|
958
958
|
super({
|
|
959
959
|
id: 'editor.action.focusPreviousCursor',
|
|
960
|
-
label: nls.localize2(
|
|
960
|
+
label: nls.localize2(1324, "Focus Previous Cursor"),
|
|
961
961
|
metadata: {
|
|
962
|
-
description: nls.localize(
|
|
962
|
+
description: nls.localize(1311, "Focuses the previous cursor"),
|
|
963
963
|
args: [],
|
|
964
964
|
},
|
|
965
965
|
precondition: undefined
|
|
@@ -67,7 +67,7 @@ export class TriggerParameterHintsAction extends EditorAction {
|
|
|
67
67
|
constructor() {
|
|
68
68
|
super({
|
|
69
69
|
id: 'editor.action.triggerParameterHints',
|
|
70
|
-
label: nls.localize2(
|
|
70
|
+
label: nls.localize2(1325, "Trigger Parameter Hints"),
|
|
71
71
|
precondition: EditorContextKeys.hasSignatureHelpProvider,
|
|
72
72
|
kbOpts: {
|
|
73
73
|
kbExpr: EditorContextKeys.editorTextFocus,
|
|
@@ -30,8 +30,8 @@ import { listHighlightForeground, registerColor } from '../../../../platform/the
|
|
|
30
30
|
import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
|
|
31
31
|
import { ThemeIcon } from '../../../../base/common/themables.js';
|
|
32
32
|
const $ = dom.$;
|
|
33
|
-
const parameterHintsNextIcon = registerIcon('parameter-hints-next', Codicon.chevronDown, nls.localize(
|
|
34
|
-
const parameterHintsPreviousIcon = registerIcon('parameter-hints-previous', Codicon.chevronUp, nls.localize(
|
|
33
|
+
const parameterHintsNextIcon = registerIcon('parameter-hints-next', Codicon.chevronDown, nls.localize(1326, 'Icon for show next parameter hint.'));
|
|
34
|
+
const parameterHintsPreviousIcon = registerIcon('parameter-hints-previous', Codicon.chevronUp, nls.localize(1327, 'Icon for show previous parameter hint.'));
|
|
35
35
|
let ParameterHintsWidget = class ParameterHintsWidget extends Disposable {
|
|
36
36
|
static { ParameterHintsWidget_1 = this; }
|
|
37
37
|
static { this.ID = 'editor.widget.parameterHintsWidget'; }
|
|
@@ -206,7 +206,7 @@ let ParameterHintsWidget = class ParameterHintsWidget extends Disposable {
|
|
|
206
206
|
// Select method gets called on every user type while parameter hints are visible.
|
|
207
207
|
// We do not want to spam the user with same announcements, so we only announce if the current parameter changed.
|
|
208
208
|
if (this.announcedLabel !== labelToAnnounce) {
|
|
209
|
-
aria.alert(nls.localize(
|
|
209
|
+
aria.alert(nls.localize(1328, "{0}, hint", labelToAnnounce));
|
|
210
210
|
this.announcedLabel = labelToAnnounce;
|
|
211
211
|
}
|
|
212
212
|
}
|
|
@@ -305,5 +305,5 @@ ParameterHintsWidget = ParameterHintsWidget_1 = __decorate([
|
|
|
305
305
|
__param(3, IMarkdownRendererService)
|
|
306
306
|
], ParameterHintsWidget);
|
|
307
307
|
export { ParameterHintsWidget };
|
|
308
|
-
registerColor('editorHoverWidget.highlightForeground', listHighlightForeground, nls.localize(
|
|
308
|
+
registerColor('editorHoverWidget.highlightForeground', listHighlightForeground, nls.localize(1329, 'Foreground color of the active item in the parameter hint.'));
|
|
309
309
|
//# sourceMappingURL=parameterHintsWidget.js.map
|
|
@@ -53,7 +53,7 @@ registerSingleton(IPeekViewService, class {
|
|
|
53
53
|
}, 1 /* InstantiationType.Delayed */);
|
|
54
54
|
export var PeekContext;
|
|
55
55
|
(function (PeekContext) {
|
|
56
|
-
PeekContext.inPeekEditor = new RawContextKey('inReferenceSearchEditor', true, nls.localize(
|
|
56
|
+
PeekContext.inPeekEditor = new RawContextKey('inReferenceSearchEditor', true, nls.localize(1330, "Whether the current code editor is embedded inside peek"));
|
|
57
57
|
PeekContext.notInPeekEditor = PeekContext.inPeekEditor.toNegated();
|
|
58
58
|
})(PeekContext || (PeekContext = {}));
|
|
59
59
|
let PeekContextController = class PeekContextController {
|
|
@@ -149,7 +149,7 @@ let PeekViewWidget = class PeekViewWidget extends ZoneWidget {
|
|
|
149
149
|
this._actionbarWidget = new ActionBar(actionsContainer, actionBarOptions);
|
|
150
150
|
this._disposables.add(this._actionbarWidget);
|
|
151
151
|
if (!noCloseAction) {
|
|
152
|
-
this._actionbarWidget.push(this._disposables.add(new Action('peekview.close', nls.localize(
|
|
152
|
+
this._actionbarWidget.push(this._disposables.add(new Action('peekview.close', nls.localize(1331, "Close"), ThemeIcon.asClassName(Codicon.close), true, () => {
|
|
153
153
|
this.dispose();
|
|
154
154
|
return Promise.resolve();
|
|
155
155
|
})), { label: false, icon: true });
|
|
@@ -216,20 +216,20 @@ PeekViewWidget = __decorate([
|
|
|
216
216
|
__param(2, IInstantiationService)
|
|
217
217
|
], PeekViewWidget);
|
|
218
218
|
export { PeekViewWidget };
|
|
219
|
-
export const peekViewTitleBackground = registerColor('peekViewTitle.background', { dark: '#252526', light: '#F3F3F3', hcDark: Color.black, hcLight: Color.white }, nls.localize(
|
|
220
|
-
export const peekViewTitleForeground = registerColor('peekViewTitleLabel.foreground', { dark: Color.white, light: Color.black, hcDark: Color.white, hcLight: editorForeground }, nls.localize(
|
|
221
|
-
export const peekViewTitleInfoForeground = registerColor('peekViewTitleDescription.foreground', { dark: '#ccccccb3', light: '#616161', hcDark: '#FFFFFF99', hcLight: '#292929' }, nls.localize(
|
|
222
|
-
export const peekViewBorder = registerColor('peekView.border', { dark: editorInfoForeground, light: editorInfoForeground, hcDark: contrastBorder, hcLight: contrastBorder }, nls.localize(
|
|
223
|
-
export const peekViewResultsBackground = registerColor('peekViewResult.background', { dark: '#252526', light: '#F3F3F3', hcDark: Color.black, hcLight: Color.white }, nls.localize(
|
|
224
|
-
export const peekViewResultsMatchForeground = registerColor('peekViewResult.lineForeground', { dark: '#bbbbbb', light: '#646465', hcDark: Color.white, hcLight: editorForeground }, nls.localize(
|
|
225
|
-
export const peekViewResultsFileForeground = registerColor('peekViewResult.fileForeground', { dark: Color.white, light: '#1E1E1E', hcDark: Color.white, hcLight: editorForeground }, nls.localize(
|
|
226
|
-
export const peekViewResultsSelectionBackground = registerColor('peekViewResult.selectionBackground', { dark: '#3399ff33', light: '#3399ff33', hcDark: null, hcLight: null }, nls.localize(
|
|
227
|
-
export const peekViewResultsSelectionForeground = registerColor('peekViewResult.selectionForeground', { dark: Color.white, light: '#6C6C6C', hcDark: Color.white, hcLight: editorForeground }, nls.localize(
|
|
228
|
-
export const peekViewEditorBackground = registerColor('peekViewEditor.background', { dark: '#001F33', light: '#F2F8FC', hcDark: Color.black, hcLight: Color.white }, nls.localize(
|
|
229
|
-
export const peekViewEditorGutterBackground = registerColor('peekViewEditorGutter.background', peekViewEditorBackground, nls.localize(
|
|
230
|
-
export const peekViewEditorStickyScrollBackground = registerColor('peekViewEditorStickyScroll.background', peekViewEditorBackground, nls.localize(
|
|
231
|
-
export const peekViewEditorStickyScrollGutterBackground = registerColor('peekViewEditorStickyScrollGutter.background', peekViewEditorBackground, nls.localize(
|
|
232
|
-
export const peekViewResultsMatchHighlight = registerColor('peekViewResult.matchHighlightBackground', { dark: '#ea5c004d', light: '#ea5c004d', hcDark: null, hcLight: null }, nls.localize(
|
|
233
|
-
export const peekViewEditorMatchHighlight = registerColor('peekViewEditor.matchHighlightBackground', { dark: '#ff8f0099', light: '#f5d802de', hcDark: null, hcLight: null }, nls.localize(
|
|
234
|
-
export const peekViewEditorMatchHighlightBorder = registerColor('peekViewEditor.matchHighlightBorder', { dark: null, light: null, hcDark: activeContrastBorder, hcLight: activeContrastBorder }, nls.localize(
|
|
219
|
+
export const peekViewTitleBackground = registerColor('peekViewTitle.background', { dark: '#252526', light: '#F3F3F3', hcDark: Color.black, hcLight: Color.white }, nls.localize(1332, 'Background color of the peek view title area.'));
|
|
220
|
+
export const peekViewTitleForeground = registerColor('peekViewTitleLabel.foreground', { dark: Color.white, light: Color.black, hcDark: Color.white, hcLight: editorForeground }, nls.localize(1333, 'Color of the peek view title.'));
|
|
221
|
+
export const peekViewTitleInfoForeground = registerColor('peekViewTitleDescription.foreground', { dark: '#ccccccb3', light: '#616161', hcDark: '#FFFFFF99', hcLight: '#292929' }, nls.localize(1334, 'Color of the peek view title info.'));
|
|
222
|
+
export const peekViewBorder = registerColor('peekView.border', { dark: editorInfoForeground, light: editorInfoForeground, hcDark: contrastBorder, hcLight: contrastBorder }, nls.localize(1335, 'Color of the peek view borders and arrow.'));
|
|
223
|
+
export const peekViewResultsBackground = registerColor('peekViewResult.background', { dark: '#252526', light: '#F3F3F3', hcDark: Color.black, hcLight: Color.white }, nls.localize(1336, 'Background color of the peek view result list.'));
|
|
224
|
+
export const peekViewResultsMatchForeground = registerColor('peekViewResult.lineForeground', { dark: '#bbbbbb', light: '#646465', hcDark: Color.white, hcLight: editorForeground }, nls.localize(1337, 'Foreground color for line nodes in the peek view result list.'));
|
|
225
|
+
export const peekViewResultsFileForeground = registerColor('peekViewResult.fileForeground', { dark: Color.white, light: '#1E1E1E', hcDark: Color.white, hcLight: editorForeground }, nls.localize(1338, 'Foreground color for file nodes in the peek view result list.'));
|
|
226
|
+
export const peekViewResultsSelectionBackground = registerColor('peekViewResult.selectionBackground', { dark: '#3399ff33', light: '#3399ff33', hcDark: null, hcLight: null }, nls.localize(1339, 'Background color of the selected entry in the peek view result list.'));
|
|
227
|
+
export const peekViewResultsSelectionForeground = registerColor('peekViewResult.selectionForeground', { dark: Color.white, light: '#6C6C6C', hcDark: Color.white, hcLight: editorForeground }, nls.localize(1340, 'Foreground color of the selected entry in the peek view result list.'));
|
|
228
|
+
export const peekViewEditorBackground = registerColor('peekViewEditor.background', { dark: '#001F33', light: '#F2F8FC', hcDark: Color.black, hcLight: Color.white }, nls.localize(1341, 'Background color of the peek view editor.'));
|
|
229
|
+
export const peekViewEditorGutterBackground = registerColor('peekViewEditorGutter.background', peekViewEditorBackground, nls.localize(1342, 'Background color of the gutter in the peek view editor.'));
|
|
230
|
+
export const peekViewEditorStickyScrollBackground = registerColor('peekViewEditorStickyScroll.background', peekViewEditorBackground, nls.localize(1343, 'Background color of sticky scroll in the peek view editor.'));
|
|
231
|
+
export const peekViewEditorStickyScrollGutterBackground = registerColor('peekViewEditorStickyScrollGutter.background', peekViewEditorBackground, nls.localize(1344, 'Background color of the gutter part of sticky scroll in the peek view editor.'));
|
|
232
|
+
export const peekViewResultsMatchHighlight = registerColor('peekViewResult.matchHighlightBackground', { dark: '#ea5c004d', light: '#ea5c004d', hcDark: null, hcLight: null }, nls.localize(1345, 'Match highlight color in the peek view result list.'));
|
|
233
|
+
export const peekViewEditorMatchHighlight = registerColor('peekViewEditor.matchHighlightBackground', { dark: '#ff8f0099', light: '#f5d802de', hcDark: null, hcLight: null }, nls.localize(1346, 'Match highlight color in the peek view editor.'));
|
|
234
|
+
export const peekViewEditorMatchHighlightBorder = registerColor('peekViewEditor.matchHighlightBorder', { dark: null, light: null, hcDark: activeContrastBorder, hcLight: activeContrastBorder }, nls.localize(1347, 'Match highlight border in the peek view editor.'));
|
|
235
235
|
//# sourceMappingURL=peekView.js.map
|
|
@@ -10,5 +10,5 @@ import { registerColor } from '../../../../platform/theme/common/colorUtils.js';
|
|
|
10
10
|
import { PlaceholderTextContribution } from './placeholderTextContribution.js';
|
|
11
11
|
import { wrapInReloadableClass1 } from '../../../../platform/observable/common/wrapInReloadableClass.js';
|
|
12
12
|
registerEditorContribution(PlaceholderTextContribution.ID, wrapInReloadableClass1(() => PlaceholderTextContribution), 0 /* EditorContributionInstantiation.Eager */);
|
|
13
|
-
registerColor('editor.placeholder.foreground', ghostTextForeground, localize(
|
|
13
|
+
registerColor('editor.placeholder.foreground', ghostTextForeground, localize(1348, 'Foreground color of the placeholder text in the editor.'));
|
|
14
14
|
//# sourceMappingURL=placeholderText.contribution.js.map
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Toggle } from '../../../../base/browser/ui/toggle/toggle.js';
|
|
6
5
|
import { Codicon } from '../../../../base/common/codicons.js';
|
|
7
6
|
import { Disposable, DisposableStore, toDisposable } from '../../../../base/common/lifecycle.js';
|
|
7
|
+
import { ThemeIcon } from '../../../../base/common/themables.js';
|
|
8
8
|
import { localize } from '../../../../nls.js';
|
|
9
|
-
import {
|
|
10
|
-
import { asCssVariable } from '../../../../platform/theme/common/colorUtils.js';
|
|
9
|
+
import { QuickInputButtonLocation } from '../../../../platform/quickinput/common/quickInput.js';
|
|
11
10
|
import { getCodeEditor } from '../../../browser/editorBrowser.js';
|
|
12
11
|
import { AbstractEditorNavigationQuickAccessProvider } from './editorNavigationQuickAccess.js';
|
|
13
12
|
export class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigationQuickAccessProvider {
|
|
@@ -24,7 +23,7 @@ export class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigatio
|
|
|
24
23
|
this.storageService.store(AbstractGotoLineQuickAccessProvider.ZERO_BASED_OFFSET_STORAGE_KEY, value, -1 /* StorageScope.APPLICATION */, 0 /* StorageTarget.USER */);
|
|
25
24
|
}
|
|
26
25
|
provideWithoutTextEditor(picker) {
|
|
27
|
-
const label = localize(
|
|
26
|
+
const label = localize(1349, "Open a text editor first to go to a line or an offset.");
|
|
28
27
|
picker.items = [{ label }];
|
|
29
28
|
picker.ariaLabel = label;
|
|
30
29
|
return Disposable.None;
|
|
@@ -45,12 +44,19 @@ export class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigatio
|
|
|
45
44
|
}
|
|
46
45
|
}
|
|
47
46
|
}));
|
|
47
|
+
// Add a toggle to switch between 1- and 0-based offsets.
|
|
48
|
+
const offsetButton = {
|
|
49
|
+
iconClass: ThemeIcon.asClassName(Codicon.indexZero),
|
|
50
|
+
tooltip: localize(1350, "Toggle Zero-Based Offset"),
|
|
51
|
+
location: QuickInputButtonLocation.Input,
|
|
52
|
+
toggle: { checked: this.useZeroBasedOffset }
|
|
53
|
+
};
|
|
48
54
|
// React to picker changes
|
|
49
55
|
const updatePickerAndEditor = () => {
|
|
50
56
|
const inputText = picker.value.trim().substring(AbstractGotoLineQuickAccessProvider.GO_TO_LINE_PREFIX.length);
|
|
51
57
|
const { inOffsetMode, lineNumber, column, label } = this.parsePosition(editor, inputText);
|
|
52
58
|
// Show toggle only when input text starts with '::'.
|
|
53
|
-
|
|
59
|
+
picker.buttons = inOffsetMode ? [offsetButton] : [];
|
|
54
60
|
// Picker
|
|
55
61
|
picker.items = [{
|
|
56
62
|
lineNumber,
|
|
@@ -59,7 +65,7 @@ export class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigatio
|
|
|
59
65
|
}];
|
|
60
66
|
// ARIA Label
|
|
61
67
|
const cursor = editor.getPosition() ?? { lineNumber: 1, column: 1 };
|
|
62
|
-
picker.ariaLabel = localize(
|
|
68
|
+
picker.ariaLabel = localize(1351, "Current position: line {0}, column {1}. {2}", cursor.lineNumber, cursor.column, label);
|
|
63
69
|
|
|
64
70
|
|
|
65
71
|
|
|
@@ -74,20 +80,12 @@ export class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigatio
|
|
|
74
80
|
// Decorate
|
|
75
81
|
this.addDecorations(editor, range);
|
|
76
82
|
};
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
inputActiveOptionBorder: asCssVariable(inputActiveOptionBorder),
|
|
83
|
-
inputActiveOptionForeground: asCssVariable(inputActiveOptionForeground),
|
|
84
|
-
inputActiveOptionBackground: asCssVariable(inputActiveOptionBackground)
|
|
85
|
-
});
|
|
86
|
-
disposables.add(toggle.onChange(() => {
|
|
87
|
-
this.useZeroBasedOffset = !this.useZeroBasedOffset;
|
|
88
|
-
updatePickerAndEditor();
|
|
83
|
+
disposables.add(picker.onDidTriggerButton(button => {
|
|
84
|
+
if (button === offsetButton) {
|
|
85
|
+
this.useZeroBasedOffset = button.toggle?.checked ?? !this.useZeroBasedOffset;
|
|
86
|
+
updatePickerAndEditor();
|
|
87
|
+
}
|
|
89
88
|
}));
|
|
90
|
-
picker.toggles = [toggle];
|
|
91
89
|
updatePickerAndEditor();
|
|
92
90
|
disposables.add(picker.onDidChangeValue(() => updatePickerAndEditor()));
|
|
93
91
|
// Adjust line number visibility as needed
|
|
@@ -114,7 +112,7 @@ export class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigatio
|
|
|
114
112
|
const model = this.getModel(editor);
|
|
115
113
|
if (!model) {
|
|
116
114
|
return {
|
|
117
|
-
label: localize(
|
|
115
|
+
label: localize(1352, "Open a text editor first to go to a line or an offset.")
|
|
118
116
|
};
|
|
119
117
|
}
|
|
120
118
|
// Support ::<offset> notation to navigate to a specific offset in the model.
|
|
@@ -126,8 +124,8 @@ export class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigatio
|
|
|
126
124
|
return {
|
|
127
125
|
inOffsetMode: true,
|
|
128
126
|
label: this.useZeroBasedOffset ?
|
|
129
|
-
localize(
|
|
130
|
-
localize(
|
|
127
|
+
localize(1353, "Type a character position to go to (from 0 to {0}).", maxOffset - 1) :
|
|
128
|
+
localize(1354, "Type a character position to go to (from 1 to {0}).", maxOffset)
|
|
131
129
|
};
|
|
132
130
|
}
|
|
133
131
|
else {
|
|
@@ -144,7 +142,7 @@ export class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigatio
|
|
|
144
142
|
return {
|
|
145
143
|
...pos,
|
|
146
144
|
inOffsetMode: true,
|
|
147
|
-
label: localize(
|
|
145
|
+
label: localize(1355, "Press 'Enter' to go to line {0} at column {1}.", pos.lineNumber, pos.column)
|
|
148
146
|
};
|
|
149
147
|
}
|
|
150
148
|
}
|
|
@@ -155,7 +153,7 @@ export class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigatio
|
|
|
155
153
|
let lineNumber = parseInt(parts[0]?.trim(), 10);
|
|
156
154
|
if (parts.length < 1 || isNaN(lineNumber)) {
|
|
157
155
|
return {
|
|
158
|
-
label: localize(
|
|
156
|
+
label: localize(1356, "Type a line number to go to (from 1 to {0}).", maxLine)
|
|
159
157
|
};
|
|
160
158
|
}
|
|
161
159
|
// Handle negative line numbers and clip to valid range.
|
|
@@ -168,8 +166,8 @@ export class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigatio
|
|
|
168
166
|
lineNumber,
|
|
169
167
|
column: 1,
|
|
170
168
|
label: parts.length < 2 ?
|
|
171
|
-
localize(
|
|
172
|
-
localize(
|
|
169
|
+
localize(1357, "Press 'Enter' to go to line {0} or enter colon : to add a column number.", lineNumber) :
|
|
170
|
+
localize(1358, "Press 'Enter' to go to line {0} or enter a column number (from 1 to {1}).", lineNumber, maxColumn)
|
|
173
171
|
};
|
|
174
172
|
}
|
|
175
173
|
// Handle negative column numbers and clip to valid range.
|
|
@@ -178,7 +176,7 @@ export class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigatio
|
|
|
178
176
|
return {
|
|
179
177
|
lineNumber,
|
|
180
178
|
column,
|
|
181
|
-
label: localize(
|
|
179
|
+
label: localize(1359, "Press 'Enter' to go to line {0} at column {1}.", lineNumber, column)
|
|
182
180
|
};
|
|
183
181
|
}
|
|
184
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.ts"],"names":[],"mappings":"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","file":"gotoLineQuickAccess.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 { Toggle } from '../../../../base/browser/ui/toggle/toggle.js';\nimport { CancellationToken } from '../../../../base/common/cancellation.js';\nimport { Codicon } from '../../../../base/common/codicons.js';\nimport { Disposable, DisposableStore, IDisposable, toDisposable } from '../../../../base/common/lifecycle.js';\nimport { localize } from '../../../../nls.js';\nimport { IQuickPick, IQuickPickItem } from '../../../../platform/quickinput/common/quickInput.js';\nimport { IStorageService, StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js';\nimport { inputActiveOptionBackground, inputActiveOptionBorder, inputActiveOptionForeground } from '../../../../platform/theme/common/colors/inputColors.js';\nimport { asCssVariable } from '../../../../platform/theme/common/colorUtils.js';\nimport { getCodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorOption, RenderLineNumbersType } from '../../../common/config/editorOptions.js';\nimport { IPosition } from '../../../common/core/position.js';\nimport { IRange } from '../../../common/core/range.js';\nimport { IEditor, ScrollType } from '../../../common/editorCommon.js';\nimport { AbstractEditorNavigationQuickAccessProvider, IQuickAccessTextEditorContext } from './editorNavigationQuickAccess.js';\n\ninterface IGotoLineQuickPickItem extends IQuickPickItem, Partial<IPosition> { }\n\nexport abstract class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigationQuickAccessProvider {\n\n\tstatic readonly GO_TO_LINE_PREFIX = ':';\n\tstatic readonly GO_TO_OFFSET_PREFIX = '::';\n\tprivate static readonly ZERO_BASED_OFFSET_STORAGE_KEY = 'gotoLine.useZeroBasedOffset';\n\n\tconstructor() {\n\t\tsuper({ canAcceptInBackground: true });\n\t}\n\n\tprotected abstract readonly storageService: IStorageService;\n\n\tprivate get useZeroBasedOffset() {\n\t\treturn this.storageService.getBoolean(\n\t\t\tAbstractGotoLineQuickAccessProvider.ZERO_BASED_OFFSET_STORAGE_KEY,\n\t\t\tStorageScope.APPLICATION,\n\t\t\tfalse);\n\t}\n\n\tprivate set useZeroBasedOffset(value: boolean) {\n\t\tthis.storageService.store(\n\t\t\tAbstractGotoLineQuickAccessProvider.ZERO_BASED_OFFSET_STORAGE_KEY,\n\t\t\tvalue,\n\t\t\tStorageScope.APPLICATION,\n\t\t\tStorageTarget.USER);\n\t}\n\n\tprotected provideWithoutTextEditor(picker: IQuickPick<IGotoLineQuickPickItem, { useSeparators: true }>): IDisposable {\n\t\tconst label = localize('gotoLine.noEditor', \"Open a text editor first to go to a line or an offset.\");\n\n\t\tpicker.items = [{ label }];\n\t\tpicker.ariaLabel = label;\n\n\t\treturn Disposable.None;\n\t}\n\n\tprotected provideWithTextEditor(context: IQuickAccessTextEditorContext, picker: IQuickPick<IGotoLineQuickPickItem, { useSeparators: true }>, token: CancellationToken): IDisposable {\n\t\tconst editor = context.editor;\n\t\tconst disposables = new DisposableStore();\n\n\t\t// Goto line once picked\n\t\tdisposables.add(picker.onDidAccept(event => {\n\t\t\tconst [item] = picker.selectedItems;\n\t\t\tif (item) {\n\t\t\t\tif (!item.lineNumber) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.gotoLocation(context, { range: this.toRange(item.lineNumber, item.column), keyMods: picker.keyMods, preserveFocus: event.inBackground });\n\n\t\t\t\tif (!event.inBackground) {\n\t\t\t\t\tpicker.hide();\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\n\t\t// React to picker changes\n\t\tconst updatePickerAndEditor = () => {\n\t\t\tconst inputText = picker.value.trim().substring(AbstractGotoLineQuickAccessProvider.GO_TO_LINE_PREFIX.length);\n\t\t\tconst { inOffsetMode, lineNumber, column, label } = this.parsePosition(editor, inputText);\n\n\t\t\t// Show toggle only when input text starts with '::'.\n\t\t\ttoggle.visible = !!inOffsetMode;\n\n\t\t\t// Picker\n\t\t\tpicker.items = [{\n\t\t\t\tlineNumber,\n\t\t\t\tcolumn,\n\t\t\t\tlabel,\n\t\t\t}];\n\n\t\t\t// ARIA Label\n\t\t\tconst cursor = editor.getPosition() ?? { lineNumber: 1, column: 1 };\n\t\t\tpicker.ariaLabel = localize(\n\t\t\t\t{\n\t\t\t\t\tkey: 'gotoLine.ariaLabel',\n\t\t\t\t\tcomment: ['{0} is the line number, {1} is the column number, {2} is instructions for typing in the Go To Line picker']\n\t\t\t\t},\n\t\t\t\t\"Current position: line {0}, column {1}. {2}\", cursor.lineNumber, cursor.column, label\n\t\t\t);\n\n\t\t\t// Clear decorations for invalid range\n\t\t\tif (!lineNumber) {\n\t\t\t\tthis.clearDecorations(editor);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Reveal\n\t\t\tconst range = this.toRange(lineNumber, column);\n\t\t\teditor.revealRangeInCenter(range, ScrollType.Smooth);\n\n\t\t\t// Decorate\n\t\t\tthis.addDecorations(editor, range);\n\t\t};\n\n\t\t// Add a toggle to switch between 1- and 0-based offsets.\n\t\tconst toggle = new Toggle({\n\t\t\ttitle: localize('gotoLineToggle', \"Use Zero-Based Offset\"),\n\t\t\ticon: Codicon.indexZero,\n\t\t\tisChecked: this.useZeroBasedOffset,\n\t\t\tinputActiveOptionBorder: asCssVariable(inputActiveOptionBorder),\n\t\t\tinputActiveOptionForeground: asCssVariable(inputActiveOptionForeground),\n\t\t\tinputActiveOptionBackground: asCssVariable(inputActiveOptionBackground)\n\t\t});\n\n\t\tdisposables.add(\n\t\t\ttoggle.onChange(() => {\n\t\t\t\tthis.useZeroBasedOffset = !this.useZeroBasedOffset;\n\t\t\t\tupdatePickerAndEditor();\n\t\t\t}));\n\n\t\tpicker.toggles = [toggle];\n\n\t\tupdatePickerAndEditor();\n\t\tdisposables.add(picker.onDidChangeValue(() => updatePickerAndEditor()));\n\n\t\t// Adjust line number visibility as needed\n\t\tconst codeEditor = getCodeEditor(editor);\n\t\tif (codeEditor) {\n\t\t\tconst options = codeEditor.getOptions();\n\t\t\tconst lineNumbers = options.get(EditorOption.lineNumbers);\n\t\t\tif (lineNumbers.renderType === RenderLineNumbersType.Relative) {\n\t\t\t\tcodeEditor.updateOptions({ lineNumbers: 'on' });\n\n\t\t\t\tdisposables.add(toDisposable(() => codeEditor.updateOptions({ lineNumbers: 'relative' })));\n\t\t\t}\n\t\t}\n\n\t\treturn disposables;\n\t}\n\n\tprivate toRange(lineNumber = 1, column = 1): IRange {\n\t\treturn {\n\t\t\tstartLineNumber: lineNumber,\n\t\t\tstartColumn: column,\n\t\t\tendLineNumber: lineNumber,\n\t\t\tendColumn: column\n\t\t};\n\t}\n\n\tprotected parsePosition(editor: IEditor, value: string): Partial<IPosition> & { inOffsetMode?: boolean; label: string } {\n\t\tconst model = this.getModel(editor);\n\t\tif (!model) {\n\t\t\treturn {\n\t\t\t\tlabel: localize('gotoLine.noEditor', \"Open a text editor first to go to a line or an offset.\")\n\t\t\t};\n\t\t}\n\n\t\t// Support ::<offset> notation to navigate to a specific offset in the model.\n\t\tif (value.startsWith(':')) {\n\t\t\tlet offset = parseInt(value.substring(1), 10);\n\t\t\tconst maxOffset = model.getValueLength();\n\t\t\tif (isNaN(offset)) {\n\t\t\t\t// No valid offset specified.\n\t\t\t\treturn {\n\t\t\t\t\tinOffsetMode: true,\n\t\t\t\t\tlabel: this.useZeroBasedOffset ?\n\t\t\t\t\t\tlocalize('gotoLine.offsetPromptZero', \"Type a character position to go to (from 0 to {0}).\", maxOffset - 1) :\n\t\t\t\t\t\tlocalize('gotoLine.offsetPrompt', \"Type a character position to go to (from 1 to {0}).\", maxOffset)\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst reverse = offset < 0;\n\t\t\t\tif (!this.useZeroBasedOffset) {\n\t\t\t\t\t// Convert 1-based offset to model's 0-based.\n\t\t\t\t\toffset -= Math.sign(offset);\n\t\t\t\t}\n\t\t\t\tif (reverse) {\n\t\t\t\t\t// Offset from the end of the buffer\n\t\t\t\t\toffset += maxOffset;\n\t\t\t\t}\n\t\t\t\tconst pos = model.getPositionAt(offset);\n\t\t\t\treturn {\n\t\t\t\t\t...pos,\n\t\t\t\t\tinOffsetMode: true,\n\t\t\t\t\tlabel: localize('gotoLine.goToPosition', \"Press 'Enter' to go to line {0} at column {1}.\", pos.lineNumber, pos.column)\n\t\t\t\t};\n\t\t\t}\n\t\t} else {\n\t\t\t// Support line-col formats of `line,col`, `line:col`, `line#col`\n\t\t\tconst parts = value.split(/,|:|#/);\n\n\t\t\tconst maxLine = model.getLineCount();\n\t\t\tlet lineNumber = parseInt(parts[0]?.trim(), 10);\n\t\t\tif (parts.length < 1 || isNaN(lineNumber)) {\n\t\t\t\treturn {\n\t\t\t\t\tlabel: localize('gotoLine.linePrompt', \"Type a line number to go to (from 1 to {0}).\", maxLine)\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Handle negative line numbers and clip to valid range.\n\t\t\tlineNumber = lineNumber >= 0 ? lineNumber : (maxLine + 1) + lineNumber;\n\t\t\tlineNumber = Math.min(Math.max(1, lineNumber), maxLine);\n\n\t\t\tconst maxColumn = model.getLineMaxColumn(lineNumber);\n\t\t\tlet column = parseInt(parts[1]?.trim(), 10);\n\t\t\tif (parts.length < 2 || isNaN(column)) {\n\t\t\t\treturn {\n\t\t\t\t\tlineNumber,\n\t\t\t\t\tcolumn: 1,\n\t\t\t\t\tlabel: parts.length < 2 ?\n\t\t\t\t\t\tlocalize('gotoLine.lineColumnPrompt', \"Press 'Enter' to go to line {0} or enter colon : to add a column number.\", lineNumber) :\n\t\t\t\t\t\tlocalize('gotoLine.columnPrompt', \"Press 'Enter' to go to line {0} or enter a column number (from 1 to {1}).\", lineNumber, maxColumn)\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Handle negative column numbers and clip to valid range.\n\t\t\tcolumn = column >= 0 ? column : maxColumn + column;\n\t\t\tcolumn = Math.min(Math.max(1, column), maxColumn);\n\n\t\t\treturn {\n\t\t\t\tlineNumber,\n\t\t\t\tcolumn,\n\t\t\t\tlabel: localize('gotoLine.goToPosition', \"Press 'Enter' to go to line {0} at column {1}.\", lineNumber, column)\n\t\t\t};\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.ts"],"names":[],"mappings":"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","file":"gotoLineQuickAccess.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { CancellationToken } from '../../../../base/common/cancellation.js';\nimport { Codicon } from '../../../../base/common/codicons.js';\nimport { Disposable, DisposableStore, IDisposable, toDisposable } from '../../../../base/common/lifecycle.js';\nimport { ThemeIcon } from '../../../../base/common/themables.js';\nimport { localize } from '../../../../nls.js';\nimport { IQuickInputButton, IQuickPick, IQuickPickItem, QuickInputButtonLocation } from '../../../../platform/quickinput/common/quickInput.js';\nimport { IStorageService, StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js';\nimport { getCodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorOption, RenderLineNumbersType } from '../../../common/config/editorOptions.js';\nimport { IPosition } from '../../../common/core/position.js';\nimport { IRange } from '../../../common/core/range.js';\nimport { IEditor, ScrollType } from '../../../common/editorCommon.js';\nimport { AbstractEditorNavigationQuickAccessProvider, IQuickAccessTextEditorContext } from './editorNavigationQuickAccess.js';\n\ninterface IGotoLineQuickPickItem extends IQuickPickItem, Partial<IPosition> { }\n\nexport abstract class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigationQuickAccessProvider {\n\n\tstatic readonly GO_TO_LINE_PREFIX = ':';\n\tstatic readonly GO_TO_OFFSET_PREFIX = '::';\n\tprivate static readonly ZERO_BASED_OFFSET_STORAGE_KEY = 'gotoLine.useZeroBasedOffset';\n\n\tconstructor() {\n\t\tsuper({ canAcceptInBackground: true });\n\t}\n\n\tprotected abstract readonly storageService: IStorageService;\n\n\tprivate get useZeroBasedOffset() {\n\t\treturn this.storageService.getBoolean(\n\t\t\tAbstractGotoLineQuickAccessProvider.ZERO_BASED_OFFSET_STORAGE_KEY,\n\t\t\tStorageScope.APPLICATION,\n\t\t\tfalse);\n\t}\n\n\tprivate set useZeroBasedOffset(value: boolean) {\n\t\tthis.storageService.store(\n\t\t\tAbstractGotoLineQuickAccessProvider.ZERO_BASED_OFFSET_STORAGE_KEY,\n\t\t\tvalue,\n\t\t\tStorageScope.APPLICATION,\n\t\t\tStorageTarget.USER);\n\t}\n\n\tprotected provideWithoutTextEditor(picker: IQuickPick<IGotoLineQuickPickItem, { useSeparators: true }>): IDisposable {\n\t\tconst label = localize('gotoLine.noEditor', \"Open a text editor first to go to a line or an offset.\");\n\n\t\tpicker.items = [{ label }];\n\t\tpicker.ariaLabel = label;\n\n\t\treturn Disposable.None;\n\t}\n\n\tprotected provideWithTextEditor(context: IQuickAccessTextEditorContext, picker: IQuickPick<IGotoLineQuickPickItem, { useSeparators: true }>, token: CancellationToken): IDisposable {\n\t\tconst editor = context.editor;\n\t\tconst disposables = new DisposableStore();\n\n\t\t// Goto line once picked\n\t\tdisposables.add(picker.onDidAccept(event => {\n\t\t\tconst [item] = picker.selectedItems;\n\t\t\tif (item) {\n\t\t\t\tif (!item.lineNumber) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.gotoLocation(context, { range: this.toRange(item.lineNumber, item.column), keyMods: picker.keyMods, preserveFocus: event.inBackground });\n\n\t\t\t\tif (!event.inBackground) {\n\t\t\t\t\tpicker.hide();\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\n\t\t// Add a toggle to switch between 1- and 0-based offsets.\n\t\tconst offsetButton: IQuickInputButton = {\n\t\t\ticonClass: ThemeIcon.asClassName(Codicon.indexZero),\n\t\t\ttooltip: localize('gotoLineToggleButton', \"Toggle Zero-Based Offset\"),\n\t\t\tlocation: QuickInputButtonLocation.Input,\n\t\t\ttoggle: { checked: this.useZeroBasedOffset }\n\t\t};\n\n\t\t// React to picker changes\n\t\tconst updatePickerAndEditor = () => {\n\t\t\tconst inputText = picker.value.trim().substring(AbstractGotoLineQuickAccessProvider.GO_TO_LINE_PREFIX.length);\n\t\t\tconst { inOffsetMode, lineNumber, column, label } = this.parsePosition(editor, inputText);\n\n\t\t\t// Show toggle only when input text starts with '::'.\n\t\t\tpicker.buttons = inOffsetMode ? [offsetButton] : [];\n\n\t\t\t// Picker\n\t\t\tpicker.items = [{\n\t\t\t\tlineNumber,\n\t\t\t\tcolumn,\n\t\t\t\tlabel,\n\t\t\t}];\n\n\t\t\t// ARIA Label\n\t\t\tconst cursor = editor.getPosition() ?? { lineNumber: 1, column: 1 };\n\t\t\tpicker.ariaLabel = localize(\n\t\t\t\t{\n\t\t\t\t\tkey: 'gotoLine.ariaLabel',\n\t\t\t\t\tcomment: ['{0} is the line number, {1} is the column number, {2} is instructions for typing in the Go To Line picker']\n\t\t\t\t},\n\t\t\t\t\"Current position: line {0}, column {1}. {2}\", cursor.lineNumber, cursor.column, label\n\t\t\t);\n\n\t\t\t// Clear decorations for invalid range\n\t\t\tif (!lineNumber) {\n\t\t\t\tthis.clearDecorations(editor);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Reveal\n\t\t\tconst range = this.toRange(lineNumber, column);\n\t\t\teditor.revealRangeInCenter(range, ScrollType.Smooth);\n\n\t\t\t// Decorate\n\t\t\tthis.addDecorations(editor, range);\n\t\t};\n\n\t\tdisposables.add(picker.onDidTriggerButton(button => {\n\t\t\tif (button === offsetButton) {\n\t\t\t\tthis.useZeroBasedOffset = button.toggle?.checked ?? !this.useZeroBasedOffset;\n\t\t\t\tupdatePickerAndEditor();\n\t\t\t}\n\t\t}));\n\n\t\tupdatePickerAndEditor();\n\t\tdisposables.add(picker.onDidChangeValue(() => updatePickerAndEditor()));\n\n\t\t// Adjust line number visibility as needed\n\t\tconst codeEditor = getCodeEditor(editor);\n\t\tif (codeEditor) {\n\t\t\tconst options = codeEditor.getOptions();\n\t\t\tconst lineNumbers = options.get(EditorOption.lineNumbers);\n\t\t\tif (lineNumbers.renderType === RenderLineNumbersType.Relative) {\n\t\t\t\tcodeEditor.updateOptions({ lineNumbers: 'on' });\n\n\t\t\t\tdisposables.add(toDisposable(() => codeEditor.updateOptions({ lineNumbers: 'relative' })));\n\t\t\t}\n\t\t}\n\n\t\treturn disposables;\n\t}\n\n\tprivate toRange(lineNumber = 1, column = 1): IRange {\n\t\treturn {\n\t\t\tstartLineNumber: lineNumber,\n\t\t\tstartColumn: column,\n\t\t\tendLineNumber: lineNumber,\n\t\t\tendColumn: column\n\t\t};\n\t}\n\n\tprotected parsePosition(editor: IEditor, value: string): Partial<IPosition> & { inOffsetMode?: boolean; label: string } {\n\t\tconst model = this.getModel(editor);\n\t\tif (!model) {\n\t\t\treturn {\n\t\t\t\tlabel: localize('gotoLine.noEditor', \"Open a text editor first to go to a line or an offset.\")\n\t\t\t};\n\t\t}\n\n\t\t// Support ::<offset> notation to navigate to a specific offset in the model.\n\t\tif (value.startsWith(':')) {\n\t\t\tlet offset = parseInt(value.substring(1), 10);\n\t\t\tconst maxOffset = model.getValueLength();\n\t\t\tif (isNaN(offset)) {\n\t\t\t\t// No valid offset specified.\n\t\t\t\treturn {\n\t\t\t\t\tinOffsetMode: true,\n\t\t\t\t\tlabel: this.useZeroBasedOffset ?\n\t\t\t\t\t\tlocalize('gotoLine.offsetPromptZero', \"Type a character position to go to (from 0 to {0}).\", maxOffset - 1) :\n\t\t\t\t\t\tlocalize('gotoLine.offsetPrompt', \"Type a character position to go to (from 1 to {0}).\", maxOffset)\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst reverse = offset < 0;\n\t\t\t\tif (!this.useZeroBasedOffset) {\n\t\t\t\t\t// Convert 1-based offset to model's 0-based.\n\t\t\t\t\toffset -= Math.sign(offset);\n\t\t\t\t}\n\t\t\t\tif (reverse) {\n\t\t\t\t\t// Offset from the end of the buffer\n\t\t\t\t\toffset += maxOffset;\n\t\t\t\t}\n\t\t\t\tconst pos = model.getPositionAt(offset);\n\t\t\t\treturn {\n\t\t\t\t\t...pos,\n\t\t\t\t\tinOffsetMode: true,\n\t\t\t\t\tlabel: localize('gotoLine.goToPosition', \"Press 'Enter' to go to line {0} at column {1}.\", pos.lineNumber, pos.column)\n\t\t\t\t};\n\t\t\t}\n\t\t} else {\n\t\t\t// Support line-col formats of `line,col`, `line:col`, `line#col`\n\t\t\tconst parts = value.split(/,|:|#/);\n\n\t\t\tconst maxLine = model.getLineCount();\n\t\t\tlet lineNumber = parseInt(parts[0]?.trim(), 10);\n\t\t\tif (parts.length < 1 || isNaN(lineNumber)) {\n\t\t\t\treturn {\n\t\t\t\t\tlabel: localize('gotoLine.linePrompt', \"Type a line number to go to (from 1 to {0}).\", maxLine)\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Handle negative line numbers and clip to valid range.\n\t\t\tlineNumber = lineNumber >= 0 ? lineNumber : (maxLine + 1) + lineNumber;\n\t\t\tlineNumber = Math.min(Math.max(1, lineNumber), maxLine);\n\n\t\t\tconst maxColumn = model.getLineMaxColumn(lineNumber);\n\t\t\tlet column = parseInt(parts[1]?.trim(), 10);\n\t\t\tif (parts.length < 2 || isNaN(column)) {\n\t\t\t\treturn {\n\t\t\t\t\tlineNumber,\n\t\t\t\t\tcolumn: 1,\n\t\t\t\t\tlabel: parts.length < 2 ?\n\t\t\t\t\t\tlocalize('gotoLine.lineColumnPrompt', \"Press 'Enter' to go to line {0} or enter colon : to add a column number.\", lineNumber) :\n\t\t\t\t\t\tlocalize('gotoLine.columnPrompt', \"Press 'Enter' to go to line {0} or enter a column number (from 1 to {1}).\", lineNumber, maxColumn)\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Handle negative column numbers and clip to valid range.\n\t\t\tcolumn = column >= 0 ? column : maxColumn + column;\n\t\t\tcolumn = Math.min(Math.max(1, column), maxColumn);\n\n\t\t\treturn {\n\t\t\t\tlineNumber,\n\t\t\t\tcolumn,\n\t\t\t\tlabel: localize('gotoLine.goToPosition', \"Press 'Enter' to go to line {0} at column {1}.\", lineNumber, column)\n\t\t\t};\n\t\t}\n\t}\n}\n"]}
|
|
@@ -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(1360, "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(1361, "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(1362, "No matching editor symbols"));
|
|
150
150
|
}
|
|
151
151
|
else {
|
|
152
|
-
this.provideLabelPick(picker, localize(
|
|
152
|
+
this.provideLabelPick(picker, localize(1363, "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(1364, "Open to the Side") : localize(1365, "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(1366, "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(1367, "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(1368, "methods ({0})"),
|
|
368
|
+
[11 /* SymbolKind.Function */]: localize(1369, "functions ({0})"),
|
|
369
|
+
[8 /* SymbolKind.Constructor */]: localize(1370, "constructors ({0})"),
|
|
370
|
+
[12 /* SymbolKind.Variable */]: localize(1371, "variables ({0})"),
|
|
371
|
+
[4 /* SymbolKind.Class */]: localize(1372, "classes ({0})"),
|
|
372
|
+
[22 /* SymbolKind.Struct */]: localize(1373, "structs ({0})"),
|
|
373
|
+
[23 /* SymbolKind.Event */]: localize(1374, "events ({0})"),
|
|
374
|
+
[24 /* SymbolKind.Operator */]: localize(1375, "operators ({0})"),
|
|
375
|
+
[10 /* SymbolKind.Interface */]: localize(1376, "interfaces ({0})"),
|
|
376
|
+
[2 /* SymbolKind.Namespace */]: localize(1377, "namespaces ({0})"),
|
|
377
|
+
[3 /* SymbolKind.Package */]: localize(1378, "packages ({0})"),
|
|
378
|
+
[25 /* SymbolKind.TypeParameter */]: localize(1379, "type parameters ({0})"),
|
|
379
|
+
[1 /* SymbolKind.Module */]: localize(1380, "modules ({0})"),
|
|
380
|
+
[6 /* SymbolKind.Property */]: localize(1381, "properties ({0})"),
|
|
381
|
+
[9 /* SymbolKind.Enum */]: localize(1382, "enumerations ({0})"),
|
|
382
|
+
[21 /* SymbolKind.EnumMember */]: localize(1383, "enumeration members ({0})"),
|
|
383
|
+
[14 /* SymbolKind.String */]: localize(1384, "strings ({0})"),
|
|
384
|
+
[0 /* SymbolKind.File */]: localize(1385, "files ({0})"),
|
|
385
|
+
[17 /* SymbolKind.Array */]: localize(1386, "arrays ({0})"),
|
|
386
|
+
[15 /* SymbolKind.Number */]: localize(1387, "numbers ({0})"),
|
|
387
|
+
[16 /* SymbolKind.Boolean */]: localize(1388, "booleans ({0})"),
|
|
388
|
+
[18 /* SymbolKind.Object */]: localize(1389, "objects ({0})"),
|
|
389
|
+
[19 /* SymbolKind.Key */]: localize(1390, "keys ({0})"),
|
|
390
|
+
[7 /* SymbolKind.Field */]: localize(1391, "fields ({0})"),
|
|
391
|
+
[13 /* SymbolKind.Constant */]: localize(1392, "constants ({0})")
|
|
392
392
|
};
|
|
393
393
|
//#endregion
|
|
394
394
|
//# sourceMappingURL=gotoSymbolQuickAccess.js.map
|