UNPKG

2.18 kBTypeScriptView Raw
1import { RequestHandler } from 'vscode-jsonrpc';
2import { Range } from 'vscode-languageserver-types';
3import { MessageDirection, ProtocolRequestType } from './messages';
4import type { StaticRegistrationOptions, TextDocumentPositionParams, TextDocumentRegistrationOptions, WorkDoneProgressOptions, WorkDoneProgressParams } from './protocol';
5/**
6 * Client capabilities for the linked editing range request.
7 *
8 * @since 3.16.0
9 */
10export interface LinkedEditingRangeClientCapabilities {
11 /**
12 * Whether implementation supports dynamic registration. If this is set to `true`
13 * the client supports the new `(TextDocumentRegistrationOptions & StaticRegistrationOptions)`
14 * return value for the corresponding server capability as well.
15 */
16 dynamicRegistration?: boolean;
17}
18export interface LinkedEditingRangeParams extends TextDocumentPositionParams, WorkDoneProgressParams {
19}
20export interface LinkedEditingRangeOptions extends WorkDoneProgressOptions {
21}
22export interface LinkedEditingRangeRegistrationOptions extends TextDocumentRegistrationOptions, LinkedEditingRangeOptions, StaticRegistrationOptions {
23}
24/**
25 * The result of a linked editing range request.
26 *
27 * @since 3.16.0
28 */
29export interface LinkedEditingRanges {
30 /**
31 * A list of ranges that can be edited together. The ranges must have
32 * identical length and contain identical text content. The ranges cannot overlap.
33 */
34 ranges: Range[];
35 /**
36 * An optional word pattern (regular expression) that describes valid contents for
37 * the given ranges. If no pattern is provided, the client configuration's word
38 * pattern will be used.
39 */
40 wordPattern?: string;
41}
42/**
43 * A request to provide ranges that can be edited together.
44 *
45 * @since 3.16.0
46 */
47export declare namespace LinkedEditingRangeRequest {
48 const method: 'textDocument/linkedEditingRange';
49 const messageDirection: MessageDirection;
50 const type: ProtocolRequestType<LinkedEditingRangeParams, LinkedEditingRanges | null, void, void, LinkedEditingRangeRegistrationOptions>;
51 type HandlerSignature = RequestHandler<LinkedEditingRangeParams, LinkedEditingRanges | null, void>;
52}