sussudio
Version:
An unofficial VS Code Internal API
45 lines (44 loc) • 1.94 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { IHoverDelegate } from "./iconHoverDelegate.mjs";
import { CancellationToken } from "../../../common/cancellation.mjs";
import { IMarkdownString } from "../../../common/htmlContent.mjs";
import { IDisposable } from "../../../common/lifecycle.mjs";
export interface ITooltipMarkdownString {
markdown: IMarkdownString | string | undefined | ((token: CancellationToken) => Promise<IMarkdownString | string | undefined>);
markdownNotSupportedFallback: string | undefined;
}
export declare function setupNativeHover(htmlElement: HTMLElement, tooltip: string | ITooltipMarkdownString | undefined): void;
type IHoverContent = string | ITooltipMarkdownString | HTMLElement | undefined;
/**
* Copied from src\vs\workbench\services\hover\browser\hover.ts
* @deprecated Use IHoverService
*/
interface IHoverAction {
label: string;
commandId: string;
iconClass?: string;
run(target: HTMLElement): void;
}
export interface IUpdatableHoverOptions {
actions?: IHoverAction[];
linkHandler?(url: string): void;
}
export interface ICustomHover extends IDisposable {
/**
* Allows to programmatically open the hover.
*/
show(focus?: boolean): void;
/**
* Allows to programmatically hide the hover.
*/
hide(): void;
/**
* Updates the contents of the hover.
*/
update(tooltip: IHoverContent, options?: IUpdatableHoverOptions): void;
}
export declare function setupCustomHover(hoverDelegate: IHoverDelegate, htmlElement: HTMLElement, content: IHoverContent, options?: IUpdatableHoverOptions): ICustomHover;
export {};