UNPKG

3.29 kBTypeScriptView Raw
1import { RequestHandler } from 'vscode-jsonrpc';
2import { TypeHierarchyItem } from 'vscode-languageserver-types';
3import { MessageDirection, ProtocolRequestType } from './messages';
4import type { TextDocumentRegistrationOptions, StaticRegistrationOptions, TextDocumentPositionParams, PartialResultParams, WorkDoneProgressParams, WorkDoneProgressOptions } from './protocol';
5/**
6 * @since 3.17.0
7 */
8export type TypeHierarchyClientCapabilities = {
9 /**
10 * Whether implementation supports dynamic registration. If this is set to `true`
11 * the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
12 * return value for the corresponding server capability as well.
13 */
14 dynamicRegistration?: boolean;
15};
16/**
17 * Type hierarchy options used during static registration.
18 *
19 * @since 3.17.0
20 */
21export type TypeHierarchyOptions = WorkDoneProgressOptions;
22/**
23 * Type hierarchy options used during static or dynamic registration.
24 *
25 * @since 3.17.0
26 */
27export type TypeHierarchyRegistrationOptions = TextDocumentRegistrationOptions & TypeHierarchyOptions & StaticRegistrationOptions;
28/**
29 * The parameter of a `textDocument/prepareTypeHierarchy` request.
30 *
31 * @since 3.17.0
32 */
33export type TypeHierarchyPrepareParams = TextDocumentPositionParams & WorkDoneProgressParams;
34/**
35 * A request to result a `TypeHierarchyItem` in a document at a given position.
36 * Can be used as an input to a subtypes or supertypes type hierarchy.
37 *
38 * @since 3.17.0
39 */
40export declare namespace TypeHierarchyPrepareRequest {
41 const method: 'textDocument/prepareTypeHierarchy';
42 const messageDirection: MessageDirection;
43 const type: ProtocolRequestType<TypeHierarchyPrepareParams, TypeHierarchyItem[] | null, never, void, TypeHierarchyRegistrationOptions>;
44 type HandlerSignature = RequestHandler<TypeHierarchyPrepareParams, TypeHierarchyItem[] | null, void>;
45}
46/**
47 * The parameter of a `typeHierarchy/supertypes` request.
48 *
49 * @since 3.17.0
50 */
51export type TypeHierarchySupertypesParams = WorkDoneProgressParams & PartialResultParams & {
52 item: TypeHierarchyItem;
53};
54/**
55 * A request to resolve the supertypes for a given `TypeHierarchyItem`.
56 *
57 * @since 3.17.0
58 */
59export declare namespace TypeHierarchySupertypesRequest {
60 const method: 'typeHierarchy/supertypes';
61 const messageDirection: MessageDirection;
62 const type: ProtocolRequestType<TypeHierarchySupertypesParams, TypeHierarchyItem[] | null, TypeHierarchyItem[], void, void>;
63 type HandlerSignature = RequestHandler<TypeHierarchySupertypesParams, TypeHierarchyItem[] | null, void>;
64}
65/**
66 * The parameter of a `typeHierarchy/subtypes` request.
67 *
68 * @since 3.17.0
69 */
70export type TypeHierarchySubtypesParams = WorkDoneProgressParams & PartialResultParams & {
71 item: TypeHierarchyItem;
72};
73/**
74 * A request to resolve the subtypes for a given `TypeHierarchyItem`.
75 *
76 * @since 3.17.0
77 */
78export declare namespace TypeHierarchySubtypesRequest {
79 const method: 'typeHierarchy/subtypes';
80 const messageDirection: MessageDirection;
81 const type: ProtocolRequestType<TypeHierarchySubtypesParams, TypeHierarchyItem[] | null, TypeHierarchyItem[], void, void>;
82 type HandlerSignature = RequestHandler<TypeHierarchySubtypesParams, TypeHierarchyItem[] | null, void>;
83}