1 import { RequestHandler0, NotificationHandler, HandlerResult, CancellationToken } from 'vscode-jsonrpc';
2 import { ProtocolRequestType0, ProtocolNotificationType } from './messages';
3 export interface WorkspaceFoldersInitializeParams {
5 * The actual configured workspace folders.
7 workspaceFolders: WorkspaceFolder[] | null;
9 export interface WorkspaceFoldersClientCapabilities {
11 * The workspace client capabilities
15 * The client has support for workspace folders
19 workspaceFolders?: boolean;
22 export interface WorkspaceFoldersServerCapabilities {
24 * The workspace server capabilities
29 * The Server has support for workspace folders
33 * Whether the server wants to receive workspace folder
34 * change notifications.
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.
41 changeNotifications?: string | boolean;
45 export interface WorkspaceFolder {
47 * The associated URI for this workspace folder.
51 * The name of the workspace folder. Used to refer to this
52 * workspace folder in the user interface.
57 * The `workspace/workspaceFolders` is sent from the server to the client to fetch the open workspace folders.
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>;
65 * The `workspace/didChangeWorkspaceFolders` notification is sent from the client to the server when the workspace
66 * folder configuration changes.
68 export declare namespace DidChangeWorkspaceFoldersNotification {
69 const type: ProtocolNotificationType<DidChangeWorkspaceFoldersParams, void>;
70 type HandlerSignature = NotificationHandler<DidChangeWorkspaceFoldersParams>;
71 type MiddlewareSignature = (params: DidChangeWorkspaceFoldersParams, next: HandlerSignature) => void;
74 * The parameters of a `workspace/didChangeWorkspaceFolders` notification.
76 export interface DidChangeWorkspaceFoldersParams {
78 * The actual workspace folder change event.
80 event: WorkspaceFoldersChangeEvent;
83 * The workspace folder change event.
85 export interface WorkspaceFoldersChangeEvent {
87 * The array of added workspace folders
89 added: WorkspaceFolder[];
91 * The array of the removed workspace folders
93 removed: WorkspaceFolder[];