1 | import { WorkspaceFolder as VWorkspaceFolder, WorkspaceFoldersChangeEvent as VWorkspaceFoldersChangeEvent } from 'vscode';
|
2 | import { DynamicFeature, RegistrationData, FeatureClient, NextSignature, FeatureState } from './features';
|
3 | import { ClientCapabilities, InitializeParams, ServerCapabilities, WorkspaceFoldersRequest, RegistrationType } from 'vscode-languageserver-protocol';
|
4 | export declare function arrayDiff<T>(left: ReadonlyArray<T>, right: ReadonlyArray<T>): T[];
|
5 | export type WorkspaceFolderMiddleware = {
|
6 | workspaceFolders?: WorkspaceFoldersRequest.MiddlewareSignature;
|
7 | didChangeWorkspaceFolders?: NextSignature<VWorkspaceFoldersChangeEvent, Promise<void>>;
|
8 | };
|
9 | type WorkspaceFolderWorkspaceMiddleware = {
|
10 | workspace?: WorkspaceFolderMiddleware;
|
11 | };
|
12 | export 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 | }
|
30 | export {};
|