massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-json / node_modules / vscode-languageserver-protocol / lib / common / protocol.workspaceFolders.d.ts
1 import { RequestHandler0, NotificationHandler, HandlerResult, CancellationToken } from 'vscode-jsonrpc';
2 import { ProtocolRequestType0, ProtocolNotificationType } from './messages';
3 export interface WorkspaceFoldersInitializeParams {
4     /**
5      * The actual configured workspace folders.
6      */
7     workspaceFolders: WorkspaceFolder[] | null;
8 }
9 export interface WorkspaceFoldersClientCapabilities {
10     /**
11      * The workspace client capabilities
12      */
13     workspace?: {
14         /**
15          * The client has support for workspace folders
16          *
17          * @since 3.6.0
18          */
19         workspaceFolders?: boolean;
20     };
21 }
22 export interface WorkspaceFoldersServerCapabilities {
23     /**
24      * The workspace server capabilities
25      */
26     workspace?: {
27         workspaceFolders?: {
28             /**
29              * The Server has support for workspace folders
30              */
31             supported?: boolean;
32             /**
33              * Whether the server wants to receive workspace folder
34              * change notifications.
35              *
36              * If a strings is provided the string is treated as a ID
37              * under which the notification is registered on the client
38              * side. The ID can be used to unregister for these events
39              * using the `client/unregisterCapability` request.
40              */
41             changeNotifications?: string | boolean;
42         };
43     };
44 }
45 export interface WorkspaceFolder {
46     /**
47      * The associated URI for this workspace folder.
48      */
49     uri: string;
50     /**
51      * The name of the workspace folder. Used to refer to this
52      * workspace folder in the user interface.
53      */
54     name: string;
55 }
56 /**
57  * The `workspace/workspaceFolders` is sent from the server to the client to fetch the open workspace folders.
58  */
59 export declare namespace WorkspaceFoldersRequest {
60     const type: ProtocolRequestType0<WorkspaceFolder[] | null, never, void, void>;
61     type HandlerSignature = RequestHandler0<WorkspaceFolder[] | null, void>;
62     type MiddlewareSignature = (token: CancellationToken, next: HandlerSignature) => HandlerResult<WorkspaceFolder[] | null, void>;
63 }
64 /**
65  * The `workspace/didChangeWorkspaceFolders` notification is sent from the client to the server when the workspace
66  * folder configuration changes.
67  */
68 export declare namespace DidChangeWorkspaceFoldersNotification {
69     const type: ProtocolNotificationType<DidChangeWorkspaceFoldersParams, void>;
70     type HandlerSignature = NotificationHandler<DidChangeWorkspaceFoldersParams>;
71     type MiddlewareSignature = (params: DidChangeWorkspaceFoldersParams, next: HandlerSignature) => void;
72 }
73 /**
74  * The parameters of a `workspace/didChangeWorkspaceFolders` notification.
75  */
76 export interface DidChangeWorkspaceFoldersParams {
77     /**
78      * The actual workspace folder change event.
79      */
80     event: WorkspaceFoldersChangeEvent;
81 }
82 /**
83  * The workspace folder change event.
84  */
85 export interface WorkspaceFoldersChangeEvent {
86     /**
87      * The array of added workspace folders
88      */
89     added: WorkspaceFolder[];
90     /**
91      * The array of the removed workspace folders
92      */
93     removed: WorkspaceFolder[];
94 }