1 import { RequestHandler, HandlerResult, CancellationToken } from 'vscode-jsonrpc';
2 import { ProtocolRequestType } from './messages';
3 import { PartialResultParams } from './protocol';
4 export interface ConfigurationClientCapabilities {
6 * The workspace client capabilities
10 * The client supports `workspace/configuration` requests.
14 configuration?: boolean;
18 * The 'workspace/configuration' request is sent from the server to the client to fetch a certain
19 * configuration setting.
21 * This pull model replaces the old push model were the client signaled configuration change via an
22 * event. If the server still needs to react to configuration changes (since the server caches the
23 * result of `workspace/configuration` requests) the server should register for an empty configuration
24 * change event and empty the cache if such an event is received.
26 export declare namespace ConfigurationRequest {
27 const type: ProtocolRequestType<ConfigurationParams & PartialResultParams, any[], never, void, void>;
28 type HandlerSignature = RequestHandler<ConfigurationParams, any[], void>;
29 type MiddlewareSignature = (params: ConfigurationParams, token: CancellationToken, next: HandlerSignature) => HandlerResult<any[], void>;
31 export interface ConfigurationItem {
33 * The scope to get the configuration section for.
37 * The configuration section asked for.
42 * The parameters of a configuration request.
44 export interface ConfigurationParams {
45 items: ConfigurationItem[];