Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/base/browser/ui/hover/hoverDelegate2.ts
3296 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 { Disposable } from '../../../common/lifecycle.js';
7
import type { IHoverDelegate2 } from './hover.js';
8
9
let baseHoverDelegate: IHoverDelegate2 = {
10
showInstantHover: () => undefined,
11
showDelayedHover: () => undefined,
12
setupDelayedHover: () => Disposable.None,
13
setupDelayedHoverAtMouse: () => Disposable.None,
14
hideHover: () => undefined,
15
showAndFocusLastHover: () => undefined,
16
setupManagedHover: () => ({
17
dispose: () => undefined,
18
show: () => undefined,
19
hide: () => undefined,
20
update: () => undefined,
21
}),
22
showManagedHover: () => undefined
23
};
24
25
/**
26
* Sets the hover delegate for use **only in the `base/` layer**.
27
*/
28
export function setBaseLayerHoverDelegate(hoverDelegate: IHoverDelegate2): void {
29
baseHoverDelegate = hoverDelegate;
30
}
31
32
/**
33
* Gets the hover delegate for use **only in the `base/` layer**.
34
*
35
* Since the hover service depends on various platform services, this delegate essentially bypasses
36
* the standard dependency injection mechanism by injecting a global hover service at start up. The
37
* only reason this should be used is if `IHoverService` is not available.
38
*/
39
export function getBaseLayerHoverDelegate(): IHoverDelegate2 {
40
return baseHoverDelegate;
41
}
42
43