1 import { ProtocolRequestType } from './messages';
2 import { WorkDoneProgressOptions, WorkDoneProgressParams, PartialResultParams, TextDocumentRegistrationOptions, TextDocumentPositionParams } from './protocol';
4 * Moniker uniqueness level to define scope of the moniker.
8 export declare enum UniquenessLevel {
10 * The moniker is only unique inside a document
12 document = "document",
14 * The moniker is unique inside a project for which a dump got created
18 * The moniker is unique inside the group to which a project belongs
22 * The moniker is unique inside the moniker scheme.
26 * The moniker is globally unique
35 export declare enum MonikerKind {
37 * The moniker represent a symbol that is imported into a project
41 * The moniker represents a symbol that is exported from a project
45 * The moniker represents a symbol that is local to a project (e.g. a local
46 * variable of a function, a class not visible outside the project, ...)
51 * Moniker definition to match LSIF 0.5 moniker definition.
55 export interface Moniker {
57 * The scheme of the moniker. For example tsc or .Net
61 * The identifier of the moniker. The value is opaque in LSIF however
62 * schema owners are allowed to define the structure if they want.
66 * The scope in which the moniker is unique
68 unique: UniquenessLevel;
70 * The moniker kind if known.
75 * Client capabilities specific to the moniker request.
79 export interface MonikerClientCapabilities {
81 * Whether moniker supports dynamic registration. If this is set to `true`
82 * the client supports the new `MonikerRegistrationOptions` return value
83 * for the corresponding server capability as well.
85 dynamicRegistration?: boolean;
87 export interface MonikerServerCapabilities {
89 export interface MonikerOptions extends WorkDoneProgressOptions {
91 export interface MonikerRegistrationOptions extends TextDocumentRegistrationOptions, MonikerOptions {
93 export interface MonikerParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
96 * A request to get the moniker of a symbol at a given text document position.
97 * The request parameter is of type [TextDocumentPositionParams](#TextDocumentPositionParams).
98 * The response is of type [Moniker[]](#Moniker[]) or `null`.
100 export declare namespace MonikerRequest {
101 const method: 'textDocument/moniker';
102 const type: ProtocolRequestType<MonikerParams, Moniker[] | null, Moniker[], void, MonikerRegistrationOptions>;