massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-json / node_modules / vscode-languageserver-protocol / lib / common / protocol.moniker.d.ts
1 import { ProtocolRequestType } from './messages';
2 import { WorkDoneProgressOptions, WorkDoneProgressParams, PartialResultParams, TextDocumentRegistrationOptions, TextDocumentPositionParams } from './protocol';
3 /**
4  * Moniker uniqueness level to define scope of the moniker.
5  *
6  * @since 3.16.0
7  */
8 export declare enum UniquenessLevel {
9     /**
10      * The moniker is only unique inside a document
11      */
12     document = "document",
13     /**
14      * The moniker is unique inside a project for which a dump got created
15      */
16     project = "project",
17     /**
18      * The moniker is unique inside the group to which a project belongs
19      */
20     group = "group",
21     /**
22      * The moniker is unique inside the moniker scheme.
23      */
24     scheme = "scheme",
25     /**
26      * The moniker is globally unique
27      */
28     global = "global"
29 }
30 /**
31  * The moniker kind.
32  *
33  * @since 3.16.0
34  */
35 export declare enum MonikerKind {
36     /**
37      * The moniker represent a symbol that is imported into a project
38      */
39     import = "import",
40     /**
41      * The moniker represents a symbol that is exported from a project
42      */
43     export = "export",
44     /**
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, ...)
47      */
48     local = "local"
49 }
50 /**
51  * Moniker definition to match LSIF 0.5 moniker definition.
52  *
53  * @since 3.16.0
54  */
55 export interface Moniker {
56     /**
57      * The scheme of the moniker. For example tsc or .Net
58      */
59     scheme: string;
60     /**
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.
63      */
64     identifier: string;
65     /**
66      * The scope in which the moniker is unique
67      */
68     unique: UniquenessLevel;
69     /**
70      * The moniker kind if known.
71      */
72     kind?: MonikerKind;
73 }
74 /**
75  * Client capabilities specific to the moniker request.
76  *
77  * @since 3.16.0
78  */
79 export interface MonikerClientCapabilities {
80     /**
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.
84      */
85     dynamicRegistration?: boolean;
86 }
87 export interface MonikerServerCapabilities {
88 }
89 export interface MonikerOptions extends WorkDoneProgressOptions {
90 }
91 export interface MonikerRegistrationOptions extends TextDocumentRegistrationOptions, MonikerOptions {
92 }
93 export interface MonikerParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
94 }
95 /**
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`.
99  */
100 export declare namespace MonikerRequest {
101     const method: 'textDocument/moniker';
102     const type: ProtocolRequestType<MonikerParams, Moniker[] | null, Moniker[], void, MonikerRegistrationOptions>;
103 }