@codingame/monaco-vscode-api 2.0.3 → 2.1.0-update-vscode-1.86.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 +15 -12
- package/extensions.d.ts +4 -7
- package/external/@xterm/xterm/typings/xterm.d.ts +22 -0
- package/missing-services.js +62 -6
- package/package.json +8 -8
- package/service-override/tools/editor.js +14 -0
- package/services.d.ts +3 -2
- package/services.js +6 -4
- package/vscode/src/vs/base/browser/browser.js +45 -30
- package/vscode/src/vs/base/browser/canIUse.js +1 -1
- package/vscode/src/vs/base/browser/defaultWorkerFactory.js +12 -5
- package/vscode/src/vs/base/browser/dom.js +104 -14
- package/vscode/src/vs/base/browser/indexedDB.js +3 -3
- package/vscode/src/vs/base/browser/markdownRenderer.js +29 -1
- package/vscode/src/vs/base/browser/mouseEvent.js +17 -3
- package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +3 -3
- package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.css.js +4 -0
- package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.d.ts +1 -1
- package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +287 -0
- package/vscode/src/vs/base/browser/ui/button/button.js +9 -0
- package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/dialog/dialog.js +1 -1
- package/vscode/src/vs/base/browser/ui/iconLabel/iconLabelHover.js +16 -5
- package/vscode/src/vs/base/browser/ui/list/listView.js +31 -11
- package/vscode/src/vs/base/browser/ui/list/listWidget.js +35 -21
- package/vscode/src/vs/base/browser/ui/menu/menu.js +10 -1
- package/vscode/src/vs/base/browser/ui/menu/menubar.js +8 -4
- package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +6 -5
- package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +469 -95
- package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +22 -7
- package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +0 -5
- package/vscode/src/vs/base/browser/ui/tree/media/tree.css.js +1 -1
- package/vscode/src/vs/base/browser/ui/tree/objectTree.js +70 -4
- package/vscode/src/vs/base/common/assert.js +6 -1
- package/vscode/src/vs/base/common/async.js +31 -6
- package/vscode/src/vs/base/common/codicons.js +5 -0
- package/vscode/src/vs/base/common/event.d.ts +0 -5
- package/vscode/src/vs/base/common/event.js +0 -15
- package/vscode/src/vs/base/common/filters.d.ts +1 -18
- package/vscode/src/vs/base/common/htmlContent.js +12 -6
- package/vscode/src/vs/base/common/iterator.js +8 -0
- package/vscode/src/vs/base/common/labels.js +2 -1
- package/vscode/src/vs/base/common/map.js +20 -1
- package/vscode/src/vs/base/common/observableInternal/base.d.ts +4 -0
- package/vscode/src/vs/base/common/observableInternal/base.js +16 -8
- package/vscode/src/vs/base/common/observableInternal/derived.js +4 -6
- package/vscode/src/vs/base/common/observableInternal/utils.js +60 -5
- package/vscode/src/vs/base/common/platform.js +20 -20
- package/vscode/src/vs/base/common/prefixTree.js +4 -3
- package/vscode/src/vs/base/common/product.d.ts +5 -2
- package/vscode/src/vs/base/common/strings.js +23 -7
- package/vscode/src/vs/base/common/themables.js +4 -1
- package/vscode/src/vs/base/common/uri.js +11 -1
- package/vscode/src/vs/base/common/worker/simpleWorker.js +1 -1
- package/vscode/src/vs/editor/browser/config/migrateOptions.js +5 -0
- package/vscode/src/vs/editor/browser/controller/mouseHandler.js +1 -0
- package/vscode/src/vs/editor/browser/controller/mouseTarget.js +14 -8
- package/vscode/src/vs/editor/browser/controller/pointerHandler.js +18 -11
- package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
- package/vscode/src/vs/editor/browser/controller/textAreaInput.js +3 -3
- package/vscode/src/vs/{workbench/services/hover/browser → editor/browser/services}/hoverService.d.ts +7 -6
- package/vscode/src/vs/editor/browser/services/hoverService.js +195 -0
- package/vscode/src/vs/editor/browser/view.js +29 -39
- package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +41 -19
- package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +30 -23
- package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +23 -8
- package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +8 -1
- package/vscode/src/vs/editor/browser/viewParts/marginDecorations/marginDecorations.js +7 -1
- package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +1 -1
- package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +30 -3
- package/vscode/src/vs/editor/browser/widget/codeEditorWidget.js +39 -15
- package/vscode/src/vs/editor/browser/widget/diffEditor/{accessibleDiffViewer.css.js → components/accessibleDiffViewer.css.js} +1 -1
- package/vscode/src/vs/editor/browser/widget/diffEditor/{accessibleDiffViewer.js → components/accessibleDiffViewer.js} +43 -43
- package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +89 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/{diffEditorEditors.js → components/diffEditorEditors.js} +14 -14
- package/vscode/src/vs/editor/browser/widget/diffEditor/{diffEditorSash.js → components/diffEditorSash.js} +5 -5
- package/vscode/src/vs/editor/browser/widget/diffEditor/{lineAlignment.js → components/diffEditorViewZones/diffEditorViewZones.js} +38 -28
- package/vscode/src/vs/editor/browser/widget/diffEditor/{inlineDiffDeletedCodeMargin.js → components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js} +14 -14
- package/vscode/src/vs/editor/browser/widget/diffEditor/{renderLines.js → components/diffEditorViewZones/renderLines.js} +7 -7
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +29 -38
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +150 -38
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +17 -16
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +104 -6
- package/vscode/src/vs/editor/browser/widget/diffEditor/{hideUnchangedRegionsFeature.js → features/hideUnchangedRegionsFeature.js} +51 -78
- package/vscode/src/vs/editor/browser/widget/diffEditor/{movedBlocksLines.js → features/movedBlocksLinesFeature.js} +23 -23
- package/vscode/src/vs/editor/browser/widget/diffEditor/{overviewRulerPart.js → features/overviewRulerFeature.js} +28 -28
- package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +145 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/{decorations.js → registrations.contribution.js} +18 -2
- package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +10 -2
- package/vscode/src/vs/editor/browser/widget/hoverWidget/hover.css.js +4 -0
- package/vscode/src/vs/editor/browser/widget/hoverWidget/hoverWidget.js +527 -0
- package/vscode/src/vs/editor/{contrib → browser/widget}/markdownRenderer/browser/markdownRenderer.js +11 -11
- package/vscode/src/vs/editor/{contrib → browser/widget}/markdownRenderer/browser/renderedMarkdown.css.js +1 -1
- package/vscode/src/vs/editor/common/config/editorOptions.d.ts +11 -10
- package/vscode/src/vs/editor/common/config/editorOptions.js +46 -42
- package/vscode/src/vs/editor/common/core/editorColorRegistry.js +3 -3
- package/vscode/src/vs/editor/common/core/offsetRange.d.ts +2 -0
- package/vscode/src/vs/editor/common/core/offsetRange.js +8 -0
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +9 -0
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +50 -47
- package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +4 -1
- package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +2 -1
- package/vscode/src/vs/editor/common/diff/rangeMapping.js +13 -2
- package/vscode/src/vs/editor/common/languages.d.ts +10 -2
- package/vscode/src/vs/editor/common/model/textModel.js +19 -13
- package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +1 -1
- package/vscode/src/vs/editor/common/model.d.ts +19 -1
- package/vscode/src/vs/editor/common/model.js +2 -1
- package/vscode/src/vs/editor/common/services/editorSimpleWorker.js +2 -1
- package/vscode/src/vs/editor/common/services/getIconClasses.js +4 -1
- package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +3 -3
- package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +9 -8
- package/vscode/src/vs/editor/common/standaloneStrings.js +18 -18
- package/vscode/src/vs/editor/common/viewEvents.js +2 -0
- package/vscode/src/vs/editor/common/viewModel/glyphLanesModel.js +55 -0
- package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +4 -1
- package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +5 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +1 -0
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +46 -20
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +1 -1
- package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +38 -11
- package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +56 -101
- package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.js +3 -2
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +2 -2
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +10 -29
- package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +4 -4
- package/vscode/src/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +51 -0
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +19 -1
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +38 -10
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +29 -1
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/edit.js +10 -3
- package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +3 -17
- package/vscode/src/vs/editor/contrib/find/browser/findController.js +3 -35
- package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +26 -6
- package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +6 -6
- package/vscode/src/vs/editor/contrib/format/browser/format.js +9 -9
- package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +5 -5
- package/vscode/src/vs/editor/contrib/gotoError/browser/media/gotoErrorWidget.css.js +1 -1
- package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +2 -2
- package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +85 -76
- package/vscode/src/vs/editor/contrib/hover/browser/hover.js +120 -90
- package/vscode/src/vs/editor/contrib/hover/browser/marginHover.js +18 -6
- package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +1 -1
- package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +2 -2
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHints.js +4 -2
- package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +56 -38
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +1 -1
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +12 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +4 -0
- package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +2 -2
- package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +50 -53
- package/vscode/src/vs/editor/contrib/message/browser/messageController.js +5 -2
- package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
- package/vscode/src/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +5 -1
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +4 -4
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +8 -5
- package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +58 -46
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +34 -7
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +30 -38
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +2 -2
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +11 -3
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +18 -7
- package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +8 -10
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
- package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +7 -6
- package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -0
- package/vscode/src/vs/editor/editor.api.d.ts +82 -11
- package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +8 -3
- package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +4 -3
- package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +22 -11
- package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +1 -1
- package/vscode/src/vs/nls.d.ts +6 -0
- package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +4 -1
- package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +2 -16
- package/vscode/src/vs/platform/accessibility/common/accessibility.js +1 -2
- package/vscode/src/vs/platform/action/common/actionCommonCategories.d.ts +7 -20
- package/vscode/src/vs/platform/action/common/actionCommonCategories.js +8 -8
- package/vscode/src/vs/platform/actionWidget/browser/actionList.js +0 -1
- package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css.js +1 -1
- package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -0
- package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +5 -0
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
- package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +2 -2
- package/vscode/src/vs/platform/actions/common/actions.d.ts +9 -1
- package/vscode/src/vs/platform/actions/common/actions.js +12 -1
- package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +11 -1
- package/vscode/src/vs/platform/audioCues/browser/audioCueService.js +174 -28
- package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +38 -5
- package/vscode/src/vs/platform/configuration/common/configuration.d.ts +0 -1
- package/vscode/src/vs/platform/environment/common/environmentService.js +1 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +5 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +24 -5
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +6 -1
- package/vscode/src/vs/{workbench/services → platform}/hover/browser/hover.d.ts +6 -8
- package/vscode/src/vs/platform/hover/browser/hover.js +3 -0
- package/vscode/src/vs/platform/instantiation/common/instantiationService.js +14 -4
- package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +11 -4
- package/vscode/src/vs/platform/keybinding/common/keybinding.d.ts +7 -0
- package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +6 -0
- package/vscode/src/vs/platform/list/browser/listService.js +7 -5
- package/vscode/src/vs/platform/log/common/bufferLog.js +1 -0
- package/vscode/src/vs/platform/log/common/log.d.ts +0 -1
- package/vscode/src/vs/platform/log/common/log.js +1 -2
- package/vscode/src/vs/platform/notification/common/notification.d.ts +36 -19
- package/vscode/src/vs/platform/notification/common/notification.js +9 -3
- package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +4 -1
- package/vscode/src/vs/platform/quickinput/browser/quickInput.js +50 -48
- package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +3 -5
- package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +49 -66
- package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +11 -3
- package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +16 -2
- package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +230 -26
- package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.d.ts +1 -0
- package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -0
- package/vscode/src/vs/platform/theme/browser/defaultStyles.js +5 -3
- package/vscode/src/vs/platform/theme/common/colorRegistry.js +28 -9
- package/vscode/src/vs/platform/tunnel/common/tunnel.d.ts +2 -0
- package/vscode/src/vs/platform/window/common/window.js +14 -8
- package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +97 -78
- package/vscode/src/vs/workbench/api/common/extHost.protocol.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +1 -22
- package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -6
- package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +31 -36
- package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostComments.js +6 -1
- package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.js +1 -0
- package/vscode/src/vs/workbench/api/common/extHostDebugService.js +130 -6
- package/vscode/src/vs/workbench/api/common/extHostDocumentContentProviders.js +28 -15
- package/vscode/src/vs/workbench/api/common/extHostDocuments.js +4 -5
- package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +5 -1
- package/vscode/src/vs/workbench/api/common/extHostFileSystem.js +1 -2
- package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.js +2 -2
- package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +35 -33
- package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +40 -13
- package/vscode/src/vs/workbench/api/common/extHostMessageService.js +10 -1
- package/vscode/src/vs/workbench/api/common/extHostNotebook.js +11 -7
- package/vscode/src/vs/workbench/api/common/extHostNotebookEditors.js +2 -3
- package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +29 -4
- package/vscode/src/vs/workbench/api/common/extHostProfileContentHandler.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostProgress.js +1 -7
- package/vscode/src/vs/workbench/api/common/extHostSCM.js +49 -93
- package/vscode/src/vs/workbench/api/common/extHostSpeech.js +21 -0
- package/vscode/src/vs/workbench/api/common/extHostTask.js +18 -22
- package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
- package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
- package/vscode/src/vs/workbench/api/common/extHostTesting.js +55 -36
- package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +5 -2
- package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +6 -7
- package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +6 -3
- package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +4 -2
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +74 -12
- package/vscode/src/vs/workbench/api/common/extHostTypes.js +27 -8
- package/vscode/src/vs/workbench/api/worker/extHostConsoleForwarder.js +1 -1
- package/vscode/src/vs/workbench/browser/actions/layoutActions.js +172 -103
- package/vscode/src/vs/workbench/browser/actions/windowActions.js +13 -17
- package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +34 -34
- package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
- package/vscode/src/vs/workbench/browser/dnd.js +2 -2
- package/vscode/src/vs/workbench/browser/labels.js +34 -4
- package/vscode/src/vs/workbench/browser/part.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +801 -0
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +140 -0
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +410 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editor.js +1 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +304 -303
- package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +101 -47
- package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +114 -47
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +1313 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +190 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +344 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +10 -10
- package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +27 -42
- package/vscode/src/vs/workbench/browser/parts/editor/editorTitleControl.js +152 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +8 -8
- package/vscode/src/vs/workbench/browser/parts/editor/media/breadcrumbscontrol.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/media/editorgroupview.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/media/editortitlecontrol.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/media/singleeditortabscontrol.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +1626 -0
- package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +150 -0
- package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.js +52 -0
- package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +260 -0
- package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +39 -36
- package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +68 -28
- package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +15 -14
- package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +18 -17
- package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +7 -10
- package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +2 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.d.ts +2 -1
- package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +18 -17
- package/vscode/src/vs/workbench/browser/quickaccess.js +33 -1
- package/vscode/src/vs/workbench/browser/web.api.d.ts +6 -0
- package/vscode/src/vs/workbench/browser/window.js +92 -9
- package/vscode/src/vs/workbench/browser/workbench.contribution.js +114 -65
- package/vscode/src/vs/workbench/common/component.d.ts +5 -1
- package/vscode/src/vs/workbench/common/component.js +6 -0
- package/vscode/src/vs/workbench/common/configuration.js +11 -1
- package/vscode/src/vs/workbench/common/contextkeys.js +8 -4
- package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +6 -0
- package/vscode/src/vs/workbench/common/editor/editorInput.js +3 -0
- package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +107 -0
- package/vscode/src/vs/workbench/common/editor/resourceEditorInput.d.ts +6 -3
- package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +21 -3
- package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.d.ts +2 -1
- package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +9 -6
- package/vscode/src/vs/workbench/common/editor.d.ts +16 -4
- package/vscode/src/vs/workbench/common/editor.js +7 -1
- package/vscode/src/vs/workbench/common/memento.js +33 -12
- package/vscode/src/vs/workbench/common/notifications.js +30 -7
- package/vscode/src/vs/workbench/common/theme.js +61 -1
- package/vscode/src/vs/workbench/common/views.d.ts +1 -28
- package/vscode/src/vs/workbench/common/views.js +1 -2
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +232 -19
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +9 -9
- package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +1 -0
- package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +19 -31
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +8 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +57 -38
- package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +9 -2
- package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +7 -0
- package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +31 -20
- package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +93 -49
- package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +30 -6
- package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +24 -12
- package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +9 -5
- package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +12 -1
- package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +2 -1
- package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +21 -43
- package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
- package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +0 -3
- package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
- package/vscode/src/vs/workbench/contrib/comments/browser/{comments.contribution.js → commentsAccessibility.js} +36 -128
- package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +41 -18
- package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +202 -0
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +27 -4
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +165 -52
- package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +48 -31
- package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +6 -1
- package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +40 -10
- package/vscode/src/vs/workbench/contrib/debug/common/debug.js +28 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debugContext.js +14 -0
- package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +52 -23
- package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
- package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +164 -0
- package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +10 -0
- package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +285 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +123 -78
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +10 -0
- package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +3 -19
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +1 -2
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +8 -9
- package/vscode/src/vs/workbench/contrib/files/browser/files.configuration.contribution.js +70 -2
- package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +5 -2
- package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +34 -17
- package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +5 -4
- package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +48 -14
- package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +16 -8
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +317 -321
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +17 -24
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingService.js +3 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +306 -130
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +3 -0
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +385 -613
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +69 -64
- package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +71 -3
- package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -44
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +5 -3
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookEditorStickyScroll.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +38 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +36 -8
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +32 -12
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +24 -14
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbarStickyScroll.js +1 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +264 -12
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +60 -27
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +12 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +2 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +12 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +6 -3
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +1 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +188 -155
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +4 -4
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +10 -3
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +16 -33
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +9 -7
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +6 -2
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookKernelService.js +2 -1
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +29 -14
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +15 -3
- package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +2 -2
- package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +22 -6
- package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +1 -1
- package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +16 -17
- package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +78 -50
- package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +15 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +25 -45
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +12 -4
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +2 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +33 -36
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +1 -1
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +3 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +5 -8
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +15 -27
- package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +3 -3
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +38 -22
- package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +5 -2
- package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.js +60 -40
- package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
- package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js +15 -11
- package/vscode/src/vs/workbench/contrib/testing/common/testService.js +26 -1
- package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +24 -23
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +1 -1
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +124 -26
- package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +68 -0
- package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +76 -36
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +1 -0
- package/vscode/src/vs/workbench/services/editor/browser/editorService.js +15 -3
- package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.js +10 -1
- package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +51 -43
- package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +13 -8
- package/vscode/src/vs/workbench/services/editor/common/editorService.js +2 -1
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +10 -10
- package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +8 -8
- package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +7 -7
- package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -0
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.d.ts +29 -9
- package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +160 -63
- package/vscode/src/vs/workbench/services/host/browser/host.d.ts +8 -0
- package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +60 -72
- package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +0 -4
- package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +56 -0
- package/vscode/src/vs/workbench/services/output/common/output.js +2 -2
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +10 -0
- package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +10 -0
- package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +2 -1
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +5 -4
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +21 -8
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +4 -0
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +3 -0
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +4 -4
- package/vscode/src/vs/workbench/{browser/parts/views → services/views/browser}/viewsService.js +20 -15
- package/vscode/src/vs/workbench/services/views/common/viewsService.d.ts +34 -0
- package/vscode/src/vs/workbench/services/{hover/browser/hover.js → views/common/viewsService.js} +2 -2
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +6 -1
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +5 -2
- package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +1 -0
- package/vscode-dts/vscode.proposed.chatAgents2.d.ts +112 -47
- package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +68 -9
- package/vscode-dts/{vscode.proposed.scmInputBoxActionButton.d.ts → vscode.proposed.codeActionRanges.d.ts} +8 -10
- package/vscode-dts/{vscode.proposed.readonlyMessage.d.ts → vscode.proposed.commentReactor.d.ts} +3 -4
- package/vscode-dts/vscode.proposed.contribMultiDiffEditorMenus.d.ts +6 -0
- package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemGroupMenu.d.ts +8 -0
- package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemMenu.d.ts +8 -0
- package/vscode-dts/vscode.proposed.debugVisualization.d.ts +100 -0
- package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +1 -1
- package/vscode-dts/vscode.proposed.interactive.d.ts +13 -16
- package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +4 -1
- package/vscode-dts/vscode.proposed.resolvers.d.ts +4 -0
- package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +4 -10
- package/vscode-dts/vscode.proposed.scmMultiDiffEditor.d.ts +34 -0
- package/vscode-dts/vscode.proposed.speech.d.ts +17 -3
- package/vscode-dts/vscode.proposed.testCoverage.d.ts +7 -1
- package/vscode-dts/vscode.proposed.tunnelFactory.d.ts +4 -0
- package/vscode/src/vs/editor/browser/widget/diffEditor/colors.js +0 -17
- package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorDecorations.js +0 -231
- package/vscode/src/vs/editor/browser/widget/diffEditor/outlineModel.js +0 -299
- package/vscode/src/vs/editor/browser/widget/diffEditor/workerBasedDocumentDiffProvider.js +0 -101
- package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +0 -390
- package/vscode/src/vs/workbench/services/editor/common/editorGroupColumn.d.ts +0 -10
- package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +0 -4
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.d.ts +0 -28
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +0 -10
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.d.ts +0 -30
- package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +0 -98
- package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.d.ts +0 -10
- package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +0 -428
- package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +0 -83
- package/vscode-dts/vscode.proposed.chatVariables.d.ts +0 -39
- package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +0 -77
- package/vscode-dts/vscode.proposed.saveEditor.d.ts +0 -35
- package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +0 -25
- package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +0 -21
|
@@ -16,7 +16,7 @@ import { OS, isMacintosh } from '../../../base/common/platform.js';
|
|
|
16
16
|
import { ltrim } from '../../../base/common/strings.js';
|
|
17
17
|
import './media/quickInput.css.js';
|
|
18
18
|
import { localizeWithPath } from '../../../nls.js';
|
|
19
|
-
import {
|
|
19
|
+
import { quickInputButtonToAction } from './quickInputUtils.js';
|
|
20
20
|
import { Lazy } from '../../../base/common/lazy.js';
|
|
21
21
|
import { URI } from '../../../base/common/uri.js';
|
|
22
22
|
import { isDark } from '../../theme/common/theme.js';
|
|
@@ -122,8 +122,9 @@ class ListElement {
|
|
|
122
122
|
}
|
|
123
123
|
class ListElementRenderer {
|
|
124
124
|
static { this.ID = 'listelement'; }
|
|
125
|
-
constructor(themeService) {
|
|
125
|
+
constructor(themeService, hoverDelegate) {
|
|
126
126
|
this.themeService = themeService;
|
|
127
|
+
this.hoverDelegate = hoverDelegate;
|
|
127
128
|
}
|
|
128
129
|
get templateId() {
|
|
129
130
|
return ListElementRenderer.ID;
|
|
@@ -149,17 +150,23 @@ class ListElementRenderer {
|
|
|
149
150
|
const row2 = append(rows, $('.quick-input-list-row'));
|
|
150
151
|
data.label = ( new IconLabel(
|
|
151
152
|
row1,
|
|
152
|
-
{ supportHighlights: true, supportDescriptionHighlights: true, supportIcons: true }
|
|
153
|
+
{ supportHighlights: true, supportDescriptionHighlights: true, supportIcons: true, hoverDelegate: this.hoverDelegate }
|
|
153
154
|
));
|
|
154
155
|
data.toDisposeTemplate.push(data.label);
|
|
155
156
|
data.icon = prepend(data.label.element, $('.quick-input-list-icon'));
|
|
156
157
|
const keybindingContainer = append(row1, $('.quick-input-list-entry-keybinding'));
|
|
157
158
|
data.keybinding = ( new KeybindingLabel(keybindingContainer, OS));
|
|
158
159
|
const detailContainer = append(row2, $('.quick-input-list-label-meta'));
|
|
159
|
-
data.detail = ( new IconLabel(
|
|
160
|
+
data.detail = ( new IconLabel(
|
|
161
|
+
detailContainer,
|
|
162
|
+
{ supportHighlights: true, supportIcons: true, hoverDelegate: this.hoverDelegate }
|
|
163
|
+
));
|
|
160
164
|
data.toDisposeTemplate.push(data.detail);
|
|
161
165
|
data.separator = append(data.entry, $('.quick-input-list-separator'));
|
|
162
|
-
data.actionBar = ( new ActionBar(
|
|
166
|
+
data.actionBar = ( new ActionBar(
|
|
167
|
+
data.entry,
|
|
168
|
+
this.hoverDelegate ? { hoverDelegate: this.hoverDelegate } : undefined
|
|
169
|
+
));
|
|
163
170
|
data.actionBar.domNode.classList.add('quick-input-list-entry-action-bar');
|
|
164
171
|
data.toDisposeTemplate.push(data.actionBar);
|
|
165
172
|
return data;
|
|
@@ -183,7 +190,7 @@ class ListElementRenderer {
|
|
|
183
190
|
}
|
|
184
191
|
const options = {
|
|
185
192
|
matches: labelHighlights || [],
|
|
186
|
-
descriptionTitle: element.saneDescription,
|
|
193
|
+
descriptionTitle: element.saneTooltip ? undefined : element.saneDescription,
|
|
187
194
|
descriptionMatches: descriptionHighlights || [],
|
|
188
195
|
labelEscapeNewLines: true
|
|
189
196
|
};
|
|
@@ -202,7 +209,7 @@ class ListElementRenderer {
|
|
|
202
209
|
data.detail.element.style.display = '';
|
|
203
210
|
data.detail.setLabel(element.saneDetail, undefined, {
|
|
204
211
|
matches: detailHighlights,
|
|
205
|
-
title: element.saneDetail,
|
|
212
|
+
title: element.saneTooltip ? undefined : element.saneDetail,
|
|
206
213
|
labelEscapeNewLines: true
|
|
207
214
|
});
|
|
208
215
|
}
|
|
@@ -219,30 +226,11 @@ class ListElementRenderer {
|
|
|
219
226
|
data.entry.classList.toggle('quick-input-list-separator-border', !!element.separator);
|
|
220
227
|
const buttons = mainItem.buttons;
|
|
221
228
|
if (buttons && buttons.length) {
|
|
222
|
-
data.actionBar.push(( buttons.map(
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
return {
|
|
228
|
-
id: `id-${index}`,
|
|
229
|
-
class: cssClasses,
|
|
230
|
-
enabled: true,
|
|
231
|
-
label: '',
|
|
232
|
-
tooltip: button.tooltip || '',
|
|
233
|
-
run: () => {
|
|
234
|
-
mainItem.type !== 'separator'
|
|
235
|
-
? element.fireButtonTriggered({
|
|
236
|
-
button,
|
|
237
|
-
item: mainItem
|
|
238
|
-
})
|
|
239
|
-
: element.fireSeparatorButtonTriggered({
|
|
240
|
-
button,
|
|
241
|
-
separator: mainItem
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
};
|
|
245
|
-
})), { icon: true, label: false });
|
|
229
|
+
data.actionBar.push(( buttons.map(
|
|
230
|
+
(button, index) => quickInputButtonToAction(button, `id-${index}`, () => mainItem.type !== 'separator'
|
|
231
|
+
? element.fireButtonTriggered({ button, item: mainItem })
|
|
232
|
+
: element.fireSeparatorButtonTriggered({ button, separator: mainItem }))
|
|
233
|
+
)), { icon: true, label: false });
|
|
246
234
|
data.entry.classList.add('has-actions');
|
|
247
235
|
}
|
|
248
236
|
else {
|
|
@@ -316,7 +304,7 @@ class QuickInputList {
|
|
|
316
304
|
this.container = append(this.parent, $('.quick-input-list'));
|
|
317
305
|
const delegate = ( new ListElementDelegate());
|
|
318
306
|
const accessibilityProvider = ( new QuickInputAccessibilityProvider());
|
|
319
|
-
this.list = options.createList('QuickInput', this.container, delegate, [( new ListElementRenderer(themeService))], {
|
|
307
|
+
this.list = options.createList('QuickInput', this.container, delegate, [( new ListElementRenderer(themeService, options.hoverDelegate))], {
|
|
320
308
|
identityProvider: {
|
|
321
309
|
getId: element => {
|
|
322
310
|
return element.item?.id
|
|
@@ -380,39 +368,37 @@ class QuickInputList {
|
|
|
380
368
|
this.list.setSelection([e.index]);
|
|
381
369
|
}
|
|
382
370
|
}));
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
this.showHover(e.element);
|
|
399
|
-
}
|
|
400
|
-
});
|
|
401
|
-
}
|
|
402
|
-
catch (e) {
|
|
403
|
-
if (!isCancellationError(e)) {
|
|
404
|
-
throw e;
|
|
371
|
+
const delayer = ( new ThrottledDelayer(options.hoverDelegate.delay));
|
|
372
|
+
this.disposables.push(this.list.onMouseOver(async (e) => {
|
|
373
|
+
if (e.browserEvent.target instanceof HTMLAnchorElement) {
|
|
374
|
+
delayer.cancel();
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
if (
|
|
378
|
+
!(e.browserEvent.relatedTarget instanceof HTMLAnchorElement) &&
|
|
379
|
+
isAncestor(e.browserEvent.relatedTarget, e.element?.element)) {
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
try {
|
|
383
|
+
await delayer.trigger(async () => {
|
|
384
|
+
if (e.element) {
|
|
385
|
+
this.showHover(e.element);
|
|
405
386
|
}
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
catch (e) {
|
|
390
|
+
if (!isCancellationError(e)) {
|
|
391
|
+
throw e;
|
|
406
392
|
}
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
393
|
+
}
|
|
394
|
+
}));
|
|
395
|
+
this.disposables.push(this.list.onMouseOut(e => {
|
|
396
|
+
if (isAncestor(e.browserEvent.relatedTarget, e.element?.element)) {
|
|
397
|
+
return;
|
|
398
|
+
}
|
|
399
|
+
delayer.cancel();
|
|
400
|
+
}));
|
|
401
|
+
this.disposables.push(delayer);
|
|
416
402
|
this.disposables.push(this._listElementChecked.event(_ => this.fireCheckedEvents()));
|
|
417
403
|
this.disposables.push(this._onChangedAllVisibleChecked, this._onChangedCheckedCount, this._onChangedVisibleCount, this._onChangedCheckedElements, this._onButtonTriggered, this._onSeparatorButtonTriggered, this._onLeave, this._onKeyDown);
|
|
418
404
|
}
|
|
@@ -627,9 +613,6 @@ class QuickInputList {
|
|
|
627
613
|
this.list.domFocus();
|
|
628
614
|
}
|
|
629
615
|
showHover(element) {
|
|
630
|
-
if (this.options.hoverDelegate === undefined) {
|
|
631
|
-
return;
|
|
632
|
-
}
|
|
633
616
|
if (this._lastHover && !this._lastHover.isDisposed) {
|
|
634
617
|
this.options.hoverDelegate.onDidHideHover?.();
|
|
635
618
|
this._lastHover?.dispose();
|
|
@@ -10,7 +10,10 @@ import { QuickAccessController } from './quickAccess.js';
|
|
|
10
10
|
import { defaultInputBoxStyles, defaultToggleStyles, defaultCountBadgeStyles, defaultButtonStyles, defaultProgressBarStyles, defaultKeybindingLabelStyles, getListStyles } from '../../theme/browser/defaultStyles.js';
|
|
11
11
|
import { asCssVariable, quickInputBackground, quickInputForeground, quickInputTitleBackground, widgetBorder, widgetShadow, quickInputListFocusBackground, quickInputListFocusForeground, quickInputListFocusIconForeground, activeContrastBorder, pickerGroupBorder, pickerGroupForeground } from '../../theme/common/colorRegistry.js';
|
|
12
12
|
import { Themable, IThemeService } from '../../theme/common/themeService.js';
|
|
13
|
+
import { QuickInputHoverDelegate } from './quickInput.js';
|
|
13
14
|
import { QuickInputController } from './quickInputController.js';
|
|
15
|
+
import { IConfigurationService } from '../../configuration/common/configuration.js';
|
|
16
|
+
import { IHoverService } from '../../hover/browser/hover.js';
|
|
14
17
|
let QuickInputService = class QuickInputService extends Themable {
|
|
15
18
|
get backButton() { return this.controller.backButton; }
|
|
16
19
|
get controller() {
|
|
@@ -26,11 +29,13 @@ let QuickInputService = class QuickInputService extends Themable {
|
|
|
26
29
|
}
|
|
27
30
|
return this._quickAccess;
|
|
28
31
|
}
|
|
29
|
-
constructor(instantiationService, contextKeyService, themeService, layoutService) {
|
|
32
|
+
constructor(instantiationService, contextKeyService, themeService, layoutService, configurationService, hoverService) {
|
|
30
33
|
super(themeService);
|
|
31
34
|
this.instantiationService = instantiationService;
|
|
32
35
|
this.contextKeyService = contextKeyService;
|
|
33
36
|
this.layoutService = layoutService;
|
|
37
|
+
this.configurationService = configurationService;
|
|
38
|
+
this.hoverService = hoverService;
|
|
34
39
|
this._onShow = this._register(( new Emitter()));
|
|
35
40
|
this.onShow = this._onShow.event;
|
|
36
41
|
this._onHide = this._register(( new Emitter()));
|
|
@@ -52,7 +57,8 @@ let QuickInputService = class QuickInputService extends Themable {
|
|
|
52
57
|
},
|
|
53
58
|
returnFocus: () => host.focus(),
|
|
54
59
|
createList: (user, container, delegate, renderers, options) => this.instantiationService.createInstance(WorkbenchList, user, container, delegate, renderers, options),
|
|
55
|
-
styles: this.computeStyles()
|
|
60
|
+
styles: this.computeStyles(),
|
|
61
|
+
hoverDelegate: ( new QuickInputHoverDelegate(this.configurationService, this.hoverService))
|
|
56
62
|
};
|
|
57
63
|
const controller = this._register(( new QuickInputController({
|
|
58
64
|
...defaultOptions,
|
|
@@ -173,6 +179,8 @@ QuickInputService = ( __decorate([
|
|
|
173
179
|
( __param(0, IInstantiationService)),
|
|
174
180
|
( __param(1, IContextKeyService)),
|
|
175
181
|
( __param(2, IThemeService)),
|
|
176
|
-
( __param(3, ILayoutService))
|
|
182
|
+
( __param(3, ILayoutService)),
|
|
183
|
+
( __param(4, IConfigurationService)),
|
|
184
|
+
( __param(5, IHoverService))
|
|
177
185
|
], QuickInputService));
|
|
178
186
|
export { QuickInputService };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { reset, $, EventType, createCSSRule, asCSSUrl, isEventLike, EventHelper } from '../../../base/browser/dom.js';
|
|
2
2
|
import { DomEmitter } from '../../../base/browser/event.js';
|
|
3
3
|
import { Event } from '../../../base/common/event.js';
|
|
4
4
|
import { StandardKeyboardEvent } from '../../../base/browser/keyboardEvent.js';
|
|
@@ -27,6 +27,20 @@ function getIconClass(iconPath) {
|
|
|
27
27
|
}
|
|
28
28
|
return iconClass;
|
|
29
29
|
}
|
|
30
|
+
function quickInputButtonToAction(button, id, run) {
|
|
31
|
+
let cssClasses = button.iconClass || getIconClass(button.iconPath);
|
|
32
|
+
if (button.alwaysVisible) {
|
|
33
|
+
cssClasses = cssClasses ? `${cssClasses} always-visible` : 'always-visible';
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
id,
|
|
37
|
+
label: '',
|
|
38
|
+
tooltip: button.tooltip || '',
|
|
39
|
+
class: cssClasses,
|
|
40
|
+
enabled: true,
|
|
41
|
+
run
|
|
42
|
+
};
|
|
43
|
+
}
|
|
30
44
|
function renderQuickInputDescription(description, container, actionHandler) {
|
|
31
45
|
reset(container);
|
|
32
46
|
const parsed = parseLinkedText(description);
|
|
@@ -69,4 +83,4 @@ function renderQuickInputDescription(description, container, actionHandler) {
|
|
|
69
83
|
}
|
|
70
84
|
}
|
|
71
85
|
}
|
|
72
|
-
export {
|
|
86
|
+
export { quickInputButtonToAction, renderQuickInputDescription };
|
|
@@ -77,10 +77,6 @@ interface IPickOptions<T extends IQuickPickItem> {
|
|
|
77
77
|
* an optional flag to filter the picks based on label. Defaults to true.
|
|
78
78
|
*/
|
|
79
79
|
matchOnLabel?: boolean;
|
|
80
|
-
/**
|
|
81
|
-
* an option flag to control whether focus is always automatically brought to a list item. Defaults to true.
|
|
82
|
-
*/
|
|
83
|
-
autoFocusOnList?: boolean;
|
|
84
80
|
/**
|
|
85
81
|
* an optional flag to not close the picker on focus lost
|
|
86
82
|
*/
|
|
@@ -166,31 +162,81 @@ declare enum QuickInputHideReason {
|
|
|
166
162
|
interface IQuickInputHideEvent {
|
|
167
163
|
reason: QuickInputHideReason;
|
|
168
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Represents a quick input control that allows users to make selections or provide input quickly.
|
|
167
|
+
*/
|
|
169
168
|
interface IQuickInput extends IDisposable {
|
|
169
|
+
/**
|
|
170
|
+
* An event that is fired when the quick input is hidden.
|
|
171
|
+
*/
|
|
170
172
|
readonly onDidHide: Event<IQuickInputHideEvent>;
|
|
173
|
+
/**
|
|
174
|
+
* An event that is fired when the quick input is disposed.
|
|
175
|
+
*/
|
|
171
176
|
readonly onDispose: Event<void>;
|
|
177
|
+
/**
|
|
178
|
+
* The title of the quick input.
|
|
179
|
+
*/
|
|
172
180
|
title: string | undefined;
|
|
181
|
+
/**
|
|
182
|
+
* The description of the quick input. This is rendered right below the input box.
|
|
183
|
+
*/
|
|
173
184
|
description: string | undefined;
|
|
174
185
|
/**
|
|
175
|
-
*
|
|
176
|
-
* @deprecated Use an IQuickWidget instead
|
|
186
|
+
* An HTML widget rendered below the input.
|
|
187
|
+
* @deprecated Use an IQuickWidget instead.
|
|
177
188
|
*/
|
|
178
189
|
widget: any | undefined;
|
|
190
|
+
/**
|
|
191
|
+
* The current step of the quick input rendered in the titlebar.
|
|
192
|
+
*/
|
|
179
193
|
step: number | undefined;
|
|
194
|
+
/**
|
|
195
|
+
* The total number of steps in the quick input rendered in the titlebar.
|
|
196
|
+
*/
|
|
180
197
|
totalSteps: number | undefined;
|
|
198
|
+
/**
|
|
199
|
+
* The buttons displayed in the quick input titlebar.
|
|
200
|
+
*/
|
|
181
201
|
buttons: ReadonlyArray<IQuickInputButton>;
|
|
202
|
+
/**
|
|
203
|
+
* An event that is fired when a button in the quick input is triggered.
|
|
204
|
+
*/
|
|
182
205
|
readonly onDidTriggerButton: Event<IQuickInputButton>;
|
|
206
|
+
/**
|
|
207
|
+
* Indicates whether the input is enabled.
|
|
208
|
+
*/
|
|
183
209
|
enabled: boolean;
|
|
210
|
+
/**
|
|
211
|
+
* The context key associated with the quick input.
|
|
212
|
+
*/
|
|
184
213
|
contextKey: string | undefined;
|
|
214
|
+
/**
|
|
215
|
+
* Indicates whether the quick input is busy. Renders a progress bar if true.
|
|
216
|
+
*/
|
|
185
217
|
busy: boolean;
|
|
218
|
+
/**
|
|
219
|
+
* Indicates whether the quick input should be hidden when it loses focus.
|
|
220
|
+
*/
|
|
186
221
|
ignoreFocusOut: boolean;
|
|
222
|
+
/**
|
|
223
|
+
* Shows the quick input.
|
|
224
|
+
*/
|
|
187
225
|
show(): void;
|
|
226
|
+
/**
|
|
227
|
+
* Hides the quick input.
|
|
228
|
+
*/
|
|
188
229
|
hide(): void;
|
|
230
|
+
/**
|
|
231
|
+
* Notifies that the quick input has been hidden.
|
|
232
|
+
* @param reason The reason why the quick input was hidden.
|
|
233
|
+
*/
|
|
189
234
|
didHide(reason?: QuickInputHideReason): void;
|
|
190
235
|
}
|
|
191
236
|
interface IQuickWidget extends IQuickInput {
|
|
192
237
|
/**
|
|
193
238
|
* Should be an HTMLElement (TODO: move this entire file into browser)
|
|
239
|
+
* @override
|
|
194
240
|
*/
|
|
195
241
|
widget: any | undefined;
|
|
196
242
|
}
|
|
@@ -209,86 +255,206 @@ interface IQuickPickDidAcceptEvent {
|
|
|
209
255
|
*/
|
|
210
256
|
inBackground: boolean;
|
|
211
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Represents the activation behavior for items in a quick input. This means which item will be
|
|
260
|
+
* "active" (aka focused).
|
|
261
|
+
*/
|
|
212
262
|
declare enum ItemActivation {
|
|
263
|
+
/**
|
|
264
|
+
* No item will be active.
|
|
265
|
+
*/
|
|
213
266
|
NONE = 0,
|
|
267
|
+
/**
|
|
268
|
+
* First item will be active.
|
|
269
|
+
*/
|
|
214
270
|
FIRST = 1,
|
|
271
|
+
/**
|
|
272
|
+
* Second item will be active.
|
|
273
|
+
*/
|
|
215
274
|
SECOND = 2,
|
|
275
|
+
/**
|
|
276
|
+
* Last item will be active.
|
|
277
|
+
*/
|
|
216
278
|
LAST = 3
|
|
217
279
|
}
|
|
280
|
+
/**
|
|
281
|
+
* Represents a quick pick control that allows the user to select an item from a list of options.
|
|
282
|
+
*/
|
|
218
283
|
interface IQuickPick<T extends IQuickPickItem> extends IQuickInput {
|
|
284
|
+
/**
|
|
285
|
+
* The current value of the quick pick input.
|
|
286
|
+
*/
|
|
219
287
|
value: string;
|
|
220
288
|
/**
|
|
221
|
-
* A method that allows to massage the value used
|
|
222
|
-
*
|
|
289
|
+
* A method that allows to massage the value used for filtering, e.g, to remove certain parts.
|
|
290
|
+
* @param value The value to be filtered.
|
|
291
|
+
* @returns The filtered value.
|
|
223
292
|
*/
|
|
224
293
|
filterValue: (value: string) => string;
|
|
294
|
+
/**
|
|
295
|
+
* The ARIA label for the quick pick input.
|
|
296
|
+
*/
|
|
225
297
|
ariaLabel: string | undefined;
|
|
298
|
+
/**
|
|
299
|
+
* The placeholder text for the quick pick input.
|
|
300
|
+
*/
|
|
226
301
|
placeholder: string | undefined;
|
|
302
|
+
/**
|
|
303
|
+
* An event that is fired when the value of the quick pick input changes.
|
|
304
|
+
*/
|
|
227
305
|
readonly onDidChangeValue: Event<string>;
|
|
306
|
+
/**
|
|
307
|
+
* An event that is fired when the quick pick is about to accept the selected item.
|
|
308
|
+
*/
|
|
228
309
|
readonly onWillAccept: Event<IQuickPickWillAcceptEvent>;
|
|
310
|
+
/**
|
|
311
|
+
* An event that is fired when the quick pick has accepted the selected item.
|
|
312
|
+
*/
|
|
229
313
|
readonly onDidAccept: Event<IQuickPickDidAcceptEvent>;
|
|
230
314
|
/**
|
|
231
|
-
* If enabled,
|
|
232
|
-
* pressing the arrow-right key with the idea of accepting
|
|
233
|
-
* the selected item without closing the picker.
|
|
315
|
+
* If enabled, the `onDidAccept` event will be fired when pressing the arrow-right key to accept the selected item without closing the picker.
|
|
234
316
|
*/
|
|
235
317
|
canAcceptInBackground: boolean;
|
|
318
|
+
/**
|
|
319
|
+
* The OK button state. It can be a boolean value or the string 'default'.
|
|
320
|
+
*/
|
|
236
321
|
ok: boolean | 'default';
|
|
322
|
+
/**
|
|
323
|
+
* An event that is fired when the custom button is triggered. The custom button is a button with text rendered to the right of the input.
|
|
324
|
+
*/
|
|
237
325
|
readonly onDidCustom: Event<void>;
|
|
326
|
+
/**
|
|
327
|
+
* Whether to show the custom button. The custom button is a button with text rendered to the right of the input.
|
|
328
|
+
*/
|
|
238
329
|
customButton: boolean;
|
|
330
|
+
/**
|
|
331
|
+
* The label for the custom button. The custom button is a button with text rendered to the right of the input.
|
|
332
|
+
*/
|
|
239
333
|
customLabel: string | undefined;
|
|
334
|
+
/**
|
|
335
|
+
* The hover text for the custom button. The custom button is a button with text rendered to the right of the input.
|
|
336
|
+
*/
|
|
240
337
|
customHover: string | undefined;
|
|
338
|
+
/**
|
|
339
|
+
* An event that is fired when an item button is triggered.
|
|
340
|
+
*/
|
|
241
341
|
readonly onDidTriggerItemButton: Event<IQuickPickItemButtonEvent<T>>;
|
|
342
|
+
/**
|
|
343
|
+
* An event that is fired when a separator button is triggered.
|
|
344
|
+
*/
|
|
242
345
|
readonly onDidTriggerSeparatorButton: Event<IQuickPickSeparatorButtonEvent>;
|
|
346
|
+
/**
|
|
347
|
+
* The items to be displayed in the quick pick.
|
|
348
|
+
*/
|
|
243
349
|
items: ReadonlyArray<T | IQuickPickSeparator>;
|
|
244
|
-
|
|
350
|
+
/**
|
|
351
|
+
* Whether multiple items can be selected. If so, checkboxes will be rendered.
|
|
352
|
+
*/
|
|
245
353
|
canSelectMany: boolean;
|
|
354
|
+
/**
|
|
355
|
+
* Whether to match on the description of the items.
|
|
356
|
+
*/
|
|
246
357
|
matchOnDescription: boolean;
|
|
358
|
+
/**
|
|
359
|
+
* Whether to match on the detail of the items.
|
|
360
|
+
*/
|
|
247
361
|
matchOnDetail: boolean;
|
|
362
|
+
/**
|
|
363
|
+
* Whether to match on the label of the items.
|
|
364
|
+
*/
|
|
248
365
|
matchOnLabel: boolean;
|
|
249
366
|
/**
|
|
250
|
-
* The mode to filter label with.
|
|
251
|
-
* contiguous will make filter entries that do not contain the exact string
|
|
252
|
-
* (including whitespace). This defaults to `'fuzzy'`.
|
|
367
|
+
* The mode to filter the label with. It can be 'fuzzy' or 'contiguous'. Defaults to 'fuzzy'.
|
|
253
368
|
*/
|
|
254
369
|
matchOnLabelMode: 'fuzzy' | 'contiguous';
|
|
370
|
+
/**
|
|
371
|
+
* Whether to sort the items by label.
|
|
372
|
+
*/
|
|
255
373
|
sortByLabel: boolean;
|
|
256
|
-
|
|
374
|
+
/**
|
|
375
|
+
* Whether to keep the scroll position when the quick pick input is updated.
|
|
376
|
+
*/
|
|
257
377
|
keepScrollPosition: boolean;
|
|
378
|
+
/**
|
|
379
|
+
* The configuration for quick navigation.
|
|
380
|
+
*/
|
|
258
381
|
quickNavigate: IQuickNavigateConfiguration | undefined;
|
|
382
|
+
/**
|
|
383
|
+
* The currently active items.
|
|
384
|
+
*/
|
|
259
385
|
activeItems: ReadonlyArray<T>;
|
|
386
|
+
/**
|
|
387
|
+
* An event that is fired when the active items change.
|
|
388
|
+
*/
|
|
260
389
|
readonly onDidChangeActive: Event<T[]>;
|
|
261
390
|
/**
|
|
262
|
-
*
|
|
391
|
+
* The item activation behavior for the next time `items` is set. Item activation means which
|
|
392
|
+
* item is "active" (aka focused) when the quick pick is opened or when `items` is set.
|
|
263
393
|
*/
|
|
264
394
|
itemActivation: ItemActivation;
|
|
395
|
+
/**
|
|
396
|
+
* The currently selected items.
|
|
397
|
+
*/
|
|
265
398
|
selectedItems: ReadonlyArray<T>;
|
|
399
|
+
/**
|
|
400
|
+
* An event that is fired when the selected items change.
|
|
401
|
+
*/
|
|
266
402
|
readonly onDidChangeSelection: Event<T[]>;
|
|
403
|
+
/**
|
|
404
|
+
* The key modifiers.
|
|
405
|
+
*/
|
|
267
406
|
readonly keyMods: IKeyMods;
|
|
407
|
+
/**
|
|
408
|
+
* The selection range for the value in the input.
|
|
409
|
+
*/
|
|
268
410
|
valueSelection: Readonly<[number, number]> | undefined;
|
|
411
|
+
/**
|
|
412
|
+
* The validation message for the quick pick. This is rendered below the input.
|
|
413
|
+
*/
|
|
269
414
|
validationMessage: string | undefined;
|
|
415
|
+
/**
|
|
416
|
+
* The severity of the validation message.
|
|
417
|
+
*/
|
|
270
418
|
severity: Severity;
|
|
419
|
+
/**
|
|
420
|
+
* Checks if the quick pick input has focus.
|
|
421
|
+
* @returns `true` if the quick pick input has focus, `false` otherwise.
|
|
422
|
+
*/
|
|
271
423
|
inputHasFocus(): boolean;
|
|
424
|
+
/**
|
|
425
|
+
* Focuses on the quick pick input.
|
|
426
|
+
*/
|
|
272
427
|
focusOnInput(): void;
|
|
273
428
|
/**
|
|
274
|
-
* Hides the input box from the picker UI. This is typically used
|
|
275
|
-
* in combination with quick-navigation where no search UI should
|
|
276
|
-
* be presented.
|
|
429
|
+
* Hides the input box from the picker UI. This is typically used in combination with quick-navigation where no search UI should be presented.
|
|
277
430
|
*/
|
|
278
431
|
hideInput: boolean;
|
|
279
432
|
/**
|
|
280
|
-
*
|
|
433
|
+
* Controls whether the count for the items should be shown.
|
|
281
434
|
*/
|
|
282
435
|
hideCountBadge: boolean;
|
|
436
|
+
/**
|
|
437
|
+
* Whether to hide the "Check All" checkbox.
|
|
438
|
+
*/
|
|
283
439
|
hideCheckAll: boolean;
|
|
284
440
|
/**
|
|
285
|
-
*
|
|
441
|
+
* The toggle buttons to be added to the input box.
|
|
286
442
|
*/
|
|
287
443
|
toggles: IQuickInputToggle[] | undefined;
|
|
288
444
|
}
|
|
445
|
+
/**
|
|
446
|
+
* Represents a toggle for quick input.
|
|
447
|
+
*/
|
|
289
448
|
interface IQuickInputToggle {
|
|
449
|
+
/**
|
|
450
|
+
* Event that is fired when the toggle value changes.
|
|
451
|
+
* The boolean value indicates whether the change was triggered via keyboard.
|
|
452
|
+
*/
|
|
290
453
|
onChange: Event<boolean>;
|
|
291
454
|
}
|
|
455
|
+
/**
|
|
456
|
+
* Represents an input box in a quick input dialog.
|
|
457
|
+
*/
|
|
292
458
|
interface IInputBox extends IQuickInput {
|
|
293
459
|
/**
|
|
294
460
|
* Value shown in the input box.
|
|
@@ -328,30 +494,68 @@ interface IInputBox extends IQuickInput {
|
|
|
328
494
|
*/
|
|
329
495
|
severity: Severity;
|
|
330
496
|
}
|
|
497
|
+
/**
|
|
498
|
+
* Represents a button in the quick input UI.
|
|
499
|
+
*/
|
|
331
500
|
interface IQuickInputButton {
|
|
332
|
-
/**
|
|
501
|
+
/**
|
|
502
|
+
* The path to the icon for the button.
|
|
503
|
+
* Either `iconPath` or `iconClass` is required.
|
|
504
|
+
*/
|
|
333
505
|
iconPath?: {
|
|
334
506
|
dark: URI;
|
|
335
507
|
light?: URI;
|
|
336
508
|
};
|
|
337
|
-
/**
|
|
509
|
+
/**
|
|
510
|
+
* The CSS class for the icon of the button.
|
|
511
|
+
* Either `iconPath` or `iconClass` is required.
|
|
512
|
+
*/
|
|
338
513
|
iconClass?: string;
|
|
514
|
+
/**
|
|
515
|
+
* The tooltip text for the button.
|
|
516
|
+
*/
|
|
339
517
|
tooltip?: string;
|
|
340
518
|
/**
|
|
341
|
-
* Whether to always show the button.
|
|
342
|
-
* are only visible when hovering over them with the mouse
|
|
519
|
+
* Whether to always show the button.
|
|
520
|
+
* By default, buttons are only visible when hovering over them with the mouse.
|
|
343
521
|
*/
|
|
344
522
|
alwaysVisible?: boolean;
|
|
345
523
|
}
|
|
524
|
+
/**
|
|
525
|
+
* Represents an event that occurs when a button associated with a quick pick item is clicked.
|
|
526
|
+
* @template T - The type of the quick pick item.
|
|
527
|
+
*/
|
|
346
528
|
interface IQuickPickItemButtonEvent<T extends IQuickPickItem> {
|
|
529
|
+
/**
|
|
530
|
+
* The button that was clicked.
|
|
531
|
+
*/
|
|
347
532
|
button: IQuickInputButton;
|
|
533
|
+
/**
|
|
534
|
+
* The quick pick item associated with the button.
|
|
535
|
+
*/
|
|
348
536
|
item: T;
|
|
349
537
|
}
|
|
538
|
+
/**
|
|
539
|
+
* Represents an event that occurs when a separator button is clicked in a quick pick.
|
|
540
|
+
*/
|
|
350
541
|
interface IQuickPickSeparatorButtonEvent {
|
|
542
|
+
/**
|
|
543
|
+
* The button that was clicked.
|
|
544
|
+
*/
|
|
351
545
|
button: IQuickInputButton;
|
|
546
|
+
/**
|
|
547
|
+
* The separator associated with the button.
|
|
548
|
+
*/
|
|
352
549
|
separator: IQuickPickSeparator;
|
|
353
550
|
}
|
|
551
|
+
/**
|
|
552
|
+
* Represents a context for a button associated with a quick pick item.
|
|
553
|
+
* @template T - The type of the quick pick item.
|
|
554
|
+
*/
|
|
354
555
|
interface IQuickPickItemButtonContext<T extends IQuickPickItem> extends IQuickPickItemButtonEvent<T> {
|
|
556
|
+
/**
|
|
557
|
+
* Removes the associated item from the quick pick.
|
|
558
|
+
*/
|
|
355
559
|
removeItem(): void;
|
|
356
560
|
}
|
|
357
561
|
type QuickPickInput<T = IQuickPickItem> = T | IQuickPickSeparator;
|
|
@@ -106,6 +106,7 @@ function removePropertiesWithPossibleUserInfo(property) {
|
|
|
106
106
|
const userDataRegexes = [
|
|
107
107
|
{ label: 'Google API Key', regex: /AIza[A-Za-z0-9_\\\-]{35}/ },
|
|
108
108
|
{ label: 'Slack Token', regex: /xox[pbar]\-[A-Za-z0-9]/ },
|
|
109
|
+
{ label: 'GitHub Token', regex: /(gh[psuro]_[a-zA-Z0-9]{36}|github_pat_[a-zA-Z0-9]{22}_[a-zA-Z0-9]{59})/ },
|
|
109
110
|
{ label: 'Generic Secret', regex: /(key|token|sig|secret|signature|password|passwd|pwd|android:value)[^a-zA-Z0-9]/i },
|
|
110
111
|
{ label: 'Email', regex: /@[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+/ }
|
|
111
112
|
];
|