@codingame/monaco-vscode-api 6.0.2 → 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/monaco.d.ts +1 -1
- package/monaco.js +1 -1
- 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/editor/editor.api.d.ts +31 -5
- 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
|
@@ -344,7 +344,7 @@ function sanitizeRenderedMarkdown(options, renderedMarkdown) {
|
|
|
344
344
|
element.setAttribute('disabled', '');
|
|
345
345
|
}
|
|
346
346
|
else if (!options.replaceWithPlaintext) {
|
|
347
|
-
element.
|
|
347
|
+
element.remove();
|
|
348
348
|
}
|
|
349
349
|
}
|
|
350
350
|
if (options.replaceWithPlaintext && !e.allowedTags[e.tagName] && e.tagName !== 'body') {
|
|
@@ -394,6 +394,7 @@ const allowedMarkdownAttr = [
|
|
|
394
394
|
'alt',
|
|
395
395
|
'checked',
|
|
396
396
|
'class',
|
|
397
|
+
'colspan',
|
|
397
398
|
'controls',
|
|
398
399
|
'data-code',
|
|
399
400
|
'data-href',
|
|
@@ -405,6 +406,7 @@ const allowedMarkdownAttr = [
|
|
|
405
406
|
'muted',
|
|
406
407
|
'playsinline',
|
|
407
408
|
'poster',
|
|
409
|
+
'rowspan',
|
|
408
410
|
'src',
|
|
409
411
|
'style',
|
|
410
412
|
'target',
|
|
@@ -520,7 +522,7 @@ const plainTextRenderer = ( new Lazy((withCodeBlocks) => createRenderer()));
|
|
|
520
522
|
const plainTextWithCodeBlocksRenderer = ( new Lazy(() => {
|
|
521
523
|
const renderer = createRenderer();
|
|
522
524
|
renderer.code = (code) => {
|
|
523
|
-
return
|
|
525
|
+
return `\n\`\`\`\n${code}\n\`\`\`\n`;
|
|
524
526
|
};
|
|
525
527
|
return renderer;
|
|
526
528
|
}));
|
|
@@ -590,7 +592,7 @@ function completeListItemPattern(list) {
|
|
|
590
592
|
return;
|
|
591
593
|
}
|
|
592
594
|
const previousListItemsText = mergeRawTokenText(list.items.slice(0, -1));
|
|
593
|
-
const lastListItemLead = lastListItem.raw.match(/^(\s*(-|\d
|
|
595
|
+
const lastListItemLead = lastListItem.raw.match(/^(\s*(-|\d+\.|\*) +)/)?.[0];
|
|
594
596
|
if (!lastListItemLead) {
|
|
595
597
|
return;
|
|
596
598
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { mainWindow } from './window.js';
|
|
2
1
|
import { onUnexpectedError } from '../common/errors.js';
|
|
3
2
|
function createTrustedTypesPolicy(policyName, policyOptions) {
|
|
4
3
|
const monacoEnvironment = globalThis.MonacoEnvironment;
|
|
@@ -12,7 +11,7 @@ function createTrustedTypesPolicy(policyName, policyOptions) {
|
|
|
12
11
|
}
|
|
13
12
|
}
|
|
14
13
|
try {
|
|
15
|
-
return
|
|
14
|
+
return globalThis.trustedTypes?.createPolicy(policyName, policyOptions);
|
|
16
15
|
}
|
|
17
16
|
catch (err) {
|
|
18
17
|
onUnexpectedError(err);
|
|
@@ -157,7 +157,7 @@ class BaseActionViewItem extends Disposable {
|
|
|
157
157
|
else {
|
|
158
158
|
if (!this.customHover && title !== '') {
|
|
159
159
|
const hoverDelegate = this.options.hoverDelegate ?? getDefaultHoverDelegate('element');
|
|
160
|
-
this.customHover = this._store.add(getBaseLayerHoverDelegate().
|
|
160
|
+
this.customHover = this._store.add(getBaseLayerHoverDelegate().setupManagedHover(hoverDelegate, this.element, title));
|
|
161
161
|
}
|
|
162
162
|
else if (this.customHover) {
|
|
163
163
|
this.customHover.update(title);
|
|
@@ -289,7 +289,7 @@ class ActionBar extends Disposable {
|
|
|
289
289
|
}
|
|
290
290
|
pull(index) {
|
|
291
291
|
if (index >= 0 && index < this.viewItems.length) {
|
|
292
|
-
this.actionsList.
|
|
292
|
+
this.actionsList.childNodes[index].remove();
|
|
293
293
|
this.viewItemDisposables.deleteAndDispose(this.viewItems[index]);
|
|
294
294
|
dispose(this.viewItems.splice(index, 1));
|
|
295
295
|
this.refreshRole();
|
|
@@ -218,7 +218,7 @@ class Button extends Disposable {
|
|
|
218
218
|
}
|
|
219
219
|
setTitle(title) {
|
|
220
220
|
if (!this._hover && title !== '') {
|
|
221
|
-
this._hover = this._register(getBaseLayerHoverDelegate().
|
|
221
|
+
this._hover = this._register(getBaseLayerHoverDelegate().setupManagedHover(this.options.hoverDelegate ?? getDefaultHoverDelegate('mouse'), this._element, title));
|
|
222
222
|
}
|
|
223
223
|
else if (this._hover) {
|
|
224
224
|
this._hover.update(title);
|
|
@@ -262,7 +262,7 @@ class ButtonWithDropdown extends Disposable {
|
|
|
262
262
|
this.separatorContainer.style.backgroundColor = buttonBackground ?? '';
|
|
263
263
|
this.separator.style.backgroundColor = options.buttonSeparator ?? '';
|
|
264
264
|
this.dropdownButton = this._register(( (new Button(this.element, { ...options, title: false, supportIcons: true }))));
|
|
265
|
-
this._register(getBaseLayerHoverDelegate().
|
|
265
|
+
this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate('mouse'), this.dropdownButton.element, ( localizeWithPath(_moduleId, 0, 'More Actions...'))));
|
|
266
266
|
this.dropdownButton.element.setAttribute('aria-haspopup', 'true');
|
|
267
267
|
this.dropdownButton.element.setAttribute('aria-expanded', 'false');
|
|
268
268
|
this.dropdownButton.element.classList.add('monaco-dropdown-button');
|
|
@@ -88,15 +88,12 @@ class ContextView extends Disposable {
|
|
|
88
88
|
}
|
|
89
89
|
if (this.container) {
|
|
90
90
|
this.toDisposeOnSetContainer.dispose();
|
|
91
|
+
this.view.remove();
|
|
91
92
|
if (this.shadowRoot) {
|
|
92
|
-
this.shadowRoot.removeChild(this.view);
|
|
93
93
|
this.shadowRoot = null;
|
|
94
94
|
this.shadowRootHostElement?.remove();
|
|
95
95
|
this.shadowRootHostElement = null;
|
|
96
96
|
}
|
|
97
|
-
else {
|
|
98
|
-
this.container.removeChild(this.view);
|
|
99
|
-
}
|
|
100
97
|
this.container = null;
|
|
101
98
|
}
|
|
102
99
|
if (container) {
|
|
@@ -65,7 +65,7 @@ class BaseDropdown extends ActionRunner {
|
|
|
65
65
|
set tooltip(tooltip) {
|
|
66
66
|
if (this._label) {
|
|
67
67
|
if (!this.hover && tooltip !== '') {
|
|
68
|
-
this.hover = this._register(getBaseLayerHoverDelegate().
|
|
68
|
+
this.hover = this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate('mouse'), this._label, tooltip));
|
|
69
69
|
}
|
|
70
70
|
else if (this.hover) {
|
|
71
71
|
this.hover.update(tooltip);
|
|
@@ -44,7 +44,7 @@ class DropdownMenuActionViewItem extends BaseActionViewItem {
|
|
|
44
44
|
this.element.setAttribute('aria-haspopup', 'true');
|
|
45
45
|
this.element.setAttribute('aria-expanded', 'false');
|
|
46
46
|
if (this._action.label) {
|
|
47
|
-
this._register(getBaseLayerHoverDelegate().
|
|
47
|
+
this._register(getBaseLayerHoverDelegate().setupManagedHover(this.options.hoverDelegate ?? getDefaultHoverDelegate('mouse'), this.element, this._action.label));
|
|
48
48
|
}
|
|
49
49
|
this.element.ariaLabel = this._action.label || '';
|
|
50
50
|
return null;
|
|
@@ -74,7 +74,7 @@ class HighlightedLabel extends Disposable {
|
|
|
74
74
|
else {
|
|
75
75
|
if (!this.customHover && this.title !== '') {
|
|
76
76
|
const hoverDelegate = this.options?.hoverDelegate ?? getDefaultHoverDelegate('mouse');
|
|
77
|
-
this.customHover = this._register(getBaseLayerHoverDelegate().
|
|
77
|
+
this.customHover = this._register(getBaseLayerHoverDelegate().setupManagedHover(hoverDelegate, this.domNode, this.title));
|
|
78
78
|
}
|
|
79
79
|
else if (this.customHover) {
|
|
80
80
|
this.customHover.update(this.title);
|
|
@@ -9,11 +9,12 @@ import { IDisposable } from '../../../common/lifecycle.js';
|
|
|
9
9
|
*/
|
|
10
10
|
interface IHoverDelegate2 {
|
|
11
11
|
/**
|
|
12
|
-
* Shows a hover, provided a hover with the same options object is not already visible.
|
|
12
|
+
* Shows a hover, provided a hover with the same {@link options} object is not already visible.
|
|
13
|
+
*
|
|
13
14
|
* @param options A set of options defining the characteristics of the hover.
|
|
14
15
|
* @param focus Whether to focus the hover (useful for keyboard accessibility).
|
|
15
16
|
*
|
|
16
|
-
*
|
|
17
|
+
* @example A simple usage with a single element target.
|
|
17
18
|
*
|
|
18
19
|
* ```typescript
|
|
19
20
|
* showHover({
|
|
@@ -33,13 +34,31 @@ interface IHoverDelegate2 {
|
|
|
33
34
|
* simultaneously. #188822
|
|
34
35
|
*/
|
|
35
36
|
showAndFocusLastHover(): void;
|
|
36
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Sets up a managed hover for the given element. A managed hover will set up listeners for
|
|
39
|
+
* mouse events, show the hover after a delay and provide hooks to easily update the content.
|
|
40
|
+
*
|
|
41
|
+
* This should be used over {@link showHover} when fine-grained control is not needed. The
|
|
42
|
+
* managed hover also does not scale well, consider using {@link showHover} when showing hovers
|
|
43
|
+
* for many elements.
|
|
44
|
+
*
|
|
45
|
+
* @param hoverDelegate The hover delegate containing hooks and configuration for the hover.
|
|
46
|
+
* @param targetElement The target element to show the hover for.
|
|
47
|
+
* @param content The content of the hover or a factory that creates it at the time it's shown.
|
|
48
|
+
* @param options Additional options for the managed hover.
|
|
49
|
+
*/
|
|
50
|
+
setupManagedHover(hoverDelegate: IHoverDelegate, targetElement: HTMLElement, content: IManagedHoverContentOrFactory, options?: IManagedHoverOptions): IManagedHover;
|
|
37
51
|
/**
|
|
38
52
|
* Shows the hover for the given element if one has been setup.
|
|
53
|
+
*
|
|
54
|
+
* @param targetElement The target element of the hover, as set up in {@link setupManagedHover}.
|
|
39
55
|
*/
|
|
40
|
-
|
|
56
|
+
showManagedHover(targetElement: HTMLElement): void;
|
|
41
57
|
}
|
|
42
58
|
interface IHoverWidget extends IDisposable {
|
|
59
|
+
/**
|
|
60
|
+
* Whether the hover widget has been disposed.
|
|
61
|
+
*/
|
|
43
62
|
readonly isDisposed: boolean;
|
|
44
63
|
}
|
|
45
64
|
interface IHoverOptions {
|
|
@@ -186,25 +205,22 @@ interface IHoverTarget extends IDisposable {
|
|
|
186
205
|
* An optional absolute x coordinate to position the hover with, for example to position the
|
|
187
206
|
* hover using `MouseEvent.pageX`.
|
|
188
207
|
*/
|
|
189
|
-
x?: number;
|
|
208
|
+
readonly x?: number;
|
|
190
209
|
/**
|
|
191
210
|
* An optional absolute y coordinate to position the hover with, for example to position the
|
|
192
211
|
* hover using `MouseEvent.pageY`.
|
|
193
212
|
*/
|
|
194
|
-
y?: number;
|
|
213
|
+
readonly y?: number;
|
|
195
214
|
}
|
|
196
|
-
interface
|
|
215
|
+
interface IManagedHoverTooltipMarkdownString {
|
|
197
216
|
markdown: IMarkdownString | string | undefined | ((token: CancellationToken) => Promise<IMarkdownString | string | undefined>);
|
|
198
217
|
markdownNotSupportedFallback: string | undefined;
|
|
199
218
|
}
|
|
200
|
-
type
|
|
201
|
-
type
|
|
202
|
-
interface
|
|
203
|
-
actions?: IHoverAction[];
|
|
204
|
-
linkHandler?(url: string): void;
|
|
205
|
-
trapFocus?: boolean;
|
|
219
|
+
type IManagedHoverContent = string | IManagedHoverTooltipMarkdownString | HTMLElement | undefined;
|
|
220
|
+
type IManagedHoverContentOrFactory = IManagedHoverContent | (() => IManagedHoverContent);
|
|
221
|
+
interface IManagedHoverOptions extends Pick<IHoverOptions, 'actions' | 'linkHandler' | 'trapFocus'> {
|
|
206
222
|
}
|
|
207
|
-
interface
|
|
223
|
+
interface IManagedHover extends IDisposable {
|
|
208
224
|
/**
|
|
209
225
|
* Allows to programmatically open the hover.
|
|
210
226
|
*/
|
|
@@ -216,7 +232,7 @@ interface IUpdatableHover extends IDisposable {
|
|
|
216
232
|
/**
|
|
217
233
|
* Updates the contents of the hover.
|
|
218
234
|
*/
|
|
219
|
-
update(tooltip:
|
|
235
|
+
update(tooltip: IManagedHoverContent, options?: IManagedHoverOptions): void;
|
|
220
236
|
}
|
|
221
237
|
|
|
222
|
-
export type { IHoverAction, IHoverAppearanceOptions, IHoverDelegate2, IHoverOptions, IHoverPersistenceOptions, IHoverPositionOptions, IHoverTarget, IHoverWidget,
|
|
238
|
+
export type { IHoverAction, IHoverAppearanceOptions, IHoverDelegate2, IHoverOptions, IHoverPersistenceOptions, IHoverPositionOptions, IHoverTarget, IHoverWidget, IManagedHover, IManagedHoverContent, IManagedHoverContentOrFactory, IManagedHoverOptions, IManagedHoverTooltipMarkdownString };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IHoverWidget,
|
|
1
|
+
import { IHoverWidget, IManagedHoverOptions } from './hover.js';
|
|
2
2
|
import { HoverPosition } from './hoverWidget.js';
|
|
3
3
|
import { IMarkdownString } from '../../../common/htmlContent.js';
|
|
4
4
|
import { IDisposable } from '../../../common/lifecycle.js';
|
|
@@ -7,7 +7,7 @@ interface IHoverDelegateTarget extends IDisposable {
|
|
|
7
7
|
readonly targetElements: readonly HTMLElement[];
|
|
8
8
|
x?: number;
|
|
9
9
|
}
|
|
10
|
-
interface IHoverDelegateOptions extends
|
|
10
|
+
interface IHoverDelegateOptions extends IManagedHoverOptions {
|
|
11
11
|
/**
|
|
12
12
|
* The content to display in the primary section of the hover. The type of text determines the
|
|
13
13
|
* default `hideOnHover` behavior.
|
|
@@ -2,8 +2,8 @@ let baseHoverDelegate = {
|
|
|
2
2
|
showHover: () => undefined,
|
|
3
3
|
hideHover: () => undefined,
|
|
4
4
|
showAndFocusLastHover: () => undefined,
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
setupManagedHover: () => null,
|
|
6
|
+
showManagedHover: () => undefined
|
|
7
7
|
};
|
|
8
8
|
function setBaseLayerHoverDelegate(hoverDelegate) {
|
|
9
9
|
baseHoverDelegate = hoverDelegate;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import n from '../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
-
var css = ".monaco-hover{animation:fadein .1s linear;box-sizing:border-box;cursor:default;line-height:1.5em;overflow:hidden;position:absolute;user-select:text;-webkit-user-select:text;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){word-wrap:break-word;max-width:var(--vscode-hover-maxWidth,500px)}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{border-left:0;border-right:0;box-sizing:border-box;height:1px;margin:4px -8px -4px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px;width:100%}.monaco-hover .hover-row.status-bar .actions .action-container{cursor:pointer;margin-right:16px}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:\"(\"}.monaco-hover .hover-contents a.code-link:after{content:\")\"}.monaco-hover .hover-contents a.code-link>span{border-bottom:1px solid transparent;color:var(--vscode-textLink-foreground);text-decoration:underline;text-underline-position:under}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{display:inline-block;margin-bottom:4px}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{cursor:default;opacity:.4;pointer-events:none}";
|
|
2
|
+
var css = ".monaco-hover{animation:fadein .1s linear;box-sizing:border-box;cursor:default;line-height:1.5em;overflow:hidden;position:absolute;user-select:text;-webkit-user-select:text;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){word-wrap:break-word;max-width:var(--vscode-hover-maxWidth,500px)}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{border-left:0;border-right:0;box-sizing:border-box;height:1px;margin:4px -8px -4px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px;width:100%}.monaco-hover .hover-row.status-bar .actions .action-container{cursor:pointer;margin-right:16px}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .hover-row.status-bar .actions .action-container a{color:var(--vscode-textLink-foreground);text-decoration:var(--text-link-decoration)}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:\"(\"}.monaco-hover .hover-contents a.code-link:after{content:\")\"}.monaco-hover .hover-contents a.code-link>span{border-bottom:1px solid transparent;color:var(--vscode-textLink-foreground);text-decoration:underline;text-underline-position:under}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{display:inline-block;margin-bottom:4px}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{cursor:default;opacity:.4;pointer-events:none}";
|
|
3
3
|
n(css,{});
|
|
4
4
|
export { css, css as default };
|
|
@@ -40,6 +40,8 @@ class HoverAction extends Disposable {
|
|
|
40
40
|
}
|
|
41
41
|
constructor(parent, actionOptions, keybindingLabel) {
|
|
42
42
|
super();
|
|
43
|
+
this.actionLabel = actionOptions.label;
|
|
44
|
+
this.actionKeybindingLabel = keybindingLabel;
|
|
43
45
|
this.actionContainer = append(parent, $('div.action-container'));
|
|
44
46
|
this.actionContainer.setAttribute('tabindex', '0');
|
|
45
47
|
this.action = append(this.actionContainer, $('a.action'));
|
|
@@ -147,7 +147,7 @@ class IconLabel extends Disposable {
|
|
|
147
147
|
setupNativeHover(htmlElement, tooltip);
|
|
148
148
|
}
|
|
149
149
|
else {
|
|
150
|
-
const hoverDisposable = getBaseLayerHoverDelegate().
|
|
150
|
+
const hoverDisposable = getBaseLayerHoverDelegate().setupManagedHover(this.hoverDelegate, htmlElement, tooltip);
|
|
151
151
|
if (hoverDisposable) {
|
|
152
152
|
this.customHovers.set(htmlElement, hoverDisposable);
|
|
153
153
|
}
|
|
@@ -11,7 +11,7 @@ class SimpleIconLabel {
|
|
|
11
11
|
}
|
|
12
12
|
set title(title) {
|
|
13
13
|
if (!this.hover && title) {
|
|
14
|
-
this.hover = getBaseLayerHoverDelegate().
|
|
14
|
+
this.hover = getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate('mouse'), this._container, title);
|
|
15
15
|
}
|
|
16
16
|
else if (this.hover) {
|
|
17
17
|
this.hover.update(title);
|
|
@@ -127,7 +127,7 @@ class InputBox extends Widget {
|
|
|
127
127
|
setTooltip(tooltip) {
|
|
128
128
|
this.tooltip = tooltip;
|
|
129
129
|
if (!this.hover) {
|
|
130
|
-
this.hover = this._register(getBaseLayerHoverDelegate().
|
|
130
|
+
this.hover = this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate('mouse'), this.input, tooltip));
|
|
131
131
|
}
|
|
132
132
|
else {
|
|
133
133
|
this.hover.update(tooltip);
|
|
@@ -26,7 +26,7 @@ class KeybindingLabel extends Disposable {
|
|
|
26
26
|
if (labelForeground) {
|
|
27
27
|
this.domNode.style.color = labelForeground;
|
|
28
28
|
}
|
|
29
|
-
this.hover = this._register(getBaseLayerHoverDelegate().
|
|
29
|
+
this.hover = this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate('mouse'), this.domNode, ''));
|
|
30
30
|
this.didEverRender = false;
|
|
31
31
|
container.appendChild(this.domNode);
|
|
32
32
|
}
|
|
@@ -787,7 +787,7 @@ class ListView {
|
|
|
787
787
|
const container = getDragImageContainer(this.domNode);
|
|
788
788
|
container.appendChild(dragImage);
|
|
789
789
|
event.dataTransfer.setDragImage(dragImage, -10, -10);
|
|
790
|
-
setTimeout(() =>
|
|
790
|
+
setTimeout(() => dragImage.remove(), 0);
|
|
791
791
|
}
|
|
792
792
|
this.domNode.classList.add('dragging');
|
|
793
793
|
this.currentDragData = ( new ElementsDragAndDropData(elements));
|
|
@@ -1075,7 +1075,7 @@ class ListView {
|
|
|
1075
1075
|
renderer.disposeElement?.(item.element, index, row.templateData, undefined);
|
|
1076
1076
|
this.virtualDelegate.setDynamicHeight?.(item.element, item.size);
|
|
1077
1077
|
item.lastDynamicHeightWidth = this.renderWidth;
|
|
1078
|
-
|
|
1078
|
+
row.domNode.remove();
|
|
1079
1079
|
this.cache.release(row);
|
|
1080
1080
|
return item.size - size;
|
|
1081
1081
|
}
|
|
@@ -1095,9 +1095,7 @@ class ListView {
|
|
|
1095
1095
|
}
|
|
1096
1096
|
}
|
|
1097
1097
|
this.items = [];
|
|
1098
|
-
|
|
1099
|
-
this.domNode.parentNode.removeChild(this.domNode);
|
|
1100
|
-
}
|
|
1098
|
+
this.domNode?.remove();
|
|
1101
1099
|
this.dragOverAnimationDisposable?.dispose();
|
|
1102
1100
|
this.disposables.dispose();
|
|
1103
1101
|
}
|
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import { $ } from '../../dom.js';
|
|
2
|
-
function removeFromParent(element) {
|
|
3
|
-
try {
|
|
4
|
-
element.parentElement?.removeChild(element);
|
|
5
|
-
}
|
|
6
|
-
catch (e) {
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
2
|
class RowCache {
|
|
10
3
|
constructor(renderers) {
|
|
11
4
|
this.renderers = renderers;
|
|
@@ -67,7 +60,7 @@ class RowCache {
|
|
|
67
60
|
}
|
|
68
61
|
doRemoveNode(domNode) {
|
|
69
62
|
domNode.classList.remove('scrolling');
|
|
70
|
-
|
|
63
|
+
domNode.remove();
|
|
71
64
|
}
|
|
72
65
|
getTemplateCache(templateId) {
|
|
73
66
|
let result = this.cache.get(templateId);
|
|
@@ -86,7 +86,7 @@ class SelectBoxList extends Disposable {
|
|
|
86
86
|
}
|
|
87
87
|
setTitle(title) {
|
|
88
88
|
if (!this._hover && title) {
|
|
89
|
-
this._hover = this._register(getBaseLayerHoverDelegate().
|
|
89
|
+
this._hover = this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate('mouse'), this.selectElement, title));
|
|
90
90
|
}
|
|
91
91
|
else if (this._hover) {
|
|
92
92
|
this._hover.update(title);
|
|
@@ -349,11 +349,7 @@ class SelectBoxList extends Disposable {
|
|
|
349
349
|
this.layoutSelectDropDown(preLayoutPosition);
|
|
350
350
|
return {
|
|
351
351
|
dispose: () => {
|
|
352
|
-
|
|
353
|
-
container.removeChild(this.selectDropDownContainer);
|
|
354
|
-
}
|
|
355
|
-
catch (error) {
|
|
356
|
-
}
|
|
352
|
+
this.selectDropDownContainer.remove();
|
|
357
353
|
}
|
|
358
354
|
};
|
|
359
355
|
}
|
|
@@ -403,8 +399,8 @@ class SelectBoxList extends Disposable {
|
|
|
403
399
|
&& maxVisibleOptionsAbove > maxVisibleOptionsBelow
|
|
404
400
|
&& this.options.length > maxVisibleOptionsBelow) {
|
|
405
401
|
this._dropDownPosition = AnchorPosition.ABOVE;
|
|
406
|
-
this.
|
|
407
|
-
this.
|
|
402
|
+
this.selectDropDownListContainer.remove();
|
|
403
|
+
this.selectionDetailsPane.remove();
|
|
408
404
|
this.selectDropDownContainer.appendChild(this.selectionDetailsPane);
|
|
409
405
|
this.selectDropDownContainer.appendChild(this.selectDropDownListContainer);
|
|
410
406
|
this.selectionDetailsPane.classList.remove('border-top');
|
|
@@ -412,8 +408,8 @@ class SelectBoxList extends Disposable {
|
|
|
412
408
|
}
|
|
413
409
|
else {
|
|
414
410
|
this._dropDownPosition = AnchorPosition.BELOW;
|
|
415
|
-
this.
|
|
416
|
-
this.
|
|
411
|
+
this.selectDropDownListContainer.remove();
|
|
412
|
+
this.selectionDetailsPane.remove();
|
|
417
413
|
this.selectDropDownContainer.appendChild(this.selectDropDownListContainer);
|
|
418
414
|
this.selectDropDownContainer.appendChild(this.selectionDetailsPane);
|
|
419
415
|
this.selectionDetailsPane.classList.remove('border-bottom');
|
|
@@ -601,7 +597,7 @@ class SelectBoxList extends Disposable {
|
|
|
601
597
|
const child = element.childNodes.item(i);
|
|
602
598
|
const tagName = child.tagName && child.tagName.toLowerCase();
|
|
603
599
|
if (tagName === 'img') {
|
|
604
|
-
|
|
600
|
+
child.remove();
|
|
605
601
|
}
|
|
606
602
|
else {
|
|
607
603
|
cleanRenderedMarkdown(child);
|
|
@@ -264,7 +264,7 @@ class PaneDraggable extends Disposable {
|
|
|
264
264
|
}
|
|
265
265
|
const dragImage = append(this.pane.element.ownerDocument.body, $('.monaco-drag-image', {}, this.pane.draggableElement.textContent || ''));
|
|
266
266
|
e.dataTransfer.setDragImage(dragImage, -10, -10);
|
|
267
|
-
setTimeout(() =>
|
|
267
|
+
setTimeout(() => dragImage.remove(), 0);
|
|
268
268
|
this.context.draggable = this;
|
|
269
269
|
}
|
|
270
270
|
onDragEnter(e) {
|
|
@@ -561,7 +561,7 @@ class SplitView extends Disposable {
|
|
|
561
561
|
this.viewContainer.insertBefore(container, this.viewContainer.children.item(index));
|
|
562
562
|
}
|
|
563
563
|
const onChangeDisposable = view.onDidChange(size => this.onViewChange(item, size));
|
|
564
|
-
const containerDisposable = toDisposable(() =>
|
|
564
|
+
const containerDisposable = toDisposable(() => container.remove());
|
|
565
565
|
const disposable = combinedDisposable(onChangeDisposable, containerDisposable);
|
|
566
566
|
let viewSize;
|
|
567
567
|
if (typeof size === 'number') {
|
|
@@ -90,7 +90,7 @@ class ColumnHeader extends Disposable {
|
|
|
90
90
|
this.onDidLayout = this._onDidLayout.event;
|
|
91
91
|
this.element = $('.monaco-table-th', { 'data-col-index': index }, column.label);
|
|
92
92
|
if (column.tooltip) {
|
|
93
|
-
this._register(getBaseLayerHoverDelegate().
|
|
93
|
+
this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate('mouse'), this.element, column.tooltip));
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
layout(size) {
|
|
@@ -78,7 +78,7 @@ class Toggle extends Widget {
|
|
|
78
78
|
classes.push('checked');
|
|
79
79
|
}
|
|
80
80
|
this.domNode = document.createElement('div');
|
|
81
|
-
this._hover = this._register(getBaseLayerHoverDelegate().
|
|
81
|
+
this._hover = this._register(getBaseLayerHoverDelegate().setupManagedHover(opts.hoverDelegate ?? getDefaultHoverDelegate('mouse'), this.domNode, this._opts.title));
|
|
82
82
|
this.domNode.classList.add(...classes);
|
|
83
83
|
if (!this._opts.notFocusable) {
|
|
84
84
|
this.domNode.tabIndex = 0;
|
|
@@ -25,6 +25,14 @@ interface IToolBarOptions {
|
|
|
25
25
|
* If true, toggled primary items are highlighted with a background color.
|
|
26
26
|
*/
|
|
27
27
|
highlightToggledItems?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Render action with icons (default: `true`)
|
|
30
|
+
*/
|
|
31
|
+
icon?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Render action with label (default: `false`)
|
|
34
|
+
*/
|
|
35
|
+
label?: boolean;
|
|
28
36
|
}
|
|
29
37
|
/**
|
|
30
38
|
* A widget that combines an action bar for primary actions and a dropdown for secondary actions.
|
|
@@ -36,7 +44,6 @@ declare class ToolBar extends Disposable {
|
|
|
36
44
|
private toggleMenuActionViewItem;
|
|
37
45
|
private submenuActionViewItems;
|
|
38
46
|
private hasSecondaryActions;
|
|
39
|
-
private readonly lookupKeybindings;
|
|
40
47
|
private readonly element;
|
|
41
48
|
private _onDidChangeDropdownVisibility;
|
|
42
49
|
readonly onDidChangeDropdownVisibility: Event<boolean>;
|
|
@@ -19,7 +19,6 @@ class ToolBar extends Disposable {
|
|
|
19
19
|
this.disposables = this._register(( (new DisposableStore())));
|
|
20
20
|
options.hoverDelegate = options.hoverDelegate ?? this._register(createInstantHoverDelegate());
|
|
21
21
|
this.options = options;
|
|
22
|
-
this.lookupKeybindings = typeof this.options.getKeyBinding === 'function';
|
|
23
22
|
this.toggleMenuAction = this._register(( (new ToggleMenuAction(() => this.toggleMenuActionViewItem?.show(), options.toggleMenuTitle))));
|
|
24
23
|
this.element = document.createElement('div');
|
|
25
24
|
this.element.className = 'monaco-toolbar';
|
|
@@ -121,14 +120,14 @@ class ToolBar extends Disposable {
|
|
|
121
120
|
primaryActionsToSet.push(this.toggleMenuAction);
|
|
122
121
|
}
|
|
123
122
|
primaryActionsToSet.forEach(action => {
|
|
124
|
-
this.actionBar.push(action, { icon: true, label: false, keybinding: this.getKeybindingLabel(action) });
|
|
123
|
+
this.actionBar.push(action, { icon: this.options.icon ?? true, label: this.options.label ?? false, keybinding: this.getKeybindingLabel(action) });
|
|
125
124
|
});
|
|
126
125
|
}
|
|
127
126
|
isEmpty() {
|
|
128
127
|
return this.actionBar.isEmpty();
|
|
129
128
|
}
|
|
130
129
|
getKeybindingLabel(action) {
|
|
131
|
-
const key = this.
|
|
130
|
+
const key = this.options.getKeyBinding?.(action);
|
|
132
131
|
return key?.getLabel() ?? undefined;
|
|
133
132
|
}
|
|
134
133
|
clear() {
|
|
@@ -603,7 +603,7 @@ class FindWidget extends Disposable {
|
|
|
603
603
|
this._onDidDisable = ( (new Emitter()));
|
|
604
604
|
this.onDidDisable = this._onDidDisable.event;
|
|
605
605
|
container.appendChild(this.elements.root);
|
|
606
|
-
this._register(toDisposable(() =>
|
|
606
|
+
this._register(toDisposable(() => this.elements.root.remove()));
|
|
607
607
|
const styles = options?.styles ?? unthemedFindWidgetStyles;
|
|
608
608
|
if (styles.listFilterWidgetBackground) {
|
|
609
609
|
this.elements.root.style.backgroundColor = styles.listFilterWidgetBackground;
|
|
@@ -398,9 +398,6 @@ class AsyncDataTree {
|
|
|
398
398
|
resort(element = this.root.element, recursive = true) {
|
|
399
399
|
this.tree.resort(this.getDataNode(element), recursive);
|
|
400
400
|
}
|
|
401
|
-
hasElement(element) {
|
|
402
|
-
return this.tree.hasElement(this.getDataNode(element));
|
|
403
|
-
}
|
|
404
401
|
hasNode(element) {
|
|
405
402
|
return element === this.root.element || ( this.nodes.has(element));
|
|
406
403
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { onUnexpectedError, BugIndicatingError } from './errors.js';
|
|
2
2
|
function ok(value, message) {
|
|
3
3
|
if (!value) {
|
|
4
4
|
throw ( new Error(message ? `Assertion failed (${message})` : 'Assertion Failed'));
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var _a;
|
|
1
2
|
function groupBy(data, groupFn) {
|
|
2
3
|
const result = Object.create(null);
|
|
3
4
|
for (const element of data) {
|
|
@@ -49,4 +50,51 @@ function intersection(setA, setB) {
|
|
|
49
50
|
}
|
|
50
51
|
return result;
|
|
51
52
|
}
|
|
52
|
-
|
|
53
|
+
class SetWithKey {
|
|
54
|
+
static { _a = Symbol.toStringTag; }
|
|
55
|
+
constructor(values, toKey) {
|
|
56
|
+
this.toKey = toKey;
|
|
57
|
+
this._map = ( new Map());
|
|
58
|
+
this[_a] = 'SetWithKey';
|
|
59
|
+
for (const value of values) {
|
|
60
|
+
this.add(value);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
get size() {
|
|
64
|
+
return this._map.size;
|
|
65
|
+
}
|
|
66
|
+
add(value) {
|
|
67
|
+
const key = this.toKey(value);
|
|
68
|
+
this._map.set(key, value);
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
delete(value) {
|
|
72
|
+
return this._map.delete(this.toKey(value));
|
|
73
|
+
}
|
|
74
|
+
has(value) {
|
|
75
|
+
return ( this._map.has(this.toKey(value)));
|
|
76
|
+
}
|
|
77
|
+
*entries() {
|
|
78
|
+
for (const entry of ( this._map.values())) {
|
|
79
|
+
yield [entry, entry];
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
keys() {
|
|
83
|
+
return ( this.values());
|
|
84
|
+
}
|
|
85
|
+
*values() {
|
|
86
|
+
for (const entry of ( this._map.values())) {
|
|
87
|
+
yield entry;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
clear() {
|
|
91
|
+
this._map.clear();
|
|
92
|
+
}
|
|
93
|
+
forEach(callbackfn, thisArg) {
|
|
94
|
+
this._map.forEach(entry => callbackfn.call(thisArg, entry, entry, this));
|
|
95
|
+
}
|
|
96
|
+
[Symbol.iterator]() {
|
|
97
|
+
return ( this.values());
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export { SetWithKey, diffMaps, diffSets, groupBy, intersection };
|