UNPKG

1.67 kBTypeScriptView Raw
1import { WorkspaceFolder as VWorkspaceFolder, WorkspaceFoldersChangeEvent as VWorkspaceFoldersChangeEvent } from 'vscode';
2import { DynamicFeature, RegistrationData, FeatureClient, NextSignature, FeatureState } from './features';
3import { ClientCapabilities, InitializeParams, ServerCapabilities, WorkspaceFoldersRequest, RegistrationType } from 'vscode-languageserver-protocol';
4export declare function arrayDiff<T>(left: ReadonlyArray<T>, right: ReadonlyArray<T>): T[];
5export type WorkspaceFolderMiddleware = {
6 workspaceFolders?: WorkspaceFoldersRequest.MiddlewareSignature;
7 didChangeWorkspaceFolders?: NextSignature<VWorkspaceFoldersChangeEvent, Promise<void>>;
8};
9type WorkspaceFolderWorkspaceMiddleware = {
10 workspace?: WorkspaceFolderMiddleware;
11};
12export declare class WorkspaceFoldersFeature implements DynamicFeature<void> {
13 private readonly _client;
14 private readonly _listeners;
15 private _initialFolders;
16 constructor(client: FeatureClient<WorkspaceFolderWorkspaceMiddleware>);
17 getState(): FeatureState;
18 get registrationType(): RegistrationType<void>;
19 fillInitializeParams(params: InitializeParams): void;
20 protected initializeWithFolders(currentWorkspaceFolders: ReadonlyArray<VWorkspaceFolder> | undefined): void;
21 fillClientCapabilities(capabilities: ClientCapabilities): void;
22 initialize(capabilities: ServerCapabilities): void;
23 protected sendInitialEvent(currentWorkspaceFolders: ReadonlyArray<VWorkspaceFolder> | undefined): void;
24 private doSendEvent;
25 register(data: RegistrationData<undefined>): void;
26 unregister(id: string): void;
27 clear(): void;
28 private asProtocol;
29}
30export {};