Path: blob/main/src/vs/base/browser/ui/hover/hoverDelegate2.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { Disposable } from '../../../common/lifecycle.js';6import type { IHoverDelegate2 } from './hover.js';78let baseHoverDelegate: IHoverDelegate2 = {9showInstantHover: () => undefined,10showDelayedHover: () => undefined,11setupDelayedHover: () => Disposable.None,12setupDelayedHoverAtMouse: () => Disposable.None,13hideHover: () => undefined,14showAndFocusLastHover: () => undefined,15setupManagedHover: () => ({16dispose: () => undefined,17show: () => undefined,18hide: () => undefined,19update: () => undefined,20}),21showManagedHover: () => undefined22};2324/**25* Sets the hover delegate for use **only in the `base/` layer**.26*/27export function setBaseLayerHoverDelegate(hoverDelegate: IHoverDelegate2): void {28baseHoverDelegate = hoverDelegate;29}3031/**32* Gets the hover delegate for use **only in the `base/` layer**.33*34* Since the hover service depends on various platform services, this delegate essentially bypasses35* the standard dependency injection mechanism by injecting a global hover service at start up. The36* only reason this should be used is if `IHoverService` is not available.37*/38export function getBaseLayerHoverDelegate(): IHoverDelegate2 {39return baseHoverDelegate;40}414243