@codingame/monaco-vscode-api 7.1.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/api.js +60 -10
- package/extensions.d.ts +9 -0
- package/l10n.d.ts +13 -1
- package/l10n.js +3 -2
- package/missing-services.js +35 -21
- package/package.json +9 -9
- package/services.js +2 -2
- package/vscode/src/vs/base/browser/browser.js +4 -1
- package/vscode/src/vs/base/browser/defaultWorkerFactory.js +7 -1
- package/vscode/src/vs/base/browser/dom.js +8 -1
- package/vscode/src/vs/base/browser/markdownRenderer.js +1 -1
- package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.d.ts +1 -0
- package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +13 -6
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
- package/vscode/src/vs/base/browser/ui/button/button.js +2 -3
- package/vscode/src/vs/base/browser/ui/dialog/dialog.js +7 -8
- package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +2 -3
- package/vscode/src/vs/base/browser/ui/findinput/findInput.js +2 -3
- package/vscode/src/vs/base/browser/ui/findinput/findInputToggles.js +4 -5
- package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +3 -4
- package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +3 -5
- package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +3 -4
- package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +7 -8
- package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +2 -3
- package/vscode/src/vs/base/browser/ui/list/listView.js +2 -2
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +2 -3
- package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +4 -5
- package/vscode/src/vs/base/browser/ui/splitview/paneview.js +2 -3
- package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
- package/vscode/src/vs/base/browser/ui/toggle/toggle.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
- package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +11 -12
- package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +2 -3
- package/vscode/src/vs/base/common/actions.js +2 -3
- package/vscode/src/vs/base/common/arrays.js +7 -1
- package/vscode/src/vs/base/common/date.js +61 -63
- package/vscode/src/vs/base/common/errorMessage.js +8 -22
- package/vscode/src/vs/base/common/event.d.ts +16 -0
- package/vscode/src/vs/base/common/event.js +4 -0
- package/vscode/src/vs/base/common/hotReload.js +13 -1
- package/vscode/src/vs/base/common/hotReloadHelpers.js +25 -0
- package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -11
- package/vscode/src/vs/base/common/jsonSchema.js +122 -0
- package/vscode/src/vs/base/common/keybindingLabels.js +21 -22
- package/vscode/src/vs/base/common/labels.js +2 -2
- package/vscode/src/vs/base/common/network.js +1 -1
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +1 -0
- package/vscode/src/vs/base/common/observableInternal/base.js +6 -0
- package/vscode/src/vs/base/common/observableInternal/utils.js +4 -1
- package/vscode/src/vs/base/common/path.d.ts +1 -1
- package/vscode/src/vs/base/common/path.js +20 -17
- package/vscode/src/vs/base/common/performance.js +78 -15
- package/vscode/src/vs/base/common/platform.js +14 -17
- package/vscode/src/vs/base/common/prefixTree.d.ts +2 -0
- package/vscode/src/vs/base/common/prefixTree.js +3 -0
- package/vscode/src/vs/base/common/product.d.ts +3 -7
- package/vscode/src/vs/base/common/uri.js +3 -0
- package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +6 -3
- package/vscode/src/vs/editor/browser/controller/mouseHandler.js +66 -18
- package/vscode/src/vs/editor/browser/controller/mouseTarget.js +18 -5
- package/vscode/src/vs/editor/browser/controller/pointerHandler.js +3 -3
- package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +9 -13
- package/vscode/src/vs/editor/browser/coreCommands.js +4 -5
- package/vscode/src/vs/editor/browser/editorExtensions.js +7 -8
- package/vscode/src/vs/editor/browser/observableCodeEditor.js +2 -0
- package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +2 -3
- package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -3
- package/vscode/src/vs/editor/browser/view.js +3 -1
- package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +1 -2
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +4 -6
- package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +13 -14
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +17 -38
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +20 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +6 -6
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +11 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +10 -13
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +6 -7
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +37 -3
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +4 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +33 -23
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +91 -41
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +9 -14
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +3 -4
- package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +7 -13
- package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +80 -21
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +4 -5
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +24 -18
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +26 -13
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget.js +4 -1
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +8 -4
- package/vscode/src/vs/editor/common/config/diffEditor.js +2 -0
- package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +86 -115
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +11 -1
- package/vscode/src/vs/editor/common/config/editorOptions.js +547 -932
- package/vscode/src/vs/editor/common/core/editorColorRegistry.js +102 -144
- package/vscode/src/vs/editor/common/core/lineRange.js +1 -1
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +11 -0
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.js +2 -2
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +8 -3
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +34 -34
- package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +7 -0
- package/vscode/src/vs/editor/common/diff/rangeMapping.js +40 -0
- package/vscode/src/vs/editor/common/editorContextKeys.js +52 -69
- package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -1
- package/vscode/src/vs/editor/common/languageFeatureRegistry.js +27 -14
- package/vscode/src/vs/editor/common/languages/modesRegistry.js +2 -3
- package/vscode/src/vs/editor/common/languages.d.ts +4 -0
- package/vscode/src/vs/editor/common/languages.js +28 -29
- package/vscode/src/vs/editor/common/model/editStack.js +2 -3
- package/vscode/src/vs/editor/common/model/guidesTextModelPart.js +1 -1
- package/vscode/src/vs/editor/common/standaloneStrings.js +57 -54
- package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +3 -9
- package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +1 -1
- package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +7 -14
- package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +7 -12
- package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +3 -4
- package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +2 -3
- package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +18 -19
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +2 -3
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -53
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +22 -10
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +8 -9
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +9 -10
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +183 -9
- package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +4 -5
- package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +3 -4
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +2 -3
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +3 -4
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +10 -13
- package/vscode/src/vs/editor/contrib/comment/browser/comment.js +7 -8
- package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +12 -15
- package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +3 -4
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +5 -7
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -11
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +9 -10
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +3 -5
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +4 -5
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +3 -16
- package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +3 -5
- package/vscode/src/vs/editor/contrib/find/browser/findController.js +20 -24
- package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -1
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +31 -35
- package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -21
- package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -23
- package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +4 -5
- package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +3 -4
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +9 -10
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +18 -25
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +46 -47
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +42 -17
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +3 -4
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +5 -13
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +4 -5
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +4 -5
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +15 -22
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +7 -11
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +5 -7
- package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +8 -4
- package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +24 -38
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +3 -4
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +25 -27
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +12 -15
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +6 -7
- package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +3 -4
- package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +21 -22
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +9 -10
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +12 -13
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +3 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +7 -10
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +51 -42
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +3 -5
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +6 -7
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +12 -16
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +0 -3
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.css.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +58 -39
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget.css.js +4 -0
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget.js +301 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +7 -8
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +3 -4
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +2 -3
- package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -32
- package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +3 -4
- package/vscode/src/vs/editor/contrib/links/browser/links.js +12 -14
- package/vscode/src/vs/editor/contrib/message/browser/messageController.js +2 -3
- package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +23 -24
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.css.js +1 -1
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +2 -3
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +11 -12
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +20 -35
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +5 -56
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +1 -1
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderTextContribution.js +71 -0
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +8 -11
- package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +35 -41
- package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +3 -4
- package/vscode/src/vs/editor/contrib/rename/browser/rename.js +13 -25
- package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +9 -11
- package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +5 -6
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +5 -6
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +5 -6
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +13 -15
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +1 -1
- package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +10 -20
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +12 -14
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +19 -32
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +3 -4
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +3 -4
- package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +67 -101
- package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +6 -12
- package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +2 -3
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +30 -49
- package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +7 -9
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +18 -27
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +5 -6
- package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +2 -3
- package/vscode/src/vs/nls.js +27 -21
- package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +15 -9
- package/vscode/src/vs/platform/accessibility/browser/accessibleViewRegistry.js +1 -16
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +0 -1
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +53 -56
- package/vscode/src/vs/platform/action/common/actionCommonCategories.js +7 -8
- package/vscode/src/vs/platform/actionWidget/browser/actionList.js +5 -6
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +8 -9
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +4 -5
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +43 -13
- package/vscode/src/vs/platform/actions/browser/toolbar.js +5 -6
- package/vscode/src/vs/platform/actions/common/actions.d.ts +4 -0
- package/vscode/src/vs/platform/actions/common/actions.js +4 -0
- package/vscode/src/vs/platform/actions/common/actions.service.d.ts +14 -1
- package/vscode/src/vs/platform/actions/common/menuResetAction.js +2 -3
- package/vscode/src/vs/platform/actions/common/menuService.js +52 -21
- package/vscode/src/vs/platform/configuration/common/configurationModels.js +11 -3
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +14 -8
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +180 -146
- package/vscode/src/vs/platform/configuration/common/configurations.js +2 -2
- package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +2 -3
- package/vscode/src/vs/platform/contextkey/common/contextkey.js +13 -21
- package/vscode/src/vs/platform/contextkey/common/contextkeys.js +10 -15
- package/vscode/src/vs/platform/contextkey/common/scanner.js +7 -16
- package/vscode/src/vs/platform/contextview/browser/contextMenuService.js +2 -3
- package/vscode/src/vs/platform/dialogs/common/dialogs.js +11 -13
- package/vscode/src/vs/platform/dnd/browser/dnd.js +3 -5
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +7 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -5
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -2
- package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +2 -3
- package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +25 -33
- package/vscode/src/vs/platform/extensions/common/extensionValidator.js +35 -61
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +3 -18
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +31 -0
- package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +3 -8
- package/vscode/src/vs/platform/files/common/files.js +7 -8
- package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +2 -3
- package/vscode/src/vs/platform/instantiation/common/instantiationService.js +5 -0
- package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.d.ts +10 -0
- package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.js +8 -0
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +9 -14
- package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +2 -3
- package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +4 -5
- package/vscode/src/vs/platform/list/browser/listService.js +43 -71
- package/vscode/src/vs/platform/log/common/log.js +7 -8
- package/vscode/src/vs/platform/markers/common/markers.js +4 -5
- package/vscode/src/vs/platform/observable/common/wrapInReloadableClass.js +51 -0
- package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +39 -32
- package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +7 -11
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +14 -11
- package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +99 -142
- package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +3 -5
- package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +3 -4
- package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +16 -1
- package/vscode/src/vs/platform/quickinput/common/quickInput.js +6 -1
- package/vscode/src/vs/platform/request/common/request.js +23 -36
- package/vscode/src/vs/platform/theme/browser/defaultStyles.js +11 -2
- package/vscode/src/vs/platform/theme/common/colorUtils.js +3 -4
- package/vscode/src/vs/platform/theme/common/colors/baseColors.js +27 -37
- package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +10 -11
- package/vscode/src/vs/platform/theme/common/colors/editorColors.js +120 -207
- package/vscode/src/vs/platform/theme/common/colors/inputColors.js +53 -61
- package/vscode/src/vs/platform/theme/common/colors/listColors.js +51 -98
- package/vscode/src/vs/platform/theme/common/colors/menuColors.js +8 -9
- package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +13 -15
- package/vscode/src/vs/platform/theme/common/colors/miscColors.js +12 -16
- package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +13 -17
- package/vscode/src/vs/platform/theme/common/colors/searchColors.js +4 -9
- package/vscode/src/vs/platform/theme/common/iconRegistry.js +7 -9
- package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +49 -56
- package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +35 -55
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +2 -3
- package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +5 -8
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +38 -19
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +3 -5
- package/vscode/src/vs/platform/workspace/common/workspace.js +2 -3
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +88 -8
- package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +60 -0
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +48 -18
- package/vscode/src/vs/workbench/api/common/extHostComments.js +26 -4
- package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +4 -6
- package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +3 -0
- package/vscode/src/vs/workbench/api/common/extHostEmbedding.js +1 -0
- package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +6 -5
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +20 -18
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +45 -48
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +2 -1
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +2 -3
- package/vscode/src/vs/workbench/api/common/extHostLogService.js +2 -3
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +3 -9
- package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +3 -0
- package/vscode/src/vs/workbench/api/common/extHostNotebookEditor.js +3 -0
- package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +12 -8
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +5 -5
- package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +4 -6
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +3 -5
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +2 -8
- package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +4 -4
- package/vscode/src/vs/workbench/api/common/extHostTesting.js +69 -6
- package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +4 -1
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +2 -3
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +3 -4
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +41 -11
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +78 -23
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +10 -5
- package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +19 -30
- package/vscode/src/vs/workbench/browser/actions/developerActions.js +40 -61
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +161 -132
- package/vscode/src/vs/workbench/browser/actions/textInputActions.js +7 -8
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +30 -43
- package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +22 -23
- package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +5 -6
- package/vscode/src/vs/workbench/browser/actions.js +2 -3
- package/vscode/src/vs/workbench/browser/editor.js +3 -4
- package/vscode/src/vs/workbench/browser/labels.js +3 -4
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +12 -17
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +16 -25
- package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +2 -3
- package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +5 -7
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +45 -53
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +12 -13
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +2 -3
- package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +7 -8
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +153 -156
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +206 -329
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommandsContext.js +134 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +17 -17
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +14 -15
- package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +3 -4
- package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +15 -23
- package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +8 -11
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +63 -75
- package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +3 -4
- package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +16 -17
- package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +1 -3
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +2 -3
- package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -3
- package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +6 -9
- package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +2 -3
- package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +17 -19
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +18 -19
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +7 -11
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +7 -8
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +10 -11
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +9 -24
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +16 -28
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +4 -11
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +6 -13
- package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +48 -49
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +20 -22
- package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +3 -4
- package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -3
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +55 -49
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -3
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +12 -11
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +11 -11
- package/vscode/src/vs/workbench/browser/quickaccess.js +2 -3
- package/vscode/src/vs/workbench/browser/window.js +20 -28
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +376 -584
- package/vscode/src/vs/workbench/common/configuration.js +15 -19
- package/vscode/src/vs/workbench/common/contextkeys.js +87 -100
- package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +2 -3
- package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -9
- package/vscode/src/vs/workbench/common/editor/textEditorModel.js +3 -5
- package/vscode/src/vs/workbench/common/editor.d.ts +5 -2
- package/vscode/src/vs/workbench/common/editor.js +5 -6
- package/vscode/src/vs/workbench/common/theme.js +281 -450
- package/vscode/src/vs/workbench/common/views.js +7 -11
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +207 -284
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +50 -16
- package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +5 -2
- package/vscode/src/vs/workbench/contrib/accessibility/common/accessibilityCommands.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +29 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +17 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +5 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +10 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +26 -27
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAttachmentsContentPart.js +119 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCodeCitationContentPart.js +48 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +2 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +11 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +62 -33
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +5 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +2 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +3 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +2 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +47 -26
- package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +64 -37
- package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +36 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +32 -29
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +8 -8
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +0 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +7 -8
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +17 -28
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +59 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +10 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +9 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +16 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +8 -14
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +3 -1
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +80 -23
- package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +11 -12
- package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +7 -8
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +5 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +25 -30
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +5 -7
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +11 -12
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +5 -11
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +7 -8
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +45 -13
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +5 -6
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +3 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +3 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +6 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +9 -11
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +10 -15
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +5 -6
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +14 -49
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +21 -18
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +4 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +8 -13
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +43 -25
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +27 -39
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +10 -14
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +2 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +15 -18
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +25 -29
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +10 -11
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +11 -15
- package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +1 -0
- package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -17
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +6 -9
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +2 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +33 -36
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +18 -22
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +77 -97
- package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +15 -17
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -14
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +35 -40
- package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +58 -75
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +4 -5
- package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +2 -3
- package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +8 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +90 -205
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +28 -11
- package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +2 -3
- package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +3 -4
- package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +2 -3
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +5 -6
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +342 -359
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +35 -74
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +8 -19
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +3 -4
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +5 -7
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +7 -14
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +6 -8
- package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +2 -3
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +12 -20
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +28 -38
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +18 -22
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +108 -168
- package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +55 -30
- package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +9 -9
- package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +45 -59
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +102 -151
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +3 -4
- package/vscode/src/vs/workbench/contrib/files/browser/files.js +21 -12
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +2 -3
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +6 -8
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +9 -10
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +20 -29
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +54 -35
- package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +7 -10
- package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +2 -3
- package/vscode/src/vs/workbench/contrib/files/common/files.js +19 -40
- package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +5 -7
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +28 -36
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +5 -6
- package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +5 -10
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +23 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +20 -6
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +26 -88
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +2 -34
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +7 -8
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +13 -33
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +2 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +51 -91
- package/vscode/src/vs/workbench/contrib/issue/common/issue.service.js +2 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +2 -3
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +40 -56
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +3 -4
- package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +9 -10
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +2 -3
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +43 -46
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +6 -5
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +3 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +8 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +18 -19
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +4 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +3 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +30 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +7 -13
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +16 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +9 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +4 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +5 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +13 -18
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +29 -54
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -30
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +11 -18
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +54 -24
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +3 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +5 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +2 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +4 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +3 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +3 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +2 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +22 -13
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +8 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputViewModel.js +17 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +13 -25
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +51 -43
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +18 -26
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +3 -4
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +3 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -3
- package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +4 -10
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +14 -24
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +12 -12
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +50 -51
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +3 -2
- package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +24 -31
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +27 -39
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +18 -23
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +68 -80
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +3 -4
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +26 -57
- package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +11 -12
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +2 -3
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +14 -16
- package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +3 -4
- package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +2 -3
- package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +3 -4
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +5 -19
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +4 -5
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +17 -29
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +30 -31
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +9 -13
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +9 -13
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +5 -7
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +5 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +5 -14
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +33 -34
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +9 -15
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +37 -51
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +21 -37
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +29 -34
- package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminal.suggest.js +4 -0
- package/vscode/src/vs/workbench/contrib/testing/common/constants.js +16 -13
- package/vscode/src/vs/workbench/contrib/testing/common/testId.js +1 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +6 -7
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +23 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +23 -1
- package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +7 -8
- package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +4 -5
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +2 -3
- package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +3 -8
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +17 -11
- package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +23 -25
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +21 -34
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +3 -5
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +35 -53
- package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +3 -5
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +2 -3
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +7 -8
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +145 -236
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +14 -19
- package/vscode/src/vs/workbench/services/language/common/languageService.js +40 -57
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -1
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +8 -2
- package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.d.ts +34 -4
- package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.js +6 -1
- package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +3 -3
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +3 -4
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +8 -9
- package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +1 -3
- package/vscode/src/vs/workbench/services/preferences/common/preferences.js +2 -1
- package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +5 -2
- package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +3 -4
- package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.d.ts +5 -3
- package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.d.ts +1 -0
- package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.service.d.ts +4 -0
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +14 -20
- package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +9 -9
- package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +2 -8
- package/vscode/src/vs/workbench/services/search/common/search.js +1 -1
- package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +41 -1
- package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +12 -27
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +4 -5
- package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +34 -50
- package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +22 -31
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +1 -1
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +4 -5
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +2 -3
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +12 -13
- package/vscode/src/vs/workbench/services/views/browser/viewsService.js +8 -9
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +25 -33
- package/vscode-dts/vscode.proposed.aiTextSearchProviderNew.d.ts +119 -0
- package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +61 -3
- package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +26 -0
- package/vscode-dts/vscode.proposed.commentReveal.d.ts +21 -8
- package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +0 -2
- package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemChangesMenu.d.ts +7 -0
- package/vscode-dts/vscode.proposed.fileComments.d.ts +1 -1
- package/vscode-dts/vscode.proposed.fileSearchProviderNew.d.ts +100 -0
- package/vscode-dts/vscode.proposed.findFiles2New.d.ts +80 -0
- package/vscode-dts/vscode.proposed.findTextInFilesNew.d.ts +143 -0
- package/vscode-dts/vscode.proposed.lmTools.d.ts +5 -0
- package/vscode-dts/vscode.proposed.quickInputButtonLocation.d.ts +29 -0
- package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +2 -0
- package/vscode-dts/vscode.proposed.testMessageStackTrace.d.ts +38 -0
- package/vscode-dts/vscode.proposed.testRelatedCode.d.ts +36 -0
- package/vscode-dts/vscode.proposed.textSearchCompleteNew.d.ts +46 -0
- package/vscode-dts/vscode.proposed.textSearchProviderNew.d.ts +234 -0
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/model.js +0 -14
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +0 -115
- package/vscode/src/vs/platform/issue/common/issue.service.js +0 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +0 -570
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +0 -207
- package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +0 -30
- package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +0 -1016
- package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +0 -390
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import { getActiveElement } from '../../../../base/browser/dom.js';
|
|
2
|
-
import { List } from '../../../../base/browser/ui/list/listWidget.js';
|
|
3
|
-
import { distinct, coalesce } from '../../../../base/common/arrays.js';
|
|
4
1
|
import { KeyMod as KeyMod$1, KeyCode, KeyChord } from '../../../../base/common/keyCodes.js';
|
|
5
2
|
import { matchesScheme, Schemas } from '../../../../base/common/network.js';
|
|
6
|
-
import { extname
|
|
3
|
+
import { extname } from '../../../../base/common/resources.js';
|
|
7
4
|
import { isObject, isString, isUndefined, isNumber } from '../../../../base/common/types.js';
|
|
8
5
|
import { URI } from '../../../../base/common/uri.js';
|
|
9
6
|
import { isDiffEditor } from '../../../../editor/browser/editorBrowser.js';
|
|
10
7
|
import { EditorContextKeys } from '../../../../editor/common/editorContextKeys.js';
|
|
11
|
-
import {
|
|
8
|
+
import { localize, localize2 } from '../../../../nls.js';
|
|
12
9
|
import { Categories } from '../../../../platform/action/common/actionCommonCategories.js';
|
|
13
10
|
import { registerAction2, Action2 } from '../../../../platform/actions/common/actions.js';
|
|
14
11
|
import { CommandsRegistry } from '../../../../platform/commands/common/commands.js';
|
|
@@ -26,11 +23,11 @@ import { ActiveGroupEditorsByMostRecentlyUsedQuickAccess } from './editorQuickAc
|
|
|
26
23
|
import { SideBySideEditor } from './sideBySideEditor.js';
|
|
27
24
|
import { TextDiffEditor } from './textDiffEditor.js';
|
|
28
25
|
import { ActiveEditorGroupEmptyContext, MultipleEditorGroupsContext, ActiveEditorCanSplitInGroupContext, SideBySideEditorActiveContext, TextCompareEditorActiveContext, ActiveEditorGroupLockedContext, ActiveEditorStickyContext } from '../../../common/contextkeys.js';
|
|
29
|
-
import { EditorInputCapabilities, EditorsOrder, CloseDirection, isEditorInputWithOptionsAndGroup
|
|
26
|
+
import { EditorInputCapabilities, EditorsOrder, CloseDirection, isEditorInputWithOptionsAndGroup } from '../../../common/editor.js';
|
|
30
27
|
import { DiffEditorInput } from '../../../common/editor/diffEditorInput.js';
|
|
31
28
|
import { SideBySideEditorInput } from '../../../common/editor/sideBySideEditorInput.js';
|
|
32
29
|
import { columnToEditorGroup } from '../../../services/editor/common/editorGroupColumn.js';
|
|
33
|
-
import { GroupsOrder, GroupLocation, preferredSideBySideGroupDirection, GroupDirection
|
|
30
|
+
import { GroupsOrder, GroupLocation, preferredSideBySideGroupDirection, GroupDirection } from '../../../services/editor/common/editorGroupsService.js';
|
|
34
31
|
import { IEditorGroupsService } from '../../../services/editor/common/editorGroupsService.service.js';
|
|
35
32
|
import { IEditorResolverService } from '../../../services/editor/common/editorResolverService.service.js';
|
|
36
33
|
import { SIDE_GROUP } from '../../../services/editor/common/editorService.js';
|
|
@@ -38,7 +35,7 @@ import { IEditorService } from '../../../services/editor/common/editorService.se
|
|
|
38
35
|
import { IPathService } from '../../../services/path/common/pathService.service.js';
|
|
39
36
|
import { IUntitledTextEditorService } from '../../../services/untitled/common/untitledTextEditorService.service.js';
|
|
40
37
|
import { registerDiffEditorCommands, DIFF_FOCUS_SECONDARY_SIDE, DIFF_FOCUS_PRIMARY_SIDE, DIFF_FOCUS_OTHER_SIDE, DIFF_OPEN_SIDE } from './diffEditorCommands.js';
|
|
41
|
-
|
|
38
|
+
import { resolveCommandsContext } from './editorCommandsContext.js';
|
|
42
39
|
const CLOSE_SAVED_EDITORS_COMMAND_ID = 'workbench.action.closeUnmodifiedEditors';
|
|
43
40
|
const CLOSE_EDITORS_IN_GROUP_COMMAND_ID = 'workbench.action.closeEditorsInGroup';
|
|
44
41
|
const CLOSE_EDITORS_AND_GROUP_COMMAND_ID = 'workbench.action.closeEditorsAndGroup';
|
|
@@ -132,13 +129,12 @@ function registerActiveEditorMoveCopyCommand() {
|
|
|
132
129
|
primary: 0,
|
|
133
130
|
handler: (accessor, args) => moveCopyActiveEditor(true, args, accessor),
|
|
134
131
|
metadata: {
|
|
135
|
-
description: (
|
|
132
|
+
description: ( localize(5499, "Move the active editor by tabs or groups")),
|
|
136
133
|
args: [
|
|
137
134
|
{
|
|
138
|
-
name: (
|
|
139
|
-
description: (
|
|
140
|
-
|
|
141
|
-
2,
|
|
135
|
+
name: ( localize(5500, "Active editor move argument")),
|
|
136
|
+
description: ( localize(
|
|
137
|
+
5501,
|
|
142
138
|
"Argument Properties:\n\t* 'to': String value providing where to move.\n\t* 'by': String value providing the unit for move (by tab or by group).\n\t* 'value': Number value providing how many positions or an absolute position to move."
|
|
143
139
|
)),
|
|
144
140
|
constraint: isActiveEditorMoveCopyArg,
|
|
@@ -154,13 +150,12 @@ function registerActiveEditorMoveCopyCommand() {
|
|
|
154
150
|
primary: 0,
|
|
155
151
|
handler: (accessor, args) => moveCopyActiveEditor(false, args, accessor),
|
|
156
152
|
metadata: {
|
|
157
|
-
description: (
|
|
153
|
+
description: ( localize(5502, "Copy the active editor by groups")),
|
|
158
154
|
args: [
|
|
159
155
|
{
|
|
160
|
-
name: (
|
|
161
|
-
description: (
|
|
162
|
-
|
|
163
|
-
5,
|
|
156
|
+
name: ( localize(5503, "Active editor copy argument")),
|
|
157
|
+
description: ( localize(
|
|
158
|
+
5504,
|
|
164
159
|
"Argument Properties:\n\t* 'to': String value providing where to copy.\n\t* 'value': Number value providing how many positions or an absolute position to copy."
|
|
165
160
|
)),
|
|
166
161
|
constraint: isActiveEditorMoveCopyArg,
|
|
@@ -213,55 +208,55 @@ function registerActiveEditorMoveCopyCommand() {
|
|
|
213
208
|
group.moveEditor(control.input, group, { index });
|
|
214
209
|
}
|
|
215
210
|
function moveCopyActiveEditorToGroup(isMove, args, control, accessor) {
|
|
216
|
-
const
|
|
211
|
+
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
217
212
|
const configurationService = accessor.get(IConfigurationService);
|
|
218
213
|
const sourceGroup = control.group;
|
|
219
214
|
let targetGroup;
|
|
220
215
|
switch (args.to) {
|
|
221
216
|
case 'left':
|
|
222
|
-
targetGroup =
|
|
217
|
+
targetGroup = editorGroupsService.findGroup({ direction: GroupDirection.LEFT }, sourceGroup);
|
|
223
218
|
if (!targetGroup) {
|
|
224
|
-
targetGroup =
|
|
219
|
+
targetGroup = editorGroupsService.addGroup(sourceGroup, GroupDirection.LEFT);
|
|
225
220
|
}
|
|
226
221
|
break;
|
|
227
222
|
case 'right':
|
|
228
|
-
targetGroup =
|
|
223
|
+
targetGroup = editorGroupsService.findGroup({ direction: GroupDirection.RIGHT }, sourceGroup);
|
|
229
224
|
if (!targetGroup) {
|
|
230
|
-
targetGroup =
|
|
225
|
+
targetGroup = editorGroupsService.addGroup(sourceGroup, GroupDirection.RIGHT);
|
|
231
226
|
}
|
|
232
227
|
break;
|
|
233
228
|
case 'up':
|
|
234
|
-
targetGroup =
|
|
229
|
+
targetGroup = editorGroupsService.findGroup({ direction: GroupDirection.UP }, sourceGroup);
|
|
235
230
|
if (!targetGroup) {
|
|
236
|
-
targetGroup =
|
|
231
|
+
targetGroup = editorGroupsService.addGroup(sourceGroup, GroupDirection.UP);
|
|
237
232
|
}
|
|
238
233
|
break;
|
|
239
234
|
case 'down':
|
|
240
|
-
targetGroup =
|
|
235
|
+
targetGroup = editorGroupsService.findGroup({ direction: GroupDirection.DOWN }, sourceGroup);
|
|
241
236
|
if (!targetGroup) {
|
|
242
|
-
targetGroup =
|
|
237
|
+
targetGroup = editorGroupsService.addGroup(sourceGroup, GroupDirection.DOWN);
|
|
243
238
|
}
|
|
244
239
|
break;
|
|
245
240
|
case 'first':
|
|
246
|
-
targetGroup =
|
|
241
|
+
targetGroup = editorGroupsService.findGroup({ location: GroupLocation.FIRST }, sourceGroup);
|
|
247
242
|
break;
|
|
248
243
|
case 'last':
|
|
249
|
-
targetGroup =
|
|
244
|
+
targetGroup = editorGroupsService.findGroup({ location: GroupLocation.LAST }, sourceGroup);
|
|
250
245
|
break;
|
|
251
246
|
case 'previous':
|
|
252
|
-
targetGroup =
|
|
247
|
+
targetGroup = editorGroupsService.findGroup({ location: GroupLocation.PREVIOUS }, sourceGroup);
|
|
253
248
|
break;
|
|
254
249
|
case 'next':
|
|
255
|
-
targetGroup =
|
|
250
|
+
targetGroup = editorGroupsService.findGroup({ location: GroupLocation.NEXT }, sourceGroup);
|
|
256
251
|
if (!targetGroup) {
|
|
257
|
-
targetGroup =
|
|
252
|
+
targetGroup = editorGroupsService.addGroup(sourceGroup, preferredSideBySideGroupDirection(configurationService));
|
|
258
253
|
}
|
|
259
254
|
break;
|
|
260
255
|
case 'center':
|
|
261
|
-
targetGroup =
|
|
256
|
+
targetGroup = editorGroupsService.getGroups(GroupsOrder.GRID_APPEARANCE)[(editorGroupsService.count / 2) - 1];
|
|
262
257
|
break;
|
|
263
258
|
case 'position':
|
|
264
|
-
targetGroup =
|
|
259
|
+
targetGroup = editorGroupsService.getGroups(GroupsOrder.GRID_APPEARANCE)[(args.value ?? 1) - 1];
|
|
265
260
|
break;
|
|
266
261
|
}
|
|
267
262
|
if (targetGroup) {
|
|
@@ -280,8 +275,8 @@ function registerEditorGroupsLayoutCommands() {
|
|
|
280
275
|
if (!layout || typeof layout !== 'object') {
|
|
281
276
|
return;
|
|
282
277
|
}
|
|
283
|
-
const
|
|
284
|
-
|
|
278
|
+
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
279
|
+
editorGroupsService.applyLayout(layout);
|
|
285
280
|
}
|
|
286
281
|
CommandsRegistry.registerCommand(LAYOUT_EDITOR_GROUPS_COMMAND_ID, (accessor, args) => {
|
|
287
282
|
applyEditorLayout(accessor, args);
|
|
@@ -314,8 +309,8 @@ function registerEditorGroupsLayoutCommands() {
|
|
|
314
309
|
CommandsRegistry.registerCommand({
|
|
315
310
|
id: 'vscode.getEditorLayout',
|
|
316
311
|
handler: (accessor) => {
|
|
317
|
-
const
|
|
318
|
-
return
|
|
312
|
+
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
313
|
+
return editorGroupsService.getLayout();
|
|
319
314
|
},
|
|
320
315
|
metadata: {
|
|
321
316
|
description: 'Get Editor Layout',
|
|
@@ -346,7 +341,7 @@ function registerOpenEditorAPICommands() {
|
|
|
346
341
|
});
|
|
347
342
|
CommandsRegistry.registerCommand(API_OPEN_EDITOR_COMMAND_ID, async function (accessor, resourceArg, columnAndOptions, label, context) {
|
|
348
343
|
const editorService = accessor.get(IEditorService);
|
|
349
|
-
const
|
|
344
|
+
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
350
345
|
const openerService = accessor.get(IOpenerService);
|
|
351
346
|
const pathService = accessor.get(IPathService);
|
|
352
347
|
const configurationService = accessor.get(IConfigurationService);
|
|
@@ -363,7 +358,7 @@ function registerOpenEditorAPICommands() {
|
|
|
363
358
|
else {
|
|
364
359
|
input = { resource, options, label };
|
|
365
360
|
}
|
|
366
|
-
await editorService.openEditor(input, columnToEditorGroup(
|
|
361
|
+
await editorService.openEditor(input, columnToEditorGroup(editorGroupsService, configurationService, column));
|
|
367
362
|
}
|
|
368
363
|
else if (matchesScheme(resourceOrString, Schemas.command)) {
|
|
369
364
|
return;
|
|
@@ -388,7 +383,7 @@ function registerOpenEditorAPICommands() {
|
|
|
388
383
|
});
|
|
389
384
|
CommandsRegistry.registerCommand(API_OPEN_DIFF_EDITOR_COMMAND_ID, async function (accessor, originalResource, modifiedResource, labelAndOrDescription, columnAndOptions, context) {
|
|
390
385
|
const editorService = accessor.get(IEditorService);
|
|
391
|
-
const
|
|
386
|
+
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
392
387
|
const configurationService = accessor.get(IConfigurationService);
|
|
393
388
|
const [columnArg, optionsArg] = columnAndOptions ?? [];
|
|
394
389
|
const [options, column] = mixinContext(context, optionsArg, columnArg);
|
|
@@ -407,7 +402,7 @@ function registerOpenEditorAPICommands() {
|
|
|
407
402
|
label,
|
|
408
403
|
description,
|
|
409
404
|
options
|
|
410
|
-
}, columnToEditorGroup(
|
|
405
|
+
}, columnToEditorGroup(editorGroupsService, configurationService, column));
|
|
411
406
|
});
|
|
412
407
|
CommandsRegistry.registerCommand(API_OPEN_WITH_EDITOR_COMMAND_ID, async (accessor, resource, id, columnAndOptions) => {
|
|
413
408
|
const editorService = accessor.get(IEditorService);
|
|
@@ -501,21 +496,21 @@ function registerFocusEditorGroupAtIndexCommands() {
|
|
|
501
496
|
when: undefined,
|
|
502
497
|
primary: KeyMod$1.CtrlCmd | toKeyCode(groupIndex),
|
|
503
498
|
handler: accessor => {
|
|
504
|
-
const
|
|
499
|
+
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
505
500
|
const configurationService = accessor.get(IConfigurationService);
|
|
506
|
-
if (groupIndex >
|
|
501
|
+
if (groupIndex > editorGroupsService.count) {
|
|
507
502
|
return;
|
|
508
503
|
}
|
|
509
|
-
const groups =
|
|
504
|
+
const groups = editorGroupsService.getGroups(GroupsOrder.GRID_APPEARANCE);
|
|
510
505
|
if (groups[groupIndex]) {
|
|
511
506
|
return groups[groupIndex].focus();
|
|
512
507
|
}
|
|
513
508
|
const direction = preferredSideBySideGroupDirection(configurationService);
|
|
514
|
-
const lastGroup =
|
|
509
|
+
const lastGroup = editorGroupsService.findGroup({ location: GroupLocation.LAST });
|
|
515
510
|
if (!lastGroup) {
|
|
516
511
|
return;
|
|
517
512
|
}
|
|
518
|
-
const newGroup =
|
|
513
|
+
const newGroup = editorGroupsService.addGroup(lastGroup, direction);
|
|
519
514
|
newGroup.focus();
|
|
520
515
|
}
|
|
521
516
|
});
|
|
@@ -545,41 +540,19 @@ function registerFocusEditorGroupAtIndexCommands() {
|
|
|
545
540
|
throw ( (new Error('Invalid index')));
|
|
546
541
|
}
|
|
547
542
|
}
|
|
548
|
-
function splitEditor(
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
else {
|
|
557
|
-
currentGroup = editorGroupService.activeGroup;
|
|
558
|
-
}
|
|
559
|
-
if (!currentGroup) {
|
|
560
|
-
continue;
|
|
561
|
-
}
|
|
562
|
-
if (!sourceGroup) {
|
|
563
|
-
sourceGroup = currentGroup;
|
|
564
|
-
}
|
|
565
|
-
else if (sourceGroup.id !== currentGroup.id) {
|
|
566
|
-
continue;
|
|
567
|
-
}
|
|
568
|
-
if (!newGroup) {
|
|
569
|
-
newGroup = editorGroupService.addGroup(currentGroup, direction);
|
|
570
|
-
}
|
|
571
|
-
let editorToCopy;
|
|
572
|
-
if (context && typeof context.editorIndex === 'number') {
|
|
573
|
-
editorToCopy = currentGroup.getEditorByIndex(context.editorIndex);
|
|
574
|
-
}
|
|
575
|
-
else {
|
|
576
|
-
editorToCopy = currentGroup.activeEditor ?? undefined;
|
|
577
|
-
}
|
|
543
|
+
function splitEditor(editorGroupsService, direction, resolvedContext) {
|
|
544
|
+
if (!resolvedContext.groupedEditors.length) {
|
|
545
|
+
return;
|
|
546
|
+
}
|
|
547
|
+
const { group, editors } = resolvedContext.groupedEditors[0];
|
|
548
|
+
const preserveFocus = resolvedContext.preserveFocus;
|
|
549
|
+
const newGroup = editorGroupsService.addGroup(group, direction);
|
|
550
|
+
for (const editorToCopy of editors) {
|
|
578
551
|
if (editorToCopy && !editorToCopy.hasCapability(EditorInputCapabilities.Singleton)) {
|
|
579
|
-
|
|
552
|
+
group.copyEditor(editorToCopy, newGroup, { preserveFocus });
|
|
580
553
|
}
|
|
581
554
|
}
|
|
582
|
-
newGroup
|
|
555
|
+
newGroup.focus();
|
|
583
556
|
}
|
|
584
557
|
function registerSplitEditorCommands() {
|
|
585
558
|
[
|
|
@@ -588,21 +561,21 @@ function registerSplitEditorCommands() {
|
|
|
588
561
|
{ id: SPLIT_EDITOR_LEFT, direction: GroupDirection.LEFT },
|
|
589
562
|
{ id: SPLIT_EDITOR_RIGHT, direction: GroupDirection.RIGHT }
|
|
590
563
|
].forEach(({ id, direction }) => {
|
|
591
|
-
CommandsRegistry.registerCommand(id, function (accessor,
|
|
592
|
-
const
|
|
593
|
-
splitEditor(accessor.get(IEditorGroupsService), direction,
|
|
564
|
+
CommandsRegistry.registerCommand(id, function (accessor, ...args) {
|
|
565
|
+
const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService));
|
|
566
|
+
splitEditor(accessor.get(IEditorGroupsService), direction, resolvedContext);
|
|
594
567
|
});
|
|
595
568
|
});
|
|
596
569
|
}
|
|
597
570
|
function registerCloseEditorCommands() {
|
|
598
|
-
function closeEditorHandler(accessor, forceCloseStickyEditors,
|
|
571
|
+
function closeEditorHandler(accessor, forceCloseStickyEditors, ...args) {
|
|
599
572
|
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
600
573
|
const editorService = accessor.get(IEditorService);
|
|
601
574
|
let keepStickyEditors = undefined;
|
|
602
575
|
if (forceCloseStickyEditors) {
|
|
603
576
|
keepStickyEditors = false;
|
|
604
577
|
}
|
|
605
|
-
else if (
|
|
578
|
+
else if (args.length) {
|
|
606
579
|
keepStickyEditors = false;
|
|
607
580
|
}
|
|
608
581
|
else {
|
|
@@ -622,17 +595,11 @@ function registerCloseEditorCommands() {
|
|
|
622
595
|
}
|
|
623
596
|
}
|
|
624
597
|
}
|
|
625
|
-
const
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
.map(
|
|
631
|
-
editor => typeof editor.editorIndex === 'number' ? group.getEditorByIndex(editor.editorIndex) : group.activeEditor
|
|
632
|
-
))))
|
|
633
|
-
.filter(editor => !keepStickyEditors || !group.isSticky(editor));
|
|
634
|
-
await group.closeEditors(editorsToClose, { preserveFocus: context?.preserveFocus });
|
|
635
|
-
}
|
|
598
|
+
const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService));
|
|
599
|
+
const preserveFocus = resolvedContext.preserveFocus;
|
|
600
|
+
return Promise.all(( (resolvedContext.groupedEditors.map(async ({ group, editors }) => {
|
|
601
|
+
const editorsToClose = editors.filter(editor => !keepStickyEditors || !group.isSticky(editor));
|
|
602
|
+
await group.closeEditors(editorsToClose, { preserveFocus });
|
|
636
603
|
}))));
|
|
637
604
|
}
|
|
638
605
|
KeybindingsRegistry.registerCommandAndKeybindingRule({
|
|
@@ -641,24 +608,22 @@ function registerCloseEditorCommands() {
|
|
|
641
608
|
when: undefined,
|
|
642
609
|
primary: KeyMod$1.CtrlCmd | KeyCode.KeyW,
|
|
643
610
|
win: { primary: KeyMod$1.CtrlCmd | KeyCode.F4, secondary: [KeyMod$1.CtrlCmd | KeyCode.KeyW] },
|
|
644
|
-
handler: (accessor,
|
|
645
|
-
return closeEditorHandler(accessor, false,
|
|
611
|
+
handler: (accessor, ...args) => {
|
|
612
|
+
return closeEditorHandler(accessor, false, ...args);
|
|
646
613
|
}
|
|
647
614
|
});
|
|
648
|
-
CommandsRegistry.registerCommand(CLOSE_PINNED_EDITOR_COMMAND_ID, (accessor,
|
|
649
|
-
return closeEditorHandler(accessor, true ,
|
|
615
|
+
CommandsRegistry.registerCommand(CLOSE_PINNED_EDITOR_COMMAND_ID, (accessor, ...args) => {
|
|
616
|
+
return closeEditorHandler(accessor, true , ...args);
|
|
650
617
|
});
|
|
651
618
|
KeybindingsRegistry.registerCommandAndKeybindingRule({
|
|
652
619
|
id: CLOSE_EDITORS_IN_GROUP_COMMAND_ID,
|
|
653
620
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
654
621
|
when: undefined,
|
|
655
622
|
primary: KeyChord(KeyMod$1.CtrlCmd | KeyCode.KeyK, KeyCode.KeyW),
|
|
656
|
-
handler: (accessor,
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
return;
|
|
661
|
-
}
|
|
623
|
+
handler: (accessor, ...args) => {
|
|
624
|
+
const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService));
|
|
625
|
+
return Promise.all(( (resolvedContext.groupedEditors.map(async ({ group }) => {
|
|
626
|
+
await group.closeAllEditors({ excludeSticky: true });
|
|
662
627
|
}))));
|
|
663
628
|
}
|
|
664
629
|
});
|
|
@@ -668,18 +633,11 @@ function registerCloseEditorCommands() {
|
|
|
668
633
|
when: ( (ContextKeyExpr.and(ActiveEditorGroupEmptyContext, MultipleEditorGroupsContext))),
|
|
669
634
|
primary: KeyMod$1.CtrlCmd | KeyCode.KeyW,
|
|
670
635
|
win: { primary: KeyMod$1.CtrlCmd | KeyCode.F4, secondary: [KeyMod$1.CtrlCmd | KeyCode.KeyW] },
|
|
671
|
-
handler: (accessor,
|
|
672
|
-
const
|
|
673
|
-
const commandsContext =
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
group = editorGroupService.getGroup(commandsContext.groupId);
|
|
677
|
-
}
|
|
678
|
-
else {
|
|
679
|
-
group = editorGroupService.activeGroup;
|
|
680
|
-
}
|
|
681
|
-
if (group) {
|
|
682
|
-
editorGroupService.removeGroup(group);
|
|
636
|
+
handler: (accessor, ...args) => {
|
|
637
|
+
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
638
|
+
const commandsContext = resolveCommandsContext(args, accessor.get(IEditorService), editorGroupsService, accessor.get(IListService));
|
|
639
|
+
if (commandsContext.groupedEditors.length) {
|
|
640
|
+
editorGroupsService.removeGroup(commandsContext.groupedEditors[0].group);
|
|
683
641
|
}
|
|
684
642
|
}
|
|
685
643
|
});
|
|
@@ -688,11 +646,10 @@ function registerCloseEditorCommands() {
|
|
|
688
646
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
689
647
|
when: undefined,
|
|
690
648
|
primary: KeyChord(KeyMod$1.CtrlCmd | KeyCode.KeyK, KeyCode.KeyU),
|
|
691
|
-
handler: (accessor,
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
}
|
|
649
|
+
handler: (accessor, ...args) => {
|
|
650
|
+
const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService));
|
|
651
|
+
return Promise.all(( (resolvedContext.groupedEditors.map(async ({ group }) => {
|
|
652
|
+
await group.closeEditors({ savedOnly: true, excludeSticky: true }, { preserveFocus: resolvedContext.preserveFocus });
|
|
696
653
|
}))));
|
|
697
654
|
}
|
|
698
655
|
});
|
|
@@ -702,23 +659,16 @@ function registerCloseEditorCommands() {
|
|
|
702
659
|
when: undefined,
|
|
703
660
|
primary: undefined,
|
|
704
661
|
mac: { primary: KeyMod$1.CtrlCmd | KeyMod$1.Alt | KeyCode.KeyT },
|
|
705
|
-
handler: (accessor,
|
|
706
|
-
const
|
|
707
|
-
return Promise.all(( (
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
.
|
|
712
|
-
editor => typeof editor.editorIndex === 'number' ? group.getEditorByIndex(editor.editorIndex) : group.activeEditor
|
|
713
|
-
)));
|
|
714
|
-
const editorsToClose = group.getEditors(EditorsOrder.SEQUENTIAL, { excludeSticky: true }).filter(editor => !editorsToKeep.includes(editor));
|
|
715
|
-
for (const editorToKeep of editorsToKeep) {
|
|
716
|
-
if (editorToKeep) {
|
|
717
|
-
group.pinEditor(editorToKeep);
|
|
718
|
-
}
|
|
662
|
+
handler: (accessor, ...args) => {
|
|
663
|
+
const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService));
|
|
664
|
+
return Promise.all(( (resolvedContext.groupedEditors.map(async ({ group, editors }) => {
|
|
665
|
+
const editorsToClose = group.getEditors(EditorsOrder.SEQUENTIAL, { excludeSticky: true }).filter(editor => !editors.includes(editor));
|
|
666
|
+
for (const editorToKeep of editors) {
|
|
667
|
+
if (editorToKeep) {
|
|
668
|
+
group.pinEditor(editorToKeep);
|
|
719
669
|
}
|
|
720
|
-
await group.closeEditors(editorsToClose, { preserveFocus: context?.preserveFocus });
|
|
721
670
|
}
|
|
671
|
+
await group.closeEditors(editorsToClose, { preserveFocus: resolvedContext.preserveFocus });
|
|
722
672
|
}))));
|
|
723
673
|
}
|
|
724
674
|
});
|
|
@@ -727,14 +677,14 @@ function registerCloseEditorCommands() {
|
|
|
727
677
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
728
678
|
when: undefined,
|
|
729
679
|
primary: undefined,
|
|
730
|
-
handler: async (accessor,
|
|
731
|
-
const
|
|
732
|
-
|
|
733
|
-
|
|
680
|
+
handler: async (accessor, ...args) => {
|
|
681
|
+
const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService));
|
|
682
|
+
if (resolvedContext.groupedEditors.length) {
|
|
683
|
+
const { group, editors } = resolvedContext.groupedEditors[0];
|
|
734
684
|
if (group.activeEditor) {
|
|
735
685
|
group.pinEditor(group.activeEditor);
|
|
736
686
|
}
|
|
737
|
-
await group.closeEditors({ direction: CloseDirection.RIGHT, except:
|
|
687
|
+
await group.closeEditors({ direction: CloseDirection.RIGHT, except: editors[0], excludeSticky: true }, { preserveFocus: resolvedContext.preserveFocus });
|
|
738
688
|
}
|
|
739
689
|
}
|
|
740
690
|
});
|
|
@@ -743,39 +693,41 @@ function registerCloseEditorCommands() {
|
|
|
743
693
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
744
694
|
when: undefined,
|
|
745
695
|
primary: undefined,
|
|
746
|
-
handler: async (accessor,
|
|
696
|
+
handler: async (accessor, ...args) => {
|
|
747
697
|
const editorService = accessor.get(IEditorService);
|
|
748
698
|
const editorResolverService = accessor.get(IEditorResolverService);
|
|
749
699
|
const telemetryService = accessor.get(ITelemetryService);
|
|
750
|
-
const
|
|
700
|
+
const resolvedContext = resolveCommandsContext(args, editorService, accessor.get(IEditorGroupsService), accessor.get(IListService));
|
|
751
701
|
const editorReplacements = ( (new Map()));
|
|
752
|
-
for (const {
|
|
753
|
-
const
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
editorReplacementsInGroup
|
|
765
|
-
|
|
702
|
+
for (const { group, editors } of resolvedContext.groupedEditors) {
|
|
703
|
+
for (const editor of editors) {
|
|
704
|
+
const untypedEditor = editor.toUntyped();
|
|
705
|
+
if (!untypedEditor) {
|
|
706
|
+
return;
|
|
707
|
+
}
|
|
708
|
+
untypedEditor.options = { ...editorService.activeEditorPane?.options, override: EditorResolution.PICK };
|
|
709
|
+
const resolvedEditor = await editorResolverService.resolveEditor(untypedEditor, group);
|
|
710
|
+
if (!isEditorInputWithOptionsAndGroup(resolvedEditor)) {
|
|
711
|
+
return;
|
|
712
|
+
}
|
|
713
|
+
let editorReplacementsInGroup = editorReplacements.get(group);
|
|
714
|
+
if (!editorReplacementsInGroup) {
|
|
715
|
+
editorReplacementsInGroup = [];
|
|
716
|
+
editorReplacements.set(group, editorReplacementsInGroup);
|
|
717
|
+
}
|
|
718
|
+
editorReplacementsInGroup.push({
|
|
719
|
+
editor: editor,
|
|
720
|
+
replacement: resolvedEditor.editor,
|
|
721
|
+
forceReplaceDirty: editor.resource?.scheme === Schemas.untitled,
|
|
722
|
+
options: resolvedEditor.options
|
|
723
|
+
});
|
|
724
|
+
telemetryService.publicLog2('workbenchEditorReopen', {
|
|
725
|
+
scheme: editor.resource?.scheme ?? '',
|
|
726
|
+
ext: editor.resource ? extname(editor.resource) : '',
|
|
727
|
+
from: editor.editorId ?? '',
|
|
728
|
+
to: resolvedEditor.editor.editorId ?? ''
|
|
729
|
+
});
|
|
766
730
|
}
|
|
767
|
-
editorReplacementsInGroup.push({
|
|
768
|
-
editor: editor,
|
|
769
|
-
replacement: resolvedEditor.editor,
|
|
770
|
-
forceReplaceDirty: editor.resource?.scheme === Schemas.untitled,
|
|
771
|
-
options: resolvedEditor.options
|
|
772
|
-
});
|
|
773
|
-
telemetryService.publicLog2('workbenchEditorReopen', {
|
|
774
|
-
scheme: editor.resource?.scheme ?? '',
|
|
775
|
-
ext: editor.resource ? extname(editor.resource) : '',
|
|
776
|
-
from: editor.editorId ?? '',
|
|
777
|
-
to: resolvedEditor.editor.editorId ?? ''
|
|
778
|
-
});
|
|
779
731
|
}
|
|
780
732
|
for (const [group, replacements] of editorReplacements) {
|
|
781
733
|
await group.replaceEditors(replacements);
|
|
@@ -783,13 +735,14 @@ function registerCloseEditorCommands() {
|
|
|
783
735
|
}
|
|
784
736
|
}
|
|
785
737
|
});
|
|
786
|
-
CommandsRegistry.registerCommand(CLOSE_EDITORS_AND_GROUP_COMMAND_ID, async (accessor,
|
|
787
|
-
const
|
|
788
|
-
const
|
|
789
|
-
if (
|
|
738
|
+
CommandsRegistry.registerCommand(CLOSE_EDITORS_AND_GROUP_COMMAND_ID, async (accessor, ...args) => {
|
|
739
|
+
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
740
|
+
const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), editorGroupsService, accessor.get(IListService));
|
|
741
|
+
if (resolvedContext.groupedEditors.length) {
|
|
742
|
+
const { group } = resolvedContext.groupedEditors[0];
|
|
790
743
|
await group.closeAllEditors();
|
|
791
|
-
if (group.count === 0 &&
|
|
792
|
-
|
|
744
|
+
if (group.count === 0 && editorGroupsService.getGroup(group.id) ) {
|
|
745
|
+
editorGroupsService.removeGroup(group);
|
|
793
746
|
}
|
|
794
747
|
}
|
|
795
748
|
});
|
|
@@ -815,17 +768,20 @@ function registerFocusEditorGroupWihoutWrapCommands() {
|
|
|
815
768
|
];
|
|
816
769
|
for (const command of commands) {
|
|
817
770
|
CommandsRegistry.registerCommand(command.id, async (accessor) => {
|
|
818
|
-
const
|
|
819
|
-
const group =
|
|
771
|
+
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
772
|
+
const group = editorGroupsService.findGroup({ direction: command.direction }, editorGroupsService.activeGroup, false);
|
|
820
773
|
group?.focus();
|
|
821
774
|
});
|
|
822
775
|
}
|
|
823
776
|
}
|
|
824
777
|
function registerSplitEditorInGroupCommands() {
|
|
825
|
-
async function splitEditorInGroup(accessor,
|
|
826
|
-
const editorGroupService = accessor.get(IEditorGroupsService);
|
|
778
|
+
async function splitEditorInGroup(accessor, resolvedContext) {
|
|
827
779
|
const instantiationService = accessor.get(IInstantiationService);
|
|
828
|
-
|
|
780
|
+
if (!resolvedContext.groupedEditors.length) {
|
|
781
|
+
return;
|
|
782
|
+
}
|
|
783
|
+
const { group, editors } = resolvedContext.groupedEditors[0];
|
|
784
|
+
const editor = editors[0];
|
|
829
785
|
if (!editor) {
|
|
830
786
|
return;
|
|
831
787
|
}
|
|
@@ -839,7 +795,7 @@ function registerSplitEditorInGroupCommands() {
|
|
|
839
795
|
constructor() {
|
|
840
796
|
super({
|
|
841
797
|
id: SPLIT_EDITOR_IN_GROUP,
|
|
842
|
-
title: (
|
|
798
|
+
title: ( localize2(5505, 'Split Editor in Group')),
|
|
843
799
|
category: Categories.View,
|
|
844
800
|
precondition: ActiveEditorCanSplitInGroupContext,
|
|
845
801
|
f1: true,
|
|
@@ -850,13 +806,19 @@ function registerSplitEditorInGroupCommands() {
|
|
|
850
806
|
}
|
|
851
807
|
});
|
|
852
808
|
}
|
|
853
|
-
run(accessor,
|
|
854
|
-
return splitEditorInGroup(accessor,
|
|
809
|
+
run(accessor, ...args) {
|
|
810
|
+
return splitEditorInGroup(accessor, resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService)));
|
|
855
811
|
}
|
|
856
812
|
});
|
|
857
|
-
async function joinEditorInGroup(
|
|
858
|
-
|
|
859
|
-
|
|
813
|
+
async function joinEditorInGroup(resolvedContext) {
|
|
814
|
+
if (!resolvedContext.groupedEditors.length) {
|
|
815
|
+
return;
|
|
816
|
+
}
|
|
817
|
+
const { group, editors } = resolvedContext.groupedEditors[0];
|
|
818
|
+
const editor = editors[0];
|
|
819
|
+
if (!editor) {
|
|
820
|
+
return;
|
|
821
|
+
}
|
|
860
822
|
if (!(editor instanceof SideBySideEditorInput)) {
|
|
861
823
|
return;
|
|
862
824
|
}
|
|
@@ -880,7 +842,7 @@ function registerSplitEditorInGroupCommands() {
|
|
|
880
842
|
constructor() {
|
|
881
843
|
super({
|
|
882
844
|
id: JOIN_EDITOR_IN_GROUP,
|
|
883
|
-
title: (
|
|
845
|
+
title: ( localize2(5506, 'Join Editor in Group')),
|
|
884
846
|
category: Categories.View,
|
|
885
847
|
precondition: SideBySideEditorActiveContext,
|
|
886
848
|
f1: true,
|
|
@@ -891,28 +853,31 @@ function registerSplitEditorInGroupCommands() {
|
|
|
891
853
|
}
|
|
892
854
|
});
|
|
893
855
|
}
|
|
894
|
-
run(accessor,
|
|
895
|
-
return joinEditorInGroup(accessor,
|
|
856
|
+
run(accessor, ...args) {
|
|
857
|
+
return joinEditorInGroup(resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService)));
|
|
896
858
|
}
|
|
897
859
|
});
|
|
898
860
|
registerAction2(class extends Action2 {
|
|
899
861
|
constructor() {
|
|
900
862
|
super({
|
|
901
863
|
id: TOGGLE_SPLIT_EDITOR_IN_GROUP,
|
|
902
|
-
title: (
|
|
864
|
+
title: ( localize2(5507, 'Toggle Split Editor in Group')),
|
|
903
865
|
category: Categories.View,
|
|
904
866
|
precondition: ( (ContextKeyExpr.or(ActiveEditorCanSplitInGroupContext, SideBySideEditorActiveContext))),
|
|
905
867
|
f1: true
|
|
906
868
|
});
|
|
907
869
|
}
|
|
908
|
-
async run(accessor,
|
|
909
|
-
const
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
await joinEditorInGroup(accessor, resourceOrContext, context);
|
|
870
|
+
async run(accessor, ...args) {
|
|
871
|
+
const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService));
|
|
872
|
+
if (!resolvedContext.groupedEditors.length) {
|
|
873
|
+
return;
|
|
913
874
|
}
|
|
914
|
-
|
|
915
|
-
|
|
875
|
+
const { editors } = resolvedContext.groupedEditors[0];
|
|
876
|
+
if (editors[0] instanceof SideBySideEditorInput) {
|
|
877
|
+
await joinEditorInGroup(resolvedContext);
|
|
878
|
+
}
|
|
879
|
+
else if (editors[0]) {
|
|
880
|
+
await splitEditorInGroup(accessor, resolvedContext);
|
|
916
881
|
}
|
|
917
882
|
}
|
|
918
883
|
});
|
|
@@ -920,7 +885,7 @@ function registerSplitEditorInGroupCommands() {
|
|
|
920
885
|
constructor() {
|
|
921
886
|
super({
|
|
922
887
|
id: TOGGLE_SPLIT_EDITOR_IN_GROUP_LAYOUT,
|
|
923
|
-
title: (
|
|
888
|
+
title: ( localize2(5508, 'Toggle Layout of Split Editor in Group')),
|
|
924
889
|
category: Categories.View,
|
|
925
890
|
precondition: SideBySideEditorActiveContext,
|
|
926
891
|
f1: true
|
|
@@ -945,7 +910,7 @@ function registerFocusSideEditorsCommands() {
|
|
|
945
910
|
constructor() {
|
|
946
911
|
super({
|
|
947
912
|
id: FOCUS_FIRST_SIDE_EDITOR,
|
|
948
|
-
title: (
|
|
913
|
+
title: ( localize2(5509, 'Focus First Side in Active Editor')),
|
|
949
914
|
category: Categories.View,
|
|
950
915
|
precondition: ( (ContextKeyExpr.or(SideBySideEditorActiveContext, TextCompareEditorActiveContext))),
|
|
951
916
|
f1: true
|
|
@@ -967,7 +932,7 @@ function registerFocusSideEditorsCommands() {
|
|
|
967
932
|
constructor() {
|
|
968
933
|
super({
|
|
969
934
|
id: FOCUS_SECOND_SIDE_EDITOR,
|
|
970
|
-
title: (
|
|
935
|
+
title: ( localize2(5510, 'Focus Second Side in Active Editor')),
|
|
971
936
|
category: Categories.View,
|
|
972
937
|
precondition: ( (ContextKeyExpr.or(SideBySideEditorActiveContext, TextCompareEditorActiveContext))),
|
|
973
938
|
f1: true
|
|
@@ -989,7 +954,7 @@ function registerFocusSideEditorsCommands() {
|
|
|
989
954
|
constructor() {
|
|
990
955
|
super({
|
|
991
956
|
id: FOCUS_OTHER_SIDE_EDITOR,
|
|
992
|
-
title: (
|
|
957
|
+
title: ( localize2(5511, 'Focus Other Side in Active Editor')),
|
|
993
958
|
category: Categories.View,
|
|
994
959
|
precondition: ( (ContextKeyExpr.or(SideBySideEditorActiveContext, TextCompareEditorActiveContext))),
|
|
995
960
|
f1: true
|
|
@@ -1019,11 +984,12 @@ function registerOtherEditorCommands() {
|
|
|
1019
984
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
1020
985
|
when: undefined,
|
|
1021
986
|
primary: KeyChord(KeyMod$1.CtrlCmd | KeyCode.KeyK, KeyCode.Enter),
|
|
1022
|
-
handler: async (accessor,
|
|
1023
|
-
const
|
|
1024
|
-
const { group,
|
|
1025
|
-
|
|
1026
|
-
|
|
987
|
+
handler: async (accessor, ...args) => {
|
|
988
|
+
const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService));
|
|
989
|
+
for (const { group, editors } of resolvedContext.groupedEditors) {
|
|
990
|
+
for (const editor of editors) {
|
|
991
|
+
group.pinEditor(editor);
|
|
992
|
+
}
|
|
1027
993
|
}
|
|
1028
994
|
}
|
|
1029
995
|
});
|
|
@@ -1036,50 +1002,50 @@ function registerOtherEditorCommands() {
|
|
|
1036
1002
|
configurationService.updateValue('workbench.editor.enablePreview', newSetting);
|
|
1037
1003
|
}
|
|
1038
1004
|
});
|
|
1039
|
-
function setEditorGroupLock(accessor,
|
|
1040
|
-
const
|
|
1041
|
-
const
|
|
1005
|
+
function setEditorGroupLock(accessor, locked, ...args) {
|
|
1006
|
+
const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService));
|
|
1007
|
+
const group = resolvedContext.groupedEditors[0]?.group;
|
|
1042
1008
|
group?.lock(locked ?? !group.isLocked);
|
|
1043
1009
|
}
|
|
1044
1010
|
registerAction2(class extends Action2 {
|
|
1045
1011
|
constructor() {
|
|
1046
1012
|
super({
|
|
1047
1013
|
id: TOGGLE_LOCK_GROUP_COMMAND_ID,
|
|
1048
|
-
title: (
|
|
1014
|
+
title: ( localize2(5512, 'Toggle Editor Group Lock')),
|
|
1049
1015
|
category: Categories.View,
|
|
1050
1016
|
f1: true
|
|
1051
1017
|
});
|
|
1052
1018
|
}
|
|
1053
|
-
async run(accessor,
|
|
1054
|
-
setEditorGroupLock(accessor,
|
|
1019
|
+
async run(accessor, ...args) {
|
|
1020
|
+
setEditorGroupLock(accessor, undefined, ...args);
|
|
1055
1021
|
}
|
|
1056
1022
|
});
|
|
1057
1023
|
registerAction2(class extends Action2 {
|
|
1058
1024
|
constructor() {
|
|
1059
1025
|
super({
|
|
1060
1026
|
id: LOCK_GROUP_COMMAND_ID,
|
|
1061
|
-
title: (
|
|
1027
|
+
title: ( localize2(5513, 'Lock Editor Group')),
|
|
1062
1028
|
category: Categories.View,
|
|
1063
1029
|
precondition: ( (ActiveEditorGroupLockedContext.toNegated())),
|
|
1064
1030
|
f1: true
|
|
1065
1031
|
});
|
|
1066
1032
|
}
|
|
1067
|
-
async run(accessor,
|
|
1068
|
-
setEditorGroupLock(accessor,
|
|
1033
|
+
async run(accessor, ...args) {
|
|
1034
|
+
setEditorGroupLock(accessor, true, ...args);
|
|
1069
1035
|
}
|
|
1070
1036
|
});
|
|
1071
1037
|
registerAction2(class extends Action2 {
|
|
1072
1038
|
constructor() {
|
|
1073
1039
|
super({
|
|
1074
1040
|
id: UNLOCK_GROUP_COMMAND_ID,
|
|
1075
|
-
title: (
|
|
1041
|
+
title: ( localize2(5514, 'Unlock Editor Group')),
|
|
1076
1042
|
precondition: ActiveEditorGroupLockedContext,
|
|
1077
1043
|
category: Categories.View,
|
|
1078
1044
|
f1: true
|
|
1079
1045
|
});
|
|
1080
1046
|
}
|
|
1081
|
-
async run(accessor,
|
|
1082
|
-
setEditorGroupLock(accessor,
|
|
1047
|
+
async run(accessor, ...args) {
|
|
1048
|
+
setEditorGroupLock(accessor, false, ...args);
|
|
1083
1049
|
}
|
|
1084
1050
|
});
|
|
1085
1051
|
KeybindingsRegistry.registerCommandAndKeybindingRule({
|
|
@@ -1087,9 +1053,12 @@ function registerOtherEditorCommands() {
|
|
|
1087
1053
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
1088
1054
|
when: ( (ActiveEditorStickyContext.toNegated())),
|
|
1089
1055
|
primary: KeyChord(KeyMod$1.CtrlCmd | KeyCode.KeyK, KeyMod$1.Shift | KeyCode.Enter),
|
|
1090
|
-
handler: async (accessor,
|
|
1091
|
-
|
|
1092
|
-
|
|
1056
|
+
handler: async (accessor, ...args) => {
|
|
1057
|
+
const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService));
|
|
1058
|
+
for (const { group, editors } of resolvedContext.groupedEditors) {
|
|
1059
|
+
for (const editor of editors) {
|
|
1060
|
+
group.stickEditor(editor);
|
|
1061
|
+
}
|
|
1093
1062
|
}
|
|
1094
1063
|
}
|
|
1095
1064
|
});
|
|
@@ -1100,7 +1069,7 @@ function registerOtherEditorCommands() {
|
|
|
1100
1069
|
primary: KeyChord(KeyMod$1.CtrlCmd | KeyCode.KeyK, KeyMod$1.Shift | KeyCode.KeyO),
|
|
1101
1070
|
handler: async (accessor) => {
|
|
1102
1071
|
const editorService = accessor.get(IEditorService);
|
|
1103
|
-
const
|
|
1072
|
+
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
1104
1073
|
const activeEditor = editorService.activeEditor;
|
|
1105
1074
|
const activeTextEditorControl = editorService.activeTextEditorControl;
|
|
1106
1075
|
if (!isDiffEditor(activeTextEditorControl) || !(activeEditor instanceof DiffEditorInput)) {
|
|
@@ -1114,7 +1083,7 @@ function registerOtherEditorCommands() {
|
|
|
1114
1083
|
else {
|
|
1115
1084
|
editor = activeEditor.modified;
|
|
1116
1085
|
}
|
|
1117
|
-
return
|
|
1086
|
+
return editorGroupsService.activeGroup.openEditor(editor);
|
|
1118
1087
|
}
|
|
1119
1088
|
});
|
|
1120
1089
|
KeybindingsRegistry.registerCommandAndKeybindingRule({
|
|
@@ -1122,9 +1091,12 @@ function registerOtherEditorCommands() {
|
|
|
1122
1091
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
1123
1092
|
when: ActiveEditorStickyContext,
|
|
1124
1093
|
primary: KeyChord(KeyMod$1.CtrlCmd | KeyCode.KeyK, KeyMod$1.Shift | KeyCode.Enter),
|
|
1125
|
-
handler: async (accessor,
|
|
1126
|
-
|
|
1127
|
-
|
|
1094
|
+
handler: async (accessor, ...args) => {
|
|
1095
|
+
const resolvedContext = resolveCommandsContext(args, accessor.get(IEditorService), accessor.get(IEditorGroupsService), accessor.get(IListService));
|
|
1096
|
+
for (const { group, editors } of resolvedContext.groupedEditors) {
|
|
1097
|
+
for (const editor of editors) {
|
|
1098
|
+
group.unstickEditor(editor);
|
|
1099
|
+
}
|
|
1128
1100
|
}
|
|
1129
1101
|
}
|
|
1130
1102
|
});
|
|
@@ -1133,113 +1105,18 @@ function registerOtherEditorCommands() {
|
|
|
1133
1105
|
weight: KeybindingWeight.WorkbenchContrib,
|
|
1134
1106
|
when: undefined,
|
|
1135
1107
|
primary: undefined,
|
|
1136
|
-
handler: (accessor,
|
|
1137
|
-
const
|
|
1108
|
+
handler: (accessor, ...args) => {
|
|
1109
|
+
const editorGroupsService = accessor.get(IEditorGroupsService);
|
|
1138
1110
|
const quickInputService = accessor.get(IQuickInputService);
|
|
1139
|
-
const commandsContext =
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
editorGroupService.activateGroup(group);
|
|
1144
|
-
}
|
|
1111
|
+
const commandsContext = resolveCommandsContext(args, accessor.get(IEditorService), editorGroupsService, accessor.get(IListService));
|
|
1112
|
+
const group = commandsContext.groupedEditors[0]?.group;
|
|
1113
|
+
if (group) {
|
|
1114
|
+
editorGroupsService.activateGroup(group);
|
|
1145
1115
|
}
|
|
1146
1116
|
return quickInputService.quickAccess.show(ActiveGroupEditorsByMostRecentlyUsedQuickAccess.PREFIX);
|
|
1147
1117
|
}
|
|
1148
1118
|
});
|
|
1149
1119
|
}
|
|
1150
|
-
function getEditorsContext(accessor, resourceOrContext, context) {
|
|
1151
|
-
const editorGroupService = accessor.get(IEditorGroupsService);
|
|
1152
|
-
const listService = accessor.get(IListService);
|
|
1153
|
-
const editorContext = getMultiSelectedEditorContexts(getCommandsContext(accessor, resourceOrContext, context), listService, editorGroupService);
|
|
1154
|
-
const activeGroup = editorGroupService.activeGroup;
|
|
1155
|
-
if (editorContext.length === 0 && activeGroup.activeEditor) {
|
|
1156
|
-
editorContext.push({
|
|
1157
|
-
groupId: activeGroup.id,
|
|
1158
|
-
editorIndex: activeGroup.getIndexOfEditor(activeGroup.activeEditor)
|
|
1159
|
-
});
|
|
1160
|
-
}
|
|
1161
|
-
return {
|
|
1162
|
-
editors: editorContext,
|
|
1163
|
-
groups: ( (distinct(( (editorContext.map(context => context.groupId)))).map(groupId => editorGroupService.getGroup(groupId))))
|
|
1164
|
-
};
|
|
1165
|
-
}
|
|
1166
|
-
function resolveEditorsContext(context) {
|
|
1167
|
-
const { editors, groups } = context;
|
|
1168
|
-
const editorsAndGroup = ( (editors.map(e => {
|
|
1169
|
-
if (e.editorIndex === undefined) {
|
|
1170
|
-
return undefined;
|
|
1171
|
-
}
|
|
1172
|
-
const group = groups.find(group => group && group.id === e.groupId);
|
|
1173
|
-
const editor = group?.getEditorByIndex(e.editorIndex);
|
|
1174
|
-
if (!editor || !group) {
|
|
1175
|
-
return undefined;
|
|
1176
|
-
}
|
|
1177
|
-
return { editor, group };
|
|
1178
|
-
})));
|
|
1179
|
-
return coalesce(editorsAndGroup);
|
|
1180
|
-
}
|
|
1181
|
-
function getCommandsContext(accessor, resourceOrContext, context) {
|
|
1182
|
-
const isUri = URI.isUri(resourceOrContext);
|
|
1183
|
-
const editorCommandsContext = isUri ? context : resourceOrContext ? resourceOrContext : context;
|
|
1184
|
-
if (editorCommandsContext && isEditorCommandsContext(editorCommandsContext)) {
|
|
1185
|
-
return editorCommandsContext;
|
|
1186
|
-
}
|
|
1187
|
-
if (isUri) {
|
|
1188
|
-
const editorGroupService = accessor.get(IEditorGroupsService);
|
|
1189
|
-
const editorGroup = editorGroupService.getGroups(GroupsOrder.MOST_RECENTLY_ACTIVE).find(group => isEqual(group.activeEditor?.resource, resourceOrContext));
|
|
1190
|
-
if (editorGroup) {
|
|
1191
|
-
return { groupId: editorGroup.index, editorIndex: editorGroup.getIndexOfEditor(editorGroup.activeEditor) };
|
|
1192
|
-
}
|
|
1193
|
-
}
|
|
1194
|
-
return undefined;
|
|
1195
|
-
}
|
|
1196
|
-
function resolveCommandsContext(editorGroupService, context) {
|
|
1197
|
-
let group = context && typeof context.groupId === 'number' ? editorGroupService.getGroup(context.groupId) : undefined;
|
|
1198
|
-
let editor = group && context && typeof context.editorIndex === 'number' ? group.getEditorByIndex(context.editorIndex) ?? undefined : undefined;
|
|
1199
|
-
if (!group) {
|
|
1200
|
-
group = editorGroupService.activeGroup;
|
|
1201
|
-
}
|
|
1202
|
-
if (!editor) {
|
|
1203
|
-
editor = group.activeEditor ?? undefined;
|
|
1204
|
-
}
|
|
1205
|
-
return { group, editor };
|
|
1206
|
-
}
|
|
1207
|
-
function getMultiSelectedEditorContexts(editorContext, listService, editorGroupService) {
|
|
1208
|
-
const list = listService.lastFocusedList;
|
|
1209
|
-
if (list instanceof List && list.getHTMLElement() === getActiveElement()) {
|
|
1210
|
-
const elementToContext = (element) => {
|
|
1211
|
-
if (isEditorGroup(element)) {
|
|
1212
|
-
return { groupId: element.id, editorIndex: undefined };
|
|
1213
|
-
}
|
|
1214
|
-
const group = editorGroupService.getGroup(element.groupId);
|
|
1215
|
-
return { groupId: element.groupId, editorIndex: group ? group.getIndexOfEditor(element.editor) : -1 };
|
|
1216
|
-
};
|
|
1217
|
-
const onlyEditorGroupAndEditor = (e) => isEditorGroup(e) || isEditorIdentifier(e);
|
|
1218
|
-
const focusedElements = list.getFocusedElements().filter(onlyEditorGroupAndEditor);
|
|
1219
|
-
const focus = editorContext ? editorContext : focusedElements.length ? ( (focusedElements.map(elementToContext)))[0] : undefined;
|
|
1220
|
-
if (focus) {
|
|
1221
|
-
const selection = list.getSelectedElements().filter(onlyEditorGroupAndEditor);
|
|
1222
|
-
if (selection.length > 1) {
|
|
1223
|
-
return (
|
|
1224
|
-
(selection.map(elementToContext))
|
|
1225
|
-
);
|
|
1226
|
-
}
|
|
1227
|
-
return [focus];
|
|
1228
|
-
}
|
|
1229
|
-
}
|
|
1230
|
-
else {
|
|
1231
|
-
const group = editorContext ? editorGroupService.getGroup(editorContext.groupId) : editorGroupService.activeGroup;
|
|
1232
|
-
const editor = editorContext && editorContext.editorIndex !== undefined ? group?.getEditorByIndex(editorContext.editorIndex) : group?.activeEditor;
|
|
1233
|
-
if (group && editor) {
|
|
1234
|
-
if (group.isSelected(editor)) {
|
|
1235
|
-
return (
|
|
1236
|
-
(group.selectedEditors.map(se => ({ groupId: group.id, editorIndex: group.getIndexOfEditor(se) })))
|
|
1237
|
-
);
|
|
1238
|
-
}
|
|
1239
|
-
}
|
|
1240
|
-
}
|
|
1241
|
-
return !!editorContext ? [editorContext] : [];
|
|
1242
|
-
}
|
|
1243
1120
|
function setup() {
|
|
1244
1121
|
registerActiveEditorMoveCopyCommand();
|
|
1245
1122
|
registerEditorGroupsLayoutCommands();
|
|
@@ -1254,4 +1131,4 @@ function setup() {
|
|
|
1254
1131
|
registerSplitEditorCommands();
|
|
1255
1132
|
registerFocusEditorGroupWihoutWrapCommands();
|
|
1256
1133
|
}
|
|
1257
|
-
export { API_OPEN_DIFF_EDITOR_COMMAND_ID, API_OPEN_EDITOR_COMMAND_ID, API_OPEN_WITH_EDITOR_COMMAND_ID, CLOSE_EDITORS_AND_GROUP_COMMAND_ID, CLOSE_EDITORS_IN_GROUP_COMMAND_ID, CLOSE_EDITORS_TO_THE_RIGHT_COMMAND_ID, CLOSE_EDITOR_COMMAND_ID, CLOSE_EDITOR_GROUP_COMMAND_ID, CLOSE_OTHER_EDITORS_IN_GROUP_COMMAND_ID, CLOSE_PINNED_EDITOR_COMMAND_ID, CLOSE_SAVED_EDITORS_COMMAND_ID, COPY_ACTIVE_EDITOR_COMMAND_ID, COPY_EDITOR_GROUP_INTO_NEW_WINDOW_COMMAND_ID, COPY_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, EDITOR_CORE_NAVIGATION_COMMANDS, FOCUS_ABOVE_GROUP_WITHOUT_WRAP_COMMAND_ID, FOCUS_BELOW_GROUP_WITHOUT_WRAP_COMMAND_ID, FOCUS_FIRST_SIDE_EDITOR, FOCUS_LEFT_GROUP_WITHOUT_WRAP_COMMAND_ID, FOCUS_OTHER_SIDE_EDITOR, FOCUS_RIGHT_GROUP_WITHOUT_WRAP_COMMAND_ID, FOCUS_SECOND_SIDE_EDITOR, JOIN_EDITOR_IN_GROUP, KEEP_EDITOR_COMMAND_ID, LAYOUT_EDITOR_GROUPS_COMMAND_ID, LOCK_GROUP_COMMAND_ID, MOVE_ACTIVE_EDITOR_COMMAND_ID, MOVE_EDITOR_GROUP_INTO_NEW_WINDOW_COMMAND_ID, MOVE_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, NEW_EMPTY_EDITOR_WINDOW_COMMAND_ID, OPEN_EDITOR_AT_INDEX_COMMAND_ID, PIN_EDITOR_COMMAND_ID, REOPEN_WITH_COMMAND_ID, SHOW_EDITORS_IN_GROUP, SPLIT_EDITOR, SPLIT_EDITOR_DOWN, SPLIT_EDITOR_IN_GROUP, SPLIT_EDITOR_LEFT, SPLIT_EDITOR_RIGHT, SPLIT_EDITOR_UP, TOGGLE_KEEP_EDITORS_COMMAND_ID, TOGGLE_LOCK_GROUP_COMMAND_ID, TOGGLE_MAXIMIZE_EDITOR_GROUP, TOGGLE_SPLIT_EDITOR_IN_GROUP, TOGGLE_SPLIT_EDITOR_IN_GROUP_LAYOUT, UNLOCK_GROUP_COMMAND_ID, UNPIN_EDITOR_COMMAND_ID,
|
|
1134
|
+
export { API_OPEN_DIFF_EDITOR_COMMAND_ID, API_OPEN_EDITOR_COMMAND_ID, API_OPEN_WITH_EDITOR_COMMAND_ID, CLOSE_EDITORS_AND_GROUP_COMMAND_ID, CLOSE_EDITORS_IN_GROUP_COMMAND_ID, CLOSE_EDITORS_TO_THE_RIGHT_COMMAND_ID, CLOSE_EDITOR_COMMAND_ID, CLOSE_EDITOR_GROUP_COMMAND_ID, CLOSE_OTHER_EDITORS_IN_GROUP_COMMAND_ID, CLOSE_PINNED_EDITOR_COMMAND_ID, CLOSE_SAVED_EDITORS_COMMAND_ID, COPY_ACTIVE_EDITOR_COMMAND_ID, COPY_EDITOR_GROUP_INTO_NEW_WINDOW_COMMAND_ID, COPY_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, EDITOR_CORE_NAVIGATION_COMMANDS, FOCUS_ABOVE_GROUP_WITHOUT_WRAP_COMMAND_ID, FOCUS_BELOW_GROUP_WITHOUT_WRAP_COMMAND_ID, FOCUS_FIRST_SIDE_EDITOR, FOCUS_LEFT_GROUP_WITHOUT_WRAP_COMMAND_ID, FOCUS_OTHER_SIDE_EDITOR, FOCUS_RIGHT_GROUP_WITHOUT_WRAP_COMMAND_ID, FOCUS_SECOND_SIDE_EDITOR, JOIN_EDITOR_IN_GROUP, KEEP_EDITOR_COMMAND_ID, LAYOUT_EDITOR_GROUPS_COMMAND_ID, LOCK_GROUP_COMMAND_ID, MOVE_ACTIVE_EDITOR_COMMAND_ID, MOVE_EDITOR_GROUP_INTO_NEW_WINDOW_COMMAND_ID, MOVE_EDITOR_INTO_NEW_WINDOW_COMMAND_ID, NEW_EMPTY_EDITOR_WINDOW_COMMAND_ID, OPEN_EDITOR_AT_INDEX_COMMAND_ID, PIN_EDITOR_COMMAND_ID, REOPEN_WITH_COMMAND_ID, SHOW_EDITORS_IN_GROUP, SPLIT_EDITOR, SPLIT_EDITOR_DOWN, SPLIT_EDITOR_IN_GROUP, SPLIT_EDITOR_LEFT, SPLIT_EDITOR_RIGHT, SPLIT_EDITOR_UP, TOGGLE_KEEP_EDITORS_COMMAND_ID, TOGGLE_LOCK_GROUP_COMMAND_ID, TOGGLE_MAXIMIZE_EDITOR_GROUP, TOGGLE_SPLIT_EDITOR_IN_GROUP, TOGGLE_SPLIT_EDITOR_IN_GROUP_LAYOUT, UNLOCK_GROUP_COMMAND_ID, UNPIN_EDITOR_COMMAND_ID, setup, splitEditor };
|