UNPKG

3.5 kBTypeScriptView Raw
1import { RequestHandler } from 'vscode-jsonrpc';
2import { CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall } from 'vscode-languageserver-types';
3import { MessageDirection, ProtocolRequestType } from './messages';
4import type { TextDocumentRegistrationOptions, StaticRegistrationOptions, TextDocumentPositionParams, PartialResultParams, WorkDoneProgressParams, WorkDoneProgressOptions } from './protocol';
5/**
6 * @since 3.16.0
7 */
8export interface CallHierarchyClientCapabilities {
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 * Call hierarchy options used during static registration.
18 *
19 * @since 3.16.0
20 */
21export interface CallHierarchyOptions extends WorkDoneProgressOptions {
22}
23/**
24 * Call hierarchy options used during static or dynamic registration.
25 *
26 * @since 3.16.0
27 */
28export interface CallHierarchyRegistrationOptions extends TextDocumentRegistrationOptions, CallHierarchyOptions, StaticRegistrationOptions {
29}
30/**
31 * The parameter of a `textDocument/prepareCallHierarchy` request.
32 *
33 * @since 3.16.0
34 */
35export interface CallHierarchyPrepareParams extends TextDocumentPositionParams, WorkDoneProgressParams {
36}
37/**
38 * A request to result a `CallHierarchyItem` in a document at a given position.
39 * Can be used as an input to an incoming or outgoing call hierarchy.
40 *
41 * @since 3.16.0
42 */
43export declare namespace CallHierarchyPrepareRequest {
44 const method: 'textDocument/prepareCallHierarchy';
45 const messageDirection: MessageDirection;
46 const type: ProtocolRequestType<CallHierarchyPrepareParams, CallHierarchyItem[] | null, never, void, CallHierarchyRegistrationOptions>;
47 type HandlerSignature = RequestHandler<CallHierarchyPrepareParams, CallHierarchyItem[] | null, void>;
48}
49/**
50 * The parameter of a `callHierarchy/incomingCalls` request.
51 *
52 * @since 3.16.0
53 */
54export interface CallHierarchyIncomingCallsParams extends WorkDoneProgressParams, PartialResultParams {
55 item: CallHierarchyItem;
56}
57/**
58 * A request to resolve the incoming calls for a given `CallHierarchyItem`.
59 *
60 * @since 3.16.0
61 */
62export declare namespace CallHierarchyIncomingCallsRequest {
63 const method: 'callHierarchy/incomingCalls';
64 const messageDirection: MessageDirection;
65 const type: ProtocolRequestType<CallHierarchyIncomingCallsParams, CallHierarchyIncomingCall[] | null, CallHierarchyIncomingCall[], void, void>;
66 type HandlerSignature = RequestHandler<CallHierarchyIncomingCallsParams, CallHierarchyIncomingCall[] | null, void>;
67}
68/**
69 * The parameter of a `callHierarchy/outgoingCalls` request.
70 *
71 * @since 3.16.0
72 */
73export interface CallHierarchyOutgoingCallsParams extends WorkDoneProgressParams, PartialResultParams {
74 item: CallHierarchyItem;
75}
76/**
77 * A request to resolve the outgoing calls for a given `CallHierarchyItem`.
78 *
79 * @since 3.16.0
80 */
81export declare namespace CallHierarchyOutgoingCallsRequest {
82 const method: 'callHierarchy/outgoingCalls';
83 const messageDirection: MessageDirection;
84 const type: ProtocolRequestType<CallHierarchyOutgoingCallsParams, CallHierarchyOutgoingCall[] | null, CallHierarchyOutgoingCall[], void, void>;
85 type HandlerSignature = RequestHandler<CallHierarchyOutgoingCallsParams, CallHierarchyOutgoingCall[] | null, void>;
86}