UNPKG

sussudio

Version:

An unofficial VS Code Internal API

51 lines (50 loc) 1.94 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { URI } from "../../../base/common/uri.mjs"; export interface ICommonMenubarService { updateMenubar(windowId: number, menuData: IMenubarData): Promise<void>; } export interface IMenubarData { menus: { [id: string]: IMenubarMenu; }; keybindings: { [id: string]: IMenubarKeybinding; }; } export interface IMenubarMenu { items: Array<MenubarMenuItem>; } export interface IMenubarKeybinding { label: string; userSettingsLabel?: string; isNative?: boolean; } export interface IMenubarMenuItemAction { id: string; label: string; checked?: boolean; enabled?: boolean; } export interface IMenubarMenuRecentItemAction { id: string; label: string; uri: URI; remoteAuthority?: string; enabled?: boolean; } export interface IMenubarMenuItemSubmenu { id: string; label: string; submenu: IMenubarMenu; } export interface IMenubarMenuItemSeparator { id: 'vscode.menubar.separator'; } export type MenubarMenuItem = IMenubarMenuItemAction | IMenubarMenuItemSubmenu | IMenubarMenuItemSeparator | IMenubarMenuRecentItemAction; export declare function isMenubarMenuItemSubmenu(menuItem: MenubarMenuItem): menuItem is IMenubarMenuItemSubmenu; export declare function isMenubarMenuItemSeparator(menuItem: MenubarMenuItem): menuItem is IMenubarMenuItemSeparator; export declare function isMenubarMenuItemRecentAction(menuItem: MenubarMenuItem): menuItem is IMenubarMenuRecentItemAction; export declare function isMenubarMenuItemAction(menuItem: MenubarMenuItem): menuItem is IMenubarMenuItemAction;