UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

58 lines (56 loc) 1.87 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 '@sussudio/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;