Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/platform/actions/browser/dropdownActionViewItemWithKeybinding.ts
5245 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { IContextMenuProvider } from '../../../base/browser/contextmenu.js';
7
import { IActionProvider } from '../../../base/browser/ui/dropdown/dropdown.js';
8
import { DropdownMenuActionViewItem, IDropdownMenuActionViewItemOptions } from '../../../base/browser/ui/dropdown/dropdownActionViewItem.js';
9
import { IAction } from '../../../base/common/actions.js';
10
import { IContextKeyService } from '../../contextkey/common/contextkey.js';
11
import { IKeybindingService } from '../../keybinding/common/keybinding.js';
12
13
export class DropdownMenuActionViewItemWithKeybinding extends DropdownMenuActionViewItem {
14
constructor(
15
action: IAction,
16
menuActionsOrProvider: readonly IAction[] | IActionProvider,
17
contextMenuProvider: IContextMenuProvider,
18
options: IDropdownMenuActionViewItemOptions = Object.create(null),
19
@IKeybindingService private readonly keybindingService: IKeybindingService,
20
@IContextKeyService private readonly contextKeyService: IContextKeyService,
21
) {
22
super(action, menuActionsOrProvider, contextMenuProvider, options);
23
}
24
25
protected override getTooltip() {
26
const tooltip = this.action.tooltip ?? this.action.label;
27
return this.keybindingService.appendKeybinding(tooltip, this.action.id, this.contextKeyService);
28
}
29
}
30
31