@codingame/monaco-vscode-api 4.5.2 → 5.0.1
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/api.js +1 -1
- package/extensions.d.ts +2 -3
- package/lifecycle.js +6 -0
- package/localExtensionHost.d.ts +4 -1
- package/missing-services.js +41 -25
- package/package.json +8 -8
- package/service-override/tools/editor.js +31 -8
- package/service-override/tools/views.d.ts +1 -1
- package/service-override/tools/views.js +2 -3
- package/service-override/views.d.ts +0 -1
- package/services.d.ts +3 -3
- package/services.js +3 -3
- package/vscode/src/vs/base/browser/markdownRenderer.js +9 -3
- package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +2 -2
- package/vscode/src/vs/base/browser/ui/button/button.js +3 -3
- package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -1
- package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +2 -2
- package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +2 -2
- package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +2 -2
- package/vscode/src/vs/{platform/hover/browser → base/browser/ui/hover}/hover.d.ts +64 -4
- package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +13 -0
- package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +30 -14
- package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +15 -2
- package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +2 -2
- package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.css.js +4 -0
- package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +239 -0
- package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +2 -2
- package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +2 -2
- package/vscode/src/vs/base/browser/ui/list/listView.js +5 -3
- package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +33 -0
- package/vscode/src/vs/base/browser/ui/list/listWidget.js +4 -1
- package/vscode/src/vs/base/browser/ui/menu/menu.js +1 -0
- package/vscode/src/vs/base/browser/ui/menu/menubar.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/progressbar/progressAccessibilitySignal.js +13 -0
- package/vscode/src/vs/base/browser/ui/progressbar/progressbar.js +7 -1
- package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +2 -2
- package/vscode/src/vs/base/browser/ui/table/tableWidget.js +2 -2
- package/vscode/src/vs/base/browser/ui/toggle/toggle.js +8 -2
- package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +11 -4
- package/vscode/src/vs/base/browser/ui/tree/media/tree.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/tree/objectTree.js +6 -4
- package/vscode/src/vs/base/common/arraysFind.js +7 -7
- package/vscode/src/vs/base/common/async.js +8 -3
- package/vscode/src/vs/base/common/cache.js +29 -10
- package/vscode/src/vs/base/common/cancellation.js +6 -1
- package/vscode/src/vs/base/common/codicons.d.ts +3 -0
- package/vscode/src/vs/base/common/codiconsLibrary.js +3 -0
- package/vscode/src/vs/base/common/controlFlow.js +48 -0
- package/vscode/src/vs/base/common/equals.js +44 -0
- package/vscode/src/vs/base/common/event.d.ts +11 -1
- package/vscode/src/vs/base/common/event.js +26 -1
- package/vscode/src/vs/base/common/jsonEdit.js +1 -1
- package/vscode/src/vs/base/common/lifecycle.js +1 -1
- package/vscode/src/vs/base/common/map.js +53 -4
- package/vscode/src/vs/base/common/network.js +2 -0
- package/vscode/src/vs/base/common/objects.js +3 -0
- package/vscode/src/vs/base/common/observableInternal/autorun.js +1 -10
- package/vscode/src/vs/base/common/observableInternal/base.js +22 -10
- package/vscode/src/vs/base/common/observableInternal/derived.js +8 -8
- package/vscode/src/vs/base/common/observableInternal/promise.js +19 -1
- package/vscode/src/vs/base/common/observableInternal/utils.js +30 -52
- package/vscode/src/vs/base/common/product.d.ts +1 -0
- package/vscode/src/vs/base/common/strings.js +1 -1
- package/vscode/src/vs/base/common/types.d.ts +5 -1
- package/vscode/src/vs/editor/browser/config/editorConfiguration.js +3 -2
- package/vscode/src/vs/editor/browser/observableUtilities.js +58 -0
- package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +121 -2
- package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +80 -0
- package/vscode/src/vs/editor/browser/stableEditorScroll.js +37 -1
- package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +10 -3
- package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +1 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +7 -5
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +1 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +3 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +3 -10
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +8 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +6 -6
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +1 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +1 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +1 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -0
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +3 -2
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +17 -8
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget.js +1 -0
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +27 -19
- package/vscode/src/vs/editor/browser/widget/multiDiffEditor/style.css.js +1 -1
- package/vscode/src/vs/editor/common/core/editorColorRegistry.js +4 -4
- package/vscode/src/vs/editor/common/core/lineRange.d.ts +12 -0
- package/vscode/src/vs/editor/common/core/lineRange.js +28 -0
- package/vscode/src/vs/editor/common/core/textEdit.d.ts +21 -0
- package/vscode/src/vs/editor/common/core/textEdit.js +13 -1
- package/vscode/src/vs/editor/common/core/textLength.d.ts +29 -0
- package/vscode/src/vs/editor/common/core/textLength.js +6 -0
- package/vscode/src/vs/editor/common/cursor/cursorCollection.js +3 -3
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +11 -1
- package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +11 -0
- package/vscode/src/vs/editor/common/diff/rangeMapping.js +34 -3
- package/vscode/src/vs/editor/common/languages.d.ts +50 -10
- package/vscode/src/vs/editor/common/languages.js +11 -1
- package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +1 -1
- package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -2
- package/vscode/src/vs/editor/common/services/languageFeaturesService.js +1 -1
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +11 -1
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +3 -0
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +22 -6
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +5 -0
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +1 -0
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +20 -3
- package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +2 -2
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +4 -4
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +2 -2
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +7 -0
- package/vscode/src/vs/editor/contrib/find/browser/findController.js +11 -6
- package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +10 -10
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverComputer.js +74 -0
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +332 -0
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +34 -0
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +39 -0
- package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +355 -0
- package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +11 -14
- package/vscode/src/vs/editor/contrib/hover/browser/hover.css.js +1 -1
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +13 -0
- package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +354 -0
- package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +42 -0
- package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +320 -0
- package/vscode/src/vs/editor/contrib/hover/browser/marginHoverComputer.js +48 -0
- package/vscode/src/vs/editor/contrib/hover/browser/{marginHover.js → marginHoverWidget.js} +14 -48
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +250 -41
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +1 -0
- package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +44 -20
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +11 -7
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +1 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +2 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +1 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +26 -13
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +5 -11
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +24 -22
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +39 -70
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +3 -3
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +1 -0
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -0
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +1 -0
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -2
- package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +5 -3
- package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgressWidget.css.js +1 -1
- package/vscode/src/vs/editor/contrib/rename/browser/rename.js +18 -6
- package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.css.js +1 -1
- package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +165 -40
- package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +5 -0
- package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +3 -3
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +15 -8
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +13 -6
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +0 -2
- package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +9 -2
- package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +23 -18
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +33 -11
- package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +1 -9
- package/vscode/src/vs/platform/accessibility/common/accessibility.js +2 -1
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +15 -9
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +133 -132
- package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service.d.ts +12 -5
- package/vscode/src/vs/platform/accessibilitySignal/browser/progressAccessibilitySignalScheduler.js +25 -0
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +4 -4
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +10 -7
- package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +1 -1
- package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +4 -1
- package/vscode/src/vs/platform/actions/browser/toolbar.js +53 -36
- package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -1
- package/vscode/src/vs/platform/actions/common/actions.js +14 -4
- package/vscode/src/vs/platform/actions/common/menuService.js +30 -8
- package/vscode/src/vs/platform/configuration/common/configuration.js +4 -0
- package/vscode/src/vs/platform/configuration/common/configurationModels.js +43 -32
- package/vscode/src/vs/platform/configuration/common/configurations.js +12 -10
- package/vscode/src/vs/platform/contextview/browser/contextView.d.ts +4 -1
- package/vscode/src/vs/platform/contextview/browser/contextView.service.d.ts +2 -3
- package/vscode/src/vs/platform/contextview/browser/contextViewService.js +10 -8
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +0 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +1 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +1 -0
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +5 -0
- package/vscode/src/vs/platform/files/common/files.d.ts +14 -1
- package/vscode/src/vs/platform/hover/browser/hover.service.d.ts +2 -31
- package/vscode/src/vs/platform/instantiation/common/instantiation.d.ts +9 -0
- package/vscode/src/vs/platform/instantiation/common/instantiationService.js +42 -8
- package/vscode/src/vs/platform/log/common/log.js +3 -1
- package/vscode/src/vs/platform/markers/common/markerService.js +7 -3
- package/vscode/src/vs/platform/opener/browser/link.js +6 -4
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +2 -2
- package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +15 -7
- package/vscode/src/vs/platform/telemetry/common/gdprTypings.d.ts +0 -1
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +5 -0
- package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +30 -0
- package/vscode/src/vs/platform/theme/browser/defaultStyles.js +6 -0
- package/vscode/src/vs/platform/theme/browser/iconsStyleSheet.js +13 -11
- package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +28 -28
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -6
- package/vscode/src/vs/workbench/api/common/extHostBulkEdits.js +2 -1
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +104 -96
- package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +4 -4
- package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +9 -3
- package/vscode/src/vs/workbench/api/common/extHostDebugService.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostDocumentSaveParticipant.js +2 -1
- package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +19 -1
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +87 -17
- package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +39 -2
- package/vscode/src/vs/workbench/api/common/extHostNotebookDocumentSaveParticipant.js +2 -1
- package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +52 -36
- package/vscode/src/vs/workbench/api/common/extHostTesting.js +10 -28
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +6 -1
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +132 -136
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +72 -18
- package/vscode/src/vs/workbench/api/common/extHostWindow.js +3 -5
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +86 -76
- package/vscode/src/vs/workbench/browser/actions/media/actions.css.js +1 -1
- package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +30 -6
- package/vscode/src/vs/workbench/browser/labels.js +4 -1
- package/vscode/src/vs/workbench/browser/parts/compositePart.d.ts +3 -1
- package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +19 -7
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +16 -3
- package/vscode/src/vs/workbench/browser/parts/editor/media/editorquickaccess.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +14 -33
- package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +33 -13
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +7 -5
- package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +4 -3
- package/vscode/src/vs/workbench/browser/parts/panel/panelPart.d.ts +2 -1
- package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +3 -1
- package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +182 -63
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +14 -3
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +61 -34
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +16 -10
- package/vscode/src/vs/workbench/common/theme.js +144 -98
- package/vscode/src/vs/workbench/common/views.d.ts +2 -0
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +190 -138
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +876 -0
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +59 -7
- package/vscode/src/vs/workbench/contrib/accessibility/browser/{accessibilityContributions.js → accessibleViewContributions.js} +160 -6
- package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +66 -150
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +75 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +21 -22
- package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +6 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +101 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +6 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +30 -23
- package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +201 -47
- package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +42 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +13 -28
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +366 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +35 -2
- 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 +4 -0
- package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +4 -9
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +95 -5
- package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +11 -6
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +94 -79
- package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +0 -13
- package/vscode/src/vs/workbench/contrib/chat/common/chatParticipantContribTypes.js +2 -0
- package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +7 -9
- package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.service.js +3 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +30 -26
- package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +30 -29
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +4 -4
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +5 -4
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +13 -13
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +26 -16
- package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +107 -26
- package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +23 -2
- package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +2 -3
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +39 -11
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +53 -33
- package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +967 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +101 -0
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +4 -1
- package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +82 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +10 -9
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +79 -45
- package/vscode/src/vs/workbench/contrib/files/browser/{fileCommands.save.js → fileCommands._save.js} +4 -4
- package/vscode/src/vs/workbench/contrib/files/browser/{files.configuration.contribution.js → files.contribution._configuration.js} +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/{files.editorPane.contribution.js → files.contribution._editorPane.js} +18 -18
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +5 -3
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +19 -14
- package/vscode/src/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +8 -8
- package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +15 -2
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +29 -112
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +10 -7
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +99 -91
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +9 -31
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +345 -104
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +62 -69
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +63 -46
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +18 -10
- 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/browser/utils.js +1 -31
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +7 -3
- package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +5 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +1 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +1 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +1 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +4 -4
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +2 -48
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +28 -23
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +5 -9
- package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +112 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +18 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +7 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +4 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +8 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +36 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +9 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +17 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +6 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +5 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +5 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +2 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellAnchor.js +2 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +22 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +34 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +15 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.js +6 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +3 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +17 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +2 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +52 -16
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +25 -12
- package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +6 -4
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +0 -2
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +6 -4
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +24 -2
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +38 -8
- package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +0 -1
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +1 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +7 -14
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +24 -6
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.js +2 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +8 -9
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +2 -20
- package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +2 -2
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +1 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +10 -0
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +15 -3
- package/vscode/src/vs/workbench/services/accessibility/common/accessibleViewInformationService.service.d.ts +9 -0
- package/vscode/src/vs/workbench/services/accessibility/common/accessibleViewInformationService.service.js +3 -0
- package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +30 -16
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +15 -4
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +20 -1
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +0 -1
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +4 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +4 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocation.d.ts +1 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +8 -2
- package/vscode/src/vs/workbench/services/extensions/common/extensions.js +2 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +4 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +3 -3
- package/vscode/src/vs/workbench/services/language/common/languageService.js +23 -18
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +6 -4
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +50 -9
- package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.js +1 -0
- package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +97 -0
- package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopy.d.ts +7 -2
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +2 -2
- package/vscode-dts/vscode.proposed.chatParticipant.d.ts +23 -45
- package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +65 -91
- package/vscode-dts/vscode.proposed.chatProvider.d.ts +9 -0
- package/vscode-dts/vscode.proposed.chatTab.d.ts +1 -5
- package/vscode-dts/vscode.proposed.contribAccessibilityHelpContent.d.ts +15 -0
- package/vscode-dts/vscode.proposed.debugFocus.d.ts +4 -4
- package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +2 -2
- package/vscode-dts/vscode.proposed.documentPaste.d.ts +144 -43
- package/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts +76 -0
- package/vscode-dts/vscode.proposed.interactive.d.ts +1 -17
- package/vscode-dts/vscode.proposed.languageModels.d.ts +56 -11
- package/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts +12 -1
- package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +4 -4
- package/vscode-dts/vscode.proposed.speech.d.ts +2 -1
- package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +144 -38
- package/vscode-dts/vscode.proposed.testPreserveFocus.d.ts +28 -0
- package/vscode/src/vs/base/browser/ui/hover/updatableHoverWidget.d.ts +0 -21
- package/vscode/src/vs/base/browser/ui/hover/updatableHoverWidget.js +0 -214
- package/vscode/src/vs/editor/browser/services/hoverService/hoverService.d.ts +0 -32
- package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +0 -838
- package/vscode/src/vs/editor/contrib/hover/browser/hover.js +0 -621
- package/vscode/src/vs/platform/accessibility/common/accessibility.service.d.ts +0 -19
- package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -54
- package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +0 -70
- package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +0 -237
- package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +0 -49
- package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +0 -178
- package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +0 -141
- package/vscode/src/vs/workbench/contrib/chat/common/chatContributionService.service.js +0 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatFileCreationWidget.js +0 -212
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/OutlineEntry.js +0 -95
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +0 -110
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +0 -224
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +0 -48
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEvents.js +0 -47
- package/vscode-dts/vscode.proposed.dropMetadata.d.ts +0 -65
- package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +0 -57
- package/vscode-dts/vscode.proposed.windowActivity.d.ts +0 -17
- /package/vscode/src/vs/workbench/browser/parts/editor/{editor.autosave.contribution.js → editor.contribution._autosave.js} +0 -0
- /package/vscode/src/vs/workbench/contrib/files/browser/{files.fileEditorFactory.contribution.js → files.contribution._fileEditorFactory.js} +0 -0
|
@@ -1,7 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { IHoverDelegate } from './hoverDelegate.js';
|
|
2
|
+
import { HoverPosition } from './hoverWidget.js';
|
|
3
|
+
import { CancellationToken } from '../../../common/cancellation.js';
|
|
4
|
+
import { IMarkdownString } from '../../../common/htmlContent.js';
|
|
5
|
+
import { IDisposable } from '../../../common/lifecycle.js';
|
|
4
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Enables the convenient display of rich markdown-based hovers in the workbench.
|
|
9
|
+
*/
|
|
10
|
+
interface IHoverDelegate2 {
|
|
11
|
+
/**
|
|
12
|
+
* Shows a hover, provided a hover with the same options object is not already visible.
|
|
13
|
+
* @param options A set of options defining the characteristics of the hover.
|
|
14
|
+
* @param focus Whether to focus the hover (useful for keyboard accessibility).
|
|
15
|
+
*
|
|
16
|
+
* **Example:** A simple usage with a single element target.
|
|
17
|
+
*
|
|
18
|
+
* ```typescript
|
|
19
|
+
* showHover({
|
|
20
|
+
* text: new MarkdownString('Hello world'),
|
|
21
|
+
* target: someElement
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
showHover(options: IHoverOptions, focus?: boolean): IHoverWidget | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Hides the hover if it was visible. This call will be ignored if the the hover is currently
|
|
28
|
+
* "locked" via the alt/option key.
|
|
29
|
+
*/
|
|
30
|
+
hideHover(): void;
|
|
31
|
+
/**
|
|
32
|
+
* This should only be used until we have the ability to show multiple context views
|
|
33
|
+
* simultaneously. #188822
|
|
34
|
+
*/
|
|
35
|
+
showAndFocusLastHover(): void;
|
|
36
|
+
setupUpdatableHover(hoverDelegate: IHoverDelegate, htmlElement: HTMLElement, content: IUpdatableHoverContentOrFactory, options?: IUpdatableHoverOptions): IUpdatableHover;
|
|
37
|
+
}
|
|
38
|
+
interface IHoverWidget extends IDisposable {
|
|
39
|
+
readonly isDisposed: boolean;
|
|
40
|
+
}
|
|
5
41
|
interface IHoverOptions {
|
|
6
42
|
/**
|
|
7
43
|
* The content to display in the primary section of the hover. The type of text determines the
|
|
@@ -153,5 +189,29 @@ interface IHoverTarget extends IDisposable {
|
|
|
153
189
|
*/
|
|
154
190
|
y?: number;
|
|
155
191
|
}
|
|
192
|
+
interface IUpdatableHoverTooltipMarkdownString {
|
|
193
|
+
markdown: IMarkdownString | string | undefined | ((token: CancellationToken) => Promise<IMarkdownString | string | undefined>);
|
|
194
|
+
markdownNotSupportedFallback: string | undefined;
|
|
195
|
+
}
|
|
196
|
+
type IUpdatableHoverContent = string | IUpdatableHoverTooltipMarkdownString | HTMLElement | undefined;
|
|
197
|
+
type IUpdatableHoverContentOrFactory = IUpdatableHoverContent | (() => IUpdatableHoverContent);
|
|
198
|
+
interface IUpdatableHoverOptions {
|
|
199
|
+
actions?: IHoverAction[];
|
|
200
|
+
linkHandler?(url: string): void;
|
|
201
|
+
}
|
|
202
|
+
interface IUpdatableHover extends IDisposable {
|
|
203
|
+
/**
|
|
204
|
+
* Allows to programmatically open the hover.
|
|
205
|
+
*/
|
|
206
|
+
show(focus?: boolean): void;
|
|
207
|
+
/**
|
|
208
|
+
* Allows to programmatically hide the hover.
|
|
209
|
+
*/
|
|
210
|
+
hide(): void;
|
|
211
|
+
/**
|
|
212
|
+
* Updates the contents of the hover.
|
|
213
|
+
*/
|
|
214
|
+
update(tooltip: IUpdatableHoverContent, options?: IUpdatableHoverOptions): void;
|
|
215
|
+
}
|
|
156
216
|
|
|
157
|
-
export type { IHoverAction, IHoverAppearanceOptions, IHoverOptions, IHoverPersistenceOptions, IHoverPositionOptions, IHoverTarget };
|
|
217
|
+
export type { IHoverAction, IHoverAppearanceOptions, IHoverDelegate2, IHoverOptions, IHoverPersistenceOptions, IHoverPositionOptions, IHoverTarget, IHoverWidget, IUpdatableHover, IUpdatableHoverContent, IUpdatableHoverContentOrFactory, IUpdatableHoverOptions, IUpdatableHoverTooltipMarkdownString };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { IHoverWidget, IUpdatableHoverOptions } from './hover.js';
|
|
1
2
|
import { HoverPosition } from './hoverWidget.js';
|
|
2
|
-
import { IHoverWidget, IUpdatableHoverOptions } from './updatableHoverWidget.js';
|
|
3
3
|
import { IMarkdownString } from '../../../common/htmlContent.js';
|
|
4
4
|
import { IDisposable } from '../../../common/lifecycle.js';
|
|
5
5
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
let baseHoverDelegate = {
|
|
2
|
+
showHover: () => undefined,
|
|
3
|
+
hideHover: () => undefined,
|
|
4
|
+
showAndFocusLastHover: () => undefined,
|
|
5
|
+
setupUpdatableHover: () => null,
|
|
6
|
+
};
|
|
7
|
+
function setBaseLayerHoverDelegate(hoverDelegate) {
|
|
8
|
+
baseHoverDelegate = hoverDelegate;
|
|
9
|
+
}
|
|
10
|
+
function getBaseLayerHoverDelegate() {
|
|
11
|
+
return baseHoverDelegate;
|
|
12
|
+
}
|
|
13
|
+
export { getBaseLayerHoverDelegate, setBaseLayerHoverDelegate };
|
|
@@ -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}.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 .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{box-sizing:border-box;padding-bottom:2px;padding-right:2px}.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 };
|
|
@@ -41,19 +41,12 @@ class HoverAction extends Disposable {
|
|
|
41
41
|
}
|
|
42
42
|
const label = append(this.action, $('span'));
|
|
43
43
|
label.textContent = keybindingLabel ? `${actionOptions.label} (${keybindingLabel})` : actionOptions.label;
|
|
44
|
-
this.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
actionOptions.run
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const event = ( (new StandardKeyboardEvent(e)));
|
|
51
|
-
if (event.equals(3 ) || event.equals(10 )) {
|
|
52
|
-
e.stopPropagation();
|
|
53
|
-
e.preventDefault();
|
|
54
|
-
actionOptions.run(this.actionContainer);
|
|
55
|
-
}
|
|
56
|
-
}));
|
|
44
|
+
this._store.add(( (new ClickAction(this.actionContainer, actionOptions.run))));
|
|
45
|
+
this._store.add(( (new KeyDownAction(
|
|
46
|
+
this.actionContainer,
|
|
47
|
+
actionOptions.run,
|
|
48
|
+
[3 , 10 ]
|
|
49
|
+
))));
|
|
57
50
|
this.setEnabled(true);
|
|
58
51
|
}
|
|
59
52
|
setEnabled(enabled) {
|
|
@@ -74,4 +67,27 @@ function getHoverAccessibleViewHint(shouldHaveHint, keybinding) {
|
|
|
74
67
|
"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."
|
|
75
68
|
)) : '';
|
|
76
69
|
}
|
|
77
|
-
|
|
70
|
+
class ClickAction extends Disposable {
|
|
71
|
+
constructor(container, run) {
|
|
72
|
+
super();
|
|
73
|
+
this._register(addDisposableListener(container, EventType.CLICK, e => {
|
|
74
|
+
e.stopPropagation();
|
|
75
|
+
e.preventDefault();
|
|
76
|
+
run(container);
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
class KeyDownAction extends Disposable {
|
|
81
|
+
constructor(container, run, keyCodes) {
|
|
82
|
+
super();
|
|
83
|
+
this._register(addDisposableListener(container, EventType.KEY_DOWN, e => {
|
|
84
|
+
const event = ( (new StandardKeyboardEvent(e)));
|
|
85
|
+
if (( (keyCodes.some(keyCode => event.equals(keyCode))))) {
|
|
86
|
+
e.stopPropagation();
|
|
87
|
+
e.preventDefault();
|
|
88
|
+
run(container);
|
|
89
|
+
}
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export { ClickAction, HoverAction, HoverWidget, KeyDownAction, getHoverAccessibleViewHint };
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import './iconlabel.css.js';
|
|
2
2
|
import { append, $, after } from '../../dom.js';
|
|
3
3
|
import { HighlightedLabel } from '../highlightedlabel/highlightedLabel.js';
|
|
4
|
-
import { setupNativeHover, setupCustomHover } from '../hover/updatableHoverWidget.js';
|
|
5
4
|
import { Disposable } from '../../../common/lifecycle.js';
|
|
6
5
|
import { equals } from '../../../common/objects.js';
|
|
7
6
|
import { Range } from '../../../common/range.js';
|
|
8
7
|
import { getDefaultHoverDelegate } from '../hover/hoverDelegateFactory.js';
|
|
8
|
+
import { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';
|
|
9
|
+
import { isString } from '../../../common/types.js';
|
|
10
|
+
import { stripIcons } from '../../../common/iconLabels.js';
|
|
9
11
|
class FastLabelNode {
|
|
10
12
|
constructor(_element) {
|
|
11
13
|
this._element = _element;
|
|
@@ -116,10 +118,21 @@ class IconLabel extends Disposable {
|
|
|
116
118
|
return;
|
|
117
119
|
}
|
|
118
120
|
if (this.hoverDelegate.showNativeHover) {
|
|
121
|
+
function setupNativeHover(htmlElement, tooltip) {
|
|
122
|
+
if (isString(tooltip)) {
|
|
123
|
+
htmlElement.title = stripIcons(tooltip);
|
|
124
|
+
}
|
|
125
|
+
else if (tooltip?.markdownNotSupportedFallback) {
|
|
126
|
+
htmlElement.title = tooltip.markdownNotSupportedFallback;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
htmlElement.removeAttribute('title');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
119
132
|
setupNativeHover(htmlElement, tooltip);
|
|
120
133
|
}
|
|
121
134
|
else {
|
|
122
|
-
const hoverDisposable =
|
|
135
|
+
const hoverDisposable = getBaseLayerHoverDelegate().setupUpdatableHover(this.hoverDelegate, htmlElement, tooltip);
|
|
123
136
|
if (hoverDisposable) {
|
|
124
137
|
this.customHovers.set(htmlElement, hoverDisposable);
|
|
125
138
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { reset } from '../../dom.js';
|
|
2
|
+
import { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';
|
|
2
3
|
import { getDefaultHoverDelegate } from '../hover/hoverDelegateFactory.js';
|
|
3
|
-
import { setupCustomHover } from '../hover/updatableHoverWidget.js';
|
|
4
4
|
import { renderLabelWithIcons } from './iconLabels.js';
|
|
5
5
|
class SimpleIconLabel {
|
|
6
6
|
constructor(_container) {
|
|
@@ -11,7 +11,7 @@ class SimpleIconLabel {
|
|
|
11
11
|
}
|
|
12
12
|
set title(title) {
|
|
13
13
|
if (!this.hover && title) {
|
|
14
|
-
this.hover =
|
|
14
|
+
this.hover = getBaseLayerHoverDelegate().setupUpdatableHover(getDefaultHoverDelegate('mouse'), this._container, title);
|
|
15
15
|
}
|
|
16
16
|
else if (this.hover) {
|
|
17
17
|
this.hover.update(title);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import n from '../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
+
var css = ".icon-select-box>.icon-select-box-container{height:100%}.icon-select-box .icon-select-icons-container{height:100%;outline:0!important}.icon-select-box .icon-select-icons-container>.icon-container{align-items:center;border-radius:5px;cursor:pointer;display:inline-flex;font-size:20px;justify-content:center}.icon-select-box .icon-select-icons-container>.icon-container.focused{background-color:var(--vscode-quickInputList-focusBackground);color:var(--vscode-quickInputList-focusForeground)}.icon-select-box .icon-select-icons-container>.icon-container:hover:not(.focused){background-color:var(--vscode-toolbar-hoverBackground);color:var(--vscode-list-hoverForeground)}.icon-select-box .icon-select-id-container .icon-select-id-label{height:24px;opacity:.8;padding:10px}.icon-select-box .icon-select-id-container .icon-select-id-label .highlight{color:var(--vscode-list-highlightForeground);font-weight:700}";
|
|
3
|
+
n(css,{});
|
|
4
|
+
export { css, css as default };
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import './iconSelectBox.css.js';
|
|
2
|
+
import { $, append, clearNode, addDisposableListener, EventType } from '../../dom.js';
|
|
3
|
+
import { alert } from '../aria/aria.js';
|
|
4
|
+
import { InputBox } from '../inputbox/inputBox.js';
|
|
5
|
+
import { DomScrollableElement } from '../scrollbar/scrollableElement.js';
|
|
6
|
+
import { Emitter } from '../../../common/event.js';
|
|
7
|
+
import { Disposable, MutableDisposable, DisposableStore } from '../../../common/lifecycle.js';
|
|
8
|
+
import { ThemeIcon } from '../../../common/themables.js';
|
|
9
|
+
import { localizeWithPath } from '../../../../nls.js';
|
|
10
|
+
import { HighlightedLabel } from '../highlightedlabel/highlightedLabel.js';
|
|
11
|
+
const _moduleId = "vs/base/browser/ui/icons/iconSelectBox";
|
|
12
|
+
class IconSelectBox extends Disposable {
|
|
13
|
+
static { this.InstanceCount = 0; }
|
|
14
|
+
constructor(options) {
|
|
15
|
+
super();
|
|
16
|
+
this.options = options;
|
|
17
|
+
this.domId = `icon_select_box_id_${++IconSelectBox.InstanceCount}`;
|
|
18
|
+
this._onDidSelect = this._register(( (new Emitter())));
|
|
19
|
+
this.onDidSelect = this._onDidSelect.event;
|
|
20
|
+
this.renderedIcons = [];
|
|
21
|
+
this.focusedItemIndex = 0;
|
|
22
|
+
this.numberOfElementsPerRow = 1;
|
|
23
|
+
this.iconContainerWidth = 36;
|
|
24
|
+
this.iconContainerHeight = 36;
|
|
25
|
+
this.domNode = $('.icon-select-box');
|
|
26
|
+
this._register(this.create());
|
|
27
|
+
}
|
|
28
|
+
create() {
|
|
29
|
+
const disposables = ( (new DisposableStore()));
|
|
30
|
+
const iconSelectBoxContainer = append(this.domNode, $('.icon-select-box-container'));
|
|
31
|
+
iconSelectBoxContainer.style.margin = '10px 15px';
|
|
32
|
+
const iconSelectInputContainer = append(iconSelectBoxContainer, $('.icon-select-input-container'));
|
|
33
|
+
iconSelectInputContainer.style.paddingBottom = '10px';
|
|
34
|
+
this.inputBox = disposables.add(( (new InputBox(iconSelectInputContainer, undefined, {
|
|
35
|
+
placeholder: ( localizeWithPath(_moduleId, 0, "Search icons")),
|
|
36
|
+
inputBoxStyles: this.options.inputBoxStyles,
|
|
37
|
+
}))));
|
|
38
|
+
const iconsContainer = this.iconsContainer = $('.icon-select-icons-container', { id: `${this.domId}_icons` });
|
|
39
|
+
iconsContainer.role = 'listbox';
|
|
40
|
+
iconsContainer.tabIndex = 0;
|
|
41
|
+
this.scrollableElement = disposables.add(( (new DomScrollableElement(iconsContainer, {
|
|
42
|
+
useShadows: false,
|
|
43
|
+
horizontal: 2 ,
|
|
44
|
+
}))));
|
|
45
|
+
append(iconSelectBoxContainer, this.scrollableElement.getDomNode());
|
|
46
|
+
if (this.options.showIconInfo) {
|
|
47
|
+
this.iconIdElement = this._register(( (new HighlightedLabel(
|
|
48
|
+
append(append(iconSelectBoxContainer, $('.icon-select-id-container')), $('.icon-select-id-label'))
|
|
49
|
+
))));
|
|
50
|
+
}
|
|
51
|
+
const iconsDisposables = disposables.add(( (new MutableDisposable())));
|
|
52
|
+
iconsDisposables.value = this.renderIcons(this.options.icons, [], iconsContainer);
|
|
53
|
+
this.scrollableElement.scanDomNode();
|
|
54
|
+
disposables.add(this.inputBox.onDidChange(value => {
|
|
55
|
+
const icons = [], matches = [];
|
|
56
|
+
for (const icon of this.options.icons) {
|
|
57
|
+
const match = this.matchesContiguous(value, icon.id);
|
|
58
|
+
if (match) {
|
|
59
|
+
icons.push(icon);
|
|
60
|
+
matches.push(match);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (icons.length) {
|
|
64
|
+
iconsDisposables.value = this.renderIcons(icons, matches, iconsContainer);
|
|
65
|
+
this.scrollableElement?.scanDomNode();
|
|
66
|
+
}
|
|
67
|
+
}));
|
|
68
|
+
this.inputBox.inputElement.role = 'combobox';
|
|
69
|
+
this.inputBox.inputElement.ariaHasPopup = 'menu';
|
|
70
|
+
this.inputBox.inputElement.ariaAutoComplete = 'list';
|
|
71
|
+
this.inputBox.inputElement.ariaExpanded = 'true';
|
|
72
|
+
this.inputBox.inputElement.setAttribute('aria-controls', iconsContainer.id);
|
|
73
|
+
return disposables;
|
|
74
|
+
}
|
|
75
|
+
renderIcons(icons, matches, container) {
|
|
76
|
+
const disposables = ( (new DisposableStore()));
|
|
77
|
+
clearNode(container);
|
|
78
|
+
const focusedIcon = this.renderedIcons[this.focusedItemIndex]?.icon;
|
|
79
|
+
let focusedIconIndex = 0;
|
|
80
|
+
const renderedIcons = [];
|
|
81
|
+
if (icons.length) {
|
|
82
|
+
for (let index = 0; index < icons.length; index++) {
|
|
83
|
+
const icon = icons[index];
|
|
84
|
+
const iconContainer = append(container, $('.icon-container', { id: `${this.domId}_icons_${index}` }));
|
|
85
|
+
iconContainer.style.width = `${this.iconContainerWidth}px`;
|
|
86
|
+
iconContainer.style.height = `${this.iconContainerHeight}px`;
|
|
87
|
+
iconContainer.title = icon.id;
|
|
88
|
+
iconContainer.role = 'button';
|
|
89
|
+
iconContainer.setAttribute('aria-setsize', `${icons.length}`);
|
|
90
|
+
iconContainer.setAttribute('aria-posinset', `${index + 1}`);
|
|
91
|
+
append(iconContainer, $(ThemeIcon.asCSSSelector(icon)));
|
|
92
|
+
renderedIcons.push({ icon, element: iconContainer, highlightMatches: matches[index] });
|
|
93
|
+
disposables.add(addDisposableListener(iconContainer, EventType.CLICK, (e) => {
|
|
94
|
+
e.stopPropagation();
|
|
95
|
+
this.setSelection(index);
|
|
96
|
+
}));
|
|
97
|
+
if (icon === focusedIcon) {
|
|
98
|
+
focusedIconIndex = index;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
const noResults = ( localizeWithPath(_moduleId, 1, "No results"));
|
|
104
|
+
append(container, $('.icon-no-results', undefined, noResults));
|
|
105
|
+
alert(noResults);
|
|
106
|
+
}
|
|
107
|
+
this.renderedIcons.splice(0, this.renderedIcons.length, ...renderedIcons);
|
|
108
|
+
this.focusIcon(focusedIconIndex);
|
|
109
|
+
return disposables;
|
|
110
|
+
}
|
|
111
|
+
focusIcon(index) {
|
|
112
|
+
const existing = this.renderedIcons[this.focusedItemIndex];
|
|
113
|
+
if (existing) {
|
|
114
|
+
existing.element.classList.remove('focused');
|
|
115
|
+
}
|
|
116
|
+
this.focusedItemIndex = index;
|
|
117
|
+
const renderedItem = this.renderedIcons[index];
|
|
118
|
+
if (renderedItem) {
|
|
119
|
+
renderedItem.element.classList.add('focused');
|
|
120
|
+
}
|
|
121
|
+
if (this.inputBox) {
|
|
122
|
+
if (renderedItem) {
|
|
123
|
+
this.inputBox.inputElement.setAttribute('aria-activedescendant', renderedItem.element.id);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
this.inputBox.inputElement.removeAttribute('aria-activedescendant');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (this.iconIdElement) {
|
|
130
|
+
if (renderedItem) {
|
|
131
|
+
this.iconIdElement.set(renderedItem.icon.id, renderedItem.highlightMatches);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
this.iconIdElement.set('');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
this.reveal(index);
|
|
138
|
+
}
|
|
139
|
+
reveal(index) {
|
|
140
|
+
if (!this.scrollableElement) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (index < 0 || index >= this.renderedIcons.length) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const element = this.renderedIcons[index].element;
|
|
147
|
+
if (!element) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
const { height } = this.scrollableElement.getScrollDimensions();
|
|
151
|
+
const { scrollTop } = this.scrollableElement.getScrollPosition();
|
|
152
|
+
if (element.offsetTop + this.iconContainerHeight > scrollTop + height) {
|
|
153
|
+
this.scrollableElement.setScrollPosition({ scrollTop: element.offsetTop + this.iconContainerHeight - height });
|
|
154
|
+
}
|
|
155
|
+
else if (element.offsetTop < scrollTop) {
|
|
156
|
+
this.scrollableElement.setScrollPosition({ scrollTop: element.offsetTop });
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
matchesContiguous(word, wordToMatchAgainst) {
|
|
160
|
+
const matchIndex = wordToMatchAgainst.toLowerCase().indexOf(word.toLowerCase());
|
|
161
|
+
if (matchIndex !== -1) {
|
|
162
|
+
return [{ start: matchIndex, end: matchIndex + word.length }];
|
|
163
|
+
}
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
layout(dimension) {
|
|
167
|
+
this.domNode.style.width = `${dimension.width}px`;
|
|
168
|
+
this.domNode.style.height = `${dimension.height}px`;
|
|
169
|
+
const iconsContainerWidth = dimension.width - 30;
|
|
170
|
+
this.numberOfElementsPerRow = Math.floor(iconsContainerWidth / this.iconContainerWidth);
|
|
171
|
+
if (this.numberOfElementsPerRow === 0) {
|
|
172
|
+
throw ( (new Error('Insufficient width')));
|
|
173
|
+
}
|
|
174
|
+
const extraSpace = iconsContainerWidth % this.iconContainerWidth;
|
|
175
|
+
const iconElementMargin = Math.floor(extraSpace / this.numberOfElementsPerRow);
|
|
176
|
+
for (const { element } of this.renderedIcons) {
|
|
177
|
+
element.style.marginRight = `${iconElementMargin}px`;
|
|
178
|
+
}
|
|
179
|
+
const containerPadding = extraSpace % this.numberOfElementsPerRow;
|
|
180
|
+
if (this.iconsContainer) {
|
|
181
|
+
this.iconsContainer.style.paddingLeft = `${Math.floor(containerPadding / 2)}px`;
|
|
182
|
+
this.iconsContainer.style.paddingRight = `${Math.ceil(containerPadding / 2)}px`;
|
|
183
|
+
}
|
|
184
|
+
if (this.scrollableElement) {
|
|
185
|
+
this.scrollableElement.getDomNode().style.height = `${this.iconIdElement ? dimension.height - 80 : dimension.height - 40}px`;
|
|
186
|
+
this.scrollableElement.scanDomNode();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
getFocus() {
|
|
190
|
+
return [this.focusedItemIndex];
|
|
191
|
+
}
|
|
192
|
+
setSelection(index) {
|
|
193
|
+
if (index < 0 || index >= this.renderedIcons.length) {
|
|
194
|
+
throw ( (new Error(`Invalid index ${index}`)));
|
|
195
|
+
}
|
|
196
|
+
this.focusIcon(index);
|
|
197
|
+
this._onDidSelect.fire(this.renderedIcons[index].icon);
|
|
198
|
+
}
|
|
199
|
+
clearInput() {
|
|
200
|
+
if (this.inputBox) {
|
|
201
|
+
this.inputBox.value = '';
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
focus() {
|
|
205
|
+
this.inputBox?.focus();
|
|
206
|
+
this.focusIcon(0);
|
|
207
|
+
}
|
|
208
|
+
focusNext() {
|
|
209
|
+
this.focusIcon((this.focusedItemIndex + 1) % this.renderedIcons.length);
|
|
210
|
+
}
|
|
211
|
+
focusPrevious() {
|
|
212
|
+
this.focusIcon((this.focusedItemIndex - 1 + this.renderedIcons.length) % this.renderedIcons.length);
|
|
213
|
+
}
|
|
214
|
+
focusNextRow() {
|
|
215
|
+
let nextRowIndex = this.focusedItemIndex + this.numberOfElementsPerRow;
|
|
216
|
+
if (nextRowIndex >= this.renderedIcons.length) {
|
|
217
|
+
nextRowIndex = (nextRowIndex + 1) % this.numberOfElementsPerRow;
|
|
218
|
+
nextRowIndex = nextRowIndex >= this.renderedIcons.length ? 0 : nextRowIndex;
|
|
219
|
+
}
|
|
220
|
+
this.focusIcon(nextRowIndex);
|
|
221
|
+
}
|
|
222
|
+
focusPreviousRow() {
|
|
223
|
+
let previousRowIndex = this.focusedItemIndex - this.numberOfElementsPerRow;
|
|
224
|
+
if (previousRowIndex < 0) {
|
|
225
|
+
const numberOfRows = Math.floor(this.renderedIcons.length / this.numberOfElementsPerRow);
|
|
226
|
+
previousRowIndex = this.focusedItemIndex + (this.numberOfElementsPerRow * numberOfRows) - 1;
|
|
227
|
+
previousRowIndex = previousRowIndex < 0
|
|
228
|
+
? this.renderedIcons.length - 1
|
|
229
|
+
: previousRowIndex >= this.renderedIcons.length
|
|
230
|
+
? previousRowIndex - this.numberOfElementsPerRow
|
|
231
|
+
: previousRowIndex;
|
|
232
|
+
}
|
|
233
|
+
this.focusIcon(previousRowIndex);
|
|
234
|
+
}
|
|
235
|
+
getFocusedIcon() {
|
|
236
|
+
return this.renderedIcons[this.focusedItemIndex].icon;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
export { IconSelectBox };
|
|
@@ -3,8 +3,8 @@ import { DomEmitter } from '../../event.js';
|
|
|
3
3
|
import { renderFormattedText, renderText } from '../../formattedTextRenderer.js';
|
|
4
4
|
import { ActionBar } from '../actionbar/actionbar.js';
|
|
5
5
|
import { alert, status } from '../aria/aria.js';
|
|
6
|
+
import { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';
|
|
6
7
|
import { getDefaultHoverDelegate } from '../hover/hoverDelegateFactory.js';
|
|
7
|
-
import { setupCustomHover } from '../hover/updatableHoverWidget.js';
|
|
8
8
|
import { ScrollableElement } from '../scrollbar/scrollableElement.js';
|
|
9
9
|
import { Widget } from '../widget.js';
|
|
10
10
|
import { Emitter, Event } from '../../../common/event.js';
|
|
@@ -119,7 +119,7 @@ class InputBox extends Widget {
|
|
|
119
119
|
setTooltip(tooltip) {
|
|
120
120
|
this.tooltip = tooltip;
|
|
121
121
|
if (!this.hover) {
|
|
122
|
-
this.hover = this._register(
|
|
122
|
+
this.hover = this._register(getBaseLayerHoverDelegate().setupUpdatableHover(getDefaultHoverDelegate('mouse'), this.input, tooltip));
|
|
123
123
|
}
|
|
124
124
|
else {
|
|
125
125
|
this.hover.update(tooltip);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { append, clearNode, $ as $$1 } from '../../dom.js';
|
|
2
|
+
import { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';
|
|
2
3
|
import { getDefaultHoverDelegate } from '../hover/hoverDelegateFactory.js';
|
|
3
|
-
import { setupCustomHover } from '../hover/updatableHoverWidget.js';
|
|
4
4
|
import { UILabelProvider } from '../../../common/keybindingLabels.js';
|
|
5
5
|
import { Disposable } from '../../../common/lifecycle.js';
|
|
6
6
|
import { equals } from '../../../common/objects.js';
|
|
@@ -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(
|
|
29
|
+
this.hover = this._register(getBaseLayerHoverDelegate().setupUpdatableHover(getDefaultHoverDelegate('mouse'), this.domNode, ''));
|
|
30
30
|
this.didEverRender = false;
|
|
31
31
|
container.appendChild(this.domNode);
|
|
32
32
|
}
|
|
@@ -346,7 +346,7 @@ class ListView {
|
|
|
346
346
|
if (renderer && renderer.disposeElement) {
|
|
347
347
|
renderer.disposeElement(item.element, i, item.row.templateData, item.size);
|
|
348
348
|
}
|
|
349
|
-
rows.
|
|
349
|
+
rows.unshift(item.row);
|
|
350
350
|
}
|
|
351
351
|
item.row = null;
|
|
352
352
|
item.stale = true;
|
|
@@ -593,11 +593,13 @@ class ListView {
|
|
|
593
593
|
else if (checked) {
|
|
594
594
|
const update = (checked) => item.row.domNode.setAttribute('aria-checked', String(!!checked));
|
|
595
595
|
update(checked.value);
|
|
596
|
-
item.checkedDisposable = checked.onDidChange(update);
|
|
596
|
+
item.checkedDisposable = checked.onDidChange(() => update(checked.value));
|
|
597
597
|
}
|
|
598
598
|
if (item.stale || !item.row.domNode.parentElement) {
|
|
599
599
|
const referenceNode = this.items.at(index + 1)?.row?.domNode ?? null;
|
|
600
|
-
this.rowsContainer
|
|
600
|
+
if (item.row.domNode.parentElement !== this.rowsContainer || item.row.domNode.nextElementSibling !== referenceNode) {
|
|
601
|
+
this.rowsContainer.insertBefore(item.row.domNode, referenceNode);
|
|
602
|
+
}
|
|
601
603
|
item.stale = false;
|
|
602
604
|
}
|
|
603
605
|
this.updateItemInDOM(item, index);
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
interface IListStyles {
|
|
2
|
+
listBackground: string | undefined;
|
|
3
|
+
listFocusBackground: string | undefined;
|
|
4
|
+
listFocusForeground: string | undefined;
|
|
5
|
+
listActiveSelectionBackground: string | undefined;
|
|
6
|
+
listActiveSelectionForeground: string | undefined;
|
|
7
|
+
listActiveSelectionIconForeground: string | undefined;
|
|
8
|
+
listFocusAndSelectionOutline: string | undefined;
|
|
9
|
+
listFocusAndSelectionBackground: string | undefined;
|
|
10
|
+
listFocusAndSelectionForeground: string | undefined;
|
|
11
|
+
listInactiveSelectionBackground: string | undefined;
|
|
12
|
+
listInactiveSelectionIconForeground: string | undefined;
|
|
13
|
+
listInactiveSelectionForeground: string | undefined;
|
|
14
|
+
listInactiveFocusForeground: string | undefined;
|
|
15
|
+
listInactiveFocusBackground: string | undefined;
|
|
16
|
+
listHoverBackground: string | undefined;
|
|
17
|
+
listHoverForeground: string | undefined;
|
|
18
|
+
listDropOverBackground: string | undefined;
|
|
19
|
+
listDropBetweenBackground: string | undefined;
|
|
20
|
+
listFocusOutline: string | undefined;
|
|
21
|
+
listInactiveFocusOutline: string | undefined;
|
|
22
|
+
listSelectionOutline: string | undefined;
|
|
23
|
+
listHoverOutline: string | undefined;
|
|
24
|
+
treeIndentGuidesStroke: string | undefined;
|
|
25
|
+
treeInactiveIndentGuidesStroke: string | undefined;
|
|
26
|
+
treeStickyScrollBackground: string | undefined;
|
|
27
|
+
treeStickyScrollBorder: string | undefined;
|
|
28
|
+
treeStickyScrollShadow: string | undefined;
|
|
29
|
+
tableColumnsBorder: string | undefined;
|
|
30
|
+
tableOddRowsBackgroundColor: string | undefined;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export type { IListStyles };
|
|
@@ -811,7 +811,10 @@ const unthemedListStyles = {
|
|
|
811
811
|
listFocusOutline: undefined,
|
|
812
812
|
listInactiveFocusOutline: undefined,
|
|
813
813
|
listSelectionOutline: undefined,
|
|
814
|
-
listHoverOutline: undefined
|
|
814
|
+
listHoverOutline: undefined,
|
|
815
|
+
treeStickyScrollBackground: undefined,
|
|
816
|
+
treeStickyScrollBorder: undefined,
|
|
817
|
+
treeStickyScrollShadow: undefined
|
|
815
818
|
};
|
|
816
819
|
const DefaultOptions = {
|
|
817
820
|
keyboardSupport: true,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import n from '../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
-
var css = ".menubar{box-sizing:border-box;display:flex;flex-shrink:1;height:100%;overflow:hidden}.menubar.overflow-menu-only{width:38px}.fullscreen .menubar:not(.compact){margin:0;padding:4px 5px}.menubar>.menubar-menu-button{-webkit-app-region:no-drag;zoom:1;align-items:center;box-sizing:border-box;cursor:default;display:flex;outline:0!important;white-space:nowrap}.monaco-workbench .menubar:not(.compact)>.menubar-menu-button:focus .menubar-menu-title{outline-color:var(--vscode-focusBorder);outline-offset:-1px;outline-style:solid;outline-width:1px}.menubar.compact{flex-shrink:0;overflow:visible}.menubar.compact>.menubar-menu-button{height:100%;padding:0;width:100%}.menubar-menu-title{border-radius:5px;padding:0 8px}.menubar .menubar-menu-items-holder{left:0;opacity:1;position:fixed;z-index:2000}.menubar.compact .menubar-menu-items-holder{position:fixed}.menubar .menubar-menu-items-holder.monaco-menu-container{border:none;outline:0}.menubar .menubar-menu-items-holder.monaco-menu-container :focus{outline:0}.menubar .toolbar-toggle-more{align-items:center;display:flex;height:22px;justify-content:center;padding:0 8px;vertical-align:sub;width:22px}.menubar.compact .toolbar-toggle-more{align-items:center;cursor:pointer;display:flex;justify-content:center;left:0;position:relative;top:0;width:100%}.menubar.compact .toolbar-toggle-more:before,.menubar:not(.compact) .menubar-menu-button:first-child .toolbar-toggle-more:before{content
|
|
2
|
+
var css = ".menubar{box-sizing:border-box;display:flex;flex-shrink:1;height:100%;overflow:hidden}.menubar.overflow-menu-only{width:38px}.fullscreen .menubar:not(.compact){margin:0;padding:4px 5px}.menubar>.menubar-menu-button{-webkit-app-region:no-drag;zoom:1;align-items:center;box-sizing:border-box;cursor:default;display:flex;outline:0!important;white-space:nowrap}.monaco-workbench .menubar:not(.compact)>.menubar-menu-button:focus .menubar-menu-title{outline-color:var(--vscode-focusBorder);outline-offset:-1px;outline-style:solid;outline-width:1px}.menubar.compact{flex-shrink:0;overflow:visible}.menubar.compact>.menubar-menu-button{height:100%;padding:0;width:100%}.menubar-menu-title{border-radius:5px;padding:0 8px}.menubar .menubar-menu-items-holder{left:0;opacity:1;position:fixed;z-index:2000}.menubar.compact .menubar-menu-items-holder{position:fixed}.menubar .menubar-menu-items-holder.monaco-menu-container{border:none;outline:0}.menubar .menubar-menu-items-holder.monaco-menu-container :focus{outline:0}.menubar .toolbar-toggle-more{align-items:center;display:flex;height:22px;justify-content:center;padding:0 8px;vertical-align:sub;width:22px}.menubar.compact .toolbar-toggle-more{align-items:center;cursor:pointer;display:flex;justify-content:center;left:0;position:relative;top:0;width:100%}.menubar.compact .toolbar-toggle-more:before,.menubar:not(.compact) .menubar-menu-button:first-child .toolbar-toggle-more:before{content:var(--vscode-icon-menu-content)!important;font-family:var(--vscode-icon-menu-font-family)!important}.menubar.compact>.menubar-menu-button.open .menubar-menu-title,.menubar.compact>.menubar-menu-button:focus .menubar-menu-title,.menubar.compact>.menubar-menu-button:hover .menubar-menu-title{outline-offset:-8px!important;outline-width:1px!important}";
|
|
3
3
|
n(css,{});
|
|
4
4
|
export { css, css as default };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const nullScopedAccessibilityProgressSignalFactory = () => ({
|
|
2
|
+
msLoopTime: -1,
|
|
3
|
+
msDelayTime: -1,
|
|
4
|
+
dispose: () => { },
|
|
5
|
+
});
|
|
6
|
+
let progressAccessibilitySignalSchedulerFactory = nullScopedAccessibilityProgressSignalFactory;
|
|
7
|
+
function setProgressAcccessibilitySignalScheduler(progressAccessibilitySignalScheduler) {
|
|
8
|
+
progressAccessibilitySignalSchedulerFactory = progressAccessibilitySignalScheduler;
|
|
9
|
+
}
|
|
10
|
+
function getProgressAcccessibilitySignalScheduler(msDelayTime, msLoopTime) {
|
|
11
|
+
return progressAccessibilitySignalSchedulerFactory(msDelayTime, msLoopTime);
|
|
12
|
+
}
|
|
13
|
+
export { getProgressAcccessibilitySignalScheduler, setProgressAcccessibilitySignalScheduler };
|