1 import { RequestHandler } from 'vscode-jsonrpc';
2 import { TextDocumentIdentifier, Position, SelectionRange } from 'vscode-languageserver-types';
3 import { ProtocolRequestType } from './messages';
4 import { TextDocumentRegistrationOptions, WorkDoneProgressOptions, StaticRegistrationOptions, WorkDoneProgressParams, PartialResultParams } from './protocol';
5 export interface SelectionRangeClientCapabilities {
7 * Whether implementation supports dynamic registration for selection range providers. If this is set to `true`
8 * the client supports the new `SelectionRangeRegistrationOptions` return value for the corresponding server
11 dynamicRegistration?: boolean;
13 export interface SelectionRangeOptions extends WorkDoneProgressOptions {
15 export interface SelectionRangeRegistrationOptions extends SelectionRangeOptions, TextDocumentRegistrationOptions, StaticRegistrationOptions {
18 * A parameter literal used in selection range requests.
20 export interface SelectionRangeParams extends WorkDoneProgressParams, PartialResultParams {
24 textDocument: TextDocumentIdentifier;
26 * The positions inside the text document.
28 positions: Position[];
31 * A request to provide selection ranges in a document. The request's
32 * parameter is of type [SelectionRangeParams](#SelectionRangeParams), the
33 * response is of type [SelectionRange[]](#SelectionRange[]) or a Thenable
34 * that resolves to such.
36 export declare namespace SelectionRangeRequest {
37 const method: 'textDocument/selectionRange';
38 const type: ProtocolRequestType<SelectionRangeParams, SelectionRange[] | null, SelectionRange[], any, SelectionRangeRegistrationOptions>;
39 type HandlerSignature = RequestHandler<SelectionRangeParams, SelectionRange[] | null, void>;