@codingame/monaco-vscode-api 6.0.3 → 7.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 +93 -73
- package/api.js +1 -1
- package/debugProtocol.d.ts +10 -1
- package/extensions.d.ts +2 -0
- package/missing-services.js +21 -2
- package/package.json +9 -9
- package/service-override/extensions.d.ts +1 -2
- package/services.js +4 -2
- package/vscode/src/vs/base/browser/dnd.js +1 -1
- package/vscode/src/vs/base/browser/dom.js +116 -5
- package/vscode/src/vs/base/browser/domObservable.js +16 -0
- package/vscode/src/vs/base/browser/markdownRenderer.js +5 -3
- package/vscode/src/vs/base/browser/trustedTypes.js +1 -2
- package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
- package/vscode/src/vs/base/browser/ui/button/button.js +2 -2
- package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -4
- package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
- package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
- package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +1 -1
- package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +32 -16
- package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +2 -2
- package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +2 -2
- package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +2 -0
- package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +1 -1
- package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +1 -1
- package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +1 -1
- package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
- package/vscode/src/vs/base/browser/ui/list/listView.js +3 -5
- package/vscode/src/vs/base/browser/ui/list/rowCache.js +1 -8
- package/vscode/src/vs/base/browser/ui/sash/sash.js +1 -1
- package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -11
- package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
- package/vscode/src/vs/base/browser/ui/splitview/splitview.js +1 -1
- package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
- package/vscode/src/vs/base/browser/ui/toggle/toggle.js +1 -1
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +8 -1
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
- package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +1 -1
- package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +0 -3
- package/vscode/src/vs/base/common/assert.js +1 -1
- package/vscode/src/vs/base/common/collections.js +49 -1
- package/vscode/src/vs/base/common/equals.js +55 -5
- package/vscode/src/vs/base/common/errors.js +14 -1
- package/vscode/src/vs/base/common/event.js +2 -1
- package/vscode/src/vs/base/common/history.js +7 -4
- package/vscode/src/vs/base/common/iterator.js +9 -1
- package/vscode/src/vs/base/common/map.d.ts +41 -0
- package/vscode/src/vs/base/common/numbers.js +18 -1
- package/vscode/src/vs/base/common/observableInternal/api.js +11 -0
- package/vscode/src/vs/base/common/observableInternal/autorun.js +18 -1
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +8 -1
- package/vscode/src/vs/base/common/observableInternal/base.js +2 -5
- package/vscode/src/vs/base/common/observableInternal/derived.js +13 -3
- package/vscode/src/vs/base/common/observableInternal/lazyObservableValue.js +109 -0
- package/vscode/src/vs/base/common/observableInternal/promise.js +3 -0
- package/vscode/src/vs/base/common/observableInternal/utils.d.ts +7 -0
- package/vscode/src/vs/base/common/observableInternal/utils.js +64 -12
- package/vscode/src/vs/base/common/prefixTree.d.ts +52 -0
- package/vscode/src/vs/base/common/product.d.ts +1 -0
- package/vscode/src/vs/base/parts/ipc/common/ipc.js +1 -1
- package/vscode/src/vs/editor/browser/config/charWidthReader.js +1 -1
- package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
- package/vscode/src/vs/editor/browser/coreCommands.js +2 -1
- package/vscode/src/vs/editor/browser/observableCodeEditor.js +230 -0
- package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +1 -1
- package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -26
- package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -2
- package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
- package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -12
- package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -4
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +8 -8
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +4 -4
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +14 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +2 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +3 -3
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +2 -2
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +1 -1
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +5 -0
- package/vscode/src/vs/editor/common/config/editorOptions.js +83 -65
- package/vscode/src/vs/editor/common/core/editorColorRegistry.js +43 -43
- package/vscode/src/vs/editor/common/cursor/cursor.js +3 -2
- package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +911 -0
- package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +36 -799
- package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +6 -5
- package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -0
- package/vscode/src/vs/editor/common/languageFeatureRegistry.js +3 -0
- package/vscode/src/vs/editor/common/languages/autoIndent.js +23 -1
- package/vscode/src/vs/editor/common/languages.d.ts +20 -3
- package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +6 -6
- package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +19 -0
- package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +3 -0
- package/vscode/src/vs/editor/common/model/textModel.js +6 -2
- package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +5 -5
- package/vscode/src/vs/editor/common/model.d.ts +4 -0
- package/vscode/src/vs/editor/common/services/getIconClasses.js +1 -1
- package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +2 -15
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +63 -62
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +11 -8
- package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +1 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +2 -17
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +18 -5
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +55 -27
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +7 -4
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +9 -9
- package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -1
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +103 -47
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -2
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +18 -10
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -4
- package/vscode/src/vs/editor/contrib/folding/browser/folding.css.js +1 -1
- package/vscode/src/vs/editor/contrib/folding/browser/folding.js +33 -13
- package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -7
- package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +2 -2
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +161 -185
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +321 -0
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +4 -1
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +6 -21
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +39 -40
- package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +55 -46
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +12 -2
- package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +15 -9
- package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +11 -1
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +141 -93
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +24 -7
- package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +36 -1
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +25 -12
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +88 -118
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +34 -33
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -2
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +11 -4
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +10 -19
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +45 -27
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -4
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +126 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +9 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution.js +9 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +82 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.js +240 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.css.js +4 -0
- package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +322 -0
- package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +8 -4
- package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +3 -2
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +2 -2
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +60 -0
- package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +4 -0
- package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +38 -20
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +3 -0
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +9 -9
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +10 -32
- package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +23 -138
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -0
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +5 -5
- package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +13 -12
- package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +3 -3
- package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +21 -0
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +5 -6
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +1 -1
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +27 -6
- package/vscode/src/vs/platform/actions/browser/floatingMenu.js +1 -1
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +33 -3
- package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -1
- package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
- package/vscode/src/vs/platform/actions/common/actions.js +3 -0
- package/vscode/src/vs/platform/actions/common/menuService.js +3 -2
- package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +1 -1
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +7 -5
- package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +109 -13
- package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +2 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +12 -6
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -3
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +20 -10
- package/vscode/src/vs/platform/extensions/common/extensionValidator.js +46 -8
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -1
- package/vscode/src/vs/platform/extensions/common/extensions.js +12 -3
- package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +368 -0
- package/vscode/src/vs/platform/files/common/watcher.js +21 -24
- package/vscode/src/vs/platform/list/browser/listService.js +2 -1
- package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -2
- package/vscode/src/vs/platform/opener/browser/link.js +1 -1
- package/vscode/src/vs/platform/product/common/product.js +1 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1 -1
- package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.d.ts +0 -2
- package/vscode/src/vs/platform/request/common/request.js +18 -8
- package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +2 -6
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +8 -1
- package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +1 -1
- package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -5
- package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
- package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +6 -6
- package/vscode/src/vs/platform/theme/common/colors/editorColors.js +35 -35
- package/vscode/src/vs/platform/theme/common/colors/inputColors.js +9 -9
- package/vscode/src/vs/platform/theme/common/colors/listColors.js +11 -11
- package/vscode/src/vs/platform/theme/common/colors/menuColors.js +4 -4
- package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +5 -5
- package/vscode/src/vs/platform/theme/common/colors/miscColors.js +1 -1
- package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +5 -5
- package/vscode/src/vs/platform/tunnel/common/tunnel.js +4 -1
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +75 -19
- package/vscode/src/vs/platform/window/common/window.d.ts +2 -2
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +32 -25
- package/vscode/src/vs/workbench/api/common/extHost.common.services.js +2 -0
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -11
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +5 -15
- package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +2 -5
- package/vscode/src/vs/workbench/api/common/extHostComments.js +9 -3
- package/vscode/src/vs/workbench/api/common/extHostDebugService.js +32 -22
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +109 -40
- package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +46 -0
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +84 -35
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +50 -41
- package/vscode/src/vs/workbench/api/common/extHostSearch.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostSecrets.js +11 -8
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -6
- package/vscode/src/vs/workbench/api/common/extHostTesting.js +63 -70
- package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +5 -3
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +75 -16
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +29 -4
- package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
- package/vscode/src/vs/workbench/browser/actions/developerActions.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +127 -107
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +33 -21
- package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +5 -5
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +23 -6
- package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +3 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +1 -1
- package/vscode/src/vs/workbench/browser/web.api.js +8 -0
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +199 -194
- package/vscode/src/vs/workbench/common/configuration.js +1 -1
- package/vscode/src/vs/workbench/common/contributions.js +8 -1
- package/vscode/src/vs/workbench/common/editor.js +5 -1
- package/vscode/src/vs/workbench/common/theme.js +79 -454
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +221 -239
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +17 -15
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +1 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +4 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.js +27 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +35 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +51 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{chatConfirmationWidget.js → chatContentParts/chatConfirmationWidget.js} +9 -9
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.js +131 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +263 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +37 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +160 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +171 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatWarningContentPart.js +34 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatContentParts/media}/chatConfirmationWidget.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +91 -44
- package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +292 -1019
- package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +2 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +22 -7
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +61 -54
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +23 -16
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +8 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +5 -4
- package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +16 -0
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.js +3 -0
- package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +2 -2
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -16
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +1 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +7 -5
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +7 -7
- package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +2 -2
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +2 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +2 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +8 -5
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +1 -1
- package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +5 -5
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +14 -7
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +8 -7
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +19 -16
- package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -12
- package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +19 -2
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +9 -4
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +10 -5
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +4 -4
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +235 -173
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +2 -1
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +17 -5
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +62 -44
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +114 -107
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +33 -25
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +71 -101
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +38 -43
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -33
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +3 -4
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +49 -86
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +60 -71
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +116 -113
- package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +6 -10
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +1 -0
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +12 -23
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +88 -61
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +1 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +39 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +12 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +3 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +40 -105
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +27 -26
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +14 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +43 -46
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +12 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +19 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +9 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +16 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +8 -8
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.service.js +3 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +11 -12
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +12 -13
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +5 -3
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +9 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +37 -36
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +18 -8
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +1 -1
- package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +14 -5
- package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +17 -22
- package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +7 -10
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +7 -27
- package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +3 -4
- package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +4 -0
- package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +3 -3
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -0
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +0 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +13 -37
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.d.ts +88 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +48 -31
- package/vscode/src/vs/workbench/contrib/testing/common/testId.d.ts +115 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.d.ts +226 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +319 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +2 -3
- package/vscode/src/vs/workbench/contrib/testing/common/testingStates.d.ts +10 -0
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +7 -8
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +3 -3
- package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +10 -5
- package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +54 -21
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +1 -2
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -4
- package/vscode/src/vs/workbench/services/extensions/common/extensions.js +5 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +3 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +59 -41
- package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -1
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -2
- package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -0
- package/vscode/src/vs/workbench/services/language/common/languageService.js +7 -0
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +1 -1
- package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +2 -2
- package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
- package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +2 -2
- package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +2 -2
- package/vscode/src/vs/workbench/services/textfile/common/encoding.js +69 -26
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +23 -4
- package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +5 -1
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
- package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -5
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +38 -19
- package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +2 -1
- package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +0 -196
- package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -10
- package/vscode-dts/vscode.proposed.authGetSessions.d.ts +30 -22
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +17 -8
- package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +0 -9
- package/vscode-dts/vscode.proposed.commentReveal.d.ts +32 -0
- package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +10 -0
- package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +1 -1
- package/vscode-dts/vscode.proposed.fileComments.d.ts +12 -53
- package/vscode-dts/vscode.proposed.fileSearchProvider.d.ts +6 -0
- package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +6 -0
- package/vscode-dts/vscode.proposed.lmTools.d.ts +91 -0
- package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +1 -1
- package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +10 -6
- package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +38 -13
- package/vscode/src/vs/editor/browser/observableUtilities.js +0 -58
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +0 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +0 -122
|
@@ -2,10 +2,12 @@ import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.
|
|
|
2
2
|
import { ButtonBar } from '../../../base/browser/ui/button/button.js';
|
|
3
3
|
import { createInstantHoverDelegate } from '../../../base/browser/ui/hover/hoverDelegateFactory.js';
|
|
4
4
|
import { ActionRunner, SubmenuAction } from '../../../base/common/actions.js';
|
|
5
|
+
import { Codicon } from '../../../base/common/codicons.js';
|
|
5
6
|
import { Emitter } from '../../../base/common/event.js';
|
|
6
7
|
import { DisposableStore } from '../../../base/common/lifecycle.js';
|
|
7
8
|
import { ThemeIcon } from '../../../base/common/themables.js';
|
|
8
9
|
import { localizeWithPath } from '../../../nls.js';
|
|
10
|
+
import { createAndFillInActionBarActions } from './menuEntryActionViewItem.js';
|
|
9
11
|
import { MenuItemAction } from '../common/actions.js';
|
|
10
12
|
import { IMenuService } from '../common/actions.service.js';
|
|
11
13
|
import { IContextKeyService } from '../../contextkey/common/contextkey.service.js';
|
|
@@ -38,7 +40,7 @@ let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
|
|
|
38
40
|
this._store.dispose();
|
|
39
41
|
super.dispose();
|
|
40
42
|
}
|
|
41
|
-
update(actions) {
|
|
43
|
+
update(actions, secondary) {
|
|
42
44
|
const conifgProvider = this._options?.buttonConfigProvider ?? (() => ({ showLabel: true }));
|
|
43
45
|
this._updateStore.clear();
|
|
44
46
|
this.clear();
|
|
@@ -90,11 +92,30 @@ let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
|
|
|
90
92
|
else {
|
|
91
93
|
tooltip = action.label;
|
|
92
94
|
}
|
|
93
|
-
this._updateStore.add(this._hoverService.
|
|
95
|
+
this._updateStore.add(this._hoverService.setupManagedHover(hoverDelegate, btn.element, tooltip));
|
|
94
96
|
this._updateStore.add(btn.onDidClick(async () => {
|
|
95
97
|
this._actionRunner.run(action);
|
|
96
98
|
}));
|
|
97
99
|
}
|
|
100
|
+
if (secondary.length > 0) {
|
|
101
|
+
const btn = this.addButton({
|
|
102
|
+
secondary: true,
|
|
103
|
+
ariaLabel: ( localizeWithPath(_moduleId, 1, "More Actions"))
|
|
104
|
+
});
|
|
105
|
+
btn.icon = Codicon.dropDownButton;
|
|
106
|
+
btn.element.classList.add('default-colors', 'monaco-text-button');
|
|
107
|
+
btn.enabled = true;
|
|
108
|
+
this._updateStore.add(this._hoverService.setupManagedHover(hoverDelegate, btn.element, ( localizeWithPath(_moduleId, 1, "More Actions"))));
|
|
109
|
+
this._updateStore.add(btn.onDidClick(async () => {
|
|
110
|
+
this._contextMenuService.showContextMenu({
|
|
111
|
+
getAnchor: () => btn.element,
|
|
112
|
+
getActions: () => secondary,
|
|
113
|
+
actionRunner: this._actionRunner,
|
|
114
|
+
onHide: () => btn.element.setAttribute('aria-expanded', 'false')
|
|
115
|
+
});
|
|
116
|
+
btn.element.setAttribute('aria-expanded', 'true');
|
|
117
|
+
}));
|
|
118
|
+
}
|
|
98
119
|
this._onDidChange.fire(this);
|
|
99
120
|
}
|
|
100
121
|
};
|
|
@@ -111,10 +132,10 @@ let MenuWorkbenchButtonBar = class MenuWorkbenchButtonBar extends WorkbenchButto
|
|
|
111
132
|
this._store.add(menu);
|
|
112
133
|
const update = () => {
|
|
113
134
|
this.clear();
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
super.update(
|
|
135
|
+
const primary = [];
|
|
136
|
+
const secondary = [];
|
|
137
|
+
createAndFillInActionBarActions(menu, options?.menuOptions, { primary, secondary }, options?.toolbarOptions?.primaryGroup);
|
|
138
|
+
super.update(primary, secondary);
|
|
118
139
|
};
|
|
119
140
|
this._store.add(menu.onDidChange(update));
|
|
120
141
|
update();
|
|
@@ -92,7 +92,7 @@ let FloatingClickMenu = class FloatingClickMenu extends AbstractFloatingClickMen
|
|
|
92
92
|
const w = this.instantiationService.createInstance(FloatingClickWidget, action.label);
|
|
93
93
|
const node = w.getDomNode();
|
|
94
94
|
this.options.container.appendChild(node);
|
|
95
|
-
disposable.add(toDisposable(() =>
|
|
95
|
+
disposable.add(toDisposable(() => node.remove()));
|
|
96
96
|
return w;
|
|
97
97
|
}
|
|
98
98
|
getActionArg() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import n from '../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
-
var css = ".monaco-action-bar .action-item.menu-entry .action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;height:16px;width:16px}.monaco-dropdown-with-default{border-radius:5px;display:flex!important;flex-direction:row}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;height:16px;width:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;line-height:16px;margin-left:-3px;padding-left:0;padding-right:0}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block}";
|
|
2
|
+
var css = ".monaco-action-bar .action-item.menu-entry .action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;height:16px;width:16px}.monaco-action-bar .action-item.menu-entry.text-only .action-label{border-radius:2px;color:var(--vscode-descriptionForeground);overflow:hidden}.monaco-action-bar .action-item.menu-entry.text-only.use-comma:not(:last-of-type) .action-label:after{content:\", \"}.monaco-action-bar .action-item.menu-entry.text-only+.action-item:not(.text-only)>.monaco-dropdown .action-label{color:var(--vscode-descriptionForeground)}.monaco-dropdown-with-default{border-radius:5px;display:flex!important;flex-direction:row}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;height:16px;width:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;line-height:16px;margin-left:-3px;padding-left:0;padding-right:0}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block}";
|
|
3
3
|
n(css,{});
|
|
4
4
|
export { css, css as default };
|
|
@@ -94,8 +94,9 @@ function fillInActions(groups, target, useAlternativeActions, isPrimaryAction =
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
let MenuEntryActionViewItem = class MenuEntryActionViewItem extends ActionViewItem {
|
|
97
|
-
constructor(action,
|
|
98
|
-
super(undefined, action, { icon: !!(action.class || action.item.icon), label: !action.class && !action.item.icon, draggable:
|
|
97
|
+
constructor(action, _options, _keybindingService, _notificationService, _contextKeyService, _themeService, _contextMenuService, _accessibilityService) {
|
|
98
|
+
super(undefined, action, { icon: !!(action.class || action.item.icon), label: !action.class && !action.item.icon, draggable: _options?.draggable, keybinding: _options?.keybinding, hoverDelegate: _options?.hoverDelegate });
|
|
99
|
+
this._options = _options;
|
|
99
100
|
this._keybindingService = _keybindingService;
|
|
100
101
|
this._notificationService = _notificationService;
|
|
101
102
|
this._contextKeyService = _contextKeyService;
|
|
@@ -234,6 +235,35 @@ MenuEntryActionViewItem = ( (__decorate([
|
|
|
234
235
|
( (__param(6, IContextMenuService))),
|
|
235
236
|
( (__param(7, IAccessibilityService)))
|
|
236
237
|
], MenuEntryActionViewItem)));
|
|
238
|
+
class TextOnlyMenuEntryActionViewItem extends MenuEntryActionViewItem {
|
|
239
|
+
render(container) {
|
|
240
|
+
this.options.label = true;
|
|
241
|
+
this.options.icon = false;
|
|
242
|
+
super.render(container);
|
|
243
|
+
container.classList.add('text-only');
|
|
244
|
+
container.classList.toggle('use-comma', this._options?.useComma ?? false);
|
|
245
|
+
}
|
|
246
|
+
updateLabel() {
|
|
247
|
+
const kb = this._keybindingService.lookupKeybinding(this._action.id, this._contextKeyService);
|
|
248
|
+
if (!kb) {
|
|
249
|
+
return super.updateLabel();
|
|
250
|
+
}
|
|
251
|
+
if (this.label) {
|
|
252
|
+
const kb2 = TextOnlyMenuEntryActionViewItem._symbolPrintEnter(kb);
|
|
253
|
+
if (this._options?.conversational) {
|
|
254
|
+
this.label.textContent = ( localizeWithPath(_moduleId, 2, '{1} to {0}', this._action.label, kb2));
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
this.label.textContent = ( localizeWithPath(_moduleId, 3, '{0} ({1})', this._action.label, kb2));
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
static _symbolPrintEnter(kb) {
|
|
262
|
+
return kb.getLabel()
|
|
263
|
+
?.replace(/\benter\b/gi, '\u23CE')
|
|
264
|
+
.replace(/\bEscape\b/gi, 'Esc');
|
|
265
|
+
}
|
|
266
|
+
}
|
|
237
267
|
let SubmenuEntryActionViewItem = class SubmenuEntryActionViewItem extends DropdownMenuActionViewItem {
|
|
238
268
|
constructor(action, options, _keybindingService, _contextMenuService, _themeService) {
|
|
239
269
|
const dropdownOptions = {
|
|
@@ -453,4 +483,4 @@ function createActionViewItem(instaService, action, options) {
|
|
|
453
483
|
return undefined;
|
|
454
484
|
}
|
|
455
485
|
}
|
|
456
|
-
export { DropdownWithDefaultActionViewItem, MenuEntryActionViewItem, SubmenuEntryActionViewItem, createActionViewItem, createAndFillInActionBarActions, createAndFillInContextMenuActions };
|
|
486
|
+
export { DropdownWithDefaultActionViewItem, MenuEntryActionViewItem, SubmenuEntryActionViewItem, TextOnlyMenuEntryActionViewItem, createActionViewItem, createAndFillInActionBarActions, createAndFillInContextMenuActions };
|
|
@@ -112,7 +112,8 @@ let WorkbenchToolBar = class WorkbenchToolBar extends ToolBar {
|
|
|
112
112
|
primaryActions.push(action.menuKeybinding);
|
|
113
113
|
}
|
|
114
114
|
else if (!(action instanceof SubmenuItemAction || action instanceof ToggleMenuAction)) {
|
|
115
|
-
|
|
115
|
+
const isDisabled = action.id.startsWith('statusbaraction');
|
|
116
|
+
primaryActions.push(createConfigureKeybindingAction(this._commandService, this._keybindingService, action.id, undefined, !isDisabled));
|
|
116
117
|
}
|
|
117
118
|
if (toggleActions.length > 0) {
|
|
118
119
|
let noHide = false;
|
|
@@ -150,6 +150,8 @@ declare class MenuId {
|
|
|
150
150
|
static readonly InteractiveCellDelete: MenuId;
|
|
151
151
|
static readonly InteractiveCellExecute: MenuId;
|
|
152
152
|
static readonly InteractiveInputExecute: MenuId;
|
|
153
|
+
static readonly InteractiveInputConfig: MenuId;
|
|
154
|
+
static readonly ReplInputExecute: MenuId;
|
|
153
155
|
static readonly IssueReporter: MenuId;
|
|
154
156
|
static readonly NotebookToolbar: MenuId;
|
|
155
157
|
static readonly NotebookStickyScrollContext: MenuId;
|
|
@@ -188,6 +190,7 @@ declare class MenuId {
|
|
|
188
190
|
static readonly TerminalStickyScrollContext: MenuId;
|
|
189
191
|
static readonly WebviewContext: MenuId;
|
|
190
192
|
static readonly InlineCompletionsActions: MenuId;
|
|
193
|
+
static readonly InlineEditsActions: MenuId;
|
|
191
194
|
static readonly InlineEditActions: MenuId;
|
|
192
195
|
static readonly NewFile: MenuId;
|
|
193
196
|
static readonly MergeInput1Toolbar: MenuId;
|
|
@@ -139,6 +139,8 @@ class MenuId {
|
|
|
139
139
|
static { this.InteractiveCellDelete = ( new MenuId('InteractiveCellDelete')); }
|
|
140
140
|
static { this.InteractiveCellExecute = ( new MenuId('InteractiveCellExecute')); }
|
|
141
141
|
static { this.InteractiveInputExecute = ( new MenuId('InteractiveInputExecute')); }
|
|
142
|
+
static { this.InteractiveInputConfig = ( new MenuId('InteractiveInputConfig')); }
|
|
143
|
+
static { this.ReplInputExecute = ( new MenuId('ReplInputExecute')); }
|
|
142
144
|
static { this.IssueReporter = ( new MenuId('IssueReporter')); }
|
|
143
145
|
static { this.NotebookToolbar = ( new MenuId('NotebookToolbar')); }
|
|
144
146
|
static { this.NotebookStickyScrollContext = ( new MenuId('NotebookStickyScrollContext')); }
|
|
@@ -177,6 +179,7 @@ class MenuId {
|
|
|
177
179
|
static { this.TerminalStickyScrollContext = ( new MenuId('TerminalStickyScrollContext')); }
|
|
178
180
|
static { this.WebviewContext = ( new MenuId('WebviewContext')); }
|
|
179
181
|
static { this.InlineCompletionsActions = ( new MenuId('InlineCompletionsActions')); }
|
|
182
|
+
static { this.InlineEditsActions = ( new MenuId('InlineEditsActions')); }
|
|
180
183
|
static { this.InlineEditActions = ( new MenuId('InlineEditActions')); }
|
|
181
184
|
static { this.NewFile = ( new MenuId('NewFile')); }
|
|
182
185
|
static { this.MergeInput1Toolbar = ( new MenuId('MergeToolbar1Toolbar')); }
|
|
@@ -212,7 +212,7 @@ let MenuInfo = MenuInfo_1 = class MenuInfo {
|
|
|
212
212
|
}
|
|
213
213
|
const menuHide = createMenuHide(this._id, isMenuItem ? item.command : item, this._hiddenStates);
|
|
214
214
|
if (isMenuItem) {
|
|
215
|
-
const menuKeybinding = createConfigureKeybindingAction(item.command.id, item.when
|
|
215
|
+
const menuKeybinding = createConfigureKeybindingAction(this._commandService, this._keybindingService, item.command.id, item.when);
|
|
216
216
|
(activeActions ??= []).push(( (new MenuItemAction(
|
|
217
217
|
item.command,
|
|
218
218
|
item.alt,
|
|
@@ -384,10 +384,11 @@ function createMenuHide(menu, command, states) {
|
|
|
384
384
|
get isHidden() { return !toggle.checked; },
|
|
385
385
|
};
|
|
386
386
|
}
|
|
387
|
-
function createConfigureKeybindingAction(commandId, when = undefined,
|
|
387
|
+
function createConfigureKeybindingAction(commandService, keybindingService, commandId, when = undefined, enabled = true) {
|
|
388
388
|
return toAction({
|
|
389
389
|
id: `configureKeybinding/${commandId}`,
|
|
390
390
|
label: ( localizeWithPath(_moduleId, 1, "Configure Keybinding")),
|
|
391
|
+
enabled,
|
|
391
392
|
run() {
|
|
392
393
|
const hasKeybinding = !!keybindingService.lookupKeybinding(commandId);
|
|
393
394
|
const whenValue = !hasKeybinding && when ? when.serialize() : undefined;
|
|
@@ -77,7 +77,7 @@ let BrowserClipboardService = class BrowserClipboardService extends Disposable {
|
|
|
77
77
|
if (isHTMLElement(activeElement)) {
|
|
78
78
|
activeElement.focus();
|
|
79
79
|
}
|
|
80
|
-
|
|
80
|
+
textArea.remove();
|
|
81
81
|
}
|
|
82
82
|
async readText(type) {
|
|
83
83
|
if (type) {
|
|
@@ -188,19 +188,21 @@ interface IConfigurationNode {
|
|
|
188
188
|
extensionInfo?: IExtensionInfo;
|
|
189
189
|
restrictedProperties?: string[];
|
|
190
190
|
}
|
|
191
|
+
type ConfigurationDefaultSource = IExtensionInfo | string;
|
|
192
|
+
type ConfigurationDefaultValueSource = ConfigurationDefaultSource | Map<string, ConfigurationDefaultSource>;
|
|
191
193
|
interface IConfigurationDefaults {
|
|
192
194
|
overrides: IStringDictionary<any>;
|
|
193
|
-
source?:
|
|
195
|
+
source?: ConfigurationDefaultSource;
|
|
194
196
|
}
|
|
195
197
|
type IRegisteredConfigurationPropertySchema = IConfigurationPropertySchema & {
|
|
196
198
|
defaultDefaultValue?: any;
|
|
197
199
|
source?: IExtensionInfo;
|
|
198
|
-
defaultValueSource?:
|
|
200
|
+
defaultValueSource?: ConfigurationDefaultValueSource;
|
|
199
201
|
};
|
|
200
202
|
type IConfigurationDefaultOverride = {
|
|
201
203
|
readonly value: any;
|
|
202
|
-
readonly source?:
|
|
203
|
-
readonly valuesSources?: Map<string,
|
|
204
|
+
readonly source?: ConfigurationDefaultValueSource;
|
|
205
|
+
readonly valuesSources?: Map<string, ConfigurationDefaultValueSource>;
|
|
204
206
|
};
|
|
205
207
|
|
|
206
|
-
export { ConfigurationScope, EditPresentationTypes, type IConfigurationDefaultOverride, type IConfigurationDefaults, type IConfigurationDelta, type IConfigurationNode, type IConfigurationPropertySchema, type IConfigurationRegistry, type IExtensionInfo, type IPolicy, type IRegisteredConfigurationPropertySchema };
|
|
208
|
+
export { type ConfigurationDefaultSource, type ConfigurationDefaultValueSource, ConfigurationScope, EditPresentationTypes, type IConfigurationDefaultOverride, type IConfigurationDefaults, type IConfigurationDelta, type IConfigurationNode, type IConfigurationPropertySchema, type IConfigurationRegistry, type IExtensionInfo, type IPolicy, type IRegisteredConfigurationPropertySchema };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { distinct } from '../../../base/common/arrays.js';
|
|
2
2
|
import { Emitter } from '../../../base/common/event.js';
|
|
3
|
-
import {
|
|
3
|
+
import { isObject, isUndefinedOrNull, isUndefined, isString } from '../../../base/common/types.js';
|
|
4
4
|
import { localizeWithPath } from '../../../nls.js';
|
|
5
5
|
import { getLanguageTagSettingPlainKey } from './configuration.js';
|
|
6
6
|
import { Extensions as Extensions$1 } from '../../jsonschemas/common/jsonContributionRegistry.js';
|
|
@@ -98,12 +98,34 @@ class ConfigurationRegistry {
|
|
|
98
98
|
if (OVERRIDE_PROPERTY_REGEX.test(key)) {
|
|
99
99
|
const configurationDefaultOverride = this.configurationDefaultsOverrides.get(key);
|
|
100
100
|
const valuesSources = configurationDefaultOverride?.valuesSources ?? ( (new Map()));
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
101
|
+
const defaultValue = configurationDefaultOverride?.value || {};
|
|
102
|
+
for (const configuration of ( (Object.keys(overrides[key])))) {
|
|
103
|
+
const overrideValue = overrides[key][configuration];
|
|
104
|
+
const isObjectSetting = isObject(overrideValue) && (isUndefined(defaultValue[configuration]) || isObject(defaultValue[configuration]));
|
|
105
|
+
if (isObjectSetting) {
|
|
106
|
+
defaultValue[configuration] = { ...(defaultValue[configuration] ?? {}), ...overrideValue };
|
|
107
|
+
if (source) {
|
|
108
|
+
let objectConfigurationSources = valuesSources.get(configuration);
|
|
109
|
+
if (!objectConfigurationSources) {
|
|
110
|
+
objectConfigurationSources = ( (new Map()));
|
|
111
|
+
valuesSources.set(configuration, objectConfigurationSources);
|
|
112
|
+
}
|
|
113
|
+
if (!(objectConfigurationSources instanceof Map)) {
|
|
114
|
+
console.error('objectConfigurationSources is not a Map');
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
for (const objectKey in overrideValue) {
|
|
118
|
+
objectConfigurationSources.set(objectKey, source);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
defaultValue[configuration] = overrideValue;
|
|
124
|
+
if (source) {
|
|
125
|
+
valuesSources.set(configuration, source);
|
|
126
|
+
}
|
|
104
127
|
}
|
|
105
128
|
}
|
|
106
|
-
const defaultValue = { ...(configurationDefaultOverride?.value || {}), ...overrides[key] };
|
|
107
129
|
this.configurationDefaultsOverrides.set(key, { source, value: defaultValue, valuesSources });
|
|
108
130
|
const plainKey = getLanguageTagSettingPlainKey(key);
|
|
109
131
|
const property = {
|
|
@@ -125,8 +147,33 @@ class ConfigurationRegistry {
|
|
|
125
147
|
this.defaultLanguageConfigurationOverridesNode.properties[key] = property;
|
|
126
148
|
}
|
|
127
149
|
else {
|
|
128
|
-
this.configurationDefaultsOverrides.set(key, { value: overrides[key], source });
|
|
129
150
|
const property = this.configurationProperties[key];
|
|
151
|
+
const existingDefaultOverride = this.configurationDefaultsOverrides.get(key);
|
|
152
|
+
let existingDefaultValue = existingDefaultOverride?.value ?? property?.defaultDefaultValue;
|
|
153
|
+
let newDefaultValue = overrides[key];
|
|
154
|
+
let newDefaultValueSource = source;
|
|
155
|
+
const isObjectSetting = isObject(newDefaultValue) && (property !== undefined && property.type === 'object' ||
|
|
156
|
+
property === undefined && (isUndefined(existingDefaultValue) || isObject(existingDefaultValue)));
|
|
157
|
+
if (isObjectSetting) {
|
|
158
|
+
if (!isObject(existingDefaultValue)) {
|
|
159
|
+
existingDefaultValue = {};
|
|
160
|
+
}
|
|
161
|
+
newDefaultValue = { ...existingDefaultValue, ...newDefaultValue };
|
|
162
|
+
newDefaultValueSource = existingDefaultOverride?.source ?? ( (new Map()));
|
|
163
|
+
if (!(newDefaultValueSource instanceof Map)) {
|
|
164
|
+
console.error('defaultValueSource is not a Map');
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
for (const overrideObjectKey in overrides[key]) {
|
|
168
|
+
if (source) {
|
|
169
|
+
newDefaultValueSource.set(overrideObjectKey, source);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
newDefaultValueSource.delete(overrideObjectKey);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
this.configurationDefaultsOverrides.set(key, { value: newDefaultValue, source: newDefaultValueSource });
|
|
130
177
|
if (property) {
|
|
131
178
|
this.updatePropertyDefaultValue(key, property);
|
|
132
179
|
this.updateSchema(key, property);
|
|
@@ -145,25 +192,74 @@ class ConfigurationRegistry {
|
|
|
145
192
|
doDeregisterDefaultConfigurations(defaultConfigurations, bucket) {
|
|
146
193
|
for (const { overrides, source } of defaultConfigurations) {
|
|
147
194
|
for (const key in overrides) {
|
|
148
|
-
const configurationDefaultsOverride = this.configurationDefaultsOverrides.get(key);
|
|
149
195
|
const id = isString(source) ? source : source?.id;
|
|
150
|
-
const
|
|
151
|
-
if (
|
|
196
|
+
const configurationDefaultsOverride = this.configurationDefaultsOverrides.get(key);
|
|
197
|
+
if (!configurationDefaultsOverride) {
|
|
152
198
|
continue;
|
|
153
199
|
}
|
|
154
|
-
bucket.add(key);
|
|
155
|
-
this.configurationDefaultsOverrides.delete(key);
|
|
156
200
|
if (OVERRIDE_PROPERTY_REGEX.test(key)) {
|
|
157
|
-
|
|
158
|
-
|
|
201
|
+
for (const configuration of ( (Object.keys(overrides[key])))) {
|
|
202
|
+
const overrideValue = overrides[key][configuration];
|
|
203
|
+
if (isObject(overrideValue)) {
|
|
204
|
+
const configurationSource = configurationDefaultsOverride.valuesSources?.get(configuration);
|
|
205
|
+
for (const overrideObjectKey of ( (Object.keys(overrideValue)))) {
|
|
206
|
+
const keySource = configurationSource?.get(overrideObjectKey);
|
|
207
|
+
const keySourceId = isString(keySource) ? keySource : keySource?.id;
|
|
208
|
+
if (keySourceId === id) {
|
|
209
|
+
configurationSource?.delete(overrideObjectKey);
|
|
210
|
+
delete configurationDefaultsOverride.value[configuration][overrideObjectKey];
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
if (( (Object.keys(configurationDefaultsOverride.value[configuration]))).length === 0) {
|
|
214
|
+
delete configurationDefaultsOverride.value[configuration];
|
|
215
|
+
configurationDefaultsOverride.valuesSources?.delete(configuration);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
const configurationSource = configurationDefaultsOverride.valuesSources?.get(configuration);
|
|
220
|
+
const keySourceId = isString(configurationSource) ? configurationSource : configurationSource?.id;
|
|
221
|
+
if (keySourceId === id) {
|
|
222
|
+
configurationDefaultsOverride.valuesSources?.delete(configuration);
|
|
223
|
+
delete configurationDefaultsOverride.value[configuration];
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
const languageValues = this.configurationDefaultsOverrides.get(key);
|
|
228
|
+
if (languageValues && ( (Object.keys(languageValues.value))).length === 0) {
|
|
229
|
+
this.configurationDefaultsOverrides.delete(key);
|
|
230
|
+
delete this.configurationProperties[key];
|
|
231
|
+
delete this.defaultLanguageConfigurationOverridesNode.properties[key];
|
|
232
|
+
}
|
|
159
233
|
}
|
|
160
234
|
else {
|
|
235
|
+
if (configurationDefaultsOverride.source instanceof Map) {
|
|
236
|
+
const keySources = configurationDefaultsOverride.source;
|
|
237
|
+
for (const objectKey in overrides[key]) {
|
|
238
|
+
const keySource = keySources.get(objectKey);
|
|
239
|
+
const keySourceId = isString(keySource) ? keySource : keySource?.id;
|
|
240
|
+
if (keySourceId === id) {
|
|
241
|
+
keySources.delete(objectKey);
|
|
242
|
+
delete configurationDefaultsOverride.value[objectKey];
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (keySources.size === 0) {
|
|
246
|
+
this.configurationDefaultsOverrides.delete(key);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
const configurationDefaultsOverrideSourceId = isString(configurationDefaultsOverride.source) ? configurationDefaultsOverride.source : configurationDefaultsOverride.source?.id;
|
|
251
|
+
if (id !== configurationDefaultsOverrideSourceId) {
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
this.configurationDefaultsOverrides.delete(key);
|
|
255
|
+
}
|
|
161
256
|
const property = this.configurationProperties[key];
|
|
162
257
|
if (property) {
|
|
163
258
|
this.updatePropertyDefaultValue(key, property);
|
|
164
259
|
this.updateSchema(key, property);
|
|
165
260
|
}
|
|
166
261
|
}
|
|
262
|
+
bucket.add(key);
|
|
167
263
|
}
|
|
168
264
|
}
|
|
169
265
|
this.updateOverridePropertyPatternKey();
|
|
@@ -35,6 +35,8 @@ interface WorkspaceStats {
|
|
|
35
35
|
fileCount: number;
|
|
36
36
|
maxFilesReached: boolean;
|
|
37
37
|
launchConfigFiles: WorkspaceStatItem[];
|
|
38
|
+
totalScanTime: number;
|
|
39
|
+
totalReaddirCount: number;
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
export type { IDiagnosticInfo, IDiagnosticInfoOptions, ILinuxEnv, IMachineInfo, WorkspaceStatItem, WorkspaceStats };
|
|
@@ -11,6 +11,7 @@ interface IGalleryExtensionProperties {
|
|
|
11
11
|
dependencies?: string[];
|
|
12
12
|
extensionPack?: string[];
|
|
13
13
|
engine?: string;
|
|
14
|
+
enabledApiProposals?: string[];
|
|
14
15
|
localizedLanguages?: string[];
|
|
15
16
|
targetPlatform: TargetPlatform;
|
|
16
17
|
isPreReleaseVersion: boolean;
|
|
@@ -124,6 +125,7 @@ interface IExtensionsControlManifest {
|
|
|
124
125
|
readonly malicious: IExtensionIdentifier[];
|
|
125
126
|
readonly deprecated: IStringDictionary<IDeprecationInfo>;
|
|
126
127
|
readonly search: ISearchPrefferedResults[];
|
|
128
|
+
readonly extensionsEnabledWithPreRelease?: string[];
|
|
127
129
|
}
|
|
128
130
|
declare const enum InstallOperation {
|
|
129
131
|
None = 1,
|
|
@@ -134,7 +136,7 @@ declare const enum InstallOperation {
|
|
|
134
136
|
interface InstallExtensionEvent {
|
|
135
137
|
readonly identifier: IExtensionIdentifier;
|
|
136
138
|
readonly source: URI | IGalleryExtension;
|
|
137
|
-
readonly profileLocation
|
|
139
|
+
readonly profileLocation: URI;
|
|
138
140
|
readonly applicationScoped?: boolean;
|
|
139
141
|
readonly workspaceScoped?: boolean;
|
|
140
142
|
}
|
|
@@ -145,23 +147,27 @@ interface InstallExtensionResult {
|
|
|
145
147
|
readonly local?: ILocalExtension;
|
|
146
148
|
readonly error?: Error;
|
|
147
149
|
readonly context?: IStringDictionary<any>;
|
|
148
|
-
readonly profileLocation
|
|
150
|
+
readonly profileLocation: URI;
|
|
149
151
|
readonly applicationScoped?: boolean;
|
|
150
152
|
readonly workspaceScoped?: boolean;
|
|
151
153
|
}
|
|
152
154
|
interface UninstallExtensionEvent {
|
|
153
155
|
readonly identifier: IExtensionIdentifier;
|
|
154
|
-
readonly profileLocation
|
|
156
|
+
readonly profileLocation: URI;
|
|
155
157
|
readonly applicationScoped?: boolean;
|
|
156
158
|
readonly workspaceScoped?: boolean;
|
|
157
159
|
}
|
|
158
160
|
interface DidUninstallExtensionEvent {
|
|
159
161
|
readonly identifier: IExtensionIdentifier;
|
|
160
162
|
readonly error?: string;
|
|
161
|
-
readonly profileLocation
|
|
163
|
+
readonly profileLocation: URI;
|
|
162
164
|
readonly applicationScoped?: boolean;
|
|
163
165
|
readonly workspaceScoped?: boolean;
|
|
164
166
|
}
|
|
167
|
+
interface DidUpdateExtensionMetadata {
|
|
168
|
+
readonly profileLocation: URI;
|
|
169
|
+
readonly local: ILocalExtension;
|
|
170
|
+
}
|
|
165
171
|
type InstallOptions = {
|
|
166
172
|
isBuiltin?: boolean;
|
|
167
173
|
isWorkspaceScoped?: boolean;
|
|
@@ -183,11 +189,11 @@ type InstallOptions = {
|
|
|
183
189
|
context?: IStringDictionary<any>;
|
|
184
190
|
};
|
|
185
191
|
type UninstallOptions = {
|
|
192
|
+
readonly profileLocation?: URI;
|
|
186
193
|
readonly donotIncludePack?: boolean;
|
|
187
194
|
readonly donotCheckDependents?: boolean;
|
|
188
195
|
readonly versionOnly?: boolean;
|
|
189
196
|
readonly remove?: boolean;
|
|
190
|
-
readonly profileLocation?: URI;
|
|
191
197
|
};
|
|
192
198
|
interface IExtensionManagementParticipant {
|
|
193
199
|
postInstall(local: ILocalExtension, source: URI | IGalleryExtension, options: InstallOptions, token: CancellationToken): Promise<void>;
|
|
@@ -198,4 +204,4 @@ type InstallExtensionInfo = {
|
|
|
198
204
|
readonly options: InstallOptions;
|
|
199
205
|
};
|
|
200
206
|
|
|
201
|
-
export { type DidUninstallExtensionEvent, type IDeprecationInfo, type IExtensionIdentifier, type IExtensionManagementParticipant, type IExtensionsControlManifest, type IGalleryExtension, type IGalleryExtensionAsset, type IGalleryExtensionAssets, type IGalleryExtensionIdentifier, type IGalleryExtensionProperties, type IGalleryMetadata, type ILocalExtension, type IProductVersion, type ISearchPrefferedResults, type InstallExtensionEvent, type InstallExtensionInfo, type InstallExtensionResult, InstallOperation, type InstallOptions, type InstallSource, type Metadata, type UninstallExtensionEvent, type UninstallOptions };
|
|
207
|
+
export { type DidUninstallExtensionEvent, type DidUpdateExtensionMetadata, type IDeprecationInfo, type IExtensionIdentifier, type IExtensionManagementParticipant, type IExtensionsControlManifest, type IGalleryExtension, type IGalleryExtensionAsset, type IGalleryExtensionAssets, type IGalleryExtensionIdentifier, type IGalleryExtensionProperties, type IGalleryMetadata, type ILocalExtension, type IProductVersion, type ISearchPrefferedResults, type InstallExtensionEvent, type InstallExtensionInfo, type InstallExtensionResult, InstallOperation, type InstallOptions, type InstallSource, type Metadata, type UninstallExtensionEvent, type UninstallOptions };
|
|
@@ -162,12 +162,14 @@ var ExtensionManagementErrorCode;
|
|
|
162
162
|
ExtensionManagementErrorCode["Deprecated"] = "Deprecated";
|
|
163
163
|
ExtensionManagementErrorCode["Malicious"] = "Malicious";
|
|
164
164
|
ExtensionManagementErrorCode["Incompatible"] = "Incompatible";
|
|
165
|
+
ExtensionManagementErrorCode["IncompatibleApi"] = "IncompatibleApi";
|
|
165
166
|
ExtensionManagementErrorCode["IncompatibleTargetPlatform"] = "IncompatibleTargetPlatform";
|
|
166
167
|
ExtensionManagementErrorCode["ReleaseVersionNotFound"] = "ReleaseVersionNotFound";
|
|
167
168
|
ExtensionManagementErrorCode["Invalid"] = "Invalid";
|
|
168
169
|
ExtensionManagementErrorCode["Download"] = "Download";
|
|
169
170
|
ExtensionManagementErrorCode["DownloadSignature"] = "DownloadSignature";
|
|
170
171
|
ExtensionManagementErrorCode["DownloadFailedWriting"] = "DownloadFailedWriting";
|
|
172
|
+
ExtensionManagementErrorCode["UpdateExistingMetadata"] = "UpdateExistingMetadata";
|
|
171
173
|
ExtensionManagementErrorCode["UpdateMetadata"] = "UpdateMetadata";
|
|
172
174
|
ExtensionManagementErrorCode["Extract"] = "Extract";
|
|
173
175
|
ExtensionManagementErrorCode["Scanning"] = "Scanning";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ServiceIdentifier } from '../../instantiation/common/instantiation.js';
|
|
2
2
|
import { URI } from '../../../base/common/uri.js';
|
|
3
3
|
import { IExtensionManifest, ExtensionType, TargetPlatform } from '../../extensions/common/extensions.js';
|
|
4
|
-
import { InstallExtensionEvent, InstallExtensionResult, UninstallExtensionEvent, DidUninstallExtensionEvent, ILocalExtension, IExtensionIdentifier, InstallOptions, IGalleryExtension, InstallExtensionInfo, UninstallOptions, IProductVersion, IExtensionsControlManifest, Metadata, InstallOperation, IExtensionManagementParticipant } from './extensionManagement.js';
|
|
4
|
+
import { InstallExtensionEvent, InstallExtensionResult, UninstallExtensionEvent, DidUninstallExtensionEvent, DidUpdateExtensionMetadata, ILocalExtension, IExtensionIdentifier, InstallOptions, IGalleryExtension, InstallExtensionInfo, UninstallOptions, IProductVersion, IExtensionsControlManifest, Metadata, InstallOperation, IExtensionManagementParticipant } from './extensionManagement.js';
|
|
5
5
|
import { Event } from '../../../base/common/event.js';
|
|
6
6
|
|
|
7
7
|
declare const IExtensionManagementService: ServiceIdentifier<IExtensionManagementService>;
|
|
@@ -11,7 +11,7 @@ interface IExtensionManagementService {
|
|
|
11
11
|
onDidInstallExtensions: Event<readonly InstallExtensionResult[]>;
|
|
12
12
|
onUninstallExtension: Event<UninstallExtensionEvent>;
|
|
13
13
|
onDidUninstallExtension: Event<DidUninstallExtensionEvent>;
|
|
14
|
-
onDidUpdateExtensionMetadata: Event<
|
|
14
|
+
onDidUpdateExtensionMetadata: Event<DidUpdateExtensionMetadata>;
|
|
15
15
|
zip(extension: ILocalExtension): Promise<URI>;
|
|
16
16
|
unzip(zipLocation: URI): Promise<IExtensionIdentifier>;
|
|
17
17
|
getManifest(vsix: URI): Promise<IExtensionManifest>;
|
|
@@ -27,7 +27,7 @@ interface IExtensionManagementService {
|
|
|
27
27
|
getInstalled(type?: ExtensionType, profileLocation?: URI, productVersion?: IProductVersion): Promise<ILocalExtension[]>;
|
|
28
28
|
getExtensionsControlManifest(): Promise<IExtensionsControlManifest>;
|
|
29
29
|
copyExtensions(fromProfileLocation: URI, toProfileLocation: URI): Promise<void>;
|
|
30
|
-
updateMetadata(local: ILocalExtension, metadata: Partial<Metadata>, profileLocation
|
|
30
|
+
updateMetadata(local: ILocalExtension, metadata: Partial<Metadata>, profileLocation: URI): Promise<ILocalExtension>;
|
|
31
31
|
download(extension: IGalleryExtension, operation: InstallOperation, donotVerifySignature: boolean): Promise<URI>;
|
|
32
32
|
registerParticipant(pariticipant: IExtensionManagementParticipant): void;
|
|
33
33
|
getTargetPlatform(): Promise<TargetPlatform>;
|
|
@@ -18,7 +18,7 @@ import { URI } from '../../../base/common/uri.js';
|
|
|
18
18
|
import { localizeWithPath } from '../../../nls.js';
|
|
19
19
|
import { IEnvironmentService } from '../../environment/common/environment.service.js';
|
|
20
20
|
import { computeTargetPlatform, areSameExtensions, ExtensionKey, getGalleryExtensionId } from './extensionManagementUtil.js';
|
|
21
|
-
import { ExtensionType, UNDEFINED_PUBLISHER, BUILTIN_MANIFEST_CACHE_FILE, USER_MANIFEST_CACHE_FILE, ExtensionIdentifierMap, TargetPlatform } from '../../extensions/common/extensions.js';
|
|
21
|
+
import { ExtensionType, UNDEFINED_PUBLISHER, parseEnabledApiProposalNames, BUILTIN_MANIFEST_CACHE_FILE, USER_MANIFEST_CACHE_FILE, ExtensionIdentifierMap, TargetPlatform } from '../../extensions/common/extensions.js';
|
|
22
22
|
import { validateExtensionManifest } from '../../extensions/common/extensionValidator.js';
|
|
23
23
|
import { toFileOperationResult, FileOperationResult } from '../../files/common/files.js';
|
|
24
24
|
import { IFileService } from '../../files/common/files.service.js';
|
|
@@ -609,11 +609,12 @@ ExtensionManifestTranslator = ( (__decorate([
|
|
|
609
609
|
( (__param(1, ILogService)))
|
|
610
610
|
], ExtensionManifestTranslator)));
|
|
611
611
|
let ExtensionsScanner = class ExtensionsScanner extends ExtensionManifestTranslator {
|
|
612
|
-
constructor(obsoleteFile, extensionsProfileScannerService, uriIdentityService, fileService, logService) {
|
|
612
|
+
constructor(obsoleteFile, extensionsProfileScannerService, uriIdentityService, fileService, productService, logService) {
|
|
613
613
|
super(fileService, logService);
|
|
614
614
|
this.obsoleteFile = obsoleteFile;
|
|
615
615
|
this.extensionsProfileScannerService = extensionsProfileScannerService;
|
|
616
616
|
this.uriIdentityService = uriIdentityService;
|
|
617
|
+
this.extensionsEnabledWithApiProposalVersion = productService.extensionsEnabledWithApiProposalVersion?.map(id => id.toLowerCase()) ?? [];
|
|
617
618
|
}
|
|
618
619
|
async scanExtensions(input) {
|
|
619
620
|
const extensions = input.profile ? await this.scanExtensionsFromProfile(input) : await this.scanExtensionsFromLocation(input);
|
|
@@ -729,7 +730,7 @@ let ExtensionsScanner = class ExtensionsScanner extends ExtensionManifestTransla
|
|
|
729
730
|
const type = metadata?.isSystem ? ExtensionType.System : input.type;
|
|
730
731
|
const isBuiltin = type === ExtensionType.System || !!metadata?.isBuiltin;
|
|
731
732
|
manifest = await this.translateManifest(input.location, manifest, ExtensionScannerInput.createNlsConfiguration(input));
|
|
732
|
-
|
|
733
|
+
let extension = {
|
|
733
734
|
type,
|
|
734
735
|
identifier,
|
|
735
736
|
manifest,
|
|
@@ -741,7 +742,13 @@ let ExtensionsScanner = class ExtensionsScanner extends ExtensionManifestTransla
|
|
|
741
742
|
isValid: true,
|
|
742
743
|
validations: []
|
|
743
744
|
};
|
|
744
|
-
|
|
745
|
+
if (input.validate) {
|
|
746
|
+
extension = this.validate(extension, input);
|
|
747
|
+
}
|
|
748
|
+
if (manifest.enabledApiProposals && this.extensionsEnabledWithApiProposalVersion.includes(id.toLowerCase())) {
|
|
749
|
+
manifest.enabledApiProposals = parseEnabledApiProposalNames([...manifest.enabledApiProposals]);
|
|
750
|
+
}
|
|
751
|
+
return extension;
|
|
745
752
|
}
|
|
746
753
|
}
|
|
747
754
|
catch (e) {
|
|
@@ -753,7 +760,8 @@ let ExtensionsScanner = class ExtensionsScanner extends ExtensionManifestTransla
|
|
|
753
760
|
}
|
|
754
761
|
validate(extension, input) {
|
|
755
762
|
let isValid = true;
|
|
756
|
-
const
|
|
763
|
+
const validateApiVersion = this.extensionsEnabledWithApiProposalVersion.includes(extension.identifier.id.toLowerCase());
|
|
764
|
+
const validations = validateExtensionManifest(input.productVersion, input.productDate, input.location, extension.manifest, extension.isBuiltin, validateApiVersion);
|
|
757
765
|
for (const [severity, message] of validations) {
|
|
758
766
|
if (severity === Severity$1.Error) {
|
|
759
767
|
isValid = false;
|
|
@@ -818,11 +826,12 @@ ExtensionsScanner = ( (__decorate([
|
|
|
818
826
|
( (__param(1, IExtensionsProfileScannerService))),
|
|
819
827
|
( (__param(2, IUriIdentityService))),
|
|
820
828
|
( (__param(3, IFileService))),
|
|
821
|
-
( (__param(4,
|
|
829
|
+
( (__param(4, IProductService))),
|
|
830
|
+
( (__param(5, ILogService)))
|
|
822
831
|
], ExtensionsScanner)));
|
|
823
832
|
let CachedExtensionsScanner = class CachedExtensionsScanner extends ExtensionsScanner {
|
|
824
|
-
constructor(currentProfile, obsoleteFile, userDataProfilesService, extensionsProfileScannerService, uriIdentityService, fileService, logService) {
|
|
825
|
-
super(obsoleteFile, extensionsProfileScannerService, uriIdentityService, fileService, logService);
|
|
833
|
+
constructor(currentProfile, obsoleteFile, userDataProfilesService, extensionsProfileScannerService, uriIdentityService, fileService, productService, logService) {
|
|
834
|
+
super(obsoleteFile, extensionsProfileScannerService, uriIdentityService, fileService, productService, logService);
|
|
826
835
|
this.currentProfile = currentProfile;
|
|
827
836
|
this.userDataProfilesService = userDataProfilesService;
|
|
828
837
|
this.cacheValidatorThrottler = this._register(( (new ThrottledDelayer(3000))));
|
|
@@ -834,7 +843,7 @@ let CachedExtensionsScanner = class CachedExtensionsScanner extends ExtensionsSc
|
|
|
834
843
|
const cacheContents = await this.readExtensionCache(cacheFile);
|
|
835
844
|
this.input = input;
|
|
836
845
|
if (cacheContents && cacheContents.input && ExtensionScannerInput.equals(cacheContents.input, this.input)) {
|
|
837
|
-
this.logService.debug('Using cached extensions scan result', ( (input.location.toString())));
|
|
846
|
+
this.logService.debug('Using cached extensions scan result', input.type === ExtensionType.System ? 'system' : 'user', ( (input.location.toString())));
|
|
838
847
|
this.cacheValidatorThrottler.trigger(() => this.validateCache());
|
|
839
848
|
return (
|
|
840
849
|
(cacheContents.result.map((extension) => {
|
|
@@ -911,6 +920,7 @@ CachedExtensionsScanner = ( (__decorate([
|
|
|
911
920
|
( (__param(3, IExtensionsProfileScannerService))),
|
|
912
921
|
( (__param(4, IUriIdentityService))),
|
|
913
922
|
( (__param(5, IFileService))),
|
|
914
|
-
( (__param(6,
|
|
923
|
+
( (__param(6, IProductService))),
|
|
924
|
+
( (__param(7, ILogService)))
|
|
915
925
|
], CachedExtensionsScanner)));
|
|
916
926
|
export { AbstractExtensionsScannerService, ExtensionManifestTranslator, ExtensionScannerInput, Translations };
|