1 import { ProgressToken } from 'vscode-jsonrpc';
2 import { ProtocolRequestType, ProtocolRequestType0, ProtocolNotificationType, ProtocolNotificationType0 } from './messages';
3 import { Position, Range, Location, LocationLink, Diagnostic, Command, TextEdit, WorkspaceEdit, DocumentUri, TextDocumentIdentifier, VersionedTextDocumentIdentifier, TextDocumentItem, CompletionItem, CompletionList, Hover, SignatureHelp, ReferenceContext, DocumentHighlight, SymbolInformation, CodeLens, CodeActionContext, FormattingOptions, DocumentLink, MarkupKind, SymbolKind, CompletionItemKind, CodeAction, CodeActionKind, DocumentSymbol, CompletionItemTag, DiagnosticTag, SymbolTag, uinteger, integer, InsertTextMode } from 'vscode-languageserver-types';
4 import { ImplementationRequest, ImplementationClientCapabilities, ImplementationOptions, ImplementationRegistrationOptions, ImplementationParams } from './protocol.implementation';
5 import { TypeDefinitionRequest, TypeDefinitionClientCapabilities, TypeDefinitionOptions, TypeDefinitionRegistrationOptions, TypeDefinitionParams } from './protocol.typeDefinition';
6 import { WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, WorkspaceFolder, WorkspaceFoldersChangeEvent, WorkspaceFoldersInitializeParams, WorkspaceFoldersClientCapabilities, WorkspaceFoldersServerCapabilities } from './protocol.workspaceFolders';
7 import { ConfigurationRequest, ConfigurationParams, ConfigurationItem, ConfigurationClientCapabilities } from './protocol.configuration';
8 import { DocumentColorRequest, ColorPresentationRequest, DocumentColorOptions, DocumentColorParams, ColorPresentationParams, DocumentColorClientCapabilities, DocumentColorRegistrationOptions } from './protocol.colorProvider';
9 import { FoldingRangeClientCapabilities, FoldingRangeOptions, FoldingRangeRequest, FoldingRangeParams, FoldingRangeRegistrationOptions } from './protocol.foldingRange';
10 import { DeclarationClientCapabilities, DeclarationRequest, DeclarationOptions, DeclarationRegistrationOptions, DeclarationParams } from './protocol.declaration';
11 import { SelectionRangeClientCapabilities, SelectionRangeOptions, SelectionRangeRequest, SelectionRangeParams, SelectionRangeRegistrationOptions } from './protocol.selectionRange';
12 import { WorkDoneProgressClientCapabilities, WorkDoneProgressBegin, WorkDoneProgressReport, WorkDoneProgressEnd, WorkDoneProgress, WorkDoneProgressCreateParams, WorkDoneProgressCreateRequest, WorkDoneProgressCancelParams, WorkDoneProgressCancelNotification } from './protocol.progress';
13 import { CallHierarchyClientCapabilities, CallHierarchyOptions, CallHierarchyRegistrationOptions, CallHierarchyIncomingCallsParams, CallHierarchyIncomingCallsRequest, CallHierarchyOutgoingCallsParams, CallHierarchyOutgoingCallsRequest, CallHierarchyPrepareParams, CallHierarchyPrepareRequest } from './protocol.callHierarchy';
14 import { SemanticTokenTypes, SemanticTokenModifiers, SemanticTokensLegend, SemanticTokens, SemanticTokensPartialResult, SemanticTokensEdit, SemanticTokensDelta, SemanticTokensDeltaPartialResult, TokenFormat, SemanticTokensClientCapabilities, SemanticTokensOptions, SemanticTokensRegistrationOptions, SemanticTokensParams, SemanticTokensRequest, SemanticTokensDeltaParams, SemanticTokensDeltaRequest, SemanticTokensRangeParams, SemanticTokensRangeRequest, SemanticTokensRefreshRequest, SemanticTokensWorkspaceClientCapabilities, SemanticTokensRegistrationType } from './protocol.semanticTokens';
15 import { ShowDocumentParams, ShowDocumentResult, ShowDocumentRequest, ShowDocumentClientCapabilities } from './protocol.showDocument';
16 import { LinkedEditingRangeClientCapabilities, LinkedEditingRanges, LinkedEditingRangeOptions, LinkedEditingRangeParams, LinkedEditingRangeRegistrationOptions, LinkedEditingRangeRequest } from './protocol.linkedEditingRange';
17 import { FileOperationOptions, FileOperationClientCapabilities, FileOperationRegistrationOptions, FileOperationPatternOptions, FileOperationPatternKind, DidCreateFilesNotification, CreateFilesParams, FileCreate, WillCreateFilesRequest, DidRenameFilesNotification, RenameFilesParams, FileRename, WillRenameFilesRequest, DidDeleteFilesNotification, DeleteFilesParams, FileDelete, WillDeleteFilesRequest } from './protocol.fileOperations';
18 import { UniquenessLevel, MonikerKind, Moniker, MonikerClientCapabilities, MonikerOptions, MonikerRegistrationOptions, MonikerParams, MonikerRequest } from './protocol.moniker';
20 * A document filter denotes a document by different properties like
21 * the [language](#TextDocument.languageId), the [scheme](#Uri.scheme) of
22 * its resource, or a glob-pattern that is applied to the [path](#TextDocument.fileName).
24 * Glob patterns can have the following syntax:
25 * - `*` to match one or more characters in a path segment
26 * - `?` to match on one character in a path segment
27 * - `**` to match any number of path segments, including none
28 * - `{}` to group conditions (e.g. `**/*.{ts,js}` matches all TypeScript and JavaScript files)
29 * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
30 * - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
32 * @sample A language filter that applies to typescript files on disk: `{ language: 'typescript', scheme: 'file' }`
33 * @sample A language filter that applies to all package.json paths: `{ language: 'json', pattern: '**package.json' }`
35 export declare type DocumentFilter = {
36 /** A language id, like `typescript`. */
38 /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
40 /** A glob pattern, like `*.{ts,js}`. */
43 /** A language id, like `typescript`. */
45 /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
47 /** A glob pattern, like `*.{ts,js}`. */
50 /** A language id, like `typescript`. */
52 /** A Uri [scheme](#Uri.scheme), like `file` or `untitled`. */
54 /** A glob pattern, like `*.{ts,js}`. */
58 * The DocumentFilter namespace provides helper functions to work with
59 * [DocumentFilter](#DocumentFilter) literals.
61 export declare namespace DocumentFilter {
62 function is(value: any): value is DocumentFilter;
65 * A document selector is the combination of one or many document filters.
67 * @sample `let sel:DocumentSelector = [{ language: 'typescript' }, { language: 'json', pattern: '**∕tsconfig.json' }]`;
69 * The use of a string as a document filter is deprecated @since 3.16.0.
71 export declare type DocumentSelector = (string | DocumentFilter)[];
73 * The DocumentSelector namespace provides helper functions to work with
74 * [DocumentSelector](#DocumentSelector)s.
76 export declare namespace DocumentSelector {
77 function is(value: any[] | undefined | null): value is DocumentSelector;
80 * General parameters to to register for an notification or to register a provider.
82 export interface Registration {
84 * The id used to register the request. The id can be used to deregister
89 * The method to register for.
93 * Options necessary for the registration.
95 registerOptions?: any;
97 export interface RegistrationParams {
98 registrations: Registration[];
101 * The `client/registerCapability` request is sent from the server to the client to register a new capability
102 * handler on the client side.
104 export declare namespace RegistrationRequest {
105 const type: ProtocolRequestType<RegistrationParams, void, never, void, void>;
108 * General parameters to unregister a request or notification.
110 export interface Unregistration {
112 * The id used to unregister the request or notification. Usually an id
113 * provided during the register request.
117 * The method to unregister for.
121 export interface UnregistrationParams {
122 unregisterations: Unregistration[];
125 * The `client/unregisterCapability` request is sent from the server to the client to unregister a previously registered capability
126 * handler on the client side.
128 export declare namespace UnregistrationRequest {
129 const type: ProtocolRequestType<UnregistrationParams, void, never, void, void>;
131 export interface WorkDoneProgressParams {
133 * An optional token that a server can use to report work done progress.
135 workDoneToken?: ProgressToken;
137 export interface PartialResultParams {
139 * An optional token that a server can use to report partial results (e.g. streaming) to
142 partialResultToken?: ProgressToken;
145 * A parameter literal used in requests to pass a text document and a position inside that
148 export interface TextDocumentPositionParams {
152 textDocument: TextDocumentIdentifier;
154 * The position inside the text document.
159 * The kind of resource operations supported by the client.
161 export declare type ResourceOperationKind = 'create' | 'rename' | 'delete';
162 export declare namespace ResourceOperationKind {
164 * Supports creating new files and folders.
166 const Create: ResourceOperationKind;
168 * Supports renaming existing files and folders.
170 const Rename: ResourceOperationKind;
172 * Supports deleting existing files and folders.
174 const Delete: ResourceOperationKind;
176 export declare type FailureHandlingKind = 'abort' | 'transactional' | 'undo' | 'textOnlyTransactional';
177 export declare namespace FailureHandlingKind {
179 * Applying the workspace change is simply aborted if one of the changes provided
180 * fails. All operations executed before the failing operation stay executed.
182 const Abort: FailureHandlingKind;
184 * All operations are executed transactional. That means they either all
185 * succeed or no changes at all are applied to the workspace.
187 const Transactional: FailureHandlingKind;
189 * If the workspace edit contains only textual file changes they are executed transactional.
190 * If resource changes (create, rename or delete file) are part of the change the failure
191 * handling strategy is abort.
193 const TextOnlyTransactional: FailureHandlingKind;
195 * The client tries to undo the operations already executed. But there is no
196 * guarantee that this is succeeding.
198 const Undo: FailureHandlingKind;
201 * Workspace specific client capabilities.
203 export interface WorkspaceClientCapabilities {
205 * The client supports applying batch edits
206 * to the workspace by supporting the request
207 * 'workspace/applyEdit'
211 * Capabilities specific to `WorkspaceEdit`s
213 workspaceEdit?: WorkspaceEditClientCapabilities;
215 * Capabilities specific to the `workspace/didChangeConfiguration` notification.
217 didChangeConfiguration?: DidChangeConfigurationClientCapabilities;
219 * Capabilities specific to the `workspace/didChangeWatchedFiles` notification.
221 didChangeWatchedFiles?: DidChangeWatchedFilesClientCapabilities;
223 * Capabilities specific to the `workspace/symbol` request.
225 symbol?: WorkspaceSymbolClientCapabilities;
227 * Capabilities specific to the `workspace/executeCommand` request.
229 executeCommand?: ExecuteCommandClientCapabilities;
231 * Capabilities specific to the semantic token requests scoped to the
236 semanticTokens?: SemanticTokensWorkspaceClientCapabilities;
238 * Capabilities specific to the code lens requests scoped to the
243 codeLens?: CodeLensWorkspaceClientCapabilities;
245 * The client has support for file notifications/requests for user operations on files.
249 fileOperations?: FileOperationClientCapabilities;
252 * Text document specific client capabilities.
254 export interface TextDocumentClientCapabilities {
256 * Defines which synchronization capabilities the client supports.
258 synchronization?: TextDocumentSyncClientCapabilities;
260 * Capabilities specific to the `textDocument/completion`
262 completion?: CompletionClientCapabilities;
264 * Capabilities specific to the `textDocument/hover`
266 hover?: HoverClientCapabilities;
268 * Capabilities specific to the `textDocument/signatureHelp`
270 signatureHelp?: SignatureHelpClientCapabilities;
272 * Capabilities specific to the `textDocument/declaration`
276 declaration?: DeclarationClientCapabilities;
278 * Capabilities specific to the `textDocument/definition`
280 definition?: DefinitionClientCapabilities;
282 * Capabilities specific to the `textDocument/typeDefinition`
286 typeDefinition?: TypeDefinitionClientCapabilities;
288 * Capabilities specific to the `textDocument/implementation`
292 implementation?: ImplementationClientCapabilities;
294 * Capabilities specific to the `textDocument/references`
296 references?: ReferenceClientCapabilities;
298 * Capabilities specific to the `textDocument/documentHighlight`
300 documentHighlight?: DocumentHighlightClientCapabilities;
302 * Capabilities specific to the `textDocument/documentSymbol`
304 documentSymbol?: DocumentSymbolClientCapabilities;
306 * Capabilities specific to the `textDocument/codeAction`
308 codeAction?: CodeActionClientCapabilities;
310 * Capabilities specific to the `textDocument/codeLens`
312 codeLens?: CodeLensClientCapabilities;
314 * Capabilities specific to the `textDocument/documentLink`
316 documentLink?: DocumentLinkClientCapabilities;
318 * Capabilities specific to the `textDocument/documentColor`
320 colorProvider?: DocumentColorClientCapabilities;
322 * Capabilities specific to the `textDocument/formatting`
324 formatting?: DocumentFormattingClientCapabilities;
326 * Capabilities specific to the `textDocument/rangeFormatting`
328 rangeFormatting?: DocumentRangeFormattingClientCapabilities;
330 * Capabilities specific to the `textDocument/onTypeFormatting`
332 onTypeFormatting?: DocumentOnTypeFormattingClientCapabilities;
334 * Capabilities specific to the `textDocument/rename`
336 rename?: RenameClientCapabilities;
338 * Capabilities specific to `textDocument/foldingRange` request.
342 foldingRange?: FoldingRangeClientCapabilities;
344 * Capabilities specific to `textDocument/selectionRange` request.
348 selectionRange?: SelectionRangeClientCapabilities;
350 * Capabilities specific to `textDocument/publishDiagnostics` notification.
352 publishDiagnostics?: PublishDiagnosticsClientCapabilities;
354 * Capabilities specific to the various call hierarchy request.
358 callHierarchy?: CallHierarchyClientCapabilities;
360 * Capabilities specific to the various semantic token request.
364 semanticTokens?: SemanticTokensClientCapabilities;
366 * Capabilities specific to the linked editing range request.
370 linkedEditingRange?: LinkedEditingRangeClientCapabilities;
372 * Client capabilities specific to the moniker request.
376 moniker: MonikerClientCapabilities;
378 export interface WindowClientCapabilities {
380 * Whether client supports handling progress notifications. If set
381 * servers are allowed to report in `workDoneProgress` property in the
382 * request specific server capabilities.
386 workDoneProgress?: boolean;
388 * Capabilities specific to the showMessage request.
392 showMessage?: ShowMessageRequestClientCapabilities;
394 * Capabilities specific to the showDocument request.
398 showDocument?: ShowDocumentClientCapabilities;
401 * Client capabilities specific to regular expressions.
405 export interface RegularExpressionsClientCapabilities {
411 * The engine's version.
416 * Client capabilities specific to the used markdown parser.
420 export interface MarkdownClientCapabilities {
422 * The name of the parser.
426 * The version of the parser.
431 * General client capabilities.
435 export interface GeneralClientCapabilities {
437 * Client capabilities specific to regular expressions.
441 regularExpressions?: RegularExpressionsClientCapabilities;
443 * Client capabilities specific to the client's markdown parser.
447 markdown?: MarkdownClientCapabilities;
450 * Defines the capabilities provided by the client.
452 export interface _ClientCapabilities {
454 * Workspace specific client capabilities.
456 workspace?: WorkspaceClientCapabilities;
458 * Text document specific client capabilities.
460 textDocument?: TextDocumentClientCapabilities;
462 * Window specific client capabilities.
464 window?: WindowClientCapabilities;
466 * General client capabilities.
470 general?: GeneralClientCapabilities;
472 * Experimental client capabilities.
474 experimental?: object;
476 export declare type ClientCapabilities = _ClientCapabilities & WorkspaceFoldersClientCapabilities & ConfigurationClientCapabilities & WorkDoneProgressClientCapabilities;
478 * Static registration options to be returned in the initialize
481 export interface StaticRegistrationOptions {
483 * The id used to register the request. The id can be used to deregister
484 * the request again. See also Registration#id.
489 * The StaticRegistrationOptions namespace provides helper functions to work with
490 * [StaticRegistrationOptions](#StaticRegistrationOptions) literals.
492 export declare namespace StaticRegistrationOptions {
493 function hasId(value: object): value is {
498 * General text document registration options.
500 export interface TextDocumentRegistrationOptions {
502 * A document selector to identify the scope of the registration. If set to null
503 * the document selector provided on the client side will be used.
505 documentSelector: DocumentSelector | null;
508 * The TextDocumentRegistrationOptions namespace provides helper functions to work with
509 * [TextDocumentRegistrationOptions](#TextDocumentRegistrationOptions) literals.
511 export declare namespace TextDocumentRegistrationOptions {
512 function is(value: any): value is TextDocumentRegistrationOptions;
517 export interface SaveOptions {
519 * The client is supposed to include the content on save.
521 includeText?: boolean;
523 export interface WorkDoneProgressOptions {
524 workDoneProgress?: boolean;
527 * The WorkDoneProgressOptions namespace provides helper functions to work with
528 * [WorkDoneProgressOptions](#WorkDoneProgressOptions) literals.
530 export declare namespace WorkDoneProgressOptions {
531 function is(value: any): value is WorkDoneProgressOptions;
532 function hasWorkDoneProgress(value: any): value is {
533 workDoneProgress: boolean;
537 * Defines the capabilities provided by a language
540 export interface _ServerCapabilities<T = any> {
542 * Defines how text documents are synced. Is either a detailed structure defining each notification or
543 * for backwards compatibility the TextDocumentSyncKind number.
545 textDocumentSync?: TextDocumentSyncOptions | TextDocumentSyncKind;
547 * The server provides completion support.
549 completionProvider?: CompletionOptions;
551 * The server provides hover support.
553 hoverProvider?: boolean | HoverOptions;
555 * The server provides signature help support.
557 signatureHelpProvider?: SignatureHelpOptions;
559 * The server provides Goto Declaration support.
561 declarationProvider?: boolean | DeclarationOptions | DeclarationRegistrationOptions;
563 * The server provides goto definition support.
565 definitionProvider?: boolean | DefinitionOptions;
567 * The server provides Goto Type Definition support.
569 typeDefinitionProvider?: boolean | TypeDefinitionOptions | TypeDefinitionRegistrationOptions;
571 * The server provides Goto Implementation support.
573 implementationProvider?: boolean | ImplementationOptions | ImplementationRegistrationOptions;
575 * The server provides find references support.
577 referencesProvider?: boolean | ReferenceOptions;
579 * The server provides document highlight support.
581 documentHighlightProvider?: boolean | DocumentHighlightOptions;
583 * The server provides document symbol support.
585 documentSymbolProvider?: boolean | DocumentSymbolOptions;
587 * The server provides code actions. CodeActionOptions may only be
588 * specified if the client states that it supports
589 * `codeActionLiteralSupport` in its initial `initialize` request.
591 codeActionProvider?: boolean | CodeActionOptions;
593 * The server provides code lens.
595 codeLensProvider?: CodeLensOptions;
597 * The server provides document link support.
599 documentLinkProvider?: DocumentLinkOptions;
601 * The server provides color provider support.
603 colorProvider?: boolean | DocumentColorOptions | DocumentColorRegistrationOptions;
605 * The server provides workspace symbol support.
607 workspaceSymbolProvider?: boolean | WorkspaceSymbolOptions;
609 * The server provides document formatting.
611 documentFormattingProvider?: boolean | DocumentFormattingOptions;
613 * The server provides document range formatting.
615 documentRangeFormattingProvider?: boolean | DocumentRangeFormattingOptions;
617 * The server provides document formatting on typing.
619 documentOnTypeFormattingProvider?: DocumentOnTypeFormattingOptions;
621 * The server provides rename support. RenameOptions may only be
622 * specified if the client states that it supports
623 * `prepareSupport` in its initial `initialize` request.
625 renameProvider?: boolean | RenameOptions;
627 * The server provides folding provider support.
629 foldingRangeProvider?: boolean | FoldingRangeOptions | FoldingRangeRegistrationOptions;
631 * The server provides selection range support.
633 selectionRangeProvider?: boolean | SelectionRangeOptions | SelectionRangeRegistrationOptions;
635 * The server provides execute command support.
637 executeCommandProvider?: ExecuteCommandOptions;
639 * The server provides call hierarchy support.
643 callHierarchyProvider?: boolean | CallHierarchyOptions | CallHierarchyRegistrationOptions;
645 * The server provides linked editing range support.
649 linkedEditingRangeProvider?: boolean | LinkedEditingRangeOptions | LinkedEditingRangeRegistrationOptions;
651 * The server provides semantic tokens support.
655 semanticTokensProvider?: SemanticTokensOptions | SemanticTokensRegistrationOptions;
657 * Window specific server capabilities.
661 * The server is interested in notifications/requests for operations on files.
665 fileOperations?: FileOperationOptions;
668 * The server provides moniker support.
672 monikerProvider?: boolean | MonikerOptions | MonikerRegistrationOptions;
674 * Experimental server capabilities.
678 export declare type ServerCapabilities<T = any> = _ServerCapabilities<T> & WorkspaceFoldersServerCapabilities;
680 * The initialize request is sent from the client to the server.
681 * It is sent once as the request after starting up the server.
682 * The requests parameter is of type [InitializeParams](#InitializeParams)
683 * the response if of type [InitializeResult](#InitializeResult) of a Thenable that
686 export declare namespace InitializeRequest {
687 const type: ProtocolRequestType<_InitializeParams & WorkspaceFoldersInitializeParams & WorkDoneProgressParams, InitializeResult<any>, never, InitializeError, void>;
690 * The initialize parameters
692 export interface _InitializeParams extends WorkDoneProgressParams {
694 * The process Id of the parent process that started
697 processId: integer | null;
699 * Information about the client
705 * The name of the client as defined by the client.
709 * The client's version as defined by the client.
714 * The locale the client is currently showing the user interface
715 * in. This must not necessarily be the locale of the operating
718 * Uses IETF language tags as the value's syntax
719 * (See https://en.wikipedia.org/wiki/IETF_language_tag)
725 * The rootPath of the workspace. Is null
726 * if no folder is open.
728 * @deprecated in favour of rootUri.
730 rootPath?: string | null;
732 * The rootUri of the workspace. Is null if no
733 * folder is open. If both `rootPath` and `rootUri` are set
736 * @deprecated in favour of workspaceFolders.
738 rootUri: DocumentUri | null;
740 * The capabilities provided by the client (editor or tool)
742 capabilities: ClientCapabilities;
744 * User provided initialization options.
746 initializationOptions?: any;
748 * The initial trace setting. If omitted trace is disabled ('off').
750 trace?: 'off' | 'messages' | 'verbose';
752 export declare type InitializeParams = _InitializeParams & WorkspaceFoldersInitializeParams;
754 * The result returned from an initialize request.
756 export interface InitializeResult<T = any> {
758 * The capabilities the language server provides.
760 capabilities: ServerCapabilities<T>;
762 * Information about the server.
768 * The name of the server as defined by the server.
772 * The server's version as defined by the server.
777 * Custom initialization results.
779 [custom: string]: any;
782 * Known error codes for an `InitializeError`;
784 export declare namespace InitializeError {
786 * If the protocol version provided by the client can't be handled by the server.
787 * @deprecated This initialize error got replaced by client capabilities. There is
788 * no version handshake in version 3.0x
790 const unknownProtocolVersion: 1;
793 * The data type of the ResponseError if the
794 * initialize request fails.
796 export interface InitializeError {
798 * Indicates whether the client execute the following retry logic:
799 * (1) show the message provided by the ResponseError to the user
800 * (2) user selects retry or cancel
801 * (3) if user selected retry the initialize method is sent again.
805 export interface InitializedParams {
808 * The initialized notification is sent from the client to the
809 * server after the client is fully initialized and the server
810 * is allowed to send requests from the server to the client.
812 export declare namespace InitializedNotification {
813 const type: ProtocolNotificationType<InitializedParams, void>;
816 * A shutdown request is sent from the client to the server.
817 * It is sent once when the client decides to shutdown the
818 * server. The only notification that is sent after a shutdown request
821 export declare namespace ShutdownRequest {
822 const type: ProtocolRequestType0<void, never, void, void>;
825 * The exit event is sent from the client to the server to
826 * ask the server to exit its process.
828 export declare namespace ExitNotification {
829 const type: ProtocolNotificationType0<void>;
831 export interface DidChangeConfigurationClientCapabilities {
833 * Did change configuration notification supports dynamic registration.
835 dynamicRegistration?: boolean;
838 * The configuration change notification is sent from the client to the server
839 * when the client's configuration has changed. The notification contains
840 * the changed configuration as defined by the language client.
842 export declare namespace DidChangeConfigurationNotification {
843 const type: ProtocolNotificationType<DidChangeConfigurationParams, DidChangeConfigurationRegistrationOptions>;
845 export interface DidChangeConfigurationRegistrationOptions {
846 section?: string | string[];
849 * The parameters of a change configuration notification.
851 export interface DidChangeConfigurationParams {
853 * The actual changed settings
860 export declare namespace MessageType {
870 * An information message.
878 export declare type MessageType = 1 | 2 | 3 | 4;
880 * The parameters of a notification message.
882 export interface ShowMessageParams {
884 * The message type. See {@link MessageType}
893 * The show message notification is sent from a server to a client to ask
894 * the client to display a particular message in the user interface.
896 export declare namespace ShowMessageNotification {
897 const type: ProtocolNotificationType<ShowMessageParams, void>;
900 * Show message request client capabilities
902 export interface ShowMessageRequestClientCapabilities {
904 * Capabilities specific to the `MessageActionItem` type.
906 messageActionItem?: {
908 * Whether the client supports additional attributes which
909 * are preserved and send back to the server in the
910 * request's response.
912 additionalPropertiesSupport?: boolean;
915 export interface MessageActionItem {
917 * A short title like 'Retry', 'Open Log' etc.
921 * Additional attributes that the client preserves and
922 * sends back to the server. This depends on the client
923 * capability window.messageActionItem.additionalPropertiesSupport
925 [key: string]: string | boolean | integer | object;
927 export interface ShowMessageRequestParams {
929 * The message type. See {@link MessageType}
937 * The message action items to present.
939 actions?: MessageActionItem[];
942 * The show message request is sent from the server to the client to show a message
943 * and a set of options actions to the user.
945 export declare namespace ShowMessageRequest {
946 const type: ProtocolRequestType<ShowMessageRequestParams, MessageActionItem | null, never, void, void>;
949 * The log message notification is sent from the server to the client to ask
950 * the client to log a particular message.
952 export declare namespace LogMessageNotification {
953 const type: ProtocolNotificationType<LogMessageParams, void>;
956 * The log message parameters.
958 export interface LogMessageParams {
960 * The message type. See {@link MessageType}
969 * The telemetry event notification is sent from the server to the client to ask
970 * the client to log telemetry data.
972 export declare namespace TelemetryEventNotification {
973 const type: ProtocolNotificationType<any, void>;
975 export interface TextDocumentSyncClientCapabilities {
977 * Whether text document synchronization supports dynamic registration.
979 dynamicRegistration?: boolean;
981 * The client supports sending will save notifications.
985 * The client supports sending a will save request and
986 * waits for a response providing text edits which will
987 * be applied to the document before it is saved.
989 willSaveWaitUntil?: boolean;
991 * The client supports did save notifications.
996 * Defines how the host (editor) should sync
997 * document changes to the language server.
999 export declare namespace TextDocumentSyncKind {
1001 * Documents should not be synced at all.
1005 * Documents are synced by always sending the full content
1010 * Documents are synced by sending the full content on open.
1011 * After that only incremental updates to the document are
1014 const Incremental = 2;
1016 export declare type TextDocumentSyncKind = 0 | 1 | 2;
1017 export interface TextDocumentSyncOptions {
1019 * Open and close notifications are sent to the server. If omitted open close notification should not
1022 openClose?: boolean;
1024 * Change notifications are sent to the server. See TextDocumentSyncKind.None, TextDocumentSyncKind.Full
1025 * and TextDocumentSyncKind.Incremental. If omitted it defaults to TextDocumentSyncKind.None.
1027 change?: TextDocumentSyncKind;
1029 * If present will save notifications are sent to the server. If omitted the notification should not be
1034 * If present will save wait until requests are sent to the server. If omitted the request should not be
1037 willSaveWaitUntil?: boolean;
1039 * If present save notifications are sent to the server. If omitted the notification should not be
1042 save?: boolean | SaveOptions;
1045 * The parameters send in a open text document notification
1047 export interface DidOpenTextDocumentParams {
1049 * The document that was opened.
1051 textDocument: TextDocumentItem;
1054 * The document open notification is sent from the client to the server to signal
1055 * newly opened text documents. The document's truth is now managed by the client
1056 * and the server must not try to read the document's truth using the document's
1057 * uri. Open in this sense means it is managed by the client. It doesn't necessarily
1058 * mean that its content is presented in an editor. An open notification must not
1059 * be sent more than once without a corresponding close notification send before.
1060 * This means open and close notification must be balanced and the max open count
1063 export declare namespace DidOpenTextDocumentNotification {
1064 const method: 'textDocument/didOpen';
1065 const type: ProtocolNotificationType<DidOpenTextDocumentParams, TextDocumentRegistrationOptions>;
1068 * An event describing a change to a text document. If range and rangeLength are omitted
1069 * the new text is considered to be the full content of the document.
1071 export declare type TextDocumentContentChangeEvent = {
1073 * The range of the document that changed.
1077 * The optional length of the range that got replaced.
1079 * @deprecated use range instead.
1081 rangeLength?: uinteger;
1083 * The new text for the provided range.
1088 * The new text of the whole document.
1092 export declare namespace TextDocumentContentChangeEvent {
1094 * Checks whether the information describes a delta event.
1096 function isIncremental(event: TextDocumentContentChangeEvent): event is {
1098 rangeLength?: uinteger;
1102 * Checks whether the information describes a full replacement event.
1104 function isFull(event: TextDocumentContentChangeEvent): event is {
1109 * The change text document notification's parameters.
1111 export interface DidChangeTextDocumentParams {
1113 * The document that did change. The version number points
1114 * to the version after all provided content changes have
1117 textDocument: VersionedTextDocumentIdentifier;
1119 * The actual content changes. The content changes describe single state changes
1120 * to the document. So if there are two content changes c1 (at array index 0) and
1121 * c2 (at array index 1) for a document in state S then c1 moves the document from
1122 * S to S' and c2 from S' to S''. So c1 is computed on the state S and c2 is computed
1125 * To mirror the content of a document using change events use the following approach:
1126 * - start with the same initial content
1127 * - apply the 'textDocument/didChange' notifications in the order you receive them.
1128 * - apply the `TextDocumentContentChangeEvent`s in a single notification in the order
1131 contentChanges: TextDocumentContentChangeEvent[];
1134 * Describe options to be used when registered for text document change events.
1136 export interface TextDocumentChangeRegistrationOptions extends TextDocumentRegistrationOptions {
1138 * How documents are synced to the server.
1140 syncKind: TextDocumentSyncKind;
1143 * The document change notification is sent from the client to the server to signal
1144 * changes to a text document.
1146 export declare namespace DidChangeTextDocumentNotification {
1147 const method: 'textDocument/didChange';
1148 const type: ProtocolNotificationType<DidChangeTextDocumentParams, TextDocumentChangeRegistrationOptions>;
1151 * The parameters send in a close text document notification
1153 export interface DidCloseTextDocumentParams {
1155 * The document that was closed.
1157 textDocument: TextDocumentIdentifier;
1160 * The document close notification is sent from the client to the server when
1161 * the document got closed in the client. The document's truth now exists where
1162 * the document's uri points to (e.g. if the document's uri is a file uri the
1163 * truth now exists on disk). As with the open notification the close notification
1164 * is about managing the document's content. Receiving a close notification
1165 * doesn't mean that the document was open in an editor before. A close
1166 * notification requires a previous open notification to be sent.
1168 export declare namespace DidCloseTextDocumentNotification {
1169 const method: 'textDocument/didClose';
1170 const type: ProtocolNotificationType<DidCloseTextDocumentParams, TextDocumentRegistrationOptions>;
1173 * The parameters send in a save text document notification
1175 export interface DidSaveTextDocumentParams {
1177 * The document that was closed.
1179 textDocument: TextDocumentIdentifier;
1181 * Optional the content when saved. Depends on the includeText value
1182 * when the save notification was requested.
1187 * Save registration options.
1189 export interface TextDocumentSaveRegistrationOptions extends TextDocumentRegistrationOptions, SaveOptions {
1192 * The document save notification is sent from the client to the server when
1193 * the document got saved in the client.
1195 export declare namespace DidSaveTextDocumentNotification {
1196 const method: 'textDocument/didSave';
1197 const type: ProtocolNotificationType<DidSaveTextDocumentParams, TextDocumentSaveRegistrationOptions>;
1200 * Represents reasons why a text document is saved.
1202 export declare namespace TextDocumentSaveReason {
1204 * Manually triggered, e.g. by the user pressing save, by starting debugging,
1205 * or by an API call.
1209 * Automatic after a delay.
1211 const AfterDelay: 2;
1213 * When the editor lost focus.
1217 export declare type TextDocumentSaveReason = 1 | 2 | 3;
1219 * The parameters send in a will save text document notification.
1221 export interface WillSaveTextDocumentParams {
1223 * The document that will be saved.
1225 textDocument: TextDocumentIdentifier;
1227 * The 'TextDocumentSaveReason'.
1229 reason: TextDocumentSaveReason;
1232 * A document will save notification is sent from the client to the server before
1233 * the document is actually saved.
1235 export declare namespace WillSaveTextDocumentNotification {
1236 const method: 'textDocument/willSave';
1237 const type: ProtocolNotificationType<WillSaveTextDocumentParams, TextDocumentRegistrationOptions>;
1240 * A document will save request is sent from the client to the server before
1241 * the document is actually saved. The request can return an array of TextEdits
1242 * which will be applied to the text document before it is saved. Please note that
1243 * clients might drop results if computing the text edits took too long or if a
1244 * server constantly fails on this request. This is done to keep the save fast and
1247 export declare namespace WillSaveTextDocumentWaitUntilRequest {
1248 const method: 'textDocument/willSaveWaitUntil';
1249 const type: ProtocolRequestType<WillSaveTextDocumentParams, TextEdit[] | null, never, void, TextDocumentRegistrationOptions>;
1251 export interface DidChangeWatchedFilesClientCapabilities {
1253 * Did change watched files notification supports dynamic registration. Please note
1254 * that the current protocol doesn't support static configuration for file changes
1255 * from the server side.
1257 dynamicRegistration?: boolean;
1260 * The watched files notification is sent from the client to the server when
1261 * the client detects changes to file watched by the language client.
1263 export declare namespace DidChangeWatchedFilesNotification {
1264 const type: ProtocolNotificationType<DidChangeWatchedFilesParams, DidChangeWatchedFilesRegistrationOptions>;
1267 * The watched files change notification's parameters.
1269 export interface DidChangeWatchedFilesParams {
1271 * The actual file events.
1273 changes: FileEvent[];
1276 * The file event type
1278 export declare namespace FileChangeType {
1280 * The file got created.
1284 * The file got changed.
1288 * The file got deleted.
1292 export declare type FileChangeType = 1 | 2 | 3;
1294 * An event describing a file change.
1296 export interface FileEvent {
1304 type: FileChangeType;
1307 * Describe options to be used when registered for text document change events.
1309 export interface DidChangeWatchedFilesRegistrationOptions {
1311 * The watchers to register.
1313 watchers: FileSystemWatcher[];
1315 export interface FileSystemWatcher {
1317 * The glob pattern to watch. Glob patterns can have the following syntax:
1318 * - `*` to match one or more characters in a path segment
1319 * - `?` to match on one character in a path segment
1320 * - `**` to match any number of path segments, including none
1321 * - `{}` to group conditions (e.g. `**/*.{ts,js}` matches all TypeScript and JavaScript files)
1322 * - `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
1323 * - `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
1325 globPattern: string;
1327 * The kind of events of interest. If omitted it defaults
1328 * to WatchKind.Create | WatchKind.Change | WatchKind.Delete
1333 export declare namespace WatchKind {
1335 * Interested in create events.
1339 * Interested in change events
1343 * Interested in delete events
1348 * The publish diagnostic client capabilities.
1350 export interface PublishDiagnosticsClientCapabilities {
1352 * Whether the clients accepts diagnostics with related information.
1354 relatedInformation?: boolean;
1356 * Client supports the tag property to provide meta data about a diagnostic.
1357 * Clients supporting tags have to handle unknown tags gracefully.
1363 * The tags supported by the client.
1365 valueSet: DiagnosticTag[];
1368 * Whether the client interprets the version property of the
1369 * `textDocument/publishDiagnostics` notification`s parameter.
1373 versionSupport?: boolean;
1375 * Client supports a codeDescription property
1379 codeDescriptionSupport?: boolean;
1381 * Whether code action supports the `data` property which is
1382 * preserved between a `textDocument/publishDiagnostics` and
1383 * `textDocument/codeAction` request.
1387 dataSupport?: boolean;
1390 * The publish diagnostic notification's parameters.
1392 export interface PublishDiagnosticsParams {
1394 * The URI for which diagnostic information is reported.
1398 * Optional the version number of the document the diagnostics are published for.
1404 * An array of diagnostic information items.
1406 diagnostics: Diagnostic[];
1409 * Diagnostics notification are sent from the server to the client to signal
1410 * results of validation runs.
1412 export declare namespace PublishDiagnosticsNotification {
1413 const type: ProtocolNotificationType<PublishDiagnosticsParams, void>;
1416 * Completion client capabilities
1418 export interface CompletionClientCapabilities {
1420 * Whether completion supports dynamic registration.
1422 dynamicRegistration?: boolean;
1424 * The client supports the following `CompletionItem` specific
1429 * Client supports snippets as insert text.
1431 * A snippet can define tab stops and placeholders with `$1`, `$2`
1432 * and `${3:foo}`. `$0` defines the final tab stop, it defaults to
1433 * the end of the snippet. Placeholders with equal identifiers are linked,
1434 * that is typing in one will update others too.
1436 snippetSupport?: boolean;
1438 * Client supports commit characters on a completion item.
1440 commitCharactersSupport?: boolean;
1442 * Client supports the follow content formats for the documentation
1443 * property. The order describes the preferred format of the client.
1445 documentationFormat?: MarkupKind[];
1447 * Client supports the deprecated property on a completion item.
1449 deprecatedSupport?: boolean;
1451 * Client supports the preselect property on a completion item.
1453 preselectSupport?: boolean;
1455 * Client supports to kee
1458 * Client supports the tag property on a completion item. Clients supporting
1459 * tags have to handle unknown tags gracefully. Clients especially need to
1460 * preserve unknown tags when sending a completion item back to the server in
1467 * The tags supported by the client.
1469 valueSet: CompletionItemTag[];
1472 * Client support insert replace edit to control different behavior if a
1473 * completion item is inserted in the text or should replace text.
1477 insertReplaceSupport?: boolean;
1479 * Indicates which properties a client can resolve lazily on a completion
1480 * item. Before version 3.16.0 only the predefined properties `documentation`
1481 * and `details` could be resolved lazily.
1487 * The properties that a client can resolve lazily.
1489 properties: string[];
1492 * The client supports the `insertTextMode` property on
1493 * a completion item to override the whitespace handling mode
1494 * as defined by the client (see `insertTextMode`).
1498 insertTextModeSupport?: {
1499 valueSet: InsertTextMode[];
1502 completionItemKind?: {
1504 * The completion item kind values the client supports. When this
1505 * property exists the client also guarantees that it will
1506 * handle values outside its set gracefully and falls back
1507 * to a default value when unknown.
1509 * If this property is not present the client only supports
1510 * the completion items kinds from `Text` to `Reference` as defined in
1511 * the initial version of the protocol.
1513 valueSet?: CompletionItemKind[];
1516 * Defines how the client handles whitespace and indentation
1517 * when accepting a completion item that uses multi line
1518 * text in either `insertText` or `textEdit`.
1522 insertTextMode?: InsertTextMode;
1524 * The client supports to send additional context information for a
1525 * `textDocument/completion` request.
1527 contextSupport?: boolean;
1530 * How a completion was triggered
1532 export declare namespace CompletionTriggerKind {
1534 * Completion was triggered by typing an identifier (24x7 code
1535 * complete), manual invocation (e.g Ctrl+Space) or via API.
1539 * Completion was triggered by a trigger character specified by
1540 * the `triggerCharacters` properties of the `CompletionRegistrationOptions`.
1542 const TriggerCharacter: 2;
1544 * Completion was re-triggered as current completion list is incomplete
1546 const TriggerForIncompleteCompletions: 3;
1548 export declare type CompletionTriggerKind = 1 | 2 | 3;
1550 * Contains additional information about the context in which a completion request is triggered.
1552 export interface CompletionContext {
1554 * How the completion was triggered.
1556 triggerKind: CompletionTriggerKind;
1558 * The trigger character (a single character) that has trigger code complete.
1559 * Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter`
1561 triggerCharacter?: string;
1564 * Completion parameters
1566 export interface CompletionParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
1568 * The completion context. This is only available it the client specifies
1569 * to send this using the client capability `textDocument.completion.contextSupport === true`
1571 context?: CompletionContext;
1574 * Completion options.
1576 export interface CompletionOptions extends WorkDoneProgressOptions {
1578 * Most tools trigger completion request automatically without explicitly requesting
1579 * it using a keyboard shortcut (e.g. Ctrl+Space). Typically they do so when the user
1580 * starts to type an identifier. For example if the user types `c` in a JavaScript file
1581 * code complete will automatically pop up present `console` besides others as a
1582 * completion item. Characters that make up identifiers don't need to be listed here.
1584 * If code complete should automatically be trigger on characters not being valid inside
1585 * an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
1587 triggerCharacters?: string[];
1589 * The list of all possible characters that commit a completion. This field can be used
1590 * if clients don't support individual commit characters per completion item. See
1591 * `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`
1593 * If a server provides both `allCommitCharacters` and commit characters on an individual
1594 * completion item the ones on the completion item win.
1598 allCommitCharacters?: string[];
1600 * The server provides support to resolve additional
1601 * information for a completion item.
1603 resolveProvider?: boolean;
1606 * Registration options for a [CompletionRequest](#CompletionRequest).
1608 export interface CompletionRegistrationOptions extends TextDocumentRegistrationOptions, CompletionOptions {
1611 * Request to request completion at a given text document position. The request's
1612 * parameter is of type [TextDocumentPosition](#TextDocumentPosition) the response
1613 * is of type [CompletionItem[]](#CompletionItem) or [CompletionList](#CompletionList)
1614 * or a Thenable that resolves to such.
1616 * The request can delay the computation of the [`detail`](#CompletionItem.detail)
1617 * and [`documentation`](#CompletionItem.documentation) properties to the `completionItem/resolve`
1618 * request. However, properties that are needed for the initial sorting and filtering, like `sortText`,
1619 * `filterText`, `insertText`, and `textEdit`, must not be changed during resolve.
1621 export declare namespace CompletionRequest {
1622 const method: 'textDocument/completion';
1623 const type: ProtocolRequestType<CompletionParams, CompletionList | CompletionItem[] | null, CompletionItem[], void, CompletionRegistrationOptions>;
1626 * Request to resolve additional information for a given completion item.The request's
1627 * parameter is of type [CompletionItem](#CompletionItem) the response
1628 * is of type [CompletionItem](#CompletionItem) or a Thenable that resolves to such.
1630 export declare namespace CompletionResolveRequest {
1631 const method: 'completionItem/resolve';
1632 const type: ProtocolRequestType<CompletionItem, CompletionItem, never, void, void>;
1634 export interface HoverClientCapabilities {
1636 * Whether hover supports dynamic registration.
1638 dynamicRegistration?: boolean;
1640 * Client supports the follow content formats for the content
1641 * property. The order describes the preferred format of the client.
1643 contentFormat?: MarkupKind[];
1648 export interface HoverOptions extends WorkDoneProgressOptions {
1651 * Parameters for a [HoverRequest](#HoverRequest).
1653 export interface HoverParams extends TextDocumentPositionParams, WorkDoneProgressParams {
1656 * Registration options for a [HoverRequest](#HoverRequest).
1658 export interface HoverRegistrationOptions extends TextDocumentRegistrationOptions, HoverOptions {
1661 * Request to request hover information at a given text document position. The request's
1662 * parameter is of type [TextDocumentPosition](#TextDocumentPosition) the response is of
1663 * type [Hover](#Hover) or a Thenable that resolves to such.
1665 export declare namespace HoverRequest {
1666 const method: 'textDocument/hover';
1667 const type: ProtocolRequestType<HoverParams, Hover | null, never, void, HoverRegistrationOptions>;
1670 * Client Capabilities for a [SignatureHelpRequest](#SignatureHelpRequest).
1672 export interface SignatureHelpClientCapabilities {
1674 * Whether signature help supports dynamic registration.
1676 dynamicRegistration?: boolean;
1678 * The client supports the following `SignatureInformation`
1679 * specific properties.
1681 signatureInformation?: {
1683 * Client supports the follow content formats for the documentation
1684 * property. The order describes the preferred format of the client.
1686 documentationFormat?: MarkupKind[];
1688 * Client capabilities specific to parameter information.
1690 parameterInformation?: {
1692 * The client supports processing label offsets instead of a
1693 * simple label string.
1697 labelOffsetSupport?: boolean;
1700 * The client support the `activeParameter` property on `SignatureInformation`
1705 activeParameterSupport?: boolean;
1708 * The client supports to send additional context information for a
1709 * `textDocument/signatureHelp` request. A client that opts into
1710 * contextSupport will also support the `retriggerCharacters` on
1711 * `SignatureHelpOptions`.
1715 contextSupport?: boolean;
1718 * Server Capabilities for a [SignatureHelpRequest](#SignatureHelpRequest).
1720 export interface SignatureHelpOptions extends WorkDoneProgressOptions {
1722 * List of characters that trigger signature help.
1724 triggerCharacters?: string[];
1726 * List of characters that re-trigger signature help.
1728 * These trigger characters are only active when signature help is already showing. All trigger characters
1729 * are also counted as re-trigger characters.
1733 retriggerCharacters?: string[];
1736 * How a signature help was triggered.
1740 export declare namespace SignatureHelpTriggerKind {
1742 * Signature help was invoked manually by the user or by a command.
1746 * Signature help was triggered by a trigger character.
1748 const TriggerCharacter: 2;
1750 * Signature help was triggered by the cursor moving or by the document content changing.
1752 const ContentChange: 3;
1754 export declare type SignatureHelpTriggerKind = 1 | 2 | 3;
1756 * Additional information about the context in which a signature help request was triggered.
1760 export interface SignatureHelpContext {
1762 * Action that caused signature help to be triggered.
1764 triggerKind: SignatureHelpTriggerKind;
1766 * Character that caused signature help to be triggered.
1768 * This is undefined when `triggerKind !== SignatureHelpTriggerKind.TriggerCharacter`
1770 triggerCharacter?: string;
1772 * `true` if signature help was already showing when it was triggered.
1774 * Retrigger occurs when the signature help is already active and can be caused by actions such as
1775 * typing a trigger character, a cursor move, or document content changes.
1777 isRetrigger: boolean;
1779 * The currently active `SignatureHelp`.
1781 * The `activeSignatureHelp` has its `SignatureHelp.activeSignature` field updated based on
1782 * the user navigating through available signatures.
1784 activeSignatureHelp?: SignatureHelp;
1787 * Parameters for a [SignatureHelpRequest](#SignatureHelpRequest).
1789 export interface SignatureHelpParams extends TextDocumentPositionParams, WorkDoneProgressParams {
1791 * The signature help context. This is only available if the client specifies
1792 * to send this using the client capability `textDocument.signatureHelp.contextSupport === true`
1796 context?: SignatureHelpContext;
1799 * Registration options for a [SignatureHelpRequest](#SignatureHelpRequest).
1801 export interface SignatureHelpRegistrationOptions extends TextDocumentRegistrationOptions, SignatureHelpOptions {
1803 export declare namespace SignatureHelpRequest {
1804 const method: 'textDocument/signatureHelp';
1805 const type: ProtocolRequestType<SignatureHelpParams, SignatureHelp | null, never, void, SignatureHelpRegistrationOptions>;
1808 * Client Capabilities for a [DefinitionRequest](#DefinitionRequest).
1810 export interface DefinitionClientCapabilities {
1812 * Whether definition supports dynamic registration.
1814 dynamicRegistration?: boolean;
1816 * The client supports additional metadata in the form of definition links.
1820 linkSupport?: boolean;
1823 * Server Capabilities for a [DefinitionRequest](#DefinitionRequest).
1825 export interface DefinitionOptions extends WorkDoneProgressOptions {
1828 * Parameters for a [DefinitionRequest](#DefinitionRequest).
1830 export interface DefinitionParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
1833 * Registration options for a [DefinitionRequest](#DefinitionRequest).
1835 export interface DefinitionRegistrationOptions extends TextDocumentRegistrationOptions, DefinitionOptions {
1838 * A request to resolve the definition location of a symbol at a given text
1839 * document position. The request's parameter is of type [TextDocumentPosition]
1840 * (#TextDocumentPosition) the response is of either type [Definition](#Definition)
1841 * or a typed array of [DefinitionLink](#DefinitionLink) or a Thenable that resolves
1844 export declare namespace DefinitionRequest {
1845 const method: 'textDocument/definition';
1846 const type: ProtocolRequestType<DefinitionParams, Location | Location[] | LocationLink[] | null, Location[] | LocationLink[], void, DefinitionRegistrationOptions>;
1849 * Client Capabilities for a [ReferencesRequest](#ReferencesRequest).
1851 export interface ReferenceClientCapabilities {
1853 * Whether references supports dynamic registration.
1855 dynamicRegistration?: boolean;
1858 * Parameters for a [ReferencesRequest](#ReferencesRequest).
1860 export interface ReferenceParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
1861 context: ReferenceContext;
1864 * Reference options.
1866 export interface ReferenceOptions extends WorkDoneProgressOptions {
1869 * Registration options for a [ReferencesRequest](#ReferencesRequest).
1871 export interface ReferenceRegistrationOptions extends TextDocumentRegistrationOptions, ReferenceOptions {
1874 * A request to resolve project-wide references for the symbol denoted
1875 * by the given text document position. The request's parameter is of
1876 * type [ReferenceParams](#ReferenceParams) the response is of type
1877 * [Location[]](#Location) or a Thenable that resolves to such.
1879 export declare namespace ReferencesRequest {
1880 const method: 'textDocument/references';
1881 const type: ProtocolRequestType<ReferenceParams, Location[] | null, Location[], void, ReferenceRegistrationOptions>;
1884 * Client Capabilities for a [DocumentHighlightRequest](#DocumentHighlightRequest).
1886 export interface DocumentHighlightClientCapabilities {
1888 * Whether document highlight supports dynamic registration.
1890 dynamicRegistration?: boolean;
1893 * Parameters for a [DocumentHighlightRequest](#DocumentHighlightRequest).
1895 export interface DocumentHighlightParams extends TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams {
1898 * Provider options for a [DocumentHighlightRequest](#DocumentHighlightRequest).
1900 export interface DocumentHighlightOptions extends WorkDoneProgressOptions {
1903 * Registration options for a [DocumentHighlightRequest](#DocumentHighlightRequest).
1905 export interface DocumentHighlightRegistrationOptions extends TextDocumentRegistrationOptions, DocumentHighlightOptions {
1908 * Request to resolve a [DocumentHighlight](#DocumentHighlight) for a given
1909 * text document position. The request's parameter is of type [TextDocumentPosition]
1910 * (#TextDocumentPosition) the request response is of type [DocumentHighlight[]]
1911 * (#DocumentHighlight) or a Thenable that resolves to such.
1913 export declare namespace DocumentHighlightRequest {
1914 const method: 'textDocument/documentHighlight';
1915 const type: ProtocolRequestType<DocumentHighlightParams, DocumentHighlight[] | null, DocumentHighlight[], void, DocumentHighlightRegistrationOptions>;
1918 * Client Capabilities for a [DocumentSymbolRequest](#DocumentSymbolRequest).
1920 export interface DocumentSymbolClientCapabilities {
1922 * Whether document symbol supports dynamic registration.
1924 dynamicRegistration?: boolean;
1926 * Specific capabilities for the `SymbolKind`.
1930 * The symbol kind values the client supports. When this
1931 * property exists the client also guarantees that it will
1932 * handle values outside its set gracefully and falls back
1933 * to a default value when unknown.
1935 * If this property is not present the client only supports
1936 * the symbol kinds from `File` to `Array` as defined in
1937 * the initial version of the protocol.
1939 valueSet?: SymbolKind[];
1942 * The client support hierarchical document symbols.
1944 hierarchicalDocumentSymbolSupport?: boolean;
1946 * The client supports tags on `SymbolInformation`. Tags are supported on
1947 * `DocumentSymbol` if `hierarchicalDocumentSymbolSupport` is set to true.
1948 * Clients supporting tags have to handle unknown tags gracefully.
1954 * The tags supported by the client.
1956 valueSet: SymbolTag[];
1959 * The client supports an additional label presented in the UI when
1960 * registering a document symbol provider.
1964 labelSupport?: boolean;
1967 * Parameters for a [DocumentSymbolRequest](#DocumentSymbolRequest).
1969 export interface DocumentSymbolParams extends WorkDoneProgressParams, PartialResultParams {
1971 * The text document.
1973 textDocument: TextDocumentIdentifier;
1976 * Provider options for a [DocumentSymbolRequest](#DocumentSymbolRequest).
1978 export interface DocumentSymbolOptions extends WorkDoneProgressOptions {
1980 * A human-readable string that is shown when multiple outlines trees
1981 * are shown for the same document.
1988 * Registration options for a [DocumentSymbolRequest](#DocumentSymbolRequest).
1990 export interface DocumentSymbolRegistrationOptions extends TextDocumentRegistrationOptions, DocumentSymbolOptions {
1993 * A request to list all symbols found in a given text document. The request's
1994 * parameter is of type [TextDocumentIdentifier](#TextDocumentIdentifier) the
1995 * response is of type [SymbolInformation[]](#SymbolInformation) or a Thenable
1996 * that resolves to such.
1998 export declare namespace DocumentSymbolRequest {
1999 const method: 'textDocument/documentSymbol';
2000 const type: ProtocolRequestType<DocumentSymbolParams, DocumentSymbol[] | SymbolInformation[] | null, DocumentSymbol[] | SymbolInformation[], void, DocumentSymbolRegistrationOptions>;
2003 * The Client Capabilities of a [CodeActionRequest](#CodeActionRequest).
2005 export interface CodeActionClientCapabilities {
2007 * Whether code action supports dynamic registration.
2009 dynamicRegistration?: boolean;
2011 * The client support code action literals of type `CodeAction` as a valid
2012 * response of the `textDocument/codeAction` request. If the property is not
2013 * set the request can only return `Command` literals.
2017 codeActionLiteralSupport?: {
2019 * The code action kind is support with the following value
2024 * The code action kind values the client supports. When this
2025 * property exists the client also guarantees that it will
2026 * handle values outside its set gracefully and falls back
2027 * to a default value when unknown.
2029 valueSet: CodeActionKind[];
2033 * Whether code action supports the `isPreferred` property.
2037 isPreferredSupport?: boolean;
2039 * Whether code action supports the `disabled` property.
2043 disabledSupport?: boolean;
2045 * Whether code action supports the `data` property which is
2046 * preserved between a `textDocument/codeAction` and a
2047 * `codeAction/resolve` request.
2051 dataSupport?: boolean;
2053 * Whether the client support resolving additional code action
2054 * properties via a separate `codeAction/resolve` request.
2060 * The properties that a client can resolve lazily.
2062 properties: string[];
2065 * Whether th client honors the change annotations in
2066 * text edits and resource operations returned via the
2067 * `CodeAction#edit` property by for example presenting
2068 * the workspace edit in the user interface and asking
2073 honorsChangeAnnotations?: boolean;
2076 * The parameters of a [CodeActionRequest](#CodeActionRequest).
2078 export interface CodeActionParams extends WorkDoneProgressParams, PartialResultParams {
2080 * The document in which the command was invoked.
2082 textDocument: TextDocumentIdentifier;
2084 * The range for which the command was invoked.
2088 * Context carrying additional information.
2090 context: CodeActionContext;
2093 * Provider options for a [CodeActionRequest](#CodeActionRequest).
2095 export interface CodeActionOptions extends WorkDoneProgressOptions {
2097 * CodeActionKinds that this server may return.
2099 * The list of kinds may be generic, such as `CodeActionKind.Refactor`, or the server
2100 * may list out every specific kind they provide.
2102 codeActionKinds?: CodeActionKind[];
2104 * The server provides support to resolve additional
2105 * information for a code action.
2109 resolveProvider?: boolean;
2112 * Registration options for a [CodeActionRequest](#CodeActionRequest).
2114 export interface CodeActionRegistrationOptions extends TextDocumentRegistrationOptions, CodeActionOptions {
2117 * A request to provide commands for the given text document and range.
2119 export declare namespace CodeActionRequest {
2120 const method: 'textDocument/codeAction';
2121 const type: ProtocolRequestType<CodeActionParams, (Command | CodeAction)[] | null, (Command | CodeAction)[], void, CodeActionRegistrationOptions>;
2124 * Request to resolve additional information for a given code action.The request's
2125 * parameter is of type [CodeAction](#CodeAction) the response
2126 * is of type [CodeAction](#CodeAction) or a Thenable that resolves to such.
2128 export declare namespace CodeActionResolveRequest {
2129 const method: 'codeAction/resolve';
2130 const type: ProtocolRequestType<CodeAction, CodeAction, never, void, void>;
2133 * Client capabilities for a [WorkspaceSymbolRequest](#WorkspaceSymbolRequest).
2135 export interface WorkspaceSymbolClientCapabilities {
2137 * Symbol request supports dynamic registration.
2139 dynamicRegistration?: boolean;
2141 * Specific capabilities for the `SymbolKind` in the `workspace/symbol` request.
2145 * The symbol kind values the client supports. When this
2146 * property exists the client also guarantees that it will
2147 * handle values outside its set gracefully and falls back
2148 * to a default value when unknown.
2150 * If this property is not present the client only supports
2151 * the symbol kinds from `File` to `Array` as defined in
2152 * the initial version of the protocol.
2154 valueSet?: SymbolKind[];
2157 * The client supports tags on `SymbolInformation`.
2158 * Clients supporting tags have to handle unknown tags gracefully.
2164 * The tags supported by the client.
2166 valueSet: SymbolTag[];
2170 * The parameters of a [WorkspaceSymbolRequest](#WorkspaceSymbolRequest).
2172 export interface WorkspaceSymbolParams extends WorkDoneProgressParams, PartialResultParams {
2174 * A query string to filter symbols by. Clients may send an empty
2175 * string here to request all symbols.
2180 * Server capabilities for a [WorkspaceSymbolRequest](#WorkspaceSymbolRequest).
2182 export interface WorkspaceSymbolOptions extends WorkDoneProgressOptions {
2185 * Registration options for a [WorkspaceSymbolRequest](#WorkspaceSymbolRequest).
2187 export interface WorkspaceSymbolRegistrationOptions extends WorkspaceSymbolOptions {
2190 * A request to list project-wide symbols matching the query string given
2191 * by the [WorkspaceSymbolParams](#WorkspaceSymbolParams). The response is
2192 * of type [SymbolInformation[]](#SymbolInformation) or a Thenable that
2195 export declare namespace WorkspaceSymbolRequest {
2196 const method: 'workspace/symbol';
2197 const type: ProtocolRequestType<WorkspaceSymbolParams, SymbolInformation[] | null, SymbolInformation[], void, WorkspaceSymbolRegistrationOptions>;
2200 * The client capabilities of a [CodeLensRequest](#CodeLensRequest).
2202 export interface CodeLensClientCapabilities {
2204 * Whether code lens supports dynamic registration.
2206 dynamicRegistration?: boolean;
2211 export interface CodeLensWorkspaceClientCapabilities {
2213 * Whether the client implementation supports a refresh request sent from the
2214 * server to the client.
2216 * Note that this event is global and will force the client to refresh all
2217 * code lenses currently shown. It should be used with absolute care and is
2218 * useful for situation where a server for example detect a project wide
2219 * change that requires such a calculation.
2221 refreshSupport?: boolean;
2224 * The parameters of a [CodeLensRequest](#CodeLensRequest).
2226 export interface CodeLensParams extends WorkDoneProgressParams, PartialResultParams {
2228 * The document to request code lens for.
2230 textDocument: TextDocumentIdentifier;
2233 * Code Lens provider options of a [CodeLensRequest](#CodeLensRequest).
2235 export interface CodeLensOptions extends WorkDoneProgressOptions {
2237 * Code lens has a resolve provider as well.
2239 resolveProvider?: boolean;
2242 * Registration options for a [CodeLensRequest](#CodeLensRequest).
2244 export interface CodeLensRegistrationOptions extends TextDocumentRegistrationOptions, CodeLensOptions {
2247 * A request to provide code lens for the given text document.
2249 export declare namespace CodeLensRequest {
2250 const method: 'textDocument/codeLens';
2251 const type: ProtocolRequestType<CodeLensParams, CodeLens[] | null, CodeLens[], void, CodeLensRegistrationOptions>;
2254 * A request to resolve a command for a given code lens.
2256 export declare namespace CodeLensResolveRequest {
2257 const method: 'codeLens/resolve';
2258 const type: ProtocolRequestType<CodeLens, CodeLens, never, void, void>;
2261 * A request to refresh all code actions
2265 export declare namespace CodeLensRefreshRequest {
2266 const method: `workspace/codeLens/refresh`;
2267 const type: ProtocolRequestType0<void, void, void, void>;
2270 * The client capabilities of a [DocumentLinkRequest](#DocumentLinkRequest).
2272 export interface DocumentLinkClientCapabilities {
2274 * Whether document link supports dynamic registration.
2276 dynamicRegistration?: boolean;
2278 * Whether the client support the `tooltip` property on `DocumentLink`.
2282 tooltipSupport?: boolean;
2285 * The parameters of a [DocumentLinkRequest](#DocumentLinkRequest).
2287 export interface DocumentLinkParams extends WorkDoneProgressParams, PartialResultParams {
2289 * The document to provide document links for.
2291 textDocument: TextDocumentIdentifier;
2294 * Provider options for a [DocumentLinkRequest](#DocumentLinkRequest).
2296 export interface DocumentLinkOptions extends WorkDoneProgressOptions {
2298 * Document links have a resolve provider as well.
2300 resolveProvider?: boolean;
2303 * Registration options for a [DocumentLinkRequest](#DocumentLinkRequest).
2305 export interface DocumentLinkRegistrationOptions extends TextDocumentRegistrationOptions, DocumentLinkOptions {
2308 * A request to provide document links
2310 export declare namespace DocumentLinkRequest {
2311 const method: 'textDocument/documentLink';
2312 const type: ProtocolRequestType<DocumentLinkParams, DocumentLink[] | null, DocumentLink[], void, DocumentLinkRegistrationOptions>;
2315 * Request to resolve additional information for a given document link. The request's
2316 * parameter is of type [DocumentLink](#DocumentLink) the response
2317 * is of type [DocumentLink](#DocumentLink) or a Thenable that resolves to such.
2319 export declare namespace DocumentLinkResolveRequest {
2320 const method: 'documentLink/resolve';
2321 const type: ProtocolRequestType<DocumentLink, DocumentLink, never, void, void>;
2324 * Client capabilities of a [DocumentFormattingRequest](#DocumentFormattingRequest).
2326 export interface DocumentFormattingClientCapabilities {
2328 * Whether formatting supports dynamic registration.
2330 dynamicRegistration?: boolean;
2333 * The parameters of a [DocumentFormattingRequest](#DocumentFormattingRequest).
2335 export interface DocumentFormattingParams extends WorkDoneProgressParams {
2337 * The document to format.
2339 textDocument: TextDocumentIdentifier;
2341 * The format options
2343 options: FormattingOptions;
2346 * Provider options for a [DocumentFormattingRequest](#DocumentFormattingRequest).
2348 export interface DocumentFormattingOptions extends WorkDoneProgressOptions {
2351 * Registration options for a [DocumentFormattingRequest](#DocumentFormattingRequest).
2353 export interface DocumentFormattingRegistrationOptions extends TextDocumentRegistrationOptions, DocumentFormattingOptions {
2356 * A request to to format a whole document.
2358 export declare namespace DocumentFormattingRequest {
2359 const method: 'textDocument/formatting';
2360 const type: ProtocolRequestType<DocumentFormattingParams, TextEdit[] | null, never, void, DocumentFormattingRegistrationOptions>;
2363 * Client capabilities of a [DocumentRangeFormattingRequest](#DocumentRangeFormattingRequest).
2365 export interface DocumentRangeFormattingClientCapabilities {
2367 * Whether range formatting supports dynamic registration.
2369 dynamicRegistration?: boolean;
2372 * The parameters of a [DocumentRangeFormattingRequest](#DocumentRangeFormattingRequest).
2374 export interface DocumentRangeFormattingParams extends WorkDoneProgressParams {
2376 * The document to format.
2378 textDocument: TextDocumentIdentifier;
2380 * The range to format
2384 * The format options
2386 options: FormattingOptions;
2389 * Provider options for a [DocumentRangeFormattingRequest](#DocumentRangeFormattingRequest).
2391 export interface DocumentRangeFormattingOptions extends WorkDoneProgressOptions {
2394 * Registration options for a [DocumentRangeFormattingRequest](#DocumentRangeFormattingRequest).
2396 export interface DocumentRangeFormattingRegistrationOptions extends TextDocumentRegistrationOptions, DocumentRangeFormattingOptions {
2399 * A request to to format a range in a document.
2401 export declare namespace DocumentRangeFormattingRequest {
2402 const method: 'textDocument/rangeFormatting';
2403 const type: ProtocolRequestType<DocumentRangeFormattingParams, TextEdit[] | null, never, void, DocumentRangeFormattingRegistrationOptions>;
2406 * Client capabilities of a [DocumentOnTypeFormattingRequest](#DocumentOnTypeFormattingRequest).
2408 export interface DocumentOnTypeFormattingClientCapabilities {
2410 * Whether on type formatting supports dynamic registration.
2412 dynamicRegistration?: boolean;
2415 * The parameters of a [DocumentOnTypeFormattingRequest](#DocumentOnTypeFormattingRequest).
2417 export interface DocumentOnTypeFormattingParams {
2419 * The document to format.
2421 textDocument: TextDocumentIdentifier;
2423 * The position at which this request was send.
2427 * The character that has been typed.
2431 * The format options.
2433 options: FormattingOptions;
2436 * Provider options for a [DocumentOnTypeFormattingRequest](#DocumentOnTypeFormattingRequest).
2438 export interface DocumentOnTypeFormattingOptions {
2440 * A character on which formatting should be triggered, like `}`.
2442 firstTriggerCharacter: string;
2444 * More trigger characters.
2446 moreTriggerCharacter?: string[];
2449 * Registration options for a [DocumentOnTypeFormattingRequest](#DocumentOnTypeFormattingRequest).
2451 export interface DocumentOnTypeFormattingRegistrationOptions extends TextDocumentRegistrationOptions, DocumentOnTypeFormattingOptions {
2454 * A request to format a document on type.
2456 export declare namespace DocumentOnTypeFormattingRequest {
2457 const method: 'textDocument/onTypeFormatting';
2458 const type: ProtocolRequestType<DocumentOnTypeFormattingParams, TextEdit[] | null, never, void, DocumentOnTypeFormattingRegistrationOptions>;
2460 export declare namespace PrepareSupportDefaultBehavior {
2462 * The client's default behavior is to select the identifier
2463 * according the to language's syntax rule.
2465 const Identifier: 1;
2467 export declare type PrepareSupportDefaultBehavior = 1;
2468 export interface RenameClientCapabilities {
2470 * Whether rename supports dynamic registration.
2472 dynamicRegistration?: boolean;
2474 * Client supports testing for validity of rename operations
2479 prepareSupport?: boolean;
2481 * Client supports the default behavior result.
2483 * The value indicates the default behavior used by the
2488 prepareSupportDefaultBehavior?: PrepareSupportDefaultBehavior;
2490 * Whether th client honors the change annotations in
2491 * text edits and resource operations returned via the
2492 * rename request's workspace edit by for example presenting
2493 * the workspace edit in the user interface and asking
2498 honorsChangeAnnotations?: boolean;
2501 * The parameters of a [RenameRequest](#RenameRequest).
2503 export interface RenameParams extends WorkDoneProgressParams {
2505 * The document to rename.
2507 textDocument: TextDocumentIdentifier;
2509 * The position at which this request was sent.
2513 * The new name of the symbol. If the given name is not valid the
2514 * request must return a [ResponseError](#ResponseError) with an
2515 * appropriate message set.
2520 * Provider options for a [RenameRequest](#RenameRequest).
2522 export interface RenameOptions extends WorkDoneProgressOptions {
2524 * Renames should be checked and tested before being executed.
2526 * @since version 3.12.0
2528 prepareProvider?: boolean;
2531 * Registration options for a [RenameRequest](#RenameRequest).
2533 export interface RenameRegistrationOptions extends TextDocumentRegistrationOptions, RenameOptions {
2536 * A request to rename a symbol.
2538 export declare namespace RenameRequest {
2539 const method: 'textDocument/rename';
2540 const type: ProtocolRequestType<RenameParams, WorkspaceEdit | null, never, void, RenameRegistrationOptions>;
2542 export interface PrepareRenameParams extends TextDocumentPositionParams, WorkDoneProgressParams {
2545 * A request to test and perform the setup necessary for a rename.
2547 * @since 3.16 - support for default behavior
2549 export declare namespace PrepareRenameRequest {
2550 const method: 'textDocument/prepareRename';
2551 const type: ProtocolRequestType<PrepareRenameParams, Range | {
2553 placeholder: string;
2555 defaultBehavior: boolean;
2556 } | null, never, void, void>;
2559 * The client capabilities of a [ExecuteCommandRequest](#ExecuteCommandRequest).
2561 export interface ExecuteCommandClientCapabilities {
2563 * Execute command supports dynamic registration.
2565 dynamicRegistration?: boolean;
2568 * The parameters of a [ExecuteCommandRequest](#ExecuteCommandRequest).
2570 export interface ExecuteCommandParams extends WorkDoneProgressParams {
2572 * The identifier of the actual command handler.
2576 * Arguments that the command should be invoked with.
2581 * The server capabilities of a [ExecuteCommandRequest](#ExecuteCommandRequest).
2583 export interface ExecuteCommandOptions extends WorkDoneProgressOptions {
2585 * The commands to be executed on the server
2590 * Registration options for a [ExecuteCommandRequest](#ExecuteCommandRequest).
2592 export interface ExecuteCommandRegistrationOptions extends ExecuteCommandOptions {
2595 * A request send from the client to the server to execute a command. The request might return
2596 * a workspace edit which the client will apply to the workspace.
2598 export declare namespace ExecuteCommandRequest {
2599 const type: ProtocolRequestType<ExecuteCommandParams, any, never, void, ExecuteCommandRegistrationOptions>;
2601 export interface WorkspaceEditClientCapabilities {
2603 * The client supports versioned document changes in `WorkspaceEdit`s
2605 documentChanges?: boolean;
2607 * The resource operations the client supports. Clients should at least
2608 * support 'create', 'rename' and 'delete' files and folders.
2612 resourceOperations?: ResourceOperationKind[];
2614 * The failure handling strategy of a client if applying the workspace edit
2619 failureHandling?: FailureHandlingKind;
2621 * Whether the client normalizes line endings to the client specific
2623 * If set to `true` the client will normalize line ending characters
2624 * in a workspace edit containing to the client specific new line
2629 normalizesLineEndings?: boolean;
2631 * Whether the client in general supports change annotations on text edits,
2632 * create file, rename file and delete file changes.
2636 changeAnnotationSupport?: {
2638 * Whether the client groups edits with equal labels into tree nodes,
2639 * for instance all edits labelled with "Changes in Strings" would
2642 groupsOnLabel?: boolean;
2646 * The parameters passed via a apply workspace edit request.
2648 export interface ApplyWorkspaceEditParams {
2650 * An optional label of the workspace edit. This label is
2651 * presented in the user interface for example on an undo
2652 * stack to undo the workspace edit.
2656 * The edits to apply.
2658 edit: WorkspaceEdit;
2661 * A response returned from the apply workspace edit request.
2663 export interface ApplyWorkspaceEditResponse {
2665 * Indicates whether the edit was applied or not.
2669 * An optional textual description for why the edit was not applied.
2670 * This may be used by the server for diagnostic logging or to provide
2671 * a suitable error for a request that triggered the edit.
2673 failureReason?: string;
2675 * Depending on the client's failure handling strategy `failedChange` might
2676 * contain the index of the change that failed. This property is only available
2677 * if the client signals a `failureHandlingStrategy` in its client capabilities.
2679 failedChange?: uinteger;
2682 * A request sent from the server to the client to modified certain resources.
2684 export declare namespace ApplyWorkspaceEditRequest {
2685 const type: ProtocolRequestType<ApplyWorkspaceEditParams, ApplyWorkspaceEditResponse, never, void, void>;
2687 export { ImplementationRequest, ImplementationParams, ImplementationRegistrationOptions, ImplementationOptions, TypeDefinitionRequest, TypeDefinitionParams, TypeDefinitionRegistrationOptions, TypeDefinitionOptions, WorkspaceFoldersRequest, DidChangeWorkspaceFoldersNotification, DidChangeWorkspaceFoldersParams, WorkspaceFolder, WorkspaceFoldersChangeEvent, ConfigurationRequest, ConfigurationParams, ConfigurationItem, DocumentColorRequest, ColorPresentationRequest, DocumentColorOptions, DocumentColorParams, ColorPresentationParams, DocumentColorRegistrationOptions, FoldingRangeClientCapabilities, FoldingRangeOptions, FoldingRangeRequest, FoldingRangeParams, FoldingRangeRegistrationOptions, DeclarationClientCapabilities, DeclarationRequest, DeclarationParams, DeclarationRegistrationOptions, DeclarationOptions, SelectionRangeClientCapabilities, SelectionRangeOptions, SelectionRangeParams, SelectionRangeRequest, SelectionRangeRegistrationOptions, WorkDoneProgressBegin, WorkDoneProgressReport, WorkDoneProgressEnd, WorkDoneProgress, WorkDoneProgressCreateParams, WorkDoneProgressCreateRequest, WorkDoneProgressCancelParams, WorkDoneProgressCancelNotification, CallHierarchyClientCapabilities, CallHierarchyOptions, CallHierarchyRegistrationOptions, CallHierarchyIncomingCallsParams, CallHierarchyIncomingCallsRequest, CallHierarchyOutgoingCallsParams, CallHierarchyOutgoingCallsRequest, CallHierarchyPrepareParams, CallHierarchyPrepareRequest, SemanticTokenTypes, SemanticTokenModifiers, SemanticTokensLegend, SemanticTokens, SemanticTokensPartialResult, SemanticTokensEdit, SemanticTokensDelta, SemanticTokensDeltaPartialResult, TokenFormat, SemanticTokensClientCapabilities, SemanticTokensOptions, SemanticTokensRegistrationOptions, SemanticTokensParams, SemanticTokensRequest, SemanticTokensDeltaParams, SemanticTokensDeltaRequest, SemanticTokensRangeParams, SemanticTokensRangeRequest, SemanticTokensRefreshRequest, SemanticTokensRegistrationType, ShowDocumentParams, ShowDocumentRequest, ShowDocumentResult, ShowDocumentClientCapabilities, LinkedEditingRangeClientCapabilities, LinkedEditingRanges, LinkedEditingRangeOptions, LinkedEditingRangeParams, LinkedEditingRangeRegistrationOptions, LinkedEditingRangeRequest, FileOperationOptions, FileOperationClientCapabilities, FileOperationRegistrationOptions, FileOperationPatternOptions, FileOperationPatternKind, DidCreateFilesNotification, CreateFilesParams, FileCreate, WillCreateFilesRequest, DidRenameFilesNotification, RenameFilesParams, FileRename, WillRenameFilesRequest, DidDeleteFilesNotification, DeleteFilesParams, FileDelete, WillDeleteFilesRequest, UniquenessLevel, MonikerKind, Moniker, MonikerClientCapabilities, MonikerOptions, MonikerRegistrationOptions, MonikerParams, MonikerRequest };
2688 export { DocumentColorOptions as ColorProviderOptions, DocumentColorOptions as ColorOptions, FoldingRangeOptions as FoldingRangeProviderOptions, SelectionRangeOptions as SelectionRangeProviderOptions, DocumentColorRegistrationOptions as ColorRegistrationOptions };