1 import { RequestHandler } from 'vscode-jsonrpc';
2 import { TextDocumentIdentifier, uinteger, FoldingRange } from 'vscode-languageserver-types';
3 import { ProtocolRequestType } from './messages';
4 import { TextDocumentRegistrationOptions, StaticRegistrationOptions, PartialResultParams, WorkDoneProgressParams, WorkDoneProgressOptions } from './protocol';
5 export interface FoldingRangeClientCapabilities {
7 * Whether implementation supports dynamic registration for folding range providers. If this is set to `true`
8 * the client supports the new `FoldingRangeRegistrationOptions` return value for the corresponding server
11 dynamicRegistration?: boolean;
13 * The maximum number of folding ranges that the client prefers to receive per document. The value serves as a
14 * hint, servers are free to follow the limit.
16 rangeLimit?: uinteger;
18 * If set, the client signals that it only supports folding complete lines. If set, client will
19 * ignore specified `startCharacter` and `endCharacter` properties in a FoldingRange.
21 lineFoldingOnly?: boolean;
23 export interface FoldingRangeOptions extends WorkDoneProgressOptions {
25 export interface FoldingRangeRegistrationOptions extends TextDocumentRegistrationOptions, FoldingRangeOptions, StaticRegistrationOptions {
28 * Enum of known range kinds
30 export declare enum FoldingRangeKind {
32 * Folding range for a comment
36 * Folding range for a imports or includes
40 * Folding range for a region (e.g. `#region`)
45 * Parameters for a [FoldingRangeRequest](#FoldingRangeRequest).
47 export interface FoldingRangeParams extends WorkDoneProgressParams, PartialResultParams {
51 textDocument: TextDocumentIdentifier;
54 * A request to provide folding ranges in a document. The request's
55 * parameter is of type [FoldingRangeParams](#FoldingRangeParams), the
56 * response is of type [FoldingRangeList](#FoldingRangeList) or a Thenable
57 * that resolves to such.
59 export declare namespace FoldingRangeRequest {
60 const method: 'textDocument/foldingRange';
61 const type: ProtocolRequestType<FoldingRangeParams, FoldingRange[] | null, FoldingRange[], any, FoldingRangeRegistrationOptions>;
62 type HandlerSignature = RequestHandler<FoldingRangeParams, FoldingRange[] | null, void>;